Eventos de un documento
Historial de eventos DIAN reportados sobre una factura, a partir de su CUFE.
/api/documento/{uuid}/eventos Entrega los eventos que se han reportado sobre una factura electrónica: acuse de recibo, reclamo, recibo del bien o servicio, aceptación expresa y aceptación tácita. Con ellos se reconstruye el estado del documento en el ciclo de vida que define la DIAN.
Los eventos llegan convertidos a documentos de evento (TDocumentoDE), de modo que la integración los recibe con la misma estructura con la que los emite y no tiene que interpretar el XML de la DIAN.
Es la consulta que determina si una factura ya es título valor: lo es cuando existen el recibo del bien o servicio (032) y la aceptación, expresa (033) o tácita (034).
Cómo resuelve el sandbox esta función
Las consultas comparten la misma forma: los datos van en la ruta, no llevan cuerpo y no gastan consecutivos ni dejan nada reportado en la DIAN. Por eso son las funciones con las que conviene empezar: se pueden repetir tantas veces como haga falta. La consulta se resuelve ante la DIAN, y si hay registro responde 200 con los datos encontrados. Si no hay registro también responde 200, con los mismos campos vacíos: la ausencia de resultado también es un resultado, y una integración que espere un 404 para decidir «no encontrado» no lo va a recibir nunca. **La consulta del XML de un documento es la excepción**: esa sí responde 404, y tiene su propio diagrama.
Desliza el diagrama para verlo completo.
Ver la fuente Mermaid del diagrama
flowchart TD
A(["La consulta llega con sus datos en la ruta"]) --> B["Consulta ante la DIAN"]
B --> C{"¿Hay registro?"}
C -- Sí --> D(["200 · los datos encontrados"])
C -- No --> E(["200 · los mismos campos, vacíos"])Datos que recibe
Encabezado
Ruta
Lo que el sandbox fuerza
El sandbox resuelve toda consulta contra el ambiente de habilitación de la DIAN, de modo que solo ve lo que existe ahí. Lo que envíes en estos campos se recibe pero no se aplica: la ruta los declara para que la URL que integres hoy sea la misma de producción.
tdambiente2 — Pruebas (habilitación)El sandbox solo consulta el ambiente de habilitación, de modo que solo ve lo que existe ahí. El parámetro está en la ruta para que la URL que se integre hoy sea la misma de producción, pero aquí se recibe y no se aplica.
Ejecutar la función
Ambiente de habilitación de la DIAN · la consulta no modifica nada ni gasta consecutivos Lo que se envía
El detalle de cada dato, con sus valores admitidos, está en Datos que recibe.
GET https://proveedortecnologico-sandbox.azurewebsites.net/api/documento/3b101716f4fa0334bc3c9c12946d5989bd4ac2f2e4c2f301a5a84cab0cf7c47e33bfef68a6b3aaf3460e00e941c95f60/eventos Respuesta
Exportar a Postman
Respuestas
-
200Entrega enrespuesta.datosel arreglo de eventos, cada uno con sutdevento,ntdevento,fechadocumentoy el tercero que lo reporto. -
400No se envió el CUFE en la ruta. -
401La credencial no llegó, ya venció, o la cuenta no tiene perfil registrado en el sandbox. En producción es además el código con el que se rechaza un emisor que la credencial no tiene autorizado — ver Credenciales y JWT. -
500La DIAN no respondió la consulta.
Errores frecuentes
-
400Parámetro CUFELa ruta llego sin el UUID. Ocurre al construir la URL con un CUFE vacío.
-
200Arreglo vacíoEl documento no tiene eventos reportados, o el CUFE no existe en habilitación. Lo primero es lo normal en una factura recién emitida.
Ten en cuenta
- En el sandbox la consulta solo ve documentos de habilitación: el CUFE de una factura de producción no devuelve nada. Lo natural es consultar el CUFE de una factura emitida antes desde el propio portal.
- En producción la ruta lleva un
{tdambiente?}al final —/api/documento/{uuid}/eventos/{tdambiente?}— con el que se decide contra qué ambiente se pregunta.