Mendapatkan ID Aset dan Token Akses

Setelah pengguna menginstal Meta Business Extension, dan Anda memiliki token akses pengguna mereka (yang digunakan untuk melakukan panggilan API untuk pengguna), Anda perlu mendapatkan ID Pixel, ID Bisnis Instagram, ID Halaman, ID Pengelola Bisnis, ID Akun Iklan, ID Katalog (opsional), atau token akses dari pengguna untuk mengonfigurasi fitur yang relevan. ID ini akan digunakan untuk endpoint API dan konfigurasi bisnis.

Dengan solusi OBO, klien bisa mendapatkan token akses, menggunakan token akses pengguna sistem admin Pengelola Bisnis partner, dan bukan hanya token akses admin Pengelola Bisnis klien.

Mengumpulkan ID untuk Endpoint API dan Konfigurasi Bisnis

Inilah cara untuk mendapatkan informasi itu:

Pembuatan Pengguna Sistem

Setelah pengguna menginstal MBE, ekstensi membuat pengguna sistem karyawan pada Pengelola Bisnis klien. Penamaan untuk pengguna sistem baru ini mengikuti skema {App Name} System User (FBE).

Pengguna sistem mewakili server atau perangkat lunak yang melakukan panggilan API ke aset yang dimiliki atau dikelola oleh Pengelola Bisnis.

Pengguna sistem ini memiliki izin ke semua aset MBE terkait dengan izin tugas berikut:

  1. Halaman: 'MANAGE'
  2. Akun Iklan: 'MANAGE'
  3. Katalog: 'MANAGE'
  4. Pixel: 'EDIT'

Mendapatkan Token Pengguna Sistem dengan API

Jika Anda menerima token akses pengguna melalui Webhooks atau Login Bisnis setelah penginstalan MBE, Anda dapat menggunakan token yang sama untuk mendapatkan token akses pengguna sistem Pengelola Bisnis. Untuk melakukannya, lakukan panggilan API berikut:

curl -X POST \
  -F 'app_id={app_id}' \
  -F 'scope={permissions}' \ 
  -F 'access_token={access_token}' \
  -F 'fbe_external_business_id={fbe_external_business_id}' \
  https://graph.facebook.com/<API_VERSION>/<client_business_manager_id>/access_token

Untuk kolom scope, gunakan izin manage_business_extension, tetapi tergantung penggunaan Anda, mungkin ads_management atau catalog_management juga diperlukan.

Untuk kolom access_token, Anda dapat meneruskan token akses pengguna (user_access_token) atau Token Akses Pengguna Sistem Pengelola Bisnis Partner (partner_bm_admin_system_user_token). Pelajari selengkapnya tentang Token Akses Bisnis.

Kolom token_type dari Webhooks menunjukkan apakah access_token yang diterima adalah token akses pengguna atau token akses pengguna sistem.

Jika pengguna menginstal MBE melalui Instagram, Webhooks akan memberikan token pengguna sistem yang dihasilkan pada Pengelola Bisnis klien, sehingga Anda tidak perlu memanggil API ini.

Webhooks

Untuk menerima pembaruan cepat tentang penginstalan, penghapusan penginstalan, dan konfigurasi ulang MBE, kami mengaktifkan peristiwa Webhooks setiap kali salah satu bisnis Anda menginstal, mengubah, atau menghapus penginstalan MBE.

Setiap kali pengguna menginstal atau mengubah MBE, aplikasi Anda harus memeriksa konfigurasi Webhooks untuk memahami aset apa yang telah diubah, ditambahkan, atau dihapus pengguna dari koneksi mereka dengan aplikasi Anda. Perilaku aplikasi Anda harus diperbarui berdasarkan aset terbaru yang terhubung.

Persyaratan Pengaturan

  1. Buat endpoint pada server aman yang dapat memproses permintaan dari Facebook: Permintaan Verifikasi (GET) dan Notifikasi Peristiwa (POST).
  2. Konfigurasikan langganan Webhooks MBE di Dasbor Aplikasi:
    • Di bagian Meta Business Extension pada Dasbor Aplikasi, buka tab Pengaturan, gulir ke bawah ke kartu Webhooks, lalu klik Edit URL Panggilan Balik.
    • Masukkan URL endpoint Anda di kolom URL Panggilan Balik dan masukkan string di kolom Verifikasikan Token. Kami akan menyertakan string ini di semua Permintaan Verifikasi.
    • Setelah Anda mengeklik Verifikasikan dan Simpan, kami akan mengirim permintaan verifikasi ke endpoint Anda yang harus Anda validasi.
    • Akan berlangganan Webhooks fbe_install secara otomatis. Kartu ini juga dilengkapi pengalih yang dapat digunakan untuk menonaktifkan berlangganan jika diperlukan.

Parsing peristiwa Webhooks

Setiap kali penginstalan Webhooks diterima, aplikasi Anda perlu melakukan tindakan berikut.

Untuk penginstalan baru

  1. Simpan token akses dan jenis token, serta rekam aset yang aksesnya telah diberikan ke aplikasi Anda.
  2. Aktifkan set fitur berdasarkan aset mana yang telah diberikan.
  3. Jika aset wajib untuk fitur tertentu tidak ada, nonaktifkan fitur tersebut. Contoh: jika aplikasi Anda telah diberikan akses ke katalog, tetapi bukan pixel, hanya terapkan fitur yang didukung oleh katalog, bukan fitur yang didukung oleh pixel.
  4. Beri tahu pengguna melalui pembaruan tentang perilaku aplikasi Anda berdasarkan aset yang dapat mereka akses.

Untuk penginstalan yang sudah ada

  1. Perbarui token akses, jenis token, dan rekaman aset yang aksesnya telah diberikan ke aplikasi Anda.
  2. Perbarui set fitur yang akan diterapkan aplikasi Anda untuk bisnis ini berdasarkan aset mana yang telah diberikan.
  3. Beri tahu pengguna melalui pembaruan tentang perilaku aplikasi Anda berdasarkan aset yang dapat mereka akses.

Parsing Webhooks saat menghapus penginstalan

Lakukan langkah berikut saat menghapus penginstalan:

  1. Nonaktifkan fitur yang diterapkan aplikasi Anda untuk bisnis ini.
  2. Beri tahu bisnis tentang perubahan konfigurasinya.

Yang Disertakan bersama Payload Webhooks

Kolom Tanggapan

KolomDeskripsi
ad_account_id

Jenis: string

ID akun iklan yang dipilih oleh pengguna dalam MBE. Anda dapat menggunakan akun iklan ini untuk mengelola iklan jika aplikasi Anda memiliki izin ads_management. Lihat aset yang terhubung dari daftar installed_features.

business_manager_id

Jenis: string

ID Pengelola Bisnis yang digunakan untuk MBE. Lihat aset yang terhubung dari daftar installed_features.

catalog_id

Jenis: string

ID katalog yang dipilih oleh pengguna dengan MBE. Pengguna dapat menggunakan ID ini untuk mengelola katalog produknya. Lihat aset yang terhubung dari daftar installed_features.

fbe_event

Jenis: string

Peristiwa MBE yang menunjukkan apakah notifikasi acara tersebut adalah penginstalan atau penghapusan penginstalan. Lihat aset yang terhubung dari daftar installed_features.

flow

Jenis: string

Alur yang menandakan alur mana yang digunakan untuk onboarding pengguna (contoh: COMMERCE, CREATIVE, dan seterusnya). Lihat aset yang terhubung dari daftar installed_features.

commerce_merchant_settings_id

Jenis: string

ID Pengaturan Pelapak Perdagangan digunakan untuk memungkinkan mitra membaca informasi tentang Pengaturan Pelapak Perdagangan MBE yang dipilih. Lihat aset yang terhubung dari daftar installed_features.

onsite_eligible

Jenis: Boolean

Pemenuhan syarat perdagangan di tempat. Menandakan bahwa aset yang dipilih memenuhi syarat untuk perdagangan di tempat. Pelapak masih harus memiliki niat untuk di tempat dan memilih retur/pengiriman/pembayaran di situs partner. Lihat aset yang terhubung dari daftar installed_features.

profiles

Jenis: array

Daftar profil (ID Halaman Facebook dan/atau ID Profil Instagram Business). Gunakan ID ini untuk membuat permintaan Graph API terpisah bagi integrasi Facebook lain yang mungkin Anda miliki. Lihat aset yang terhubung dari daftar installed_features.

pages

Jenis: array

Daftar ID Halaman Facebook. Gunakan ID ini untuk membuat permintaan Graph API terpisah untuk integrasi Halaman Facebook lain yang mungkin Anda miliki. Lihat aset yang terhubung dari daftar installed_features.

instagram_profiles

Jenis: array

Daftar ID profil Instagram Business. Gunakan ID ini untuk membuat permintaan Graph API terpisah bagi integrasi Facebook/Instagram lain yang mungkin Anda miliki. Jika kolom tidak disertakan, ini berarti hanya lingkup terkait Instagram. Contoh: instagram_basic tidak termasuk dalam token akses dan/atau bisnis belum menghubungkan profil Instagram Business apa pun dengan MBE. Lihat aset yang terhubung dari daftar installed_features.

pixel_id

Jenis: string

ID Pixel unik untuk bisnis ini yang harus Anda simpan dan gunakan untuk memicu peristiwa Pixel. Lihat aset yang terhubung dari daftar installed_features.

token_type

Jenis: string

Jenis token. Menandakan apakah access_token yang diterima adalah token akses Pengguna atau token akses pengguna Sistem.

installed_features

Jenis: array

Daftar fitur yang telah diintegrasikan dengan/diinstal oleh bisnis ini melalui alur onboarding. Lihat daftar fitur saat ini.

feature_instance_id

Jenis: array

ID yang secara unik mewakili setiap fitur yang terinstal. Dapat digunakan di masa depan untuk memodifikasi atau menghapus instalan instance tertentu. Ini sama seperti feature_instance_id yang direferensikan di API Konfigurasi Fitur dan Webhooks.

feature_type

Jenis: string

Jenis fitur yang terinstal. Tabel daftar fitur memiliki seluruh set fitur yang tersedia. Anda hanya perlu melacak fitur yang telah Anda aktifkan.

connected_assets

Jenis: array

Daftar aset yang spesifik dan relevan untuk setiap fitur. Deskripsi aset sesuai dengan yang disebutkan di bagian atas tabel ini.

additional_info

Jenis: array

Informasi tambahan tentang fitur yang terhubung.


Saat Anda menerima peristiwa Webhooks untuk penginstalan baru, Anda harus: 1) mempertahankan pemetaan business_id ke pixel_id karena ID Pixel adalah unik bagi bisnis itu dan Anda harus menggunakannya untuk mengaktifkan peristiwa Pixel standar dan 2) memperbarui stok untuk bisnis itu menggunakan salah satu dari API DORONG Katalog, jika diaktifkan.


Contoh — Payload dengan kolom onsite_commerce_eligible Boolean

{
  "data": [{
    "ad_account_id": "<ad_account_id>",
    "business_manager_id": "<business_manager_id>",
    "catalog_id": "<catalog_id>",
    "commerce_merchant_settings_id": "<commerce_merchant_settings_id>",
    "onsite_eligible": true,
    "profiles": [
      "<page_id>",
      "<instagram_profile_id>"
    ],
    "pages": [
      "<page_id>"
    ],
    "instagram_profiles": [
      "<instagram_profile_id>"
    ],
    "pixel_id": "<pixel_id>",
    "token_type": "<token_type>",
    "installed_features": [
        {
            "feature_instance_id": "<unique_id>",
            "feature_name" : string, 
            "feature_type": enum,
            "connected_assets": {
                "ad_account_id": "<ad_account_id>",
                "business_manager_id": "<business_manager_id>",
                "catalog_id": "<catalog_id>",
                "commerce_merchant_settings_id": "<commerce_merchant_settings_id>",
                "ig_profile_id": "<instagram_profile_id>"               
                "page_id": "<page_id>",
                "pixel_id": "<pixel_id>",
            },
            "additional_info": {
                            "onsite_commerce_eligible": bool
                        },
                        {
                        "shop_status": array
                        },
                        {
                        "shop_status_info": array
                        }
                }
         ]
    }]
}

API Penginstalan MBE

Untuk bisnis apa pun yang telah menginstal MBE, Anda dapat melakukan kueri informasi penginstalan dasar (pixel_id dan daftar profil dengan IG Business ID and/or Page ID) menggunakan endpoint berikut:

Contoh

CURL -X GET 'https://graph.facebook.com/<API_VERSION>/fbe_business/fbe_installs?fbe_external_business_id=<fbe_external_business_id>&access_token=<access_token>'

Tanggapan

{
  "data": [{
    "token_type": "<token_type>"
    "installed_features": [
        {
            "feature_instance_id": "<unique_id>",
            “feature_name” : string, 
            "feature_type": enum,
            "connected_assets": {
                “ad_account_id”: "<ad_account_id>",
                “business_manager_id”: "<business_manager_id>",
                “catalog_id”: "<catalog_id>",
                “commerce_merchant_settings_id”: "<commerce_merchant_settings_id>",
                “ig_profile_id”: "<instagram_profile_id>"               
                "page_id": "<page_id>",
                "pixel_id": "<pixel_id>",
            },
            "additional_info": {
                            "onsite_commerce_eligible": bool
                        },
                        {
                        "shop_status": array
                        },
                        {
                        "shop_status_info": array
                        }
                }
         ]
    }]
}

Tanggapan mencakup kolom berikut. Ini sekarang merupakan sumber kebenaran dalam aset yang terhubung dengan daftar “installed_features”:

KolomDeskripsi

token_type

Jenis: string

Jenis token yang menandakan apakah access_token yang diterima adalah token akses Pengguna default atau token akses pengguna Sistem.

installed_features

Jenis: array

Daftar fitur bisnis ini telah terintegrasi dengan atau diinstal melalui alur onboarding.

feature_instance_id

Jenis: string

ID unik yang mewakili setiap fitur yang diinstal. Dapat digunakan di masa depan untuk memodifikasi atau menghapus penginstalan instance tertentu. Ini sama seperti feature_instance_id yang direferensikan di API Konfigurasi Fitur dan Webhooks.

feature_name

Jenis: string

Nama fitur unik.

feature_type

Jenis: string

Jenis fitur yang diinstal. Anda hanya perlu melacak yang telah Anda aktifkan.

connected_assets

Jenis: array

Daftar aset khusus untuk setiap fitur.

additional_info

Jenis: string

Informasi tambahan tentang fitur yang terhubung, termasuk shop_status dan shop_status_info yang menunjukkan apakah Toko akan terpengaruh oleh perubahan yang akan datang. Nilai shop_status bisa jadi "inactive_other", "inactive_offsite", atau "active", atau "no_longer_available".

"Active" berarti toko terlihat. "Inactive_offsite" berarti toko tidak terlihat karena tidak menggunakan proses pembayaran di tempat. "Inactive_other" berarti toko tidak terlihat karena beberapa alasan yang tidak terkait dengan gaya proses pembayaran. "No_longer_available" berarti toko ini tidak berada di AS atau pasar utama dan tidak lagi tersedia.

Tanggapan API Konfigurasi Fitur


Model yang diperbarui mencakup ID instance fitur untuk setiap fitur dan kolom yang terdiri dari array semua fitur dari jenis yang diinstal oleh bisnis tersebut (contoh: beberapa CTA halaman).

Untuk fitur yang tidak dapat disesuaikan, hanya ID instance fitur dan tampilan bendera yang diaktifkan. Anda hanya dapat memperbarui fitur yang dapat disesuaikan dengan permintaan POST.

Model ini berbeda dari API Penginstalan MBE karena model ini menyediakan informasi fitur tambahan di luar aset yang terhubung, termasuk status diaktifkan dan penyesuaian fitur tertentu. Setelah memanggil API Penginstalan MBE, gunakan API ini jika perlu informasi selengkapnya tentang status atau konfigurasi fitur yang diaktifkan.

Membaca

Anda dapat membaca status konfigurasi fitur saat ini dari bisnis apa pun dengan permintaan berikut:

CURL -X GET 
'https://graph.facebook.com/<API_VERSION>/fbe_business/?fbe_external_business_id=<fbe_external_business_id>&access_token=<access_token>'

Memperbarui

Untuk memperbarui semua fitur, gunakan permintaan POST berikut:

CURL -i -X POST \   
  -F 'fbe_external_business_id=<fbe_external_business_id>' \
  -F 'business_config={business_config object}' \
  -F 'access_token=<access_token>' 
  "https://graph.facebook.com/<API_VERSION>/fbe_business"

Tanggapan

{
  "page_cta": {
     "feature_instance_id": id1,
     "enabled": true,
     "cta_button_text": "Book Now",
     "cta_button_url": "https://partner-site.com/foo-business1",
     "below_button_text": "Powered by FBE Partner"
  },
  "page_ctas": [
    {
        "feature_instance_id": id1,
        "enabled": true,
        "cta_button_text": "Book Now",
        "cta_button_url": "https://partner-site.com/foo-business1",
        "below_button_text": "Powered by FBE Partner"
    },
    {
        "feature_instance_id": id2,
        "enabled": true,
        "cta_button_text": "Book Now",
        "cta_button_url": "https://partner-site.com/foo-business2",
        "below_button_text": "Powered by FBE Partner"
    }
  ],
  “ig_cta”: {...}
  "ig_ctas": [{...}, {...}],
  “ads”: [
    {
      "feature_instance_id": id3,
      “enabled”: true,
    },
    {
      "feature_instance_id": id4,
      “enabled”: true,
    },
  ],
  ...
}