Блог Горошко Андрея Bitrix24,PHP Получить счетчики пользователя tasks.task.counters.get

Получить счетчики пользователя tasks.task.counters.get

При разработке и поддержке проектов на платформе 1С-Битрикс критически важно использовать современные стандарты D7 API. В этом руководстве мы детально изучим тему «Получить счетчики пользователя tasks.task.counters.get», разберем архитектурные особенности и предоставим готовые к интеграции примеры кода.

Получить счетчики пользователя tasks.task.counters.get

> Scope: task
>
> Кто может выполнять метод: любой пользователь

Метод tasks.task.counters.get получает значения счетчиков задач для указанного пользователя.

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

Название
тип
Описание
userId
integer
Идентификатор пользователя, для которого нужно получить счетчики.

По умолчанию используется текущий пользователь.

Идентификатор пользователя можно получить методом получения списка пользователей

groupId
integer
Идентификатор группы, для задач которой нужно получилось счетчики.

Передайте 0 или не указывайте параметр, чтобы учитывать все группы.

Получить идентификатор можно методом создания новой группы или методом получения списка групп.

type
string
Роль, для которой нужно получить счетчики. Возможные роли:
— view_all — все роли
— view_role_responsible — делаю
— view_role_accomplice — помогаю
— view_role_auditor — наблюдаю
— view_role_originator — поручил

По умолчанию используется роль view_all

Примеры кода

  • cURL (Webhook)
    curl -X POST \
    -H "Content-Type: application/json" \
    -H "Accept: application/json" \
    -d '{"userId":547,"groupId":0,"type":"view_all"}' \
    https://**put_your_bitrix24_address**/rest/**put_your_user_id_here**/**put_your_webbhook_here**/tasks.task.counters.get
  • cURL (OAuth)
    curl -X POST \
    -H "Content-Type: application/json" \
    -H "Accept: application/json" \
    -d '{"userId":547,"groupId":0,"type":"view_all","auth":"**put_access_token_here**"}' \
    https://**put_your_bitrix24_address**/rest/tasks.task.counters.get
  • JS
    try
    {
        const response = await $b24.callMethod(
            'tasks.task.counters.get',
            {
                userId: 547,
                groupId: 0,
                type: 'view_all',
            }
        );
        
        const result = response.getData().result;
        console.log('Task counters:', result);
        processResult(result);
    }
    catch( error )
    {
        console.error('Error:', error);
    }
  • PHP
    try {
        $response = $b24Service
            ->core
            ->call(
                'tasks.task.counters.get',
                [
                    'userId' => 547,
                    'groupId' => 0,
                    'type' => 'view_all'
                ]
            );

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

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

    } catch (Throwable $e) {
        error_log($e->getMessage());
        echo 'Error fetching task counters: ' . $e->getMessage();
    }
  • BX24.js
    BX24.callMethod(
        'tasks.task.counters.get',
        {
            userId: 547,
            groupId: 0,
            type: 'view_all'
        },
        function(result){
            console.info(result.data());
            console.log(result);
        }
    );
  • PHP CRest
    require_once('crest.php');

    $result = CRest::call(
        'tasks.task.counters.get',
        [
            'userId' => 547,
            'groupId' => 0,
            'type' => 'view_all'
        ]
    );

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

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

HTTP-статус: 200

{
    "result": {
        "expired": {
            "counter": 1,
            "code": 6291456
        },
        "new_comments": {
            "counter": 7,
            "code": 12582912
        }
    },
    "total": 1,
    "time": {
        "start": 1758868152,
        "finish": 1758868152.929809,
        "duration": 0.9298090934753418,
        "processing": 0,
        "date_start": "2025-09-26T09:29:12+03:00",
        "date_finish": "2025-09-26T09:29:12+03:00",
        "operating_reset_at": 1758868752,
        "operating": 0
    }
}

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

Название
тип
Описание
result
object
Объект, в котором ключ — название счетчика, а значение — объект с описанием счетчика.

Значения счетчиков:
— new_comments — непрочитанные комментарии
— expired — просроченные задачи

Возвращает пустой массив "result":[], если пользователь не существует или нет прав на получение счетчиков указанного пользователя

total
integer
На текущий момент не используется. Всегда возвращает значение 1
time
time
Информация о времени выполнения запроса

Объект счетчика {#counter}

Название
тип
Описание
counter
integer
Количество
code
integer
Внутренний код счетчика

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

HTTP-статус: 400

{
    "error": "0",
    "error_description": "Group not found or access denied. (internal error)"
}

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

КодОписаниеЗначение
0Invalid value {value} to match with parameter {userId}. Should be value of type int.В параметре userId указано значение неверного типа
0Group not found or access denied. (internal error)Группа не существует или к ней нет прав доступа
  • [](./index)
  • [](./tasks-task-get)
  • [](./tasks-task-list)

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

Практические рекомендации:

  • При написании кастомных компонентов для «Получить счетчики пользователя tasks.task.counters.get» всегда разделяйте бизнес-логику и представление (шаблон).
  • Используйте отладку SQL-запросов через конструкцию $wpdb->last_query или стандартный трекер Битрикса, чтобы контролировать нагрузку.

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

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

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

Related Post

Как использовать метод SDK placement.bind в Битрикс24Как использовать метод SDK placement.bind в Битрикс24

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

Завершить свой диалог imopenlines.operator.finishЗавершить свой диалог imopenlines.operator.finish

Оптимизация производительности и безопасности — залог успешного проекта на 1С-Битрикс. Данный материал посвящен практическому применению «Завершить свой диалог imopenlines.operator.finish». Мы подготовили подробный разбор принципов работы и развернутые примеры интеграции. Завершить

Оптимизация работы модуля веб-аналитики и рекламных кампаний в ядре 1С-БитриксОптимизация работы модуля веб-аналитики и рекламных кампаний в ядре 1С-Битрикс

Высокая скорость загрузки сайта и безупречная серверная безопасность — обязательные требования для успешного коммерческого проекта на 1С-Битрикс. Услуга «Оптимизация работы модуля веб-аналитики и рекламных кампаний в ядре 1С-Битрикс» обеспечивает очистка