Información de una resolución

Detalle de una resolución de numeración puntual, incluida su clave técnica.

GET /api/resolucion/{nit}/{numeroresolucion}/

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.

¿Es tu primer contacto con esta parte de la plataforma? Empieza por Facturación electrónica, donde se explica qué documentos existen, cómo se arma el JSON y qué valida el servidor antes de que ejecutes nada.

Devuelve una sola resolución, identificada por el NIT del emisor y el número del acto administrativo. Es la versión puntual de la consulta de resoluciones, útil cuando la integración ya sabe con cuál va a numerar y solo necesita refrescar la vigencia o la clave técnica.

El PT la busca primero en su cache y solo va a la DIAN si le falta algún dato. La cache tiene como llave NIT + numeroresolucion, de modo que una resolución ya completa no vuelve a pedirse.

Si el rango de numeración se amplia o se renueva ante la DIAN, la resolución cambia de número: la anterior sigue existiendo y hay que consultar la nueva.

Cómo resuelve el sandbox esta función

Consultas a la DIAN

Las consultas comparten la misma forma: los datos van en la ruta, no llevan cuerpo y no gastan consecutivos ni dejan nada reportado en la DIAN. Por eso son las funciones con las que conviene empezar: se pueden repetir tantas veces como haga falta. La consulta se resuelve ante la DIAN, y si hay registro responde 200 con los datos encontrados. Si no hay registro también responde 200, con los mismos campos vacíos: la ausencia de resultado también es un resultado, y una integración que espere un 404 para decidir «no encontrado» no lo va a recibir nunca. **La consulta del XML de un documento es la excepción**: esa sí responde 404, y tiene su propio diagrama.

Consultas a la DIANLas consultas comparten la misma forma: los datos van en la ruta, no llevan cuerpo y no gastan consecutivos ni dejan nada reportado en la DIAN. Por eso son las funciones con las que conviene empezar: se pueden repetir tantas veces como haga falta. La consulta se resuelve ante la DIAN, y si hay registro responde 200 con los datos encontrados. Si no hay registro también responde 200, con los mismos campos vacíos: la ausencia de resultado también es un resultado, y una integración que espere un 404 para decidir «no encontrado» no lo va a recibir nunca. **La consulta del XML de un documento es la excepción**: esa sí responde 404, y tiene su propio diagrama.SÍNOLa consulta llega con susdatos en la rutaConsultaante la DIAN¿Hay registro?200Los datos encontrados200Los mismos campos,vacíosLEYENDAInicio y finPasoDecisión

Desliza el diagrama para verlo completo.

Ver la fuente Mermaid del diagrama
flowchart TD
    A(["La consulta llega con sus datos en la ruta"]) --> B["Consulta ante la DIAN"]
    B --> C{"¿Hay registro?"}
    C -- Sí --> D(["200 · los datos encontrados"])
    C -- No --> E(["200 · los mismos campos, vacíos"])

Datos que recibe

Encabezado

DatoTipoDescripció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

DatoTipoDescripción
nit*string

NIT del emisor, sin el dígito de chequeo.

Ejemplo:901234567

numeroresolucion*string

Número del acto administrativo con el que la DIAN autorizo el rango.

Ejemplo:18760000001

Lo que el sandbox fuerza

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

El detalle de cada dato, con sus valores admitidos, está en Datos que recibe.

Se enviara GET https://proveedortecnologico-sandbox.azurewebsites.net/api/resolucion/901234567/18760000001/

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 Entrega en respuesta.datos la resolución con todos sus campos, incluida la clavetecnica. Una resolución que no existe para ese NIT responde con los campos vacíos.
  • 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.
  • 500 La DIAN no respondió la consulta.

Errores frecuentes

  • 200 Resolución con los campos vacíos

    El número de resolución no corresponde al NIT consultado, o el NIT no tiene ese rango en habilitación. Se verifica con la consulta de resoluciones, que lista las que si existen.

Ten en cuenta

  • En el sandbox esta consulta no enmascara, pero tampoco entrega siempre un dato real. Si el NIT no tiene la resolución y consultas el número de pruebas 18760000001 —el que trae el ejemplo—, la respuesta es una resolución sintética: prefijo SBOX y una clave técnica de relleno. Existe para que puedas ejercitar el cálculo del CUFE sin depender de una resolución aprobada, y no es una resolución válida ante la DIAN: un documento firmado con esa clave no coincide con el que la DIAN reconocería.
  • Es la diferencia con Información de resoluciones, donde la muestra sí llega enmascarada con █. En producción no hay ni muestra ni relleno: la respuesta es siempre la resolución real del emisor, con su clave técnica completa.
  • A diferencia de la consulta de resoluciones, aquí no se responde 404 cuando la resolución no existe: se responde 200 con la resolución vacía. Hay que evaluar el contenido.
  • La clavetecnica solo la entregan las resoluciones de facturación; el documento soporte y la nómina no la usan en el cálculo de su UUID.
  • En producción llega por el dominio de facturación con la misma ruta y el mismo contrato.