Eventos
Consultar Webhooks
Lista todos los webhooks configurados en la instancia o retorna uno solo por label
GET
Consultar Webhooks
Auth:
Tabla
TokenAccount o TokenInstance • Rate limit: Global (100/min) • Idempotente: sí
Descripción
Endpoint de lectura. Sin query, retorna todos los webhooks (habilitados y deshabilitados) de la instancia. Con?label=<name>, retorna el único webhook con ese label (o 404).
Ejemplos
Listar todos
Sin query string, retorna el arraywebhooks[] con todos los webhooks de la instancia (habilitados y deshabilitados), ordenados alfabéticamente por label.
Uno específico
Pasando?label=analytics-pipeline, retorna solo el webhook con ese label en el campo webhook del envoltorio (o 404 si no existe).
Default explícito
Obtiene el webhook default pasando?label=default. Útil cuando creaste el webhook sin especificar un label y quieres leer solo esa entrada en lugar de la lista completa.
Respuesta exitosa
Sin?label=, retorna webhooks[] (ordenados alfabéticamente por label, siempre presente, regresa como [] si no existe ningún webhook, y también incluye los que tienen enabled=false para inspección operacional). Con ?label=<name>, retorna el objeto único en webhook (misma forma que POST). El authorization se descifra cuando ENCRYPTION_KEY está configurado; si la clave fue rotada y algún valor no puede descifrarse, el campo se retorna cifrado en lugar de fallar la solicitud.
200 OK (list, no ?label=)
200 OK (?label=analytics-pipeline)
array
Presente solo cuando no hay
?label=. Ordenado alfabéticamente por label. Siempre se retorna incluso cuando no existe ningún webhook (webhooks: []).object
Presente solo cuando se usa
?label=<name>. Misma forma que POST.Parámetros de ruta
string
requerido
Nombre de la instancia.
Cabeceras
string
requerido
TokenAccount o TokenInstance.Parámetros de consulta
string
Cuando está presente, retorna un único webhook (
webhook en el envoltorio). Cuando está ausente, retorna la lista (webhooks[]).Pasar ?label= (vacío) sigue considerándose “presente” → se convierte en "default" y busca la fila con ese label.- El listado incluye
enabled=false, los operadores ven el historial completo. Para listar solo los activos, filtra del lado del cliente porw.enabled === true. authorizationdescifrado: siENCRYPTION_KEYestá configurado y el valor está cifrado en reposo, el repositorio lo descifra antes de retornar. Si la clave fue rotada y un valor no puede descifrarse, el campo se retorna cifrado (con una advertencia en el log) en lugar de fallar la solicitud.
Entrega: cola, retry, DLQ
La entrega del webhook es asíncrona y persistida. Cada evento que coincide con un webhook se encola enwebhook_queue y es procesado por workers paralelos.
Flujo
Backoff exponencial
Después de
max_attempts (default 5), status se vuelve failed (DLQ). La fila no se elimina automáticamente, los operadores pueden inspeccionar last_error y reencolar manualmente (UPDATE webhook_queue SET status='pending', next_retry_at=now()).
Tabla webhook_queue (resumen ops)
Cabeceras entregadas
CadaPOST a tu webhook llega con:
Errores
Envoltorio:
Siguiente
Configurar webhook
POST /api/events/webhook/:instanceCatálogo de eventos
Esquemas de los 6 tipos de eventos.