📈

【Shopify.dev和訳】AdminAPI/GraphQL reference/Discounts①

2021/10/01に公開

この記事について

この記事は、AdminAPI/GraphQL reference/Discountsの記事を和訳したものです。

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

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

Discount APIs (OBJECTS 前半)

マーチャントが柔軟な割引を提供し、マーケティング活動を管理できるように支援します。

UNIONS

DiscountCode (union)

コード割引。

可能なタイプ

DiscountCustomerBuysValue (union)

割引を適用するために必要な前提条件の数量。

可能なタイプ

DiscountCustomerGetsValue (union)

割引の価値とその適用方法。

可能なタイプ

DiscountCustomerSelection (union)

この割引を利用できるお客様の選択。

可能なタイプ

DiscountEffect (union)

適用される割引の種類。現在、割引率のみがサポートされています。

可能なタイプ

DiscountItems (union)

割引の資格のあるアイテムまたは前提条件のアイテム。アイテムは、collection、product、または product_variant のいずれかです。

可能なタイプ

DiscountMinimumRequirement (union)

割引の最小小計または数量要件。

可能なタイプ

DiscountShippingDestinationSelection (union)

この割引が適用される配送国の選択。

可能なタイプ

PriceRuleValue (union)

価格ルールの値。

可能なタイプ

PricingValue (union)

価格ルールオブジェクトの値。

可能なタイプ

OBJECTS

AllDiscountItems (object)

カート内のすべてのアイテムが割引を受ける資格があるかどうか。

Fields

allItems (Boolean!)
すべてのアイテムが選択されているかどうか。この値はハードコードされており、true となっています。

CustomerJourney (object)

ショップのオンラインストアでの顧客のアクティビティを表します。

Fields

customerOrderIndex (Int!)
顧客の注文履歴の中での現在の注文の位置です。

daysToConversion (Int!)
最初のセッションから注文作成日までの日数です。最初のセッションとは、最後の注文以降の最初のセッション、または最後の注文から 30 日以上経過している場合は、30 日のアトリビューションウィンドウ内の最初のセッションを表します。

firstVisit (CustomerVisit!)
お客様がお店に入る最初のセッション。

lastVisit (CustomerVisit)
注文がなされる前の最後のセッション。

moments ([CustomerMoment!]!)
ショップのセッションなど、お客様の注文に先立つイベント。

CustomerJourneySummary (object)

ショップのオンラインストアでの顧客のアクティビティを表します。

Connections

moments (CustomerMomentConnection)
ショップセッションなど、顧客の注文に先行するイベント。

Argument Description
after ( String ) 指定されたカーソルの後に続く要素を返します。
before ( String ) 指定されたカーソルの前にある要素を返します。
first ( Int ) リストの最初の n 個の要素までを返します。
last ( Int ) リストの最後の n 個の要素までを返します。
reverse ( Boolean ) 基になるリストの順序を逆にします。 デフォルト値:false

Fields

customerOrderIndex (Int)
顧客の注文履歴内での現在の注文の位置。テスト注文は含まれません。

daysToConversion (Int)
最初のセッションから注文作成日までの日数です。最初のセッションとは、最後の注文以降の最初のセッション、または最後の注文から 30 日以上経過している場合は、30 日のアトリビューションウィンドウ内の最初のセッションを表します。

firstVisit (CustomerVisit)
お客様がお店に入った最初のセッションを表す。

lastVisit (CustomerVisit)
注文をする前の最後のセッション。

momentsCount (Int)
この注文に関連する顧客のモーメントの合計数。注文がまだ帰属する過程にある場合は null を返します。

ready (Boolean!)
この注文の属性付きセッションがまだ作成されていないかどうか。

CustomerJourneySummary を返すタイプ

CustomerMoment (object)

複数の CustomerMoments を介してページングするための自動生成されたタイプ。

Fields

edges ([CustomerMomentEdge!]!)
エッジのリスト。

pageInfo (PageInfo!)
ページネーションを補助するための情報。
自動生成されたタイプで、1 つの CustomerMoment とページネーション時のカーソルを保持します。

Fields

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

node (CustomerMoment!)
CustomerMomentEdge の末尾の項目。

CustomerMomentEdge を返すタイプ

ショップセッションなど、顧客の注文に先行するイベントを表します。

Fields

occurredAt (DateTime!)
顧客の瞬間が発生したとき。

CustomerMoment を実装するタイプ

CustomerVisit (object)

ショップのオンラインストアでの顧客のセッションに関する情報。

Fields

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

landingPage (URL)
顧客がそのセッションで最初に訪れたページの URL。

landingPageHtml (HTML)
HTML でリンクされた URL を持つランディングページ情報。例えば、お客様が最初に訪れたページは store.myshopify.com/products/1 です。

marketingEvent (MarketingEvent)
商品、コレクション、割引などの Shopify リソースをマーケティングするために、マーチャントに代わってアプリが行ったアクションを表します。

occurredAt (DateTime!)
顧客モーメントが発生した時。

referralCode (String)
顧客がストアを訪問するためにクリックしたリンクからのマーケティングリファラルコード。次の URL 属性をサポートします:refsource、または r。例えば、URL が myshopifystore.com/products/slide?ref=j2tj1tn2 であれば、この値は j2tj1tn2 です。

referralInfoHtml (FormattedString!)
HTML でリンクされた URL を持つ紹介情報。

referrerUrl (URL)
お客さまがリンクをクリックしてオンラインストアに移動した Web ページ。例えば、https://randomblog.com/page1android-app://com.google.android.gm

source (String!)
プラットフォーム(Facebook、Google)、メール、ダイレクト、ウェブサイトのドメイン、QR コード、不明など、お客様がストアを訪れたソース。

sourceDescription (String)
最初または最後のセッションのソースを明示的に記述します。

sourceType (MarketingTactic)
マーケティング戦術のタイプ。

utmParameters (UTMParameters)
参照元の URL パラメータから集められた UTM パラメータのセット。

CustomerVisit を返すタイプ

実装

サンプル

サンプル
Query
# Orderオブジェクトを使って特定の顧客の訪問を取得
{
  order(id:"gid://shopify/Order/1248358694934") {
    customerJourney {
      lastVisit {
        id
        landingPage
        landingPageHtml
        occurredAt
        referralCode
        referralInfoHtml
        referrerUrl
        source
        sourceDescription
        sourceType
      }
    }
  }
}
Response
{
  "data": {
    "order": {
      "customerJourney": null
    }
  },
  "extensions": {
    "cost": {
      "requestedQueryCost": 3,
      "actualQueryCost": 2,
      "throttleStatus": {
        "maximumAvailable": 1000,
        "currentlyAvailable": 998,
        "restoreRate": 50
      }
    }
  }
}
サンプル 2
Query
# 特定の顧客の訪問履歴を `node` フィールドと GraphQL フラグメントを使って取得する
{
  node(id: "gid://shopify/Order/1248358694934") {
    id
    ... on CustomerVisit {
      id
      landingPage
      landingPageHtml
      occurredAt
      referralCode
      referralInfoHtml
      referrerUrl
      source
      sourceDescription
      sourceType
    }
  }
}
Response
{
  "data": {
    "node": {
      "id": "gid://shopify/Order/1248358694934"
    }
  },
  "extensions": {
    "cost": {
      "requestedQueryCost": 1,
      "actualQueryCost": 1,
      "throttleStatus": {
        "maximumAvailable": 1000,
        "currentlyAvailable": 999,
        "restoreRate": 50
      }
    }
  }
}

DiscountAmount (object)

割引の固定金額。

Fields

amount (MoneyV2!)
ディスカウントの値です。

appliesOnEachItem (Boolean!)
true の場合、割引は権利のあるアイテムのそれぞれに適用されます。false の場合、金額は権利のあるすべてのアイテムに分割されます。

DiscountAutomatic (object)

複数の DiscountAutomatics を介してページングするための自動生成されたタイプ。

Fields

edges ([DiscountAutomaticEdge!]!)
エッジのリスト。

pageInfo (PageInfo!)
ページネーションを助けるための情報。
自動生成されたタイプで、ページネーションの際に DiscountAutomatic とカーソルを 1 つずつ保持する。

Fields

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

node (DiscountAutomatic!)
DiscountAutomaticEdge の末尾の項目。

DiscountAutomaticEdge を返すタイプ

自動割引。

可能なタイプ

DiscountAutomaticBasic (object)

自動基本割引。

Fields

asyncUsageCount (Int!)
割引が使用された回数です。この値は非同期に更新されるため、実際の使用回数とは異なる場合があります。

createdAt (DateTime!)
割引が作成された日付と時間。

customerGets (DiscountCustomerGets!)
注文内の対象商品、それぞれの数量、割引の合計値を示します。

endsAt (DateTime)
割引が終了する日付と時間。オープンエンドの割引の場合は、null を使用します。

minimumRequirement (DiscountMinimumRequirement!)
割引が適用されるために必要な最小の小計または数量。

shortSummary (String!)
割引の短い概要。

startsAt (DateTime!)
割引が開始される日付と時間。

status (DiscountStatus!)
割引のステータス。

summary (String!)
割引の詳細な概要。

title (String!)
ディスカウントのタイトル。

DiscountAutomaticBasic のミューテーション

discountAutomaticBasicCreate
基本的な自動割引を作成します。

discountAutomaticBasicUpdate
基本自動割引の ID と入力内容を更新します。

DiscountAutomaticBxgy (object)

自動 BXGY 割引。

Connection

events (EventConnection!)
ホスト・サブジェクトに関連するイベントのページングされたリスト。

Argument Description
after ( String ) 指定されたカーソルの後に続く要素を返します。
before ( String ) 指定されたカーソルの前にある要素を返します。
first ( Int ) リストの最初の n 個の要素までを返します。
last ( Int ) リストの最後の n 個の要素までを返します。
query ( String ) サポートされているフィルターパラメーター:
comments
created_at
subject_type
verb
フィルタの使用の詳細については、詳細な検索構文を参照してください。
reverse ( Boolean ) 基になるリストの順序を逆にします。 デフォルト値:false
sortKey ( EventSortKeys ) 基になるリストを指定されたキーでソートします。 デフォルト値:ID

Fields

asyncUsageCount (Int!)
割引が使用された回数です。この値は非同期に更新されるため、実際の使用回数とは異なる場合があります。

createdAt (DateTime!)
割引が作成された日付と時間。

customerBuys (DiscountCustomerBuys!)
割引の対象となるために顧客が購入しなければならない対象アイテムとそれぞれの数量。

customerGets (DiscountCustomerGets!)
注文の対象商品、それぞれの数量、および割引の合計金額。

endsAt (DateTime)
割引が終了する日付と時間。期限のない割引の場合は、null を使用します。

startsAt (DateTime!)
割引が開始される日付と時間。

status (DiscountStatus!)
割引のステータス。

summary (String!)
割引の詳細な概要。

title (String!)
ディスカウントのタイトル。

usesPerOrderLimit (Int)
1 つの注文に適用できる割引の最大回数。

DiscountAutomaticBxgy のミューテーション

discountAutomaticBxgyCreate
BXGY の自動割引を作成します。

discountAutomaticBxgyUpdate
BXGY の自動割引を、その ID と入力内容で更新します。

実装

非推奨のフィールド
  • id (ID!) deprecated
    割引のためのレガシーな一意の識別子。
  • usageCount (Int!) deprecated
    割引の使用回数です。

DiscountAutomaticNode (object)

自動割引ラッパーノード。

Connections

events (EventConnection!)
ホスト・サブジェクトに関連するイベントのページングされたリスト。

Argument Description
after ( String ) 指定されたカーソルの後に続く要素を返します。
before ( String ) 指定されたカーソルの前にある要素を返します。
first ( Int ) リストの最初の n 個の要素までを返します。
first ( Int ) リストの最後のn個の要素までを返します。
query ( String ) サポートされているフィルタパラメータ。
comments
created_at
subject_type
verb
フィルターの使い方の詳細は、詳細な検索構文を参照してください。
reverse ( Boolean ) 基になるリストの順序を逆にします。
デフォルト値:false
sortKey ( EventSortKeys) 基になるリストを指定されたキーでソートします。
デフォルト値:ID

Fields

automaticDiscount (DiscountAutomatic!)
自動割引のこと。

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

DiscountAutomaticNode を返すタイプ

Implements

複数の DiscountAutomaticNodes をページングするための自動生成型。

Fields

edges ([DiscountAutomaticNodeEdge!]!)
エッジのリスト。

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

ページネーション時に DiscountAutomaticNode を 1 つとカーソルを保持する自動生成タイプ。

DiscountAutomaticNodeEdge を返すタイプ

サンプル

サンプル 1
Query
# 自動割引ラッパーノードのIDを取得
{
  automaticDiscountNodes(first: 5) {
    edges {
      node {
        id
      }
    }
  }
}
Response
{
  "data": {
    "automaticDiscountNodes": {
      "edges": []
    }
  },
  "extensions": {
    "cost": {
      "requestedQueryCost": 7,
      "actualQueryCost": 2,
      "throttleStatus": {
        "maximumAvailable": 1000,
        "currentlyAvailable": 998,
        "restoreRate": 50
      }
    }
  }
}
サンプル 2
Query
# 自動割引ラッパーノードの名前を取得
{
  automaticDiscountNodes(first: 5) {
    edges {
      node {
        automaticDiscount {
          __typename
        }
      }
    }
  }
}
Response
{
  "data": {
    "automaticDiscountNodes": {
      "edges": []
    }
  },
  "extensions": {
    "cost": {
      "requestedQueryCost": 12,
      "actualQueryCost": 2,
      "throttleStatus": {
        "maximumAvailable": 1000,
        "currentlyAvailable": 998,
        "restoreRate": 50
      }
    }
  }
}

DiscountCodeBasic (object)

基本的なコード割引。

Connections

codes (DiscountRedeemCodeConnection!)
割引のための償還コードのリスト。

Argument Description
after ( String ) 指定されたカーソルの後に来る要素を返します。
before ( String ) 指定されたカーソルの前にある要素を返します。
first ( Int ) リストの最初の n 個の要素までを返します。
last ( Int ) リストの最後の n 個の要素までを返します。
query ( String ) サポートされているフィルターパラメーター:
times_used
フィルタの使用の詳細については、詳細な検索構文を参照してください。
reverse ( Boolean ) 基になるリストの順序を逆にします。
デフォルト値:false
savedSearchId ( ID ) 既存の保存済み検索の ID。検索のクエリ文字列がクエリ引数として使用されます。 SavedSearchを参照してください。
sortKey ( DiscountCodeSortKeys ) 基になるリストを指定されたキーでソートします。
デフォルト値:ID

Fields

appliesOncePerCustomer (Boolean!)
割引を顧客ごとに一度だけ適用できるかどうか。

asyncUsageCount (Int!)
割引が使用された回数。

codeCount (Int!)
割引のためのリディームコードの数。

createdAt (DateTime!)
割引が作成された日付と時間。

customerGets (DiscountCustomerGets!)
注文の対象商品、それぞれの数量、そして割引の合計金額。

customerSelection (DiscountCustomerSelection!)
割引を使用できる顧客。

endsAt (DateTime)
割引が終了する日付と時間。期限のない割引の場合は、null を使用します。

hasTimelineComment (Boolean!)
ディスカウントにタイムラインコメントがあるかどうかを示す。

minimumRequirement (DiscountMinimumRequirement)
割引が適用されるために必要な最小の小計または数量。

recurringCycleLimit (Int)
定期的な購入(サブスクリプション)に割引を適用する回数。

shareableUrls ([DiscountShareableUrl!]!)
割引の共有に使用できる URL。

shortSummary (String!)
割引の短い概要。

startsAt (DateTime!)
割引が開始される日付と時間。

status (DiscountStatus!)
割引のステータス。

summary (String!)
割引の詳細な概要。

title (String!)
割引のタイトル。

totalSales (MoneyV2)
割引が使用された注文の売上合計。

usageLimit (Int)
割引を使用できる最大回数。

DiscountCodeBasic のミューテーション

discountCodeBasicCreate
基本コードの割引を作成します。

discountCodeBasicUpdate
基本コード割引の更新を行います。

DiscountCodeBxgy (object)

BXGY コードの割引。

Connections

codes (DiscountRedeemCodeConnection!)
割引の引き換えコードのリスト。

Argument Description
after ( String ) 指定されたカーソルの後に続く要素を返します。
before ( String ) 指定されたカーソルの前にある要素を返します。
first ( Int ) リストから最初の n 個の要素までを返します。
last ( Int ) リストから最後の n 個までの要素を返します。
query ( String ) サポートされているフィルタパラメータ
times_used
フィルターの使い方については、詳細な検索構文を参照してください。
reverse ( Boolean ) 基になるリストの順序を逆にします。
デフォルト値:false
savedSearchId ( ID ) 既存の保存済み検索の ID。検索のクエリ文字列がクエリ引数として使用されます。 SavedSearchを参照してください。
sortKey ( DiscountCodeSortKeys ) 基になるリストを指定されたキーでソートします。 デフォルト値:ID

Fields

appliesOncePerCustomer (Boolean!)
割引を顧客ごとに一度だけ適用できるかどうか。

asyncUsageCount (Int!)
割引が使用された回数。

codeCount (Int!)
割引のためのリディームコードの数。

createdAt (DateTime!)
割引が作成された日付と時間。

customerBuys (DiscountCustomerBuys!)
割引の対象となるために顧客が購入しなければならない対象アイテムとそれぞれの数量。

customerGets (DiscountCustomerGets!)
注文内の対象商品、それぞれの数量、および割引の合計金額。

customerSelection (DiscountCustomerSelection!)
割引を使用できる顧客。

endsAt (DateTime)
割引が終了する日付と時間。期限のない割引の場合は、null を使用します。

hasTimelineComment (Boolean!)
ディスカウントにタイムラインコメントがあるかどうかを示す。

shareableUrls ([DiscountShareableUrl!]!)
割引の共有に使用できる URL。

startsAt (DateTime!)
割引が開始される日付と時間。

status (DiscountStatus!)
割引の適用状況。

summary (String!)
割引の詳細な概要。

title (String!)
割引のタイトル。

totalSales (MoneyV2)
割引が使用された注文の売上合計。

usageLimit (Int)
割引を使用できる最大回数です。

usesPerOrderLimit (Int)
1 つの注文に適用できる割引の最大回数。

DiscountCodeBxgy のミューテーション

discountCodeBxgyCreate
BXGY コードの割引を作成します。

discountCodeBxgyUpdate
BXGY コードの割引を更新します。

DiscountCodeFreeShipping (object)

送料無料コード割引。

Connections

codes (DiscountRedeemCodeConnection!)
割引の引き換えコードのリスト。

Argument Description
after ( String ) 指定されたカーソルの後に続く要素を返します。
before ( String ) 指定されたカーソルの前にある要素を返します。
first ( Int ) リストから最初の n 個の要素までを返します。
last ( Int ) リストから最後の n 個までの要素を返します。
query ( String ) サポートされているフィルタパラメータ
times_used
フィルターの使い方については、詳細な検索構文を参照してください。
reverse ( Boolean ) 基になるリストの順序を逆にします。
デフォルト値:false
savedSearchId ( ID ) 既存の保存済み検索の ID。検索のクエリ文字列がクエリ引数として使用されます。 SavedSearchを参照してください。
sortKey ( DiscountCodeSortKeys ) 基になるリストを指定されたキーでソートします。 デフォルト値:ID

Fields

appliesOnOneTimePurchase (Boolean!)
定期的な 1 回限りの購入の場合に割引を適用するかどうか。

appliesOnSubscription (Boolean!)
定期購入の場合に割引を適用するかどうか。

appliesOncePerCustomer (Boolean!)
割引が顧客ごとに一度だけ適用されるかどうか。

asyncUsageCount (Int!)
割引が使用された回数です。

codeCount (Int!)
割引のためのリディームコードの数。

createdAt (DateTime!)
割引が作成された日付と時間。

customerSelection (DiscountCustomerSelection!)
割引を使用できる顧客。

destinationSelection (DiscountShippingDestinationSelection!)
割引の対象となる出荷先。

endsAt (DateTime)
割引が終了する日付と時間。期限のない割引の場合は、null を使用します。

hasTimelineComment (Boolean!)
ディスカウントにタイムラインコメントがあるかどうかを示す。

maximumShippingPrice (MoneyV2)
割引の対象となるために受け入れられる最大の配送価格額。

minimumRequirement (DiscountMinimumRequirement)
割引を適用するために必要な、最小の小計または数量。

recurringCycleLimit (Int)
定期的な購入(サブスクリプション)に割引を適用する回数。

shareableUrls ([DiscountShareableUrl!]!)
割引の共有に使用できる URL。

shortSummary (String!)
割引の短い概要。

startsAt (DateTime!)
割引が開始される日付と時間。

status (DiscountStatus!)
割引のステータス。

summary (String!)
割引の詳細な概要。

title (String!)
割引のタイトル。

totalSales (MoneyV2)
割引が使用された注文の売上合計。

usageLimit (Int)
割引を使用できる最大回数。

DiscountCodeFreeShipping のミューテーション

discountCodeFreeShippingCreate
送料無料コードの割引を作成します。

discountCodeFreeShippingUpdate
送料無料コードの割引を更新します。

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

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