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]]に書きます。topicsとuri(自サーバーのパス、または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ストア内で複数の処理が同時に走ると当たります。
※ ShopifyはShopify Inc.の商標です。本サイトは個人が制作した非公式の学習教材であり、同社の承認・提携・後援を受けていません。記載内容は2026-09時点のものです。料金・上限値・管理画面のラベルは変わるため、作業の前に公式ドキュメントで確認してください。