「返品取消」「取消」を行なった際に通知されるwebhookの内容について
過去のデスカッションで、以下のような記述を見かけました。
> スマレジ の取引の取消操作には「取消」と「返品取消」の二つの概念があります。
> ・取消 :その取引を無かったことにする。打消レコードは作成されない。(打ち間違いなどに使用)
> ・返品取消:ある取引を打ち消す返品取引を作成する。(返品処理時などに使用)
これを踏まえたうえでの質問なのですが、「返品取消」を行なった場合、弊社サーバに飛んでくるWebhookの内容はどうなりますでしょうか。
なお、質問の前提として、↓のリファレンスを見ています。
https://www1.smaregi.dev/apidoc/#operation/webhook-transactions
まず、
"Smaregi-Event" / "event" : "pos:transactions"
"contactId" : 「返品取消」を行なったアカウントの契約ID
"transactionHeadIds" : 新しく生成されたレコードの取引ID
ということで合っていますでしょうか。
それと、"action"の部分が分からないので明示的にお伺いしたいのですが、
ここは新たにレコードが生成されるので"created"となりますでしょうか。
あるいは、意味合いが「取消」なので"canceled"となりますでしょうか。
また、レコードが新たに生成されない「取消」の場合も併せてお教えいただけると、比較がしやすいのでありがたいです。
# 実際に試せればよいのですが、まだ机上での検討・設計段階なものですみません。。。
# ちなみにですが、通常使うAPIでは契約IDにcontractという単語を使っていますが、webhookの場合はcontactで良いのでしょうか・・・?
ベストアンサー
-
はじめに、ご指摘いただきました契約IDの表記についてですが、確認しましたところ仕様書の表記ミスでした。
正しくは『contractId』でございます。
誠に申し訳ございません。
※誤っているのは仕様書の表記のみで、実際のリクエストは『contractId』と返しています。
"Smaregi-Event" / "event" : "pos:transactions"
"contactId" : 「返品取消」を行なったアカウントの契約ID
"transactionHeadIds" : 新しく生成されたレコードの取引ID
ということで合っていますでしょうか。
上記につきましてはご認識の通りです。
また、actionにつきましては返品取消の場合は
"action": "disposed"
、取消の場合は"action": "canceled"
となります。以下 取消と返品取消のリクエスト内容なので、ご確認ください。
■取消を行った場合
"contractId":取消を行った契約ID
"event": "pos:transactions"
"action": "canceled"
"transactionHeadIds":取消した取引ID
■返品取消を行った場合
"contractId": 返品取消を行った契約ID
"event": "pos:transactions"
"action": "disposed"
"transactionHeadIds":返品取消をし、新たに作成された取引ID
答え
ご回答ありがとうございます!
とても助かりました。