[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"docs-entities\u002Ftasks\u002Fchat":3,"docs-tabs-entities\u002Ftasks\u002Fchat":6},{"content":4,"lastmod":5},"# Чат задачи\n\n`GET \u002Fv1\u002Ftasks\u002F:taskId\u002Fchat\u002Fmessages`\n\nЧитает ленту чата задачи — новые сообщения первыми. У каждой задачи в Битрикс24 есть групповой чат, и эндпоинт сам определяет чат по ID задачи — знать ID чата не нужно. Типичный сценарий — выгрузка финальных сообщений по закрытой задаче.\n\nБитрикс24 API: `im.v2.Chat.Message.tail` (на старых порталах — `im.dialog.messages.get`)\nСкоуп: `task`, `im`\n\n## Параметры запроса (query)\n\n| Параметр | Тип | Обяз. | Описание |\n|----------|-----|:-----:|---------|\n| `limit` | number | | Сообщений на страницу, 1..200, по умолчанию 50 |\n| `lastId` | number | | Курсор: вернуть сообщения старше этого `id`. Для следующей страницы передайте минимальный `id` из текущей |\n\n## Пример\n\n```bash\ncurl \"https:\u002F\u002Fvibecode.bitrix24.tech\u002Fv1\u002Ftasks\u002F53\u002Fchat\u002Fmessages?limit=50\" \\\n  -H \"X-Api-Key: YOUR_API_KEY\"\n```\n\nОтвет:\n\n```json\n{\n  \"success\": true,\n  \"data\": {\n    \"messages\": [\n      {\n        \"id\": 9123,\n        \"authorId\": 20294,\n        \"text\": \"Релиз 24.500.0 готов\",\n        \"createdAt\": \"2026-06-10T14:51:00+02:00\",\n        \"isSystem\": false\n      }\n    ],\n    \"hasNextPage\": true\n  }\n}\n```\n\n## Поля сообщения\n\n| Поле | Описание |\n|------|---------|\n| `id` | ID сообщения — используйте минимальный из страницы как `lastId` для следующей |\n| `authorId` | Автор (`0` у системных сообщений) |\n| `text` | Текст сообщения. Может содержать BB-коды Битрикс24 |\n| `createdAt` | Дата создания, ISO 8601 |\n| `isSystem` | Системное сообщение («задача поставлена», «срок изменён», …) — фильтруйте по этому флагу, если нужны только реплики людей |\n\n## Что нужно знать перед работой\n\n1. **Нужен скоуп `im` на стороне Битрикс24.** Эндпоинт читает чат через `im.*`-методы Битрикс24 — вебхук или OAuth-грант ключа должен включать скоуп `im` помимо `task`, иначе портал вернёт `insufficient_scope`.\n2. **Доступ — по членству в чате.** Битрикс24 отдаёт сообщения, только если пользователь, от имени которого работает ключ, — участник чата задачи (постановщик, исполнитель, наблюдатель) или администратор портала.\n3. **Сообщения идут от новых к старым.** Первый элемент — самое свежее сообщение. Пагинация курсором `lastId` уходит вглубь истории.\n4. **404, если чата ещё нет.** Битрикс24 создаёт чат задачи не сразу — у задачи без единого сообщения чата может не быть (`TASK_CHAT_NOT_FOUND`).\n5. **Старые порталы.** На порталах без современной `im.v2`-поверхности API прозрачно переключается на устаревший метод: страница там ограничена 50 сообщениями, а `hasNextPage` вычисляется по заполненности страницы.\n6. **Комментарии и чат.** [`GET \u002Fv1\u002Ftasks\u002F:taskId\u002Fcomments`](..\u002Ftask-comments.md) возвращает только пользовательские комментарии. Этот эндпоинт — сырую ленту чата целиком, включая системные сообщения.\n\n## Ошибки\n\n| HTTP | Код | Причина |\n|------|-----|---------|\n| 400 | `INVALID_PARAMS` | Нечисловой `taskId`, нечисловой или неположительный `limit` либо `lastId`. Значение `limit` больше 200 не ошибка — оно ограничивается до 200 |\n| 403 | `SCOPE_DENIED` | У ключа нет скоупа `task` |\n| 404 | `TASK_CHAT_NOT_FOUND` | У задачи нет чата (или задачи не существует) |\n| 422 | `BITRIX_ERROR` | Ошибка Битрикс24: `insufficient_scope` (нет `im`), `ACCESS_ERROR` (не участник чата) |\n\n## Смотрите также\n\n- [Задачи](..\u002Ftasks.md) — родительская сущность\n- [Комментарии задач](..\u002Ftask-comments.md) — отфильтрованные пользовательские комментарии + отправка\n- [Scrum](\u002Fdocs\u002Fscrum) — эпики и скрам-размещение задач\n","2026-07-07",{}]