Перейти к содержимому

Подключение соцсети

Проект публикует в подключённые к нему соцсети: Facebook (страница), Instagram (профессиональный аккаунт) и Threads. Подключение всегда требует, чтобы владелец аккаунта подтвердил доступ в браузере, — одними вызовами API его не пройти.

  1. Начните подключение:

    Окно терминала
    curl -X POST https://api.warmup.social/projects/$PROJECT_ID/connections/instagram/start \
    -H "Authorization: Bearer $WARMUP_TOKEN" \
    -H "Content-Type: application/json" \
    -d '{ "timezone": "Europe/Moscow" }'
    { "authUrl": "https://www.facebook.com/…/dialog/oauth?…" }

    timezone необязателен; по нему планируются ежедневные обновления аккаунта.

  2. Откройте authUrl в браузере, войдите в Meta и подтвердите разрешения.

  3. Meta возвращает браузер в Warmup, а тот перенаправляет на страницу проекта в кабинете:

    • ?connect=instagram&result=ok — подключено;
    • ?connect=instagram&result=error&code=… — ошибка, коды ниже;
    • ?connect=facebook&select=<selectionId> — у аккаунта Facebook несколько страниц, нужно выбрать одну (следующий раздел).
  4. Проверьте результат: GET /projects/{id} вернёт connections.instagram со status: "active".

Если аккаунт Facebook управляет несколькими страницами, пользователь выбирает одну в кабинете, либо вы делаете это через API по selectionId из адреса:

Окно терминала
curl https://api.warmup.social/projects/$PROJECT_ID/connections/facebook/pending/$SELECTION_ID \
-H "Authorization: Bearer $WARMUP_TOKEN"
curl -X POST https://api.warmup.social/projects/$PROJECT_ID/connections/facebook/select \
-H "Authorization: Bearer $WARMUP_TOKEN" \
-H "Content-Type: application/json" \
-d '{ "selectionId": "'$SELECTION_ID'", "pageId": "1234567890" }'

Страницы с enabled: false подключить нельзя, причина — в disabledReason. Выбор действует недолго — если он истёк, начните заново.

Статус Что значит
active Можно публиковать.
needs_reauth Доступ в Meta потерян. Снова вызовите …/start для той же соцсети и подтвердите доступ.
revoked Доступ отозван. Подключите соцсеть заново.

missingScopes перечисляет разрешения, от которых пользователь отказался; без них публикация может не пройти.

Код Что значит
oauth_denied Пользователь отменил вход или отказал в доступе.
instagram_not_professional Аккаунт Instagram должен быть бизнес-аккаунтом или аккаунтом автора.
no_facebook_pages Аккаунт Facebook не управляет ни одной страницей.
account_already_connected Этот аккаунт уже подключён к другому проекту.
platform_already_connected В проекте уже подключён другой аккаунт этой соцсети.
oauth_state_invalid Ссылка для входа устарела или использована повторно. Начните заново.
meta_unavailable Meta временно недоступна.
Окно терминала
curl -X DELETE https://api.warmup.social/projects/$PROJECT_ID/connections/facebook \
-H "Authorization: Bearer $WARMUP_TOKEN"