Webhooks
Recibe avisos cuando algo ocurre en tu cuenta.
Agrega un endpoint en tu panel, en Equipo → Webhooks, y Upsky le enviará los
eventos con POST en cuanto ocurran. Cada endpoint es de modo de prueba o real
y solo recibe los eventos de ese modo.
{
"id": "6b2c9f3e-1a4d-4e5f-9b8a-7c6d5e4f3a2b",
"object": "event",
"type": "verify.session.approved",
"livemode": false,
"created_at": "2026-11-12T10:01:38Z",
"data": { "object": { "object": "verify.session", "id": "…", "status": "approved" } }
}Comprueba la firma
Las entregas siguen el formato Standard Webhooks
y van firmadas con el secreto de tu endpoint (whsec_…). Cada solicitud trae los
encabezados webhook-id, webhook-timestamp y webhook-signature. Revísalos con
cualquier librería de Standard Webhooks antes de confiar en el contenido:
import { Webhook } from "standardwebhooks"
const event = new Webhook(process.env.UPSKY_WEBHOOK_SECRET).verify(
rawBody,
headers
)Responde rápido
Devuelve un 2xx en menos de 10 segundos y haz el trabajo lento en segundo
plano. Una entrega fallida se reintenta con espera creciente hasta por dos días,
así que el mismo evento puede llegar más de una vez. Usa id para ignorar
duplicados.
Eventos
| Evento | Se envía cuando |
|---|---|
verify.session.approved | Una verificación pasó, o se aprobó en revisión |
verify.session.rejected | Una verificación falló, o se rechazó en revisión |
verify.session.needs_review | Una verificación necesita que una persona decida |
verify.session.expired | Un enlace no se terminó a tiempo |
verify.session.canceled | Una verificación se canceló |
verify.session.redacted | Se borraron los datos de una verificación |
Los eventos traen la sesión sin los datos leídos de la identificación. Consulta la sesión con la API para obtenerlos.