Come configurare un catalogo

Per configurare le inserzioni dinamiche ti occorrono un catalogo, degli elenchi per il catalogo e degli insiemi di prodotti.

Il catalogo è un file di dati strutturati con un elenco di articoli che desideri pubblicizzare. Ogni riga contiene tutte le informazioni necessarie per creare un’inserzione dinamica. Gli elenchi di prodotti sono caricamenti dinamici dei tuoi dati che permettono di mantenere aggiornato il tuo catalogo prodotti.

In questo documento ti guideremo nella procedura di configurazione di un catalogo:

Vedi anche Guida introduttiva alle inserzioni dinamiche e Configurazione delle inserzioni dinamiche tramite l’interfaccia utente.

Passaggio 1: Crea un catalogo

Per creare un catalogo per le inserzioni dinamiche:

use FacebookAds\Object\ProductCatalog;
use FacebookAds\Object\Fields\ProductCatalogFields;

$product_catalog = new ProductCatalog(null, <BUSINESS_ID>);

$product_catalog->setData(array(
  ProductCatalogFields::NAME => "Catalog",
));

$product_catalog->create();
from facebookads.adobjects.productcatalog import ProductCatalog

product_catalog = ProductCatalog(parent_id=<BUSINESS_ID>)

product_catalog[ProductCatalog.Field.name] = 'Catalog'

product_catalog.remote_create()
ProductCatalog catalog = new Business(<BUSINESS_ID>, context).createProductCatalog()
  .setName("Catalog")
  .execute();
String catalog_id = catalog.getId();
curl \
  -F 'name=Catalog' \
  -F 'access_token=<ACCESS_TOKEN>' \
  https://graph.facebook.com/v2.11/<BUSINESS_ID>/product_catalogs

Per usare un’API Catalog, ti occorre il livello di accesso all’API Marketing appropriato e devi accettare i Termini del servizio creando il tuo primo catalogo tramite Business Manager. Vedi Riferimento al catalogo.

Passaggio 2: Configura un elenco

Si tratta di un gruppo di articoli caricati o presi da un’azienda per mantenere aggiornato il tuo catalogo. Un articolo prodotto è un singolo articolo presente nel tuo negozio online, come un SKU. Puoi avere un singolo elenco prodotti che rappresenta tutti i prodotti del tuo catalogo oppure diversi elenchi prodotti in cui ciascun elenco rappresenta i prodotti di un singolo Paese o di una singola divisione. Vedi Elenco, Riferimento e Articolo, Riferimento.

Dopo aver creato un catalogo prodotti, usa l’catalog id per creare e programmare un elenco prodotti:

use FacebookAds\Object\ProductFeed;
use FacebookAds\Object\Fields\ProductFeedFields;
use FacebookAds\Object\Fields\ProductFeedScheduleFields;

$product_feed = new ProductFeed(null, <PRODUCT_CATALOG_ID>);

$product_feed->setData(array(
  ProductFeedFields::NAME => 'Test Feed',
  ProductFeedFields::SCHEDULE => array(
    ProductFeedScheduleFields::INTERVAL => 'DAILY',
    ProductFeedScheduleFields::URL =>'http://www.example.com/sample_feed.tsv',
    ProductFeedScheduleFields::HOUR => 22,
  ),
));

$product_feed->create();
from facebookads.adobjects.productfeed import ProductFeed

product_feed = ProductFeed(parent_id=<PRODUCT_CATALOG_ID>)

product_feed[ProductFeed.Field.name] = 'Test Feed'
product_feed[ProductFeed.Field.schedule] = {
    'interval': 'DAILY',
    'url': 'http://www.example.com/sample_feed.tsv',
    'hour': 22,
}

product_feed.remote_create()
ProductFeed productFeed = new ProductCatalog(<PRODUCT_CATALOG_ID>, context).createProductFeed()
  .setName("Test Feed")
  .setSchedule("{\"interval\":\"DAILY\",\"url\":\"http://www.example.com/sample_feed.tsv\",\"hour\":\"22\"}")
  .execute();
String product_feed_id = productFeed.getId();
curl \
  -F 'name=Test Feed' \
  -F 'schedule={ 
    "interval": "DAILY", 
    "url": "http:\/\/www.example.com\/sample_feed.tsv", 
    "hour": 22 
  }' \
  -F 'access_token=<ACCESS_TOKEN>' \
  https://graph.facebook.com/v2.11/<PRODUCT_CATALOG_ID>/product_feeds

Formati supportati

L’elenco di annunci deve essere fornito in uno dei seguenti formati:

Formato elenco Descrizione Esempio di elenco

CSV

Valore separato da virgola. La prima riga è l’intestazione della colonna. Includi campi contenenti virgole tra "virgolette doppie"

Scarica (clic con il tasto destro e Salva con nome)

TSV

Valori separati da tabulazione. La prima riga è l’intestazione della colonna. Includi campi contenenti virgole tra "virgolette doppie"

Scarica (clic con il tasto destro e Salva con nome)

RSS XML

Formato solitamente generato da sistemi di provider di elenchi automatizzati o server Web. Un insieme di nodi XML rappresenta una lista di prodotti e deve iniziare con il tag di dichiarazione <?xml.

Scarica (clic con il tasto destro e Salva con nome)

ATOM XML

Formato solitamente generato da sistemi di provider di elenchi automatizzati o server Web. Un insieme di nodi XML rappresenta una lista di prodotti e deve iniziare con il tag di dichiarazione <?xml.

Scarica (clic con il tasto destro e Salva con nome)

Parametri obbligatori

Tutti i nomi delle colonne devono essere scritti in inglese.

Nome Tipo Descrizione

id


Dimensioni max.: 100

Stringa

Un solo ID per articolo. Può essere una variante per un prodotto. Se sono presenti più istanze dello stesso ID, occorre ignorare tutte le istanze. Dopo aver importato il prodotto, questo campo verrà visualizzato come retailer_id.

availability

Stringa

Indica se l’articolo è disponibile. I valori consentiti sono:


in stock - L’articolo verrà spedito immediatamente.


out of stock - Non verrà reintegrato in magazzino.


preorder- Disponibile in futuro.


available for order - Verrà spedito entro 1-2 settimane.


discontinued - Fuori produzione


condition

stringa

Condizioni del prodotto: new, refurbished o used

description


Dimensioni max.: 5000

stringa

Una breve descrizione del prodotto.

image_link


stringa

Link all’immagine dell’articolo usata nell’inserzione. Il formato carosello usa immagini quadrate di proporzioni 1:1 (600x600 px), mentre un’inserzione per un singolo prodotto usa un’immagine di proporzioni 1.91:1 (1200x630 px). Fornisci immagini adatte all’uso.

link


stringa

Link al sito del venditore dove è possibile acquistare l’articolo.

title


Dimensioni max.: 100

stringa

Titolo dell’articolo.

price

stringa

Costo e valuta dell’articolo. La valuta deve essere specificata mediante il codice ISO 4217, ad es. 9.99 USD

gtin, mpn o brand


Dimensioni max.: 70

stringa

gtin - I Global Trade Item Number (GTIN) possono includere UPC, EAN, JAN e ISBN.



mpn - ID produttore univoco per prodotto.



brand - Nome del marchio.



gtin, mpn o brand necessario.

Campi facoltativi, deep link prodotto

Fornisci i deep link nell’elenco prodotti seguendo la specifica App Links. Le informazioni sul deep link nell’elenco prodotti hanno la precedenza su qualsiasi informazione raccolta da Facebook con i metadati App Links con il nostro crawler Web.

Se disponi già di informazioni deep link provenienti da App Links, non devi specificare questi dati. Facebook usa le informazioni provenienti da App Links per visualizzare il deep link. Per visualizzare i deep link nelle tue inserzioni, vedi Inserzioni dinamiche, modello di inserzione.

Nome Descrizione Esempio

ios_url

Schema personalizzato per app iOS come URL

example-ios://electronic

ios_app_store_id

ID app for App Store

1234

ios_app_name

Nome dell’app da visualizzare

Electronic Example iOS

iphone_url

Schema personalizzato per l’app iPhone come URL

example-iphone://electronic

iphone_app_store_id

ID app for App Store

5678

iphone_app_name

Nome dell’app da visualizzare

Electronic Example iPhone

ipad_url

Schema personalizzato per l’app iPhone

example-ipad://electronic

ipad_app_store_id

ID app per store delle app

9010

ipad_app_name

Nome dell’app da visualizzare

Esempio elettronico iPad

android_url

Schema personalizzato per l’app per Android come URL

example-android://electronic

android_package

Nome del pacchetto completamente qualificato per la generazione di intento

com.electronic

android_app_name

Nome dell’app da visualizzare

Electronic Example Android

windows_phone_url

Schema personalizzato per l’app per Windows Phone come URL

example-windows://electronic

windows_phone_app_id

ID app, come GUID, per lo store delle app

ee728e01-7727-4168-9c8f-85c7eef40112

windows_phone_app_name

Nome dell’app da visualizzare

Electronic Example Windows

Per iOS, fornisci le informazioni dell’app per iPhone o iPad solo se sono diverse dalla informazioni dell’app per iOS generale.

Usa il gruppo prodotti per raggruppare tutte le varianti di prodotti. Fornisci un gruppo di prodotti per identificare i prodotti quasi identici che variano per aspetti quali colore, materiale, dimensioni o motivo. I gruppi consentono di pubblicizzare più facilmente altri colori, stili o motivi per un particolare prodotto. Tutti i prodotti in un gruppo di prodotti condividono lo stesso item_group_id. Nelle inserzioni dinamiche, scegliamo solo un articolo nel gruppo in base al segnale che riceviamo dal pixel o dall’app.

Di seguito sono riportati i campi opzionali che puoi includere:

Nome Tipo Dimensioni max.

additional_image_link


Dimensioni max.: 2000

stringa

Puoi includere fino a 10 altre immagini; forniscile come URL separati da virgole.

age_group

stringa

Gruppo di età per prodotto. I valori consentiti sono newborn, infant, toddler, kids e adult.

color


Dimensioni max.: 100

stringa

Colore articolo.

expiration_date

ISO‑8601 (AAAA-MM-GG)

Scadenza prodotto. Se il prodotto è scaduto, Facebook lo esclude da tutti gli insiemi di prodotti e non lo mostra nelle inserzioni.

gender

stringa

Le opzioni includono: male, female e unisex

item_group_id

stringa

Per articoli che sono varianti di un prodotto. Fornisci lo stesso item_group_id per tutti gli articoli considerati varianti. Ad esempio, Polo rossa è una variante di Polo. Facebook lo associa all’retailer_product_group_id una volta ottenuto l’elenco. Nelle inserzioni dinamiche, scegliamo solo un articolo nel gruppo in base al segnale che riceviamo dal pixel o dall’app.

google_product_category


Dimensioni max.: 250

stringa

Valori predefiniti dalla tassonomia di prodotti Google. Ad esempio, Apparel & Accessories > Clothing > Dresses

material


Dimensioni max.: 200

stringa

Il prodotto è fatto in leather, denim o cotton.

pattern


Dimensioni max.: 100

stringa

Motivo o stampa su un prodotto.

product_type


Dimensioni max.: 750

stringa

Categoria definita dal rivenditore per il prodotto.

Ad es. nel TSV
Home & Garden > Kitchen & Dining > Appliances > Refrigerators

Ad es. nel XML<product_type>Home & Garden > Kitchen & Dining > Appliances > Refrigerators</product_type>

sale_price

stringa

Prezzo scontato se l’articolo è in saldo. La valuta deve essere specificata mediante il codice ISO 4217. Ad es. 9,99 USD.

sale_price_effective_date

ISO‑8601 (AAAA-MM-GG)

La data e l’ora di inizio e fine della vendita, separate da stanghette:


2014-11-01T12:00-0300/2014-12-01T00:00-0300

shipping

stringa

Prodotto con diversi prezzi per ciascun Paese e regione. Le diverse regioni sono separate da una virgola. Il formato deve essere COUNTRY:STATE:SHIPPING_TYPE:PRICE.

ad es.

US:CA:Ground:9.99 USD,US:NY:Air:15.99 USD

shipping_weight

stringa

Peso di spedizione dell’articolo. Accettiamo solo le seguenti unità di peso: lb, oz, g, kg. Esempio: 3 lbs

size

stringa

Dimensioni dell’articolo. Ad esempio, una camicia può essere Small o XL.

custom_label_0


Dimensioni max.: 100

stringa

Facoltativo, informazioni aggiuntive sull’articolo.

custom_label_1


Dimensioni max.: 100

stringa

Facoltativo, informazioni aggiuntive sull’articolo.

custom_label_2


Dimensioni max.: 100

stringa

Facoltativo, informazioni aggiuntive sull’articolo.

custom_label_3


Dimensioni max.: 100

stringa

Facoltativo, informazioni aggiuntive sull’articolo.

custom_label_4


Dimensioni max.: 100

stringa

Facoltativo, informazioni aggiuntive sull’articolo.

Testa il tuo elenco prodotti tramite la nostra pagina di debug dell’elenco prodotti. Per i file CSV/TSV, copia la prima riga (riga dell’intestazione della colonna) e alcuni prodotti; per i file XML, copia l’XML con alcuni prodotti, inserisci o incolla le righe nell’area di testo e conferma.

Passaggio 3: Aggiorna le opzioni

Per tenere aggiornate le informazioni sul prodotto, usa uno dei seguenti metodi:

  1. Recupero degli elenchi programmati
  2. Caricamento diretto di un elenco prodotti
  3. Aggiornamento di un prodotto

Recupero degli elenchi programmati

Facebook recupera gli elenchi prodotti dal tuo sistema secondo un programma da te definito. Puoi definire due tipi di programmi: update_schedule e schedule. I caricamenti creati tramite update_schedule creano nuovi articoli o aggiornano quelli esistenti con le informazioni fornite nel file dell’elenco. I caricamenti creati tramite schedule danno come risultato un’operazione di aggiornamento completa sul tuo elenco. Eliminiamo i prodotti non presenti nel file, aggiorniamo quelli esistenti e ne creiamo di nuovi. Puoi usare uno dei programmi o entrambi a seconda delle tue esigenze.

Ad es.: update_schedule con frequenza ORARIA e un schedule sostitutivo con frequenza GIORNALIERA.

Consigliamo di impostare un update_schedule solo con dati modificati nel file dell’elenco per un’elaborazione più rapida dell’elenco. Questa soluzione è migliore soprattutto per le vendite durante le feste e per aggiornamenti del prezzo e della disponibilità più rapidi. Ti consigliamo anche di contrassegnare gli articoli dei prodotti come non disponibili anziché eliminarli dall’elenco, in modo che Facebook possa ridefinire come destinatari gli utenti con prodotti simili disponibili.

curl \
  -F 'name=Test Feed' \
  -F 'schedule={ 
    "interval": "DAILY", 
    "url": "http:\/\/www.example.com\/sample_feed.tsv"
  }' \
  -F 'update_schedule={ 
    "interval": "HOURLY", 
    "url": "http:\/\/www.example.com\/sample_feed_updates.tsv",
    "hour": 22
  }' \
  -F 'access_token=<ACCESS_TOKEN>' \
  https://graph.facebook.com/v2.10/<PRODUCT_CATALOG_ID>/product_feeds

La risposta è:

{ "id" : {PRODUCT_FEED_ID} }

Vedi Riferimento all’elenco prodotti, Riferimento alla programmazione elenco prodotti.


Caricamento diretto di un elenco prodotti

Insieme alle azioni di recupero degli elenchi programmate, puoi eseguire caricamenti manuali.

Questo esempio è per i file dell’elenco ospitati in un percorso pubblico.

curl \
-F "url=http://www.example.com/sample_feed.xml" \
-F "access_token={ACCESS_TOKEN}" \
https://graph.facebook.com/{API_VERSION}/{PRODUCT_FEED_ID}/uploads

Questo esempio è per caricare i file dell’elenco direttamente dalla macchina locale. Il percorso al file deve essere modificato in base al tuo caso di utilizzo.

curl \
-F "file=@catalog.csv;type=text/csv" \
-F "access_token={ACCESS_TOKEN}" \
https://graph.facebook.com/{API_VERSION}/{PRODUCT_FEED_ID}/uploads

A tua scelta, puoi configurare update_only su true. Creiamo nuovi articoli e aggiorniamo quelli esistenti ma non eliminiamo gli articoli dall’elenco. Devi solo fornire l’id per aggiornare gli articoli esistenti. In questo modo, si riduce il tempo necessario per recuperare ed elaborare il file.

Ad esempio, per aggiornare solo il prezzo e le etichette personalizzate per 100 articoli in un elenco, usa il caricamento diretto. Fornisci un file con solo id, price e custom_label_0 per quegli articoli e imposta update_only su true. Supportiamo tutti i formati file elencati; quelli più comuni sono TSV e CSV.

Esempi di file:

Formato elenco Caso d’uso Esempio di elenco

CSV

Aggiorna price e availability per un sottoinsieme di articoli.

Scarica (clicca con il pulsante destro e scegli Salva con nome)

TSV

Reimposta il sale_price e aggiorna l’custom_label_0 per un sottoinsieme di articoli

Scarica (clicca con il pulsante destro e scegli Salva con nome)

Vedi Caricamenti manuali, Riferimento.

Se ottieni degli errori nell’elenco prodotti, vedi il Errori di caricamento dell’elenco prodotti, Riferimento.


Aggiornamento di un singolo prodotto

Puoi aggiornare i dati di un singolo prodotti in tempo reale. Includi i campi aggiornati in un HTTP POST:

https://graph.facebook.com/catalog:{PRODUCT_CATALOG_ID}:{base64urlencode(retailer_id)}

dove retailer_id è l’ID del prodotto nell’elenco prodotti. Deve avere codifica base64url. Vedi i campi prodotto mutevoli in Prodotti nel catalogo prodotti, Riferimento.

Non aggiungere agli elenchi prodotti operazioni di aggiornamento, creazione o eliminazione di singoli prodotti con l’API. Queste operazioni potrebbero causare l’interruzione degli aggiornamenti o eliminare gli articoli che hai creato con l’API dato che non li monitoriamo con l’elenco.

Vedi anche: * Riferimento al recupero dell’elenco programmato * Riferimento all’elenco con caricamento diretto * Riferimento all’elenco prodotti * Elenchi prodotti nel catalogo * Riferimento agli articoli prodotto * Ricerca prodotti nel catalogo

Caricamento in batch per cataloghi di grandi dimensioni

Puoi caricare cataloghi di dimensioni molto grandi con milioni di prodotti e un inventario che cambia rapidamente. Puoi creare, aggiornare ed eliminare più prodotti in un’unica richiesta HTTP. L’API si compone di due endpoint:

  • POST [/{product_catalog_id}/batch](#send-batch-request) - Invia un batch di richieste per creare, aggiornare, eliminare articoli in un catalogo.
  • GET [/{product_catalog_id}/check_batch_request_status](#batch-request-status) - Verifica lo stato della richiesta.

Invio di aggiornamenti prodotto

Per creare, aggiornare o eliminare prodotti nel tuo catalogo, effettua una chiamata HTTP POST con le modifiche che desideri effettuare. Puoi effettuare fino a 500 aggiornamenti in una chiamata. Per ciascun catalogo, puoi effettuare fino a 100 chiamate all’ora.

use FacebookAds\Api;
use FacebookAds\Http\RequestInterface;

$requests =  array(
    array(
        'method' => 'CREATE',
        'retailer_id' => 'retailer-product-id-123',
        'data' => array(
          'availability' => 'in stock',
          'brand' => 'Niky',
          'category' => 't-shirts',
          'currency' => 'USD',
          'description' => 'This is the product description.',
          'image_url' => 'http://www.images.example.com/t-shirts/1.png',
          'name' => 'My product name',
          'price' => '100',
          'url' => 'http://www.example.com/t-shirts/1.html',
        ),
    ),
);


$data = Api::instance()->call(
  '/'.<CATALOG_ID>.'/batch',
  RequestInterface::METHOD_POST,
  array('requests' => $requests))->getContent();
curl \
  -F 'requests=[ 
    { 
      "method": "CREATE", 
      "retailer_id": "retailer-product-id-123", 
      "data": { 
        "availability": "in stock", 
        "brand": "Niky", 
        "category": "t-shirts", 
        "currency": "USD", 
        "description": "This is the product description.", 
        "image_url": "http:\/\/www.images.example.com\/t-shirts\/1.png", 
        "name": "My product name", 
        "price": "100", 
        "url": "http:\/\/www.example.com\/t-shirts\/1.html" 
      } 
    } 
  ]' \
  -F 'access_token=<ACCESS_TOKEN>' \
  https://graph.facebook.com/v2.11/<CATALOG_ID>/batch

Questa chiamata restituisce un handle che puoi usare per verificare lo stato della richiesta batch. Vedi Ottenimento dello stato della richiesta:

{
  "handles": ["AczwaOW7j_EuQ5peV3kGq8X9qc7cDiv_kFrrHkdKuG7LkpkkqK5939wgdoduSQ45FGK5vKdVqOaSDJEun-fvbsR1kk8Rd53AZyD1WThSemo26I"]
}
Parametro Tipo Descrizione

requests

Oggetto

Un oggetto JSON contenente tutte le richieste.

requests.method

stringa

CREATE, UPDATE oppure DELETE.

requests.retailer_id

stringa

L’id del prodotto fornito dal rivenditore.

requests.data

Oggetto

Un oggetto JSON contenente i campi e i valori del prodotto. Quando il method è CREATE, deve contenere tutti i campi necessari per un prodotto. Quando il method è UPDATE può contenere alcuni campi. Facebook aggiorna solo i campi forniti da te.

I valori supportati nel campo data che puoi usare sono articoli CREATE e UPDATE:

  • additional_image_urls
  • availability
  • age_group
  • applinks
  • brand
  • category
  • color
  • condition
  • currency
  • custom_label_0
  • custom_label_1
  • custom_label_2
  • custom_label_3
  • custom_label_4
  • description
  • gender
  • gtin
  • image_url
  • manufacturer_part_number
  • name
  • pattern
  • price
  • product_type
  • sale_price
  • sale_price_end_date
  • sale_price_start_date
  • shipping
  • size
  • url

Puoi usare applinks per informazioni sul deep link, che funziona in modo simile ai deep link del prodotto. Il formato è il seguente:

"applinks" : {
  "ios": [{
    "url":"example-ios://electronic",
    "app_store_id":42,
    "app_name":"Electronic Example iOS"
  }],
  "iphone": [{
    "url":"example-iphone://electronic",
     "app_store_id":43,
     "app_name":"Electronic Example iPhone"
  }],
  "ipad": [{
    "url":"example-ipad://electronic",
     "app_store_id":44,
     "app_name":"Electronic Example iPad"
  }],
  "android": [{
    "url":"example-android://electronic",
     "package":"com.electronic",
     "class":"com.electronic.Example",
     "app_name":"Electronic Example Android",
  }],
  "windows_phone": [{
    "url":"example-windows://electronic",
     "app_id":"64ec0d1b-5b3b-4c77-a86b-5e12d465edc0",
     "app_name":"Electronic Example Windows"
  }]
}

Vedi Riferimento della creazione del catalogo prodotti.

Ottenimento dello stato della richiesta

Per ottenere lo stato di una richiesta batch, usa l’handle restituito dalla chiamata per {product_catalog_id}/batch:

curl -G \
-d 'handle=AczwaOW7j_EuQ5peV3kGq8X9qc7cDiv_kFrrHkdKuG7LkpkkqK5939wgdoduSQ45FGK5vKdVqOaSDJEun-fvbsR1kk8Rd53AZyD1WThSemo26I'
-d 'access_token={ACCESS_TOKEN}'
https://graph.facebook.com/{API_VERSION}/{PRODUCT_CATALOG_ID}/check_batch_request_status

Risposta:

{
  "data": [
    {
      "handle": "AczwaOW7j_EuQ5peV3kGq8X9qc7cDiv_kFrrHkdKuG7LkpkkqK5939wgdoduSQ45FGK5vKdVqOaSDJEun-fvbsR1kk8Rd53AZyD1WThSemo26Q",
      "status": "finished",
      "errors_total_count": 1,
      "errors": [
        {
          "line": 0,
          "id": "retailer-4",
          "message": "Invalid value: Value passed at position 0 (id=retailer-199) is invalid: \"You cannot create a EntProductItem without required field Availability\""
        }
      ]
    }
  ]
}

Vedi Catalogo prodotti, Riferimento, Verifica dello stato batch.

Regole dell’elenco prodotti

Correggi e previeni gli errori di caricamento degli elenchi con le regole. Puoi fornire regole che Facebook applica a ciascun caricamento di elenco. Specifica le tue regole tramite l’attributo (colonna) al quale si devono applicare, il tipo di regola e i parametri. Attualmente non puoi usare le regole con l’API Batch. Puoi fornire questi tipi di regole:

  • Regola di mappatura - Mappa gli attributi (nomi colonna) in un file di elenco per gli attributi che possiamo riconoscere.
  • Regola di mappatura valore - Mappa i campi (valori colonna) in un file di elenco per i campi che possiamo riconoscere.
  • Regola utilizzo di maiuscole/minuscole - Modifica le maiuscole/minuscole delle parole in un campo. Ad esempio, modifica tutte le descrizioni con lettere maiuscole in minuscole.

Con le regole mappatura e mappatura valore puoi correggere questi problemi:

  • Errore di digitazione dell’attributo gavailability in availability
  • Correzione di enumerazioni non riconosciute InStock in in stock
  • Formato prezzo da 45$ in 45.00 USD
  • Traduzione delle condizioni: Neu sotto Condizione: New

Puoi usare le regole di utilizzo di maiuscole/minuscole per risolvere questi tipi di problemi:

  • Modifica delle descrizioni tutte in maiuscolo BRAND NEW WITH LEATHER DETAIL... in Brand new with leather detail...
  • Correzione dei titoli tutti in maiuscolo FACEBOOK T-SHIRT in Facebook T-shirt

Regole suggerite

Puoi ottenere regole suggerite da Facebook per correggere gli errori nei tuoi elenchi. Per visualizzare le regole suggerite per la tua sessione di caricamento, segui questi passaggi:

  • Recupera le sessioni di caricamento:
https://graph.facebook.com/{API_VERSION}/{PRODUCT_FEED_ID}/uploads
  • Recupera gli errori della sessione di caricamento:
https://graph.facebook.com/{API_VERSION}/{UPLOAD_SESSION_ID}/errors
  • Recupera le regole suggerite per l’errore di caricamento:
curl -i -X GET 
 "https://graph.facebook.com/{API_VERSION}/{UPLOAD_ERROR_ID}/suggested_rules?access_token={ACCESS_TOKEN}

Una risposta di esempio con un suggerimento ha il seguente aspetto:

"data": [
  
    "attribute": "description",
    "type": "letter_case_rule",
    "params": [
      
        "key": "type",
        "value": "capitalize_first"
      
    ]
  
]

Per dettagli, vedi API Suggested Rules, Riferimento.

Endpoint

Aggiunta di regole agli elenchi

Per applicare regole a un elenco, devi associare la regola all’elenco. Effettua una chiamata HTTP POST a:

https://graph.facebook.com/{API_VERSION}/{PRODUCT_FEED_ID}/rules?attribute={ATTRIBUTE}&amp;rule_type={RULE_TYPE}&amp;params={PARAMS}

Ad esempio:

curl -i -X POST 
 -d "attribute=google_product_category" 
 -d "rule_type=mapping_rule" 
 -d "params=%7B'map_from'%3A%20'gcategory'%7D" 
 -d "access_token={ACCESS_TOKEN}" 
 "https://graph.facebook.com/v2.9/{PRODUCT_FEED_ID}/rules" 
 // sample response
 
  "id": "{RULE_ID}"

Devi formattare i params nel seguente modo:

Tipo di regola Formato Esempio Note

Regola mappatura

"map_from": <string>

"map_from": "gavailability"

Regola mappatura valore

<string> : <string>

"InStock": "in stock"

Per la regola mappatura valore il numero di operazioni di mappatura è limitato a 10 e la lunghezza delle stringhe a 20.

Regola utilizzo di maiuscole/minuscole

"type": one of : "capitalize_first", "capitalize_all", "to_upper", "to_lower"

"type": "capitalize_first"

Per dettagli, vedi Riferimento dell’API delle regole dell’elenco prodotti.

Ottenimento delle regole attuali

Per elencare tutte le regole associate a un elenco, effettua una chiamata HTTP GET a:

https://graph.facebook.com/{API_VERSION}/{PRODUCT_FEED_ID}/rules

Per dettagli, vedi Riferimento dell’API delle regole dell’elenco prodotti.

Aggiornamento ed eliminazione delle regole

Per modificare una regola associata a un elenco, effettua una chiamata HTTP POST per aggiornare i parametri e a HTTP DELETE per eliminarli. Puoi solo aggiornare i parametri. Se vuoi modificare attribute o rule_type, devi eliminare e ricreare la regola.

https://graph.facebook.com/{API_VERSION}/{PRODUCT_FEED_RULE_ID}?params={PARAMS}

Per dettagli, vedi Riferimento dell’API delle regole dell’elenco prodotti.

Avanti: Raccogli i segnali del pubblico e crea un pubblico per i prodotti

Creazione di un pubblico per il prodotto