端末からの購入かどうか判別したい

APIを使ってショッピングカートを作っています。

購入があった場合は

https://ショップのURL/cart.phpで

batchRetrieveInventoryCountsで在庫数を取得し、

在庫が0だった場合はBatchRetrieveCatalogObjectsRequestで

ダッシュボードで登録したsoldoutというカスタム属性を1にすることで商品ページに

"売切れ"と表示しています。

 

店舗に置いた端末からの購入ではAPIが使えないので、

ダッシュボードで

Webhooksのinventory.count.updatedというイベントにチェックを入れて、

在庫が減った場合は

https://ショップのURL/inventory.phpというURLにJSONデータを送って

ショッピングカートと同じように

batchRetrieveInventoryCountsとBatchRetrieveCatalogObjectsRequestで

"売切れ"と表示しています。

 

ここで問題があって、

ショッピングカートでの購入の場合、

https://ショップのURL/cart.phpでの処理と同時に

inventory.count.updatedのイベントも発生して

https://ショップのURL/inventory.phpでも同じ処理を行うので

同じ処理を2回やってしまうことになるのです。

 

端末からinventory.count.updatedイベントで

https://ショップのURL/inventory.phpにデータを送った場合、

それが端末での購入だと判別することはできるのでしょうか。

それができればinventory.phpではショッピングカートでの購入の場合は処理を中止して

同じ処理を2回やるのを防ぐことができます。

Orderオブジェクトのsourceという属性に

The name used to identify the place (physical or digital) that an order originates.

とあり、これが取得できれば端末での購入かどうか判別できるのかと思ったのですが。

どうぞよろしくお願いします。

 

 

 

 

129件の閲覧回数
メッセージ1/2
不適切なコンテンツを報告
1 返信

@doucatty さん、ご質問ありがとうございます。

 

大変恐れ入りますが、詳細な内容を含んだご質問となるため、お手数ですが英語で開発者サポートまでお問い合わせ下さい。

また、他のAPI利用者から回答が得られやすい、開発者用コミュニティもご活用ください:Square Developer Forum

 

開発者向けリソース・サポート

間宮 −Mamiya
Square コミュニティ管理者
解決策や有用な回答には、ログイン して ベストアンサーとしてマークをクリックしましょう!
32件の閲覧回数
メッセージ2/2
不適切なコンテンツを報告