Respuestas de la API.
La API de facturación emite respuestas en formato JSON. Estas respuestas contienen información sobre el estado de la solicitud y los documentos generados por la DIAN.
Estructura de la respuesta, cuando se genera un documento de forma exitosa.
A continuación se muestra un ejemplo de un JSON que representa una respuesta de la API de facturación.
{
"response": {
"ErrorMessage": {
"string": [
"Regla: DSAJ10a, Notificación: El nombre no corresponde un valor correcto de la lista",
"Regla: DSAB19b, Notificación: NIT del Prestador de Servicios no está autorizado por la DIAN",
"Regla: RUT01, Notificación: La validación del estado del RUT próximamente estará disponible."
]
},
"IsValid": "true",
"StatusCode": "00",
"StatusDescription": "Procesado Correctamente.",
"StatusMessage": "La Documento soporte con no obligados DS20, ha sido autorizada.",
"XmlBase64Bytes": "",
"XmlBytes": {
"_attributes": {
"nil": "true"
}
},
"XmlDocumentKey": "286839d9352ae0c397ad640f9678a56811bcbdf93f4eb081e1340dd7c5a6e950c59efad031569e6eb7de25639a201e2a",
"XmlFileName": "ds09010914030002400000043"
},
"XmlBase64Bytes": "",
"AttachedDocument": {
"pathZip": "1/ad/z09010914030002400000050.zip",
"path": "1/ad/ad09010914030002400000049.xml",
"url": "http://apidian.test/attachments/1/ad/ad09010914030002400000049.xml",
"data": ""
},
"qr": {
"qrDian": "https://catalogo-vpfe.dian.gov.co/document/searchqr?documentkey=286839d9352ae0c397ad640f9678a56811bcbdf93f4eb081e1340dd7c5a6e950c59efad031569e6eb7de25639a201e2a",
"url": "http://apidian.test/qr/1/ds09010914030002400000043.png",
"path": "1/ds09010914030002400000043.png",
"data": ""
},
"pdf": {
"path": "1/ds09010914030002400000043.pdf",
"url": "http://apidian.test/pdf/1/ds09010914030002400000043.pdf",
"data": ""
},
"success": true
}
Descripción de los campos
response: Respuesta emitida por la DIANErrorMessage: Mensajes de errorIsValid: Indica si el documento es válidoStatusCode: Código de estadoStatusDescription: Descripción del estadoStatusMessage: Mensaje del estadoXmlBase64Bytes: Documento en base64 generado por la DIANXmlBytes: Documento en base64 generado por la DIANXmlDocumentKey: CUFE, CUDE O CUNE DEL DOCUMENTOXmlFileName: Nombre del documento en el portal de la DIANXmlBase64Bytes: El XML sin comprimir en base64
AttachedDocument: Contenedor de documentospathZip: Ruta del contenedor de documentospath: Ruta del contenedor de documentosurl: URL del contenedor de documentosdata: El contenedor de documentos en base64
qr: Contiene el la representación gráfica del documentoqrDian: URL del QR en el portal de la DIANurl: URL del QRpath: Ruta del QRdata: El QR en base64
pdf: Contiene el la representación gráfica del documentopath: Ruta del PDFurl: URL del PDFdata: El PDF en base64
success: Indica si la respuesta fue exitosaStatusCode: 200 (OK)
Estructura de la respuesta, cuando se intenta generar un documento que ya fue procesado o validado por la DIAN.
{
"success": false,
"message": "El documento (Factura electrónica) con numero LZT224, ya se encuentra validado"
}
Descripción de los campos
success: Indica si la respuesta fue exitosamessage: Mensaje de errorStatusCode: 400 (Bad Request)
Códigos de estado y descripción de posibles respuestas.
A continuación se muestra una tabla con los códigos de estado y su descripción.
200 - OK
201 - Created
400 - Bad Request
401 - Unauthorized
402 - Payment Required
403 - Forbidden
404 - Not Found
422 - Unprocessable Entity
500 - Internal Server Error
503 - Service Unavailable
504 - Gateway Timeout
507 - Insufficient Storage
508 - Loop Detected
Tabla de códigos de estado y descripción
| Código de estado | Descripción | Posibles causas | Acciones recomendadas |
|---|---|---|---|
| 200 | OK | La solicitud se ha procesado correctamente. | - |
| 201 | Created | El recurso se ha creado correctamente. | - |
| 400 | Bad Request | La solicitud es incorrecta o no se puede procesar. | - Verifique la estructura de la solicitud. - Contacte al soporte técnico. |
| 401 | Unauthorized | No está autorizado para acceder al recurso. | - Verifique sus credenciales. - Contacte al soporte técnico. |
| 402 | Payment Required | Se requiere un pago para acceder al recurso. | - Realice el pago correspondiente. - Contacte al soporte técnico. |
| 403 | Forbidden | No tiene permiso para acceder al recurso. | - Verifique sus permisos. - Contacte al soporte técnico. |
| 404 | Not Found | El recurso solicitado no se ha encontrado. | - Verifique la URL. - Contacte al soporte técnico. |
| 422 | Unprocessable Entity | La solicitud no se puede procesar debido a errores de validación. | - Verifique los datos enviados. - Corrija los errores y vuelva a intentarlo. |
| 500 | Internal Server Error | Ocurrió un problema en el servidor. | - Intente nuevamente más tarde. - Contacte al soporte técnico. |
| 503 | Service Unavailable | El servicio no está disponible en este momento. | - Intente nuevamente después de unos minutos. - Consulte el estado del servicio en el sitio web. |
| 504 | Gateway Timeout | La conexión con el servidor está tardando más de lo esperado. | - Intente nuevamente más tarde. - Verifique su conexión a internet. |
| 507 | Insufficient Storage | El servidor no tiene suficiente espacio. | - Intente nuevamente más tarde. - Contacte al soporte técnico. |
| 508 | Loop Detected | Se ha detectado un bucle en el servidor. | - Verifique la estructura de la solicitud. - Contacte al soporte técnico. |
Ejemplo genérico de respuesta.
{
"success": false,
"message": "Mensaje de respuesta"
}
Descripción de los campos
success: Indica si la respuesta fue exitosamessage: Mensaje de respuestaStatusCode: código de estado de la respuesta
Errores generados por la DIAN
500 - Internal Server Error
Description: Ocurrió un problema en el servidor de la DIAN.
Possible Causes:
- El servidor de la DIAN experimentó un error inesperado.
- La solicitud puede estar malformada o puede haber un problema temporal en el servidor.
Recommended Actions:
- Intente nuevamente más tarde.
- Si el problema persiste, contacte al soporte técnico.
503 - Service Unavailable
Description: El servicio de la DIAN no está disponible en este momento.
Possible Causes:
- El servicio puede estar temporalmente fuera de línea debido a mantenimiento o alta demanda.
Recommended Actions:
- Intente nuevamente después de unos minutos.
- Consulte el estado del servicio en el sitio web de la DIAN.
507 - Insufficient Storage
Description: El servidor de la DIAN no tiene suficiente espacio.
Possible Causes:
- El servidor de la DIAN ha alcanzado su capacidad máxima de almacenamiento.
Recommended Actions:
- Intente nuevamente más tarde.
- Contacte al soporte técnico si el problema persiste.
508 - Loop Detected
Description: Se ha detectado un bucle en el servidor de la DIAN.
Possible Causes:
- La solicitud ha generado un bucle infinito en el servidor.
Recommended Actions:
- Verifique la estructura de la solicitud.
- Contacte al soporte técnico para obtener más ayuda.
403 - Site Disabled
Description: El sitio está deshabilitado.
Possible Causes:
- El servicio al que intenta acceder ha sido deshabilitado o no está disponible en este momento.
Recommended Actions:
- Verifique que el servicio esté habilitado.
- Si el problema persiste, contacte al soporte técnico.
504 - Gateway Timeout
Description: La conexión con la DIAN está tardando más de lo esperado.
Possible Causes:
- El servidor de la DIAN está tardando mucho en responder (más de 20 segundos), posiblemente debido a alta demanda o problemas de conectividad.
Recommended Actions:
- Intente nuevamente más tarde.
- Verifique su conexión a internet.