Descarga el XML que la DIAN tiene almacenado para un CUFE, CUDE, CUDS o CUNE.
GET/api/xml/DIAN/{uuid}
Es la ruta de la función, y no cambia entre ambientes. La URL base con la que la ejecutas aquí es la del sandbox. Es la URL del sandbox y no corresponde a la etapa productiva de la integración. La URL base de producción se te entrega al adquirir el servicio.
Entrega el documento electrónico tal como quedó almacenado en la DIAN, no la copia local del emisor. Es la consulta con la que se comprueba que lo que la DIAN recibió es lo que se envió, y la que resuelve las discusiones sobre el contenido de un documento.
La respuesta no viene envuelta en la estructura estándar del PT: el cuerpo es el XML, con Content-Type: application/xml. Se procesa como texto, no como JSON.
Sirve para cualquiera de los cuatro identificadores: CUFE de facturas, CUDE de notas y eventos, CUDS del documento soporte y CUNE de nómina.
Cómo resuelve el sandbox esta función
Consulta del XML de un documento
El identificador viaja en la ruta y el sandbox le pide a la DIAN el XML que tenga almacenado para el. Si lo tiene y la integración puede verlo, la respuesta es el documento firmado como `application/xml`. Si no —porque el identificador no existe en habilitación, o porque el documento pertenece a otro emisor y la integración no está autorizada a consultarlo— responde `404`, y las dos causas llegan con el mismo código: el servicio no distingue entre «no existe» y «no lo puedes ver», que es lo esperable en una consulta de documentos ajenos. **Es la única de las cinco consultas que responde 404**; las demás resuelven la ausencia con un `200` de campos vacíos.
Desliza el diagrama para verlo completo.
Ver la fuente Mermaid del diagrama
flowchart TD
A(["La consulta llega con el identificador en la ruta"]) --> B["Pide a la DIAN el XML almacenado"]
B --> C{"¿Lo tiene y la integración puede verlo?"}
C -- Sí --> D(["200 · el XML firmado, application/xml"])
C -- No --> E(["404 · no existe, o no está autorizada a verlo"])
Datos que recibe
Encabezado
Dato
Tipo
Descripción
Authorization*
string
Credencial de la petición, con el prefijo Bearer. En el sandbox la pone el portal por ti y la renueva antes de cada ejecución; en producción la controlas tú, con el JWT que genera tu integración a partir de sus credenciales — ver Credenciales y JWT.
Ejemplo:Bearer eyJhbGciOiJSUzI1NiIsImtpZCI6...
Ruta
Dato
Tipo
Descripción
uuid*
string
CUFE, CUDE, CUDS o CUNE del documento que se quiere recuperar. Escribe el de tu propio documento, o carga uno de los de habilitación que trae el portal —hay al menos uno por cada tipo de documento electrónico—: un identificador no se puede inventar, porque es el hash del documento.
6a82df1867d08c7047fa7ee7aee3407b4718381c917b434d058ac71615e5ab4da3f694a66d80ebd92d54fb04fb97fa5e · 05 · Documento soporte en adquisiciones a no obligados a facturar · Ejemplo 1
f02f40a54db222ac16b661f331b6fff5b3b07b3baf7a87594ab111d568e1f60312a82e3bd9d99f7d46e004e64e5dfbce · 05 · Documento soporte en adquisiciones a no obligados a facturar · Ejemplo 2
a3a0235f7f63c7918eed20b3356df525ac74525e6aa86029da1e655d9de027a3e46c6efb14f6f81650e5a4ee673e7b18 · 05 · Documento soporte en adquisiciones a no obligados a facturar · Ejemplo 3
dc318ddf87ef472bc26824c8e1e0c348df2a3230f05acc206416fa4134c5b9f7a1e6e7128b7cd7ed2bb1b007373daada · 05 · Documento soporte en adquisiciones a no obligados a facturar · Ejemplo 4
1b849015d1b1733e89ae540395dd9ad26a78da393309c8e0ab0689adf7224f4b8e6a174ae3459a3aaca34ec74383cbb6 · 05 · Documento soporte en adquisiciones a no obligados a facturar · Ejemplo 5
0b72d3271c1a5767bbe12daa104bd08c1d81a57c885dc23032ea229392a5c474e9f22c8f23bc0461d103acad81f97d0a · 05 · Documento soporte en adquisiciones a no obligados a facturar · Ejemplo 6
45c3190a1d4bfcc0c5dce5c7667b71a8ba9c0130bf42bbf17d8fcb2ce29bf1f059fe4ca250a04dc794cfb4de2989558d · 05 · Documento soporte en adquisiciones a no obligados a facturar · Ejemplo 7
d2cb856fa497c6d3b0f73aaa43bf94472a64200b3d13dd116324ed46b616ee08e80be2d328d386f7c9dd2e8771c220f6 · 102 · Documento soporte de pago de nómina electrónica · Ejemplo 1
c4d2fb9dd142741a9051ce43477e84225c6a09b8541157d486618086ea3039d469943b33bc04da312850edc9664ca3f3 · 102 · Documento soporte de pago de nómina electrónica · Ejemplo 2
6bba88460bcedb3bdcc9170c6d346c7e00d3d23c2b1713791efd7fe50d20ac0d089dcdf2a482cd55f458177dbc032f13 · 102 · Documento soporte de pago de nómina electrónica · Ejemplo 3
c8abb4a7732ff7d315a472ed6186e0c92c860ad8921bc885503504d59b895f369d44b5742cfc29227ea0fd6c90dc10a7 · 102 · Documento soporte de pago de nómina electrónica · Ejemplo 4
5a3c912ba25a6d3832be33ccf7c8d84ebfad3a9ac5c9180240b52062f30d8de06f44df875fa06abb276dd90e77289ce0 · 102 · Documento soporte de pago de nómina electrónica · Ejemplo 5
ea6f81f9c159998d4d3bea855aa982f6f9412cf9fee88629afb52e76369f47ed28874e68cfad14f4b6bc18222e1fe196 · 102 · Documento soporte de pago de nómina electrónica · Ejemplo 6
1e885f60aeeb78c5a41251dfed0b57beaaa8fb291cc4502e53eeef6fcb1d672be2aa7d1c16c5962bfeb153c73e203586 · 102 · Documento soporte de pago de nómina electrónica · Ejemplo 7
8035353bedcc504552bf64bfb49d86a8a501219e4c41e9043b3fc9e931dcf128af920e3e3dd7f81458eca39096c8753c · 102 · Documento soporte de pago de nómina electrónica · Ejemplo 8
7e23151f6b4ee91a6995aaf12a08c2b6b2949f6651ce70a293bf3afe3c38bfdc0e69193c998964693e62ff3a2278b2ec · 102 · Documento soporte de pago de nómina electrónica · Ejemplo 9
c73bb3aa1aa89a698cef5f66b0c59f70e9624c3c1804e57605381cc50db1634c15b77ffdf45e8498c99210d526860419 · 102 · Documento soporte de pago de nómina electrónica · Ejemplo 10
24a2c6c7f90aadd69c25e59c21cf5c13710e36a736fa14e596b6463a892b42957400872b89366f0bbc87a3faf383a809 · 103 · Nota de ajuste de nómina electrónica · Ejemplo 1
ce3d4f03e975acb94929e22f9ba8b8dbcf7699454e67576f4c3748f1f59583d5a5396cefa3baa82b4d52e3bc754a5afb · 103 · Nota de ajuste de nómina electrónica · Ejemplo 2
cb437e675c9a5be6c9d11ec037cacb59f1dea32484996de63cc21ee4089f3a4f04af69622f2026f1183705ed29ae781a · 103 · Nota de ajuste de nómina electrónica · Ejemplo 3
a06aaa95f67391c88f4508bfb8cdac8738050ee5f0e2dbed0bde79e6422292b1736d6b087e4947bde1b67ec9735508be · 103 · Nota de ajuste de nómina electrónica · Ejemplo 4
206bd7b0c9cb6acbf5c8d8ec154677fa43734a3c2be6b118d4f44232fcebb067ebe48e139034433caed3ddce5487124d · 103 · Nota de ajuste de nómina electrónica · Ejemplo 5
6ae08e1e8eebe7a85053a81b98a11bb2b4fe8605078ec256a2a8d4652ee5120998e8eea6fe971de2edbd38d46e6c6dd9 · 103 · Nota de ajuste de nómina electrónica · Ejemplo 6
563dcb0b92eca58c55b3d9fb1083c00ee18c0a98e9c36d49cc8936fc361bf8fb54c05c3b08b4b512a05623cfeb308b6d · 103 · Nota de ajuste de nómina electrónica · Ejemplo 7
2fa37d8484f9b2a1b6f96c406b095af0062a71131cd77fe61611a7eedba1b7cb1004dcea301a77d158ac7731a407ac66 · 103 · Nota de ajuste de nómina electrónica · Ejemplo 8
e0291d26447410e0ea30978fffe70f596b3e0db745bf48d24d042dc1fcbfcb824eb505701a00ed5c0f0c360c9241aed5 · 103 · Nota de ajuste de nómina electrónica · Ejemplo 9
1d4d10e2b5584aa583341c4d8383d7930a5b80e37342e442cb14a7aee9a158e5d9c8034c8af8588fe5e10e0328b85bcf · 103 · Nota de ajuste de nómina electrónica · Ejemplo 10
43c0cd7accc90b7fe7452249a261fa9573b495a5241767aa82127ffa9736b978fb0a432b29cf2636844a83022db7e757 · 91 · Nota crédito · Ejemplo 1
6efa3cc6585d9b3d57939f72849f3d6ad5137583c223c21f700f9cdb777bb196aa5824cbf59fd7cb2ff95def96a8f234 · 91 · Nota crédito · Ejemplo 2
49d43311dd10a3f9a231bae9b67880c191f61bc113196ab9d1e77aabe6a4b84c6e814ab6d26bdad6f706c17ab0b7ad21 · 91 · Nota crédito · Ejemplo 3
c98d9b04ab763a29d192174c5becb1eb90057aabaa3467b0c8ffa3aae298dd7584e81dee602163cc73aa498d1af976d2 · 91 · Nota crédito · Ejemplo 4
a1852ba14c7004e6f6c808d40560b66103ba624911b7287f2e34e941350f0c4b6e76c8961747a12ea7c70d99237583ee · 91 · Nota crédito · Ejemplo 5
5d1f3082bea8c0b930f96edc56a0e71397d800f9f701941604a6ded68dc205a173521b1fc6fb4728d98a950cd74b9f18 · 91 · Nota crédito · Ejemplo 6
bf902e7a12f120c2635cde392ccb2518543117df5d6ae5ecf261b417c60c3d1832e66bfc0216caf5db09b022d32b9fc5 · 91 · Nota crédito · Ejemplo 7
2805f6f3881d36f2edd1d7f74f4253f6012116a97b7667c2b3f38e84e02b08e0338ad06bc4186c7af1c0c29ee17fb5cc · 91 · Nota crédito · Ejemplo 8
569704ed65ae1a666f9ef51e09895a0665dae1ec1a9924be5319d41490427cb8d4cdacfdb6f9bd6f348936f4cbf1e097 · 91 · Nota crédito · Ejemplo 9
bc99784542f1f83e9b6ebe5fa7c70ce0fe95fab02c5bcbb8199b439c1ab4460f608e6c6d4f8e9b04ecfdcab8d7b53109 · 91 · Nota crédito · Ejemplo 10
9e8b72ee1cba744e015eb9c4d997828b9c5377f4f444caee549062885412f1f3ba5061c36bc32dc95f3518fedfa547ab · 92 · Nota débito · Ejemplo 1
261cc80fe3178e47fb835e739215d5beced0f55c23a5aa3312ace2d87d1188f3d2c5763e94f156d59736ef96ce34e016 · 92 · Nota débito · Ejemplo 2
21dc1767822a63a41a3ed2b683e2f2f320c4c19dcacdeb8c137b03775019547f1b5093b4b0ffed0351a5e7557735188c · 92 · Nota débito · Ejemplo 3
7ea25c38ac7b60cbf52ce701880b07ac275791ad07bed9e15e20f1394b4995a2b73dfa180783131e1f95f9ad19c54813 · 92 · Nota débito · Ejemplo 4
5117f052c41367dde9768e89d14febfb1aa0f1fdcf3b3296ec3265a3ecf380d2788d3a1ca89563aeb289678674632ea3 · 92 · Nota débito · Ejemplo 5
f1da6d1b236ff592b2adc83e3eeb19bc7641a7179f626cffde49dd586d2359c98a66256d29496a3b28ab53c81290a415 · 92 · Nota débito · Ejemplo 6
ed8e58c2a4d1711a304c9a8bbfc5542d0b8808548de42c7d0a5b86235aff44084b12ee8be3ceb950ff34f82ab5c73334 · 92 · Nota débito · Ejemplo 7
f83944c166bcd6c31b4f34e0a1cdb75d40832282c3af86d199217b33e3189ef750c80dcc8aae2fc31390611625cf4bd3 · 92 · Nota débito · Ejemplo 8
013d35ed45315caa008aa348842d50c386d054a9b0b284c0d7a9ca7f16a41d36d5904d7e1d00003fd56a5fed25273975 · 92 · Nota débito · Ejemplo 9
59f931de0ba5ac1e15e37ff2d3d2972247d12bc35021ba0cbe45737e5592b48f1812a54109cba3f20dca7d7bc3420442 · 92 · Nota débito · Ejemplo 10
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.
tdambiente
2 — 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
Datos de la ruta
Obligatorio · escribe el tuyo o carga uno de los
77 documentos de habilitación
El detalle de cada dato, con sus valores admitidos, está en Datos que recibe.
Se enviaraGET https://proveedortecnologico-sandbox.azurewebsites.net/api/xml/DIAN/a8e38b813214044b39a350fd3efb1d44e7d51151f569dbc8f1d19b95eac35bdf4a6cf42e5c701ef28a95c0e28d863c00
Es la URL del sandbox y no corresponde a la etapa productiva de la integración. La URL base de producción se te entrega al adquirir el servicio. Lo que si es igual en los dos es la ruta.
Respuesta
Aquí queda tu ejecución: la ruta que viajó, el cuerpo que enviaste, el código con el que respondió
el sandbox y el tiempo discriminado. Un error también queda: es lo que se necesita junto al cuerpo
que lo produjo.
Exportar a Postman
Descarga esta función como colección de Postman, con los valores que tienes ahora en la barra y tu
credencial vigente: se importa y se envía sin configurar nada.
Respuestas
200 El cuerpo es el XML del documento, con Content-Type: application/xml y Content-Disposition: inline.
400 No se envió el identificador en la ruta.
404 No hay XML que entregar: la DIAN no tiene almacenado ningún documento con ese identificador en habilitación, o la integración no está autorizada a consultarlo. Las dos causas llegan con el mismo código, porque el servicio no distingue entre «no existe» y «no lo puedes ver».
401 La 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.
Errores frecuentes
404 No se encuentra el recurso
El identificador no existe en habilitación. El caso más frecuente es consultar aquí un documento emitido en producción: el sandbox no lo ve.
400 Parametro CUFE/CUNE/CUDS
La ruta llego sin el identificador. Ocurre al construir la URL con un UUID vacío.
Ten en cuenta
Es la única consulta que responde XML crudo. El resto responde el envoltorio JSON del PT, con encabezado y respuesta.
El XML que entrega la DIAN es el firmado. Cualquier diferencia con la copia local significa que se firmó algo distinto de lo que se guardó.
En producción la ruta lleva un {tdambiente?} al final —/api/xml/DIAN/{uuid}/{tdambiente?}— con el que se decide contra qué ambiente se pregunta.