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.