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


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

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

テーブル利用履歴一覧取得APIのページネーション

テーブル利用履歴一覧取得APIのページネーションは、

Query Paramatersの

limitとcursor

を使用して実施するのだと思われます。

だた、cursorに値を指定する(例えばデフォルトの"-1")と、

{

    "title": "Internal Server Error",

    "type": "about:blank",

    "status": 500

}

が返ってきました。これは正しい動作でしょうか?


また、cursorを使用して次の範囲を取得する場合、

cursorには、”取得する一覧の先頭にしたいデータのテーブル利用IDを指定してください。”

という記載があるので、以下の流れで実施すればよいのでしょうか?

①1ページ目を例えばlimit=10で取得

②結果が10件ある場合、末尾の要素のテーブル利用IDをcursorに指定して再度一覧取得

③取得した結果の最初の要素以外が2ページ目の取得結果

最初、①で取得した要素のテーブル利用IDに+1して、cursorに設定することも考えたのですが、

sortというパラメータもあり(ただし、現状は、: 利用開始日時しか指定できないので、必ずテーブル利用ID順に並ぶ?)

加算する方法だと問題があるかと考えました。

ベストアンサー

  • @ashizaki

    ご報告ありがとうございます。

    cursorに値を指定する(例えばデフォルトの"-1")

    こちらに関しましては仕様書の記載に誤りがあり、正確にはクォーテーション無しの -1 を指定頂くのが正しい仕様となります。

    "status": 500 のエラーが返る件は不適切なため修正を予定しております。


    また、cursor にテーブル利用IDを指定して頂いてリクエストすることも可能ですが、limit 以上の件数が存在する場合はレスポンスヘッダーの Link に次のページの一覧を取得できるURI (rel="next") がセットされるため、そちらを利用して次のページの取得が可能です。

    最初に利用開始日等の条件を指定して cursor はキー自体未指定(デフォルト値の-1が適用)でリクエストし、レスポンスヘッダーに次のURIがあれば取得する・・・というのを繰り返すことで指定条件に当てはまるデータの全件取得が可能です。

答え

  • @ashizaki

    本件の修正を01/25(水)に行いました。

    仕様書上のデフォルト値の表記に関してですが、こちらはOpenAPIのドキュメント化ツール側の仕様として string 型にはダブルクォーテーションが自動で付与して表示されるものだったため表記はそのままとなっておりますが、ページネーションに関する説明の詳細を追記しております。