Для AI-агентов: markdown этой страницы — /docs-content/entities/tasks/chat.md индекс документации — /llms.txt

Чат задачи

GET /v1/tasks/:taskId/chat/messages

Читает ленту чата задачи — новые сообщения первыми. У каждой задачи в Битрикс24 есть групповой чат, и эндпоинт сам определяет чат по ID задачи — знать ID чата не нужно. Типичный сценарий — выгрузка финальных сообщений по закрытой задаче.

Общий параметр filter этим эндпоинтом не применяется. По умолчанию API сохраняет прежний ответ HTTP 200 и прежние данные, добавляет заголовок Warning: 299 - "filter is not supported on this endpoint and was ignored", а сервер фиксирует использование неподдерживаемого фильтра в журнале.

Параметры

Параметр Тип Обяз. Описание
ПараметрtaskId (path) Типnumber Обяз.да ОписаниеID задачи. Список: GET /v1/tasks
Параметрlimit (query) Типnumber Обяз.нет ОписаниеСообщений на страницу, 1..200, по умолчанию 50. Для ключа только для чтения — не больше 50: большее значение уменьшается до 50
ПараметрlastId (query) Типnumber Обяз.нет ОписаниеКурсор: вернуть сообщения старше этого id. Для следующей страницы передайте минимальный id из текущей

Примеры

curl — личный ключ

Terminal
curl 'https://vibecode.bitrix24.tech/v1/tasks/289/chat/messages?limit=50' \
  -H 'X-Api-Key: YOUR_API_KEY'

curl — OAuth-приложение

Terminal
curl 'https://vibecode.bitrix24.tech/v1/tasks/289/chat/messages?limit=50' \
  -H 'X-Api-Key: YOUR_APP_KEY' \
  -H 'Authorization: Bearer USER_SESSION_TOKEN'

JavaScript — личный ключ

javascript
const response = await fetch('https://vibecode.bitrix24.tech/v1/tasks/289/chat/messages?limit=50', {
  headers: {
    'X-Api-Key': 'YOUR_API_KEY',
  },
})
const result = await response.json()
console.log(result.data.messages)

JavaScript — OAuth-приложение

javascript
const response = await fetch('https://vibecode.bitrix24.tech/v1/tasks/289/chat/messages?limit=50', {
  headers: {
    'X-Api-Key': 'YOUR_APP_KEY',
    'Authorization': 'Bearer USER_SESSION_TOKEN',
  },
})
const result = await response.json()
console.log(result.data.messages)

Поля ответа

Поле Тип Описание
Полеsuccess Типboolean Описаниеtrue при успехе
Полеdata.messages Типarray ОписаниеСообщения страницы, от новых к старым
Полеdata.messages[].id Типnumber ОписаниеID сообщения — используйте минимальный из страницы как lastId для следующей
Полеdata.messages[].authorId Типnumber ОписаниеАвтор (0 у системных сообщений)
Полеdata.messages[].text Типstring ОписаниеТекст сообщения. Может содержать BB-коды Битрикс24
Полеdata.messages[].createdAt Типstring ОписаниеДата создания, ISO 8601
Полеdata.messages[].isSystem Типboolean ОписаниеСистемное сообщение («задача поставлена», «срок изменён», …) — фильтруйте по этому флагу, если нужны только реплики людей
Полеdata.hasNextPage Типboolean ОписаниеЕсть ли следующая страница. При true передайте минимальный id текущей страницы как lastId

Пример ответа

JSON
{
  "success": true,
  "data": {
    "messages": [
      {
        "id": 43247,
        "authorId": 0,
        "text": "[USER=1]Иван Петров[/USER] начал выполнять задачу",
        "createdAt": "2026-10-19T18:20:03+03:00",
        "isSystem": true
      },
      {
        "id": 43241,
        "authorId": 0,
        "text": "[USER=1]Иван Петров[/USER] создал [URL=/company/personal/user/1/tasks/task/view/289/]задачу[/URL]",
        "createdAt": "2026-10-19T18:20:00+03:00",
        "isSystem": true
      }
    ],
    "hasNextPage": false
  }
}

Пример ответа при ошибке

404 — у задачи нет чата или задачи не существует:

JSON
{
  "success": false,
  "error": {
    "code": "TASK_CHAT_NOT_FOUND",
    "message": "Task 289 has no chat yet (B24 allocates the chat lazily) or the task does not exist."
  }
}

Ошибки

HTTP Код Описание
HTTP200 КодWarning: 299 ОписаниеФильтр игнорируется по умолчанию; прежние данные сохраняются, предупреждение передаётся заголовком Warning.
HTTP400 только при включённом строгом режиме КодUNSUPPORTED_FILTER ОписаниеСерверный режим выключен по умолчанию; до его включения эндпоинт сохраняет HTTP 200 и прежние данные.
HTTP400 КодINVALID_PARAMS ОписаниеtaskId не положительное целое число: taskId must be a positive integer
HTTP400 КодINVALID_PARAMS Описаниеlimit не положительное целое число: limit must be a positive integer (1..200). Значение limit больше 200 не ошибка — оно ограничивается до 200, для ключа только для чтения — до 50
HTTP400 КодINVALID_PARAMS ОписаниеlastId не положительное целое число: lastId must be a positive integer (message id cursor)
HTTP401 КодMISSING_API_KEY ОписаниеНе передан X-Api-Key
HTTP401 КодINVALID_API_KEY ОписаниеКлюч не найден
HTTP401 КодTOKEN_MISSING ОписаниеУ ключа нет действующего токена Битрикс24
HTTP403 КодSCOPE_DENIED ОписаниеУ ключа нет скоупа task
HTTP404 КодTASK_CHAT_NOT_FOUND ОписаниеУ задачи нет чата (или задачи не существует)
HTTP422 КодBITRIX_ERROR ОписаниеОшибка Битрикс24: insufficient_scope (нет im), ACCESS_ERROR (не участник чата)

Полный список общих ошибок API — Ошибки.

Известные особенности

  • Нужен скоуп im на стороне Битрикс24. Эндпоинт читает чат через im.*-методы Битрикс24 — вебхук или OAuth-грант ключа должен включать скоуп im помимо task, иначе портал вернёт insufficient_scope.
  • Доступ — по членству в чате. Битрикс24 отдаёт сообщения, только если пользователь, от имени которого работает ключ, — участник чата задачи (постановщик, исполнитель, наблюдатель) или администратор портала. Ключ только для чтения читает ленту другим способом, который не делает пользователя участником чата, поэтому его страница — не больше 50 сообщений при любом limit. hasNextPage у такого ключа означает, что страница заполнена целиком: если на последней странице ровно столько сообщений, сколько на неё помещается, придёт true, а следующий запрос вернёт пустую страницу с false. Листайте курсором lastId до hasNextPage: false. До 200 сообщений на страницу отдаётся ключу с правом записи, см. права доступа.
  • Сообщения идут от новых к старым. Первый элемент — самое свежее сообщение. Пагинация курсором lastId уходит вглубь истории.
  • 404, если чата ещё нет. Битрикс24 создаёт чат задачи не сразу — у задачи без единого сообщения чата может не быть (TASK_CHAT_NOT_FOUND).
  • Старые порталы. На порталах без современной im.v2-поверхности API прозрачно переключается на устаревший метод: страница там ограничена 50 сообщениями, а hasNextPage вычисляется по заполненности страницы.
  • Комментарии и чат. GET /v1/tasks/:taskId/comments возвращает только пользовательские комментарии. Этот эндпоинт — сырую ленту чата целиком, включая системные сообщения.

Смотрите также