Cuando el SIAT no responde, puedes activar un evento de contingencia para seguir emitiendo facturas offline. Las facturas emitidas en contingencia se envian al SIAT cuando el servicio se restablece.
Iniciar Evento de Contingencia
POST /api/v1/events/start
Respuesta (200):
Finalizar Evento de Contingencia
POST /api/v1/events/end
Respuesta (200):
finalizado: true NO significa que tus facturas entraron al SIAT. Solo dice que el
evento se cerro y se registro. El envio del paquete es un paso aparte y puede fallar
(timeout del SIAT, rechazo del paquete) dejando el evento igualmente finalizado.Para saber si las facturas entraron, revisa paquetes: cada entrada es un paquete
(un sector + tipo de factura) y su estado final.Si algun paquete no quedo en VALIDATED, el message de la respuesta lo dice y podes
reintentar SOLO el envio con POST /api/v1/events/resend (no re-registra el evento).facturasSinMarcar mayor a cero significa que el paquete SI entro al SIAT pero algunas
facturas todavia no reflejan el estado nuevo en la consulta; el reconciliador las
actualiza solo en los minutos siguientes.
Repeticiones para certificar
Impuestos certifica la contingencia pidiendo ver N recepciones distintas del mismo
paquete. Para eso, repeticiones (1-10) en /events/end:
- El paquete se arma una sola vez y se envia N veces en la misma llamada. Cada envio
recibe su propio codigo de recepcion.
- A partir del segundo envio el SIAT contesta
[1000] EL CUF ENVIADO YA EXISTE EN LA BASE DE DATOS DEL SIN. Es lo esperado (el SIAT ya ingesto el paquete en el primero) y no
es un rechazo: el paquete queda VALIDATED si alguna repeticion valido.
- Las facturas se marcan una sola vez, al final.
repeticiones y repeticionesExitosas de cada paquete dicen cuantas se pidieron y
cuantas acepto el SIAT.
Usa repeticiones en el cierre, no en un /events/resend posterior: el resend vuelve
a armar el paquete con las facturas que siguen pendientes, asi que una vez que el
reconciliador las valida, las repeticiones llevarian menos facturas o ninguna.
En operacion normal no lo mandes: el default es 1.
Reenviar Paquete de un Evento
POST /api/v1/events/resend
Reenvia el paquete de facturas offline de un evento ya registrado en el SIAT, sin
re-registrar el evento. Es el reintento para cuando /events/end cerro el evento pero
algun paquete no entro.
Respuesta (200):
facturasDespues es cuantas siguen pendientes despues del reenvio: 0 es exito total.
Consultar Eventos
POST /api/v1/events
Evento Activo
GET /api/v1/events/active/{posId}
Obtiene el evento de contingencia activo (no finalizado) para un punto de venta.
Verificar Conexion SIAT
GET /api/v1/events/check-connection
Verifica si el SIAT esta respondiendo. Util para decidir si iniciar contingencia.