[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"docs-bots\u002Fmessages\u002Fread":3,"docs-tabs-bots\u002Fmessages\u002Fread":6},{"content":4,"lastmod":5},"\n## Прочитать сообщения\n\n`POST \u002Fv1\u002Fbots\u002F:botId\u002Fchats\u002F:dialogId\u002Fread`\n\nОтмечает сообщения как прочитанные от имени бота. Без `messageId` прочитает все сообщения в чате.\n\n## Параметры\n\n| Параметр | Тип | Обяз. | По умолч. | Описание |\n|----------|-----|:-----:|-----------|---------|\n| `botId` (path) | number | да | — | ID бота |\n| `dialogId` (path) | string | да | — | ID диалога: числовой ID пользователя для личных сообщений, `chatXXX` для групповых |\n| `messageId` (body) | number | нет | — | Прочитать все сообщения до этого включительно. Без параметра — прочитать все |\n\n## Примеры\n\n### curl — личный ключ\n\n```bash\ncurl -X POST https:\u002F\u002Fvibecode.bitrix24.tech\u002Fv1\u002Fbots\u002F42\u002Fchats\u002Fchat456\u002Fread \\\n  -H \"X-Api-Key: YOUR_API_KEY\" \\\n  -H \"Content-Type: application\u002Fjson\" \\\n  -d '{ \"messageId\": 1501 }'\n```\n\n### curl — OAuth-приложение\n\n```bash\ncurl -X POST https:\u002F\u002Fvibecode.bitrix24.tech\u002Fv1\u002Fbots\u002F42\u002Fchats\u002Fchat456\u002Fread \\\n  -H \"X-Api-Key: YOUR_APP_KEY\" \\\n  -H \"Authorization: Bearer USER_SESSION_TOKEN\" \\\n  -H \"Content-Type: application\u002Fjson\" \\\n  -d '{ \"messageId\": 1501 }'\n```\n\n### JavaScript — личный ключ\n\n```javascript\nconst res = await fetch('https:\u002F\u002Fvibecode.bitrix24.tech\u002Fv1\u002Fbots\u002F42\u002Fchats\u002Fchat456\u002Fread', {\n  method: 'POST',\n  headers: {\n    'X-Api-Key': 'YOUR_API_KEY',\n    'Content-Type': 'application\u002Fjson',\n  },\n  body: JSON.stringify({ messageId: 1501 }),\n})\n\nconst { success, data } = await res.json()\nconsole.log('Прочитано до:', data.lastId)\n```\n\n### JavaScript — OAuth-приложение\n\n```javascript\nconst res = await fetch('https:\u002F\u002Fvibecode.bitrix24.tech\u002Fv1\u002Fbots\u002F42\u002Fchats\u002Fchat456\u002Fread', {\n  method: 'POST',\n  headers: {\n    'X-Api-Key': 'YOUR_APP_KEY',\n    'Authorization': 'Bearer USER_SESSION_TOKEN',\n    'Content-Type': 'application\u002Fjson',\n  },\n  body: JSON.stringify({ messageId: 1501 }),\n})\n\nconst { success, data } = await res.json()\n```\n\n## Поля ответа\n\n| Поле | Тип | Описание |\n|------|-----|---------|\n| `chatId` | number | ID чата |\n| `lastId` | number | ID последнего прочитанного сообщения |\n| `counter` | number | Оставшееся количество непрочитанных |\n| `viewedMessages` | number[] | ID прочитанных сообщений |\n\n## Пример ответа\n\n```json\n{\n  \"success\": true,\n  \"data\": {\n    \"chatId\": 456,\n    \"lastId\": 1501,\n    \"counter\": 0,\n    \"viewedMessages\": [1499, 1500, 1501]\n  }\n}\n```\n\n## Пример ответа при ошибке\n\n404 — бот не найден:\n\n```json\n{\n  \"success\": false,\n  \"error\": {\n    \"code\": \"BOT_NOT_FOUND\",\n    \"message\": \"Bot 999 not found. Register it first via POST \u002Fv1\u002Fbots.\"\n  }\n}\n```\n\n## Ошибки\n\n| HTTP | Код | Описание |\n|------|-----|---------|\n| 400 | `INVALID_BOT_ID` | `botId` не является числом |\n| 404 | `BOT_NOT_FOUND` | Бот с таким ID не найден |\n| 403 | `BOT_ACCESS_DENIED` | Бот принадлежит другому API-ключу |\n| 502 | `BITRIX_ERROR` | Ошибка Битрикс24 (текст ошибки в `message`) |\n| 403 | `SCOPE_DENIED` | API-ключ не имеет скоупа `imbot` |\n| 401 | `TOKEN_MISSING` | API-ключ не имеет настроенных токенов |\n\nПолный список общих ошибок API — [Ошибки](\u002Fdocs\u002Ferrors).\n\n## Известные особенности\n\n**Без messageId:** если не передать `messageId`, будут прочитаны все сообщения в чате.\n\n**Чтение до сообщения:** при указании `messageId` прочитываются все сообщения до указанного включительно, а не только это одно сообщение.\n\n## Смотрите также\n\n- [Отправить сообщение](\u002Fdocs\u002Fbots\u002Fmessages\u002Fsend)\n- [Получить сообщение](\u002Fdocs\u002Fbots\u002Fmessages\u002Fget)\n- [События](\u002Fdocs\u002Fbots\u002Fevents)\n- [Бот-платформа](\u002Fdocs\u002Fbots)\n- [Лимиты и оптимизация](\u002Fdocs\u002Foptimization)\n","2026-06-16",{}]