👩‍💻

【Shopify.dev和訳】Storefront API/Reference/Cart

2021/10/23に公開約24,800字

この記事について

この記事は、Storefront API/Reference/Cartの記事を和訳したものです。

記事内で使用する画像は、公式ドキュメント内の画像を引用して使用させていただいております。

Shopify アプリのご紹介

Shopify アプリである、「商品ページ発売予告アプリ | リテリア Coming Soon」は、商品ページを買えない状態のまま、発売日時の予告をすることができるアプリです。Shopify で Coming Soon 機能を実現することができます。

https://apps.shopify.com/shopify-application-314?locale=ja&from=daniel

Shopify アプリである、「らくらく日本語フォント設定|リテリア Font Picker」は、ノーコードで日本語フォントを使用できるアプリです。日本語フォントを導入することでブランドを演出することができます。

https://apps.shopify.com/font-picker-1?locale=ja&from=daniel

OBJECTS

Cart (object)

カートは、購入者が購入しようとしている商品と、そのカートに関連する推定コストを表します。

接続

lines (CartLineConnection!)
顧客が購入しようとしている商品に関する情報を含むラインのリスト。

引数 説明
after ( String ) 指定されたカーソルの後に来る要素を返します。
before ( String ) 指定されたカーソルの前にある要素を返します。
first ( Int ) リストから最初の n 個の要素までを返します。
last ( Int ) リストから最後の n 個の要素までを返します。
reverse ( Boolean ) 対象となるリストの順序を逆にします。デフォルト値:false

フィールド

  • attributes ([Attribute!]!)
    カートに関連する属性です。属性は、キーと値のペアで表されます。

  • buyerIdentity (CartBuyerIdentity!)
    カートとやり取りしている購入者に関する情報。

  • checkoutUrl (URL!)
    そのカートのチェックアウトの URL。

  • createdAt (DateTime!)
    カートが作成された日付と時間。

  • discountCodes ([CartDiscountCode!]!)
    カートに適用された割引コードです。

  • estimatedCost (CartEstimatedCost!)
    チェックアウト時に購入者が支払う見積費用です。

  • id (ID!)
    グローバルに一意な識別子です。

  • note (String)
    カートに関連づけられたメモ。例えば、購入者へのパーソナライズされたメッセージなどがあります。

  • updatedAt (DateTime!)
    カートが更新された日付と時間

Cart を返す型

Cart に対するミューテーション

実装するもの

CartAutomaticDiscountAllocation (object)

前提条件が満たされていることに基づいて、カートラインに自動的に適用される割引のことです。

フィールド

  • discountedAmount (MoneyV2!)
    カートラインに適用された割引額。
  • title (String!)
    割り当てられた割引額のタイトルです。

実装項目

CartBuyerIdentity (object)

カートとやり取りしている購入者の情報を表します。

フィールド

  • countryCode (CountryCode)
    買い手がいる国。

  • customer (Customer)
    カートに関連する顧客アカウント。

  • email (String)
    カートとやりとりしている購入者の電子メールアドレス。

  • phone (String)
    カートを操作している購入者の電話番号。

CartBuyerIdentity を返す型

CartBuyerIdentity の mutations

CartCodeDiscountAllocation (object)

割引コードを使用してカートラインに適用された割引額です。

フィールド

  • code (String!)
    割引の適用に使用されるコード。

  • discountedAmount (MoneyV2!)
    カートラインに適用された割引額。

インプリメンテーション

CartDiscountCode (object)

カートに適用される割引コードです。

フィールド

  • applicable (Boolean!)
    割引コードがカートの現在の内容に適用されるかどうか。

  • code (String!)
    割引のコードです。

CartDiscountCode を返す型

CartDiscountCode に対するミューテーション

CartEstimatedCost (object)

チェックアウト時に購入者が支払う見積費用です。

フィールド

  • subtotalAmount(MoneyV2!)
    チェックアウト時にお客様が支払う税金や割引前の推定金額です。

  • totalAmount(MoneyV2!)
    チェックアウト時にお客様にお支払いいただく推定合計金額です。

  • totalDutyAmount (MoneyV2)
    チェックアウト時にお客様にお支払いいただく推定関税額です。

  • totalTaxAmount (MoneyV2)
    顧客がチェックアウト時に支払うべき推定税額。

CartEstimatedCost を返す型

CartLine (object)

カートに入っている商品の情報を表します。

フィールド

  • attributes ([Attribute!]!)
    カートラインに関連する属性です。属性は、キーと値のペアで表されます。

  • discountAllocations ([CartDiscountAllocation!]!)
    カートラインに適用されている割引。

  • estimatedCost (CartLineEstimatedCost!)
    購入者がチェックアウト時に支払うことになる商品の推定コスト。

  • id (ID!)
    グローバルに一意な識別子。

  • merchandise (Merchandise!)
    買い手が購入しようとしている商品。

  • quantity (Int!)
    お客様が購入しようとしている商品の数量です。

  • sellingPlanAllocation (SellingPlanAllocation)
    カートラインに関連付けられた販売計画と、各販売計画が購入された際にバリアントに与える影響を示します。

CartLine を返す型

CartLine に対するミューテーション

  • cartLinesAdd
    カートに商品ラインを追加します。

  • cartLinesRemove
    1 つまたは複数の商品ラインをカートから削除します。

  • cartLinesUpdate
    カートの 1 つまたは複数の商品ラインを更新します。

インプリメント

  • Node
    複数の CartLines をページングするための自動生成型です。

フィールド

  • edges ([CartLineEdge!]!)
    エッジのリストです。

  • pageInfo (PageInfo!)
    ページネーションを補助する情報。

自動生成されるタイプで、ページネーション時に 1 つの CartLine とカーソルを保持します。

フィールド

  • cursor (String!)
    ページネーションで使用するためのカーソル。

  • node (CartLine!)
    CartLineEdge の末尾の項目。

CartLineEdge を返す型

CartLineEstimatedCost (object)

購入者がチェックアウト時に支払う商品ラインの推定コストです。

フィールド

  • subtotalAmount (MoneyV2!)
    割引前の商品ラインの推定コスト。

  • totalAmount (MoneyV2!)
    値引きなしの商品ラインの推定総コスト。

CartLineEstimatedCost を返す型

MUTATIONS

cartAttributesUpdate (mutation)

カートの属性を更新します。

インタラクティブな例

これは、mutation クエリの例です。このクエリを編集するには、下に埋め込まれたインタラクティブツールを使用します。

ヒント:フィールドの自動補完にはCtrl + Spaceを使います。

mutation cartAttributesUpdate($attributes: [AttributeInput!]!, $cartId: ID!) {
  cartAttributesUpdate(attributes: $attributes, cartId: $cartId) {
    cart {
      id
    }
    userErrors {
      code
      field
      message
    }
  }
}
Variables
"attributes": [
    {
      "key": "placeholder",
      "value": "placeholder"
    }
  ],
  "cartId": "Z2lkOi8vU2hvcGlmeS9FeGFtcGxlLzE="
}
引数 説明
attributes ( [AttributeInput!]! ) required カートに関する追加情報を含むキーと値のペアの配列です
cartId ( ID! ) required カートの ID。

AttributeInput フィールド

  • key (String!) required
    属性のキーまたは名前です。

  • value (String!) required
    属性の値です。

戻り値のフィールド

  • cart (Cart)
    更新されたカート。

  • userErrors ([CartUserError!]!)
    mutation を実行した際に発生したエラーのリスト。

cartBuyerIdentityUpdate  (mutation)

カートに関連付けられている顧客情報を更新します。

インタラクティブな例

これは、ミューテーション・クエリの例です。このクエリを編集するには、以下の埋め込みインタラクティブツールを使用します。

ヒント: フィールドの自動補完には Ctrl + Space を使用してください。

mutation cartBuyerIdentityUpdate($cartId: ID!, $buyerIdentity: CartBuyerIdentityInput!) {
  cartBuyerIdentityUpdate(cartId: $cartId, buyerIdentity: $buyerIdentity) {
    cart {
      id
    }
    userErrors {
      code
      field
      message
    }
  }
}
Variables
{
  "cartId": "Z2lkOi8vU2hvcGlmeS9FeGFtcGxlLzE=",
  "buyerIdentity": {}
}

引数

引数 説明
buyerIdentity ( CartBuyerIdentityInput! ) required カートに関連付けられた顧客。
cartId ( ID! ) required カートの ID。

CartBuyerIdentityInput フィールド

  • countryCode (CountryCode)
    購入者がいる国です。

  • customerAccessToken (String)
    カートに関連付けられた顧客の識別に使用されるアクセストークン。

  • email (String)
    カートとやり取りしている購入者の電子メールアドレス。

  • phone (String)
    カートを操作している購入者の電話番号。

フィールドを返す

  • cart (Cart)
    更新されたカートです。

  • userErrors ([CartUserError!]!
    mutation を実行した際に発生したエラーのリスト。

cartCreate (mutation)

新しいカートを作成します。

インタラクティブな例

これは、mutation クエリの例です。このクエリを編集するには、以下の埋め込みインタラクティブツールを使用します。

ヒント:フィールドを自動補完するには、Ctrl + Spaceを使用してください。

mutation cartCreate {
  cartCreate {
    cart {
      id
    }
    userErrors {
      code
      field
      message
    }
  }
}

引数

引数 説明
input( CartInput ) カートの作成に使用されるフィールド。

CartInput フィールド

  • attributes ([AttributeInput!])
    カートに関する追加情報を含むキーと値のペアの配列です。

  • buyerIdentity (CartBuyerIdentityInput)
    カートに関連付けられている顧客です。

  • discountCodes ([String!])
    カートに適用する割引コードです。

  • lines ([CartLineInput!])
    カートに追加する商品ラインのリストです。

  • note (String)
    カートに関連づけられるメモ。例えば、メモには購入者へのパーソナライズされたメッセージを入れることができます。

フィールドを返す

  • cart (Cart)
    新しいカートです。

  • userErrors ([CartUserError!]!)
    mutation を実行した際に発生したエラーのリスト。

cartDiscountCodesUpdate (mutation)

カートに適用される割引コードを更新します。

インタラクティブな例

これは、mutation クエリの例です。このクエリを編集するには、下に埋め込まれたインタラクティブツールを使用します。

ヒント:フィールドの自動補完にはCtrl + Spaceを使います。

mutation cartDiscountCodesUpdate($cartId: ID!) {
  cartDiscountCodesUpdate(cartId: $cartId) {
    cart {
      id
    }
    userErrors {
      code
      field
      message
    }
  }
}
Variables
{
  "cartId": "Z2lkOi8vU2hvcGlmeS9FeGFtcGxlLzE="
}

引数

引数 説明
cartId ( ID! ) required カートの ID です。
discountCodes ( [String!] ) カートに適用する割引コード。

フィールドを返す

  • cart (Cart)
    更新されたカートです。

  • userErrors ([CartUserError!]!)
    mutation を実行した際に発生したエラーのリスト。

cartLinesAdd (mutation)

カートに商品ラインを追加します。

インタラクティブな例

これは、ミューテーションクエリの例です。このクエリを編集するには、以下の埋め込みインタラクティブツールを使用します。

ヒント:フィールドの自動補完にはCtrl + Spaceを使用します。

mutation cartLinesAdd($lines: [CartLineInput!]!, $cartId: ID!) {
  cartLinesAdd(lines: $lines, cartId: $cartId) {
    cart {
      id
    }
    userErrors {
      code
      field
      message
    }
  }
}
Variables
{
  "lines": [
    {
      "merchandiseId": "Z2lkOi8vU2hvcGlmeS9FeGFtcGxlLzE="
    }
  ],
  "cartId": "Z2lkOi8vU2hvcGlmeS9FeGFtcGxlLzE="
}

引数

引数 説明
cartId ( ID! ) required カートの ID です
lines ( [CartLineInput!]! ) required カートに追加する商品ラインのリスト。

CartLineInput フィールド

  • attributes ([AttributeInput!])
    商品ラインに関する追加情報を含む、キーと値のペアの配列です。

  • merchandiseId (ID!) required
    購入者が購入しようとしている商品の識別子です。

  • quantity (Int)
    商品の数量です。

  • sellingPlanId (ID)
    商品が購入されている販売プランの識別子。

リターンフィールド

  • cart (Cart)
    更新されたカートです。

  • userErrors ([CartUserError!]!)
    mutation を実行した際に発生したエラーのリスト。

cartLinesRemove (mutation)

1 つまたは複数の商品ラインをカートから削除します。

インタラクティブな例

これは、mutation クエリの例です。このクエリを編集するには、下に埋め込まれたインタラクティブツールを使用します。

ヒント:フィールドを自動補完するにはCtrl + Spaceを使います。

mutation cartLinesRemove($cartId: ID!, $lineIds: [ID!]!) {
  cartLinesRemove(cartId: $cartId, lineIds: $lineIds) {
    cart {
      id
    }
    userErrors {
      code
      field
      message
    }
  }
}
Variables
{
  "cartId": "Z2lkOi8vU2hvcGlmeS9FeGFtcGxlLzE=",
  "lineIds": [
    "Z2lkOi8vU2hvcGlmeS9FeGFtcGxlLzE="
  ]
}

引数

引数 説明
cartId ( ID! ) required カートの ID です。
lineIds ( [ID!]! ) required 削除する商品ライン ID。

返却フィールド

  • cart (Cart)
    更新されたカートです。

  • userErrors ([CartUserError!]!
    mutation を実行した際に発生したエラーのリスト

cartLinesUpdate (mutation)

カートの 1 つまたは複数の商品ラインを更新します。

インタラクティブな例

これは、ミューテーションクエリの例です。このクエリを編集するには、以下の埋め込みインタラクティブツールを使用します。

ヒント: フィールドを自動補完するには、Ctrl + Spaceを使用してください。

mutation cartLinesUpdate($cartId: ID!, $lines: [CartLineUpdateInput!]!) {
  cartLinesUpdate(cartId: $cartId, lines: $lines) {
    cart {
      id
    }
    userErrors {
      code
      field
      message
    }
  }
}
Variables
{
  "cartId": "Z2lkOi8vU2hvcGlmeS9FeGFtcGxlLzE=",
  "lines": [
    {
      "id": "Z2lkOi8vU2hvcGlmeS9FeGFtcGxlLzE="
    }
  ]
}

引数

引数 説明
cartId ( ID! ) required カートの ID です。
lines ( [CartLineUpdateInput!]! ) required 更新する商品ラインです。

CartLineUpdateInput フィールド

  • attributes ([AttributeInput!])
    商品ラインに関する追加情報を含む、キーと値のペアの配列です。

  • id (ID!) required
    商品ラインの識別子です。

  • merchandiseId (ID)
    商品ラインアイテムの商品の識別子です。

  • quantity (Int)
    ラインアイテムの数量を表します。

  • sellingPlanId (ID)
    商品が購入されている販売計画の識別子。

フィールドを返す

  • cart (Cart)
    更新されたカートです。

  • userErrors ([CartUserError!]!)
    mutation を実行した際に発生したエラーのリスト。

cartNoteUpdate (mutation)

カートのノートを更新します。

インタラクティブな例

これは、mutation クエリの例です。このクエリを編集するには、下に埋め込まれたインタラクティブツールを使用します。

ヒント:フィールドの自動補完にはCtrl + Spaceを使います。

mutation cartNoteUpdate($cartId: ID!) {
  cartNoteUpdate(cartId: $cartId) {
    cart {
      id
    }
    userErrors {
      code
      field
      message
    }
  }
}
Variables
{
  "cartId": "Z2lkOi8vU2hvcGlmeS9FeGFtcGxlLzE="
}

引数

引数 説明
cartId ( ID! ) required カートの ID です。
note ( String ) カートのノート。

フィールドを返す

  • cart (Cart)
    更新されたカートです。

  • userErrors ([CartUserError!]!)
    mutation を実行した際に発生したエラーのリストです。

INTEFACES

CartDiscountAllocation interface

カートのラインに適用されているディスカウント。

フィールド

  • discountedAmount (MoneyV2!)
    カートのラインに適用された割引額です。

CartDiscountAllocation を実装する型

INPUTS

CartBuyerIdentityInput (input) (object)

カートに関連付けられたバイヤー情報を更新するための入力フィールドを指定します。

入力フィールド

  • countryCode (CountryCode)
    購入者がいる国を指定します。

  • customerAccessToken (String)
    カートに関連付けられた顧客を識別するために使用されるアクセストークンです。

  • email (String
    カートとやり取りしている購入者の電子メールアドレス。

  • phone (String)
    カートとやりとりしている購入者の電話番号。

CartInput (input) (object)

カートを作成するための入力フィールドを指定します。

入力フィールド

  • attributes ([AttributeInput!])
    カートに関する追加情報を含むキーと値のペアの配列です。

  • buyerIdentity (CartBuyerIdentityInput)
    カートに関連付けられた顧客です。

  • discountCodes ([String!])
    カートに適用する割引コードです。

  • lines ([CartLineInput!])
    カートに追加する商品ラインのリストです。

  • note (String)
    カートに関連づけられるメモ。例えば、メモには購入者へのパーソナライズされたメッセージを入れることができます。

CartLineUpdateInput (input) (object)

カートのラインアイテムを更新するための入力フィールドを指定します。

入力フィールド

  • attributes ([AttributeInput!])
    商品ラインに関する追加情報を含むキーと値のペアの配列です。

  • id (ID!) required
    商品ラインの識別子です。

  • merchandiseId (ID)
    商品ラインアイテムの商品の識別子です。

  • quantity (Int)
    ラインアイテムの数量を表します。

  • sellingPlanId (ID)
    商品が購入されている販売計画の識別子。

Shopify アプリのご紹介

Shopify アプリである、「商品ページ発売予告アプリ | リテリア Coming Soon」は、商品ページを買えない状態のまま、発売日時の予告をすることができるアプリです。Shopify で Coming Soon 機能を実現することができます。

https://apps.shopify.com/shopify-application-314?locale=ja&from=daniel

Shopify アプリである、「らくらく日本語フォント設定|リテリア Font Picker」は、ノーコードで日本語フォントを使用できるアプリです。日本語フォントを導入することでブランドを演出することができます。

https://apps.shopify.com/font-picker-1?locale=ja&from=daniel

Discussion

ログインするとコメントできます