L'estensione Facebook Business (FBE) utilizza il catalogo per acquisire l'inventario di un'azienda. Viene utilizzato per varie funzioni, come inserzioni dinamiche, shop delle Pagine e la scheda dei servizi in evidenza. È un passaggio facoltativo dell'integrazione, ma è necessario per alcune funzioni.
Il catalogo di Facebook ha la sua suite di API, ma FBE si integra direttamente con alcune di esse in modo da poter aggiornare facilmente l'inventario di un'azienda sulla nostra piattaforma (senza che tu debba tenere traccia degli ID del catalogo di Facebook).
Per assicurarti che tutti i campi obbligatori siano correttamente compilati nel tuo catalogo per inserzioni dinamiche e casi d'uso commerciali (shop della Pagina, Shopping su Instagram, Marketplace), consulta Campi di supporto.
Per aggiornare l'inventario, esistono 2 metodi:
Consigliamo vivamente di utilizzare uno dei metodi push (API Batch o API One-Time Feed Upload) in quanto consentono aggiornamenti istantanei dell'inventario e riducono il carico sul server da entrambe la parti. L'access_token
usato qui è lo stesso restituito da Business Login e dal webhook.
Devi inviarci l'inventario completo di un'azienda non appena ricevi un nuovo webhook di installazione. Devi inviare un aggiornamento ogni volta che un'azienda apporta una modifica al proprio inventario sul tuo sito web.
Consigliata per la maggior parte delle aziende di e-commerce. L'API Batch è un'API Catalog di Facebook standard ed è utile per le aziende con inventari di grandi dimensioni (oltre 100 articoli) e/o che aggiornano frequentemente gli articoli.
Disponibile per le aziende che si occupano di appuntamenti (servizi). L'API One-Time Feed Upload è un'API Catalog di Facebook standard ed è utile per le aziende con inventari di dimensioni più contenute (circa 100 articoli o meno).
Con questo metodo, invii un inventario completo ogni volta che viene effettuato un aggiornamento, che esegue una sostituzione completa dell'inventario nel catalogo di Facebook.
Passaggio 1: ottieni l'ID dell'elenco creato durante l'installazione dell'estensione Facebook Business inviando l'ID del catalogo collegato (dalle notifiche webhook o dal nostro endpoint dell'API di installazione dell'estensione Facebook Business):
curl -G \ -d "access_token=<ACCESS_TOKEN>" \ https://graph.facebook.com/<API_VERSION>/<CATALOG_ID>/product_feeds
Ulteriori informazioni sull'API Product Feed.
Passaggio 2: esegui caricamenti una tantum nell'elenco:
Esempio: file di elenco ospitati in una posizione pubblica.
curl -X POST \
-F 'url="http://www.example.com/sample_feed.xml"' \
-F 'access_token=<ACCESS_TOKEN>' \
https://graph.facebook.com/{FEED_ID}/uploads
POST /{FEED_ID}/uploads HTTP/1.1
Host: graph.facebook.com
url=http%3A%2F%2Fwww.example.com%2Fsample_feed.xml
/* PHP SDK v5.0.0 */
/* make the API call */
try {
// Returns a `Facebook\FacebookResponse` object
$response = $fb->post(
'/{FEED_ID}/uploads',
array (
'url' => 'http://www.example.com/sample_feed.xml',
),
'{access-token}'
);
} catch(Facebook\Exceptions\FacebookResponseException $e) {
echo 'Graph returned an error: ' . $e->getMessage();
exit;
} catch(Facebook\Exceptions\FacebookSDKException $e) {
echo 'Facebook SDK returned an error: ' . $e->getMessage();
exit;
}
$graphNode = $response->getGraphNode();
/* handle the result */
/* make the API call */
FB.api(
"/{FEED_ID}/uploads",
"POST",
{
"url": "http:\/\/www.example.com\/sample_feed.xml"
},
function (response) {
if (response && !response.error) {
/* handle the result */
}
}
);
Esempio: caricamento di file di elenco direttamente dalla macchina locale. Il percorso al file deve essere modificato in base al tuo caso d'uso.
curl -X POST \
-F 'file=@catalog.csv;type=text/csv' \
-F 'access_token=<ACCESS_TOKEN>' \
https://graph.facebook.com/{FEED_ID}/uploads
POST /{FEED_ID}/uploads HTTP/1.1
Host: graph.facebook.com
file=%40catalog.csv%3Btype%3Dtext%2Fcsv
/* PHP SDK v5.0.0 */
/* make the API call */
try {
// Returns a `Facebook\FacebookResponse` object
$response = $fb->post(
'/{FEED_ID}/uploads',
array (
'file' => '@catalog.csv;type=text/csv',
),
'{access-token}'
);
} catch(Facebook\Exceptions\FacebookResponseException $e) {
echo 'Graph returned an error: ' . $e->getMessage();
exit;
} catch(Facebook\Exceptions\FacebookSDKException $e) {
echo 'Facebook SDK returned an error: ' . $e->getMessage();
exit;
}
$graphNode = $response->getGraphNode();
/* handle the result */
/* make the API call */
FB.api(
"/{FEED_ID}/uploads",
"POST",
{
"file": "@catalog.csv;type=text\/csv"
},
function (response) {
if (response && !response.error) {
/* handle the result */
}
}
);
Per il resto, tutti i formati di richiesta e risposta sono gli stessi documentati per l'endpoint originale.
Settore | Esempio di elenco CSV | Esempio di elenco TSV | Esempio di elenco XML |
---|---|---|---|
ECOMMERCE | |||
APPOINTMENTS |
Consulta Campi supportati del catalogo Appuntamenti (Servizi).
Sconsigliamo questo metodo in quanto porta ad avere inventari inattivi fino ai pull successivi, ma è utile per le piccole aziende con self hosting e un file di inventario accessibile pubblicamente. Se scegli di utilizzare questo metodo per un'azienda, devi specificare la funzione catalog_feed_scheduled
in Business Configuration, trasmessa tramite Business Login. Una volta definita, recuperiamo regolarmente l'inventario dell'azienda dall'URL pubblico specificato, indipendentemente da eventuali aggiornamenti.
Ulteriori informazioni sul metodo di pull programmato degli elenchi.