n8nで最初のページしか取れない:Paginationの停止条件と件数を照合する
APIの最初の応答を取得できても、全件取得にはなりません。次URLかページ番号かをAPI仕様で選び、終了条件と件数を照合します。n8nの$pageCountは0開始なので、APIの開始番号と混ぜません。
公式資料確認日:。
次URL方式と、番号を変える方式を区別する
公式のPagination設定は、応答中の次URLを使う方法と要求パラメーターを更新する方法があります。APIが返す項目の構造、開始番号、上限、終了を示す値を先に読みます。別APIの式をそのまま正解にはしません。
番号を足す前に、0開始か1開始かを決める
n8nの$pageCountは0からです。1開始のAPIで$pageCount + 1を使う公式例は、0開始のAPIへそのまま当てはめません。offsetやcursor方式なら、そのAPIの仕様で更新します。
| 観測するもの | 分かること | 次の行動 |
|---|---|---|
| 応答に次URLがある | 次の場所を相手が示す | 実際のbodyの項目へ式を合わせる |
| page番号を送る | 開始番号と終端が必要 | 番号・取得件数・終了を記録 |
| 同じcursorが続く | 無限反復や欠落の候補 | 打切りと原因調査へ止める |
| 取得中に元データが変わる | 重複や欠落が残る可能性 | APIのsnapshot等の仕様を照合 |
二ページの小さな入力で、全件の意味を決める
一ページ目にAとB、二ページ目にCが返る想定では、ページが二回取得されたこととA・B・Cが一件ずつ残ったことを別に確認します。件数だけが三でもA・B・Bなら不合格です。この例は実APIの試験結果ではありません。
終了条件が不明なまま、上限を外さない
要求回数・待機・総期限の上限を置きます。next値の消失と空配列のどちらが終端かはAPIごとです。接続先や認証を含む次URLを公開せず、許可した相手の仕様に合わせます。
全件を取得したら、成果のキーと期間を照合する
全件というラベルを取得したHTTP statusだけで付けません。対象期間、キー、重複、受入件数を照合してから出力します。件数が足りない問題を、新しいPCやVPSの容量で解決する判断には進みません。
公式資料と、判断例の境界
仕様の根拠は以下の公式資料です。本文の記入例は実測値ではありません。購入・設定変更時は、対象の型番・版・契約条件を照合します。
- n8n:HTTP Requestのpagination
次URL方式とパラメーター更新方式を区別。$pageCountは0から始まり、開始番号や上限はAPIごとに確認します。
- n8n:API制限への対応
Retry On Failの待機、Loop Over ItemsとWait、HTTP RequestのBatchingを区別。上限は接続先APIの仕様で決まります。