Hooks de ciclo de vida

Un hook se suscribe a un evento y ejecuta una de tus operaciones cuando se dispara. Cada entrega se almacena con su estado, así que una fallida puede encontrarse y reproducirse.

Los eventos

Los eventos de registro se disparan cuando un registro se crea, actualiza, elimina, publica o despublica. Otros eventos del proyecto cubren tus usuarios y sus sesiones, el resultado de una operación, las importaciones terminadas, las migraciones y los cambios masivos, y la vida de una organización, desde su creación hasta un cambio en sus miembros. Otro conjunto (membresía del equipo, plan, proyecto y cambios de invitación) se suscribe en el espacio de trabajo.

Declarar un hook

defineHook en la configuración nombra un evento y la clave de la operación que se ejecuta. Un filtro acota el hook por igualdad en las claves de primer nivel del evento, normalmente a un modelo. Un hook configurado en la consola también puede apuntar a una función integrada de notificación.

Qué lleva una entrega

Una entrega es un HTTP POST al endpoint de la operación. Se autentica con un token de corta duración en X-Foir-Token como cabecera, que verificas contra el JWKS de Fóir, y no hay cabecera de firma HMAC. El cuerpo dice qué cambió, por id de registro y clave de modelo, y no lleva contenido de campos. El receptor vuelve a leer el registro.

Seguimiento, reintentos y cola de mensajes fallidos

Cada entrega es una fila almacenada con un estado. foir hooks lista las entregas fallidas de un hook, reproduce una y envía una entrega sintética para probar un endpoint. Los reintentos y el circuit breaker pertenecen a la operación que ejecuta el hook. Una ejecución que agota sus reintentos termina en la cola de mensajes fallidos, donde puede inspeccionarse, reintentarse o descartarse.

Orden y bucles

El orden de entrega no está garantizado. Cada entrega lleva un número de secuencia, para que un receptor pueda aplicar last-write-wins, y un id de ejecución para descartar duplicados. Un hook que se activa a sí mismo no puede desbocarse: una operación que ya está en la cadena de causas no se vuelve a ejecutar, y una cadena se detiene a los tres saltos.

Lee el detalle

La guía de hooks de ciclo de vida cubre los eventos, cómo declarar un hook, y cómo inspeccionar y reproducir entregas.