Skip to main content

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:

  1. Contacta a nuestro equipo a través de:

  2. 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

CampoTipoDescripción
idstringID único de la llamada
startedAtstringFecha y hora de inicio de la llamada en ISO 8601
messagesarrayTranscripción completa de la conversación
durationSecondsintegerDuración total de la llamada en segundos
detailsURLstringURL para ver detalles de la llamada en el dashboard
recordingUrlstringURL para descargar la grabación de audio
analysis.successEvaluationbooleanSi el criterio de éxito se cumplió o no
analysis.structuredDataobjectVariables 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

CampoTipoDescripción
customer.namestringNombre del cliente
customer.phoneNumberstringNúmero telefónico del cliente
variableValuesobjectVariables de entrada proporcionadas para la sesión
totalAttemptsintegerNúmero total de intentos de marcación
endedReasonstringRazón de finalización (transfered-call, user-not-contacted, user-contacted)
analysis.successEvaluationbooleanSi el criterio de éxito se cumplió o no
analysis.structuredDataobjectVariables de salida y sus respectivos valores