Contingencia y Eventos
Cuando el SIAT no está disponible, se abre un evento significativo para seguir emitiendo facturas offline; al reconectar se cierra el evento y se reenvía el paquete al SIAT. Estas 7 herramientas cubren todo el ciclo.abrirEvento
Abre un evento de contingencia para un POS y habilita la emisión OFFLINE.
Motivos SIAT 1-7 (5/6/7 = facturación manual, admiten fecha retroactiva).
cerrarEvento
Cierra el evento: POS vuelve online, regenera CUFD, registra en SIAT
y reenvía el paquete de facturas offline. Idempotente y reintentable.
reenviarPaqueteEvento
Reenvía el paquete de un evento YA registrado en SIAT, sin re-registrarlo.
Destraba facturas que quedaron en
OFFLINE_PENDING.resellarFacturasEvento
Re-sella al CUFD del evento las facturas offline “muertas” (CUFD distinto)
y reenvía el paquete. El número no cambia; el CUF/QR sí.
consultarEventosSiat
Consulta en SIAT los eventos significativos registrados para un POS
en una fecha dada.
obtenerEventoActivo
Obtiene el evento de contingencia ACTIVO (no finalizado) de un POS,
si existe.
verificarConexionSiat
Verifica la conexión con todos los servicios SIAT. Útil antes de
emitir o de cerrar una contingencia.
abrirEvento \
Abre un evento significativo (contingencia) para un punto de venta, habilitando la emisión OFFLINE.| Parámetro | Tipo | Requerido | Descripción |
|---|---|---|---|
posId | String | Sí | UUID del punto de venta |
codigoMotivo | int | Sí | Motivo SIAT (1-7). 1 Corte de Internet, 2 Inaccesibilidad SIN, 3 Zona sin internet, 4 Venta en lugar sin internet, 5 Virus/falla software, 6 Falla hardware/infraestructura, 7 Corte de energía |
descripcion | String | Sí | Descripción del motivo de la contingencia |
fechaInicio | String | No | Solo motivos 5/6/7 (facturación manual): fecha/hora ISO-8601 retroactiva en que empezó la facturación manual. Omitir para eventos en tiempo real |
Los motivos
5/6/7 son de facturación manual (talonario de papel) y admiten fechaInicio
retroactiva: el sistema usa el CUFD vigente en esa fecha en vez del actual.“Abre una contingencia en el POS 660e… por corte de internet”
cerrarEvento \
Cierra un evento significativo: finaliza la contingencia (el POS vuelve online), regenera el CUFD, registra el evento en SIAT y reenvía el paquete de facturas offline. Idempotente y reintentable.| Parámetro | Tipo | Requerido | Descripción |
|---|---|---|---|
posId | String | Sí | UUID del punto de venta |
eventoId | String | Sí | UUID del evento a cerrar |
fechaFin | String | No | Cierre retroactivo: fecha/hora ISO-8601 en que terminó la facturación manual (posterior al inicio). Omitir para usar la fecha/hora actual |
“Cierra el evento de contingencia abc123 del POS 660e…”
reenviarPaqueteEvento \
Reenvía el paquete de facturas offline de un evento ya registrado en SIAT, sin re-registrar el evento. Destraba eventos cuyo paquete falló al cerrar y dejó facturas enOFFLINE_PENDING.
| Parámetro | Tipo | Requerido | Descripción |
|---|---|---|---|
posId | String | Sí | UUID del punto de venta |
eventoId | String | Sí | UUID del evento |
“Reenvía el paquete del evento abc123”
resellarFacturasEvento \
Re-sella al CUFD del evento las facturas offline “muertas” (emitidas con un CUFD distinto al del evento, que SIAT no valida en el paquete y quedan en estado901) y reenvía el paquete. El evento debe estar registrado en SIAT. El número de factura no cambia; el CUF/QR sí.
| Parámetro | Tipo | Requerido | Descripción |
|---|---|---|---|
posId | String | Sí | UUID del punto de venta |
eventoId | String | Sí | UUID del evento |
“Resella las facturas del evento abc123 y reenvía el paquete”
consultarEventosSiat \
Consulta en SIAT los eventos significativos registrados para un punto de venta en una fecha dada.| Parámetro | Tipo | Requerido | Descripción |
|---|---|---|---|
posId | String | Sí | UUID del punto de venta |
fechaEvento | String | Sí | Fecha del evento (YYYY-MM-DD) |
“Qué eventos tiene registrados en SIAT el POS 660e… el 2026-07-01”
obtenerEventoActivo \
Obtiene el evento de contingencia ACTIVO (no finalizado) de un punto de venta, si existe.| Parámetro | Tipo | Requerido | Descripción |
|---|---|---|---|
posId | String | Sí | UUID del punto de venta |
“¿Hay una contingencia activa en el POS 660e…?”
verificarConexionSiat \
Verifica la conexión con todos los servicios SIAT (códigos y operaciones). Útil para diagnosticar si SIAT está disponible antes de emitir o de cerrar una contingencia.| Parámetro | Tipo | Requerido | Descripción |
|---|---|---|---|
| (ninguno) | - | - | No requiere parámetros |
“¿Está disponible el SIAT ahora mismo?”