Проголосовать в опросе (Twitch)
/chat-panels/{id}/poll/votesГолосует аккаунтами панели за вариант (choice_id) или раздаёт голоса по нескольким вариантам (split). Голосуют только аккаунты, которые в этом опросе ещё не голосовали, поэтому повтор запроса лишних голосов не даст.
Бесплатный голос у аккаунта один на опрос; дополнительные — за баллы канала (points), если опрос это разрешает.
С spread_seconds голоса уходят в фоне вразбивку по времени, а ответ приходит сразу и несёт раздачу в sending; её ход — в GET /chat-panels/{id}/poll. Без растяжки ответ приходит, когда все голоса отданы, — на большой панели это до минуты.
Право ключа: chat_panel — управление чат-панелью.
Частота: класс «изменение» — 30 запросов в минуту на ключ, 60 на аккаунт.
Idempotency-Key: необязателен; с ним повтор запроса безопасен.
Авторизация
bearerAuth Ключ API из панели. Только в заголовке Authorization: ключ в строке запроса отклоняется.
Где: header
Параметры адреса
Id чат-панели — id её заказа: cp_12.
Заголовки
Ключ идемпотентности: от 8 до 128 знаков из латинских букв, цифр и символов _ : . -. Повтор запроса с тем же ключом возвращает сохранённый ответ. Ключ хранится 24 часа.
^[A-Za-z0-9_:.\-]+$8 <= length <= 128Тело запроса
application/json
Типы TypeScript
Тип request body для TypeScript.
Голоса аккаунтов панели. Аккаунты, которые уже голосовали, не участвуют.
Тело ответа
application/json
application/json
application/json
application/json
application/json
application/json
application/json
application/json
application/json
application/json
application/json
application/json
application/json
application/json
/chat-panels/cp_12/poll/votescurl https://api.skystream.su/app/v1/chat-panels/cp_12/poll/votes \ -X POST \ -H "Authorization: Bearer $API_KEY" \ -H "Idempotency-Key: 7c0a5f4e-2b1d-4c9e-9a51-3f6d8e2b1c40" \ -H "Content-Type: application/json" \ -d '{ "choice_id": "c1a7" }'API_KEY{ "poll_id": "5c1e9a2f-0b7d-4e3a-9c61-7d2f4b8a1e03", "voted": 3, "failed": 0, "by_choice": [ { "choice_id": "c1a7", "title": "Стратегия", "voted": 3, "failed": 0 } ], "results": [ { "account": "fox_runner", "choice_id": "c1a7", "ok": true, "error": null }, { "account": "night_owl_77", "choice_id": "c1a7", "ok": true, "error": null }, { "account": "pixel_mira", "choice_id": "c1a7", "ok": true, "error": null } ], "sending": null, "poll": { "id": "5c1e9a2f-0b7d-4e3a-9c61-7d2f4b8a1e03", "title": "Какую игру дальше?", "status": "ACTIVE", "duration_seconds": 300, "remaining_ms": 184000, "started_at": "2026-10-05T18:10:00.000Z", "ended_at": null, "total_voters": 44, "total_votes": 50, "choices": [ { "id": "c1a7", "title": "Стратегия", "votes": 32, "base_votes": 28, "points_votes": 4, "bits_votes": 0, "voters": 28 }, { "id": "c2b4", "title": "Хоррор", "votes": 18, "base_votes": 16, "points_votes": 2, "bits_votes": 0, "voters": 16 } ], "points_votes_enabled": true, "points_votes_cost": 100, "subscriber_only": false }}