Чек-листы и комментарии дополняют задачу деталями: подзадачами внутри пункта и историей обсуждения. В REST Битрикс24 за них отвечают отдельные семейства — task.checklistitem.* и task.commentitem.*.
Два семейства вокруг задачи
Задача (tasks.task) — контейнер, но вся детализация внутри неё живёт в дочерних сущностях. Чек-лист — это список пунктов с отметкой выполнения, комментарии — лента сообщений. Оба семейства относятся к скоупу task и всегда работают в привязке к идентификатору задачи.
task.checklistitem.*— CRUD и действия над пунктами чек-листа;task.commentitem.*— CRUD над комментариями.
TASKID), вторым — данные или ID элемента.Добавление пункта чек-листа
Метод task.checklistitem.add принимает ID задачи и объект полей. Минимум — заголовок пункта:
POST /rest/1/xxxx/task.checklistitem.add.json
{"TASKID":142,"FIELDS":{"TITLE":"Согласовать смету","SORT_INDEX":10,"IS_COMPLETE":"N"}}
Полезные поля пункта:
| Поле | Смысл |
|---|---|
TITLE | текст пункта |
SORT_INDEX | порядок сортировки |
IS_COMPLETE | выполнен (Y/N) |
IS_IMPORTANT | помечен как важный |
PARENT_ID | вложенность пункта |
Метод вернёт ID нового пункта, который пригодится для дальнейших операций.
Управление пунктами
Над созданным пунктом доступен набор действий:
task.checklistitem.get— получить один пункт (TASKID, ITEMID);task.checklistitem.getlist— все пункты задачи;task.checklistitem.update— изменить поля;task.checklistitem.delete— удалить;task.checklistitem.complete/renew— отметить выполненным или снять отметку;task.checklistitem.movesort— переставить пункт (задать AFTER_ITEM_ID);task.checklistitem.isactionallowed— проверить, разрешено ли действие текущему пользователю.
Отметку выполнения лучше ставить именно через complete, а не через update с IS_COMPLETE=Y — так корректно фиксируется автор и время действия.
Комментарии: task.commentitem.add
Комментарий добавляется к задаче методом task.commentitem.add. Обязательный параметр — текст сообщения:
POST /rest/1/xxxx/task.commentitem.add.json
{"TASKID":142,"FIELDS":{"POST_MESSAGE":"Смета готова, приложил файл.","AUTHOR_ID":17}}
Текст в POST_MESSAGE поддерживает BB-код: [B], [URL], упоминания [USER=17]Имя[/USER]. Если AUTHOR_ID не указан, автором станет пользователь вызова.
Чтение и правка комментариев
Остальные методы семейства предсказуемы:
task.commentitem.getlist— лента комментариев задачи, с сортировкой по дате;task.commentitem.get— один комментарий (TASKID, ITEMID);task.commentitem.update— редактировать текст;task.commentitem.delete— удалить.
Через getlist удобно строить синхронизацию обсуждений: например, переносить сообщения из внешнего хелпдеска в задачу и обратно. Для регулярной выгрузки комбинируйте вызовы в batch, чтобы уложиться в лимиты API.
Типовые сценарии автоматизации
Связка чек-листов и комментариев закрывает частые задачи интеграций:
- Шаблоны работ. При создании задачи из внешней CRM автоматически наполняем чек-лист стандартными пунктами процесса.
- Прогресс во внешней системе. Считаем долю выполненных пунктов через
getlistи отражаем процент готовности на портале клиента. - Синхронизация переписки. Сообщения из мессенджера или почты складываем в комментарии задачи, сохраняя единую историю.
Итог
Чек-листы (task.checklistitem.*) и комментарии (task.commentitem.*) — это детализация и история задачи. Работайте через профильные действия (complete, renew), храните карту внешних идентификаторов и группируйте вызовы в batch.
Мы собираем такие сценарии в надёжные интеграции: шаблоны работ, синхронизацию обсуждений и отражение прогресса во внешних кабинетах — с логированием и защитой от дублей. Поможем спроектировать обмен и поддерживать его в рабочем состоянии.
Частые вопросы
Как отметить пункт чек-листа выполненным?
Вызовите task.checklistitem.complete с параметрами TASKID и ITEMID. Это корректнее, чем update с IS_COMPLETE=Y, потому что фиксирует автора и время отметки.
Как получить все пункты чек-листа задачи?
Метод task.checklistitem.getlist принимает ID задачи и возвращает массив пунктов с их полями, включая IS_COMPLETE и SORT_INDEX.
Можно ли делать вложенные пункты?
Да, укажите PARENT_ID при добавлении пункта — он станет подпунктом указанного элемента чек-листа.
Как упомянуть сотрудника в комментарии?
Используйте BB-код упоминания в POST_MESSAGE: [USER=17]Иван[/USER]. Сотрудник получит уведомление об упоминании в задаче.
От чьего имени создаётся комментарий?
Если передать AUTHOR_ID, автором будет указанный пользователь. Без него автором станет тот, чьим токеном или вебхуком выполнен запрос.
Как переставить пункт чек-листа?
Метод task.checklistitem.movesort перемещает пункт: передайте ITEMID и AFTER_ITEM_ID — пункт встанет после указанного элемента.
Можно ли редактировать чужой комментарий?
Технически task.commentitem.update доступен, но фактическая возможность зависит от прав пользователя вызова на задачу. Проверить право заранее помогает isactionallowed для чек-листов.
Как избежать дублей при интеграции?
Ведите таблицу соответствия внешних идентификаторов и ID пунктов или комментариев Битрикс24. Перед добавлением проверяйте, не был ли элемент уже создан.
Поможем с настройкой и поддержкой Для разработчиков
Поможем с настройкой, доработкой и поддержкой Для разработчиков.