Цель проекта — настроить надежный автопостинг отраслевых новостей из агрегатора NiceTab Agent в корпоративный сайт на 1C‑Битрикс. Требования: публикация в блог/новости, корректная передача метаданных и медиаконтента, минимизация ручной модерации, SLA на доставку — не более 2 минут с момента извлечения новости.
Решение строится вокруг трех компонентов:
Ключевые требования реализовали через REST API для публикации и очередь на Redis/RabbitMQ для гарантированной доставки и контроля скорости (автопостинг).
Прямое подключение ограничивает возможности трансформации данных, логирования и отката. Middleware дает:
NiceTab предоставляет JSON с полями: id, title, body_html, tags[], images[], source, published_at, industry. Middleware подписан на событие «new_article» и берет полный JSON. Валидация: обязательны title и body_html; если image отсутствует — ставим логотип по умолчанию.
Таблица соответствия полей:
| NiceTab | 1C‑Битрикс (blog.post.add / iblock.element.add) |
|---|---|
| title | TITLE / NAME |
| body_html | DETAIL_TEXT / POST_MESSAGE |
| tags[] | TAGS / PROPERTY_TAGS |
| images[] | DETAIL_PICTURE (загрузка по URL) |
| industry | PROPERTY_INDUSTRY (список в инфоблоке) |
| source | PROPERTY_SOURCE |
Пример: если сайт использует модуль «Новости» (iblock), то используем метод iblock.element.add. Для блога — blog.post.add. Выбор зависит от структуры сайта на 1C‑Битрикс.
Мы использовали входящий вебхук (incoming webhook) 1C‑Битрикс для простоты авторизации. Формат запроса — POST с JSON. Пример запроса к блогу:
{
"method": "blog.post.add",
"params": {
"FIELDS": {
"TITLE": "Заголовок новости",
"DETAIL_TEXT": "<p>Текст новости</p>",
"AUTHOR_ID": 1,
"PUBLISH": "Y"
}
}
}
Если публикация через инфоблок:
{
"method": "iblock.element.add",
"params": {
"IBLOCK_ID": 5,
"FIELDS": {
"NAME": "Заголовок новости",
"DETAIL_TEXT": "<p>Текст</p>",
"ACTIVE": "Y"
}
}
}
URL входящего вебхука имеет вид: https://example.ru/rest/{USER_ID}/{WEBHOOK_KEY}/. Мы делали POST на этот URL и в теле указывали method & params (в формате application/json).
Когда NiceTab предоставляет URL изображения, middleware скачивает файл, конвертирует в нужный формат (WebP/JPEG), загружает в /upload через вызов disk.folder.uploadfile или напрямую формирует массив FILES для iblock. Это позволяет избежать ссылок на внешние CDN и ускорить рендер на сайте.
{
"external_id": "nt-20251234",
"title": "Рост спроса на XYZ в отрасли ABC",
"body_html": "<p>Полный текст новости...</p>",
"tags": ["ABC","рынок"],
"image_url": "https://cdn.nicetab/images/2025/1234.jpg",
"industry": "Промышленность",
"published_at": "2025-05-12T10:00:00Z"
}
Мы сравнили три варианта реализации:
Выбран третий вариант как компромисс надежности и простоты поддержки.
Кейс показывает, что интеграция NiceTab Agent с 1C‑Битрикс через REST API для публикации с использованием middleware и очередей обеспечивает стабильный автопостинг, контролируемую нагрузку и минимальные ручные операции. Конкретные шаги — мэппинг полей, загрузка изображений, ретраи и дедупликация — дают практические результаты и позволяют масштабировать систему при росте числа исходных источников.
Если нужна реализация по вашему проекту — в нашей службе «Контент-Агент» есть опыт развертывания подобных интеграций, включая настройку вебхуков, адаптацию шаблонов публикаций и мониторинг автопостинга.