Подключение соцсети
Проект публикует в подключённые к нему соцсети: Facebook (страница), Instagram (профессиональный аккаунт) и Threads. Подключение всегда требует, чтобы владелец аккаунта подтвердил доступ в браузере, — одними вызовами API его не пройти.
Порядок
Заголовок раздела «Порядок»-
Начните подключение:
Окно терминала 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необязателен; по нему планируются ежедневные обновления аккаунта. -
Откройте
authUrlв браузере, войдите в Meta и подтвердите разрешения. -
Meta возвращает браузер в Warmup, а тот перенаправляет на страницу проекта в кабинете:
?connect=instagram&result=ok— подключено;?connect=instagram&result=error&code=…— ошибка, коды ниже;?connect=facebook&select=<selectionId>— у аккаунта Facebook несколько страниц, нужно выбрать одну (следующий раздел).
-
Проверьте результат:
GET /projects/{id}вернётconnections.instagramсоstatus: "active".
Выбор страницы Facebook
Заголовок раздела «Выбор страницы Facebook»Если аккаунт 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"