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

SendPoll#

Метод предназначен для отправки сообщения с опросом в личный или групповой чат. Сообщение будет добавлено в очередь на отправку. Сообщение на отправку хранится 24 часа в очереди и будет отправлено сразу же после авторизации телефона. Скорость отправки сообщений из очереди регулирует параметр Интервал отправки сообщений.

Запрос#

Для отправки требуется выполнить запрос по адресу:

POST {{APIUrl}}/waInstance{{idInstance}}/sendPoll/{{apiTokenInstance}}

Для получения параметров запроса APIUrl, idInstance и apiTokenInstance обратитесь к разделу Перед началом работы.

Параметры запроса#

Параметр Тип Обязательный Описание
chatId string Да Идентификатор чата
message string Да Текст сообщения. Поддерживаются символы emoji 😃
options array Да Массив данных о вариантах выбора
multipleAnswers boolean Нет Разрешить несколько ответов. true — включено, false — отключено, По умолчанию: false
quotedMessageId string Нет Идентификатор цитируемого сообщения,если указан то сообщение отправится с цитированием указанного сообщения чата

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

Параметр Тип Описание
optionName string Текст варинта выбора

Максимальная длина текстового сообщения составляет 255 символов.

Ограничения для опроса:

  • количество вариантов ответов в голосовании не может быть больше 12;
  • варианты ответа должны отличаться друг от друга минимум одним символом.

Пример тела запроса#

Отправка сообщения в личный чат:

{
    "chatId": "11001234567@c.us",
    "message": "Please choose the color:",
    "options": [
        {
            "optionName": "green"
        },
        {
            "optionName": "red"
        },
        {
            "optionName": "blue"
        }
    ],
    "multipleAnswers": false
}

Ответ#

Поля ответа#

Поле Тип Описание
idMessage string Идентификатор отправленного сообщения

Пример тела ответа#

{
    "idMessage": "3EB0C767D097B7C7C030"
}

Пример отображения у получателя#

Пример отображения опроса

Ошибки SendPoll#

Перечень общих для всех методов ошибок смотрите в разделе Стандартные ошибки

Пример curl#

curl --location --request POST '{{APIUrl}}/waInstance{{idInstance}}/sendPoll/{{apiTokenInstance}}' \
--header 'Content-Type: application/json' \
--data-raw '{
    "chatId": "11001234567@c.us",
    "message": "Please choose the color:",
    "options": [{"optionName": "green"}, {"optionName": "red"}, {"optionName": "blue"}]
}'
Sub SendPoll()
    Dim url As String
    Dim RequestBody As String
    Dim http As Object
    Dim response As String

    ' The idInstance and apiTokenInstance values are available in your account, double brackets must be removed
    url = "{{APIUrl}}/waInstance{{idInstance}}/sendPoll/{{apiTokenInstance}}"

    ' chatId - chat identifier, message - message text, options - array of data about choice options, multipleAnswers - allow multiple answers. true - enabled, false - disabled, Default: false
    RequestBody = "{""chatId"":""71234567890@c.us"",""message"":""Please choose the color:"",""options"":[{""optionName"":""green""},{""optionName"":""red""},{""optionName"":""blue""}],""multipleAnswers"":false}"

    Set http = CreateObject("MSXML2.XMLHTTP")

    With http
        .Open "POST", url, False
        .setRequestHeader "Content-Type", "application/json"
        .send RequestBody
    End With

    response = http.responseText

    Debug.Print response

    ' Outputting the answer to the desired cell
    Range("A1").Value = response

    Set http = Nothing
End Sub