Как пользоваться

Пошаговый гайд по AI Producer: от входа до анализа контента.

1Вход в систему

Аккаунт создаёт оператор через админ-панель. Регистрации на фронтенде нет — это сделано осознанно, чтобы доступ был только у подтверждённых пользователей.

  1. Откройте страницу входа.
  2. Введите email и пароль, которые выдал оператор.
  3. После входа вы попадёте на страницу Публикации.

Демо-доступ (для теста)

Email
demo@producer.local
Пароль
demopass123

2Подключение Instagram

Чтобы импортировать публикации, нужно подключить аккаунт Instagram через официальный вход (OAuth) — пароль Instagram нигде не запрашивается и не сохраняется. Перед первым подключением администратор один раз создаёт Meta App.

2a. Подготовьте аккаунт Instagram

Instagram Graph API отдаёт данные только для business или creator аккаунтов. Personal-аккаунты не поддерживаются. Также аккаунт должен быть связан с Facebook Page — это обязательное требование Meta.

  1. Откройте Instagram → Settings Switch to professional account.
  2. Тип: Creator (для блогеров) или Business.
  3. Выберите категорию (блогер, автор контента и т.п.).
  4. В настройках Instagram откройте Linked accounts → Facebook и привяжите Facebook Page. Без связанной Page Instagram Graph API не работает — это явно указано в Getting Started.
Если аккаунт остаётся personal или не связан с Facebook Page — при подключении появится ошибка «Подключён personal-аккаунт» или «Истёкший токен». Это не баг, так требует Instagram Graph API.

2b. Создание Meta App (один раз, ~10 минут)

Meta App — «приложение-посредник» между AI Producer и Instagram. Создаётся бесплатно на Facebook Developers. Делается один раз. Интерфейс Meta периодически меняется — если ваш экран отличается, ищите пункты со словами Instagram и content.

  1. Откройте developers.facebook.com/apps/creation, войдите Facebook-аккаунтом.
  2. Поле App Display Name — любое имя (например, AI Producer). Поле App contact email — ваш email.
  3. На экране Use cases выберите карту Manage Instagram content and messages. Если название отличается (Meta меняет wording) — выберите вариант со словами Instagram и content. Несовместимые опции погашены серым.
  4. App type — выберите Business. Тип Consumer не поддерживает Instagram Graph API.
  5. Business account — для теста выберите I don't want to connect a business portfolio yet.
  6. Нажмите Create app. Продукт Instagram добавится автоматически вместе с use case.
  7. В дашборде: левое меню → App Settings → Basic. Вверху страницы — два ключа:

    Скопируйте эти значения

    App ID
    → это INSTAGRAM_CLIENT_ID
    App Secret (кнопка Show)
    → это INSTAGRAM_CLIENT_SECRET
  8. В разделе App Settings → Basic найдите поле Valid OAuth Redirect URIs (или Products → Instagram → Settings) и добавьте:http://localhost:3030/api/instagram/callbackНажмите Save changes.
  9. Для dev-режима: Roles → Instagram Testers → добавьте свой Instagram-username. Пользователь получит приглашение в Instagram — примите его в Settings → Apps and websites.
В режиме Development (по умолчанию) API доступен только тестовым пользователям и ролям приложения (Admin/Tester). Для публичного запуска нужен App Review по пермиссиям instagram_business_basic и instagram_business_manage_insights. Для личного использования и разработки dev-режима достаточно.
Не используйте Instagram Basic Display API — он отключён Meta с 4 декабря 2024. Если старые туториалы ссылаются на него, игнорируйте. Актуальный путь — только Instagram Graph API.

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. Подключение аккаунта

Когда креды добавлены — подключение занимает один клик:

  1. Перейдите в раздел Подключения в верхнем меню.
  2. Нажмите «Подключить Instagram».
  3. Вы будете перенаправлены на страницу Instagram — разрешите доступ.
  4. После согласия вернётесь обратно, аккаунт отобразится как активный.
Если кнопка показывает «OAuth ещё не настроен» — значит шаг 2b/2c не выполнен или .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 будет недоступен с этого аккаунта.

Решение для региональной блокировки: VPN с европейским или американским IP часто разблокирует Developers. Включите VPN → обновите страницу developers.facebook.com/apps. Если открылось — создавайте App при включённом VPN.

Проверка 4: верификация аккаунта

Facebook-аккаунт должен соответствовать требованиям Meta:

  1. facebook.com/settingsGeneral → email подтверждён (галочка)
  2. Телефон подтверждён в Mobile
  3. Security and LoginTwo-Factor Authentication включена
  4. Аккаунту более 30 дней (Meta блокирует свежие)

Если ничего не помогло — пересоздать App

  1. Создайте новый App на developers.facebook.com/apps/creation строго по шагам:
  2. Use case: Manage Instagram content and messages
  3. App type: Business
  4. Business portfolio: I don't want to connect a business portfolio yet (не привязывайте — иначе потеряете права)
  5. Скопируйте новые App ID и App Secret → введите в Настройках

3Импорт публикаций

После подключения нажмите «Синхронизировать с Instagram» на странице Публикации. Сервис импортирует до 50 последних публикаций: Reels, фото, карусели.

  1. Откройте Публикации.
  2. Нажмите «Синхронизировать с Instagram».
  3. Дождитесь завершения — появится сообщение со статистикой (новых, обновлено, недоступно).

Что импортируется для каждой публикации: тип (Reel/фото/карусель), дата, подпись, ссылка, обложка, длительность видео, лайки и комментарии, статус доступности.

Повторная синхронизация обновляет записи, а не дублирует. Если публикация удалена в Instagram, она помечается «недоступно» (но не исчезает из системы).

4Загрузка оригинала видео

Для полноценного анализа система использует оригинал Reels — Instagram сжимает видео, и часть данных теряется. Вы можете загрузить оригинал для каждой публикации Reels.

  1. На странице Публикации откройте карточку Reel.
  2. Нажмите «Загрузить оригинал» и выберите файл (MP4 или MOV).
  3. Файл загрузится и появится встроенный плеер.
  4. При необходимости файл можно заменить или удалить.
Удаление оригинала не удаляет статистику публикации. Лайки, комментарии и метрики сохраняются независимо от файла.

5Статус интеграции

Система ежедневно проверяет доступность Instagram API. Если что-то сломалось (изменился API, превышен лимит запросов), статус отобразится на странице подключения и в карточке Instagram.

  1. Статусы: OK всё работает,Деградация часть полей недоступна,Недоступен API не отвечает.
  2. Подробности — на экране состояния интеграции (нужен логин оператора).

6Безопасность данных

Что система делает для защиты ваших данных:

  • Пароль Instagram никогда не запрашивается — только официальный OAuth.
  • Access-токен Instagram хранится зашифрованным (AES-256-GCM).
  • Вы видите только свои публикации — данные изолированы по пользователю.
  • Доступ к аккаунту можно отозвать в любой момент в разделе «Подключения».
  • Исходные ответы Instagram сохраняются для диагностики (с ограниченным сроком хранения).

Полезные ссылки (Meta for Developers)

Быстрая навигация