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

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

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

Сервер GREEN-API выполняет попытки доставки уведомлений с интервалом в 1 минуту. Поэтому, настраивайте свой сервер таким образом, чтобы он всегда был доступен для обработки входящих уведомлений, либо воспользуйтесь технологией Получение уведомлений через HTTP API. Доставка входящих уведомлений гарантируется в течение 24 часов. Скорость отправки вебхуков составляет порядка 50 уведомлений в 1 секунду (20 мсек на 1 вебхук).

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

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

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

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

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

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

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

46.101.109.139
51.250.12.167
51.250.84.44
51.250.95.149
89.169.137.216
158.160.49.84
165.22.93.202
167.172.162.71
104.248.252.93

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

После получения входящего вызова на 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"
}

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

Настройку получения входящих уведомлений можно также выполнить интерактивно. Для этого перейдите в Личный кабинет и выберите требуемый инстанс. Если инстанс авторизован, то будут отображены настройки для получения входящих уведомлений см. рис. Укажите значение параметра webhookUrl, а также переключатели по видам уведомлений и, если необходима авторизация на вашем вебхук сервере, Webhook URL Token. Если инстанс не авторизован и настройки уведомлений не отображаются, обратитесь к разделу Перед началом работы.

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

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

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

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

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