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:layaways
でcanceled
もwebhook送信されているかと思います。打消した取り置き内容をご確認したい場合は、
canceled
で送信されているid
を使って取置取得APIにて取得いただけます。よろしくお願いいたします。