Ir al contenido

Respuestas y errores

{
"message": "Documento generado con éxito",
"send_email_success": true,
"cufe": "",
"responseDian": {
"IsValid": "true",
"StatusCode": "00",
"StatusDescription": "Procesado Correctamente",
"XmlDocumentKey": "",
"XmlFileName": ""
}
}

Guarda siempre: CUFE, ZipKey / XmlDocumentKey, nombres de PDF/XML.

Todas las respuestas llevan:

X-GridBilling-Environment: sandbox

o production. Verifica también: GET /api/ubl2.1/environment.

HTTPCausa típicaQué hacer
401Token ausente / inválido / de otro ambienteUsa el Bearer del mismo host
403Sin permiso (ruta admin, etc.)Revisa si el endpoint es de integrador
404Recurso no encontradoRuta o ID incorrecto
422Validación Laravel / regla de negocioLee errors / message del JSON
429Throttle (p. ej. registro)Espera y reintenta
5xxError servidor / DIAN caídoReintenta; si persiste, WhatsApp con NIT + ambiente
"responseDian": {
"IsValid": "false",
"StatusCode": "",
"StatusDescription": "",
"ErrorMessage": [""]
}

Checklist rápido:

  1. Resolución vigente y prefijo correcto
  2. Consecutivo dentro del rango
  3. Certificado no vencido (PUT /api/ubl2.1/certificate-end-date)
  4. Software ID / PIN correctos
  5. Municipio, impuestos y totales coherentes
  6. En Sandbox: ambiente DIAN = habilitación

Luego reconsulta con Consultar estado.

Si tu cuenta es integrador con paquete y docs_left = 0, la emisión se rechaza hasta comprar más documentos.

  • Ver cupo: GET /api/ubl2.1/plan/infoplanuser
  • Comprar: Alta y cupos

Empresas internas GridPOS sin paquete de integrador no aplican este límite.

Síntoma clásico: 401 o comportamientos raros.

HostToken
sandbox-api.gridbilling.gridsoft.coSolo Sandbox
api.gridbilling.gridsoft.coSolo Producción

La API no llama a tu servidor cuando DIAN termina. Debes usar la respuesta síncrona o hacer poll de estado.

Incluye en WhatsApp:

  • NIT
  • Ambiente (sandbox / production)
  • Endpoint
  • StatusCode / mensaje ( sin pegar el Bearer completo )

WhatsApp soporte