Saltar al contenido
Falmus

Finalizar contingencia

POST/api/v1/contingencias/:contingenciaId/finalizar

Finaliza la contingencia identificada por contingenciaId en el alcance de la clave API y registra el evento significativo ante el SIAT. Requiere X-API-Key con facturas.crear y no recibe cuerpo.

Header requerido X-API-KeyVer operaciones de Contingencias

Contrato de la operación

Finaliza la contingencia identificada por contingenciaId en el alcance de la clave API y registra el evento significativo ante el SIAT. Requiere X-API-Key con facturas.crear y no recibe cuerpo.

El evento debe pertenecer a la empresa de la clave, al ambiente de la clave y encontrarse en estado activo. El servidor persiste primero el estado finalizando, obtiene CUIS, CUFD vigente, CUFD del inicio, NIT, ambiente y fechas, registra el evento mediante FacturacionOperaciones y luego persiste el código oficial como codigoEventoSiat. Un bloqueo distribuido por punto de venta serializa este paso con la emisión y con otras solicitudes de finalización.

Las fechas se conservan como instantes con zona horaria en Falmus. Al registrar el evento, el adaptador las convierte a hora de Bolivia (UTC-04:00) y el SDK las serializa en formato SIAT con milisegundos y sin zona horaria, evitando desplazar el rango cuatro horas.

El CUFD del evento identifica las facturas offline y se conserva aunque haya vencido. Para registrar el cierre y enviar los paquetes se usa un CUFD vigente; si todavía coincide con el del evento, el backend solicita otro y vuelve a cargar el CUIS antes del registro. Durante el corte, la emisión usa el CUFD guardado del evento y no solicita códigos nuevos al SIAT.

En pruebas, antes del cierre se recupera automáticamente una asociación histórica incoherente únicamente si todas las facturas siguen en pendiente_envio, usan un mismo CUFD en el mismo punto/ambiente/modalidad y sus XML, hashes, números, CUF y fechas coinciden. La recup...

Ejemplo

Solicitud de ejemplo

Clave ficticia; no se ejecuta desde esta página
cURL · POST
export FALMUS_API_URL='https://staging-api.falmus.com/api/v1'
export FALMUS_API_KEY='flm_test_REEMPLAZA_CON_TU_CLAVE'
export CONTINGENCIA_ID='REEMPLAZA_CON_CONTINGENCIA_ID'

curl --request POST \
  --url "$FALMUS_API_URL/contingencias/${CONTINGENCIA_ID}/finalizar" \
  --header "X-API-Key: $FALMUS_API_KEY"

Este ejemplo no incluye un cuerpo. Revisa el contrato para conocer los parámetros de ruta y consulta.

Respuesta

Ejemplo de respuesta

200 OKapplication/json
JSON
{
  "message": "contingencia finalizada correctamente",
  "data": {
    "id": "00000000-0000-4000-8000-000000000001",
    "puntoVentaId": "00000000-0000-4000-8000-000000000002",
    "codigoMotivoEvento": 1,
    "descripcion": "Interrupción temporal del servicio de internet",
    "codigoEventoSiat": 987,
    "estado": "finalizado",
    "fechaHoraInicio": "2026-09-02T10:00:00Z",
    "fechaHoraFin": "2026-09-02T12:00:00Z",
    "creadoEn": "2026-09-02T10:00:00Z",
    "actualizadoEn": "2026-09-02T12:00:00Z",
    "paquetes": [
      {
        "numeroPaquete": 1,
        "estado": "aceptado",
        "codigoEstado": 908,
        "codigoRecepcion": "00000000-0000-4000-8000-000000000010",
        "mensajesValidacion": [],
        "actualizadoEn": "2026-09-02T12:00:00Z"
      }
    ]
  }
}

Datos ficticios; los identificadores y valores cambian en cada respuesta.