📈

【Shopify.dev和訳】AdminAPI/GraphQL reference /Apps

2021/10/01に公開約47,000字

この記事について

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

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

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

アプリケーションの API

オンラインストアのアプリを閲覧・管理することができます。

この記事で説明すること


  • App - Shopify のアプリケーションです。
  • AppDeveloperType - アプリ開発者の可能なタイプ。
  • AppFeedback - ショップとそのリソースの状態を報告し、Shopify admin 内にこの情報を表示します。AppFeedback は、マーチャントが自分のストアにアプリをセットアップするために必要なステップを通知するために使用されます。
  • AppInstallation - ショップにインストールされたアプリケーションを表します。
  • AppInstallationCategory - アプリインストールの可能なカテゴリーです。
  • AppInstallationPrivacy - アプリのインストールで可能なプライバシータイプです。
  • AppInstallationSortKeys - AppInstallation クエリの有効なソートキーのセットです。
  • AppPublicCategory - アプリの公開カテゴリです。
  • FailedRequirement - アプリをインストールする前に満たす必要のある要件です。
  • Link - ユーザーを誘導するためのリンクです。
  • ProductResourceFeedback - Sales Channel または Storefront API の製品のステータスを報告します。これには、製品が販売チャネルで利用できない理由や、マーチャントがこれを修正する方法が含まれます。
  • ProductResourceFeedbackInput - 製品フィードバックの作成に使用される入力フィールドです。
  • Publication - パブリケーションは、アプリに公開された製品とコレクションのグループです。
  • ResourceFeedback - リソースに関するアプリからのフィードバックや、ショップでアプリを設定するために必要な手順を表します。
  • ResourceFeedbackState - リソースフィードバックの状態です。
  • bulkProductResourceFeedbackCreate - 複数の商品に対する商品フィードバックを作成します。

OBJECTS

App object


A Shopify application.

フィールド値

フィールド値 説明
apiKey (String!) 固有のアプリケーション API 識別子。
appStoreAppUrlURL) アプリの App Store ページの URL。
appStoreDeveloperUrlURL) アプリを作成した開発者の App Store ページの URL。
banner (Image!) アプリのバナー画像。
description (String) アプリの説明文。
developerName (String) アプリの開発者名。
embedded(Boolean!) アプリが Embedded App SDK を使用しているかどうか。
failedRequirements ([FailedRequirement!]!) アプリがインストールされる前に満たさなければならない要件。
features ([String!]!) アプリの機能のリスト。
feedback ([AppFeedback]) ストアに関するこのアプリのフィードバック。
handle (String) アプリのハンドル。
icon (Image!) アプリを表すアイコン。
id (ID!) グローバルに一意な識別子。
installUrlURL) アプリをインストールするための Web ページ。
installation ('AppInstallation') このショップと App に対応する AppInstallation。App がインストールされていない場合は null を返します。
pricingDetails (String) アプリの価格に関する詳細情報。
pricingDetailsSummary (String!) アプリの価格設定の詳細の概要。
privacyPolicyUrlURL) アプリのプライバシーポリシーへのリンク。
publishedBoolean!) アプリが公開されているかどうか。
screenshots ([Image!]!) アプリのスクリーンショット。
shopifyDeveloped (Boolean!) アプリが Shopify によって開発されたかどうか。
title (String!) アプリの名称です。
uninstallMessage (String!) アプリがアンインストールされたときに表示されるメッセージ。例えば、以下のようになります。このアプリを削除することで、MySocialSite に商品を公開したり、Shopify の管理画面でこのアプリを表示することができなくなります。このチャンネルはいつでも再有効化できます。

返す App の種類

Implements

非推奨のフィールド値

フィールド値 説明 非推奨の警告
developerUrl (URL!) アプリを作成した開発者のウェブサイト。 代わりに appStoreDeveloperUrl を使用してください。
launchUrl (URL!) アプリが起動するウェブページ。 代わりに AppInstallation.launchUrl を使用してください。
navigationItems ([NavigationItem!]!) アプリのメニューアイテム。Shopify 管理画面の左のナビゲーションサイドバーのサブメニューアイテムとしても表示されます。 代わりに AppInstallation.navigationItems を使用してください。
uninstallUrl(URL) アプリをアンインストールするためのウェブページ。 代わりに AppInstallation.uninstallUrl を使用してください。

サンプル

a.js
{
  shop {
    name
    id
  }
}

取得したコードは以下のようになります

{
  "data": {
    "shop": {
      "name": "graphql-admin",
      "id": "gid://shopify/Shop/6587023382"
    }
  },
  "extensions": {
    "cost": {
      "requestedQueryCost": 1,
      "actualQueryCost": 1,
      "throttleStatus": {
        "maximumAvailable": 1000,
        "currentlyAvailable": 999,
        "restoreRate": 50
      }
    }
  }
}

AppFeedback object


Shopify の管理者です。AppFeedback は、マーチャントがストアにアプリをセットアップするために必要なステップを通知するために使用されます。

フィールド値

フィールド値 説明
appApp!) フィードバックに関連付けられたアプリケーションです。
link (Link) マーチャントがエラーを解決できる場所へのリンクです。
messages ([UserError!]!) マーチャントに提示されるフィードバックメッセージ。

AppFeedback が返すタイプ

AppInstallation object


コネクション

allSubscriptions (AppSubscriptionConnection!)

あるショップに作成されたすべてのサブスクリプション

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

credits (AppCreditConnection!)

次回以降のアプリ購入時に使用できるクレジットです。

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

oneTimePurchases (AppPurchaseOneTimeConnection!)

ショップへの一回限りの購入

引数 説明
after ( [String](https://shopify.dev/api/admin/graphql/reference/scalar#string-2021-07) ) 指定されたカーソルの後にある要素を返します。

revenueAttributionRecords (AppRevenueAttributionRecordConnection!)

アプリの外部から獲得した収益を追跡するレコードです。このレコードは、収益の帰属を目的として使用されます。

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

フィールド値

フィールド値 説明
accessScopes ([AccessScope!]!) インストール時にマーチャントからアプリに付与されたアクセススコープです。
activeSubscriptions ([AppSubscription!]!) ショップに定期的に課金されるアクティブなサブスクリプション。
app (App!) インストールされているアプリケーション。
id (ID!) グローバルに一意な識別子
launchUrl (URL!) アプリを起動するための URL。
publication (Publication) インストールされたアプリケーションに関連するパブリケーション。
uninstallUrl (URL) アプリをアンインストールするための Web ページ。

appinstallation が返すタイプ

Implements

非推奨のフィールド値

フィールド値 説明 非推奨の警告
channel (Channel) インストールされたアプリケーションに関連するチャネル。 代わりに publication を使用してください
subscriptions ([AppSubscription!]!) サブスクリプションは、ショップに定期的に課金します。 代わりに activeSubscriptions を使用してください。

サンプル

a.js
{
  app {
    title
  }
}

取得したコードは以下のようになります

{
  "data": {
    "app": {
      "title": "development-token"
    }
  },
  "extensions": {
    "cost": {
      "requestedQueryCost": 1,
      "actualQueryCost": 1,
      "throttleStatus": {
        "maximumAvailable": 1000,
        "currentlyAvailable": 999,
        "restoreRate": 50
      }
    }
  }
}

FailedRequirement object


アプリをインストールする前に満たさなければならない条件。

フィールド値

フィールド値 説明
action (NavigationItem) 失敗した要件を解決するために取るべきアクション(URL リンクを含む)。
message(String!) マーチャントに表示される簡潔なコピー文字列で、ショップとそのリソースを利用しようとしたときにアプリが遭遇する問題を解決するためのガイドとなります。

FailedRequirement の返すタイプ


フィールド値

フィールド値 説明
label (String!) リンクのための文脈依存のラベルです。
translations ([PublishedTranslation!]!) リソースに関連する翻訳。 引数に locale ( String! ) 必須です。 翻訳のロケールをフィルタリングします。
url (URL!) リンクがアクセスする URL

Implements

ProductResourceFeedback object


Sales Channel または Storefront API の製品のステータスを報告します。これには、製品が販売チャネルで利用できない理由や、マーチャントがこれを修正する方法が含まれます。

フィールド値

フィールド値 説明
feedbackGeneratedAt (DateTime!) フィードバックが生成された時間。入力されたフィードバックが既存のフィードバックに比べて古いかどうかを判断するために使用されます。
messages ([String!]!) マーチャントに提示されたフィードバックメッセージ。
productId (ID!) フィードバックに関連する製品の ID。
productUpdatedAt (DateTime!) フィードバックに関連付けられた製品のタイムスタンプ。
state (ResourceFeedbackState!) フィードバックの状態と、マーチャントアクションが必要かどうかを伝える。

ProductResourceFeedback を返すタイプ

Publication object


パブリケーションとは、アプリに公開されている製品やコレクションのグループです。 ### コネクション

collectionPublicationsV3 (ResourcePublicationConnection!)

出版物に掲載されているコレクションのリストのためのコレクション出版物です。

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

collections (CollectionConnection!)

出版物に掲載されたコレクションのリストです。

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

productPublicationsV3 (ResourcePublicationConnection!)

出版物に掲載されている製品のリストの製品出版物です。

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

products (ProductConnection!)

出版物に掲載されている製品のリストです。

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

フィールド値

フィールド値 説明
app (App!) パブリケーションに関連付けられたアプリです。
hasCollection (Boolean!) コレクションがパブリケーションで利用できるかどうか。引数の説明  id ( ID! ) 必須 です。確認するためのコレクション ID。
id (ID!) グローバルに一意な識別子。
name (String!) パブリケーションの名前。
supportsFuturePublishing (Boolean!) この出版物が将来の出版をサポートするかどうか

publication が返すタイプ

Implements

サンプル

a.js
{
  collections(first: 10) {
    edges {
      node {
        id
      }
    }
  }
}

取得したコードは以下のようになります

{
  "data": {
    "collections": {
      "edges": [
        {
          "node": {
            "id": "gid://shopify/Collection/70598819862"
          }
        }
      ]
    }
  },
  "extensions": {
    "cost": {
      "requestedQueryCost": 12,
      "actualQueryCost": 3,
      "throttleStatus": {
        "maximumAvailable": 1000,
        "currentlyAvailable": 997,
        "restoreRate": 50
      }
    }
  }
}

ResourceFeedback object


リソースに関するアプリからのフィードバックや、ショップにアプリを設置するために必要な手順を表します。

フィールド値

フィールド値 説明
details ([AppFeedback!]!) リソースに関する問題を詳述する AppFeedback のリスト。
summary (String!) リソースに関するフィードバックの概要

ResourceFeedback が返すタイプ

MUTATION

bulkProductResourceFeedbackCreate MUTATION


複数の製品のプロダクトフィードバックを作成します。

インタラクティブな例

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

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

a.js
mutation bulkProductResourceFeedbackCreate($feedbackInput: [ProductResourceFeedbackInput!]!) {
  bulkProductResourceFeedbackCreate(feedbackInput: $feedbackInput) {
    feedback {
      feedbackGeneratedAt
      messages
      productId
      productUpdatedAt
    }
    userErrors {
      code
      field
      message
    }
  }
}

取得したコードは以下のようになります

{
  "feedbackInput": [
    {
      "productId": "Z2lkOi8vU2hvcGlmeS9FeGFtcGxlLzE=",
      "state": "placeholder",
      "feedbackGeneratedAt": "placeholder",
      "productUpdatedAt": "placeholder"
    }
  ]
}

### 引数

引数 説明
feedbackInput( [ProductResourceFeedbackInput!]! ) フィードバックを実現するための入力配列です。50 個限定。

ProductResourceFeedbackInput フィールド

フィールド値

フィールド値 説明
feedbackGeneratedAt (DateTime!) 必須 ペイロードが構築された日付と時刻。受信したフィードバックが、既に受信したフィードバックと比較して古いかどうか、また、到着時に無視すべきかどうかを判断するために使用されます。
messages ([String!]) マーチャントに表示されるコピー文字列の簡潔なセット。マーチャントの製品を利用しようとしたときにアプリが遭遇する問題を解決するために使用します。
productId (ID!) 必須 フィードバックが作成された製品の ID です。
productUpdatedAt (DateTime!) 必須 フィードバックに関連する製品のタイムスタンプ。
state (ResourceFeedbackState!) 必須 マーチャントが製品に対してアクションを起こす必要があるかどうか。

フィールドを返す

フィールド値 説明
feedback ([ProductResourceFeedback!]) 作成されるフィードバックです。
serErrors ([BulkProductResourceFeedbackCreateUserError!]!) mutation を実行して発生したエラーのリストです。

INPUTS

ProductResourceFeedbackInput  Input


製品のフィードバックを作成するための入力フィールドです。

Input フィールド

フィールド値 説明
eedbackGeneratedAt (DateTime!) 必須 ペイロードが構築された日付と時刻。受信したフィードバックが、すでに受信したフィードバックと比較して古いかどうか、また、到着時に無視すべきかどうかを判断するために使用されます。
messages ([String!]) マーチャントに表示されるコピー文字列の簡潔なセット。マーチャントの製品を利用しようとしたときにアプリが遭遇する問題を解決するために使用します。
productId (ID!) 必須 フィードバックが作成された製品の ID です。
productUpdatedAt (DateTime!) 必須 フィードバックに関連付けられた製品のタイムスタンプ。
state (ResourceFeedbackState!) 必須 マーチャントが製品に対してアクションを起こす必要があるかどうか。

ENUMS

AppDeveloperType ENUMS


考えられるアプリ開発者のタイプ

Values

  • MERCHANT
    アプリ開発者がマーチャントのために直接働いていることを示します。
  • PARTNER
    アプリ開発者がパートナーであることを示す。
  • SHOPIFY
    アプリ開発者が Shopify であることを示す。
  • UNKNOWN
    アプリの開発者が不明であることを示す。他の開発者タイプには分類されていません。

AppDeveloperType が返すタイプ

AppInstallationCategory ENUMS


アプリのインストールで考えられるカテゴリー

Values

  • CHANNEL
    販売チャネルのアプリ。
  • POS_EMBEDDED
    POS モバイルクライアントで使用可能なアプリ。

AppDeveloperType が返すタイプ

AppInstallationPrivacy ENUMS


アプリのインストール時に考えられるプライバシーの種類

Values

  • PRIVATE
  • PUBLIC

AppInstallationSortKeys ENUMS


AppInstallation クエリの有効なソート・キーのセットです。

Values

  • APP_TITLE
    app_title の値でソートします。
  • ID
    id の値でソートします。
  • INSTALLED_AT
    installed_at の値でソートします。
  • RELEVANCE
    検索時(接続時にqueryパラメータが指定されている場合)に、検索語との関連性で結果をソートします。検索クエリが指定されていない場合、このソートキーは決定性がないため、使用しないでください。

AppPublicCategory ENUMS


アプリの公開用カテゴリです

Values

  • CUSTOM
    アプリの公開カテゴリは「Custom」です。
  • OTHER
    アプリの公開カテゴリは「その他」です。他のアプリタイプに分類されないアプリは、このカテゴリーに入ります。
  • OTHER
    アプリの公開カテゴリはPrivateです。
  • PUBLIC
    アプリの公開カテゴリはPublicです。

AppPublicCategory が返すタイプ

ResourceFeedbackState ENUMS


リソースのフィードバックの状態です。

Values

  • ACCEPTED
    マーチャントからのアクションは必要ありません。
  • REQUIRES_ACTION
    マーチャントは、リソースの問題を解決する必要があります。

ResourceFeedbackState が返すタイプ

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

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