ConteoDocs

Manejo de errores

Códigos de error, estrategias de reintento y solución de problemas para la API del Gateway G-Force.

Manejo de errores

El Gateway de G-Force usa códigos de error basados en strings en el campo code de cada respuesta. Un código "200" significa éxito; cualquier otro es un error.

Códigos de error comunes

CódigoSignificadoAcción
200ÉxitoProcesa la respuesta normalmente
100Token de emisor inválido (solo ConsultRucDV)Verifica credenciales del PAC
101Token de emisor inválidoCredenciales del PAC incorrectas. Pide al usuario que reingrese Company/Token
102Documento no encontrado / DuplicadoDepende del contexto (ver detalles por método abajo)
109Error de validaciónParsea el campo message para ver qué campo falló
201Error de procesamientoReintenta con backoff exponencial, luego alerta al usuario
202DGI inalcanzableLa DGI está caída. Reintenta con backoff

Códigos de error por método

SendDocument

CódigoMensajeAcción
101Token de emisor inválidoCredenciales del PAC incorrectas
102Documento duplicadoFactura ya enviada. Usa StatusDocument para verificar
109Campo inválido / longitud / requeridoParsea message para el nombre del campo y muéstralo al usuario
201Error de procesamientoReintenta con backoff

StatusDocument

CódigoMensajeAcción
101Token de emisor inválidoCredenciales del PAC incorrectas
102Documento no existeVerifica numberDocumentFiscal y pointBillingFiscal
109Error de validaciónParsea message para detalles del campo

ConsultRucDV

Este método usa códigos de error distintos al resto de la API:

CódigoMensajeAcción
100Token de emisor inválidoNota: usa 100, no 101
101Error de certificadoProblema con el certificado del PAC. Reintenta o contacta a G-Force
102Contribuyente no registradoRUC no está en el sistema de la DGI. El usuario necesita registrarse primero
201Error de procesamientoError genérico, reintenta
202DGI inalcanzableLa DGI está caída, reintenta con backoff

Errores de validación (código 109)

El código 109 cubre varios tipos de fallos de validación. El campo message contiene los detalles:

  • "Invalid field [campo]" -- valor incorrecto para el campo
  • "Field [campo] length out of range" -- valor muy corto o muy largo
  • "Field [campo] must be numeric" -- valor no numérico en un campo numérico
  • "Field [campo] is required" -- campo requerido faltante
  • "Field [campo] must not be included" -- el campo debió haberse omitido
  • "In occurrence [n] of [campo]: ..." -- error en un elemento del array

Estrategia de reintento

Para errores transitorios (códigos 201 y 202), usa backoff exponencial:

Intento 1: espera 1s
Intento 2: espera 2s
Intento 3: espera 4s
Intento 4: espera 8s
Máximo de intentos: 4

No reintentes para los códigos 101, 102 o 109 -- estos requieren acción del usuario o corrección en el código.

Consejos

  • Registra los pares solicitud/respuesta durante la integración inicial. Redacta las credenciales pero conserva todo lo demás. Esto es crítico para debuggear comportamiento específico de cada PAC.
  • El código 102 tiene doble significado: en SendDocument significa "duplicado", en StatusDocument significa "no encontrado". Maneja ambos casos.
  • Campos opcionales: La documentación oficial dice omitirlos completamente. La colección de Postman los envía como strings vacíos y funciona. Si tienes errores de validación en producción, intenta omitir los campos en lugar de enviarlos vacíos.

On this page