- RSS フィードを購読する
- トピックを新着としてマーク
- トピックを既読としてマーク
- このスレッドを現在のユーザーにフロートします
- ブックマーク
- 購読
- 印刷用ページ
端末からの購入かどうか判別したい
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.
とあり、これが取得できれば端末での購入かどうか判別できるのかと思ったのですが。
どうぞよろしくお願いします。
- 新着としてマーク
- ブックマーク
- 購読
- RSS フィードを購読する
- ハイライト
- 印刷
- 不適切なコンテンツを報告
- RSS フィードを購読する
- トピックを新着としてマーク
- トピックを既読としてマーク
- このスレッドを現在のユーザーにフロートします
- ブックマーク
- 購読
- 印刷用ページ
@doucatty さん、ご質問ありがとうございます。
大変恐れ入りますが、詳細な内容を含んだご質問となるため、お手数ですが英語で開発者サポートまでお問い合わせ下さい。
また、他のAPI利用者から回答が得られやすい、開発者用コミュニティもご活用ください:Square Developer Forum
Square コミュニティ管理者
解決策や有用な回答には、ログイン して ベストアンサーとしてマークをクリックしましょう!
- 新着としてマーク
- ブックマーク
- 購読
- RSS フィードを購読する
- ハイライト
- 印刷
- 不適切なコンテンツを報告