polls.vote.channel.list
Scope:
pollsКто может вызывать: Любой авторизованный пользователь. Подробнее: Права доступа
Справочник групп опросов (каналов), которые отображаются на странице опросов текущего сайта: группы из настройки «Отображаемые группы опросов» (visible_channels) и группы «Пульс» (impulse_channel_name, множественный выбор; если настройка пуста — группа с кодом VOTE_VOTE, как и раньше). Группы, которых нет ни в visible_channels, ни в списке «Пульс», в список не попадают (группа «Пульс» попадает и при visible=false) — их возвращает polls.vote.channel.get администратору модуля.
HTTP: GET
Побочные эффекты: нет
Для list-методов Bitrix REST выносит total и next на верхний уровень ответа (рядом с result). Внутри конверта модуля — только result и error.
Обязательные родительские фильтры (voteId, questionId) можно передавать на верхнем уровне запроса, если Bitrix REST не прокидывает filter[id] / filter[voteId].
Параметры метода
| Параметр | Тип | Обяз. | Описание |
|---|---|---|---|
limit |
int |
нет | Размер страницы, по умолчанию 50, максимум 500 |
offset |
int |
нет | Смещение, по умолчанию 0 |
fetchAll |
bool |
нет | Вернуть все записи одним ответом (лимит rest_fetch_all_max, по умолчанию 5000) |
filter |
object |
нет | Mongo-фильтр. Поля: id, title, active, symbolicName. |
Пагинация
limit (по умолчанию 50, максимум 500), offset (по умолчанию 0), fetchAll (защитный лимит записей из настройки модуля, по умолчанию 5000; при превышении — FETCH_ALL_LIMIT_EXCEEDED).
Операторы Mongo-фильтра: $eq, $ne, $gt, $gte, $lt, $lte, $in, $nin.
Возвращаемые данные
Ответ в конверте модуля: result.result — массив групп { id, title, active, sites, siteIds, symbolicName, sort, voteSingle, visible, pulse, pollCount } (поля — как в polls.vote.channel.get; sites — строка кодов сайтов через запятую); result.error; result.next — смещение следующей страницы или null; верхнеуровневый Bitrix total — общее число записей. Сортировка — по названию.
Обработка ошибок
Справочник кодов: Коды ошибок.
| Код | Описание |
|---|---|
UNAUTHORIZED |
Пользователь не авторизован |
INTERNAL_ERROR |
Внутренняя ошибка сервера |
ACCESS_DENIED |
Нет прав на операцию |
INVALID_LIMIT |
limit вне диапазона 1..500 |
INVALID_OFFSET |
offset < 0 |
INVALID_FILTER |
Некорректный filter или неизвестное поле |
INVALID_FILTER_OPERATOR |
Неизвестный оператор фильтра |
FETCH_ALL_LIMIT_EXCEEDED |
При fetchAll=true записей больше защитного лимита |
Пример запроса (GET)
curl -G "https://{портал}/rest/{user_id}/{webhook_code}/polls.vote.channel.list.json" \
-H "Accept: application/json" \
--data-urlencode "limit=50"
Пример ответа
{
"result": {
"result": [
{
"id": 6,
"title": "Опросы для новых сотрудников",
"active": "Y",
"sites": "s1",
"siteIds": ["s1"],
"symbolicName": "ONBOARDING",
"sort": 600,
"voteSingle": false,
"visible": true,
"pulse": false,
"pollCount": 3
},
{
"id": 5,
"title": "Опросы для оценки лояльности сотрудников компании",
"active": "Y",
"sites": "s1",
"siteIds": ["s1"],
"symbolicName": "LOYALTY",
"sort": 500,
"voteSingle": false,
"visible": true,
"pulse": false,
"pollCount": 5
},
{
"_truncated": "... ещё 2 элементов"
}
],
"error": null
},
"total": 4,
"time": {
"start": 1787319171,
"finish": 1787319171.826116,
"duration": 0.8261160850524902,
"processing": 0,
"date_start": "2026-08-21T16:32:51+03:00",
"date_finish": "2026-08-21T16:32:51+03:00"
}
}