API для кросспостинга

Публикуйте в YouTube, Instagram, TikTok, VK, Threads и Telegram из своего сервиса: создайте пост, загрузите файл, перечислите площадки — и следите за статусом каждой.

Как устроен API

Это тот же кросспостинг, что и в веб-интерфейсе, только из кода. Публикация идёт через аккаунты, уже подключённые в кабинете, — подключать площадки через API не нужно.

  • Базовый адрес — https://bloggerhelper.ru/api/v1, тело запросов — JSON.
  • Авторизация — заголовок Authorization: Bearer <ключ>.
  • Лимит — 60 запросов в минуту на ключ; месячный лимит постов общий с веб-интерфейсом.
  • Доступ — на тарифах Pro и Business. Ключ создаётся в кабинете, в разделе API, и показывается один раз.

Публикация в четыре шага

  1. POST /posts — создать пост. Для видео и картинки в ответе придёт ссылка для загрузки, она живёт 15 минут.
  2. PUT на эту ссылку — загрузить файл с тем же Content-Type, что указан при создании.
  3. POST /posts/{id}/upload-complete — сообщить, что файл загружен.
  4. POST /posts/{id}/publish — перечислить площадки и, если нужно, время публикации.
bash
KEY="bh_…"
BASE="https://bloggerhelper.ru/api/v1"

# 1. Создать пост — в ответе postId и ссылка для загрузки
curl -s -X POST "$BASE/posts" \
  -H "Authorization: Bearer $KEY" -H "Content-Type: application/json" \
  -d '{"mediaType":"video","filename":"clip.mp4","contentType":"video/mp4","caption":"Новый ролик"}'

# 2. Загрузить файл по uploadUrl
curl -s -X PUT "$UPLOAD_URL" -H "Content-Type: video/mp4" --data-binary @clip.mp4

# 3. Подтвердить загрузку
curl -s -X POST "$BASE/posts/$POST_ID/upload-complete" -H "Authorization: Bearer $KEY"

# 4. Опубликовать в TikTok и YouTube Shorts
curl -s -X POST "$BASE/posts/$POST_ID/publish" \
  -H "Authorization: Bearer $KEY" -H "Content-Type: application/json" \
  -d '{"targets":[{"platform":"tiktok"},{"platform":"youtube_shorts"}]}'

# 5. Статус по каждой площадке
curl -s "$BASE/posts/$POST_ID" -H "Authorization: Bearer $KEY"

Площадки и порядок

В списке targets указываются площадки: youtube, youtube_shorts, instagram, instagram_post, threads, tiktok, vk, vk_post, vk_clips, telegram, telegram_web. Порядок списка — порядок публикации. Для vk, vk_post и vk_clips можно передать ссылку или идентификатор сообщества.

Площадки, для которых в наборе аккаунтов ключа нет активного подключения, пропускаются. Если не осталось ни одной, запрос вернёт ошибку 400.

Статусы

GET /posts/{id} возвращает статус поста и каждой площадки со ссылкой на готовую запись или причиной отказа. Вебхуков пока нет: опрашивайте статус раз в 10–30 секунд. GET /posts отдаёт последние 50 постов, POST /posts/{id}/cancel отменяет запланированный или идущий пост.

Вопросы и ответы

Можно ли подключать аккаунты соцсетей через API?

Нет. Аккаунты подключаются в кабинете: вход на площадку выполняете вы сами в окне браузера. API публикует через уже подключённые аккаунты.

Ключ привязан к конкретным аккаунтам?

Ключ привязан к набору подключений (пресету) в кабинете. Публикации по ключу идут через аккаунты этого набора, независимо от того, какой набор выбран в веб-интерфейсе. Так одним аккаунтом BloggerHelper можно вести несколько проектов.

Есть ли отложенная публикация в API?

Да: передайте в /publish поле scheduledFor со временем в формате ISO 8601. Если время в прошлом или не указано, пост публикуется сразу.

Читайте также

Попробуйте на своём ролике

Подключите одну платформу и загрузите видео. 5 постов в месяц бесплатно, карта не нужна.