Dopo che l'utente ha installato l'estensione Facebook Business e tu disponi del token d'accesso dell'utente (utilizzato per effettuare chiamate API per l'utente), devi ottenere l'ID del pixel, l'ID Instagram Business, l'ID Pagina, l'ID Business Manager, l'ID account pubblicitario, l'ID catalogo (facoltativo) o il token d'accesso dell'utente per configurare le funzioni pertinenti. Questi ID saranno usati per gli endpoint dell'API e le configurazioni aziendali.
Con la soluzione OBO, il cliente può ottenere il token d'accesso, usando anche il token d'accesso dell'utente del sistema con funzioni di amministratore del Business Manager del partner invece del token d'accesso dell'amministratore del Business Manager del cliente.
Ecco come ottenere queste informazioni:
Dopo che un utente installa l'estensione Facebook Business, quest'ultima genera un utente di sistema del dipendente sul Business Manager del cliente. La denominazione per questo nuovo utente di sistema segue lo schema {App Name} System User (FBE)
.
Gli utenti di sistema rappresentano server o software che effettuano chiamate API alle risorse di proprietà o gestite da un Business Manager.
Questo utente di sistema dispone delle autorizzazioni per tutte le risorse dell'estensione Facebook Business associate alle seguenti autorizzazioni di attività:
'MANAGE'
'MANAGE'
'MANAGE'
'EDIT'
Se ricevi un token d'accesso dell'utente tramite un webhook o il Business Login dopo l'installazione dell'estensione Facebook Business, puoi usare lo stesso token per ottenere il token d'accesso dell'utente di sistema del Business Manager. Per farlo, effettua la seguente chiamata API:
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
Per il campo scope
, usa l'autorizzazione manage_business_extension
ma, in base al tuo caso d'uso, potrebbero essere necessari anche ads_management
o catalog_management
.
Per il campo access_token
, puoi passare un token d'accesso dell'utente (user_access_token
) o un token d'accesso dell'utente del sistema con funzioni di amministratore del Business Manager (partner_bm_admin_system_user_token
). Ulteriori informazioni sul token d'accesso aziendale.
Il campo token_type
del webhook indica se l'access_token
ricevuto è un token d'accesso dell'utente o un token d'accesso dell'utente di sistema.
Se l'utente installa l'estensione Facebook Business tramite Instagram, il webhook restituisce il token dell'utente di sistema generato sul Business Manager del cliente, quindi non devi chiamare questa API.
Per ricevere aggiornamenti tempestivi su installazioni, disinstallazioni e riconfigurazioni dell'estensione Facebook Business, attiviamo eventi webhook ogni volta che una delle tue aziende installa, modifica o disinstalla l'estensione.
Ogni volta che un utente installa o modifica l'estensione Facebook Business, la tua app dovrebbe ispezionare la configurazione del webhook per capire quali risorse l'utente ha modificato, aggiunto o rimosso dalla propria connessione con la tua app. Il comportamento della tua app dovrebbe essere aggiornato sulla base delle risorse connesse più recenti.
GET
) e notifiche degli eventi (POST
).fbe_install
sarà automatica. La scheda presenta anche un pulsante che può essere usato per disattivare l'iscrizione se necessario.Ogni volta che viene ricevuto un webhook di installazione, l'app deve eseguire le seguenti azioni.
Esegui i passaggi seguenti al momento della disinstallazione:
Campi della risposta
Campo | Descrizione |
---|---|
ad_account_id Tipo: stringa | ID dell'account pubblicitario selezionato dall'utente nell'estensione Facebook Business. Puoi usare questo account pubblicitario per gestire le inserzioni se la tua app ha le autorizzazioni |
business_manager_id Tipo: stringa | ID del Business Manager usato per l'estensione Facebook Business. Consulta le risorse connesse della lista |
catalog_id Tipo: stringa | ID del catalogo selezionato da un utente nell'estensione Facebook Business. L'utente può utilizzare questo ID per gestire il catalogo prodotti. Consulta le risorse connesse della lista |
fbe_event Tipo: stringa | Evento dell'estensione Facebook Business che indica se la notifica dell'evento è un'installazione o una disinstallazione. Consulta le risorse connesse della lista |
flow Tipo: stringa | Indica il flusso con cui è stato registrato un utente (ad esempio |
commerce_merchant_settings_id Tipo: stringa | ID delle impostazioni sull'account per le vendite usato per abilitare i partner alla lettura delle informazioni relative alle impostazioni sull'account per le vendite dell'estensione Facebook Business selezionate. Consulta le risorse connesse della lista |
onsite_eligible Tipo: booleano | Idoneità per le vendite sul sito. Indica se le risorse selezionate sono idonee per le vendite sul sito. Il venditore deve comunque disporre dell'intent relativo all'opzione sul sito e selezionare resi/spedizioni/pagamenti sul sito partner. Consulta le risorse connesse della lista |
profiles Tipo: array | Lista dei profili (un ID Pagina Facebook e/o un ID profilo business di Instagram). Usa questi ID per creare richieste all'API Graph separate per altre integrazioni di Facebook che potresti avere. Consulta le risorse connesse della lista |
pages Tipo: array | Lista di ID Pagine Facebook. Usa questi ID per creare richieste all'API Graph separate per altre integrazioni delle Pagine Facebook che potresti avere. Consulta le risorse connesse della lista |
instagram_profiles Tipo: array | Lista di ID profili business di Instagram. Usa questi ID per creare richieste all'API Graph separate per altre integrazioni di Facebook/Instagram che potresti avere. Se il campo non è incluso, l'ambito è relativo solo a Instagram. Ad esempio, |
pixel_id Tipo: stringa | ID del pixel unico per questa azienda che dovresti archiviare e utilizzare per l'attivazione degli eventi del pixel. Consulta le risorse connesse della lista |
token_type Tipo: stringa | Tipo di token. Indica se l' |
installed_features Tipo: array | Lista di funzioni che questa azienda ha integrato con/installato tramite i flussi di registrazione. Consulta la lista delle funzioni corrente. |
feature_instance_id Tipo: array | ID che rappresenta in modo univoco ogni funzione installata. Può essere usato in futuro per modificare o disinstallare una specifica istanza. È lo stesso |
feature_type Tipo: stringa | Tipo di funzione installata. La tabella della lista delle funzioni ha tutto l'insieme di funzioni disponibili. Devi monitorare solo le funzioni abilitate. |
connected_assets Tipo: array | Lista delle risorse specifiche e pertinenti per ogni funzione. Le descrizioni delle risorse corrispondono a quelle menzionate all'inizio della tabella. |
additional_info Tipo: array | Informazioni aggiuntive sulla funzione connessa. |
Quando ricevi un evento webhook per una nuova installazione, devi: 1) mantenere una mappatura del business_id
al relativo pixel_id
, poiché l'ID del pixel è unico per quell'azienda e devi usarlo per attivare eventi standard del pixel e 2) aggiornare l'inventario dell'azienda usando una delle API Catalog PUSH, se abilitate.
onsite_commerce_eligible
booleano{ "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 } } ] }] }
Per un'azienda che ha installato l'estensione Facebook Business, puoi richiedere informazioni di base sull'installazione (pixel_id
e una lista di profili con un IG Business ID and/or Page ID
) utilizzando il seguente endpoint:
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>'
{ "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 } } ] }] }
La risposta include i campi seguenti, che rappresentano la fonte di dati nelle risorse connesse della lista “installed_features”:
Campo | Descrizione |
---|---|
Tipo: stringa | Tipo di token che indica se l' |
Tipo: array | Lista di funzioni che questa azienda ha integrato con o installato tramite i flussi di registrazione. |
Tipo: stringa | ID unico che rappresenta ogni funzione installata. Può essere usato in futuro per modificare o disinstallare una specifica istanza. È lo stesso |
Tipo: stringa | Nome della singola funzione. |
Tipo: stringa | Tipo di funzione installata. Devi monitorare solo le funzioni abilitate. |
Tipo: array | Lista delle risorse specifiche per ogni funzione. |
Tipo: stringa | Ulteriori informazioni sulla funzione collegata, inclusi "Active" significa che lo shop è visibile. "Inactive_offsite" significa che lo shop non è visibile perché non sta usando la procedura di acquisto sul sito. "Inactive_other" significa che lo shop non è visibile a causa di qualche motivo non correlato allo stile di acquisto. "No_longer_available" significa che questo shop non si trova negli Stati Uniti o in un mercato chiave e non è più disponibile. |
Il modello include l'ID istanza per ogni funzione e campi costituiti da un array di tutte le funzioni di quel tipo installate dall'azienda (esempio: CTA per più pagine).
Per le funzioni non personalizzabili, vengono visualizzati solo un ID istanza della funzione e il contrassegno che indica che la funzione è abilitata. Con una richiesta POST
puoi aggiornare solo le funzioni personalizzabili.
Questo modello differisce dall'API FBE Installation perché fornisce informazioni aggiuntive sulle funzioni oltre alle risorse connesse, quali lo stato di abilitazione e personalizzazioni specifiche. Dopo aver chiamato l'API FBE Installation, usala se sono necessarie più informazioni sullo stato di abilitazione o sulle configurazioni della funzione.
Lettura
È possibile leggere lo stato di configurazione delle funzioni correnti di qualsiasi azienda con la seguente richiesta:
CURL -X GET 'https://graph.facebook.com/<API_VERSION>/fbe_business/?fbe_external_business_id=<fbe_external_business_id>&access_token=<access_token>'
Aggiornamento
Per aggiornare tutte le funzioni, effettua la seguente richiesta POST
:
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"
Risposta
{ "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, }, ], ... }