API для кросспостинга
Публикуйте в YouTube, Instagram, TikTok, VK, Threads и Telegram из своего сервиса: создайте пост, загрузите файл, перечислите площадки — и следите за статусом каждой.
Как устроен API
Это тот же кросспостинг, что и в веб-интерфейсе, только из кода. Публикация идёт через аккаунты, уже подключённые в кабинете, — подключать площадки через API не нужно.
- Базовый адрес — https://bloggerhelper.ru/api/v1, тело запросов — JSON.
- Авторизация — заголовок Authorization: Bearer <ключ>.
- Лимит — 60 запросов в минуту на ключ; месячный лимит постов общий с веб-интерфейсом.
- Доступ — на тарифах Pro и Business. Ключ создаётся в кабинете, в разделе API, и показывается один раз.
Публикация в четыре шага
- POST /posts — создать пост. Для видео и картинки в ответе придёт ссылка для загрузки, она живёт 15 минут.
- PUT на эту ссылку — загрузить файл с тем же Content-Type, что указан при создании.
- POST /posts/{id}/upload-complete — сообщить, что файл загружен.
- POST /posts/{id}/publish — перечислить площадки и, если нужно, время публикации.
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. Если время в прошлом или не указано, пост публикуется сразу.
Читайте также
- Отложенный постингОтложенная публикация видео, картинок и текста сразу в несколько соцсетей: выберите дату и время, и пост выйдет сам. Отмена до публикации, статус по каждой площадке.
- TelegramАвтопостинг в Telegram-канал или чат через официальный Bot API: видео, картинки и текстовые посты вместе с YouTube, VK и другими соцсетями. Отложенная публикация.
- Видео сразу во все соцсетиПошагово: как опубликовать одно видео одновременно в YouTube, Shorts, Instagram, TikTok, VK, Threads и Telegram и не загружать его семь раз.