Saltar al contenido principal

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.json

{
"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 DIAN
    • ErrorMessage: Mensajes de error
    • IsValid: Indica si el documento es válido
    • StatusCode: Código de estado
    • StatusDescription: Descripción del estado
    • StatusMessage: Mensaje del estado
    • XmlBase64Bytes: Documento en base64 generado por la DIAN
    • XmlBytes: Documento en base64 generado por la DIAN
    • XmlDocumentKey: CUFE, CUDE O CUNE DEL DOCUMENTO
    • XmlFileName: Nombre del documento en el portal de la DIAN
    • XmlBase64Bytes: El XML sin comprimir en base64
  • AttachedDocument: Contenedor de documentos
    • pathZip: Ruta del contenedor de documentos
    • path: Ruta del contenedor de documentos
    • url: URL del contenedor de documentos
    • data: El contenedor de documentos en base64
  • qr: Contiene el la representación gráfica del documento
    • qrDian: URL del QR en el portal de la DIAN
    • url: URL del QR
    • path: Ruta del QR
    • data: El QR en base64
  • pdf: Contiene el la representación gráfica del documento
    • path: Ruta del PDF
    • url: URL del PDF
    • data: El PDF en base64
  • success: Indica si la respuesta fue exitosa
  • StatusCode: 200 (OK)

Estructura de la respuesta, cuando se intenta generar un documento que ya fue procesado o validado por la DIAN.

response.json

{
"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 exitosa
  • message: Mensaje de error
  • StatusCode: 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 estadoDescripciónPosibles causasAcciones recomendadas
200OKLa solicitud se ha procesado correctamente.-
201CreatedEl recurso se ha creado correctamente.-
400Bad RequestLa solicitud es incorrecta o no se puede procesar.- Verifique la estructura de la solicitud. - Contacte al soporte técnico.
401UnauthorizedNo está autorizado para acceder al recurso.- Verifique sus credenciales. - Contacte al soporte técnico.
402Payment RequiredSe requiere un pago para acceder al recurso.- Realice el pago correspondiente. - Contacte al soporte técnico.
403ForbiddenNo tiene permiso para acceder al recurso.- Verifique sus permisos. - Contacte al soporte técnico.
404Not FoundEl recurso solicitado no se ha encontrado.- Verifique la URL. - Contacte al soporte técnico.
422Unprocessable EntityLa solicitud no se puede procesar debido a errores de validación.- Verifique los datos enviados. - Corrija los errores y vuelva a intentarlo.
500Internal Server ErrorOcurrió un problema en el servidor.- Intente nuevamente más tarde. - Contacte al soporte técnico.
503Service UnavailableEl servicio no está disponible en este momento.- Intente nuevamente después de unos minutos. - Consulte el estado del servicio en el sitio web.
504Gateway TimeoutLa conexión con el servidor está tardando más de lo esperado.- Intente nuevamente más tarde. - Verifique su conexión a internet.
507Insufficient StorageEl servidor no tiene suficiente espacio.- Intente nuevamente más tarde. - Contacte al soporte técnico.
508Loop DetectedSe ha detectado un bucle en el servidor.- Verifique la estructura de la solicitud. - Contacte al soporte técnico.

Ejemplo genérico de respuesta.

response.json

{
"success": false,
"message": "Mensaje de respuesta"
}

Descripción de los campos

  • success: Indica si la respuesta fue exitosa
  • message: Mensaje de respuesta
  • StatusCode: 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.