Información de un NIT
Consulta en la DIAN la razón social y el correo registrados para una identificación.
/api/nit/{nit}/{tddocumento?} Devuelve los datos que la DIAN tiene registrados para una identificación: la razón social y el correo de notificación. Es la consulta con la que se valida un receptor antes de facturarle, en lugar de descubrir el dato equivocado cuando la DIAN rechaza el documento.
El tipo de documento es opcional. Si no se envía, se buscan los tipos que puede tener la identificación; conviene enviarlo cuando el tercero no es un NIT, porque una cédula y un NIT con los mismos dígitos son terceros distintos para la DIAN.
La respuesta devuelve el tddocumento que la DIAN reconoció, que puede no ser el que se consulto: ese es el que hay que usar después en el documento electrónico.
Cómo resuelve el sandbox esta función
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.
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
Ruta
Ejecutar la función
Ambiente de habilitación de la DIAN · la consulta no modifica nada ni gasta consecutivos Lo que se envía
El detalle de cada dato, con sus valores admitidos, está en Datos que recibe.
GET https://proveedortecnologico-sandbox.azurewebsites.net/api/nit/810000630/31 Respuesta
Exportar a Postman
Respuestas
-
200Entrega enrespuesta.datoselnit, eltddocumentoque reconoció la DIAN, elnombrey elemailregistrados. -
401La 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. -
500La DIAN no respondió la consulta.
Errores frecuentes
-
401El desarrollador autenticado no tiene un perfil registrado en el sandboxLa cuenta se autenticó pero nunca completó el registro de desarrollador. Se resuelve diligenciando el perfil desde el portal.
-
500No fue posible consultar el tercero en la DIANLa DIAN no está respondiendo. Se reintenta; la consulta no tiene efectos colaterales.
Ten en cuenta
- En el sandbox la respuesta llega enmascarada, y en producción no.
nombreyemailsalen con la primera mitad de cada palabra visible y el resto reemplazado por█. Son datos de terceros reales que la DIAN tiene registrados, y el sandbox lo usa cualquier desarrollador: enmascararlos es lo que permite publicar la consulta. La estructura, los campos y los tipos de la respuesta son exactamente los mismos. - Lo que eso implica al integrar: el
█no es un carácter válido ni en un nombre ni en un correo, de modo que aquí no se puede validar el formato delemailni usar elnombrecomo razón social de un documento de prueba. Lo que sí se puede comprobar es lo que esta consulta responde de verdad: si el tercero existe y quétddocumentole reconoció la DIAN. En producción los dos campos llegan completos y tal como están registrados, sin ningún carácter de relleno. - Un tercero que la DIAN no tiene registrado no es un error: responde
200con el nombre y el correo vacíos. Hay que evaluar el contenido, no solo el código HTTP. - La consulta se resuelve contra el ambiente de habilitación, donde el catálogo de terceros de la DIAN no coincide con el de producción: un NIT real puede responder vacío aquí y con datos allá.
- En producción se consume con la misma ruta y el mismo contrato, cambiando la credencial del sandbox por el JWT de tu integración.