シームレスなストア環境を構築。Shopify X Amazon間のデータ連携方法【前編】

Shopifyの商品データをAmazonに連携する方法について前後編で解説。

シームレスなストア環境を構築。Shopify X Amazon間のデータ連携方法【前編】

01/14/2020

こんにちは、所長の下田です。今回はShopify x Amazon連携に関してまとめていきます。

商品データ連携、注文データ連携、在庫データ連携、配送データ連携をカバーしていきます。本日はまず、Shopifyの商品情報をAmazonにプッシュする方法をカバーします。

長くなるので2部に分けました。まずは、前半を公開します。前半ではShopifyで商品情報が更新された際にWebhookで受け取るところから始まります。 下記がイメージです。

image.png

事前に準備するもの

  • Shopifyアカウント
  • Amazon MWS アカウント
  • Azure アカウント
  • Visual Studio

ShopifyのWebhookを受け取る

まずはShopify上で商品情報に変更がある際にWebhookで更新された内容を探知します。

そのためにAzure Functionsを用意します。Azure Functionsの用意に関しては下記を参照ください。
https://qiita.com/syantien/items/ab62db3b5ccec230db4e

Webhookに関してはShopifyにあるこちらのドキュメントをベースに進めていきます
https://help.shopify.com/en/api/getting-started/webhooks

 

ShopifyでWebhookの購読を設定

メニュー右下の「設定」をクリック、設定メニューの「通知」をクリックしてください。

Shopify 設定

通知設定画面の一番下部分に「Webhookを作成」ボタンがあるのでクリック。

image.png

次にWebhookの内容を選択し、それを受信するURLを入力します。
今回は商品の更新がある度にAmazonでも該当する商品の更新を行うので「商品更新」を指定します。

webhook追加

Webhookが作成されると、下記のように表示されます。ここ(①)に表記されるURLが正しいことを確認し、下部分にある文字列(②)を使い、正しいWebhookであることを確認します。

Webhook2

こちらのドキュメントによるとヘッダーで下記の値が渡されるとのことです。

X-Shopify-Topicで正しいトピックか確認、X-Shopify-Hmac-Sha256で②にあった文字列を使いSha256で暗号化された文字列が正しいか確認、X-Shopify-Shop-Domainで対象のストアーであることを確認、X-Shopify-API-VersionでAPIのバージョンを確認してください。

 

Webhookレスポンスクラスの定義

products/createまたはproducts/updateの際のレスポンス型は下記です。



ここで一つ、Visual Studioでのやばいテクニックを紹介。上記のサンプルJsonをコピーします。このJsonファイルのモデルを定義したいクラスファイルを開き、Visual Studioの「編集」→「形式を選択して貼り付け」→JSONクラスとして貼り付けるをクリック。

image.png

クリック後、下記のようなモデルが自動で生成されます。

 

ということで、Shopify Webhook (Product/Create Product/Update)のJsonを受けるC#モデルは上記です。

 

Webhookを受けるFunction

さっそくFunctionもこのデータを受け取るようにします。


ではテストをしてみます。テストは先ほどの管理画面右側から送ることができます。

webhookテスト通知の送信

そして下記がFunctionsのLogになります。

Functions Log

X-Shopify-Hmac-Sha256もちゃんと照合することができました。


次回予告

次はAmzazon API を使って商品情報をプッシュします。



シェア シェア
お役立ち資料バナー-1
Kisukeバナー_grey-1
SHO SHIMODA

お問合せ