スマレジ・デベロッパーズ・コミュニティはアーカイブされました。


これまでに投稿いただいた内容は引き続きご覧いただけます。

今後のお問い合わせはこちら

「返品取消」「取消」を行なった際に通知される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で良いのでしょうか・・・?

ベストアンサー

  • March 2021 編集されました 回答済み✓

    @ANLAB_田村

    はじめに、ご指摘いただきました契約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

答え