Webhooks
Los webhooks te permiten recibir notificaciones en tiempo real sobre eventos importantes que ocurren en tus llamadas. Actualmente, para configurar tu webhook es necesario contactar con nuestro equipo de soporte.
📋 Configuración
Para configurar un webhook en tu cuenta:
-
Contacta a nuestro equipo a través de:
- Email: support@fonema.ai
-
Proporciona la siguiente información:
- URL de tu endpoint para recibir webhooks
- Agente que se desea monitorear.
Evento: Fin de Llamada
Se activa cuando finaliza cualquier llamada, independientemente del intento.
Payload
{
"id": "cHYqKdGz25Rq",
"startedAt": "2024-09-24T18:20:22.724Z",
"messages": [{
"role": "system",
"message": "You are a helpful assistant"
}, {
"role": "agent",
"message": "Hello"
}, {
"role": "user",
"message": "Hi"
}],
"durationSeconds": 15,
"detailsURL": "https://fonema.ai/shareable/cHYqKdGz25Rq",
"recordingUrl": "https://fonema.ai/api/v1/storage/calls/cHYqKdGz25Rq.mp3",
"analysis": {
"successEvaluation": true,
"structuredData": {
"myData": "myValueFromCall"
}
}
}
Campos Principales
| Campo | Tipo | Descripción |
|---|---|---|
id | string | ID único de la llamada |
startedAt | string | Fecha y hora de inicio de la llamada en ISO 8601 |
messages | array | Transcripción completa de la conversación |
durationSeconds | integer | Duración total de la llamada en segundos |
detailsURL | string | URL para ver detalles de la llamada en el dashboard |
recordingUrl | string | URL para descargar la grabación de audio |
analysis.successEvaluation | boolean | Si el criterio de éxito se cumplió o no |
analysis.structuredData | object | Variables de salida y sus respectivos valores |
Detalles de los Mensajes
El campo messages contiene la transcripción completa de la conversación:
role: Rol del participante (system,agent,user)message: Contenido del mensaje
Evento: Fin de Sesión
Se activa cuando terminan todos los reintentos de marcación a un cliente.
Payload
{
"customer": {
"name": "Name",
"phoneNumber": "+525581354511"
},
"variableValues": {
"myVar": "myVariable"
},
"totalAttempts": 3,
"endedReason": "transfered-call | user-not-contacted | user-contacted",
"analysis": {
"successEvaluation": true,
"structuredData": {
"myData": "myValueFromCall"
}
}
}
Campos Principales
| Campo | Tipo | Descripción |
|---|---|---|
customer.name | string | Nombre del cliente |
customer.phoneNumber | string | Número telefónico del cliente |
variableValues | object | Variables de entrada proporcionadas para la sesión |
totalAttempts | integer | Número total de intentos de marcación |
endedReason | string | Razón de finalización (transfered-call, user-not-contacted, user-contacted) |
analysis.successEvaluation | boolean | Si el criterio de éxito se cumplió o no |
analysis.structuredData | object | Variables de salida y sus respectivos valores |