Методы tasks.task.add и tasks.task.update — основа программного управления задачами в Битрикс24. Через них внешняя система ставит задачи менеджерам, меняет статусы, сроки и исполнителей. Разберём структуру поля fields, обязательные параметры и подводные камни при массовой постановке задач.
tasks.task.add: минимальный запрос
Метод tasks.task.add принимает единственный параметр — объект fields с полями задачи. Обязательны всего два: TITLE (название) и RESPONSIBLE_ID (ID исполнителя).
POST https://portal.bitrix24.ru/rest/1/xxxx/tasks.task.add.json
{ "fields": { "TITLE": "Подготовить КП", "RESPONSIBLE_ID": 4, "DEADLINE": "2026-07-22T18:00:00+03:00", "DESCRIPTION": "Смета по проекту X" } }
В ответе — объект task с полным набором полей созданной задачи, включая присвоенный id. Обратите внимание: в ответах современного метода ключи приходят в нижнем регистре (id, title), а в запросе fields поля пишутся в верхнем регистре.
CREATED_BY) по умолчанию становится пользователь, чьим токеном или вебхуком выполнен запрос. Чтобы явно указать другого автора, передайте CREATED_BY в fields.Основные поля задачи
Полный перечень полей возвращает метод tasks.task.getFields — им удобно свериться перед интеграцией. Наиболее востребованные:
| Поле | Тип | Назначение |
|---|---|---|
TITLE | string | Название (обязательно) |
RESPONSIBLE_ID | int | Исполнитель (обязательно) |
DEADLINE | datetime | Крайний срок |
GROUP_ID | int | Проект/рабочая группа |
ACCOMPLICES | array | Соисполнители |
AUDITORS | array | Наблюдатели |
PARENT_ID | int | Родительская задача |
PRIORITY | int | 0 низкий, 1 обычный, 2 высокий |
UF_CRM_TASK | array | Привязка к CRM (сделки, лиды) |
Привязка к CRM задаётся префиксами: "UF_CRM_TASK": ["D_15", "L_7"] — где D_ сделка, L_ лид, C_ контакт, CO_ компания.
tasks.task.update: изменение задачи
Метод tasks.task.update принимает taskId и объект fields только с изменяемыми полями. Передавать всю задачу целиком не нужно.
{ "taskId": 512, "fields": { "DEADLINE": "2026-07-25T18:00:00+03:00", "RESPONSIBLE_ID": 9 } }
Смена исполнителя, перенос дедлайна, добавление наблюдателей — всё через один метод. Для управления жизненным циклом статуса есть отдельные удобные методы:
tasks.task.start— взять в работу;tasks.task.complete— завершить;tasks.task.renew— вернуть в работу;tasks.task.defer— отложить;tasks.task.delegate— делегировать другому исполнителю.
STATUS можно менять и напрямую через update, но специализированные методы дополнительно запускают бизнес-логику (уведомления, проверку прав, автоматизацию), поэтому предпочтительнее.Сроки, даты и часовые пояса
Все даты в задачах — DEADLINE, START_DATE_PLAN, END_DATE_PLAN — принимаются в формате ISO 8601 с указанием смещения пояса, например 2026-07-22T18:00:00+03:00.
2026-07-22 18:00:00 будет интерпретирована в часовом поясе портала, а не пользователя. При интеграции внешних систем это частая причина «сдвига» дедлайнов. Всегда указывайте смещение или приводите время к поясу портала явно.Планируемые трудозатраты задаются в секундах через TIME_ESTIMATE. Флаг ALLOW_TIME_TRACKING со значением Y включает учёт рабочего времени по задаче.
Связанные сущности при создании
За один вызов tasks.task.add можно не только создать задачу, но и подготовить сопутствующие данные, хотя чек-листы и файлы обычно добавляют отдельными вызовами. Практичная последовательность интеграции:
- Создать задачу через
tasks.task.add, получитьid; - Добавить пункты чек-листа методом
task.checklistitem.add; - Прикрепить файлы через
tasks.task.files.attach(файл заранее загружается в диск); - При необходимости оставить комментарий
task.commentitem.add.
Такой порядок гарантирует, что все дочерние сущности привязаны к уже существующему ID и не потеряются при ошибке на любом из шагов.
Типичные ошибки и лимиты
При массовой постановке задач учитывайте ограничения REST и логику прав доступа.
- Права. Ставить задачу можно только тем пользователям, к которым у аккаунта интеграции есть доступ; иначе вернётся ошибка доступа.
- Несуществующий RESPONSIBLE_ID. Метод вернёт ошибку — предварительно проверяйте пользователей через
user.get. - Лимит частоты. REST ограничивает число запросов в секунду; при пакетной загрузке используйте
batch— до 50 команд в одном запросе.
Пакетная постановка через batch радикально снижает число обращений и ускоряет импорт. Ответы каждой команды доступны по её ключу в result.
Итог
Связка tasks.task.add и tasks.task.update покрывает создание и любое изменение задач: исполнители, сроки, приоритеты, привязка к CRM и проектам. Для смены статусов предпочтительны специализированные методы, для массовой загрузки — batch. Главные риски — часовые пояса в датах и права доступа аккаунта интеграции.
Мы разрабатываем интеграции, где задачи в Битрикс24 ставятся автоматически: из заявок сайта, событий 1С или внешней ERP. Настроим корректную обработку ошибок, пакетную загрузку и бизнес-логику постановки, чтобы менеджеры получали задачи вовремя и без дублей.
Частые вопросы
Какие поля обязательны в tasks.task.add?
Минимально нужны TITLE (название) и RESPONSIBLE_ID (ID исполнителя). Остальные поля, включая дедлайн и описание, опциональны.
Как узнать полный список доступных полей задачи?
Вызовите tasks.task.getFields — он вернёт описание всех полей с типами и признаком обязательности. Это надёжнее, чем ориентироваться на документацию по памяти.
Нужно ли передавать всю задачу в tasks.task.update?
Нет, достаточно taskId и только тех полей в объекте fields, которые меняются. Остальные значения останутся прежними.
Как правильно передать дедлайн?
Используйте формат ISO 8601 со смещением пояса, например 2026-07-22T18:00:00+03:00. Дата без пояса будет интерпретирована в часовом поясе портала.
Как привязать задачу к сделке CRM?
Передайте поле UF_CRM_TASK с массивом идентификаторов с префиксами: D_ для сделки, L_ для лида, C_ для контакта, CO_ для компании.
Чем менять статус — update или отдельными методами?
Предпочтительнее методы tasks.task.complete, start, renew, defer: они запускают уведомления и бизнес-логику, тогда как прямая правка STATUS этого не делает.
Как ускорить массовую постановку задач?
Используйте метод batch — до 50 команд в одном запросе. Это снижает число обращений и обходит ограничение по частоте запросов.
Поможем с настройкой и поддержкой Для разработчиков
Поможем с настройкой, доработкой и поддержкой Для разработчиков.