Top.Mail.Ru

+7 965 003 55 66

192102, СПб, Волковский пр. 32, офис 5-5

Вебхуки — как это работает

Webhook (Вебхуки) – это уведомления о событии, которые будут отправлены на указанный URL-адрес.

           События, при которых будет отправлено уведомление:

  •       Изменение «статуса авторизации» аккаунта;
    Статус авторизации

Узнать о текущем статусе авторизации можно в настройках “Инстанса WhatsApp”

  •       Получение отправленного исходящего сообщения или файла, варианты уведомлений:

o   Отправлено

o   Не отправлено

o   Прочитано

  •       Получено входящее сообщение или файл;
  •       Получены данные об устройстве, на котором установлен подключенный к сервису WhatsApp, например, заряд батареи;
  •       Не удалось подключиться через установленное собственное прокси для инстанса;
  •       Получен входящий звонок на WhatsApp

Как получать Вебхуки

Есть два способа получать Вебхуки.

1 Способ. Через личный кабинет:

  •       Необходимо зайти в личный кабинет и перейти в созданный инстанс:
    переход в созданный инстанс APIsender

Выбрав инстанс, вы откроете раздел настройки

  •       В списке необходимо найти Вебхук URL
    найти вебкух URL в разделе "Настройки"
  •       Справа в строке Вебхук 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»

}