Realiza tus trámites con la DGT
Automatiza cualquier trámite con la DGT en una sola llamada: adjunta los documentos por URL, recibe eventos en tiempo real cuando el estado cambia y descarga los documentos generados cuando el trámite finaliza.
Crea tu trámite
Envía el trámite en una sola llamada, recibe eventos conforme avanza la tramitación y descarga los documentos una vez completado.
Paso 1 — Creas el trámite
Envía una llamada POST al endpoint del tipo de trámite correspondiente. El trámite queda registrado con estado PENDING y recibirás un identificador único.
| Campo | Descripción | |
|---|---|---|
vin | obligatorio | Número de bastidor del vehículo. Ej: WVWZZZ1JZYW123456 |
documents | obligatorio | Array de documentos. Cada elemento requiere url. Ver tipos → |
confirmed | opcional | Si es false, crea el trámite en modo borrador sin enviarlo a tramitar. Por defecto true. |
userEmail | opcional | Email del usuario que solicita el trámite. Si existe en el sistema, el trámite se asocia a su cuenta. |
companyTaxId | opcional | NIF/CIF de la empresa a la que se atribuye el trámite. Necesario cuando la cuenta tiene acceso a varias empresas. |
taxableBase | opcional | Base imponible para el cálculo de impuestos (en euros). |
iedmtLegalBasis | opcional | Tipo de beneficio fiscal del IEDMT. Ej: NONE, LARGE_FAMILY, DISABILITY, TAXI |
iedmtTaxAmount | opcional | Importe a pagar en concepto de IEDMT (en euros). |
servicePurpose | opcional | Código de uso del vehículo. Ej: A00 (particular), B00 (taxi) |
docRecipient | opcional | Destinatario de la documentación física. Valores: customer o buyer. |
docRecipientAddress | opcional | Dirección del destinatario. Ej: { street: "Calle Mayor 1", zipCode: "28001", municipality: "Madrid" } |
additionalInstructions | opcional | Instrucciones adicionales en texto libre para el equipo de tramitación. |
metadata | opcional | Metadatos adicionales con información de vuestra empresa. Ej: { internal_id: "REG-2025-001" } |
{
"vin": "WVWZZZ1JZYW123456",
"documents": [
{ "url": "https://storage.ejemplo.com/docs/dni.pdf" },
{ "url": "https://storage.ejemplo.com/docs/ficha-tecnica.pdf" }
]
}{
"id": "pro_k8mn2p",
"type": "VEHICLE_REGISTRATION",
"typeDescription": "Matriculación",
"status": "PENDING",
"statusDescription": "Pendiente",
"vehicle": {
"vin": "WVWZZZ1JZYW123456",
"vrm": null
},
"webUrl": "https://clientes.puntoauto.com/procedures/pro_k8mn2p"
}Ver referencia completa de este endpoint →
Paso 2 — Recibes eventos
Punto envía eventos a tu webhook cada vez que cambia el estado de un trámite.
Eventos de un trámite
| Evento | Cuándo se emite |
|---|---|
procedure.finished | Cuando la DGT ha tramitado el expediente |
procedure.status_changed | Cada vez que el trámite cambia de estado — ver Anexo — Eventos |
procedure.document.added | Cuando se genera un nuevo documento — ver Anexo — Eventos |
procedure.finished
Este evento indica que la DGT ya ha tramitado el expediente. Queda todavía trabajo pendiente con el colegio de gestores y el envío de documentación física, pero desde el punto de vista de la DGT el trámite está resuelto.
{
"event": "procedure.finished",
"data": {
"id": "pro_k8mn2p",
"path": "/v1/procedures/pro_k8mn2p",
"procedureType": "VEHICLE_REGISTRATION",
"status": "COMPLETED",
"timestamp": "2025-08-12T10:30:00.000Z"
}
}Paso 3 — Descargas los documentos
Cuando el trámite finaliza, recibes los documentos generados por la DGT que puedes descargar directamente desde las URLs proporcionadas y en el caso de una matriculación, la matrícula del vehículo (vrm) que puedes guardar en tu sistema. Puedes consultar el estado del trámite en cualquier momento:
{
"id": "pro_k8mn2p",
"procedureType": "VEHICLE_REGISTRATION",
"vrm": "1234ABC",
"status": "COMPLETED",
"documents": [
{ "type": "temp_veh_registration_cert", "url": "https://..." },
{ "type": "temp_technical_sheet", "url": "https://..." },
{ "type": "es_576_doc", "url": "https://..." },
{ "type": "es_ivtm_doc", "url": "https://..." }
]
}Edita y confirma tu trámite
Si necesitas revisar o ajustar los datos antes de tramitar, puedes crear el trámite en modo borrador (confirmed: false). El trámite queda en estado DRAFT y no se procesa hasta que lo confirmes explícitamente.
Paso 1 — Creas el trámite no confirmado
Envía el trámite con confirmed: false para crearlo en modo borrador. Mientras esté en DRAFT, puedes editarlo y añadir documentos sin restricciones.
{
"vin": "WVWZZZ1JZYW123456",
"confirmed": false,
"documents": [
{ "url": "https://storage.ejemplo.com/docs/dni.pdf" }
]
}{
"id": "pro_k8mn2p",
"procedureType": "VEHICLE_REGISTRATION",
"status": "DRAFT",
"confirmed": false
}Paso 2 — Actualizas el trámite
Antes de confirmar puedes editar los campos del trámite o añadir nuevos documentos.
Para actualizar campos, usa PATCH con formato JSON Merge Patch (RFC 7396): envía solo los campos que quieres cambiar. Una vez confirmado, el trámite ya no admite modificaciones — cualquier intento devolverá 409 Conflict.
{
"legalBasis": "LARGE_FAMILY",
"docRecipient": "customer"
}Para adjuntar documentos adicionales, usa el endpoint de documentos:
{
"url": "https://storage.ejemplo.com/docs/poder-notarial.pdf"
}Paso 3 — Confirmas el trámite
Cuando tengas todos los datos y documentos listos, confirma el trámite para que Punto inicie la tramitación con la DGT. La operación es idempotente: si llamas varias veces devuelve siempre el estado actual sin error.
{
"id": "pro_k8mn2p",
"procedureType": "VEHICLE_REGISTRATION",
"status": "PENDING",
"confirmed": true
}A partir de este momento el trámite sigue el flujo normal: recibirás eventos de procedure.status_changed y procedure.finished conforme avance la tramitación, igual que en Crea tu trámite.
Anexo — Estados de un trámite
| Estado | Descripción |
|---|---|
DRAFT | Trámite creado pero no confirmado (confirmed: false) |
PENDING | Trámite enviado, pendiente de procesarse por Punto |
IN_PROGRESS | En tramitación por el equipo de Punto |
BLOCKED | Requiere atención del cliente o falta información |
ON_HOLD | En espera de respuesta de organismos externos |
DONE | Trámite finalizado con éxito |
DELIVERED_TO_CLIENT | Documentación final entregada al cliente |
CANCELLED | Trámite cancelado por solicitud o por incidencias |
Anexo — Eventos
Todos los eventos que Punto emite bajo la familia procedure.*.
procedure.finished
La DGT ha tramitado el expediente. Queda todavía trabajo pendiente con el colegio de gestores y el envío de documentación física, pero desde el punto de vista de la DGT el trámite está resuelto.
{
"event": "procedure.finished",
"data": {
"id": "pro_k8mn2p",
"path": "/v1/procedures/pro_k8mn2p",
"procedureType": "VEHICLE_REGISTRATION",
"status": "COMPLETED",
"timestamp": "2025-08-12T10:30:00.000Z"
}
}procedure.status_changed
Se emite cada vez que el trámite cambia de estado.
{
"event": "procedure.status_changed",
"data": {
"id": "pro_k8mn2p",
"path": "/v1/procedures/pro_k8mn2p",
"procedureType": "VEHICLE_REGISTRATION",
"status": "IN_PROGRESS",
"timestamp": "2025-08-12T10:30:00.000Z"
}
}procedure.document.added
Se emite cuando Punto guarda un nuevo documento asociado al trámite. No se emite cuando tú subes un documento.
{
"event": "procedure.document.added",
"data": {
"id": "doc_5678",
"path": "/v1/procedures/pro_k8mn2p/documents/doc_5678",
"documentType": "temp_veh_registration_cert",
"downloadUrl": "https://api.punto.ai/v1/procedures/pro_k8mn2p/documents/doc_5678/download",
"procedureId": "pro_k8mn2p",
"procedureType": "VEHICLE_REGISTRATION",
"procedurePath": "/v1/procedures/pro_k8mn2p",
"timestamp": "2025-08-12T10:30:00.000Z"
}
}Siguientes pasos
- Informes DGT — solicita informes de vehículos sin crear un trámite
- Firmas electrónicas — envía documentos a firmar
- Referencia API — documentación completa de todos los endpoints