Как пользоваться
Пошаговый гайд по AI Producer: от входа до анализа контента.
1Вход в систему
Аккаунт создаёт оператор через админ-панель. Регистрации на фронтенде нет — это сделано осознанно, чтобы доступ был только у подтверждённых пользователей.
- Откройте страницу входа.
- Введите email и пароль, которые выдал оператор.
- После входа вы попадёте на страницу Публикации.
Демо-доступ (для теста)
- demo@producer.local
- Пароль
- demopass123
2Подключение Instagram
Чтобы импортировать публикации, нужно подключить аккаунт Instagram через официальный вход (OAuth) — пароль Instagram нигде не запрашивается и не сохраняется. Перед первым подключением администратор один раз создаёт Meta App.
2a. Подготовьте аккаунт Instagram
Instagram Graph API отдаёт данные только для business или creator аккаунтов. Personal-аккаунты не поддерживаются. Также аккаунт должен быть связан с Facebook Page — это обязательное требование Meta.
- Откройте Instagram → Settings →
Switch to professional account. - Тип:
Creator(для блогеров) илиBusiness. - Выберите категорию (блогер, автор контента и т.п.).
- В настройках Instagram откройте
Linked accounts → Facebookи привяжите Facebook Page. Без связанной Page Instagram Graph API не работает — это явно указано в Getting Started.
2b. Создание Meta App (один раз, ~10 минут)
Meta App — «приложение-посредник» между AI Producer и Instagram. Создаётся бесплатно на Facebook Developers. Делается один раз. Интерфейс Meta периодически меняется — если ваш экран отличается, ищите пункты со словами Instagram и content.
- Откройте developers.facebook.com/apps/creation, войдите Facebook-аккаунтом.
- Поле
App Display Name— любое имя (например, AI Producer). ПолеApp contact email— ваш email. - На экране
Use casesвыберите картуManage Instagram content and messages. Если название отличается (Meta меняет wording) — выберите вариант со словами Instagram и content. Несовместимые опции погашены серым. App type— выберитеBusiness. ТипConsumerне поддерживает Instagram Graph API.Business account— для теста выберитеI don't want to connect a business portfolio yet.- Нажмите
Create app. ПродуктInstagramдобавится автоматически вместе с use case. - В дашборде: левое меню →
App Settings → Basic. Вверху страницы — два ключа:Скопируйте эти значения
- App ID
- → это INSTAGRAM_CLIENT_ID
- App Secret (кнопка Show)
- → это INSTAGRAM_CLIENT_SECRET
- В разделе
App Settings → Basicнайдите полеValid OAuth Redirect URIs(илиProducts → Instagram → Settings) и добавьте:http://localhost:3030/api/instagram/callbackНажмитеSave changes. - Для dev-режима:
Roles → Instagram Testers→ добавьте свой Instagram-username. Пользователь получит приглашение в Instagram — примите его вSettings → Apps and websites.
instagram_business_basic и instagram_business_manage_insights. Для личного использования и разработки dev-режима достаточно.2c. Передать креды в систему
Полученные App ID и App Secret нужно добавить в файл .env в корне проекта:
INSTAGRAM_CLIENT_ID=ваш_app_id
INSTAGRAM_CLIENT_SECRET=ваш_app_secret
INSTAGRAM_REDIRECT_URI=http://localhost:3030/api/instagram/callbackПосле изменения .env перезапустите dev-сервер (pnpm dev), чтобы переменные применились.
2d. Подключение аккаунта
Когда креды добавлены — подключение занимает один клик:
- Перейдите в раздел Подключения в верхнем меню.
- Нажмите «Подключить Instagram».
- Вы будете перенаправлены на страницу Instagram — разрешите доступ.
- После согласия вернётесь обратно, аккаунт отобразится как активный.
.env не перезапущен.2e. Не открывается Instagram / ошибки Meta (диагностика)
Если при нажатии «Подключить Instagram» диалог Instagram не появляется — проблема не в коде, а в настройке Meta App или аккаунта. Ниже — пошаговый диагностический путь от самой частой причины к редким.
Диаграмма барьеров (проходите по порядку):
1. «HTTP ERROR 429» на api.instagram.com
→ IP временно заблокирован Instagram. Подождите 30 мин.
2. «Invalid platform app»
→ Instagram-продукт не активирован в App.
→ Шаг 2b: добавьте use case «Manage Instagram content and messages».
3. «Недостаточно прав для роли разработчика»
→ Ваш Facebook не Admin этого App.
→ Войдите тем FB, которым создавался App.
4. «You don't have access / feature isn't available» на developers.facebook.com
→ Facebook-аккаунт не может создавать Apps.
→ См. проверки ниже (регион / верификация / VPN).
5. Диалог Instagram пустой или редирект с access_denied
→ Вы не в Instagram Testers ИЛИ personal-аккаунт.
→ Шаг 2b → Roles → Instagram Testers → принять приглашение.Проверка 1: вы залогинены в Facebook?
Meta Developers работает только с Facebook-аккаунтом, не с Instagram. Откройте facebook.com — вы должны видеть свою ленту/профиль, а не форму входа.
Проверка 2: доступ к Developers
Откройте developers.facebook.com/apps под тем Facebook, которым создавали App. Должен быть виден ваш App. Если «feature isn't available» — переходите к проверке 3.
Проверка 3: регион аккаунта
Meta ограничивает Developers для некоторых регионов (включая РФ, РБ). Проверьте: facebook.com → профиль → About → Contact and Basic Info → поле Country. Если указана ограниченная страна — Developers будет недоступен с этого аккаунта.
developers.facebook.com/apps. Если открылось — создавайте App при включённом VPN.Проверка 4: верификация аккаунта
Facebook-аккаунт должен соответствовать требованиям Meta:
facebook.com/settings→General→ email подтверждён (галочка)- Телефон подтверждён в
Mobile Security and Login→Two-Factor Authenticationвключена- Аккаунту более 30 дней (Meta блокирует свежие)
Если ничего не помогло — пересоздать App
- Создайте новый App на developers.facebook.com/apps/creation строго по шагам:
- Use case:
Manage Instagram content and messages - App type:
Business - Business portfolio:
I don't want to connect a business portfolio yet(не привязывайте — иначе потеряете права) - Скопируйте новые App ID и App Secret → введите в Настройках
3Импорт публикаций
После подключения нажмите «Синхронизировать с Instagram» на странице Публикации. Сервис импортирует до 50 последних публикаций: Reels, фото, карусели.
- Откройте Публикации.
- Нажмите «Синхронизировать с Instagram».
- Дождитесь завершения — появится сообщение со статистикой (новых, обновлено, недоступно).
Что импортируется для каждой публикации: тип (Reel/фото/карусель), дата, подпись, ссылка, обложка, длительность видео, лайки и комментарии, статус доступности.
4Загрузка оригинала видео
Для полноценного анализа система использует оригинал Reels — Instagram сжимает видео, и часть данных теряется. Вы можете загрузить оригинал для каждой публикации Reels.
- На странице Публикации откройте карточку Reel.
- Нажмите «Загрузить оригинал» и выберите файл (MP4 или MOV).
- Файл загрузится и появится встроенный плеер.
- При необходимости файл можно заменить или удалить.
5Статус интеграции
Система ежедневно проверяет доступность Instagram API. Если что-то сломалось (изменился API, превышен лимит запросов), статус отобразится на странице подключения и в карточке Instagram.
- Статусы: OK всё работает,Деградация часть полей недоступна,Недоступен API не отвечает.
- Подробности — на экране состояния интеграции (нужен логин оператора).
6Безопасность данных
Что система делает для защиты ваших данных:
- Пароль Instagram никогда не запрашивается — только официальный OAuth.
- Access-токен Instagram хранится зашифрованным (AES-256-GCM).
- Вы видите только свои публикации — данные изолированы по пользователю.
- Доступ к аккаунту можно отозвать в любой момент в разделе «Подключения».
- Исходные ответы Instagram сохраняются для диагностики (с ограниченным сроком хранения).