Consultar el XML de un documento por CUFE
El método GetXmlByCufe permite consultar ante la DIAN un documento electrónico a partir de su CUFE y obtener su XML, junto con el estado del paquete de consultas contratado por el sistema integrado.
Cada consulta exitosa (código de respuesta DIAN 100) descuenta una unidad del paquete de consultas. Las consultas con cualquier otro código se registran y se devuelven, pero no generan consumo.
GET https://micro.conexusit.com/corp/demo/api/Service.svc/GetXmlByCufe/{cufe}?guidSistemaIntegrado={guidSistemaIntegrado}
Endpoint
| Dato | Valor |
|---|---|
| Método HTTP | GET |
| Operación | GetXmlByCufe |
Parámetros de entrada
| Parámetro | Tipo | Obligatorio | Descripción |
|---|---|---|---|
cufe | string | Sí | Código Único de Factura Electrónica del documento a consultar. Se envía en la ruta de la URL. |
guidSistemaIntegrado | GUID | Sí | Identificador único del sistema integrado que realiza la consulta. Se envía en la query string. |
guidIssuer | GUID | No | Identificador único del emisor relacionado con el CUFE. Se envía en la query string. |
Ejemplo de solicitud
Ambiente: demostración.
GET https://micro.conexusit.com/corp/demo/api/Service.svc/GetXmlByCufe/0290524871728777e592e1fe54e929be6cd93a885dc8e16daabbe9f4b06f34daae0149205aa52d914f6e4c796ceaf726?guidSistemaIntegrado=3408859dc7cc426991edcb70220bbfb6
Estructura de la respuesta
Ejemplo de respuesta exitosa
{
"GetXmlByCufeResult": {
"Cufe": "<CUFE consultado>",
"DianCode": "100",
"MessageDian": "Accion completada OK",
"ValidationDateDian": "<fecha de validación>",
"TipoDocumento": "FAC",
"XmlBase64": "<XML en Base64>",
"Xml": "<XML del documento>",
"TotalQuantity": "14000",
"RemainingDocuments": "7834",
"ConsumptionPercentage": "44.04%"
}
}
Información de la consulta
| Campo | Tipo | Descripción |
|---|---|---|
Cufe | string | Identificador único del documento consultado. |
DianCode | string | Código de respuesta devuelto por la DIAN. 100 indica una consulta exitosa. |
MessageDian | string | Mensaje descriptivo devuelto por la DIAN. |
ValidationDateDian | string | Fecha de validación del documento, cuando la DIAN la devuelve. |
TipoDocumento | string | Tipo de documento identificado durante la consulta. Ver Tipos de transacción. |
XmlBase64 | string | XML del documento codificado en Base64, cuando la consulta es exitosa. |
Xml | string | Contenido XML del documento, cuando está disponible. |
Información del paquete
| Campo | Tipo | Descripción |
|---|---|---|
TotalQuantity | string | Cantidad total de documentos contratados en el paquete de consultas. |
RemainingDocuments | string | Cantidad de documentos restantes disponibles después de aplicar el consumo. |
ConsumptionPercentage | string | Porcentaje de consumo del paquete, con el símbolo %. |
El porcentaje de consumo se calcula así:
- Documentos consumidos =
TotalQuantity−RemainingDocuments - Porcentaje de consumo = (documentos consumidos /
TotalQuantity) × 100
Por ejemplo, con TotalQuantity = 14000 y RemainingDocuments = 7834: documentos consumidos = 6166, y porcentaje de consumo = (6166 / 14000) × 100 = 44.04%.
Ejemplo de respuesta con consulta no exitosa
{
"GetXmlByCufeResult": {
"Cufe": "<CUFE consultado>",
"DianCode": "401",
"MessageDian": "NIT: <NIT> del certificado no autorizado para consultar xmls de emisor con NIT: <NIT emisor> y receptor con NIT: <NIT receptor>",
"ValidationDateDian": "",
"TipoDocumento": null,
"XmlBase64": "",
"Xml": "",
"TotalQuantity": "14000",
"RemainingDocuments": "7834",
"ConsumptionPercentage": "44.04%"
}
}
En este caso la DIAN devuelve el código 401, por lo que no se descuenta la consulta del paquete; la respuesta y el detalle de la DIAN quedan registrados para mantener la trazabilidad.
Comportamiento del método
Consumo del paquete
| Respuesta de la DIAN | ¿Se registra la consulta? | ¿Descuenta del paquete? | Documentos restantes |
|---|---|---|---|
DianCode = 100 | Sí | Sí, una unidad | Se actualizan |
DianCode diferente de 100 | Sí, con el mensaje de la DIAN | No | No cambian |
Paquete agotado
El sistema valida la disponibilidad de documentos antes de aplicar el consumo. Cuando el paquete está agotado:
- No se permite descontar una nueva consulta.
- Se mantiene la información del consumo realizado.
- La respuesta devuelve la cantidad disponible del paquete.
Consideraciones importantes
- Para obtener los CUFE de muchos documentos a la vez, extráelos del reporte de la DIAN con
ParseDianReport. - Solo las consultas con código
100generan consumo; las rechazadas, no autorizadas o con errores de validación no lo afectan. - Todas las consultas quedan registradas, con el código y el mensaje de la DIAN, para mantener la trazabilidad. Puedes obtener ese detalle con
ExportReport. - El estado del paquete también puede consultarse con
ConsultarSuscripcion(tipo de servicioCD, consulta de documentos).