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

Отметить сообщения прочитанными

POST /v1/chats/messages/read

Отмечает прочитанными перечисленные сообщения. Все сообщения должны быть из одного чата. Чат определяется по ним, dialogId не нужен.

Поля запроса (body)

Поле Тип Обяз. Описание
ids number[] да От 1 до 100 ID сообщений одного чата — числа или строки из цифр. ID — из ленты чата (GET /v1/chats/:dialogId/messages)

Другие поля тела и параметры строки запроса отклоняются с 400 INVALID_PARAMS.

Примеры

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

Terminal
curl -X POST https://vibecode.bitrix24.tech/v1/chats/messages/read \
  -H "X-Api-Key: YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{ "ids": [1001, 1002] }'

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

Terminal
curl -X POST https://vibecode.bitrix24.tech/v1/chats/messages/read \
  -H "X-Api-Key: YOUR_APP_KEY" \
  -H "Authorization: Bearer USER_SESSION_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{ "ids": [1001, 1002] }'

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

javascript
const res = await fetch('https://vibecode.bitrix24.tech/v1/chats/messages/read', {
  method: 'POST',
  headers: {
    'X-Api-Key': 'YOUR_API_KEY',
    'Content-Type': 'application/json',
  },
  body: JSON.stringify({ ids: [1001, 1002] }),
})

const { data } = await res.json()
console.log('Осталось непрочитанных:', data.counter)

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

javascript
const res = await fetch('https://vibecode.bitrix24.tech/v1/chats/messages/read', {
  method: 'POST',
  headers: {
    'X-Api-Key': 'YOUR_APP_KEY',
    'Authorization': 'Bearer USER_SESSION_TOKEN',
    'Content-Type': 'application/json',
  },
  body: JSON.stringify({ ids: [1001, 1002] }),
})

const { data } = await res.json()
console.log('Осталось непрочитанных:', data.counter)

Поля ответа

Поле Тип Описание
success boolean Всегда true при успехе
data.chatId number ID чата сообщений
data.lastId number ID последнего сообщения чата
data.counter number Количество непрочитанных сообщений, оставшихся после операции
data.viewedMessages array ID сообщений, отмеченных этим вызовом

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

JSON
{
  "success": true,
  "data": {
    "chatId": 42,
    "lastId": 1002,
    "counter": 0,
    "viewedMessages": [1001, 1002]
  }
}

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

422 — сообщения из разных чатов:

JSON
{
  "success": false,
  "error": {
    "code": "BITRIX_ERROR",
    "message": "MESSAGES_IN_DIFFERENT_CHAT_ERROR",
    "b24Code": "MESSAGES_IN_DIFFERENT_CHAT_ERROR"
  }
}

Ошибки

HTTP Код Описание
400 INVALID_PARAMS ids нет, это не массив от 1 до 100 положительных целых (номер плохого элемента называется), лишнее поле тела или параметр строки запроса. Проверяется до обращения к Битрикс24
422 BITRIX_ERROR Битрикс24 отказал. Код — в error.b24Code: MESSAGES_IN_DIFFERENT_CHAT_ERROR — сообщения из разных чатов, MESSAGE_NOT_FOUND — сообщения нет
404 ENTITY_NOT_FOUND Битрикс24 вернул код NOT_FOUND. Код портала — в error.b24Code
403 BITRIX_ACCESS_DENIED У пользователя нет доступа к чату сообщений — Битрикс24 отказал с кодом ACCESS_DENIED
403 SCOPE_DENIED Ключу не хватает скоупа im
403 WRITE_BLOCKED_READONLY_KEY Ключ в режиме «только чтение»
401 TOKEN_MISSING API-ключ не имеет настроенных токенов Битрикс24

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

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