Las notificaciones de telefonía se entregan por el mismo mecanismo de webhooks
que el resto de los eventos del workspace. Esta página es el camino corto para
el caso más común; el contrato completo —firma, reintentos, entregas— está en
Webhooks.
1 · Crea el webhook
Requiere el scope
webhooks:write y el header
X-Workspace-Id. La URL debe ser HTTPS.id del webhook —un UUID— que se usa en el siguiente paso.
2 · Suscríbete a los eventos de llamada
Cada evento se suscribe por separado, con sueventKey:
eventKey disponibles al día, consulta el catálogo:
GET /v1/catalogs/items?filter=eq(type,%22webhook_event%22).
3 · Recibe el evento
Esto es lo que llega a tu endpoint cuando termina una llamada:outputVariables, y las que se le pasaron al iniciar la llamada en variables.
result.goal es un objeto, no una cadena: el booleano achieved dice si se
cumplió el objetivo de la llamada y reason lo explica en prosa. Compara contra
payload.result.goal.achieved.
4 · Verifica la firma
Cada entrega incluye dos headers:x-timestamp con la marca ISO-8601 y
x-signature con el HMAC-SHA256, en base64, de la cadena
{timestamp}.{cuerpo crudo} usando el secreto del webhook.
Esto vale para un webhook
POST, que es el valor por defecto. Si lo creas con
method: 'GET' no hay cuerpo —el evento viaja como query string— y la firma se
calcula sobre la URL completa; el detalle está en
Webhooks.5 · Depura lo que no llegó
Cada intento de entrega queda registrado, con su código de respuesta y su cuerpo:isActive: true.