Перейти к содержанию

Получение уведомлений через Webhook Endpoint#

Технология Webhook Endpoint позволяет выполнять получение входящих уведомлений непосредственно на ваш сервер.
Это означает, что сервер GREEN-API будет выполнять вызов метода, опубликованного на стороне вашего сервера.

Преимуществами данной технологии является максимально быстрое получение входящих уведомлений и высокая пропускная способность, ограниченная только скоростью обработки уведомлений на стороне вашего сервера.
К недостаткам можно отнести сложность реализации.

Сервер GREEN-API выполняет попытки доставки уведомлений с интервалом в 1 минуту. Поэтому для своевременного получения уведомлений необходимо, чтобы ваш сервер всегда был доступен для обработки входящих уведомлений.

Срок хранения входящих уведомлений в очереди составляет 24 часа.
Скорость отправки вебхуков составляет порядка 50 уведомлений в 1 секунду (20 мсек на 1 вебхук).

Настройка сервера#

Для получения входящих уведомлений по технологии Webhook Endpoint потребуется выполнить следующие шаги:

  • опубликовать IP-адрес в Интернете
  • реализовать логику обработки входящих уведомлений на указанный IP-адрес
  • если требуется для сервера, то установить Webhook URL Token

Публичный IP-адрес#

Для получения входящих уведомлений требуется наличие публичного IP-адреса (endpoint), который будет доступен из сети Интернет. Таким образом сервер GREEN-API сможет выполнить вызов вашего сервера по указанному адресу и передать входящее уведомление.

Наши публичные IP-адреса, с которых отправляются уведомления#

Вы можете указать следующие IP адреса, с которых приходят уведомления от нас, в настройках безопасности вашего сервера:

89.169.144.17
158.160.195.0
158.160.47.204

Обработка входящих уведомлений#

После получения входящего вызова на IP-адрес вашего сервера потребуется выполнить обработку полученного уведомления.

Настройка инстанса#

Перед получением входящих уведомлений требуется выполнить настройку инстанса. Настройка инстанса может быть выполнена программно с использованием метода SetSettings, либо интерактивно в интерфейсе личного кабинета.

Настройка методом SetSettings#

Для настройки получения входящих уведомлений по технологии Webhook Endpoint требуется указать в качестве параметра webhookUrl значение вашего IP-адреса или вашего доменного имени, и, если необходимо, webhookUrlToken для доступа на ваш сервер.
Например:

https://84.211.100.201:3000/green-api/webhook/

Также требуется указать какие виды уведомлений необходимо получать. Для включения входящих уведомлений по видам, а также для указания параметра webhookUrl и webhookUrlToken воспользуйтесь методом SetSettings.

Пример тела запроса метода SetSettings#

{
    "webhookUrl": "https://84.211.100.201:3000/green-api/webhook/",
    "webhookUrlToken": "dscnsdiuafkascndjhsalbcvatsvcbasn23rfregvfdg54tds",
    "outgoingWebhook": "yes",
    "stateWebhook": "yes",
    "incomingWebhook": "yes",
    "deviceWebhook": "no"
}

Настройка в личном кабинете#

  1. Перейдите в Личный кабинет
  2. Выберите инстанс, на котором необходимо изменить настройки
  3. Нажмите кнопку Изменить на панели инстанса
  4. Укажите значение параметра webhookUrl

    Если необходима авторизация на вашем вебхук сервере, укажите Webhook URL Token.

  5. Активируйте переключатели по необходимым видам уведомлений
  6. Нажмите на кнопку Сохранить изменения для применения настроек.

Получение входящих уведомлений#

После выполнения настройки инстанса можно приступать к получению уведомлений.

Отладка входящих уведомлений#

Для отладки входящих уведомлений можно использовать любой бесплатный сервис, например webhook.site.
Сервис выдает уникальный адрес (URL), который требуется установить в качестве значения параметра webhookUrl.

Подробное описание формата входящих уведомлений представлено в разделе Формат входящих уведомлений.