Skip to main content
1 つのオブジェクトの形が SDK 全体を流れます。getCart() が返すもの、cart_loadedcart_updated がハンドラに渡すもの、そして Custom code ブロックが受け取るものがこれです。
すべての金額は通貨の最小単位(USD ならセント)で、フォーマット済みの文字列になることはありません。5779 は $57.79 です。表示には formatMoney を使ってください。

カート

itemCount は必ずしも items の合計と一致しません。 items は実際の Shopify カートを反映し、配送保護など、ドロワーが非表示にするアドオンラインも含みます。itemCount はカートバッジと一致する買い物客向けの数字です。「買い物客がいくつ選んだか」には itemCount を、カートがレンダリングしているラインを走査するには items を使ってください。items から完全に欠けているものが 2 つあります。setHidden で非表示になったラインと、アンカーに移動するバンドルの子です。どちらも Shopify から直接取得されるカート合計には引き続き計上されます。

カートライン

items の各エントリ、および item_addeditem_removeditem:
properties には、商品フォームのカスタムテキストフィールドなど、買い物客が入力した内容が含まれることがあります。生の HTML としてではなく、必ずテキストとしてレンダリングしてください。

ラインの識別

ラインに対して操作を行うものには key を、商品を識別するものには variantId または productId を使ってください:
プロパティが異なると、同じバリアントが複数のラインに現れることがあります。刻印テキストの異なる 2 つの刻印入りマグカップは、1 つの variantId を共有する 2 つのラインです。アクションが key を取るのはこのためです。

ラインの価格

混同しやすい 3 つの価格:

バンドル

ラインがバンドルにグループ化されると、アンカーラインが bundle オブジェクトを持ちます。子はその中に折りたたまれ、items に単独では現れなくなります。グループ化の設定方法については、他のアプリのバンドルラインをグループ化するを参照してください。 各子は key(ネイティブコンポーネントの場合は null)、titlevariantTitlequantityperAnchorQtyimageUrlfinalLinePriceoriginalLinePricecompareAtPrice を持ちます。

サブスクリプションプラン

ラインの有効なプランは sellingPlan で、単発購入の場合は null です。カート全体について知りたい場合は、自分でラインを走査するのではなく hasSubscriptionItems を読んでください。これは items には現れるが itemCount からは除外されるアドオンラインもカウントします:
ラインで選択可能なプラン(ピッカーに表示されるもの)はカートオブジェクトにはありません。それらは registerSubscriptionOptionsTransformregisterDefaultSubscriptionOptionSelector で加工してください。

次のステップ

  • アクション: カートを読み取り、変更します。
  • イベント: このオブジェクトの供給元。
  • フック: エンリッチャーでラインに独自のデータを追加します。
  • ユースケース: これらのフィールドを読み取る完全なソリューション。