Shopify アプリに関する話題はこちら
お世話になります。現在、C#でShofify連携のアプリを開発しております。
担当しているシステムの商品や在庫数をREST APIでShopifyへ登録し、Shopifyの売上をREST APIで担当システムに取り込むことはできました。
但し上記のアプリは担当システム側に配置しているC#アプリから連携をかけるもので、Shopifyの売上をリアルタイムで取り込むものではありません。
(スケジューラーでバッチ起動しているが、リアルタイムな売上連携ではない)
お客様からは、Shopifyで決済が完了した時点でその売り上げを担当システム(DB)に反映してほしいとの要望を受けております。
(Shopify決済完了時にShopify側から、担当システムに売上を連携する)
上記の要望を実現するための方法(どのようなAPIを使用すれば実現できるのか、など)をご教授頂けないでしょうか?
(使用するAPIはREST APIでなくとも構いません。)
Shopify側から連携をかけるにはどうしたらよいのかが分からずに困っております。
初歩的な質問で申し訳ありませんが、どうぞよろしくお願い致します。
Shopify Webhookを利用すると、購入などShopify側で発生したイベントを自身のシステムに通知することが可能です。
通知されたリクエストにイベントの詳細情報(注文完了であればその情報)が格納されています。
詳細は、helpを見ていただければと!!
https://help.shopify.com/ja/manual/orders/notifications/webhooks
すでにバッチを実装されているのであれば、そちらと上記の方のようにWebhookを合わせればほぼリアルタイムになると思います。(Webhook自体は100%の通達は保証されないので、バッチと併用を推奨します)。
あとは、決済完了画面に下記のAPIを使ってJavaScritptを埋め込み、さらにそこからApp proxyを使ってアプリサーバーに完了した注文情報を送信することも可能です。
https://shopify.dev/docs/admin-api/rest/reference/online-store/scripttag?api[version]=2020-07
ご丁寧なご回答、誠にありがとうございます。
なるほど、webhookでは100%の通達が保証されていないのですね。大変参考になります。
今後ともどうぞよろしくお願い致します。
> なるほど、webhookでは100%の通達が保証されていないのですね。大変参考になります。
Webhookの扱いについては、以下のブログでも触れているので参考にしてください。
https://www.shopify.jp/blog/partner-shopify-app-development
100%の保証がないとの明言はしていないですが、単一方向の通信ですので、途中のインターネットの経路の問題などでロストする可能性はあります。
上記では、そのための再送の仕組みについても書いてありますが、逆にいうと、受け取りのレスポンスが受け取れなかった場合は二重送信もあり得ますので、その辺りを考慮した設計が必要かと思います。
重ね重ねありがとうございます。
参考にさせて頂きます。
決済完了ページでScriptTag動くんですね・・・!知りませんでした。ありがとうございます。
ご回答誠にありがとうございます。大変助かります。
教えて頂いた方法で、実装してみようと思います。
誠にありがとうございました。
リエンゲージメントの自動化で売り上げ向上へ!素敵なオンラインストアを作成し、見込み顧客の携帯へ広告を直接に送信する、またはSNSなどで宣伝すると、お客様がストアに行き着...
By Mirai Mar 24, 2024Shopifyは世界で最も革新的なブランドと起業家をサポートしています。個人起業家やあらゆる規模のビジネスの成長を後押しするために、Shopify アカデミーではShopif...
By SarahF_Shopify Mar 22, 2024オンラインストア運営はとてもやりがいのある活動です。新しい注文が入った時の喜びや世界中のお客様とやりとりできる可能性、商品に対して最高のレビューをもらった時の満足感は、毎日の...
By Mina Mar 13, 2024