# Cara memberi gw akses API ke Instagram & Facebook (Meta Business Suite)

Tujuan: supaya gw bisa **membaca** data Instagram dan Facebook klien — jumlah follower, jangkauan, impresi, daftar postingan, engagement, insight harian — otomatis, tanpa buka dashboard satu-satu.

Ada dua jalur. Jalur A dipakai kalau memang mau otomatis dan tahan lama. Jalur B untuk uji cepat hari ini juga.

---

## Prasyarat (cek dulu, ini yang paling sering jadi jalan buntu)

1. **Instagram-nya harus akun Business atau Creator**, bukan akun personal. Kalau masih personal: aplikasi Instagram → Settings → Account type → Switch to Professional.
2. **Akun IG itu harus tersambung ke sebuah Facebook Page.** Caranya: dari aplikasi Instagram → Settings → Connected accounts, atau dari halaman Facebook → Settings → Linked accounts → Instagram.
3. **Bos harus Admin** di Page tersebut dan punya akses ke **Business Manager** (business.facebook.com) yang memegang asetnya.
4. Kalau klien yang punya asetnya (bukan Bos), klien perlu menambahkan Bos sebagai admin Page/IG, atau menambahkan Business Manager Bos sebagai partner.

Tanpa poin 1 dan 2, API Instagram tidak akan pernah mengembalikan data — bukan soal token.

---

## Jalur A — System User Token (yang gw sarankan untuk jangka panjang)

Token ini tidak kedaluwarsa dan tidak terikat ke akun pribadi siapa pun, jadi cocok untuk otomatisasi.

1. Buka **business.facebook.com** → **Business Settings** (ikon gerigi).
2. Menu kiri → **Users → System Users** → klik **Add**.
   - Nama: misalnya `hermes-monitoring`. Role: **Admin**.
3. Setelah dibuat, klik **Add Assets** → pilih **Pages** → pilih semua Page klien yang mau dipantau → centang **Manage Page** (atau minimal View).
   - Ulangi untuk **Instagram accounts** → centang aset IG yang sama.
4. Klik **Generate New Token** → pilih **App** (app yang dibuat di Langkah 0 di bawah).
5. Centang izin berikut:
   ```
   pages_show_list
   pages_read_engagement
   pages_read_user_content
   read_insights
   business_management
   instagram_basic
   instagram_manage_insights
   ```
   (Beberapa akun menampilkan nama `instagram_business_basic` dan `instagram_business_manage_insights`
   untuk Instagram API versi baru. Kalau muncul dua-duanya, centang yang ada.)
6. Klik **Generate Token** → **salin tokennya**.

**Langkah 0 yang harus ada sebelum poin 4** — bikin aplikasi Meta:
- Buka **developers.facebook.com/apps** → **Create App** → pilih tipe **Business**.
- Beri nama, isi email kontak.
- Di dashboard app: **Add Product** → tambahkan **Facebook Login for Business** dan **Instagram**.
- App boleh tetap berstatus **Development** (belum Live). Karena kita cuma mengakses aset milik sendiri dengan token milik sendiri, **App Review tidak diperlukan**. Review hanya dibutuhkan kalau aplikasi dipakai orang lain.

**Yang Bos kirim ke gw:** tokennya. Cukup itu — ID Page dan ID akun IG bisa gw temukan sendiri dari tokennya.

**Catatan keamanan:** token ini memberi akses baca (dan sebagian tulis) ke aset klien. Simpan seperti password. Gw akan menyimpannya di `.env` server ini, bukan di dalam kode atau catatan.

---

## Jalur B — Graph API Explorer (uji cepat, 10 menit)

Kalau Bos mau lihat hasilnya dulu sebelum menyusun System User:

1. Buka **developers.facebook.com/tools/explorer**.
2. Di kanan atas pilih **Meta App** (app yang dibuat di Langkah 0).
3. **User or Page**: pilih *Get User Access Token*.
4. Centang izin: `pages_show_list`, `pages_read_engagement`, `read_insights`, `instagram_basic`, `instagram_manage_insights`, `business_management`.
5. Klik **Generate Access Token** → izinkan lewat popup.
6. Salin token dari kotak **Access Token**.

Token ini umurnya pendek (1–2 jam). Untuk memperpanjang jadi 60 hari, klik ikon **ⓘ** di samping kotak token → **Open in Access Token Tool** → **Extend Access Token**.

---

## Cara gw memakainya setelah dapat token

Tinggal gw jalankan. Yang bisa gw tarik:

| Yang dicek | Contoh data |
|---|---|
| Profil Facebook Page | nama, jumlah follower, kategori, jumlah postingan |
| Insight Page | jangkauan, impresi, engagement harian |
| Profil Instagram | username, follower, jumlah media |
| Daftar postingan IG | caption, permalink, jumlah like, jumlah komentar, tanggal |
| Insight IG | reach, impressions, profile views, follower growth harian |

Kalau nanti mau lebih jauh (balas komentar otomatis, jadwalkan posting), itu butuh izin tambahan — `pages_manage_posts`, `pages_manage_engagement`, `instagram_content_publish` — dan permintaan itu **wajib lewat App Review** karena menyentuh konten publik.

---

## Kalau ada yang buntu

Tiga masalah yang paling sering:

- **"Instagram account not found" / data kosong.** Hampir selalu karena akun IG belum Business/Creator, atau belum tersambung ke Page. Ulangi Prasyarat 1–2.
- **Token valid tapi hasilnya kosong.** Berarti aset (Page/IG) belum ditambahkan ke System User di langkah 3.
- **Izin ditolak waktu generate token.** App belum punya produk **Instagram** atau **Facebook Login for Business** yang ditambahkan (Langkah 0).

Bagian antarmuka Meta sering berubah nama; kalau saat mengikuti langkah ini ada menu yang tidak persis sama, kirim screenshot halaman Business Settings ke gw — gw tunjukkan bagian mana yang perlu diklik.
