📈

【Shopify.dev和訳】Admin API/GraphQL ref/Products & Collections④

2021/10/01に公開約78,200字

この記事について

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

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

Products and Collections APIs

Products and Collections API はストアのカタログにアクセスし、操作することができます。

OBJECTS の続きです。

StagedMediaUploadTarget (object)

演出されたメディアのターゲット情報

Fields

parameters ( [StagedUploadParameter!]! )
アップロードされるメディアのパラメータ。

resourceUrl ( URL )
product create media mutation input の original_source として渡される URL。

url ( URL )
メディアの URL。

Video (object)

Shopify がホストするビデオを表します。

Fields

alt ( String )
メディアの性質やコンテンツを共有するための単語やフレーズ。

filename ( String! )
動画のファイル名です。

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

mediaContentType ( MediaContentType! )
メディアコンテンツタイプ。

mediaErrors ( [MediaError!]! )
メディアで発生したすべてのエラー。

originalSource ( VideoSource )
ビデオのオリジナルソース。status が PROCESSING の場合、値は null です。

preview ( MediaPreviewImage )
メディアのプレビュー画像。

sources ( [VideoSource!]! )
ビデオのソース。ソースは status が READY のときのみ利用可能です。

status ( MediaStatus! )
メディアの現在のステータス。

Implements

VideoSource (object)

Shopify がホストするビデオのソースを表します。

Fields

format ( String! )
ビデオソースのフォーマット。

height ( Int! )
動画の高さ。

mimeType ( String! )
動画の MIME タイプ。

url ( String! )
動画の URL です。

width ( Int! )
ビデオの幅。

VideoSource を返す型

Weight (object)

重量単位と値を表します。

Fields

unit ( WeightUnit! )
値の測定単位。

value ( Float! )
unit で指定された単位系を使用した重量。

Weight を返す型


MUTATIONS

collectionAddProducts (mutation)

コレクションに商品を追加します。

mutation query の実行例を示す。

query
mutation collectionAddProducts($id: ID!, $productIds: [ID!]!) {
  collectionAddProducts(id: $id, productIds: $productIds) {
    collection {
      id
    }
    userErrors {
      field
      message
    }
  }
}
Variables
{
  "id": "Z2lkOi8vU2hvcGlmeS9FeGFtcGxlLzE=",
  "productIds": [
    "Z2lkOi8vU2hvcGlmeS9FeGFtcGxlLzE="
  ]
}

引数

引数 説明
id ( ID! ) required 更新されているコレクションの ID です。
productIds ( [ID!]! ) required コレクションに追加されている商品の ID。

fields の返す値

collection ( Collection )
更新されたコレクションです。

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

collectionCreate (mutation)

コレクションを作成します。

mutation query の実行例です。

query
mutation collectionCreate($input: CollectionInput!) {
  collectionCreate(input: $input) {
    collection {
      id
    }
    userErrors {
      field
      message
    }
  }
}
Variables
{
  "input": {}
}

引数

引数 説明
input ( CollectionInput! ) required コレクションの作成時に使用するプロパティ。

CollectionInput fields

descriptionHtml ( String )
HTML 形式のコレクションの説明。

handle ( String )
コレクションのユニークなヒューマンフレンドリーな文字列。コレクションのタイトルから自動的に生成されます。

id ( ID )
更新するコレクションを指定するか、存在しない場合は新しいコレクションを作成します。

image ( ImageInput )
コレクションに関連付けられている画像です。

metafields ( [MetafieldInput!] )
このコレクションに関連付けるメタフィールドを指定します。

privateMetafields ( [PrivateMetafieldInput!] )
この商品に関連付けるプライベート メタフィールド。

products ( ID! )
コレクション商品の初期リスト。productCreateでのみ有効で、ルールはありません。

publications ( [CollectionPublicationInput!] )
コレクション発行物の初期リスト。productCreate でのみ有効です。この引数は推奨されません。代わりに PublishablePublish を使用してください。

redirectNewHandle ( Boolean )
新しいハンドルが提供された後にリダイレクトが必要かどうかを示します。true の場合、古いハンドルは自動的に新しいハンドルにリダイレクトされます。

ruleSetCollectionRuleSetInput )
商品をコレクションに割り当てるために使用するルールです。

seo ( SEOInput )
コレクションの SEO 情報。

sortOrder ( CollectionSortOrder )
コレクションの商品をソートする順序です。

templateSuffix ( String )
ストアでコレクションを表示するときに使用されるテーマテンプレート。

title ( String )
新しいコレクションを作成するときに必要です。

返却フィールド

collection ( Collection )
作成されたコレクションです。

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

collectionDelete (mutation)

コレクションを削除します。

query
mutation collectionDelete($input: CollectionDeleteInput!) {
  collectionDelete(input: $input) {
    deletedCollectionId
    shop {
      id
    }
    userErrors {
      field
      message
    }
  }
}
Variables
{
  "input": {
    "id": "Z2lkOi8vU2hvcGlmeS9FeGFtcGxlLzE="
  }
}
引数 説明
input ( CollectionDeleteInput! ) required 削除するコレクションをその ID で指定します。

CollectionDeleteInput fields

id ( ID! ) required
削除するコレクションの ID です。

返却フィールド

deletedCollectionId ( ID )
削除されたコレクションの ID です。

shop ( Shop! )
コレクションに関連するショップ。

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

collectionPublish (mutation)

コレクションをチャンネルに公開します。

mutation query を実行する

query
mutation collectionPublish($input: CollectionPublishInput!) {
  collectionPublish(input: $input) {
    collection {
      id
    }
    collectionPublications {
      isPublished
      publishDate
    }
    shop {
      id
    }
    userErrors {
      field
      message
    }
  }
}
Variables
{
  "input": {
    "id": "Z2lkOi8vU2hvcGlmeS9FeGFtcGxlLzE=",
    "collectionPublications": [
      {}
    ]
  }
}

引数

引数 説明
input ( CollectionPublishInput! ) required 公開するコレクションと公開先の販売チャネルを指定します。

CollectionPublishInput fields

collectionPublications ( [CollectionPublicationInput!]! ) required
コレクションが公開されるチャンネルです。

id ( ID! ) required
パブリケーションの作成または更新を行うコレクション。

返却フィールド

collection ( Collection )
出版されたコレクションです。

collectionPublications ( [CollectionPublication!] )
コレクションが公開されたチャンネル。

shop ( Shop! )
コレクションに関連するショップ。

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

collectionRemoveProducts (mutation)

与えられたコレクションから商品のセットを削除します。実行には長い時間がかかります。コレクションを返すのではなく、ジョブを返すので、ポーリングする必要があります。

mutation query の実行例です。

query
mutation collectionRemoveProducts($id: ID!, $productIds: [ID!]!) {
  collectionRemoveProducts(id: $id, productIds: $productIds) {
    job {
      id
    }
    userErrors {
      field
      message
    }
  }
}
Variables
{
  "id": "Z2lkOi8vU2hvcGlmeS9FeGFtcGxlLzE=",
  "productIds": [
    "Z2lkOi8vU2hvcGlmeS9FeGFtcGxlLzE="
  ]
}

引数

引数 説明
id ( ID! ) required 商品を削除するコレクションの ID です。
productIds ( [ID!]! ) required コレクションから削除する商品の ID。

返却フィールド

job (Job)
製品を削除する非同期のジョブです。

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

collectionReorderProducts (mutation)

与えられたコレクションから商品のセットを非同期的に再注文します。

query
mutation collectionReorderProducts($id: ID!, $moves: [MoveInput!]!) {
  collectionReorderProducts(id: $id, moves: $moves) {
    job {
      id
    }
    userErrors {
      field
      message
    }
  }
}
Variables
{
  "id": "Z2lkOi8vU2hvcGlmeS9FeGFtcGxlLzE=",
  "moves": [
    {
      "id": "Z2lkOi8vU2hvcGlmeS9FeGFtcGxlLzE=",
      "newPosition": "placeholder"
    }
  ]
}

引数

引数 説明
id ( ID! ) required 商品を再注文するコレクションの ID です。
moves ( [MoveInput!]! ) required 順番に実行されるムーブのリスト。

MoveInput fields

id (ID!) required
移動するオブジェクトの ID です。

newPosition (UnsignedInt64!) required
0 ベースのインデックスを使用した、セット内のオブジェクトの新しい位置です。

返却フィールド

job (Job)
商品を並べ替える非同期のジョブです。

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

collectionUnpublish (mutation)

コレクションを非公開にします。

query
mutation collectionUnpublish($input: CollectionUnpublishInput!) {
  collectionUnpublish(input: $input) {
    collection {
      id
    }
    shop {
      id
    }
    userErrors {
      field
      message
    }
  }
}
Variables
{
  "input": {
    "id": "Z2lkOi8vU2hvcGlmeS9FeGFtcGxlLzE=",
    "collectionPublications": [
      {}
    ]
  }
}
引数 説明
input ( CollectionUnpublishInput! ) required アンパブリッシュするコレクションとそれを削除する販売チャネルを指定します。

CollectionUnpublishInput fields

collectionPublications ( [CollectionPublicationInput!]! ) required
コレクションが公開されているチャンネルです。

id ( ID! ) required
パブリケーションの作成または更新を行うコレクション。

返却フィールド

collectionCollection )
公開されていないコレクションです。

shop ( Shop! )
コレクションに関連するショップ。

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

collectionUpdate (mutation)

コレクションを更新します。

mutation query の実行例

query
mutation collectionUpdate($input: CollectionInput!) {
  collectionUpdate(input: $input) {
    collection {
      id
    }
    job {
      id
    }
    userErrors {
      field
      message
    }
  }
}
Variables
{
  "input": {}
}

引数

引数 説明
input ( CollectionInput! ) required コレクションの更新されたプロパティを指定します。

CollectionInput fields

descriptionHtml ( String )
HTML 形式のコレクションの説明。

handle ( String )
コレクションのユニークなヒューマンフレンドリーな文字列。コレクションのタイトルから自動的に生成されます。

id ( ID )
更新するコレクションを指定するか、存在しない場合は新しいコレクションを作成します。

image ( ImageInput )
コレクションに関連付けられている画像です。

metafields ( [MetafieldInput!] )
このコレクションに関連付けるメタフィールドを指定します。

privateMetafields ( [PrivateMetafieldInput!] )
この商品に関連付けるプライベート メタフィールド。

products ( [ID!] )
コレクション商品の初期リスト。productCreate でのみ有効で、ルールはありません。

publications ( [CollectionPublicationInput!] )
コレクション発行物の初期リスト。productCreate でのみ有効です。この引数は推奨されません。代わりに PublishablePublish を使用してください。

redirectNewHandle ( Boolean )
新しいハンドルが提供された後にリダイレクトが必要かどうかを示します。true の場合、古いハンドルは自動的に新しいハンドルにリダイレクトされます。

ruleSetCollectionRuleSetInput )
商品をコレクションに割り当てるために使用するルールです。

seo ( SEOInput )
コレクションの SEO 情報。

sortOrder ( CollectionSortOrder )
コレクションの商品をソートする順序です。

templateSuffix ( String )
ストアでコレクションを表示するときに使用されるテーマテンプレート。

title ( String )
新しいコレクションを作成するときに必要です。

返却フィールド

collectionCollection )
更新されたコレクション。

job ( Job )
新しいルールセットに基づいて商品を更新する非同期のジョブです。

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

fileCreate (mutation)

外部 URL や stagedUploadsCreate mutation を使って以前にアップロードされたファイルを使ってファイルアセットを作成します。これらのファイルは Shopify admin の Files page に追加されます。

query
mutation fileCreate($files: [FileCreateInput!]!) {
  fileCreate(files: $files) {
    files {
      alt
      createdAt
    }
    userErrors {
      code
      field
      message
    }
  }
}
Variables
{
  "files": [
    {
      "originalSource": "placeholder"
    }
  ]
}

引数

引数 説明
files ( [FileCreateInput!]! ) required 作成される新規ファイルのリスト

FileCreateInput fields

alt ( String )
ファイルに関連する alt テキスト。

contentType ( FileContentType )
ファイルのコンテンツタイプ。

originalSource ( String! ) required
ファイルオブジェクトの外部 URL または署名されたアップロード URL。

返却フィールド

files ( [File!] )
新しく作成されたファイルです。

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

fileDelete (mutation)

ファイルアセットを削除する

query
mutation fileDelete($fileIds: [ID!]!) {
  fileDelete(fileIds: $fileIds) {
    deletedFileIds
    userErrors {
      code
      field
      message
    }
  }
}
Variables
{
  "fileIds": [
    "Z2lkOi8vU2hvcGlmeS9FeGFtcGxlLzE="
  ]
}

引数

引数 説明
fileIds ( [ID!]! ) required 削除するファイルの ID です。

返却フィールド

deletedFileIds ( [ID!] )
削除されたファイルの ID です。

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

fileUpdate (mutation)

ファイル資産を更新します。

query
mutation fileUpdate($files: [FileUpdateInput!]!) {
  fileUpdate(files: $files) {
    files {
      alt
      createdAt
    }
    userErrors {
      code
      field
      message
    }
  }
}
Variables
{
  "files": [
    {
      "id": "Z2lkOi8vU2hvcGlmeS9FeGFtcGxlLzE="
    }
  ]
}

引数

引数 説明
files ( [FileUpdateInput!]! ) required 更新されるファイルのリスト

FileUpdateInput fields

alt ( String )
ファイルに関連付けられた alt テキスト。

id ( ID! ) required
更新するファイルです。

返却フィールド

files ( [File!] )
更新されたファイルのリストです。

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

priceListCreate (mutation)

価格表を作成します。priceListCreate mutation を使って、ある国の新しい価格表を作成することができます。これにより、国際価格で商品を販売することができます。

mutation query の実行例です。

query
mutation priceListCreate($input: PriceListCreateInput!) {
  priceListCreate(input: $input) {
    priceList {
      id
    }
    userErrors {
      code
      field
      message
    }
  }
}
Variables
{
  "input": {
    "name": "placeholder",
    "currency": "placeholder",
    "parent": {
      "adjustment": {
        "value": 1,
        "type": "placeholder"
      }
    }
  }
}
引数 説明
input ( PriceListCreateInput! ) required 価格表。

PriceListCreateInput fields

contextRule ( PriceListContextRuleInput )
プライスリストの適格性を判断するために使用される、顧客に関する事実のセットです。

currency ( CurrencyCode! ) required
この価格表に関連する固定価格の 3 文字の通貨コード。

name ( String! ) required
プライスリストの一意の名前で、人間が読める識別子として使用されます。

parent ( PriceListParentCreateInput! ) required
他の価格に対する相対的な調整値です。

返却フィールド

priceList (PriceList )
新しく作成された価格表。

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

priceListDelete (mutation)

価格リストの削除 priceListDelete mutation を使用すると、価格リストを削除して、その国の商品に適用されなくなります。プライスリストを削除するには、プライスリスト ID を指定する必要があります。

mutation query の実行例を示す。

query
mutation priceListDelete($id: ID!) {
  priceListDelete(id: $id) {
    deletedId
    userErrors {
      code
      field
      message
    }
  }
}
Variables
{
  "id": "Z2lkOi8vU2hvcGlmeS9FeGFtcGxlLzE="
}
引数 説明
id ( ID! ) required 削除する価格表の ID です。

返却フィールド

deletedId ( ID )
削除された価格表の ID です。

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

priceListFixedPricesAdd (mutation)

プライスリストに固定価格を作成または更新します。priceListFixedPricesAdd mutation を使用すると、特定の商品バリアントに固定価格を設定できます。これにより、国ごとに商品バリアントの価格を変更することができます。これらのバリアントに対する既存の固定価格リストの価格は、すべて上書きされます。

mutation query の実行例を示す。

query
mutation priceListFixedPricesAdd($priceListId: ID!, $prices: [PriceListPriceInput!]!) {
  priceListFixedPricesAdd(priceListId: $priceListId, prices: $prices) {
    prices
    userErrors {
      code
      field
      message
    }
  }
}
Variables
{
  "priceListId": "Z2lkOi8vU2hvcGlmeS9FeGFtcGxlLzE=",
  "prices": [
    {
      "variantId": "Z2lkOi8vU2hvcGlmeS9FeGFtcGxlLzE=",
      "price": {
        "amount": "placeholder",
        "currencyCode": "placeholder"
      }
    }
  ]
}

引数

引数 説明
priceListId ( ID! ) required 価格が追加される価格リストです。
prices ( [PriceListPriceInput!]! ) required 追加する固定価格。

PriceListPriceInput fields

compareAtPrice ( MoneyInput )
この価格表に掲載されている商品バリアントの比較対象価格です。

price ( MoneyInput! ) required
この価格表に掲載されている商品バリアントの価格です。

variantId ( ID! ) required
価格表の価格に関連付けられた商品バリアントの ID です。

返却フィールド

prices ( [PriceListPrice!] )
プライスリストに追加された価格です。

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

priceListFixedPricesDelete (mutation)

商品バリアント ID を使用して、価格リストから特定の価格を削除します。priceListFixedPricesDelete mutation を使用すると、価格リスト上の価格の部分的なセットを削除できます。削除後、その価格はその国の商品には適用されなくなります。

query mutation 実行例

query
mutation priceListFixedPricesDelete($priceListId: ID!, $variantIds: [ID!]!) {
  priceListFixedPricesDelete(priceListId: $priceListId, variantIds: $variantIds) {
    deletedFixedPriceVariantIds
    userErrors {
      code
      field
      message
    }
  }
}
Variables
{
  "priceListId": "Z2lkOi8vU2hvcGlmeS9FeGFtcGxlLzE=",
  "variantIds": [
    "Z2lkOi8vU2hvcGlmeS9FeGFtcGxlLzE="
  ]
}

引数

引数 説明
priceListId ( ID! ) required 価格を削除する価格リストの ID です。
variantIds ( [ID!]! ) required 価格リストから削除する商品バリアント ID のリスト。

返却フィールド

deletedFixedPriceVariantIds ( [ID!] )
削除された価格のバリアント ID のリスト。

userErrors ( [PriceListPriceUserError!]! )
mutation を実行して発生したエラーのリスト。

priceListUpdate (mutation)

価格表の更新 価格リストを更新して、パーセンテージベースの価格調整に変更を加えることができます。priceListUpdate mutation を使用すると、ある国の既存の価格リストを更新することができます。これにより、国ごとに商品価格を変更することができます。変異の一部として、名前、パーセンテージベースの調整、通貨、および国を変更できます。

mutation query 実行例を示します。

query
mutation priceListUpdate($id: ID!, $input: PriceListUpdateInput!) {
  priceListUpdate(id: $id, input: $input) {
    priceList {
      id
    }
    userErrors {
      code
      field
      message
    }
  }
}
Variables
{
  "id": "Z2lkOi8vU2hvcGlmeS9FeGFtcGxlLzE=",
  "input": {}
}

引数

引数 説明
id ( ID! ) required プライスリストの ID です。
input ( PriceListUpdateInput! ) required プライスリストの更新に必要な入力フィールドを提供します。

PriceListUpdateInput fields

contextRule ( PriceListContextRuleInput )
プライスリストの適格性を判断するために使用される買い手のコンテキストに関するファクトのセット。

currency ( CurrencyCode )
この価格表に関連する固定価格の 3 文字コード。

name ( String )
価格リストの一意の名前で、人間が読める識別子として使用されます。

parent ( PriceListParentUpdateInput )
他の価格に対する相対的な調整値。

返却フィールド

priceList ( PriceList )
更新された価格リスト。

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

productAppendImages (mutation)

商品に画像を付加する。

mutation query の実行例を示す。

query
mutation productAppendImages($input: ProductAppendImagesInput!) {
  productAppendImages(input: $input) {
    newImages {
      id
    }
    product {
      id
    }
    userErrors {
      field
      message
    }
  }
}
Variables
{
  "input": {
    "id": "Z2lkOi8vU2hvcGlmeS9FeGFtcGxlLzE=",
    "images": [
      {}
    ]
  }
}

引数

引数 説明
input ( ProductAppendImagesInput! ) required 新しい画像と追加される商品を指定します。

ProductAppendImagesInput fields

id ( ID! ) required
商品の ID です。

images ( [ImageInput!]! ) required
商品に付加される画像です。

返却フィールド

newImages ([Image!])
商品に付加された新しい画像のリスト。

引数 説明
crop ( CropRegion ) 指定された領域に従って画像をクロップします。この引数は非推奨です。代わりに Image.transformedSrccrop を使用する。
maxHeight ( Int ) 画像の高さを 1 から 2048 までのピクセル数で指定します。この引数は推奨されません。代わりに Image.transformedSrcmaxmaxHeight を使用してください。
maxWidth ( Int ) 1 から 2048 までのピクセル単位での画像の幅。この引数は推奨されません。代わりに Image.transformedSrc の maxWidth を使用してください。
scale ( Int ) 高解像度の Retina ディスプレイ用の画像サイズの乗数。1 から 3 までの値でなければなりません。この引数は推奨されません。代わりに Image.transformedSrcscale を使用する。
デフォルト値:1

productProducts )
商品オブジェクト。

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

productChangeStatus (mutation)

商品のステータスを変更します。これにより、すべてのチャネルで商品の可用性を設定することができます。

mutation query の実行例を示す。

query
mutation productChangeStatus($productId: ID!, $status: ProductStatus!) {
  productChangeStatus(productId: $productId, status: $status) {
    product {
      id
    }
    userErrors {
      code
      field
      message
    }
  }
}
Variables
{
  "productId": "Z2lkOi8vU2hvcGlmeS9FeGFtcGxlLzE=",
  "status": "placeholder"
}

引数

引数 説明
productId ( ID! )required 商品の ID です。
status ( ProductStatus! ) required 商品に割り当てられるステータスです。

返却フィールド

product (Product)
商品オブジェクトです。

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

productCreate (mutation)

商品を作成する。

mutation query の実行例を示す。

query
mutation productCreate($input: ProductInput!) {
  productCreate(input: $input) {
    product {
      id
    }
    shop {
      id
    }
    userErrors {
      field
      message
    }
  }
}
Variables
{
  "input": {}
}

引数

引数 説明
input ( ProductInput! ) required 新商品のプロパティを指定します。
media ( [CreateMediaInput!] ) 商品に追加される新しいメディアのリスト。

ProductInputfields

bodyHtml ( String )
商品の説明です。HTML フォーマットをサポートします。この引数は推奨されません。代わりに descriptionHtml を使用してください。

collectionsToJoin ( [ID!] )
この商品が追加されるコレクションの ID。

collectionsToLeave ( [ID!] )
この商品が含まれなくなるコレクションの ID。

descriptionHtml ( String )
商品の説明(HTML フォーマット付き)。

giftCard ( Boolean )
商品がギフトカードであるかどうか。

giftCardTemplateSuffix (String)
ストアでギフトカードを表示するときに使われるテーマテンプレート。

handle (String)
商品のユニークなヒューマンフレンドリーな文字列。商品のタイトルから自動的に生成されます。

id ( ID )
productUpdateで更新する商品を指定するか、productCreate で指定がない場合は新しい商品を作成します。

images ([ImageInput!])
商品に関連付ける画像を指定します。

metafields ([MetafieldInput!])
この商品に関連付けるメタフィールド。

options ([String!])
カスタム商品オプションのリスト(商品ごとに最大 3 つまで)。

privateMetafields ([PrivateMetafieldInput!])
この商品に関連付けるプライベート メタフィールド。

productPublications ([ProductPublicationInput!])
この商品が公開されているチャネルのリストです。この引数は非推奨です。代わりに PublishablePublish を使用してください。

productType (String)
マーチャントが指定する商品タイプ。

publications (ProductPublicationInput!)
商品が公開されているチャネルのリスト。この引数は非推奨です。代わりに PublishablePublish を使用してください。

publishDate (DateTime)
アクティブなステータスを持つ商品のみがパブリッシュできます。この引数は推奨されません。代わりに PublishablePublish を使用してください。

publishOn (DateTime)
アクティブなステータスを持つ商品のみが公開されます。この引数は推奨されません。代わりに PublishablePublish を使用してください。

publishedBoolean )
アクティブなステータスを持つ商品のみがパブリッシュできます。この引数は推奨されません。代わりに PublishablePublish を使用してください。

publishedAtDateTime )
アクティブなステータスを持つ商品のみがパブリッシュ可能です。この引数は推奨されません。代わりに PublishablePublish を使用してください。

redirectNewHandleBoolean )
新しいハンドルが提供された後、リダイレクトが必要かどうか。真であれば、古いハンドルは自動的に新しいハンドルにリダイレクトされます。

requiresSellingPlanBoolean )
商品が販売プラン(サブスクリプション)でしか購入できないかどうか。サブスクリプションでのみ販売される商品は、オンラインストアでのみ作成できます。既存の商品に true を設定すると、サブスクリプションをサポートしていないチャンネルでは商品が利用できないと表示されます。

seoSEOInput )
商品に関連する SEO 情報。

status (ProductStatus)
商品のステータスです。

tags (String!)
商品に追加されたタグのコンマ区切りリスト。

templateSuffix (String)
ストアで商品を表示する際に使用されるテーマテンプレート。

title (String)
商品のタイトルです。

variants ([ProductVariantInput!])
商品に関連するバリアントのリスト。

vendor (String)
商品のベンダーの名前です。

返却フィールド

product (Product)
商品オブジェクト。

shop ( Shop! )
商品に関連するショップ。

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

productCreateMedia (mutation)

商品のメディアを作る。

mutation query の実行例を示す。

query
mutation productCreateMedia($productId: ID!, $media: [CreateMediaInput!]!) {
  productCreateMedia(productId: $productId, media: $media) {
    media {
      alt
    }
    mediaUserErrors {
      code
      field
      message
    }
    product {
      id
    }
  }
}
Variables
{
  "productId": "Z2lkOi8vU2hvcGlmeS9FeGFtcGxlLzE=",
  "media": [
    {
      "originalSource": "placeholder",
      "mediaContentType": "placeholder"
    }
  ]
}

引数

引数 説明
media ( [CreateMediaInput!]! ) required 商品に追加される新規メディアのリスト。
productId ( ID! ) required メディアに関連する商品を指定します。

CreateMediaInput fields

alt ( String )
メディアに関連する alt テキスト。

mediaContentType (MediaContentType!) required
メディアのコンテンツタイプです。

originalSource (String!) required
メディアオブジェクトのオリジナルソース。外部 URL または署名済みアップロード URL の場合があります。

返却フィールド

media ([Media!])
新しく作成されたメディア

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

product (Product)
メディアに関連付けられた商品です。

非推奨返却フィールド

userErrors ([UserError!]!) deprecated
mutation を実行して発生したエラーのリストです。

productDelete (mutation)

商品を削除し、関連するすべてのバリエーションやメディアも削除します。

mutation query の実行例を示す。

query
mutation productDelete($input: ProductDeleteInput!) {
  productDelete(input: $input) {
    deletedProductId
    shop {
      id
    }
    userErrors {
      field
      message
    }
  }
}
Variants
{
  "input": {
    "id": "Z2lkOi8vU2hvcGlmeS9FeGFtcGxlLzE="
  }
}

引数

引数 説明
input ( ProductDeleteInput! ) required 削除する商品を ID で指定します。

ProductDeleteInputfields

id (ID!) required
商品の ID です。

返却フィールド

deletedProductId (ID)
削除された商品の ID です。

shop (Shop!)
商品に関連するショップ。

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

productDeleteImages (mutation)

商品画像を商品から削除します。

mutation query の実行例です。

query
mutation productDeleteImages($id: ID!, $imageIds: [ID!]!) {
  productDeleteImages(id: $id, imageIds: $imageIds) {
    deletedImageIds
    product {
      id
    }
    userErrors {
      field
      message
    }
  }
}
Variables
{
  "id": "Z2lkOi8vU2hvcGlmeS9FeGFtcGxlLzE=",
  "imageIds": [
    "Z2lkOi8vU2hvcGlmeS9FeGFtcGxlLzE="
  ]
}

引数

引数 説明
id ( ID! ) required 商品の ID を表します。
imageIds ( [ID!]! ) required 商品から削除する画像 ID の配列です。

返却フィールド

deletedImageIds ([ID!]! )
削除する画像の ID の配列です。

product (Product)
商品オブジェクトです。

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

productDeleteMedia (mutation)

商品のメディアを削除します。

mutation query の実行例です。

query
mutation productDeleteMedia($productId: ID!, $mediaIds: [ID!]!) {
  productDeleteMedia(productId: $productId, mediaIds: $mediaIds) {
    deletedMediaIds
    deletedProductImageIds
    mediaUserErrors {
      code
      field
      message
    }
    product {
      id
    }
  }
}
Variables
{
  "productId": "Z2lkOi8vU2hvcGlmeS9FeGFtcGxlLzE=",
  "mediaIds": [
    "Z2lkOi8vU2hvcGlmeS9FeGFtcGxlLzE="
  ]
}

引数

引数 説明
mediaIds ( [ID!]! ) required 削除するメディア ID です。
productId ( ID! ) required メディアを削除する対象の商品の ID。

返却フィールド

deletedMediaIds ([ID!])
削除されたメディア ID のリスト。

deletedProductImageIds ([ID!])
削除された商品画像 ID のリスト。

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

product (Product)
メディアが削除された商品。

非推奨返却フィールド

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

productDuplicate (mutation)

製品を複製します。

mutation query を実行する

query
mutation productDuplicate($productId: ID!, $newTitle: String!) {
  productDuplicate(productId: $productId, newTitle: $newTitle) {
    imageJob {
      id
    }
    newProduct {
      id
    }
    shop {
      id
    }
    userErrors {
      field
      message
    }
  }
}
Variables
{
  "productId": "Z2lkOi8vU2hvcGlmeS9FeGFtcGxlLzE=",
  "newTitle": "placeholder"
}

引数

引数 説明
includeImages ( Boolean ) 画像を複製するかどうかを指定します。
デフォルト値:false
newStatus ( ProductStatus ) 商品の新しいステータスを指定します。値が指定されない場合、ステータスは元の商品から継承されます。
newTitle ( String! ) required 商品の新しいタイトルです。
productId ( ID! ) required 複製される商品の ID です。

返却フィールド

imageJob (Job)
商品画像を複製する非同期ジョブです。

newProduct (Product)
複製された商品です。

shop (Shop!)
ユーザーのショップです。

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

productImageUpdate (mutation)

商品の画像を更新します。

mutation query の実行例です。

query
mutation productImageUpdate($productId: ID!, $image: ImageInput!) {
  productImageUpdate(productId: $productId, image: $image) {
    image {
      id
    }
    userErrors {
      field
      message
    }
  }
}
Variables
{
  "productId": "Z2lkOi8vU2hvcGlmeS9FeGFtcGxlLzE=",
  "image": {}
}

引数

引数 説明
image ( ImageInput! ) required 更新される画像
productId ( ID! ) required 画像を更新する商品の ID。

ImageInput fields

altText ( String )
画像の性質や内容を共有するための単語やフレーズです。

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

src ( String )
画像の URL。署名入りのアップロード URL でもよい。

返却フィールド

image ( Image )
更新された画像

引数 説明
crop ( CropRegion ) 指定された領域に従って画像をクロップします。この引数は非推奨です。代わりに Image.transformedSrccrop を使用してください。
maxHeight ( Int ) 画像の高さを 1 から 2048 までのピクセル数で指定します。この引数は推奨されません。代わりに Image.transformedSrcmaxmaxHeightを使用してください。
maxWidth ( Int ) 1 から 2048 までのピクセル単位での画像の幅。この引数は推奨されません。代わりに Image.transformedSrcmaxmaxWidth を使用してください。
scale ( Int ) 高解像度の Retina ディスプレイ用の画像サイズの乗数。1 から 3 までの値でなければなりません。この引数は推奨されません。代わりに Image.transformedSrcscale を使用する。
デフォルト値:1
  • userErrors ([UserError!]!)
    mutation を実行した際に発生したエラーのリスト。

productJoinSellingPlanGroups (mutation)

商品に複数の販売計画グループを追加します。

mutation query の実行例です。

query
mutation productJoinSellingPlanGroups($id: ID!, $sellingPlanGroupIds: [ID!]!) {
  productJoinSellingPlanGroups(id: $id, sellingPlanGroupIds: $sellingPlanGroupIds) {
    product {
      id
    }
    userErrors {
      code
      field
      message
    }
  }
}
Variables
{
  "id": "Z2lkOi8vU2hvcGlmeS9FeGFtcGxlLzE=",
  "sellingPlanGroupIds": [
    "Z2lkOi8vU2hvcGlmeS9FeGFtcGxlLzE="
  ]
}

引数

引数 説明
id ( ID! ) required 商品の ID を指定します。
sellingPlanGroupIds ( [ID!]! ) required 追加する販売計画グループの ID です。

返却フィールド

productProduct )
商品オブジェクトです。

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

productLeaveSellingPlanGroups (mutation)

商品から複数のグループを削除します。

mutation query の実行例です。

query
mutation productLeaveSellingPlanGroups($id: ID!, $sellingPlanGroupIds: [ID!]!) {
  productLeaveSellingPlanGroups(
    id: $id
    sellingPlanGroupIds: $sellingPlanGroupIds
  ) {
    product {
      id
    }
    userErrors {
      code
      field
      message
    }
  }
}
Variables
{
  "id": "Z2lkOi8vU2hvcGlmeS9FeGFtcGxlLzE=",
  "sellingPlanGroupIds": [
    "Z2lkOi8vU2hvcGlmeS9FeGFtcGxlLzE="
  ]
}

引数

引数 説明
id ( ID! ) required 商品の ID を指定します。
sellingPlanGroupIds ( [ID!]! ) required 追加する販売計画グループの ID です。

返却フィールド

productProduct )
商品オブジェクトです。

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

productPublish (mutation)

商品を公開します。サブスクリプションでのみ販売される商品( requestsSellingPlan : true )は、オンラインストアでのみ公開できます。

mutation query を実行する

query
mutation productPublish($input: ProductPublishInput!) {
  productPublish(input: $input) {
    product {
      id
    }
    shop {
      id
    }
    userErrors {
      field
      message
    }
  }
}
Variables
{
  "input": {
    "id": "Z2lkOi8vU2hvcGlmeS9FeGFtcGxlLzE=",
    "productPublications": [
      {}
    ]
  }
}

引数

引数 説明
input ( ProductPublishInput! ) required 公開する商品と公開先のチャンネルを指定します。

ProductPublishInput fields

id (ID!) required
パブリケーションを作成または更新する商品です。

productPublications ([ProductPublicationInput!]!) required
商品が公開されているパブリケーションです。

返却フィールド

product (Product)
公開されている商品です。

shopShop )
ユーザーのショップです。

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

非推奨の返却フィールド

productReorderImages (mutation)

指定された商品の画像セットを非同期に再注文する。

mutation query の実行例

query
mutation productReorderImages($id: ID!, $moves: [MoveInput!]!) {
  productReorderImages(id: $id, moves: $moves) {
    job {
      id
    }
    userErrors {
      field
      message
    }
  }
}
Variables
{
  "id": "Z2lkOi8vU2hvcGlmeS9FeGFtcGxlLzE=",
  "moves": [
    {
      "id": "Z2lkOi8vU2hvcGlmeS9FeGFtcGxlLzE=",
      "newPosition": "placeholder"
    }
  ]
}

引数

引数 説明
id ( ID! ) required 画像を並べ替える対象となる商品の ID。
moves ( [MoveInput!]! ) required 順番に評価される、実行するムーブのリスト。

MoveInput fields

id (ID!) required
移動するオブジェクトの ID です。

newPosition (UnsignedInt64!) required
セット内のオブジェクトの新しい位置 (0 ベースのインデックスを使用)

返却フィールド

job ( Job )
画像を並べ替える非同期のジョブです。

userErrors ([UserError!]!)
mutation の実行時に発生したエラーのリスト。

productReorderMedia (mutation)

商品に添付されたメディアを非同期的に再注文する。

mutation query の実行例

query
mutation productReorderMedia($id: ID!, $moves: [MoveInput!]!) {
  productReorderMedia(id: $id, moves: $moves) {
    job {
      id
    }
    mediaUserErrors {
      code
      field
      message
    }
  }
}
Variables
{
  "id": "Z2lkOi8vU2hvcGlmeS9FeGFtcGxlLzE=",
  "moves": [
    {
      "id": "Z2lkOi8vU2hvcGlmeS9FeGFtcGxlLzE=",
      "newPosition": "placeholder"
    }
  ]
}

引数

引数 説明
id ( ID! ) required メディアを再注文する対象となる商品の ID を指定します。
moves ( [MoveInput!]! ) required 順番に評価される実行するムーブのリスト。

MoveInputフィールド

id (ID!) required
移動するオブジェクトの ID です。

newPosition (UnsignedInt64!) required
セット内のオブジェクトの新しい位置 (0 ベースのインデックスを使用)

返却フィールド

jobJob )
メディアを再注文する非同期ジョブです。

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

非推奨の返却フィールド

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

productUnpublish (mutation)

非公開の商品

mutation query を実行する

query
mutation productUnpublish($input: ProductUnpublishInput!) {
  productUnpublish(input: $input) {
    product {
      id
    }
    shop {
      id
    }
    userErrors {
      field
      message
    }
  }
}
Variables
{
  "input": {
    "id": "Z2lkOi8vU2hvcGlmeS9FeGFtcGxlLzE=",
    "productPublications": [
      {}
    ]
  }
}

引数

引数 説明
input ( ProductUnpublishInput! ) required アンパブリッシュする商品と、その商品をアンパブリッシュするチャネルを指定します。

ProductUnpublishInput fields

id ( ID! ) required
パブリケーションを作成または更新する商品の ID です。

productPublications ([ProductPublicationInput!]!) required
商品の公開を解除するチャンネルです。

返却フィールド

productProduct )
非公開にされた商品。

shopShop! )
ユーザーのショップです。

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

productUpdate (mutation)

商品をアップデートします。商品をアップデートする際に、一部のバリアントのみをアップデートに含めると、含まれていないバリアントは削除されてしまいます。除外されたバリアントを削除するリスクなしにバリアントを安全に管理するには、 productVariantsBulkUpdate を使用してください。単一のバリアントをアップデートしたい場合は、productVariantUpdate を使用してください。

mutation query の実行例

query
mutation productUpdate($input: ProductInput!) {
  productUpdate(input: $input) {
    product {
      id
    }
    userErrors {
      field
      message
    }
  }
}
Variables
{
  "input": {}
}

引数

引数 説明
input ( ProductInput! ) required 商品の更新されたプロパティです。

ProductInput fields

bodyHtml (String)
商品の説明です。HTML フォーマットをサポートします。この引数は推奨されません。代わりに descriptionHtml を使用してください。

collectionsToJoin ([ID!])
この商品が追加されるコレクションの ID。

collectionsToLeave ([ID!])
この商品が含まれなくなるコレクションの ID。

descriptionHtml (String)
商品の説明(HTML フォーマット付き)。

giftCard (Boolean)
商品がギフトカードであるかどうか。

giftCardTemplateSuffix (String)
ストアでギフトカードを表示するときに使われるテーマテンプレート。

handle (String)
商品のユニークなヒューマンフレンドリーな文字列。商品のタイトルから自動的に生成されます。

id (ID)
productUpdateで更新する商品を指定するか、productCreateで指定がない場合は新しい商品を作成します。

images ([ImageInput!])
商品に関連付ける画像を指定します。

metafields ([MetafieldInput!])
この商品に関連付けるメタフィールド。

options ([String!])
カスタム商品オプションのリスト(商品ごとに最大 3 つまで)。

privateMetafields ([PrivateMetafieldInput!])
この商品に関連付けるプライベート メタフィールド。

productPublications ([ProductPublicationInput!])
この商品が公開されているチャネルのリストです。この引数は非推奨です。代わりに PublishablePublish を使用してください。

productType (String)
マーチャントが指定する商品タイプ。

publications ([ProductPublicationInput!])
商品が公開されているチャネルのリスト。この引数は非推奨です。代わりに PublishablePublish を使用してください。

publishDate (DateTime)
アクティブなステータスを持つ商品のみがパブリッシュできます。この引数は推奨されません。代わりに PublishablePublish を使用してください。

publishOn (DateTime)
アクティブなステータスを持つ商品のみが公開されます。この引数は推奨されません。代わりに PublishablePublish を使用してください。

published (Boolean)
アクティブなステータスを持つ商品のみがパブリッシュできます。この引数は推奨されません。代わりに PublishablePublish を使用してください。

publishedAt (DateTime)
アクティブなステータスを持つ商品のみがパブリッシュ可能です。この引数は推奨されません。代わりに PublishablePublish を使用してください。

redirectNewHandle (Boolean)
新しいハンドルが提供された後、リダイレクトが必要かどうか。真であれば、古いハンドルは自動的に新しいハンドルにリダイレクトされます。

requiresSellingPlanBoolean)
商品が販売プラン(サブスクリプション)でしか購入できないかどうか。サブスクリプションでのみ販売される商品は、オンラインストアでのみ作成できます。既存の商品に true を設定すると、サブスクリプションをサポートしていないチャンネルでは商品が利用できないと表示されます。

seo (SEOInput)
商品に関連する SEO 情報。

status ( ProductStatus )
商品のステータスです。

tags ([String!])
商品に追加されたタグのコンマ区切りリスト。

templateSuffix (String)
ストアで商品を表示する際に使用されるテーマテンプレート。

title (String)
商品のタイトルです。

variants ([ProductVariantInput!])
商品に関連するバリアントのリスト。

vendor (String)
商品のベンダーの名前です。

返却フィールド

product (Product)
更新された商品です。

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

productUpdateMedia (mutation)

商品のメディアを更新する

mutation query の実行例

query
mutation productUpdateMedia($productId: ID!, $media: [UpdateMediaInput!]!) {
  productUpdateMedia(productId: $productId, media: $media) {
    media {
      alt
    }
    mediaUserErrors {
      code
      field
      message
    }
    product {
      id
    }
  }
}
Variables
{
  "productId": "Z2lkOi8vU2hvcGlmeS9FeGFtcGxlLzE=",
  "media": [
    {
      "id": "Z2lkOi8vU2hvcGlmeS9FeGFtcGxlLzE="
    }
  ]
}

引数

引数 説明
media ( [UpdateMediaInput!]! ) required 更新メディアのリスト。
productId ( ID! ) required メディアを更新する商品を指定します。

UpdateMediaInput fields

alt (String)
メディアに関連付けられた alt テキスト。

id (ID!) required
更新するメディアを指定します。

previewImageSource (String)
メディアのプレビュー画像を更新するためのソース。外部 URL または署名済みアップロード URL である可能性があります。

返却フィールド

media ([Media!])
更新されたメディア。

mediaUserErrors ([MediaUserError!]!)
mutation を実行する際に発生したエラーのリスト。

product ([Product])
メディアが更新された商品。

非推奨返却フィールド

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

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

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