Получение списка проголосовавших участников опроса
Метод позволяет получить количество и список участников опроса, которые проголосовали за определенный вариант ответа.
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"}