Получение уведомлений через Webhook Endpoint#
Технология Webhook Endpoint позволяет выполнять получение входящих уведомлений непосредственно на ваш сервер. Это означает, что сервер GREEN-API будет выполнять вызов метода, опубликованного на стороне вашего сервера. Преимуществами данной технологии является максимально быстрое получение входящих уведомлений и высокая пропускная способность, ограниченная только скоростью обработки уведомлений на стороне вашего сервера. К недостаткам можно отнести сложность реализации.
Сервер GREEN-API выполняет попытки доставки уведомлений с интервалом в 1 минуту. Поэтому, настраивайте свой сервер таким образом, чтобы он всегда был доступен для обработки входящих уведомлений, либо воспользуйтесь технологией Получение уведомлений через HTTP API. Доставка входящих уведомлений гарантируется в течение 24 часов.
Настройка сервера#
Для получения входящих уведомлений по технологии Webhook Endpoint потребуется выполнить следующие шаги:
- опубликовать IP-адрес в Интернете
- реализовать логику обработки входящих уведомлений на указанный IP-адрес
- если требуется для сервера, то установить Webhook URL Token
Публичный IP-адрес#
Для получения входящих уведомлений требуется наличие публичного IP-адреса (endpoint), который будет доступен из сети Интернет. Таким образом сервер GREEN-API сможет выполнить вызов вашего сервера по указанному адресу и передать входящее уведомление.
Наши публичные IP-адреса, с которых отправляются уведомления#
Вы можете указать следующие IP адреса, с которых приходят уведомления от нас, в настройках безопасности вашего сервера:
51.250.84.44
51.250.94.65
51.250.91.13
51.250.93.251
51.250.76.115
51.250.69.65
51.250.68.181
51.250.69.45
51.250.74.200
51.250.87.205
51.250.89.177
64.226.125.75
158.160.49.84
Обработка входящих уведомлений#
Настройка аккаунта#
Перед получением входящих уведомлений требуется выполнить настройку аккаунта. Настройка аккаунта может быть выполнена программно с использованием метода SetSettings, либо интерактивно в интерфейсе личного кабинета.
Настройка методом SetSettings#
Для настройки получения входящих уведомлений по технологии Webhook Endpoint требуется указать в качестве параметра webhookUrl
значение вашего IP-адреса или вашего доменного имени, и, если необходимо, webhookUrlToken
для доступа на ваш сервер. Например:
https://84.211.100.201:3000/GREEN-API/webhook/
Также требуется указать какие виды уведомлений необходимо получать. Для включения входящих уведомлений по видам, а также для указания параметра webhookUrl
и webhookUrlToken
воспользуйтесь методом SetSettings.
Пример тела запроса метода SetSettings#
{
"outgoingWebhook": "yes",
"incomingWebhook": "yes"
}
Настройка в личном кабинете#
Настройку получения входящих уведомлений можно также выполнить интерактивно. Для этого перейдите в Личный кабинет и выберите требуемый аккаунт. Если аккаунт авторизован, то будут отображены настройки для получения входящих уведомлений см. рис. Укажите значение параметра webhookUrl
, а также переключатели по видам уведомлений и, если необходима авторизация на вашем вебхук сервере, Webhook URL Token.
Примечание
Поддерживаемые типы авторизации Bearer, Basic.
При использовании Basic авторизации требуется передавать в поле webhookUrlToken
строку вида:
Basic AuthToken
При использовании Bearer авторизации требуется передавать в поле webhookUrlToken
только токен авторизации AuthToken
.
Отладка входящих уведомлений#
Для отладки входящих уведомлений можно использовать любой бесплатный сервис в Интернет, например сервис webhook.site. Сервис выдает уникальный адрес (URL), который требуется установить в качестве значения параметра webhookUrl
.
Подробное описание формата входящих уведомлений представлено в разделе Формат входящих уведомлений.
Пример запроса, который отправляет GREEN-API
curl --request POST 'your-webhook-url-address' \
--header 'Content-Type: application/json; charset=utf-8' \
--data-raw '{"typeWebhook":"statusInstanceChanged","instanceData":{"idInstance":000001,"wid":"7123456789@c.us","typeInstance":"whatsapp"},"timestamp":1654553712,"statusInstance":"online"}'