Webhooks de SMS

Webhooks de SMS

Los webhooks de SMS permiten que tu aplicación reciba notificaciones en tiempo real sobre eventos de SMS, como actualizaciones de estado de entrega o mensajes entrantes. Esto facilita la automatización, el seguimiento y el procesamiento instantáneo de los SMS.

Cómo Funciona

  1. Registra una URL de webhook en tu cuenta.

  2. Cada vez que se envíe, entregue, falle un SMS o se reciba un mensaje entrante, Zonitel enviará una solicitud POST a tu URL de webhook.

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

Importante: Las solicitudes utilizan Bearer Authentication. Incluye tu token de acceso en el header Authorization.


Registrar un Webhook

Endpoint:

 
PUT https://api.zonitel.com/api/v3/integrations/sms/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/sms-webhook" }

Notas:

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

  • Tu servidor debe responder dentro de 5 segundos con HTTP 200 OK.

Ejemplo de respuesta exitosa:

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

Consultar Webhook Registrado

Endpoint:

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

Ejemplo de respuesta:

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

Notificaciones de Webhook

Notificación de SMS entrante

 
{ "status": "received", "data": { "id": "11111111-aaaa-2222-bbbb-333333333333", "segments": 1, "direction": "inbound", "messageText": "Hola, este es un SMS de prueba", "from": "+10000000010", "to": "+10000000020", "medias": [] }, "message": "SMS recibido correctamente" }

Notificación de estado de mensaje (saliente)

 
{ "status": "delivered", "data": { "id": "44444444-cccc-5555-dddd-666666666666", "segments": 1, "direction": "outbound", "messageText": "SMS de prueba con media", "from": "+10000000020", "to": "+10000000030", "medias": [ "https://example.com/media1.jpg" ] }, "message": "SMS entregado correctamente" }

Respuestas Comunes de Error

  • 401 Unauthorized

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

 
{ "code": 403, "message": "Acceso denegado" }
  • 400 Bad Request

 
{ "code": 400, "message": "Parámetros de solicitud inválidos" }
  • 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.

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

  • Revisa periódicamente que tus webhooks estén funcionando correctamente.

¿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