Skip to main content
Un’unica struttura di oggetto attraversa l’intero SDK. È ciò che getCart() restituisce, ciò che cart_loaded e cart_updated passano al tuo handler e ciò che riceve un blocco Custom code.
Tutti gli importi sono nell’unità minore della valuta (centesimi per USD), mai una stringa formattata. 5779 è $57.79. Usa formatMoney per visualizzarli.

Il carrello

itemCount non è sempre la somma di items. items rispecchia il carrello Shopify reale, incluse le righe add-on che il drawer nasconde, come la shipping protection. itemCount è il numero rivolto all’acquirente che corrisponde al badge del carrello. Per “quante cose ha scelto l’acquirente”, usa itemCount; per iterare sulle righe che il carrello sta renderizzando, usa items.Due cose mancano completamente da items: le righe nascoste con setHidden, e i figli dei bundle, che vengono spostati sul loro anchor. Entrambi contano comunque nei totali del carrello, che arrivano direttamente da Shopify.

Righe del carrello

Ogni voce in items, e l’item su item_added e item_removed:
properties può contenere input fornito dall’acquirente, come il campo di testo personalizzato di un form prodotto. Renderizzalo come testo, mai come HTML grezzo.

Identificare una riga

Usa key per tutto ciò che agisce su una riga, e variantId o productId per tutto ciò che identifica un prodotto:
La stessa variante può apparire su più righe quando le proprietà differiscono. Due tazze incise con testi di incisione diversi sono due righe che condividono un unico variantId. Per questo le azioni accettano key.

Prezzi su una riga

Tre prezzi, facili da confondere:

Bundle

Quando le righe sono raggruppate in un bundle, la riga anchor porta un oggetto bundle. I figli vengono ripiegati al suo interno e non appaiono più in items per conto proprio. Vedi Raggruppare righe bundle di un’altra app per come si configura il raggruppamento. Ogni figlio porta key (null per un componente nativo), title, variantTitle, quantity, perAnchorQty, imageUrl, finalLinePrice, originalLinePrice e compareAtPrice.

Piani di abbonamento

Il piano attivo di una riga è sellingPlan, oppure null per un acquisto singolo. Per una risposta sull’intero carrello, leggi hasSubscriptionItems invece di scansionare le righe da solo, dato che conta anche le righe add-on che items presenta ma itemCount salta:
I piani disponibili su una riga, quelli nel selettore, non sono sull’oggetto cart. Modellali con registerSubscriptionOptionsTransform e registerDefaultSubscriptionOptionSelector.

Dove andare adesso

  • Azioni: leggi e modifica il carrello.
  • Eventi: da dove proviene questo oggetto.
  • Hook: aggiungi i tuoi dati a una riga con un enricher.
  • Casi d’uso: soluzioni complete che leggono questi campi.