Información de resoluciones

Lista todas las resoluciones de numeración que la DIAN tiene autorizadas para un emisor.

GET /api/resoluciones/{nit}/{tdambiente?}/

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.

Entrega el listado completo de rangos de numeración autorizados por la DIAN para el NIT emisor: prefijo, número de resolución, vigencia y rango de consecutivos. Es la consulta con la que una integración descubre con qué prefijo y qué consecutivos puede numerar antes de emitir el primer documento.

Cada resolución trae además la clavetecnica, que es la que interviene en el cálculo del CUFE. Sin ella el documento no se puede firmar, por lo que el PT la conserva en cache: las consultas siguientes de la misma resolución no vuelven a la DIAN.

Un NIT sin rangos autorizados no es un error: responde con la lista vacía. En habilitación es lo normal para un NIT que no ha completado el proceso de autorización ante la DIAN.

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

tdambientenumber

Ambiente de la DIAN contra el que se consulta. El sandbox lo recibe pero no lo aplica: siempre consulta habilitación.

Ejemplo:2

Ver los 2 valores admitidos
  • 1 · Produccion — vpfe.dian.gov.co
  • 2 · Pruebas (habilitación) — vpfe-hab.dian.gov.co

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
Sin escoger no viaja: el segmento desaparece 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/resoluciones/901234567/2/

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 el arreglo de resoluciones con numeroresolucion, fecharesolucion, prefijo, numeroinicial, numerofinal, fechainicial, fechafinal y clavetecnica.
  • 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 Arreglo vacío

    El NIT no tiene rangos autorizados en habilitación. Es el resultado esperado para cualquier NIT que no sea el de la empresa de pruebas del sandbox.

Ten en cuenta

  • En el sandbox el listado puede llegar enmascarado, y en producción nunca. Cuando el NIT consultado no tiene resoluciones en habilitación, el sandbox responde una muestra de dos resoluciones para que veas la forma del contrato en lugar de un arreglo vacío, y en ellas la clavetecnica y el prefijo salen con la primera mitad visible y el resto en █. Es un rango autorizado de un tercero: enmascararlo es lo que permite enseñar la respuesta completa sin publicar el dato.
  • Lo que eso implica al integrar: una clavetecnica con █ no sirve para calcular un CUFE; el documento se generaría con una huella que la DIAN no reconoce. Si la necesitas para probar el cálculo, usa la resolución de pruebas que documenta Información de una resolución. En producción el listado sale con sus valores reales y completos, sin ningún carácter de relleno.
  • El listado incluye las resoluciones vencidas: hay que filtrar por fechafinal antes de numerar.
  • Las resoluciones con las que numera el sandbox son las que el propio servicio tiene registradas para su empresa de pruebas. Al emitir con numerodocumento en <auto> no hay que consultar nada: el sandbox resuelve la numeración.
  • En producción llega por el dominio de facturación —donde vive la numeración— con la misma ruta, y ahí el tdambiente sí decide contra qué ambiente se pregunta.