← inaro.devShopify学習ツール
17-05

Admin APIをアプリから呼ぶ

アプリからAdmin APIを叩き、Webhookを購読して処理できる

最終確認: 2026-09

解説

受託の現場でなぜ必要か: この回では、アプリからAdmin APIを呼び、Webhook(Shopifyからの通知)を購読して処理できるようになります。
受託では、受け口で重い処理をしないこと、コンプライアンスWebhookを忘れないことが、こちらの責任になります。

admin.graphql()でAdmin APIを呼ぶ

アプリの本体がやる仕事は「Admin APIを呼ぶ」と「Webhookを受ける」の2つです。
authenticate.adminが返すクライアントでクエリを実行し、await response.json()で結果を受け取ります。
Admin APIのクエリがそのまま使えます。

Webhookはどこで宣言し、どう受けるのか

購読はTOMLの[[webhooks.subscriptions]]に書きます。
topicsuri(自サーバーのパス、またはPub/Sub / EventBridge)を書き、shopify app deployで登録されます。
受け口ではauthenticate.webhook(request)HMAC検証(本当にShopifyからの通知かの確認)まで行います(失敗なら401)。

コンプライアンスWebhookは省略できない

customers/data_request / customers/redact / shop/redactの3つは公開アプリで必須です。
カスタムアプリでも実装しておくと、後で公開に転用でき、個人情報の扱いも整理されます。
30日以内に対応します。

発展:応答は即時、処理は非同期

Webhookの中でAdmin APIを大量に叩きません。
ジョブキューに積んで、別プロセスで処理します。
レート制限はアプリ×ストア単位です。
1ストアで制限に当たっても他ストアには影響しませんが、1ストア内で複数の処理が同時に走ると当たります。

ステップ1 / 2

ShopifyはShopify Inc.の商標です。本サイトは個人が制作した非公式の学習教材であり、同社の承認・提携・後援を受けていません。記載内容は2026-09時点のものです。料金・上限値・管理画面のラベルは変わるため、作業の前に公式ドキュメントで確認してください。