TransactionとLayawayのWebhookが同一な理由は何故ですか?

現在当社で開発中のアプリでwebookを使用し、スマレジから取引のIDリクエストする際に問題が生じております。

まず、レザベーションの打消取消(diposing)を行った時に、webhookから以下の値が返ってきます:

{"action" => "disposed", "contractId" => "xxxxxxxxxxx", "event" => "pos:transactions", "transactionHeadIds" => ["182"]}

これはリンク先のドキュメント通りです、https://www1.smaregi.dev/apidoc/#operation/webhook-transactions

ですが、結果が "event" => "pos:transactions" ではなく、Layawayになっております。

つまりこの id “182” をTransactionのルートを利用して検索しても結果見つからず:

https://api.smaregi.dev/ {contract ID} / pos / transactions / {id}

(リンク先: https://www1.smaregi.dev/apidoc/#operation/getTransactionId )

その代わりにLayawayのルートで見つかります:

https://api.smaregi.dev/ {Contract ID} / pos / transactions / layaways / {id}

(リンク先: https://www1.smaregi.dev/apidoc/#operation/getLayawayById )

この場合 “event” => “pos:layaway” の Webhook が使われれば良いのですが、現状だと transactionとlayawayが重なってしまっている為、少し困っております。

何か解決策がありましたら教えていただけないでしょうか?

答え

  • @Lunaris

    ご質問ありがとうございます。

    こちらの仕様ですが、弊社の考慮漏れの可能性があり、この調査にお時間を頂いております。

    回答は今しばらくお待ち下さいませ。

  • @Lunaris

    お時間頂戴しており大変申し訳ございません。

    disposedのアクションがpos:transactionsで送信されている件について、今しばらくお待ちいただけたらと思います。


    なお、取置を打消した場合、pos:layawayscanceledもwebhook送信されているかと思います。

    打消した取り置き内容をご確認したい場合は、canceledで送信されているidを使って取置取得APIにて取得いただけます。


    よろしくお願いいたします。