Inventario (consulta Quantità da vendere)

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.

Fluttuazione dell'inventario

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:

  • L'inventario fornito, ovvero il valore da te indicato mediante gli aggiornamenti del catalogo prodotti o altre tecniche (per maggiori informazioni consulta Strategie di aggiornamento dell'inventario).
  • L'inventario disponibile, ovvero il valore che i clienti possono acquistare basato sugli ordini non elaborati.

Per ulteriori informazioni su questi tipi di inventario consulta Ciclo di vita del prodotto.

Prodotti esauriti

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.

Prodotti fuori produzione

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.

Ciclo di vita del prodotto

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.

Vendite superiori alla disponibilità effettiva

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.

Strategia di integrazione dell'inventario

Puoi aggiornare l'inventario in diversi modi a seconda del tipo di integrazione in uso:

  • Utilizzando l'interfaccia utente Gestore delle vendite (insieme di prodotti ridotto, test e così via)
  • Utilizzando un elenco con caricamento programmato o manuale
  • Utilizzando l'API Feed
  • Utilizzando l'API Batch

Strategie di aggiornamento dell'inventario

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.

Inventario preassegnato

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.

Prodotti meno venduti

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:

  • Configura un elenco programmato per aggiornamenti giornalieri/orari. Questo elenco deve contenere tutti i campi, incluso il valore di inventory più aggiornato.

Prodotti più venduti

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:

  • Configura un elenco programmato per aggiornamenti giornalieri/orari. Questo elenco deve contenere tutti i campi obbligatori del catalogo prodotti e omettere i campi volatili come 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.
  • Utilizza l'API Real-Time Batch per aggiornare i campi volatili come 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).

Soglie di inventario

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.