Разработка и API
7 мин чтения
Справочник JSON-объектов
Описание всех полей: Post, PostVersion, PublishRecord, Engagement, Media, Error
Справочник JSON-объектов, возвращаемых REST API и Webhook.
Post (пост)
Базовый объект поста в списках (GET /campaigns/{id}/posts/) и Webhook.
task_id(integer) - уникальный ID задачиcampaign_id(integer) - ID кампанииcampaign_name(string) - название кампанииtext(string) - текст поста (активная версия)status(string) - SCHEDULED, GENERATING, WAITING_APPROVAL, APPROVED, PUBLISHING, PUBLISHED, PARTIALLY_PUBLISHED, READY, CANCELED, FAILEDpost_type(string) - IMAGE, ALBUM, VIDEO, DOCUMENT, TEXTpublished_at(string | null, ISO 8601) - запланированное время публикацииcreated_at(string, ISO 8601) - время создания задачиupdated_at(string | null, ISO 8601) - последнее обновлениеmedia(object | null) - медиа-вложения, см. ниже
PostDetail (полные данные поста)
Расширенный объект через GET /posts/{id}/. Включает все базовые поля и дополнительно:
generate_at(string | null, ISO 8601) - когда была запущена генерацияversions(array of PostVersion) - история версий текстаpublish_records(array of PublishRecord) - статус публикации по каналамengagement(object) - метрики вовлечённости
PostVersion (версия текста)
Каждая регенерация или ручная правка создаёт новую версию. Максимум 10 версий на пост.
version_number(integer) - порядковый номер (начиная с 1)text_content(string) - текст этой версииsource(string) - INITIAL (первичная генерация), REGENERATION (ИИ-перегенерация), MANUAL_EDIT (ручная правка)is_active(boolean) - активная версия, которая будет опубликованаcreated_at(string, ISO 8601) - время создания версии
PublishRecord (запись публикации)
Отдельная запись для каждого канала, в который публикуется пост.
channel_name(string) - название каналаplatform(string) - TELEGRAM, VK, MAX, WEBHOOKstatus(string) - PENDING, PUBLISHED, FAILEDpublished_at(string | null, ISO 8601) - фактическое время публикацииplatform_message_id(string | null) - ID сообщения на платформе
Engagement (метрики вовлечённости)
В PostDetail метрики представлены как объект с ключами по типу метрики:
{{
"VIEWS": {{"value": 1500, "delta": 200, "updated_at": "2026-04-06T12:00:00+05:00"}},
"LIKES": {{"value": 45, "delta": 5, "updated_at": "2026-04-06T12:00:00+05:00"}}
}}В эндпоинте GET /posts/{id}/engagement/ - как массив:
metric_type(string) - VIEWS, LIKES, COMMENTS, REPOSTS, REACTIONSplatform(string) - платформа (TELEGRAM, VK и т.д.)value(integer) - текущее значение метрикиprevious_value(integer) - значение на предыдущем сбореdelta(integer) - изменение с предыдущего сбораupdated_at(string, ISO 8601) - время последнего обновления
Media (медиа-вложения)
Ссылки на файлы временные - действуют
expires_in секунд (по умолчанию 24 часа). Скачайте файлы на свой сервер до истечения срока.post_type(string) - IMAGE, ALBUM, VIDEO, DOCUMENT, TEXTimages(array) - массив изображенийimages[].url(string) - временная ссылка на изображениеimages[].is_selected(boolean) - выбрано для публикацииimages[].in_album(boolean) - входит в альбомimages[].source(string) -ai_generated(сгенерировано ИИ) илиuser_uploaded(загружено пользователем)video(object | null) - видео (только для post_type=VIDEO)video.url(string) - временная ссылка на видеоvideo.filename(string) - имя файлаvideo.file_size(integer) - размер в байтахdocuments(array) - документы (PDF, DOCX и др.)documents[].url(string) - временная ссылкаdocuments[].filename(string) - имя файлаdocuments[].file_size(integer) - размер в байтахexpires_in(integer) - время жизни всех URL в секундах (по умолчанию 86400 = 24 часа)
Примеры media по типам поста
IMAGE - один снимок
{{
"post_type": "IMAGE",
"images": [
{{"url": "https://cdn.example.com/img_a1b2c3.png?token=...", "is_selected": true, "in_album": false, "source": "ai_generated"}}
],
"video": null,
"documents": [],
"expires_in": 86400
}}ALBUM - несколько фото
{{
"post_type": "ALBUM",
"images": [
{{"url": "https://cdn.example.com/photo1.jpg?token=...", "is_selected": false, "in_album": true, "source": "user_uploaded"}},
{{"url": "https://cdn.example.com/photo2.jpg?token=...", "is_selected": false, "in_album": true, "source": "user_uploaded"}},
{{"url": "https://cdn.example.com/photo3.jpg?token=...", "is_selected": true, "in_album": true, "source": "ai_generated"}}
],
"video": null,
"documents": [],
"expires_in": 86400
}}VIDEO - видео с обложкой
{{
"post_type": "VIDEO",
"images": [
{{"url": "https://cdn.example.com/thumb.png?token=...", "is_selected": true, "in_album": false, "source": "ai_generated"}}
],
"video": {{
"url": "https://cdn.example.com/video.mp4?token=...",
"filename": "presentation.mp4",
"file_size": 15728640
}},
"documents": [],
"expires_in": 86400
}}DOCUMENT - документы
{{
"post_type": "DOCUMENT",
"images": [
{{"url": "https://cdn.example.com/cover.png?token=...", "is_selected": true, "in_album": false, "source": "user_uploaded"}}
],
"video": null,
"documents": [
{{"url": "https://cdn.example.com/report.pdf?token=...", "filename": "report.pdf", "file_size": 2097152}},
{{"url": "https://cdn.example.com/slides.pptx?token=...", "filename": "slides.pptx", "file_size": 5242880}}
],
"expires_in": 86400
}}TEXT - только текст
{{
"post_type": "TEXT",
"images": [],
"video": null,
"documents": [],
"expires_in": 86400
}}ApprovalResult (результат одобрения/отмены)
Возвращается эндпоинтами POST /posts/{id}/approve и POST /posts/{id}/reject.
task_id(integer) - ID задачиstatus(string) - новый статус задачиresult(string) - код результата: approved_now, already_approved, already_published, already_canceled, rejected_now, not_pendingmessage(string) - описание результата на русском
Error (ошибка)
Объект ошибки при неудачном запросе:
{{
"error": {{
"code": "not_found",
"message": "Кампания не найдена."
}}
}}Коды ошибок:
feature_unavailable- Developer API недоступен на тарифе (403)subscription_inactive- подписка не активна (403)not_found- ресурс не найден (404)no_posts- нет постов (404)conflict- невозможно выполнить операцию в текущем статусе (409)validation_error- ошибка валидации параметров (400)
REST API - обзор и быстрый старт
Аутентификация, лимиты и примеры на Python и JavaScript
Справочник эндпоинтов
Полный перечень всех эндпоинтов с примерами
Webhooks - автоматическая доставка
Получайте контент автоматически при генерации
Была ли эта статья полезной?
Спасибо за обратную связь!