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

Ответить на уведомление

POST /v1/notifications/:id/answer

Отправляет текстовый ответ на уведомление от имени владельца токена. Как обработать ответ, решает модуль портала, который прислал уведомление.

Параметры

Параметр Тип Обяз. Описание
id (path) number да Идентификатор уведомления — поле data.notifications[].id в ленте уведомлений GET /v1/notifications. Положительное целое число

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

Поле Тип Обяз. Описание
text string да Текст ответа. Строка из одних пробелов и строка "0" не принимаются

Примеры

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

Terminal
curl -X POST "https://vibecode.bitrix24.tech/v1/notifications/38963/answer" \
  -H "X-Api-Key: YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{ "text": "Принято, спасибо" }'

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

Terminal
curl -X POST "https://vibecode.bitrix24.tech/v1/notifications/38963/answer" \
  -H "X-Api-Key: YOUR_APP_KEY" \
  -H "Authorization: Bearer USER_SESSION_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{ "text": "Принято, спасибо" }'

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

javascript
const res = await fetch('https://vibecode.bitrix24.tech/v1/notifications/38963/answer', {
  method: 'POST',
  headers: {
    'X-Api-Key': 'YOUR_API_KEY',
    'Content-Type': 'application/json',
  },
  body: JSON.stringify({ text: 'Принято, спасибо' }),
})

const { data } = await res.json()
console.log(data.resultMessage[0])

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

javascript
const res = await fetch('https://vibecode.bitrix24.tech/v1/notifications/38963/answer', {
  method: 'POST',
  headers: {
    'X-Api-Key': 'YOUR_APP_KEY',
    'Authorization': 'Bearer USER_SESSION_TOKEN',
    'Content-Type': 'application/json',
  },
  body: JSON.stringify({ text: 'Принято, спасибо' }),
})

const { data } = await res.json()

Поля ответа

Поле Тип Описание
success boolean true при успешном выполнении
data.resultMessage string[] Сообщения о результате. Текст формирует Битрикс24 — экранируйте его перед выводом в интерфейсе

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

HTTP 200:

JSON
{
  "success": true,
  "data": {
    "resultMessage": ["Ваш ответ успешно отправлен."]
  }
}

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

422 — уведомления с таким id нет у владельца токена:

JSON
{
  "success": false,
  "error": {
    "code": "BITRIX_ERROR",
    "message": "Notification is absent, unavailable to the token owner, or cannot perform this action.",
    "b24Code": "NOTIFICATION_ACTION_FAILED"
  }
}

Ошибки

HTTP Код Описание
400 INVALID_PARAMS id в пути — не положительное целое число
400 INVALID_PARAMS text не передан, передан не строкой, состоит из одних пробелов или равен "0"
400 INVALID_PARAMS Передано другое поле тела или параметр строки запроса либо тело не является объектом JSON. Поле названо в сообщении. Проверяется до обращения к Битрикс24
400 FST_ERR_CTP_EMPTY_JSON_BODY Передан заголовок Content-Type: application/json, а тело пустое
422 BITRIX_ERROR Уведомления нет, оно недоступно владельцу токена или не принимает ответ. Код портала NOTIFICATION_ACTION_FAILED — в поле error.b24Code
502 BITRIX_UNAVAILABLE Битрикс24 вернул ответ без списка сообщений о результате
403 SCOPE_DENIED У ключа нет скоупа im
403 WRITE_BLOCKED_READONLY_KEY Ключ в режиме «только чтение». Проверяется до обращения к Битрикс24
403 BITRIX_ACCESS_DENIED Битрикс24 отказал в доступе
401 TOKEN_MISSING У ключа нет настроенных токенов
401 MISSING_API_KEY Не передан заголовок X-Api-Key

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

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

  • Ответ принимается и на уведомление без поля для ответа, например на отправленное через POST /v1/notifications. Сообщение в data.resultMessage подтверждает только то, что портал принял ответ, а не то, что модуль-источник его обработал.
  • Повторный ответ на то же уведомление тоже возвращает 200. Уведомление после ответа остаётся в ленте и не отмечается прочитанным — для этого есть Отметить прочитанными.
  • Ответ уходит от имени владельца токена. По личному ключу — владельца ключа. По ключу OAuth-приложения с заголовком Authorization: Bearer — пользователя, чья это сессия.

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