2022.5.6

2025.3.17

【Shopify】Webhookを活用して購入情報や顧客情報の更新をキャッチ!

【Shopify】Webhookを活用して購入情報や顧客情報の更新をキャッチ!

Shopifyアプリにはほとんどすべてといっても過言ではありませんが、Webhookが実装されています。WebhookはShopifyにおいて非常に重要な役割を果たしており、Webhookが無ければshopifyアプリは完全体と言えないでしょう。

そこで今回はShopifyアプリにおけるWebhookについて解説していきます。また、Webhookを活用して個人情報や顧客情報の更新を自動的にキャッチする方法についても解説していきます。

Shopifyやその他ECの制作・運用・保守について、お気軽にご相談ください。
連絡は問い合わせ・無料相談・無料お見積りよりどうぞ。

そもそもWebhookとは

「Webhookは大事!」と何度も言われていますが、そもそもWebhookについての知見が浅い人が多くいます。

もちろん、Shopifyビジネスを成功させるためにはWebhookの知見が必要です。
ましてやShopifyアプリを自社で開発しようものなら、Webhookの知識はShopifyアプリ開発のプログラミング知見よりも必要になるでしょう。

Webhookとは、あるイベントからデータを自動的に取得して格納しておくためのツールのことを指します。
格納形式は、

  • JSON
  • XML

の2つがあり、「https://URL」の形式で登録することが可能です。

ただ、一般的に格納しておくだけであればWebhookを実装する必要はなく別途外部ツールを活用すれば問題はありません。しかし、ShopifyアプリにはWebhookが必須と言われる理由に「目的」があります。

Webhookの目的とは

Webhookを活用しているEC事業者には一貫して、同じ目的があります。
Shopifyが公表しているWebhookの目的としては、

  • 注文
  • 商品価格の変更
  • IMクライアント・ページャーへの通知
  • データウェアハウジングデータの収集
  • 会計ソフトウェアの導入・統合
  • 注文されたアイテムのフィルタリング
  • 注文先の配送業者への通知
  • 顧客のアプリインストール時、データベースより顧客データを削除する

などがあります。

一般的にWebhookの目的は以上のようなものがあり、これらをするためだけにWebhookを実装する必要があるのです。色々と難しい目的要素が並んでいますが、要は「通知」をするためにWebhookが必要であると認識すれば大丈夫です。

HTTPのPOSTリクエストに応じてWebhookが応答するようになっており、イベントが発生すればPOSTリクエストを介してWebhookからイベント通知がなされます。

条件分岐を設定することもできますので、Webhookを反応させないようにすることも可能です。

Shopifyやその他ECの制作・運用・保守について、お気軽にご相談ください。
連絡は問い合わせ・無料相談・無料お見積りよりどうぞ。

ShopifyにおけるWebhook

さて、これでWebhookの必要性については理解して頂けたかと思います。

ShopifyにおいてもWebhookが必要になるのですが、どういった立ち位置なのでしょうか。基本的な立ち位置として、イベント発生源から理解することができます。

以下をご覧ください。

  • カート
  • チェックアウト
  • コレクション
  • 顧客
  • 顧客グループ
  • 注文
  • 商品
  • ショップ
  • テーマ
  • 下書き注文
  • フルフィルメント
  • 返金

これらのイベント発生源に対してWebhookを設定することができます。

Shopifyではこれらのイベントが定期的に発生しますので、全て手動で対処することは現実的ではありません。Webhookを実装して自動的に対処するのが理想でしょう。

ちなみに、Webhookの通知プロパティは以下のようになっています。

  • id
  • topic
  • address
  • api_version
  • created_at
  • updated_at
  • format
  • filerd
  • metafield_namespaces
  • private_metafield_namespaces

これらの詳細についてはこちらを参照してください。

Webhookの設定をする際の注意点

続いてWebhookの設定方法をご紹介するのですが、その前に抑えておくべき注意点がいくつかあります。
Webhookを設定する際には、いくつか理解しておくべきポイントがありますので1つ1つご紹介します。

タイムアウト時間

Shopifyに限定した話ではありませんが、WebhookのPOSTリクエストの有効時間はたったの5秒です。5秒経過するとタイムアウトしてしまうため、なるべく5秒以内でリクエストの返答しなければなりません。

返答できずにいるとレスポンスが「エラーレスポンス」として処理されてしまいますので、Webhookの活用ができないのです。

SSL化

WebhookのエンドポイントはSSL化しておくことが最低条件です。

後に解説しますが、エンドポイントには様々なイベントコードがありShopify管理画面からそれぞれに対応させる必要があります。

もともとShopifyはSSL化に対応しているため、デフォルトから設定を弄る必要はありません。ただ、Shopify以外のwebサイトへ移行させる場合は自分でSSL化する必要があります。

SSL化は素人が触ってしまうとwebサイト自体が吹き飛んでしまう恐れがありますので、プロに頼むのがいいでしょう。

ヘッダー

Shopify上でWebhookを活用する場合、独自ヘッダーがPOSTに含まれます。

リクエストを受け取る側は、共有カギが付与されますのでMAC値を算出して結果と合致しているかを確認する必要があります。

Shopifyやその他ECの制作・運用・保守について、お気軽にご相談ください。
連絡は問い合わせ・無料相談・無料お見積りよりどうぞ。

ShopifyのWebhook設定方法

では本題のShopifyのWebhook設定方法について解説していきます。
ShopifyのWebhook設定方法は2つありますので、1つ1つ解説していきます。

管理画面からWebhookを設定する

まずはShopify管理画面上からWebhookを設定する方法です。
手順は、

  1. Shopify管理画面を開く
  2. 「設定」→「通知」→「Webhook」をクリック
  3. 「Webhookを作成」をクリック
  4. ドロップダウンに表示されるステータスの中から「イベント」を選択
  5. 2つ目のドロップダウンメニューから「フォーマット」を選択(JSONかXMLか)
  6. データ保存先のURLを入力
  7. 「Webhookを作成」をクリック

でOKです。
後はWebhookが動作するかどうかをテストしてみてください。

APIを活用してのWebhook設定方法

続いて、APIを活用してのWebhook設定方法について解説していきます。

実はShopifyではAPIを活用すれば、Webhookを簡単に設定することができます。ただ、APIに関する知見がある程度必要で全く知見が無い人が1からWebhookを作成することは困難です。できれば、Shopify管理画面上から設定する方法を選んでください。

APIを使って作成する場合は、

  • REST API
  • GraphQL

の2つを利用することができます。
用意されているエンドポイントとしては、

  • GET /webhooks.json
  • GET /webhooks/count.json
  • GET /webhooks/{webhook_id}.json
  • POST /webhooks.json
  • PUT /webhooks/{webhook_id}.json
  • DELETE /webhooks/{webhook_id}.json

の6つです。
これらを活用してWebhookを設定していきます。

Webhookを削除するには

もしShopifyにWebhookが必要なくなった場合、面倒ではありますが手動でWebhookを削除する必要があります。永続的にWebhookをインストールしておくのもいいのですが、データ通知が鳴りやまない可能性があります。

通知に嫌気がさすのであれば、

  • Shopify管理画面を開く
  • 「設定」→「通知」→「Webhook」をクリック
  • Webhookの横のゴミ箱アイコンをクリック
  • 「Webhook」を完全に削除する

でWebhookを削除してしまってください。

Shopifyやその他ECの制作・運用・保守について、お気軽にご相談ください。
連絡は問い合わせ・無料相談・無料お見積りよりどうぞ。

Shopifyの管理画面でWebhookの通知状況を確認する方法

さて、ここまででWebhookを設定することができました。
APIを活用すれば即座にWebhookを設定することができますが、APIの知見が無い方はShopify管理画面から設定することができます。

ここからはShopifyの管理画面でWebhookの通知状況を確認する方法について解説していきます。

Webhookは「通知」のために導入するものであり、しっかりと動作しているかをテストする必要があります。テスト後、実働するわけですがどのように実働しているかを確認しておきましょう。

確認方法は、

  1. Shopify管理画面を開く
  2. 「アプリ管理」→「Webhook配信」をクリック
  3. メトリクスが表示されるので確認する

でOKです。
ここでメトリクスに何かしらの不具合がある場合は、管理画面上から原因を見つけることができます。一概にどんな原因があるのかを明記することは避けますが、ネット上の意見を参考にしつつ原因究明にあたってください。

ちなみに、「失敗した配信率」というデータが表示されている場合は要チェックです。「失敗した配信率」が0.5%を超えている場合は、Webhookの通知が異常をきたしていることを示しています。

別のShopifyアプリへの影響も考えられますので、「失敗した配信率」を0.5%以下に下げる何かしらの施策が必要になります。

Webhookの通知状況の確認に利用できるコードについて

先ほど、管理画面からWebhookの通知状況の確認について解説しました。一般的には先ほどの方法で確認することができますがコードを使って確認することもできます。

コードについてはこちらを参照してください。
このコードを活用して、

  1. RequestBin(外部サービス)を開く
  2. 「Private」→「create a RequestBin」をクリック
  3. URLが自動発行されるのでコピーしてShopify管理画面を開く
  4. 「Webhook」→「Setting」→「Notifications」をクリック
  5. 「Notifications」上で先ほどのURLを貼り付ける
  6. 「send test notification」をクリック
  7. RequestBin(外部サービス)へ戻り、画面をリロードする

でOKです。
これでリクエストの確認が完了しました。

テストWebhookのカスタマイズ方法

Webhookのコードを発行して設定が完了した後は、Webhookのテストを行う必要があります。

しかし、初めからテストが完璧にこなせることはありません。どこかしら不具合を抱えていることがありますので以下の手順でWebhookのカスタマイズを完了させてください。

  • Shopify管理画面を開く
  • 「アプリ管理」→「プライベートアプリを管理する」→「新しいプライベートアプリを作成する」をクリック
  • 「商品管理」→「読み取り及び書き込み」をクリック
  • コードを該当する箇所へ貼り付ける ▶コードの解説

でOKです。

後は10秒間待ってからページをリロードしてください。
しっかりと「確認中」のタグが表示されていることを確認できればWebhookのテストは完了です。

Shopifyやその他ECの制作・運用・保守について、お気軽にご相談ください。
連絡は問い合わせ・無料相談・無料お見積りよりどうぞ。

Webhookのバージョン更新を行う方法

では最後にWebhookのバージョン更新を行う方法をご紹介します。

Webhookでは3ヶ月位に1回のスピードで最新版が提供されています。このサイクルは崩れたことはありませんが、毎回手動でバージョンアップを行うことはあまりおすすめできた方法ではありません。

ではWebhookのバージョン更新を行う方法を3つご紹介します。

Shopify公開アプリからバージョンを更新する

一番簡単で一番ベーシックな更新方法になります。
手順は、

  • Shopify管理画面を開く
  • 「アプリ管理」→「Webhook」→「アプリ設定」をクリック
  • 「イベントサブスクリプション」→「イベントバージョン」をクリック

でOKです。
これで手動で最新版へ移行することができました。

ちなみに常に最新版だった場合、「イベントバージョン」がグレーアウトしています。

GDPRへの対応が必須

後に2つのバージョン更新方法をご紹介しますが、公開アプリではGDPRへの対応が必須となっています。GDPRとは「The General Data Protection Regulation」の頭文字をとったものであり個人情報を収集したり保存・管理するための規則のことを指します。

このGDPRに遵守していないShopifyストアは軒並み凍結された過去がありますので、GDPRへの対応は必須と言えます。ちなみに、Shopifyストア運営者だけでなくShopifyアプリ開発者もGDPRに遵守する必要がありますので留意してください。

WebhookでのGDPR対応方法としては、

  • customers/redact
  • shop/redact
  • customers/data_request

の3つのイベントが必要です。
手順は、

  • Shopifyストアを介した顧客がShopifyストア運営者に対してデータの開示請求をする
  • Shopifyから「customers/data_request」を介してWebhookへ通知がいく
  • 200番のレスポンスが返される
  • IDで指定してリソース保存を完了させている場合、Shopifyストア運営者に対してデータを直接提供する
  • Shopifyストア運営者は顧客に対してデータを全て開示する

となっています。
ややこしい場合は、Shopifyヘルプサービスへ問い合わせをして代行してもらいましょう。

Shopifyプライベートアプリからバージョンを更新する

先ほどは公開アプリからの更新方法でしたが、Shopifyプライベートアプリからバージョンを更新することもできます。

手順は、

  • Shopify管理画面を開く
  • 「アプリ管理」→「プライベートアプリを管理する」をクリック
  • 「Webhook」→「Webhook API」→「バージョン」をクリック
  • 最新バージョンをクリックし「保存する」をクリック

でOKです。
これでShopifyプライベートアプリからバージョンを更新することができました。

Shopifyストアからバージョンを更新する

実はアプリ画面を開くことなくWebhookのバージョンを更新することができます。
Shopifyストアからバージョンを更新するには、

  • Shopify管理画面を開く
  • 「設定」→「通知」→「Webhook」をクリック
  • 「イベント」をクリックし、イベントごとのバージョンを更新する

でOKです。
Shopifyストアからのバージョン更新は手軽ですのでおすすめします。

Shopifyやその他ECの制作・運用・保守について、お気軽にご相談ください。
連絡は問い合わせ・無料相談・無料お見積りよりどうぞ。

まとめ

今回はShopifyアプリには欠かせないWebhookについて見ていきました。

Shopifyアプリ開発者はWebhookを欠かすことはできませんし、Shopifyストア運営者もなるべくWebhookを活用したほうがいいです。また、Webhookも例外なくGDPRに準拠しておく必要があります。

GDPRはShopifyのみならず他のECサイトでも適用される規則になっています。Webhookを活用して外部サービスからShopifyストアのデータを同期すること自体は簡単ですが、その設定方法がややこしいと言われています。この記事を参照してWebhookの設定を完了させてください。

ちなみに、Shopify公式HPにはWebhookに関する情報が記載されています。もしわからなくなった場合は、HPを参照してみてください。カスタマーサービスも活用しつつ設定を遂行しましょう!

掲載情報は記事執筆・更新日時点のものです。最新情報とは異なる可能性がありますのでご了承下さい。

Shopify制作のお見積もり・ご相談

お見積り依頼やお困りごとがある場合は、以下のお問い合わせフォームをご利用ください。
また、初めてのお取組みで不安のある方などもご不明点などはお気軽にご連絡ください。

会社名

※個人事業主の場合は個人事業名を記載ください
氏名
電話番号
メールアドレス
予算
ご相談内容
添付ファイル
ファイルを選択
ファイルサイズの上限は5MBです
×
×
×
×
×

弊社のプライバシーポリシーに同意いただいた上で、ご相談ください。


よくある質問
Q.

Webhookとは何ですか?

A.

Webhookとは、あるイベントからデータを自動的に取得して格納しておくためのツールのことを指します。
格納形式は、
・JSON
・XML
の2つがあり、「https://URL」の形式で登録することが可能です。

Q.

Webhookの目的は何ですか?

A.

Shopifyが公表しているWebhookの目的としては、
・注文
・商品価格の変更
・IMクライアント・ページャーへの通知
・データウェアハウジングデータの収集
・会計ソフトウェアの導入・統合
・注文されたアイテムのフィルタリング
・注文先の配送業者への通知
・顧客のアプリインストール時、データベースより顧客データを削除する
などがあります。

Q.

Shopifyの管理画面からWebhookを設定するにはどうしたら良いですか?

A.

Shopifyの管理画面からWebhookを設定するには以下の手順で設定を行う必要があります。

1.Shopify管理画面を開く
2.「設定」→「通知」→「Webhook」をクリック
3.「Webhookを作成」をクリック
4.ドロップダウンに表示されるステータスの中から「イベント」を選択
5.2つ目のドロップダウンメニューから「フォーマット」を選択(JSONかXMLか)
6.データ保存先のURLを入力
7.「Webhookを作成」をクリック



監修者
片岡弘一
片岡弘一

shopi labメディア運営統括・クリエイティブディレクター ウェブ・コロ株式会社 代表取締役

Web/SNSマーケティング、EC集客のスペシャリスト。
「ECから未来市場を共創する」をスローガンに、年間600件以上の相談実績のあるEC構築サービス「Shopi Lab」の共同事業責任者。
前職では某Web制作ベンチャー企業に就職し、Webマーケティング部門を立ち上げ事業部長として就任。
その後、独立し当時はWeb制作、Webマーケティングをメイン事業としていたが、コロナの時期より広告関連の売上が下がり、Shopify含むEC事業に事業転換。
顧客の成功を共に考えるEC事業のスペシャリストとして、EC制作だけでなく、伴走支援サービスとしてECコンサルティング、PR、広告、CRM、MAなどEC集客を網羅できる知見をもつ。
Shopify/D2C/EC専門メディアの運営から得た知見を活かし、最新情報を含む多くのEC運営ノウハウを提供することが可能。

この監修者の記事一覧 この監修者のウェビナー一覧
完全
無料

相談実績1,500件突破!!

Shopi Lab(ショピラボ)

Shopi Labをご覧のみなさまへ

Shopi Lab(ショピラボ)では、Shopifyのアプリや構築制作方法、運用マーケティング手段についてはもちろん、自社のECサイトを構築・運用する上で必要な情報を紹介しております。現在日本では開発業者の数が少ないため、検索しても役立つ情報が少ないことが現状です。そのためShopi Lab(ショピラボ)では、今後Shopifyの導入を検討している企業担当者様へ向けて、正確な役立つ情報を発信して行くことを心掛けております。 企業担当者様については、Shopify導入に対してご不明点や懸念事項がございましたら、お問い合わせ窓口よりお気軽にお問い合わせください。 また他カートをご利用中でShopifyへの乗り換えをご検討中の企業様についても、ご支援が可能でございます。世界シェアNo.1のECプラットフォームが日本で展開を初めて5年が経ちましたが、Shopi Lab(ショピラボ)ではさらにShopifyの魅力を発信していきます。