Guía

Probar desde Postman

El portal genera un archivo de importación de Postman con las funciones del sandbox ya definidas: rutas, métodos, cuerpos de ejemplo, variables y autorización. Se descarga funcional: al importarlo, la primera petición se envía sin configurar nada.

Descarga la colección completa

Si ya la tienes importada y con cambios propios, no la descargues otra vez: el botón Copiar la credencial de ahí mismo renueva el token y lo deja en el portapapeles para pegarlo en la variable istoken.

También puedes descargar una sola función desde su ficha, con el cuerpo y los parámetros que tengas en la consola. Empieza por la portada de la documentación o directamente por Información de un NIT.

1 · Descargar la colección

El botón está en dos lugares: en la portada de la documentación, donde descarga todas las funciones ejecutables, y en cada ficha, donde descarga solo esa función con los parámetros y el cuerpo que tengas en la consola en ese momento.

Antes de descargar aparece un aviso que hay que confirmar: el archivo incluye tu credencial de acceso al sandbox. Es la de tu propia sesión, autoriza únicamente el ambiente de habilitación con la empresa de pruebas y vence en una hora, pero es un token real y un archivo se comparte con demasiada facilidad.

Al confirmar, el portal renueva tu credencial y solo entonces arma el archivo, para que la colección se descargue con su hora completa de vigencia.

Captura img/postman/010-boton-exportar.webp pendiente de grabar

Dónde está el botón de exportación en la portada de documentación y en la ficha de una función.

Captura img/postman/020-aviso-credencial.webp pendiente de grabar

El aviso que advierte que el archivo lleva la credencial y que vence en una hora.

2 · Importarla en Postman

En Postman, pulsa Import —arriba a la izquierda, junto al árbol de colecciones— y arrastra el archivo que acabas de descargar.

La colección aparece en el árbol con el nombre *InSoft — Proveedor Tecnológico (Sandbox)* y una carpeta por grupo: Consultas, Facturación, Nómina y Eventos. Las funciones con varios escenarios traen dentro una subcarpeta Ejemplos con una petición por cada JSON de la planeación.

Animación video/postman/030-importar-postman.mp4 pendiente de grabar

Pulsar Import en Postman, arrastrar el archivo y ver la colección aparecer en el árbol con sus carpetas.

3 · Revisar las variables: una URL por dominio

Abre la pestaña Variables de la colección. Son pocas, y cada una tiene su descripción: urlBase con la dirección del sandbox, una URL por grupo —urlConsultas, urlFacturacion, urlNomina, urlEventos— e istoken con tu credencial ya diligenciada.

Las cuatro URL de grupo arrancan valiendo {{urlBase}}: Postman resuelve una variable dentro de otra, así que mientras pruebas en el sandbox el host se cambia en un solo lugar. Y cada petición apunta a la de su grupo, no a una común.

Eso es lo que hace el paso a producción una edición de variables y no de peticiones: allá cada dominio tiene su propia dirección, y se llena la del grupo que estés integrando sin tocar las demás. La ruta de cada petición es la misma en los dos ambientes; la URL base es lo único que cambia, y la de producción se te entrega al adquirir el servicio.

La autorización se declara una sola vez, en el nivel de la colección, y cada petición la hereda: renovar la credencial es cambiar una variable, no editar veinte peticiones.

Captura img/postman/040-variables-coleccion.webp pendiente de grabar

Pestaña Variables de la colección con urlBase, las cuatro URL de grupo e istoken.

4 · Los parámetros de la ruta van en la propia petición

Un parámetro de ruta se lee en la URL con dos puntos —{{urlConsultas}}/api/nit/:nit/:tddocumento— y aparece en la pestaña Path Variables de la petición, con su valor de ejemplo ya diligenciado y su descripción al lado. No hay que ir a buscarlo a las variables de la colección.

Cuando el dato es un código de catálogo de la DIAN, la descripción lista los valores admitidos: Postman no tiene desplegables, así que el catálogo viaja escrito y no hay que volver al portal para consultarlo.

Y si un parámetro es opcional, se puede quitar borrando su segmento de la URL. Antes cada parámetro era una variable de la colección: quedaba en otra pestaña y compartido por todas las funciones que usan ese nombre, de modo que cambiar el uuid para probar una consulta lo cambiaba también en las otras.

Captura img/postman/045-path-variables.webp pendiente de grabar

Pestaña Path Variables de una petición, con :nit y :tddocumento, sus valores y sus descripciones.

5 · Enviar la primera consulta

Abre Consultas → Información de un NIT y pulsa Send. No hay nada que configurar: la URL ya trae las variables resueltas y la autorización la hereda de la colección.

Es la petición con la que conviene empezar porque es una lectura: no emite nada y no gasta consecutivos. Si responde 200, la colección quedó bien importada y tu credencial está vigente.

Animación video/postman/050-ejecutar-consulta.mp4 pendiente de grabar

Enviar la consulta de información de un NIT y ver la respuesta de la DIAN en el panel inferior de Postman.

6 · Enviar un documento

Abre Facturación, entra a una función y despliega su subcarpeta Ejemplos. Cada petición es un escenario distinto de la planeación: IVA, retenciones, IBUA, ICUI, AIU, mandato, transporte, moneda extranjera, anticipos, descuentos.

Empieza por Generar el XML sin reportarlo: recorre la verificación completa y devuelve el XML firmado sin llegar a la DIAN, de modo que no gasta consecutivos y se puede repetir cuantas veces quieras. Cuando el documento pase la verificación, pasa a los envios POST, que si reportan y devuelven el UUID.

Animación video/postman/060-enviar-documento.mp4 pendiente de grabar

Abrir la subcarpeta Ejemplos, escoger una factura, enviarla y leer el UUID que devuelve la respuesta.

7 · Cuando la credencial venza, copiarla o descargar otra vez

La credencial del archivo dura una hora y no se renueva sola: el portal renueva la suya, el archivo descargado no. Cuando venza, el sandbox responde 401.

Para que ese 401 no se confunda con un error de integración, la colección trae dos scripts que escriben un aviso en la consola de Postman: uno revisa la vigencia antes de cada petición y otro reacciona al 401.

Hay dos salidas, y no dan lo mismo. Si la colección está tal como se importó, descárgala otra vez desde aquí. Pero si ya le hiciste cambios propios —cuerpos ajustados, peticiones nuevas, un entorno— volver a importar los pierde: para eso está el botón Copiar la credencial de arriba, que renueva el token y lo pone en el portapapeles. Se pega en Variables → istoken → Current value y la colección queda como estaba, con la hora completa.

Las dos salidas entregan la misma credencial mientras siga vigente: el valor que copias es el que traería el archivo si lo descargaras en ese momento, no un token distinto. Es lo que te permite comparar y confirmar que pegaste lo que corresponde.

Y al reves: cuando estés ajustando un JSON en la consola del portal y quieras seguir en Postman, exporta esa función desde su ficha. El archivo sale con el cuerpo y los parámetros que tengas cargados en ese momento, no con el ejemplo por defecto.

Captura img/postman/070-credencial-vencida.webp pendiente de grabar

La respuesta 401 y el aviso que el script de la colección escribe en la consola de Postman.

Animación video/postman/080-exportar-funcion.mp4 pendiente de grabar

Ajustar el JSON en la consola del portal y exportar esa función con lo que quedó en el editor.

Cuando algo no responde como esperas

SíntomaQué lo causa y cómo se resuelve
401 en todas las peticionesLa credencial venció —dura una hora desde la descarga— o tu perfil de desarrollador no está completo. Vuelve al portal, comprueba tu perfil y descarga la colección otra vez.
Una consulta responde 200 con los campos vacíosNo es un error. El sandbox solo ve el ambiente de habilitación, donde el catálogo de terceros y de documentos de la DIAN no coincide con el de producción. Hay que evaluar el contenido de la respuesta, no solo el código HTTP.
Una nota o un evento responde que el documento referenciado no existeEl UUID que estás referenciando tiene que ser de un documento emitido antes desde el propio sandbox: es el único que existe en habilitación bajo la empresa de pruebas.
400 con una lista de reglas incumplidasEs la respuesta esperada de la verificación, y trae un elemento por regla con su código de la DIAN, su código interno de InSoft y el mensaje de qué corregir. Se leen todas: el servidor no se detiene en la primera.
La generación del XML rechaza un ejemplo del envíoEsa función no numera ni registra resolución: exige la resolución completa y el consecutivo. Los ejemplos de la planeación los traen; los del envío con numeración automática, no.

Lo que el archivo nunca lleva

El único dato sensible del archivo es tu propia credencial. Nada de lo que el Proveedor Tecnológico usa para firmar y reportar sale al navegador, de modo que la exportación no lo puede llevar: el archivo trae la URL del sandbox, las peticiones y los cuerpos de ejemplo, y nada más. Y esos cuerpos salen con la identidad de la empresa de pruebas, sin datos de terceros reales.