Перейти к содержанию

Входящее сообщение с обновлением опроса#

В данном разделе описывается формат входящего уведомления объекта messageData для обновления входящего сообщения опроса. Для получения описания общего формата входящих уведомлений обратитесь к разделу Входящие сообщения.

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

typeWebhook = incomingMessageReceived

messageData.typeMessage = pollUpdateMessage

Настройка инстанса

Чтобы получать входящие уведомления об обновлениях опроса, необходимо включить настройки одним из представленных вариантов:

  1. Через личный кабинет включить настройки Получать уведомления о входящих сообщениях и файлах и Получать уведомления об опросах

  2. Через метод SetSettings включить настройки incomingWebhook иpollMessageWebhook

  • Если выбрать вариант в опросе, затем сразу его отменить, то вебхук pollUpdateMessage придет по последнему состоянию опроса.
  • Если выбрать вариант в опросе, затем его отменить спустя секунду или позже, то вебхук pollUpdateMessage придет по обоим состояниям опроса.

Уведомление#

Формат уведомления#

Поля объекта messageData

Параметр Тип Описание
typeMessage string Тип принятого сообщения. Для сообщений данного типа поле принимает значение pollUpdateMessage
pollMessageData object Объект данных о сообщении опроса

Поля объекта pollMessageData

Параметр Тип Описание
stanzaId string id сообщения с опросом
name string Название опроса
votes array Массив данных голосования по опросу
multipleAnswers boolean Разрешить несколько ответов. true — включено, false — отключено, По умолчанию: false

Поля массива votes

Параметр Тип Описание
optionName string Название варианта выбора
optionVoters array Массив wid пользователей выбравшие этот вариант

Поля массива optionVoters

Параметр Тип Описание
default string Wid пользователя, выбравшего опцию

Пример тела уведомления#

{
  "typeWebhook": "incomingMessageReceived",
  "instanceData": {
    "idInstance": 1234,
    "wid": "11001234567@c.us",
    "typeInstance": "whatsapp"
  },
  "timestamp": 1588091580,
  "idMessage": "F7AEC1B7086ECDC7E6E45923F5EDB825",
  "senderData": {
    "chatId": "79001234568@c.us",
    "sender": "79001234568@c.us",
      "chatName": "Иван",
    "senderName": "Иван",
    "senderContactName": "Иван Васильевич"
  },
  "messageData": {
    "typeMessage": "pollUpdateMessage",
    "pollMessageData": {
      "stanzaId": "BAE53AFDD5F0C000",
      "name": "Poll Name",
      "votes": [
        {
          "optionName": "Variant 1",
          "optionVoters": []
        },
        {
          "optionName": "Variant 2",
          "optionVoters": ["79001234568@c.us"]
        }
      ],
      "multipleAnswers": false
    }
  }
}

Пример тела уведомления с обновлением опроса из группового чата#

{
    "typeWebhook": "incomingMessageReceived",
    "instanceData": {
        "idInstance": 1234,
        "wid": "11001234567@c.us",
        "typeInstance": "whatsapp"
    },
    "timestamp": 1732268220,
    "idMessage": "2D9D6721A977D369246509EBE0CE44CA",
    "senderData": {
      "chatId": "120363369140947676@g.us",
        "chatName": "Группа",
        "sender": "79001234568@c.us",
        "senderName": "Иван",
        "senderContactName": "Иван Васильевич"
  },
  "messageData": {
    "typeMessage": "pollUpdateMessage",
    "pollMessageData": {
      "stanzaId": "BAE53AFDD5F0C000",
      "name": "Poll Name",
      "votes": [
        {
          "optionName": "Variant 1",
          "optionVoters": []
        },
        {
          "optionName": "Variant 2",
          "optionVoters": ["79001234568@c.us"]
        }
      ],
      "multipleAnswers": false
    }
  }
}