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の請求書の支払いが失敗したという通知を受け取って驚いたことはありますか。初めての支払いでエラーが発生したり、これまで何の問題もなく支払いできていたのに突然失敗し...
By Minami_ Sep 8, 20242023年2月、Shopifyはcheckout.liquidを廃止し、Checkout Extensibilityに移行することを発表いたしました。この新しいチェックアウト...
By JasonH Aug 15, 2024「味噌の可能性を、とき放つ」をコンセプトに、豊かな自然に恵まれた信州で味噌の製造販売を行う新田醸造。江戸末期に創業した老舗のみそ屋さんですが、2024年春、顧客層や販売範囲の...
By Minami_ Jul 30, 2024