#Отметить прочитанным

POST /v1/chats/:dialogId/read

Отмечает сообщения диалога прочитанными. Без параметра messageId прочитываются все сообщения. Алиас me в качестве dialogId адресует личный диалог текущего пользователя — подробнее в Обзоре чатов.

#Параметры

Параметр Тип Обяз. По умолч. Описание
dialogId (path) string да ID диалога: числовой ID пользователя для личных сообщений, chatXXX для групповых. Специальный алиас me — личный диалог текущего пользователя

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

Поле Тип Обяз. Описание
messageId number нет Прочитать все сообщения до указанного включительно. Без параметра — прочитать все сообщения в диалоге

#Примеры

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

Terminal
curl -X POST "https://vibecode.bitrix24.tech/v1/chats/chat42/read" \
  -H "X-Api-Key: YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{ "messageId": 1002 }'

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

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

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

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

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

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

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

const { success, data } = await res.json()

#Поля ответа

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

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

JSON
{
  "success": true,
  "data": {
    "dialogId": "chat42",
    "chatId": 42,
    "lastId": 1002,
    "counter": 0
  }
}

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

404 — диалог не найден или нет доступа:

JSON
{
  "success": false,
  "error": {
    "code": "DIALOG_NOT_FOUND_OR_NO_ACCESS",
    "message": "Dialog does not exist or you cannot access it."
  }
}

#Ошибки

HTTP Код Описание
404 DIALOG_NOT_FOUND_OR_NO_ACCESS Диалог не существует или нет доступа к нему
422 BITRIX_ERROR Битрикс24 вернул ошибку (текст в поле message)
502 BITRIX_UNAVAILABLE Битрикс24 недоступен или вернул ошибку сервера
502 ME_ALIAS_RESOLUTION_FAILED Не удалось определить пользователя при использовании алиаса me
403 SCOPE_DENIED Ключу не хватает скоупа im
401 TOKEN_MISSING Не передан X-Api-Key или не настроены токены

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

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

Диапазон прочтения. При передаче messageId прочитываются все сообщения с ID от начала до указанного включительно, а не только одно конкретное сообщение.

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