Liquid、JavaScriptなどに関する質問
storefrontAPIを利用しフロント開発を行っております。
ユーザーが購入した際、購入金額のチェックや通知を届けるためにwebhookを利用しています。
応答が8時間ほど遅れたことがあり障害かと思ったのですが
Communityでのやりとりを調べてみたところ、webhookの応答時間が保証されていないという投稿がありました。
「webhookに頼る設計とすべきではない」ということのようなのですが
Checkoutの状態を定期的に見に行く方法など、ユーザーの購入を検知する実装方法は他にあるのでしょうか?
以下参考とした投稿です
https://community.shopify.com/c/technical-q-a/delayed-webhooks/td-p/1505654
Shopifyのアプリ開発に詳しい方からの回答をお待ちいただいた方が良いかと思いますが、
思いついた方法があったので、念のためお知らせいたします。
Shopifyの月額が上がってしまいますが、
Shopifyのスタンダードプランか、プレミアムプランを契約して、
Shopify Flowを使用すれば実現できるかもしれません。
Shopify Flow
https://help.shopify.com/ja/manual/shopify-flow
Shopify上のイベントをトリガーにしたアウトプットが可能になります。
アウトプット先として、アプリを指定することも可能です。
こちらのページにアプリにShopify Flowを追加する方法が簡単にですが記載されています。
https://shopify.dev/apps/flow#build-a-connector
また、
外部サービスへのHTTP WebHook呼び出しを行うこともできます。
https://help.shopify.com/ja/manual/shopify-flow/reference/actions
私自身は開発したアプリやWebhookとの連携は試しておりませんが、
商品在庫が0になった時に、指定のアドレスに通知を飛ばすFlowを組んでいます。
印象で恐縮なのですが、
商品購入と在庫0通知のタイミングに大きな遅れを感じたことはありません。
しかし、あくまで印象なので、もしかしたら、
Shopify Flowでも遅れが発生することがあるかもしれませんので、
あくまで1つのアイデアとしてお気に留めていただければと思います。
ご参考まで。
(キュー田辺)
@Qcoltd さま
ご回答ありがとうございます!
Shopify Flowというものがあるのですね。選択肢のひとつとして大変参考になります!
ベーシックプランでの利用を考えているので、他にも方法が無いか探してみます。
APIを見た感じだと一定時間ポーリングで顧客情報中のOrder情報を見に行くしか無いかな・・と思っているところです。
いつもShopifyをご利用いただき、ありがとうございます。 Shopifyは、皆様の日本語での利用体験の向上に努めております。さらなる改善のために皆様のご意見をお寄せい...
By JasonH May 9, 2025Shopify アカデミーの学習パスと認定スキルバッジExpanding Your Shopify Business Internationallyを活用して、国際的にビジネ...
By Shopify Feb 7, 2025Shopify アカデミーの学習パスB2B on Shopify:立ち上げとカスタマイズで卸売販売に進出しましょう。これら3つの無料コースは、ShopifyストアでB2B機能...
By Shopify Jan 31, 2025