ページネーション
Omise APIのページネーションで大規模な結果セットを効率的にナビゲートします。limitとoffsetパラメータを使用して、管理可能なチャンクでデータを取得する方法を学びます。
概要
多くのOmise APIエンドポイントはリソースのリスト(課金、顧客、振込など)を返します。レスポンスを高速で管理しやすくするために、これらのエンドポイントはページネーションされた結果を返します。リクエストごとに取得するアイテム数とどのページを取得するかを制御できます。
クイックスタート
limitを使用してページあたりのアイテム数を制御(デフォルト: 20、最大: 100)offsetを使用してアイテムをスキップしてページをナビゲートtotalで存在するアイテムの総数を確認- すべてのリストレスポンスは同じ構造
ページネーションパラメータ
limit
タイプ: 整数 デフォルト: 20 範囲: 1-100 目的: リクエストごとに返すアイテム数
# リクエストごとに50件の課金を取得
curl https://api.omise.co/charges?limit=50 \
-u skey_test_5xuy4w91xqz7d1w9u0t:
offset
タイプ: 整数 デフォルト: 0 目的: 結果を返す前にスキップするアイテム数
# 最初の20件の課金をスキップして次の20件を返す
curl https://api.omise.co/charges?offset=20&limit=20 \
-u skey_test_5xuy4w91xqz7d1w9u0t:
from
タイプ: ISO 8601 日時 デフォルト: 1970-01-01T00:00:00Z 目的: 返されるレコードの開始を制限するUTC日時
# 2025年1月1日以降に作成された課金を取得
curl "https://api.omise.co/charges?from=2025-01-01T00:00:00Z" \
-u skey_test_5xuy4w91xqz7d1w9u0t:
to
タイプ: ISO 8601 日時 デフォルト: 現在のUTC時刻 目的: 返されるレコードの終了を制限するUTC日時
# 2025年2月1日以前に作成された課金を取得
curl "https://api.omise.co/charges?to=2025-02-01T00:00:00Z" \
-u skey_test_5xuy4w91xqz7d1w9u0t:
order
タイプ: 文字列
デフォルト: reverse_chronological
オプション: chronological, reverse_chronological
目的: 返されるレコードのソート順
# 時系列順(古い順)で課金を取得
curl "https://api.omise.co/charges?order=chronological" \
-u skey_test_5xuy4w91xqz7d1w9u0t:
# 逆時系列順(新しい順、デフォルト)で課金を取得
curl "https://api.omise.co/charges?order=reverse_chronological" \
-u skey_test_5xuy4w91xqz7d1w9u0t:
組み合わせの例
# アイテム41-60を取得(1ページ20件で3ページ目)
curl https://api.omise.co/charges?offset=40&limit=20 \
-u skey_test_5xuy4w91xqz7d1w9u0t:
すべてのパラメータを使用した完全な例
# 2025年1月の課金を古い順で、2ページ目を取得
curl "https://api.omise.co/charges?from=2025-01-01T00:00:00Z&to=2025-01-31T23:59:59Z&order=chronological&limit=20&offset=20" \
-u skey_test_5xuy4w91xqz7d1w9u0t:
リストレスポンス形式
すべてのページネーションエンドポイントは一貫したリスト構造を返します:
{
"object": "list",
"data": [
{
"object": "charge",
"id": "chrg_test_5xuy4w91xqz7d1w9u0t",
"amount": 100000,
...
},
{
"object": "charge",
"id": "chrg_test_5xuy4w91xqz7d1w9u0a",
"amount": 50000,
...
}
],
"limit": 20,
"offset": 0,
"total": 142,
"from": "2025-01-01T00:00:00Z",
"to": "2025-02-07T23:59:59Z",
"order": "chronological",
"location": "/charges"
}
リストオブジェクトのフィールド
| フィールド | タイプ | 説明 |
|---|---|---|
object | string | ページネーションレスポンスでは常に"list" |
data | array | リソースオブジェクト(課金、顧客など)の配列 |
limit | integer | ページあたりのアイテム数(リクエストから) |
offset | integer | スキップされたアイテム数(リクエストから) |
total | integer | すべてのページにわたるアイテムの総数 |
from | string (ISO 8601) | クエリ期間の開始日(オプション) |
to | string (ISO 8601) | クエリ期間の終了日(オプション) |
order | string | ソート順: "chronological"または"reverse_chronological" |
location | string | APIエンドポイントパス |
ページネーション対応エンドポイント
以下のエンドポイントはページネーションをサポートします:
コアリソース
| エンドポイント | デフォルト順序 | 説明 |
|---|---|---|
GET /charges | 逆時系列 | すべての課金を一覧表示 |
GET /customers | 逆時系列 | すべての顧客を一覧表示 |
GET /transfers | 逆時系列 | すべての振込を一覧表示 |
GET /refunds | 逆時系列 | すべての返金を一覧表示 |
GET /transactions | 逆時系列 | すべての取引を一覧表示 |
GET /disputes | 逆時系列 | すべての異議申し立てを一覧表示 |
GET /recipients | 逆時系列 | すべての受取人を一覧表示 |
GET /events | 逆時系列 | すべてのイベントを一覧表示 |
GET /schedules | 逆時系列 | すべてのスケジュールを一覧表示 |
GET /links | 逆時系列 | すべての決済リンクを一覧表示 |
ネストされたリソース
| エンドポイント | 説明 |
|---|---|
GET /customers/:id/cards | 顧客のカードを一覧表示 |
GET /charges/:id/refunds | 課金の返金を一覧表示 |
GET /customers/:id/charges | 顧客の課金を一覧表示 |