Catálogo de eventos
Todos los tipos de evento de la v1, agrupados por lo que le pasó al mundo.
enabled_events: ["*"] te suscribe a todo, incluidos los tipos que agreguemos después. Si listas
tipos explícitos, tendrás que actualizar la lista cuando quieras uno nuevo.
Ciclo de vida de un documento
| Evento | Se dispara cuando |
|---|---|
document.created | Facturia lo aceptó; folio asignado |
document.sent | Transmitido al SII; track_id conocido |
document.accepted | DOK del SII — el que más integraciones usan |
document.reparo | DNK del SII, o RPR/RLV de boletas |
document.rejected | Sobre o documento rechazado |
document.failed | No pudimos armarlo, firmarlo o transmitirlo |
document.annulled | Una nota de crédito lo anuló |
Recepción
| Evento | Se dispara cuando |
|---|---|
received_document.created | Llegó un DTE de proveedor (por intercambio o por reconciliación con el RCV) |
received_document.deadline_approaching | Quedan 2 días de la ventana de 8 y sigue en pending |
received_document.accepted | Se registró una aceptación (tuya o de una automatización) |
received_document.rejected | Se registró un reclamo |
received_document.receipt_acknowledged | Se otorgó el recibo de mercaderías |
`received_document.deadline_approaching` es el evento que más plata ahorra
Es el aviso de que quedan dos días de la ventana de 8 días para objetar una factura de proveedor. Pasado el día 8, el silencio ya aceptó. Ver La ventana de 8 días.
Empresa y operación
| Evento | Se dispara cuando |
|---|---|
empresa.onboarding.updated | Cualquier transición de la puesta en marcha |
empresa.onboarding.action_required | Un paso humano está bloqueando |
empresa.onboarding.completed | La empresa llegó a emitting |
empresa.suspended | Venció el certificado o se revocó el mandato |
certificate.expiring | 30, 14 y 3 días antes del vencimiento |
certificate.expired | Al vencer |
folios.low | Bajo el umbral de un tipo |
folios.exhausted | Ya no hay folios: la emisión está fallando |
folios.replenished | Llegó un CAF nuevo |
webhook_endpoint.disabled | Auto-apagado tras 5 días de falla sostenida |
connection.linked | El feed de Fintoc quedó activo |
connection.sync_succeeded | Sincronización de movimientos completada |
connection.sync_failed | Sincronización fallida |
connection.requires_relink | El feed necesita que la persona reconecte |
api_key.created | Se minteó una llave (lleva el id de la llave minteadora) |
api_key.rolled | Se rotó una llave |
api_key.revoked | Se revocó una llave |
Impuestos
| Evento | Se dispara cuando |
|---|---|
tax.rcv.synced | Terminó una sincronización del RCV (con bandera changed) |
tax.f29.proposal.ready | La propuesta de un período ya es calculable |
tax.f29.proposal.updated | La propuesta cambió |
tax.f29.review_required | Hay observaciones con severity: error; la declaración automática queda suprimida |
tax.f29.filing.submitted | La declaración se envió al SII |
tax.f29.filing.succeeded | El SII la aceptó |
tax.f29.filing.rejected | El SII la rechazó |
tax.f29.filing.failed | No pudimos completar el envío |
tax.suggestion.created | Apareció una sugerencia |
tax.suggestion.auto_confirmed | Una automatización actuó sobre una sugerencia |
tax.statement.imported | Terminó una carga de cartola; el result del job trae los conteos |
Qué escuchar, según lo que estés construyendo
| Si estás construyendo | Escucha |
|---|---|
| Facturación de un SaaS | document.accepted, document.rejected, document.failed |
| Cuentas por pagar | received_document.created, received_document.deadline_approaching |
| Un asistente de onboarding | empresa.onboarding.updated, empresa.onboarding.action_required |
| Operación desatendida | folios.low, certificate.expiring, connection.requires_relink, webhook_endpoint.disabled |
| Cierre tributario | tax.rcv.synced, tax.f29.proposal.ready, tax.f29.review_required |
Entrega, reintentos y replay
El calendario de reintentos con jitter, el auto-apagado a los 5 días, y por qué el libro de eventos vive 12 meses.
Conectar un agente
mcp.facturia.cl — el mismo motor, otra puerta de entrada. Cómo conectar Claude, qué pasa en el OAuth y por qué un grant de sandbox es un límite duro.