Получение уведомлений через 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"
}
Настройка в личном кабинете#
- Перейдите в Личный кабинет
- Выберите инстанс, на котором необходимо изменить настройки
- Нажмите кнопку
Изменить
на панели инстанса - Укажите значение параметра
webhookUrl
Если необходима авторизация на вашем вебхук сервере, укажите
Webhook URL Token
. - Активируйте переключатели по необходимым видам уведомлений
- Нажмите на кнопку
Сохранить изменения
для применения настроек.
Получение входящих уведомлений#
После выполнения настройки инстанса можно приступать к получению уведомлений.
Отладка входящих уведомлений#
Для отладки входящих уведомлений можно использовать любой бесплатный сервис, например webhook.site.
Сервис выдает уникальный адрес (URL), который требуется установить в качестве значения параметра webhookUrl
.
Подробное описание формата входящих уведомлений представлено в разделе Формат входящих уведомлений.