Блог Горошко Андрея Bitrix24 Получить несколько голосований vote.AttachedVote.getMany (vote.attachedvote.g…

Получить несколько голосований vote.AttachedVote.getMany (vote.attachedvote.g…

Эффективная интеграция и кастомизация функционала в Битрикс24 часто требует работы на уровне API. Сегодня мы подробно рассмотрим «Получить несколько голосований vote.AttachedVote.getMany (vote.attachedvote.g…». Вы узнаете экспертные методики работы с vote.attachedvote.getMany.md и научитесь избегать типичных ошибок начинающих разработчиков.

Получить несколько голосований vote.AttachedVote.getMany

> Scope: vote
>
> Кто может выполнять метод: пользователь с правами чтения голосований

Метод vote.AttachedVote.getMany возвращает данные нескольких голосований по идентификаторам элементов, к которым прикреплено голосование.

Параметры метода

Название
тип
Описание
moduleId
string
Идентификатор модуля, возможные значения:
— im для опроса в чате,
— blog для опроса в ленте
entityType
string
Тип объекта, возможные значения:
— Bitrix\\Vote\\Attachment\\ImMessageConnector для опроса в чате,
— Bitrix\\Vote\\Attachment\\BlogPostConnector для опроса в ленте
entityId*
integer
Массив идентификаторов элементов, возможные значения:
— id сообщения чата с опросом, получить можно методом vote.Integration.Im.send,
— id поста с опросом в ленте, получить можно методом log.blogpost.get

Максимум 50 элементов

Примеры кода

  • cURL (Webhook)
    curl -X POST \
    -H "Content-Type: application/json" \
    -H "Accept: application/json" \
    -d '{"moduleId":"im","entityType":"Bitrix\\Vote\\Attachment\\ImMessageConnector","entityIds":[1,2,3]}' \
    https://**put_your_bitrix24_address**/rest/**put_your_user_id_here**/**put_your_webbhook_here**/vote.AttachedVote.getMany
  • cURL (OAuth)
    curl -X POST \
    -H "Content-Type: application/json" \
    -H "Accept: application/json" \
    -d '{"moduleId":"im","entityType":"Bitrix\\Vote\\Attachment\\ImMessageConnector","entityIds":[1,2,3],"auth":"**put_access_token_here**"}' \
    https://**put_your_bitrix24_address**/rest/vote.AttachedVote.getMany
  • JS
    try
    {
        const response = await $b24.callMethod(
            'vote.AttachedVote.getMany',
            {
                moduleId: 'im',
                entityType: 'Bitrix\\Vote\\Attachment\\ImMessageConnector',
                entityIds: [1, 2, 3]
            }
        );
        
        const result = response.getData().result;
        console.log('Dat a:', result);
        
        processResult(result);
    }
    catch( error )
    {
        console.error('Error:', error);
    }
  • PHP
    try {
        $response = $b24Service
            ->core
            ->call(
                'vote.AttachedVote.getMany',
                [
                    'moduleId' => 'im',
                    'entityType' => 'Bitrix\\Vote\\Attachment\\ImMessageConnector',
                    'entityIds' => [1, 2, 3]
                ]
            );

        $result = $response
            ->getResponseData()
            ->getResult();

        echo 'Success: ' . print_r($result, true);
        processData($result);

    } catch (Throwable $e) {
        error_log($e->getMessage());
        echo 'Error: ' . $e->getMessage();
    }
  • BX24.js
    BX24.callMethod(
        "vote.AttachedVote.getMany",
        {
            "moduleId": "im",
            "entityType": "Bitrix\\Vote\\Attachment\\ImMessageConnector",
            "entityIds": [1, 2, 3]
        },
        function(result)
        {
            if(result.error())
            {
                console.error(result.error());
            }
            else
            {
                console.dir(result.data());
            }
        }
    );
  • PHP CRest
    require_once('crest.php');

    $result = CRest::call(
        'vote.AttachedVote.getMany',
        [
            'moduleId' => 'im',
            'entityType' => 'Bitrix\\Vote\\Attachment\\ImMessageConnector',
            'entityIds' => [1, 2, 3]
        ]
    );

    echo '<PRE>';
    print_r($result);
    echo '</PRE>';

Обработка ответа

HTTP-статус: 200

{
    "result": {
      "items": [
        {
          "ID": 1,
          "VOTE_ID": 1,
          "COUNTER": 1,
          "QUESTIONS": {
            "1": {
              "ID": "1",
              "ACTIVE": "Y",
              "TIMESTAMP_X": "2025-08-05T09:08:31+03:00",
              "VOTE_ID": "1",
              "C_SORT": "10",
              "COUNTER": "1",
              "QUESTION": "Как дела?",
              "QUESTION_TYPE": "text",
              "IMAGE_ID": null,
              "DIAGRAM": "Y",
              "DIAGRAM_TYPE": "histogram",
              "REQUIRED": "N",
              "FIELD_TYPE": "0",
              "FIELD_NAME": "bx_vote_event[1][BALLOT][1]",
              "IMAGE": null,
              "ANSWERS": {
                "1": {
                  "ID": "1",
                  "ACTIVE": "Y",
                  "TIMESTAMP_X": "2025-08-05T09:08:31+03:00",
                  "QUESTION_ID": "1",
                  "C_SORT": "10",
                  "IMAGE_ID": null,
                  "MESSAGE": "Отлично!",
                  "MESSAGE_TYPE": "text",
                  "COUNTER": "1",
                  "FIELD_TYPE": "0",
                  "FIELD_WIDTH": "0",
                  "FIELD_HEIGHT": "0",
                  "FIELD_PARAM": null,
                  "COLOR": "",
                  "REACTION": "",
                  "~FIELD_NAME": "bx_vote_event[1][BALLOT][1]",
                  "FIELD_NAME": "bx_vote_event[1][BALLOT][1]",
                  "MESSAGE_FIELD_NAME": "bx_vote_event[1][MESSAGE][1][1]",
                  "~PERCENT": 100,
                  "PERCENT": 100
                },
                "3": {
                  "ID": "3",
                  "ACTIVE": "Y",
                  "TIMESTAMP_X": "2025-08-05T09:08:31+03:00",
                  "QUESTION_ID": "1",
                  "C_SORT": "20",
                  "IMAGE_ID": null,
                  "MESSAGE": "Лучше всех!",
                  "MESSAGE_TYPE": "text",
                  "COUNTER": "0",
                  "FIELD_TYPE": "0",
                  "FIELD_WIDTH": "0",
                  "FIELD_HEIGHT": "0",
                  "FIELD_PARAM": null,
                  "COLOR": "",
                  "REACTION": "",
                  "~FIELD_NAME": "bx_vote_event[1][BALLOT][1]",
                  "FIELD_NAME": "bx_vote_event[1][BALLOT][1]",
                  "MESSAGE_FIELD_NAME": "bx_vote_event[1][MESSAGE][1][3]",
                  "~PERCENT": 0,
                  "PERCENT": 0
                },
                "5": {
                  "ID": "5",
                  "ACTIVE": "Y",
                  "TIMESTAMP_X": "2025-08-05T09:08:31+03:00",
                  "QUESTION_ID": "1",
                  "C_SORT": "30",
                  "IMAGE_ID": null,
                  "MESSAGE": "Какие дела??",
                  "MESSAGE_TYPE": "text",
                  "COUNTER": "0",
                  "FIELD_TYPE": "0",
                  "FIELD_WIDTH": "0",
                  "FIELD_HEIGHT": "0",
                  "FIELD_PARAM": null,
                  "COLOR": "",
                  "REACTION": "",
                  "~FIELD_NAME": "bx_vote_event[1][BALLOT][1]",
                  "FIELD_NAME": "bx_vote_event[1][BALLOT][1]",
                  "MESSAGE_FIELD_NAME": "bx_vote_event[1][MESSAGE][1][5]",
                  "~PERCENT": 0,
                  "PERCENT": 0
                }
              }
            }
          },
          "ANONYMITY": 1,
          "OPTIONS": 1,
          "userAnswerMap": {
            "1": {
              "1": {
                "EVENT_ID": "1",
                "EVENT_QUESTION_ID": "1",
                "ANSWER_ID": "1",
                "ID": "1",
                "MESSAGE": ""
              }
            }
          },
          "canEdit": true,
          "canVote": false,
          "canRevote": true,
          "isVoted": true,
          "signedAttachId": "1.52280488561bf567f33cf03b5ce353e154a9c3552b51b2ffb67be3bb7f26f986",
          "resultUrl": "/vote-result/me7hn922bm011mbf",
          "downloadUrl": "/bitrix/services/main/ajax.php?action=vote.AttachedVote.download&SITE_ID=s1&signedAttachId=1.52280488561bf567f33cf03b5ce353e154a9c3552b51b2ffb67be3bb7f26f986",
          "entityId": 13,
          "isFinished": false
        }
      ]
    },
    "time": {
      "start": 1754402559.791454,
      "finish": 1754402559.82089,
      "duration": 0.02943587303161621,
      "processing": 0.017578840255737305,
      "date_start": "2025-08-05T17:02:39+03:00",
      "date_finish": "2025-08-05T17:02:39+03:00",
      "operating_reset_at": 1754403159,
      "operating": 0
    }
}

Возвращаемые данные

Название
тип
Описание
result
object
Корневой элемент ответа. Содержит информацию о запрашиваемых голосованиях, структура описана ниже
time
time
Информация о времени выполнения запроса

Элемент ответа result {#result}

Название
тип
Описание
ID
integer
Идентификатор прикрепленного голосования
VOTE_ID
integer
Идентификатор самого голосования
COUNTER
integer
Счетчик голосов
QUESTIONS
array
Массив с вопросами опроса
ANONYMITY
integer
Уровень анонимности опроса
OPTIONS
integer
Доступность переголосования
userAnswerMap
array
Карта ответов текущего пользователя
canEdit
bool
Может ли текущий пользователь редактировать опрос
canVote
bool
Может ли текущий пользователь проголосовать
canRevote
bool
Может ли текущий пользователь переголосовать
isVoted
bool
Проголосовал ли уже текущий пользователь
signedAttachId
string
Подписанный идентификатор
resultUrl
string
URL-адрес для просмотра результатов опроса
downloadUrl
string
URL-адрес для скачивания результатов опроса
entityId
integer
Идентификатор элемента, к которому прикреплен опрос
isFinished
bool
Завершен ли опрос

Обработка ошибок

HTTP-статус: 400

{
    "error": "",
    "error_description": "Too many entity ids"
}

Возможные виды ошибок

ОшибкаОписание
Too many entity idsПревышен лимит количества идентификаторов, максимум 50
Attach with entityId X not foundГолосование с указанным идентификатором не найдено
Attach with entityId X read access deniedНет прав для чтения голосования с указанным идентификатором
  • [](./index)
  • [](./vote.attachedvote.download)
  • [](./vote.attachedvote.get)
  • [](./vote.attachedvote.getAnswerVoted)
  • [](./vote.attachedvote.getWithVoted)
  • [](./vote.attachedvote.recall)
  • [](./vote.attachedvote.resume)
  • [](./vote.attachedvote.stop)
  • [](./vote.attachedvote.vote)
  • [](./vote.integration.im.send)

💡 Экспертное мнение и рекомендации

Ключевые выводы по теме «Получить несколько голосований vote.AttachedVote.getMany (vote.attachedvote.g…»:

Использование современных стандартов D7 при работе с vote.attachedvote.getMany.md позволяет писать чистый, масштабируемый и безопасный код. Не забывайте обрабатывать исключения (try/catch) и проверять права доступа текущего пользователя перед выполнением критических операций.

Похожая задача в бизнесе?

Помогу автоматизировать процессы и внедрить ИИ

Меня зовут Андрей Горошко. Я Full-stack разработчик и эксперт по 1С-Битрикс. Настраиваю CRM Битрикс24, разрабатываю защищенные API и создаю умных ИИ-агентов для автоматизации рутины.

Related Post

Изменить платежную систему sale.paysystem.updateИзменить платежную систему sale.paysystem.update

Эффективная интеграция и кастомизация функционала в Битрикс24 часто требует работы на уровне API. Сегодня мы подробно рассмотрим «Изменить платежную систему sale.paysystem.update». Вы узнаете экспертные методики работы с sale.paysystem.update и научитесь

Как использовать метод SDK crm.contact.userfield.update в Битрикс24Как использовать метод SDK crm.contact.userfield.update в Битрикс24

Каждый PHP-разработчик, работающий с экосистемой Bitrix Framework, должен глубоко понимать работу её ключевых компонентов. В этой статье мы проведем подробный аудит темы «Как использовать метод SDK crm.contact.userfield.update в Битрикс24», проанализируем

Интеграция Битрикс24 с IP-телефонией UIS / CoMagic и ТелфинИнтеграция Битрикс24 с IP-телефонией UIS / CoMagic и Телфин

Профессиональная настройка и комплексная автоматизация Битрикс24 CRM позволяет выстроить прозрачный отдел продаж, исключить потерю обращений и автоматизировать рутинный документооборот компании. Услуга «Интеграция Битрикс24 с IP-телефонией UIS / CoMagic и Телфин»