Обзор webhook api: интеграция и автоматизация

Вебхуки

Используйте вебхуки, чтобы мгновенно получать события сообщений в своей системе.

Доступно два типа вебхуков:

  1. Вебхук статуса доставки для исходящих сообщений.
  2. Вебхук входящих сообщений для SMS и других поддерживаемых каналов.

1. Вебхук статуса доставки

Настройте этот вебхук в параметрах устройства, чтобы получать обновления статуса без опроса API.

{
  "sms_id": int,
  "status_id": int,
  "status_message": string,
  "sendto": string,
  "senttime": datetime,
  "channel_id": int,
  "device_id": int
}
  • 1 - Ожидающие SMS
  • 2 - SMS, взятые телефоном
  • 3 - В очереди на отправку. 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
  • 6 - SMS отправлены телефоном
  • 7 - SMS доставлена
  • 8 - SMS НЕ доставлена
  • 9 - SMS вообще не отправлена — Generic Failure. (Прочитайте, что делать с этой ошибкой здесь)
  • Другие, более редкие ошибки:
  • 10 - SMS не отправлена - No Service
  • 11 - SMS не отправлена - Null PDU
  • 12 - SMS не отправлена - Radio Off
  • 100, 101 - SMS не отправлена - NOT ALLOWED. (Приложению не выданы разрешения на отправку SMS)

2. Вебхук входящих сообщений

Настройте этот вебхук, чтобы пересылать входящие сообщения в CRM, службу поддержки или бэкенд.

В полезной нагрузке есть поле «type», которое указывает, является ли входящее сообщение текстом или изображением (например, из WhatsApp).

Текстовое сообщение (type = «text»)

Отправляется для входящих SMS и входящих текстовых сообщений из 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"
}

Сообщение с изображением (type = «img»)

Отправляется для входящих изображений из WhatsApp / WhatsApp Business. Изображение уже загружено в наше хранилище S3 — вашему бэкенду нужно лишь сохранить URL, скачивать и перезаливать файл не требуется.

{
  "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/..."
}

Примечания:

  • «img_url» — постоянная публичная ссылка на изображение в нашем S3-бакете.
  • У сообщений с изображением «body» пустой, а «internal_id» равен null — используйте «sms_id» как уникальный идентификатор.
  • URL вебхука берётся из той же настройки слота канала, что и для текстовых сообщений (WhatsApp = слот 3, WhatsApp Business = слот 2).
Доступность вебхуков зависит от вашего тарифа подписки.