+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”

}