Il campo inventory
nel catalogo prodotti rappresenta le scorte di ciascun prodotto disponibili per la vendita nel tuo Shop di Facebook o nell'account per Shopping su Instagram. Questo valore è riflesso nella pagina dettagli prodotto (PDP) e aiuta gli acquirenti a conoscere il numero di articoli disponibili. Mantenerlo aggiornato e accurato è fondamentale ai fini dell'esperienza, in quanto indica quando i prodotti sono esauriti o, se errato, può determinare vendite superiori alla disponibilità effettiva.
NOTA: il campo inventory
sta per essere dichiarato obsoleto e sostituito con il campo quantity_to_sell_on_facebook
. Anche se nel breve termine continueremo a supportare il vecchio nome del campo, consigliamo di usare quello nuovo. Per maggiori informazioni su questo aggiornamento, consulta Campi supportati per i prodotti - Inserzioni del catalogo Advantage+ e vendite.
Nota: non è possibile taggare o acquistare articoli senza configurazione dell'inventario, ma è possibile utilizzarli per le inserzioni del catalogo Advantage+ senza procedere all'acquisto.
Il campo inventory
è un campo dinamico, il che significa che il suo valore fluttua sulla base degli acquisti effettuati dalle persone dal tuo Shop di Facebook o dall'account per Shopping su Instagram. Ogni volta che un utente effettua un ordine, il valore delle scorte dei prodotti corrispondenti viene ridotto.
La piattaforma di vendita incrementa automaticamente questo valore o rifornisce le scorte del prodotto in caso di annullamento dell'ordine da parte dell'utente. Se l'annullamento dell'ordine viene effettuato dal venditore, puoi rifornire le scorte del prodotto al momento stesso dell'annullamento e incrementare il valore corrispondente nell'inventario impostando il campo restock_items
dell'endpoint API per gli annullamenti.
Il valore che indichi mediante gli aggiornamenti del catalogo prodotti o altre tecniche (per maggiori informazioni consulta Strategie di aggiornamento dell'inventario) è considerato il valore di riferimento e viene sempre utilizzato per sovrascrivere quello memorizzato nella cache sul nostro back-end.
Manteniamo i seguenti tipi di valori dell'inventario:
Per ulteriori informazioni su questi tipi di inventario consulta Ciclo di vita del prodotto.
Quando le persone acquistano prodotti sul tuo Shop di Facebook o sull'account per Shopping su Instagram, il valore inventory
viene ridotto. Quando questo valore raggiunge lo 0
, contrassegniamo il prodotto come "Esaurito" e impediamo l'acquisto di unità aggiuntive. È fondamentale rifornire regolarmente i prodotti poiché i prodotti "esauriti" influiscono negativamente sull'esperienza dell'utente e sulla percezione del marchio.
Se un acquirente trova un prodotto esaurito, facciamo il possibile per passare dalla pagina relativa ai dettagli del prodotto a una variante con unità "Disponibili" in base al valore inventory
della variante del prodotto nel catalogo prodotti.
Quando un prodotto va fuori produzione, potresti pensare di eliminarlo semplicemente dal catalogo prodotti. Sconsigliamo questa soluzione.
L'eliminazione di prodotti dal catalogo può causare effetti indesiderati, come la scomparsa di tag e immagini dei prodotti. Consigliamo fortemente di eliminare i prodotti solo una volta trascorso tempo sufficiente (mesi).
Piuttosto che eliminare i prodotti, dovresti impostare il campo visibility
dei prodotti fuori produzione su staging
. In questo modo la piattaforma di vendita è in grado di ricollegare il prodotto a un'entità nota e gestire scenari diversi nel modo migliore.
Ogni volta che aggiorni l'inventario, noi aggiorniamo l'inventario fornito. Questo numero non corrisponde al numero di articoli disponibili per l'acquisto da parte dei clienti. Tracciamo gli ordini in entrata (che possono trovarsi in stati diversi) e sottraiamo gli ordini non riconosciuti per calcolare un inventario finale di prodotti disponibili. Questo numero potrebbe non essere mostrato al di fuori della nostra piattaforma.
Inventario disponibile = inventario fornito - ordini non riconosciuti.
Una volta riconosciuti gli ordini, è disponibile una finestra di 30 minuti per consentirti di elaborarli e aggiornare le unità disponibili (attraverso il catalogo) prima di rimuovere quegli ordini dal nostro contatore.
Per estendere la piattaforma di vendita a migliaia di commercianti, abbiamo preso la decisione di non supportare la gestione sincrona dell'inventario. Di conseguenza, non supportiamo l'esecuzione di transazioni di acquisto atomiche parallelamente alla riduzione dei livelli delle scorte nel magazzino. Se il tuo inventario è condiviso su più canali, potresti involontariamente effettuare vendite superiori alla disponibilità effettiva dei prodotti su Facebook o Instagram. Questo potrebbe accadere per i prodotti più venduti disponibili in quantità limitate.
Quando non riesci a evadere gli ordini perché sono state effettuate vendite superiori alla disponibilità effettiva, devi procedere all'annullamento e impostare il reason_code
su OUT_OF_STOCK
.
Se ti trovi spesso a dover gestire situazioni di questo tipo, ti consigliamo di elaborare gli ordini con maggiore frequenza e regolare di conseguenza il valore delle scorte dei prodotti.
Puoi aggiornare l'inventario in diversi modi a seconda del tipo di integrazione in uso:
A causa della natura asincrona dei sistemi distribuiti, il valore di inventory
nel catalogo prodotti potrebbe non essere sincronizzato, indipendentemente dalla velocità con cui aggiorni i valori delle scorte. Di seguito sono riportate alcune tecniche che potresti prendere in considerazione per ridurre al minimo scenari di race condition.
Il modo più efficace per evitare il rischio di vendite superiori alla disponibilità effettiva è preassegnare l'inventario al tuo Shop di Facebook o ai canali di Shopping su Instagram. Associare l'inventario a ciascuno dei tuoi canali di vendita garantisce che le vendite che avvengono su ogni singolo canale non interferiscano tra loro. Questa strategia può essere applicata a una parte o alla totalità del tuo catalogo prodotti.
Per i prodotti venduti a una frequenza normale, o per quelli associati a un inventario altamente fornito, il rischio di vendite superiori alla disponibilità effettiva è relativamente basso. In questa situazione, puoi mantenere una strategia di aggiornamento del catalogo prodotti semplice:
inventory
più aggiornato.Per i prodotti più venduti, o per quelli associati a un inventario meno fornito o particolarmente dinamico, potrebbe essere utile aggiornare i campi volatili come inventory
con maggiore frequenza. A tale scopo puoi usare l'API Real-Time Batch. Ecco una strategia generale che puoi seguire:
inventory
. Lo scopo di questo tipo di elenco è aggiornare i campi di natura più statica e rinviare gli aggiornamenti dei campi volatili usando l'API Real-Time Batch. inventory
quando il valore cambia nel tuo back-end o a una frequenza fissa. È importante che i campi aggiornati utilizzando questa tecnica non siano inclusi nell'elenco per motivi di coerenza.Ecco un esempio di aggiornamenti che utilizzano l'API Real-Time Batch:
curl \ -d @body.json \ -H "Content-Type: application/json" { "access_token": "<ACCESS_TOKEN>", "item_type": "PRODUCT_ITEM", "requests": [ { "method": "UPDATE", "retailer_id": "SKU1234567", "data": { "inventory": "1337", } } ] } https://graph.facebook.com/<CATALOG_ID/batch
Le richieste API Batch sono asincrone. Devi controllare lo stato della richiesta e il relativo risultato per assicurarti che tutti i tuoi aggiornamenti abbiano esito positivo. Per maggiori informazioni, consulta la documentazione relativa all'API Batch.
Se gestisci un numero limitato di prodotti, puoi anche aggiornare ciascun prodotto individualmente utilizzando l'API Graph direttamente al posto dell'API Real-Time Batch. A causa del rate limiting e del throttling dell'API Graph, questo approccio è applicabile solo a un numero limitato di prodotti. Il numero esatto di prodotti che puoi aggiornare utilizzando questo approccio dipende dalla quota applicata alla tua app Facebook; come regola generale, ti consigliamo di utilizzare l'API Real-Time Batch ogni volta che aggiorni più di una dozzina di prodotti alla volta.
Per aggiornare campi specifici all'interno di un prodotto, puoi effettuare la seguente chiamata all'API:
curl -d "inventory=1337" -X POST https://graph.facebook.com/<FACEBOOK_PRODUCT_ID> access_token: PAGE_ACCESS_TOKEN
Se stai utilizzando l'API Graph, usa un ID prodotto Facebook. Se stai utilizzando l'API Batch, usa il tuo ID (retailer_id
).
Un'altra tecnica comune per mitigare il rischio di vendite superiori alla disponibilità effettiva consiste nell'adottare un approccio cauto all'assegnazione dell'inventario. Ad esempio, quando un determinato articolo è prossimo all'esaurimento come indicato nel magazzino, puoi impostare il valore delle scorte nel catalogo prodotti su zero. Questa è in realtà una soluzione di ottimizzazione pensata per i casi di vendite insufficienti, ma può risultare utile anche nella gestione di scenari frequenti di vendite superiori alla disponibilità effettiva.
Se conosci la velocità di vendita di ciascuno dei tuoi prodotti, puoi suddividerli in bucket diversi e applicare una soglia specifica per ciascun bucket a seconda del profilo di vendita. Per essere contrassegnati come esauriti, i prodotti venduti rapidamente richiedono in genere un valore di soglia più elevato rispetto ai prodotti che vengono venduti con minore frequenza.