レート制限
レート制限、クォータ、429 レスポンスの処理方法を理解する。
レート制限
AllToken はすべてのユーザーの公平な使用を確保するためにレート制限を実施しています。制限は API Key ごとに適用され、アカウントのプランによって異なります。
レート制限を超えると、API は 429 Too Many Requests レスポンスを返します。リトライロジックに指数バックオフを実装してください:
TypeScript
| 1 | async function withRetry(fn, maxRetries = 3) { |
| 2 | for (let i = 0; i < maxRetries; i++) { |
| 3 | try { |
| 4 | return await fn(); |
| 5 | } catch (err) { |
| 6 | if (err.status === 429 && i < maxRetries - 1) { |
| 7 | await new Promise(r => setTimeout(r, Math.pow(2, i) * 1000)); |
| 8 | continue; |
| 9 | } |
| 10 | throw err; |
| 11 | } |
| 12 | } |
| 13 | } |
レート制限レスポンスヘッダー
レート制限情報はレスポンスヘッダーに含まれています:
x-ratelimit-limit— 時間ウィンドウあたりの最大リクエスト数x-ratelimit-remaining— 現在のウィンドウでの残りリクエスト数x-ratelimit-reset— ウィンドウがリセットされるタイムスタンプ