Meta App "delta-graph" — активація для Ads Library і Marketing API
Кому: Вова (Digital Lead)
App: delta-graph (App ID 1327888782563204)
Статус зараз: Development Mode → API блокує запити з помилкою "App role required"
Мета: увімкнути перегляд реклами в кабінетах (Marketing API) і Ad Library (публічну бібліотеку реклами Meta)
Дата: 2026-04-23
TL;DR — що треба зробити
| Крок |
Що робити |
Час |
Коли обов'язково |
| 1 |
Додати Привіт Вови+Сергія як Testers у Roles |
2 хв |
Для першого тесту зараз |
| 2 |
Заповнити Privacy Policy URL + App Icon + Category |
10 хв |
Перед переводом у Live |
| 3 |
App Mode: Development → Live |
1 хв |
Для публічних даних (Ad Library) |
| 4 |
Identity Confirmation (facebook.com/ID/confirm) |
1-2 дні |
Тільки для Ad Library API |
| 5 |
Products → Ad Library API → Accept Terms |
2 хв |
Для /ads_archive |
| 6 |
Створити System User у Business Manager |
5 хв |
Для перегляду власних кабінетів |
Крок 1 і 6 — достатньо щоб почати тестувати сьогодні. Кроки 2-5 — на production.
Крок 1. Додати testers у app Roles (швидкий старт)
Навіщо: щоб API запити з твого/Сергія облікового запису перестали повертати "App role required".
- Відкрий developers.facebook.com/apps → обери
delta-graph
- Лівий сайдбар: App Roles → Roles
- Натисни Add People → обрати роль Tester (або Developer)
- Ввести Facebook ID або URL профілю:
- Свій
- Сергія
- Мене (якщо треба тестувати з VPS — дам свій FB-акаунт окремо)
- Tester отримує email → приймає інвайт
- Після прийняття — API запити з його user token працюватимуть
Перевірка: відкрити Graph API Explorer, обрати app delta-graph, натиснути "Generate Access Token" → мають відкритись доступні endpoints.
Крок 2. Заповнити базові поля app (перед Live Mode)
Навіщо: Meta не дозволяє переключити app у Live без цих полів.
delta-graph → Settings → Basic
- Заповни:
- Display Name (якщо ще не повне)
- App Icon — 1024×1024 PNG (можна логотип Deltamedical / medizine)
- Privacy Policy URL — має бути публічним URL з Privacy Policy (напр.
https://medizine.ua/privacy)
- User Data Deletion — або URL інструкції, або callback (обираєш "Data Deletion Instructions URL" зі скріну)
- Category — Business (вже стоїть)
- Business Use — обери "Support my own business"
- Знизу — Save Changes
Без цього: перемикач "App Mode: Live" не буде доступним.
Крок 3. Перевести App Mode → Live
Навіщо: поки app у Development Mode, API обслуговує тільки testers/developers. Live Mode = публічні endpoints (Ad Library тощо) стають доступними по app token для всіх.
- На будь-якій сторінці app Dashboard — зверху біля назви є тумблер App Mode: Development / Live
- Клік → підтвердити
- Якщо щось не заповнено (крок 2) — Meta скаже що саме
Важливо: Live Mode ≠ App Review. Це різні речі.
- Live Mode = публічні публічно-дозволені дозволи працюють без окремого approval
- App Review = потрібен тільки для advanced permissions (ads_read на чужі кабінети, pages_read для чужих сторінок тощо)
Крок 4. Identity Confirmation (тільки для Ad Library)
Навіщо: Ad Library API має окрему вимогу — підтвердження особи адмінa app. Без цього /ads_archive не відкриється, навіть у Live Mode.
- Відкрий facebook.com/ID/confirm з акаунту, який є Admin app
- Процес:
- Вибір країни (Ukraine)
- Завантажити фото документа (паспорт / ID-карта / водійське)
- Селфі у процесі
- Meta обробляє 1-2 робочих дні (іноді до 5)
- Коли статус стане "Confirmed" — повернись до app
Альтернатива якщо не хочеш особисто: можна зробити на Сергія, але він має бути Admin app (Roles → Administrators).
Крок 5. Activate Ad Library API
Навіщо: щоб /ads_archive (публічна бібліотека Meta) відповідала на запити.
delta-graph → Add Products (ліворуч у сайдбарі)
- Знайти Ad Library API → Set Up
- Прийняти Terms
- На сторінці Ad Library API — активувати "Access Ad Library"
- Після активації + Identity Confirmation (крок 4) → тестовий запит:
GET https://graph.facebook.com/v19.0/ads_archive
?search_terms=health
&ad_reached_countries=['UA']
&ad_type=ALL
&access_token=<APP_ID>|<APP_SECRET>
має повернути JSON зі списком реклам замість помилки.
Крок 6. Marketing API — System User у Business Manager
Навіщо: перегляд реклами у своїх кабінетах (Deltamedical, medizine, Demdizajn, masterdigital) через API. App Review для цього не потрібен — достатньо System User з BM.
6.1. Додати app до Business Manager
- Відкрий business.facebook.com/settings
- Лівий сайдбар: Business Assets → Apps → Add → обрати
delta-graph
- Надати доступ до app одного з твоїх BM
6.2. Створити System User
- BM Settings → Users → System Users → Add
- Ім'я: наприклад
API Reader Delta · Роль: Admin (або Employee якщо тільки read)
- Натиснути Add Assets → обрати:
- Apps →
delta-graph (Full Control)
- Ad Accounts → обрати всі потрібні кабінети Deltamedical (View/Manage Campaigns достатньо для read)
- Pages → якщо треба читати пост-рекламу
6.3. Згенерувати постійний token
- На сторінці System User — Generate New Token
- Обрати
delta-graph як app
- Обрати scopes: ads_read, business_management (для Ad Library також ads_management, але не обов'язково для read-only)
- Token Expiration: Never (System User token не протухає)
- Копіюй токен і зберігай надійно — Meta не покаже його вдруге
Тестовий запит на перегляд реклами в кабінеті:
GET https://graph.facebook.com/v19.0/act_<AD_ACCOUNT_ID>/ads
?fields=id,name,status,creative,effective_status,adset_id
&limit=10
&access_token=<SYSTEM_USER_TOKEN>
Коли може знадобитись App Review
НЕ потрібен для:
- Перегляду власних кабінетів BM (System User достатньо)
- Ad Library API (потрібне лише Identity Confirmation + Live Mode)
Потрібен ТІЛЬКИ якщо:
- Робиш SaaS/сервіс, де КЛІЄНТИ підключають свої кабінети через OAuth (треба advanced
ads_read)
- Публікуєш пости на чужих сторінках (advanced
pages_manage_posts)
- Читаєш Insights на чужих сторінках (advanced
pages_read_engagement)
Для нашого use-case (Deltamedical + medizine + дочірні кабінети — всі свої) App Review не потрібен.
Де зберігаються credentials
- App ID + App Secret:
/srv/passepartout/meta/vova-ads-app.txt (permissions 600, тільки root)
- Meta-лейбл:
/srv/passepartout/meta/vova-ads-app.meta
- Коли зробиш System User token — скинь мені, збережу туди ж окремим файлом (
vova-systemuser-token.txt) + .meta
Перевірка що все працює (чек-лист)
- [ ] App Mode = Live
- [ ] Privacy Policy URL + App Icon заповнені
- [ ] Я / Вова / Сергій — у Roles (щонайменше Tester)
- [ ] Identity confirmed на facebook.com/ID/confirm
- [ ] Ad Library API у Products, Terms прийняті
- [ ] System User з Never-expiring token, scopes ads_read + business_management
- [ ] Тестовий запит
/ads_archive повертає дані
- [ ] Тестовий запит
/act_XXXX/ads повертає список реклам
Якщо по якомусь пункту застрягнеш — кидай помилку, розберемо.
Коли зробиш кроки 1 і 6 (додав testers + створив System User) — кинь мені токен System User, я перевірю що API читає Deltamedical кабінети і дам код для first report.