Resumen de la api de webhooks: integración y automatización

Webhooks

Use webhooks para recibir los eventos de mensajes de inmediato en su sistema.

Hay dos tipos de webhook disponibles:

  1. Webhook del estado de entrega para mensajes salientes.
  2. Webhook de mensajes entrantes para SMS y otros canales compatibles.

1. Webhook del estado de entrega

Configure este webhook en los ajustes del dispositivo para recibir actualizaciones de estado sin consultar la API.

{
  "sms_id": int,
  "status_id": int,
  "status_message": string,
  "sendto": string,
  "senttime": datetime,
  "channel_id": int,
  "device_id": int
}
  • 1 - SMS pendientes
  • 2 - SMS recogidos por el teléfono
  • 3 - En cola para el envío. Certainly, it would have been more logical to place the status "queued for sending" before "SMS taken by phone," but for backward compatibility, the statuses are in the following order: 1, 3, 2."
  • 5 - SMS entrantes
  • 6 - SMS enviados por el teléfono
  • 7 - El SMS se ha entregado
  • 8 - El SMS NO se ha entregado
  • 9 - El SMS no se ha enviado en absoluto: Generic Failure. (Lea qué hacer con este error aquí)
  • Otros errores menos frecuentes:
  • 10 - SMS no enviado - No Service
  • 11 - SMS no enviado - Null PDU
  • 12 - SMS no enviado - Radio Off
  • 100, 101 - SMS no enviado - NOT ALLOWED. (No se han concedido a la aplicación los permisos para enviar SMS)

2. Webhook de mensajes entrantes

Configure este webhook para reenviar los mensajes entrantes a su CRM, helpdesk o backend.

La carga incluye un campo "type" que indica si el mensaje entrante es un texto o una imagen (p. ej., de WhatsApp).

Mensaje de texto (type = "text")

Se envía para los SMS entrantes y los mensajes de texto entrantes de WhatsApp / WhatsApp Business / RCS.

{
  "address": string,
  "date": datetime,
  "date_sent": datetime,
  "body": string,
  "internal_id": int,
  "channel_id": int,
  "sms_id": int,
  "device_id": int,
  "device_name": string,
  "type": "text"
}

Mensaje con imagen (type = "img")

Se envía para las imágenes entrantes de WhatsApp / WhatsApp Business. La imagen ya está subida a nuestro almacenamiento S3: su backend solo tiene que guardar la URL, sin necesidad de descargar y volver a subir el archivo.

{
  "address": string,
  "date": datetime,
  "date_sent": datetime,
  "body": "",
  "internal_id": null,
  "sim": int,
  "sms_id": int,
  "type": "img",
  "img_url": "https://smsgateway24.s3.eu-central-1.amazonaws.com/..."
}

Notas:

  • "img_url" es un enlace público permanente a la imagen almacenada en nuestro bucket de S3.
  • En los mensajes con imagen, "body" está vacío e "internal_id" es null: use "sms_id" como identificador único.
  • La URL del webhook se toma del mismo ajuste de ranura de canal que los mensajes de texto (WhatsApp = ranura 3, WhatsApp Business = ranura 2).
La disponibilidad de los webhooks depende de su plan de suscripción.