【Shopify.dev和訳】AdminAPI/GraphQL reference /Apps
この記事について
この記事は、AdminAPI/GraphQL reference /Appsの記事を和訳したものです。
記事内で使用する画像は、公式ドキュメント内の画像を引用して使用させていただいております。
Shopify アプリのご紹介
Shopify アプリである、「商品ページ発売予告アプリ | リテリア Coming Soon」は、商品ページを買えない状態のまま、発売日時の予告をすることができるアプリです。Shopify で Coming Soon 機能を実現することができます。
Shopify アプリである、「らくらく日本語フォント設定|リテリア Font Picker」は、ノーコードで日本語フォントを使用できるアプリです。日本語フォントを導入することでブランドを演出することができます。
アプリケーションの 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
object
App A Shopify application.
フィールド値
フィールド値 | 説明 |
---|---|
apiKey (String! ) |
固有のアプリケーション API 識別子。 |
appStoreAppUrl (URL ) |
アプリの App Store ページの URL。 |
appStoreDeveloperUrl (URL ) |
アプリを作成した開発者の 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! ) |
グローバルに一意な識別子。 |
installUrl (URL ) |
アプリをインストールするための Web ページ。 |
installation ('AppInstallation') |
このショップと App に対応する AppInstallation。App がインストールされていない場合は null を返します。 |
pricingDetails (String ) |
アプリの価格に関する詳細情報。 |
pricingDetailsSummary (String! ) |
アプリの価格設定の詳細の概要。 |
privacyPolicyUrl (URL ) |
アプリのプライバシーポリシーへのリンク。 |
published (Boolean! ) |
アプリが公開されているかどうか。 |
screenshots ([Image! ]!) |
アプリのスクリーンショット。 |
shopifyDeveloped (Boolean! ) |
アプリが Shopify によって開発されたかどうか。 |
title (String! ) |
アプリの名称です。 |
uninstallMessage (String! ) |
アプリがアンインストールされたときに表示されるメッセージ。例えば、以下のようになります。このアプリを削除することで、MySocialSite に商品を公開したり、Shopify の管理画面でこのアプリを表示することができなくなります。このチャンネルはいつでも再有効化できます。 |
返す App の種類
- AppFeedback.app
- AppInstallation.app
- Channel.app
- DiscountRedeemCode.createdBy
- MarketingActivity.app
- MarketingEvent.app
- OrderAgreement.app
- OrderEditAgreement.app
- PriceRule.app
- PriceRuleDiscountCode.app
- Publication.app
- QueryRoot.app
- QueryRoot.appByHandle
- QueryRoot.appByKey
- RefundAgreement.app
- Shop.availableChannelApps
- SubscriptionContract.app
Implements
非推奨のフィールド値
フィールド値 | 説明 | 非推奨の警告 |
---|---|---|
developerUrl (URL! ) |
アプリを作成した開発者のウェブサイト。 | 代わりに appStoreDeveloperUrl を使用してください。 |
launchUrl (URL! ) |
アプリが起動するウェブページ。 | 代わりに AppInstallation.launchUrl を使用してください。 |
navigationItems ([NavigationItem!]!) |
アプリのメニューアイテム。Shopify 管理画面の左のナビゲーションサイドバーのサブメニューアイテムとしても表示されます。 | 代わりに AppInstallation.navigationItems を使用してください。 |
uninstallUrl (URL) |
アプリをアンインストールするためのウェブページ。 | 代わりに AppInstallation.uninstallUrl を使用してください。 |
サンプル
{
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
}
}
}
}
object
AppFeedback Shopify の管理者です。AppFeedback は、マーチャントがストアにアプリをセットアップするために必要なステップを通知するために使用されます。
フィールド値
フィールド値 | 説明 |
---|---|
app (App! ) |
フィードバックに関連付けられたアプリケーションです。 |
link (Link ) |
マーチャントがエラーを解決できる場所へのリンクです。 |
messages ([UserError! ]!) |
マーチャントに提示されるフィードバックメッセージ。 |
AppFeedback が返すタイプ
object
AppInstallation コネクション
AppSubscriptionConnection!)
allSubscriptions (あるショップに作成されたすべてのサブスクリプション
引数 | 説明 |
---|---|
after ( String ) |
指定されたカーソルの後にある要素を返します。 |
before ( String ) |
指定されたカーソルの前にある要素を返します。 |
first ( Int ) |
リストから最初の n 個の要素までを返します。 |
last ( Int ) |
リストから最後の n 個の要素までを返します。 |
reverse ( Boolean ) |
対象となるリストの順序を逆にします。デフォルト値:false
|
sortKey ( AppSubscriptionSortKeys ) |
指定されたキーで基礎となるリストをソートします。デフォルトの値は CREATED_AT
|
AppCreditConnection!)
credits (次回以降のアプリ購入時に使用できるクレジットです。
引数 | 説明 |
---|---|
after ( String ) |
指定されたカーソルの後にある要素を返します。 |
before ( String ) |
指定されたカーソルの前にある要素を返します。 |
first ( Int ) |
リストから最初の n 個の要素までを返します。 |
last ( Int ) |
リストから最後の n 個の要素までを返します。 |
reverse ( Boolean ) |
対象となるリストの順序を逆にします。デフォルト値:false
|
sortKey ( AppSubscriptionSortKeys ) |
指定されたキーで基礎となるリストをソートします。デフォルトの値は CREATED_AT
|
AppPurchaseOneTimeConnection!)
oneTimePurchases (ショップへの一回限りの購入
引数 | 説明 |
---|---|
after ( [String] (https://shopify.dev/api/admin/graphql/reference/scalar#string-2021-07) ) |
指定されたカーソルの後にある要素を返します。 |
AppRevenueAttributionRecordConnection!)
revenueAttributionRecords (アプリの外部から獲得した収益を追跡するレコードです。このレコードは、収益の帰属を目的として使用されます。
引数 | 説明 |
---|---|
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 が返すタイプ
- App.installation
- QueryRoot.appInstallation
- QueryRoot.appInstallations
- QueryRoot.currentAppInstallation
Implements
非推奨のフィールド値
フィールド値 | 説明 | 非推奨の警告 |
---|---|---|
channel (Channel ) |
インストールされたアプリケーションに関連するチャネル。 | 代わりに publication を使用してください |
subscriptions ([AppSubscription! ]!) |
サブスクリプションは、ショップに定期的に課金します。 | 代わりに activeSubscriptions を使用してください。 |
サンプル
{
app {
title
}
}
取得したコードは以下のようになります
{
"data": {
"app": {
"title": "development-token"
}
},
"extensions": {
"cost": {
"requestedQueryCost": 1,
"actualQueryCost": 1,
"throttleStatus": {
"maximumAvailable": 1000,
"currentlyAvailable": 999,
"restoreRate": 50
}
}
}
}
object
FailedRequirement アプリをインストールする前に満たさなければならない条件。
フィールド値
フィールド値 | 説明 |
---|---|
action (NavigationItem ) |
失敗した要件を解決するために取るべきアクション(URL リンクを含む)。 |
message (String! ) |
マーチャントに表示される簡潔なコピー文字列で、ショップとそのリソースを利用しようとしたときにアプリが遭遇する問題を解決するためのガイドとなります。 |
FailedRequirement の返すタイプ
object
Link フィールド値
フィールド値 | 説明 |
---|---|
label (String! ) |
リンクのための文脈依存のラベルです。 |
translations ([PublishedTranslation! ]!) |
リソースに関連する翻訳。 引数に locale ( String! ) 必須です。 翻訳のロケールをフィルタリングします。 |
url (URL! ) |
リンクがアクセスする URL |
Link を返すタイプ
Implements
ProductResourceFeedback object
Sales Channel または Storefront API の製品のステータスを報告します。これには、製品が販売チャネルで利用できない理由や、マーチャントがこれを修正する方法が含まれます。
フィールド値
フィールド値 | 説明 |
---|---|
feedbackGeneratedAt (DateTime! ) |
フィードバックが生成された時間。入力されたフィードバックが既存のフィードバックに比べて古いかどうかを判断するために使用されます。 |
messages ([String! ]!) |
マーチャントに提示されたフィードバックメッセージ。 |
productId (ID! ) |
フィードバックに関連する製品の ID。 |
productUpdatedAt (DateTime! ) |
フィードバックに関連付けられた製品のタイムスタンプ。 |
state (ResourceFeedbackState! ) |
フィードバックの状態と、マーチャントアクションが必要かどうかを伝える。 |
ProductResourceFeedback を返すタイプ
object
Publication パブリケーションとは、アプリに公開されている製品やコレクションのグループです。 ### コネクション
ResourcePublicationConnection!)
collectionPublicationsV3 (出版物に掲載されているコレクションのリストのためのコレクション出版物です。
引数 | 説明 |
---|---|
after ( String ) |
指定されたカーソルの後にある要素を返します。 |
before ( String ) |
指定されたカーソルの前にある要素を返します。 |
first ( Int ) |
リストから最初の n 個の要素までを返します。 |
last ( Int ) |
リストから最後の n 個の要素までを返します。 |
reverse ( Boolean ) |
対象となるリストの順序を逆にします。デフォルト値:false
|
CollectionConnection!)
collections (出版物に掲載されたコレクションのリストです。
引数 | 説明 |
---|---|
after ( String ) |
指定されたカーソルの後にある要素を返します。 |
'before' ( String ) | 指定されたカーソルの前にある要素を返します。 |
first ( Int ) | リストから最初の n 個の要素までを返します。 |
last ( Int ) | リストから最後の n 個の要素までを返します。 |
reverse ( Boolean ) | 対象となるリストの順序を逆にします。デフォルト値:false
|
ResourcePublicationConnection!)
productPublicationsV3 (出版物に掲載されている製品のリストの製品出版物です。
引数 | 説明 |
---|---|
after ( String ) |
指定されたカーソルの後にある要素を返します。 |
before ( String ) |
指定されたカーソルの前にある要素を返します。 |
first ( Int ) |
リストから最初の n 個の要素までを返します。 |
last ( Int ) |
リストから最後の n 個の要素までを返します。 |
reverse ( Boolean ) |
対象となるリストの順序を逆にします。デフォルト値:false
|
ProductConnection!
)
products (出版物に掲載されている製品のリストです。
引数 | 説明 |
---|---|
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 が返すタイプ
AppInstallation.publication
Collection.unpublishedPublications
CollectionPublication.publication
Order.publication
Product.unpublishedPublications
QueryRoot.publication
QueryRoot.publications
ResourcePublication.publication
ResourcePublicationV2.publication
Implements
サンプル
{
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
}
}
}
}
object
ResourceFeedback リソースに関するアプリからのフィードバックや、ショップにアプリを設置するために必要な手順を表します。
フィールド値
フィールド値 | 説明 |
---|---|
details ([AppFeedback! ]!) |
リソースに関する問題を詳述する AppFeedback のリスト。 |
summary (String! ) |
リソースに関するフィードバックの概要 |
ResourceFeedback が返すタイプ
MUTATION
MUTATION
bulkProductResourceFeedbackCreate 複数の製品のプロダクトフィードバックを作成します。
インタラクティブな例
これは、Mutation クエリの例です。このクエリを編集するには、下に埋め込まれたインタラクティブツールを使用してください。
ヒント:フィールドを自動補完するには、Ctrl
+ Space
を使用してください。
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
Input
ProductResourceFeedbackInput 製品のフィードバックを作成するための入力フィールドです。
Input フィールド
フィールド値 | 説明 |
---|---|
eedbackGeneratedAt (DateTime! ) 必須
|
ペイロードが構築された日付と時刻。受信したフィードバックが、すでに受信したフィードバックと比較して古いかどうか、また、到着時に無視すべきかどうかを判断するために使用されます。 |
messages ([ String!] ) |
マーチャントに表示されるコピー文字列の簡潔なセット。マーチャントの製品を利用しようとしたときにアプリが遭遇する問題を解決するために使用します。 |
productId (ID! ) 必須
|
フィードバックが作成された製品の ID です。 |
productUpdatedAt (DateTime! ) 必須
|
フィードバックに関連付けられた製品のタイムスタンプ。 |
state (ResourceFeedbackState! ) 必須
|
マーチャントが製品に対してアクションを起こす必要があるかどうか。 |
ENUMS
ENUMS
AppDeveloperType 考えられるアプリ開発者のタイプ
Values
- MERCHANT
アプリ開発者がマーチャントのために直接働いていることを示します。 - PARTNER
アプリ開発者がパートナーであることを示す。 - SHOPIFY
アプリ開発者が Shopify であることを示す。 - UNKNOWN
アプリの開発者が不明であることを示す。他の開発者タイプには分類されていません。
AppDeveloperType が返すタイプ
ENUMS
AppInstallationCategory アプリのインストールで考えられるカテゴリー
Values
- CHANNEL
販売チャネルのアプリ。 - POS_EMBEDDED
POS モバイルクライアントで使用可能なアプリ。
AppDeveloperType が返すタイプ
ENUMS
AppInstallationPrivacy アプリのインストール時に考えられるプライバシーの種類
Values
- PRIVATE
- PUBLIC
ENUMS
AppInstallationSortKeys AppInstallation クエリの有効なソート・キーのセットです。
Values
- APP_TITLE
app_title
の値でソートします。 - ID
id
の値でソートします。 - INSTALLED_AT
installed_at
の値でソートします。 - RELEVANCE
検索時(接続時にquery
パラメータが指定されている場合)に、検索語との関連性で結果をソートします。検索クエリが指定されていない場合、このソートキーは決定性がないため、使用しないでください。
ENUMS
AppPublicCategory アプリの公開用カテゴリです
Values
- CUSTOM
アプリの公開カテゴリは「Custom」です。 - OTHER
アプリの公開カテゴリは「その他」です。他のアプリタイプに分類されないアプリは、このカテゴリーに入ります。 - OTHER
アプリの公開カテゴリはPrivateです。 - PUBLIC
アプリの公開カテゴリはPublicです。
AppPublicCategory が返すタイプ
ENUMS
ResourceFeedbackState リソースのフィードバックの状態です。
Values
- ACCEPTED
マーチャントからのアクションは必要ありません。 - REQUIRES_ACTION
マーチャントは、リソースの問題を解決する必要があります。
ResourceFeedbackState が返すタイプ
Shopify アプリのご紹介
Shopify アプリである、「商品ページ発売予告アプリ | リテリア Coming Soon」は、商品ページを買えない状態のまま、発売日時の予告をすることができるアプリです。Shopify で Coming Soon 機能を実現することができます。
Shopify アプリである、「らくらく日本語フォント設定|リテリア Font Picker」は、ノーコードで日本語フォントを使用できるアプリです。日本語フォントを導入することでブランドを演出することができます。
Discussion