Блог Горошко Андрея Bitrix24 Остановить голосование vote.AttachedVote.stop (vote.attachedvote.stop)

Остановить голосование vote.AttachedVote.stop (vote.attachedvote.stop)

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

Остановить голосование vote.AttachedVote.stop

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

Метод vote.AttachedVote.stop останавливает активное голосование, запрещая дальнейшее участие в нем.

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

Доступно три варианта вызова метода.

1. Через идентификатор прикрепленного опроса

Название
тип
Описание
attachId
integer
Идентификатор прикрепленного голосования, получить можно методами vote.AttachedVote.get или vote.AttachedVote.getMany

2. Через элемент с опросом

Название
тип
Описание
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

3. Через подписанный идентификатор

Название
тип
Описание
signedAttachId*
string
Подписанный идентификатор прикрепления, получить можно методом vote.AttachedVote.get, параметр ответа signedAttachId

Примеры кода

  • cURL (Webhook)
    curl -X POST \
    -H "Content-Type: application/json" \
    -H "Accept: application/json" \
    -d '{"attachId":**put_attach_id**}' \
    https://**put_your_bitrix24_address**/rest/**put_your_user_id_here**/**put_your_webbhook_here**/vote.AttachedVote.stop
  • cURL (OAuth)
    curl -X POST \
    -H "Content-Type: application/json" \
    -H "Accept: application/json" \
    -d '{"attachId":**put_attach_id**,"auth":"**put_access_token_here**"}' \
    https://**put_your_bitrix24_address**/rest/vote.AttachedVote.stop
  • JS
    try
    {
        const response = await $b24.callMethod(
            'vote.AttachedVote.stop',
            {
                attachId: **put_attach_id**
            }
        );
        
        const result = response.getData().result;
        console.log('Stopped vote with ID:', result);
        
        processResult(result);
    }
    catch( error )
    {
        console.error('Error:', error);
    }
  • PHP
    try {
        $response = $b24Service
            ->core
            ->call(
                'vote.AttachedVote.stop',
                [
                    'attachId' => **put_attach_id**
                ]
            );

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

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

    } catch (Throwable $e) {
        error_log($e->getMessage());
        echo 'Error stopping attached vote: ' . $e->getMessage();
    }
  • BX24.js
    BX24.callMethod(
        "vote.AttachedVote.stop",
        {
            "attachId": **put_attach_id**
        },
        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.stop',
        [
            'attachId' => **put_attach_id**
        ]
    );

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

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

HTTP-статус: 200

{
    "result": [],
    "time": {
        "start": 1712132792.910734,
        "finish": 1712132793.530359,
        "duration": 0.6196250915527344,
        "processing": 0.032338857650756836,
        "date_start": "2024-04-03T10:26:32+02:00",
        "date_finish": "2024-04-03T10:26:33+02:00"
    }
}

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

Название
тип
Описание
result
array
Пустой массив при успешном выполнении операции
time
time
Информация о времени выполнения запроса

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

HTTP-статус: 4xx

{
    "error": "ATTACH_NOT_FOUND",
    "error_description": "Attach not found"
}

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

КодОписание
ATTACH_NOT_FOUNDГолосование не найдено
ATTACH_READ_ACCESS_DENIEDНет прав для участия в голосовании
  • [](./index)
  • [](./vote.attachedvote.download)
  • [](./vote.attachedvote.get)
  • [](./vote.attachedvote.getAnswerVoted)
  • [](./vote.attachedvote.getMany)
  • [](./vote.attachedvote.getWithVoted)
  • [](./vote.attachedvote.recall)
  • [](./vote.attachedvote.resume)
  • [](./vote.attachedvote.vote)
  • [](./vote.integration.im.send)

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

Советы эксперта по интеграции:

  • Всегда используйте кэширование при частых запросах к vote.attachedvote.stop.md, чтобы разгрузить базу данных.
  • Соблюдайте стандарты PSR при написании обработчиков для «Остановить голосование vote.AttachedVote.stop (vote.attachedvote.stop)».
  • Регулярно проводите аудит производительности системы с помощью встроенного монитора 1С-Битрикс.

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

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

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

Related Post

Событие при обновлении контакта onCrmContactUpdateСобытие при обновлении контакта onCrmContactUpdate

Каждый PHP-разработчик, работающий с экосистемой Bitrix Framework, должен глубоко понимать работу её ключевых компонентов. В этой статье мы проведем подробный аудит темы «Событие при обновлении контакта onCrmContactUpdate», проанализируем лучшие практики

Событие на обновление объекта CRM пользовательского типа onCrmDynamicItemUpdateСобытие на обновление объекта CRM пользовательского типа onCrmDynamicItemUpdate

Каждый PHP-разработчик, работающий с экосистемой Bitrix Framework, должен глубоко понимать работу её ключевых компонентов. В этой статье мы проведем подробный аудит темы «Событие на обновление объекта CRM пользовательского типа onCrmDynamicItemUpdate»,

Как использовать метод SDK task.item.userfield.gettypes в Битрикс24Как использовать метод SDK task.item.userfield.gettypes в Битрикс24

Эффективная интеграция и кастомизация функционала в Битрикс24 часто требует работы на уровне API. Сегодня мы подробно рассмотрим «Как использовать метод SDK task.item.userfield.gettypes в Битрикс24». Вы узнаете экспертные методики работы с