← всі звіти · pediatric-news-threads-setup-instructions-2026-04-29.md

Pediatric News × Threads — інструкція добудови pipeline

Дата: 2026-04-29 Контекст: Вова завів Threads для Pediatric News. Тепер треба завершити налаштування щоб ми могли автоматично публікувати пости.


Що вже є

Чого ще не вистачає


Кроки (по порядку)

1. Налаштування App у Meta Dashboard — Вова, 5 хв

Зайти на https://developers.facebook.com/apps/969901575530112/

1.1. Use cases → Edit

1.2. App Settings → Basic

1.3. Threads → Settings

1.4. App Mode

Що скинути мені після цього: скрін з налаштованими Redirect URI і списком scopes — щоб я побачив що все на місці.


2. Налаштування коллбек-сторінки на нашому VPS — Я, 15 хв

Я підніму на нашому Caddy маленьку сторінку https://31-131-26-203.nip.io/threads/callback, яка:

Робити цей крок паралельно з Вовиним кроком 1 — кажи коли готовий, і я запускаю.


3. OAuth flow — Вова, 2 хв

Я згенерую URL виду:

https://threads.net/oauth/authorize?client_id=969901575530112&redirect_uri=https://31-131-26-203.nip.io/threads/callback&scope=threads_basic,threads_content_publish&response_type=code

Вова:

  1. Відкриває цей URL у браузері залогінений у Threads-акаунт Pediatric News (важливо: саме під цим акаунтом, а не своїм особистим)
  2. Натискає Allow
  3. Threads редіректить на наш callback → ми ловимо token → зберігаємо

Що повернути: скрін успіху або скрін помилки якщо щось не так.


4. Тестова публікація — Я, 5 хв

Як тільки токен у passepartout — я роблю тестовий пост через API:

POST https://graph.threads.net/v1.0/{threads-user-id}/threads
   text=Тестовий пост від PharmaGen-pipeline 🧪
   media_type=TEXT
→ container_id

POST https://graph.threads.net/v1.0/{threads-user-id}/threads_publish
   creation_id=container_id
→ post_id

Якщо пост з'явився у акаунті — pipeline працює, можемо рухатись до workflow.


5. n8n workflow для автопостингу — Я, 30-60 хв

Створю workflow Pediatric News — Threads Publisher:

Schedule (cron) АБО Webhook
   ↓
HTTP Request: фетч контенту з джерела
   (TBD: звідки контент? RSS? Notion? Google Sheets? PharmaGen KZ?)
   ↓
HTTP Request: POST /threads (create container)
   ↓
HTTP Request: POST /threads_publish (publish)
   ↓
Telegram нотифікація: «✓ опубліковано»

Що мені треба знати від тебе перед побудовою:

  1. Звідки тягнути контент? Варіанти:
    • Готові пости з Notion / Google Sheets
    • Згенеровані через PharmaGen KZ (тобто інтеграція з нашим тулом)
    • RSS-фід когось іншого (передруки)
    • Ручний trigger (Сергій кидає в Telegram → бот публікує)
  2. Як часто постити? Раз на день? Через день? По ручному triggerу?
  3. Картинки чи тільки текст? Threads підтримує обидва — але для картинок треба public URL (ми вже хостимо PharmaGen-картинки, можна підкласти)
  4. Чи хочемо Telegram-апрув перед публікацією? Тобто Настя/Сергій бачать чорновик у TG → тиснуть «✓ публікувати» → тільки тоді постимо

6. Token refresh cron — Я, 10 хв

Long-lived токен живе 60 днів. Треба cron який раз на 30 днів робить:

GET https://graph.threads.net/v1.0/refresh_access_token?grant_type=th_refresh_token&access_token=...
→ новий токен на 60 днів

Налаштую через /etc/cron.d/threads-token-refresh.cron — щоб ти забув про токени взагалі.


7. App перевести в Live mode — Вова, 1 робочий тиждень очікування

Коли все працює — у Meta Dashboard перевести App Mode з Development у Live. Meta робить базовий рев'ю (~1-3 дні). Для нашого простого read+publish use-case проходить майже завжди.

Після Live:


Резюме — хто що робить

Крок Хто Час
1. Налаштувати App у Meta Dashboard Вова 5 хв
2. Підняти callback на VPS Я 15 хв
3. OAuth flow під Threads-акаунтом Pediatric News Вова 2 хв
4. Тестовий пост Я 5 хв
5. n8n workflow Я (треба узгодження джерела контенту) 30-60 хв
6. Cron на refresh токена Я 10 хв
7. App у Live mode Вова + Meta review 1-3 дні

Перший крок — на стороні Вови (пункт 1). Як тільки скине скрін з налаштованим Redirect URI і scopes — я підніму callback і генерую OAuth URL.

Перед пунктом 5 (workflow) — треба узгодити з тобою 4 питання вище: джерело контенту, частота, картинки, апрув-флоу.