How to Use Shopify Webhooks
「注文が入ったことにすぐ気づきたい」「在庫が変わったら自動で外部システムに反映したい」「顧客情報の変更をリアルタイムで把握したい」
EC運営をしていると、Shopify上で起きたイベントを すぐに 別のシステムへ伝えたい場面が頻繁にあります。わたし自身、以前Shopifyストアの立ち上げに関わっていたとき、注文データを基幹システムに手動で転記する作業にかなりの時間を取られていました。
そこで活躍するのが Webhook(ウェブフック) です。
この記事では、Shopify Webhookの基本的な仕組みから設定方法、よく使うトピック、運用時の注意点まで、実務で使えるレベルでわかりやすく解説します。
Webhookとは何か
- Webhook(ウェブフック)
あるシステムで特定のイベントが発生したとき、事前に登録したURLへ自動的にHTTPリクエスト(主にPOST)を送る仕組み。APIのように「こちらから問い合わせる」のではなく、「向こうから教えてくれる」プッシュ型の通信方式です。
たとえば、お客様が注文を完了した瞬間に、Shopifyが「注文が入りました」というデータを指定のURLへ自動送信してくれます。受け取る側のシステムでそのデータを処理すれば、在庫の同期、メールの送信、Slackへの通知など、さまざまな後続処理を自動化できます。
ポイントは ポーリング(定期的にデータを取りに行く方式)が不要になること です。APIで定期的に「新しい注文ありますか?」と問い合わせるやり方だと、サーバーへの負荷もかかるし、リアルタイム性にも限界があります。Webhookなら、イベントが起きたタイミングで即座にデータが届きます。
Webhookの設定方法
Shopify Webhookの設定方法は大きく2つあります。
- 01
管理画面から設定(ノーコード)
Shopify管理画面の「設定 → 通知 → Webhook」から、イベント(トピック)と送信先URLを登録するだけ。コードを書かずにすぐ始められるので、テストや簡易連携に最適です。
- 02
APIから設定(開発者向け)
GraphQL Admin APIの
webhookSubscriptionCreateミューテーションを使って、プログラム上でWebhookを登録します。アプリ開発やカスタム連携で本格的に使う場合はこちらが主流です。配信方式もHTTPS、Google Pub/Sub、Amazon EventBridgeから選べます。
出典:Shopify公式ドキュメント - About webhooks
まずは管理画面からテスト用のWebhookを1つ作ってみるのがおすすめです。RequestBinなどの無料ツールでエンドポイントを用意すれば、実際にどんなJSONデータが届くのかをすぐに確認できます。
よく使うWebhookトピック
Shopifyには50以上のWebhookトピックがありますが、EC運営で特によく使うものを整理しました。
出典:Shopify公式ドキュメント - WebhookSubscriptionTopic
実践ユースケース3選
ここからは、わたしが実際に現場で使って便利だと感じたWebhook活用例を紹介します。
1. 注文データを外部システムへ自動連携
- 1
Webhookを登録
トピック
orders/createで、受信用エンドポイントのURLを設定 - 2
データを受信・パース
Shopifyから届くJSONペイロード(注文番号、商品情報、顧客情報、金額など)を受信側で処理
- 3
後続処理を実行
基幹システムへの登録、会計ソフトへの売上記録、Slackへの通知など、必要なアクションを自動実行
これだけで、注文が入るたびに手動で転記していた作業がゼロになります。ヒューマンエラーも防げるので、運用負荷の軽減効果は想像以上です。
2. 在庫のリアルタイム同期
複数の販売チャネル(自社EC、Amazon、実店舗POSなど)を運営している場合、在庫の同期は最重要課題です。inventory_levels/update のWebhookを使えば、Shopifyで在庫が変動した瞬間に他チャネルへ反映でき、在庫の売り越し(オーバーセル)を防止できます。
3. 顧客データのCRM自動連携
customers/create と customers/update を組み合わせれば、Shopify上の顧客情報をCRM(HubSpotやSalesforceなど)へリアルタイムに同期できます。新規登録時にウェルカムメールのトリガーを仕込んだり、顧客属性の変更を即座に反映したりと、マーケティング施策のスピードが上がります。
運用時の注意点
Shopifyは各Webhookリクエストのヘッダーに X-Shopify-Hmac-SHA256 というHMAC署名を付与しています。受信側では必ずこの署名を検証し、正当なリクエストかどうかを確認してください。検証を省略すると、第三者からの偽リクエストを処理してしまうリスクがあります。
Shopifyは配信の信頼性を担保するため、同じWebhookを複数回送信することがあります。受信側では注文IDなどをキーにして重複処理を防ぐ設計(冪等性の確保)が必須です。
Shopifyはエンドポイントからのレスポンスを5秒間待ちます。タイムアウトすると失敗扱いになり、連続で失敗するとWebhookが自動削除される場合があります。重い処理はキューに入れて非同期で実行し、まず200レスポンスを返すのが鉄則です。
Webhookペイロードの内容はAPIバージョンによって変わることがあります。2025年以降、顧客Webhookからいくつかのフィールド(tags、email_marketing_consentなど)が削除されています。四半期ごとにリリースノートを確認し、使用中のバージョンが非推奨になる前に対応しましょう。
出典:Shopify公式ドキュメント - APIバージョニング
Webhook vs Shopify Flow。使い分けの考え方
- Shopify内で完結する自動化(タグ付け、通知、在庫非公開など)→ Shopify Flow が手軽
- 外部システムとのデータ連携が必要(基幹システム、CRM、独自アプリ)→ Webhook が最適
- ノーコードで素早く設定したい → Shopify Flow から始める
- 細かいデータ加工やカスタムロジックが必要 → Webhook +自前のサーバー処理
両方を組み合わせるケースも多いです。たとえば、Shopify FlowのHTTP Requestアクション(Growプラン以上)を使えば、Flow内から外部のWebhookエンドポイントへリクエストを送ることもできます。用途に応じて使い分けてみてください。
Shopify Flowの詳しい使い方は → Shopify Flowで業務を自動化する方法 で解説しています。
まとめ
Shopify Webhookは、ストアで起きたイベントをリアルタイムで外部に伝える仕組みです。注文、在庫、顧客といった重要データの連携を自動化することで、手作業によるミスや遅延を大幅に削減できます。
まずは管理画面からテスト用のWebhookを1つ作って、どんなデータが届くのか体験してみるのがおすすめです。仕組みを理解してしまえば、業務の自動化アイデアがどんどん広がっていくはずです。


Shopify予約アプリ
まるっと予約
無料プランあり・日本語サポート
Shopifyストア構築もお任せください
「自分でShopifyを設定するのは不安」という方に、アプリ開発者本人がShopifyストア構築+まるっと予約の導入をまるごとサポートいたします。


