Shopifyとkintoneを連携させて軽量なMAができる環境を構築している。
Shopifyの購買データをkintoneに連携したり、kintoneで追加した顧客や商品データをShopifyに同期するなどをお互いのAPIを使ってやり取りしている。
Shopifyは顧客や注文のイベントが発生するタイミングでWebhookを発火するので、これを拾ってkintoneに登録する。
ShopifyのWebhookを使っていて一部ナゾ的な動きがあるのでまとめてみる。
- 同一IDのWebhookイベントが複数回発行される
- 1、2分おきに3回ほど同一のWebhook(例えばorder/create)が呼ばれる
- イベントの時系列は保証されない
- order/createが呼ばれてからのorder/paidが呼ばれる、と思っていたがどうやら順不動でくるよう
Shopifyのドキュメントを読むと上記は仕様のようだ。しかも「Webhookの発行自体が保証されないので定期的に不整合ができていないかチェックしてね」とも書いてあった。
ということで、一度テンポラリのWebhook置き場を設けて、そこを定期的に見に行くような仕組みが必要そうになった。
また一定期間でShopifyとkintoneの不整合部分を監視するような仕組みも必要ですね。
DBは増やしたくないので、上記2個ともkintoneのアプリを使ってできないかお試し中。
この辺りのベストプラクティスが知りたい。
Please follow and like us: