#Лента новостей
Публикация постов в Ленте новостей Битрикс24 через API: посты с адресацией отделам и сотрудникам, открытие доступа дополнительным получателям и комментарии.
Скоуп: log | Базовый URL: https://vibecode.bitrix24.tech/v1 | Авторизация: X-Api-Key
Быстрый старт | Полный пример | Справочник эндпоинтов | Коды ошибок
#Разделы документации
- Посты — создание, список, обновление, удаление постов и добавление получателей
- Комментарии — добавление и удаление комментариев к постам
#Быстрый старт
#1. Опубликуйте пост
curl -X POST https://vibecode.bitrix24.tech/v1/posts \
-H "X-Api-Key: YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"title": "Обновление платформы",
"text": "[b]Вышла новая версия[/b] — поддержка пакетных запросов.",
"recipients": ["UA"]
}'
Ответ — идентификатор созданного поста и получатели, которым он открыт:
{
"success": true,
"data": {
"id": 512,
"recipients": ["UA"]
}
}
#2. Прокомментируйте пост
curl -X POST https://vibecode.bitrix24.tech/v1/posts/512/comments \
-H "X-Api-Key: YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{ "text": "Отличная новость!" }'
Ответ — идентификатор комментария:
{ "success": true, "data": 1024 }
#3. Откройте пост дополнительным получателям
curl -X POST https://vibecode.bitrix24.tech/v1/posts/512/share \
-H "X-Api-Key: YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{ "recipients": ["DR3", "U5"] }'
{ "success": true, "data": true }
#Полный пример
Автоматический отчёт в ленту: публикация поста, комментарий от интеграции и открытие доступа руководству. Сценарий использует только скоуп log.
const VIBE_KEY = process.env.VIBE_KEY
const BASE = 'https://vibecode.bitrix24.tech/v1'
async function api(method, path, body = null) {
const opts = { method, headers: { 'X-Api-Key': VIBE_KEY } }
if (body) {
opts.headers['Content-Type'] = 'application/json'
opts.body = JSON.stringify(body)
}
const res = await fetch(`${BASE}${path}`, opts)
return res.status === 204 ? null : res.json()
}
// 1. Публикуем ежедневный отчёт, адресуя отделу с подотделами
const created = await api('POST', '/posts', {
title: 'Ежедневный отчёт',
text: [
'[b]Итоги дня[/b]',
'',
'Закрытых задач: 48',
'Новых обращений: 12'
].join('\n'),
recipients: ['DR1']
})
const postId = created.data.id
console.log('Пост опубликован, ID:', postId)
// 2. Добавляем комментарий от интеграции
const comment = await api('POST', `/posts/${postId}/comments`, {
text: 'Отчёт сформирован автоматически интеграцией Вайбкод.'
})
console.log('Комментарий добавлен, ID:', comment.data)
// 3. Открываем отчёт руководству
await api('POST', `/posts/${postId}/share`, { recipients: ['U1'] })
// 4. Проверяем, что пост в ленте
const list = await api('GET', '/posts?limit=5')
console.log('Всего постов:', list.meta.total)
#Справочник эндпоинтов
| Метод | Путь | Bitrix24 метод | Описание |
|---|---|---|---|
| POST | /v1/posts | log.blogpost.add | Создать пост |
| GET | /v1/posts | log.blogpost.get | Список постов |
| PATCH | /v1/posts/:id | log.blogpost.update | Обновить пост |
| DELETE | /v1/posts/:id | log.blogpost.delete | Удалить пост |
| POST | /v1/posts/:id/share | log.blogpost.share | Добавить получателей |
| POST | /v1/posts/:id/comments | log.blogcomment.add | Добавить комментарий |
| DELETE | /v1/posts/:id/comments/:commentId | log.blogcomment.delete | Удалить комментарий |
#Коды ошибок
#Ошибки ленты
| Код | HTTP | Описание |
|---|---|---|
SCOPE_DENIED |
403 | У API-ключа нет скоупа log |
TOKEN_MISSING |
401 | У API-ключа не настроены токены доступа |
MISSING_PARAMS |
400 | Не переданы обязательные параметры (text для поста или комментария, recipients для добавления получателей) |
INVALID_LIMIT |
400 | limit вне диапазона 1..50 |
INVALID_OFFSET |
400 | offset отрицательный |
INVALID_POST_ID |
400 | id поста не является положительным целым |
POST_NOT_FOUND |
404 | Пост не найден или недоступен с этим ключом |
POST_NOT_FOUND_OR_INVALID_RECIPIENTS |
404 | Добавление получателей отклонено: пост не существует или среди получателей есть неверный |
INVALID_RECIPIENTS |
400 | Неверный формат получателей |
BITRIX_ACCESS_DENIED |
403 | Недостаточно прав на пост |
COMMENT_NOT_FOUND |
404 | Комментарий не найден |
INVALID_COMMENT_ID |
400 | commentId неверный |
COMMENT_ACCESS_DENIED |
403 | Недостаточно прав на комментарий |
DUPLICATE_COMMENT |
409 | Повторный комментарий с тем же содержимым |
#Системные ошибки
| Код | HTTP | Описание |
|---|---|---|
MISSING_API_KEY |
401 | Отсутствует заголовок X-Api-Key |
INVALID_API_KEY |
401 | Неверный API-ключ |
RATE_LIMITED |
429 | Превышен лимит запросов |
BITRIX_ERROR |
422 | Битрикс24 вернул ошибку |
BITRIX_UNAVAILABLE |
502 | Портал Битрикс24 недоступен |
INTERNAL_ERROR |
500 | Внутренняя ошибка сервера |
Полный список общих ошибок API — Ошибки.