Webhooks de Llamadas Entrantes

Webhooks de Llamadas Entrantes

Los webhooks de llamadas entrantes permiten que tu aplicación reciba notificaciones en tiempo real cada vez que se recibe una llamada en tus números de cliente. Esto te permite procesar, enrutar, registrar o gestionar las llamadas de manera programática a medida que llegan.

Cómo Funciona

  1. Registra una URL de webhook en tu cuenta.

  2. Cada llamada entrante a tus números de cliente dispara una solicitud POST a la URL configurada.

  3. Tu servidor debe responder con HTTP 200 OK dentro de 5 segundos para confirmar la recepción.

Importante: La URL del webhook debe ser HTTPS y accesible públicamente desde Internet.


Registrar una URL de Webhook

Endpoint:

 
POST https://api.zonitel.com/api/v3/calls/webhooks Content-Type: application/json X-Client-Id: 550e8400-e29b-41d4-a716-446655440000 Authorization: Bearer <TU_ACCESS_TOKEN>

Cuerpo de la solicitud (JSON):

 
{ "url": "https://tudominio.com/api/inbound-calls" }

Notas:

  • La URL debe ser HTTPS y accesible públicamente.

  • Debe responder con HTTP 200 OK en menos de 5 segundos.

Ejemplo de respuesta exitosa (200 OK):

 
{ "status": "success", "data": { "url": "https://tudominio.com/api/inbound-calls" }, "message": "Webhook actualizado correctamente" }

Consultar Webhook Registrado

Endpoint:

 
GET https://api.zonitel.com/api/v3/calls/webhooks X-Client-Id: 550e8400-e29b-41d4-a716-446655440000 Authorization: Bearer <TU_ACCESS_TOKEN>

Ejemplo de respuesta (200 OK):

 
{ "status": "success", "data": { "url": "https://tudominio.com/api/inbound-calls" }, "message": "Webhook obtenido correctamente" }

Ejemplo de Payload del Webhook

Cuando se recibe una llamada entrante, tu endpoint de webhook recibirá una solicitud POST con un payload JSON como este:

 
{ "caller_id_name": "John Doe", "caller_id_number": "+14155552671", "destination_number": "+18339664835" }

Campos del Payload:

  • caller_id_name: Nombre del llamante (si está disponible).

  • caller_id_number: Número de teléfono del llamante.

  • destination_number: Número de cliente que recibe la llamada.


Respuestas Comunes de Error

  • 401 Unauthorized

 
{ "code": 401, "message": "Autenticación requerida" }
  • 403 Forbidden

 
{ "code": 403, "message": "Acceso denegado" }
  • 404 Not Found

 
{ "code": 404, "message": "No hay URL de webhook configurada." }
  • 500 Internal Server Error

 
{ "code": 500, "message": "Ocurrió un error interno del servidor" }

Buenas Prácticas

  • Usa siempre HTTPS para tus URLs de webhook.

  • Responde con HTTP 200 OK dentro de 5 segundos para confirmar la recepción del evento.

  • Mantén tu token Bearer seguro y no lo compartas públicamente.

  • Asegúrate de que tu endpoint pueda manejar múltiples llamadas concurrentes.

¿Te ha sido útil este artículo?

¿Aún tienes preguntas?

Nuestro equipo de soporte está disponible 24/7 para ayudarte a comenzar

Habla con nosotros en WhatsApp