Получить список задач tasks.task.list
Scope:
taskКто может выполнять метод: любой пользователь
Метод tasks.task.list получает список задач с постраничной навигацией.
Доступ к данным зависит от прав:
- администратор видит все задачи,
- руководитель — задачи своих сотрудников,
- остальные видят только доступные им задачи.
Параметры метода
|
Название |
Описание |
|
order |
Объект для сортировки списка задач в формате Направление сортировки может принимать значения:
По умолчанию — по убыванию Поле для сортировки может принимать значения:
|
|
filter |
Объект для фильтрации списка задач в формате
Чтобы получить задачи из Избранного, добавьте в фильтр параметр Перед названием фильтруемого поля можно указать тип фильтрации:
По умолчанию записи не фильтруются |
|
select |
Массив содержит список полей, которые необходимо выбрать. По умолчанию система возвращает только те поля, которые хранятся в записи — без дополнительных данных, рассчитываемых на лету. Важно Всегда указывайте поля в |
|
params |
Дополнительная информация, которую можно получить по задаче:
|
|
start |
Параметр используется для управления постраничной навигацией. Размер страницы результатов всегда статичный — 50 записей. Чтобы выбрать вторую страницу результатов, необходимо передавать значение Формула расчета значения параметра
|
Примеры кода
Как использовать примеры в документации
curl -X POST \
-H "Content-Type: application/json" \
-H "Accept: application/json" \
-d '{"order":{"DEADLINE":"asc","PRIORITY":"desc"},"filter":{"!STATUS":6,">=DEADLINE":"'"$(date +%Y-%m-%d)"'","RESPONSIBLE_ID":547,"::SUBFILTER-PARAMS":{"FAVORITE":"Y"}},"select":["ID","TITLE","DESCRIPTION","STATUS","subStatus","DEADLINE","CREATED_DATE","RESPONSIBLE_ID","ACCOMPLICES","AUDITORS","TAGS","COUNTERS","PRIORITY","MARK"],"params":{"WITH_TIMER_INFO":true,"WITH_RESULT_INFO":true,"WITH_PARSED_DESCRIPTION":true}}' \
https://**put_your_bitrix24_address**/rest/**put_your_user_id_here**/**put_your_webhook_here**/tasks.task.list
curl -X POST \
-H "Content-Type: application/json" \
-H "Accept: application/json" \
-d '{"order":{"DEADLINE":"asc","PRIORITY":"desc"},"filter":{"!STATUS":6,">=DEADLINE":"'"$(date +%Y-%m-%d)"'","RESPONSIBLE_ID":547,"::SUBFILTER-PARAMS":{"FAVORITE":"Y"}},"select":["ID","TITLE","DESCRIPTION","STATUS","subStatus","DEADLINE","CREATED_DATE","RESPONSIBLE_ID","ACCOMPLICES","AUDITORS","TAGS","COUNTERS","PRIORITY","MARK"],"params":{"WITH_TIMER_INFO":true,"WITH_RESULT_INFO":true,"WITH_PARSED_DESCRIPTION":true},"auth":"**put_access_token_here**"}' \
https://**put_your_bitrix24_address**/rest/tasks.task.list
// callListMethod: Получает все данные сразу.
// Используйте только для небольших выборок (< 1000 элементов) из-за высокой
// нагрузки на память.
try {
const response = await $b24.callListMethod(
'tasks.task.list',
{
order: {
'DEADLINE': 'asc',
'PRIORITY': 'desc'
},
filter: {
'!STATUS': 6,
'>=DEADLINE': new Date().toISOString().split('T')[0],
'RESPONSIBLE_ID': 547,
'::SUBFILTER-PARAMS': { 'FAVORITE': 'Y' }
},
select: [
'ID', 'TITLE', 'DESCRIPTION', 'STATUS', 'subStatus',
'DEADLINE', 'CREATED_DATE', 'RESPONSIBLE_ID',
'ACCOMPLICES', 'AUDITORS', 'TAGS', 'COUNTERS',
'PRIORITY', 'MARK'
],
params: {
'WITH_TIMER_INFO': true,
'WITH_RESULT_INFO': true,
'WITH_PARSED_DESCRIPTION': true,
},
},
(progress) => { console.log('Progress:', progress) }
);
const items = response.getData() || [];
for (const entity of items) { console.log('Entity:', entity) }
} catch (error) {
console.error('Request failed', error)
}
// fetchListMethod: Выбирает данные по частям с помощью итератора.
// Используйте для больших объемов данных для эффективного потребления памяти.
try {
const generator = $b24.fetchListMethod('tasks.task.list', {
order: {
'DEADLINE': 'asc',
'PRIORITY': 'desc'
},
filter: {
'!STATUS': 6,
'>=DEADLINE': new Date().toISOString().split('T')[0],
'RESPONSIBLE_ID': 547,
'::SUBFILTER-PARAMS': { 'FAVORITE': 'Y' }
},
select: [
'ID', 'TITLE', 'DESCRIPTION', 'STATUS', 'subStatus',
'DEADLINE', 'CREATED_DATE', 'RESPONSIBLE_ID',
'ACCOMPLICES', 'AUDITORS', 'TAGS', 'COUNTERS',
'PRIORITY', 'MARK'
],
params: {
'WITH_TIMER_INFO': true,
'WITH_RESULT_INFO': true,
'WITH_PARSED_DESCRIPTION': true,
},
}, 'ID');
for await (const page of generator) {
for (const entity of page) { console.log('Entity:', entity) }
}
} catch (error) {
console.error('Request failed', error)
}
// callMethod: Ручное управление постраничной навигацией через параметр start.
// Используйте для точного контроля над пакетами запросов.
// Для больших данных менее эффективен, чем fetchListMethod.
try {
const response = await $b24.callMethod('tasks.task.list', {
order: {
'DEADLINE': 'asc',
'PRIORITY': 'desc'
},
filter: {
'!STATUS': 6,
'>=DEADLINE': new Date().toISOString().split('T')[0],
'RESPONSIBLE_ID': 547,
'::SUBFILTER-PARAMS': { 'FAVORITE': 'Y' }
},
select: [
'ID', 'TITLE', 'DESCRIPTION', 'STATUS', 'subStatus',
'DEADLINE', 'CREATED_DATE', 'RESPONSIBLE_ID',
'ACCOMPLICES', 'AUDITORS', 'TAGS', 'COUNTERS',
'PRIORITY', 'MARK'
],
params: {
'WITH_TIMER_INFO': true,
'WITH_RESULT_INFO': true,
'WITH_PARSED_DESCRIPTION': true,
},
}, 0);
const result = response.getData().result || [];
for (const entity of result) { console.log('Entity:', entity) }
} catch (error) {
console.error('Request failed', error)
}
try {
$response = $b24Service
->core
->call(
'tasks.task.list',
[
'order' => [
'DEADLINE' => 'asc',
'PRIORITY' => 'desc'
],
'filter' => [
'!STATUS' => 6,
'>=DEADLINE' => date('Y-m-d'),
'RESPONSIBLE_ID' => 547,
'::SUBFILTER-PARAMS' => ['FAVORITE' => 'Y']
],
'select' => [
'ID', 'TITLE', 'DESCRIPTION', 'STATUS', 'subStatus',
'DEADLINE', 'CREATED_DATE', 'RESPONSIBLE_ID',
'ACCOMPLICES', 'AUDITORS', 'TAGS', 'COUNTERS',
'PRIORITY', 'MARK'
],
'params' => [
'WITH_TIMER_INFO' => true,
'WITH_RESULT_INFO' => true,
'WITH_PARSED_DESCRIPTION' => true,
],
]
);
$result = $response
->getResponseData()
->getResult();
echo 'Success: ' . print_r($result, true);
processData($result);
} catch (Throwable $e) {
error_log($e->getMessage());
echo 'Error fetching tasks: ' . $e->getMessage();
}
BX24.callMethod(
'tasks.task.list',
{
// Сортировка
order: {
'DEADLINE': 'asc',
'PRIORITY': 'desc'
},
// Фильтрация
filter: {
'!STATUS': 6, // Исключить отложенные
'>=DEADLINE': new Date().toISOString().split('T')[0], // Не просроченные
'RESPONSIBLE_ID': 547, // Задачи конкретного исполнителя
'::SUBFILTER-PARAMS': { 'FAVORITE': 'Y' } // Задачи из избранного
},
// Поля для выборки
select: [
'ID',
'TITLE',
'DESCRIPTION',
'STATUS',
'subStatus',
'DEADLINE',
'CREATED_DATE',
'RESPONSIBLE_ID',
'ACCOMPLICES',
'AUDITORS',
'TAGS',
'COUNTERS',
'PRIORITY',
'MARK'
],
// Дополнительные параметры
params: {
'WITH_TIMER_INFO': true,
'WITH_RESULT_INFO': true,
'WITH_PARSED_DESCRIPTION': true,
},
},
function(result){
console.info(result.data());
console.log(result);
}
);
require_once('crest.php');
$result = CRest::call(
'tasks.task.list',
[
'order' => [
'DEADLINE' => 'asc',
'PRIORITY' => 'desc'
],
'filter' => [
'!STATUS' => 6,
'>=DEADLINE' => date('Y-m-d'),
'RESPONSIBLE_ID' => 547,
'::SUBFILTER-PARAMS' => ['FAVORITE' => 'Y']
],
'select' => [
'ID', 'TITLE', 'DESCRIPTION', 'STATUS', 'subStatus',
'DEADLINE', 'CREATED_DATE', 'RESPONSIBLE_ID',
'ACCOMPLICES', 'AUDITORS', 'TAGS', 'COUNTERS',
'PRIORITY', 'MARK'
],
'params' => [
'WITH_TIMER_INFO' => true,
'WITH_RESULT_INFO' => true,
'WITH_PARSED_DESCRIPTION' => true,
],
]
);
echo '<PRE>';
print_r($result);
echo '</PRE>';
Обработка ответа
HTTP-статус: 200
{
"result": {
"tasks": [
{
"id": "8017",
"title": "Пример задачи",
"description": "Описание задачи с [B]форматированием[/B]",
"deadline": "2025-10-24T19:00:00+03:00",
"createdDate": "2025-06-04T16:15:55+03:00",
"responsibleId": "547",
"priority": "2",
"mark": "",
"descriptionInBbcode": "Y",
"lengthDeadline": "1",
"status": "2",
"auditors": [
"13",
"103"
],
"accomplices": [],
"group": [],
"responsible": {
"id": "547",
"name": "Мария",
"link": "/company/personal/user/547/",
"icon": "/bitrix/images/tasks/default_avatar.png",
"workPosition": "Тестировщик"
},
"accomplicesData": [],
"auditorsData": {
"13": {
"id": "13",
"name": "Иван Иванов",
"link": "/company/personal/user/13/",
"icon": "https://mysite.ru/b17053/resize_cache/209/c0120a8d7c10d63c83e32398d1ec4d9e/main/c8dd225a1c6ea0a25722d01644b90fe4/8b.jpg",
"workPosition": "Системный администратор"
},
"103": {
"id": "103",
"name": "Светлана Иванова",
"link": "/company/personal/user/103/",
"icon": "https://mysite.ru/b17053/resize_cache/8644/c0120a8d7c10d63c83e32398d1ec4d9e/main/45f/45fff10d17d398a5583184c8350cd197/buh.jpg",
"workPosition": "Бухгалтер"
}
},
"taskRequireResult": "Y",
"taskHasOpenResult": "N",
"taskHasResult": "Y",
"timeElapsed": null,
"timerIsRunningForCurrentUser": "N",
"parsedDescription": "Описание задачи с [B]форматированием[/B]",
"counter": {
"counters": {
"expired": 0,
"newComments": 0,
"projectExpired": 0,
"projectNewComments": 0,
"mutedExpired": 0,
"mutedNewComments": 0
},
"color": "gray",
"value": 0
},
"tags": {
"35": {
"id": 35,
"title": "арпар"
}
},
"subStatus": "2"
}
]
},
"total": 1,
"time": {
"start": 1761054322,
"finish": 1761054322.348041,
"duration": 0.3480410575866699,
"processing": 0,
"date_start": "2025-10-21T16:45:22+03:00",
"date_finish": "2025-10-21T16:45:22+03:00",
"operating_reset_at": 1761054922,
"operating": 0
}
}
Возвращаемые данные
|
Название |
Описание |
|
result |
Объект с данными ответа |
|
tasks |
Массив объектов, где каждый объект содержит описание задачи. Набор полей зависит от параметра |
|
total |
Общее количество найденных записей |
|
time |
Информация о времени выполнения запроса |
Обработка ошибок
HTTP-статус: 400
{
"error": "0",
"error_description": "Неверный ключ сортировки (internal error)"
}
|
Название |
Описание |
|
error |
Строковый код ошибки. Может состоять из цифр, латинских букв и знака подчеркивания |
|
error_description |
Текстовое описание ошибки. Описание не предназначено для показа конечному пользователю в необработанном виде |
Возможные коды ошибок
|
Код |
Описание |
Значение |
|
|
Неверный ключ сортировки (internal error) |
В параметре |
Статусы и коды системных ошибок
HTTP-статус: 20x, 40x, 50x
Описанные ниже ошибки могут возникнуть при вызове любого метода
|
Статус |
Код |
Описание |
|
|
|
Возникла внутренняя ошибка сервера, обратитесь к администратору сервера или в техническую поддержку Битрикс24 |
|
|
|
Возникла внутренняя ошибка сервера, обратитесь к администратору сервера или в техническую поддержку Битрикс24 |
|
|
|
Превышен лимит на интенсивность запросов |
|
|
|
Текущий метод не разрешен для вызова с помощью batch |
|
|
|
Превышена максимальная длина параметров, переданных в метод batch |
|
|
|
Неверный access-токен или код вебхука |
|
|
|
Для вызовов методов требуется использовать протокол HTTPS |
|
|
|
REST API заблокирован из-за перегрузки. Это ручная индивидуальная блокировка, для снятия необходимо обращаться в техническую поддержку Битрикс24 |
|
|
|
REST API доступен только на коммерческих планах |
|
|
|
У пользователя, с чьим access-токеном или вебхуком был вызван метод, не хватает прав |
|
|
|
Манифест недоступен |
|
|
|
Запрос требует более высоких привилегий, чем предоставляет токен вебхука |
|
|
|
Предоставленный access-токен доступа истек |
|
|
|
Пользователь не имеет доступа к приложению. Это означает, что приложение установлено, но администратор портала разрешил доступ к этому приложению только конкретным пользователям |
|
|
|
Публичная часть сайта закрыта. Чтобы открыть публичную часть сайта на коробочной установке отключите опцию «Временное закрытие публичной части сайта». Путь к настройке: Рабочий стол > Настройки > Настройки продукта > Настройки модулей > Главный модуль > Временное закрытие публичной части сайта |
Продолжите изучение
- Задачи: обзор методов
- Добавить задачу tasks.task.add
- Изменить задачу tasks.task.update
- Получить задачу по идентификатору tasks.task.get
- Удалить задачу tasks.task.delete
- Получить список полей tasks.task.getFields
- Как создать комментарий в задаче и прикрепить к нему файл
- Как загрузить файл в задачу
- Как создать задачу с прикрепленным файлом