Saltar al contenido

Técnico

Integrar con un organismo del que no controlas la disponibilidad

Notas de arquitectura sobre cómo se construye una emisión de comprobantes que no pierde documentos cuando el servicio del otro lado no responde.

Fecha
Autor
AZIR TECHNOLOGY
Tiempo de lectura
6 min

Cuando un sistema depende de un servicio externo que no controlas —y menos aún si de él depende una obligación legal del usuario— la pregunta de diseño no es cómo llamarlo, sino qué pasa cuando no contesta.

En facturación electrónica esa pregunta tiene consecuencias inmediatas: un comprobante que se pierde entre la emisión y la autorización es un problema fiscal para el emisor.

Aislar la frontera

La primera decisión es tratar la comunicación con el organismo como una frontera del sistema, no como una llamada más. El documento se persiste antes de intentar transmitirlo, con un estado propio que sobrevive a la caída del servicio remoto.

A partir de ahí, la transmisión es un proceso asíncrono con cola, reintentos con retroceso exponencial y un límite explícito antes de escalar el caso a intervención humana.

Estados que reflejan la realidad

El error frecuente es modelar dos estados —enviado y autorizado— cuando la realidad tiene más: generado, firmado, en cola, transmitido, en espera de respuesta, autorizado, rechazado y devuelto.

Modelar el estado intermedio es lo que permite responderle al usuario dónde está su comprobante en lugar de mostrar un error genérico.

Observabilidad desde el primer día

Sin métricas de cola, tasa de rechazo y tiempo de autorización, la degradación del servicio remoto se detecta cuando llama el primer cliente. Con ellas, se detecta antes y se comunica.

Siguiente

AZIR GROUP formaliza su estructura de holding en siete divisiones

Anuncio

¿Necesitas ampliar esta información o una declaración para tu medio?