Вебхуки — как это работает
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»
}
Остались вопросы? Напишите нам
Написать