Получение списка проголосовавших участников опроса

Метод позволяет получить количество и список участников опроса, которые проголосовали за определенный вариант ответа.

HTTP метод: GET

URL: https://botapi.messenger.yandex.net/bot/v1/polls/getVoters/

Заголовки

Authorization: OAuth <токен>
Content-Type: application/json

Тело запроса (JSON или URL Query)

Имя параметра Обязательный Тип Описание Ограничения, значение по умолчанию
chat_id Нет* string ID группового чата Бот должен быть участником чата
login Нет* string Логин пользователя
message_id Да integer ID сообщения с опросом в чате
invite_hash Нет string Хеш пригласительной ссылки, если бот еще не состоит в чате
limit Нет integer Максимальное количество проголосовавших, которое будет получено в ответе на запрос Не более 1000. Значение по умолчанию: 100
cursor Нет integer ID голоса, начиная с которого будет сформирован список проголосовавших Положительное число. При значении 0 (значение по умолчанию) возвращается список из последних проголосовавших в опросе
answer_id Да integer Номер варианта ответа, по которому запрашиваются проголосовавшие
thread_id Нет integer Идентификатор треда (timestamp сообщения)

(*) Параметры chat_id и login являются необязательными, но необходимо заполнить хотя бы один из двух.

Схема работы

Запрос на получение проголосовавших в опросе формируется для конкретного варианта ответа с номером answer_id.

Список проголосовавших возвращается частями, начиная с последнего проголосовавшего пользователя. Каждая часть списка направляется в ответе на отдельный запрос. Максимальное количество пользователей в каждой части равно значению параметра limit запроса.

Для получения первой части списка значение параметра cursor запроса должно быть равно 0. Чтобы получить очередную часть, в параметре cursor нового запроса необходимо указать значение параметра cursor, полученное в ответе на предыдущий запрос. Если уже передана вся информация о проголосовавших за вариант, в ответе на следующий подобный запрос придет пустой список.

Результат

Результатом успешного запроса является ответ с кодом 200 и телом с JSON, где содержится список проголосовавших

Имя параметра Обязательный Тип Описание
ok Да boolean Флаг успешности выполнения
answer_id Да integer Номер варианта ответа для которого получен результат
voted_count Да integer Количество проголосовавших в опросе
cursor Да integer ID последнего полученного голоса
votes Да Vote[] Полученные голоса в опросе

Пример запроса

curl -H 'Authorization: OAuth AtXXXXXXXXXXX' 'https://botapi.messenger.yandex.net/bot/v1/polls/getVoters?chat_id=0/0/4f24b544-697c-4e18-a9c1-b39432ee9bf9&message_id=1647523230504005&answer=1&limit=3'

Пример успешного ответа

{"ok": true, "voted_count": 3, "cursor": 3912830489212,  "votes": [{"timestamp": 382981920210, "user":{"login": "anya@example.org"}}, {"timestamp": 382981920123, "user":{"login": "masha@example.org"}}, {"timestamp": 38298192089213, "user":{"login": "petya@example.org"}}]}

Пример ответа с ошибкой

{"ok": false, "description": "Bot is not a member of the chat"}