原因不明の指定されたIDのリソースが見つかりませんエラーが表示される

カテゴリ: POS

pos:transactions イベントをwebhookで受け取っているのですが、指定されたIDのリソースが見つかりませんというエラーが出る場合があります。

取り置きの取引で生じているようで、スマレジの管理画面を見るとデータ自体は削除されず存在していますが、何が理由でしょうか。

答え

  • @Takanashi

    「指定されたIDのリソースが見つかりません」というエラーは、データ参照をしようとした際に、該当のデータが存在しないと発生するエラーとなりますが、

    Webhook(取引)でIDの通知を受け、そのIDを元に「取引取得API」を利用しているご状況でお間違いないでしょうか。


    取置きデータの取得については「取引取得API」ではなく「取置き取得API」をご利用いただく必要があるので、利用するAPIに間違いがないかご確認ください。

    ◇取置き取得APIの仕様書

    https://www1.smaregi.dev/apidoc/#operation/getLayawayById

  • @スマレジ 清谷

    pos:transactions イベントを受け取り、https://www1.smaregi.dev/apidoc/#operation/getTransactionId を呼び出しております。

    結果として 「指定されたIDのリソースが見つかりません」となっております。

  • @Takanashi

    取置き登録のタイミングでもWebhook(取引)が飛びますが、取置きデータの取得については「取置き取得API」をご利用いただく必要があります。

    取置き登録した時点ではまだ取引履歴一覧にデータが載らないため、取引取得APIではデータ取得できず、「指定されたIDのリソースが見つかりません」というエラーが発生します。


    尚、Webhook(取引)が飛んだ際に該当のIDが取置きデータかどうかを判断する項目はございません。

    Webhook(取置き)のご用意があり、取置き登録のタイミングでWebhook(取引)とWebhook(取置き)がどちらも同じIDで飛ぶため、そこで判断する方法をご検討ください。

    ◇Webhook(取置き)の仕様書

    https://www1.smaregi.dev/apidoc/#operation/webhook-transactions-layaway

  • @スマレジ 清谷

    ご回答ありがとうございます。

    ご回答に関して質問させていただきたいのですが、取引履歴一覧にデータが載らないということは、取置きのタイミングで飛ぶWebhook(取引)にある transactionHeadIds は取引IDではなく取置きIDということでしょうか。また、

    また、取置きの処理か取引の処理かをWebhookが同時に飛んでくるかどうかでWebhookの種類を判断することは正確にはできないので、(例えば取置きのWebhookが飛んでこなかった場合、タイムラグがあるのか送信が失敗しているのか取引の処理なのかが判別できないかと思います) もし他に判別方法がありましたらお教えいただけますと幸いです。

    どうぞよろしくお願いいたします。

  • @Takanashi

    ご認識いただいている通り、取置き登録のタイミングで送信されるWebhook(取引)にある transactionHeadIds は取置きIDです。

    また恐れ入りますが、他にご提案できる判別方法はございません。

  • @スマレジ 清谷

    ご回答ありがとうございます。承知致しました。