Вебхуки – как это работает
Webhook (Вебхуки) – это уведомления о событии, которые будут отправлены на указанный URL-адрес.
События, при которых будет отправлено уведомление:
- Изменение “статуса авторизации” аккаунта;
Узнать о текущем статусе авторизации можно в настройках “Инстанса WhatsApp”
- Получение отправленного исходящего сообщения или файла, варианты уведомлений:
o Отправлено
o Не отправлено
o Прочитано
- Получено входящее сообщение или файл;
- Получены данные об устройстве, на котором установлен подключенный к сервису WhatsApp, например, заряд батареи;
- Не удалось подключиться через установленное собственное прокси для инстанса;
- Получен входящий звонок на WhatsApp
Как получать Вебхуки
Есть два способа получать Вебхуки.
1 Способ. Через личный кабинет:
- Необходимо зайти в личный кабинет и перейти в созданный инстанс:
Выбрав инстанс, вы откроете раздел настройки
- В списке необходимо найти Вебхук URL
- Справа в строке Вебхук URL нажать кнопку «Изменить»
- Внести в открывшееся поле ссылку:
- Нажать на
, чтобы сохранить результат
- Выставить необходимые переключатели на зеленый, чтобы получать соответствующие уведомления из списка доступных Вебхуков:
Доступные на текущий момент параметры Вебхуков
2 Способ. Использование метода API:
Для получения webhook уведомлений необходимо установить webhookUrl методом setSettings.
Условия отправки и запросы
Webhook уведомления отправляются сразу же при наступлении события в инстансе аккаунта. Webhook уведомление считается доставленным, при получении ответа от сервера с http статусом: 200. Если webhook уведомление не доставлено с первого раза, отправка будет повторятся до 10 раз в разные промежутки времени, пока не будет получен ответ от сервера с http статусом: 200.
Webhook уведомления отправляются POST запросом. В теле запроса лежит JSON строка:
- оповещение о новом сообщении:
{
“type”: “newMessage”,
“instanceWhatsapp”: {
“idInstance”: 10000,
“wid”: “79194754325@c.us”
},
“timestamp”: 1639499669,
“newMessage”: {
“chat”: {
“chatId”: “79827774355@c.us”,
“fromMe”: false,
“idMessage”: “C6AC018935BB10E7851C6ADC72D9BF1D”
},
“message”: {
“typeMessage”: “textMessage”,
“text”: “Test 47”
},
“messageTimestamp”: 1639499669
}
}
- оповещение о статусе сообщений:
{
“type”: “statusMessage”,
“instanceWhatsapp”: {
“idInstance”: 10000,
“wid”: “79194754325@c.us”
},
“timestamp”: 1639499707,
“statusMessage”: {
“idMessage”: “C6AC018935BB10E7851C6ADC72D9BF1D”,
“timestampStatus”: 1639499707,
“status”: “read”
}
}
- оповещение об изменении состояния инстанса Whatsapp:
{
“type”: “changeStateAccount”,
“instanceWhatsapp”: {
“idInstance”: 10000,
“wid”: “79194754325@c.us”
},
“timestamp”: 1639500301,
“state”: {
“stateInstance”: “authorized”
}
}
- оповещение о входящем аудио звонке:
{
“type”: “incomingCall”,
“instanceWhatsapp”: {
“idInstance”: 10000,
“wid”: “79052108999@c.us”
},
“timestamp”: 1654603064,
“from”: “79878952355@c.us”
}
- оповещение о входящем видео звонке
{
“type”: “incomingVideoCall”,
“instanceWhatsapp”: {
“idInstance”: 10000,
“wid”: “79052108999@c.us”
},
“timestamp”: 1654603064,
“from”: “79878952355@c.us”
}
Остались вопросы? Напишите нам
Написать