レート制限
レート制限は API を保護し、すべてのユーザーに公平な利用を保証するために設けられています。
レート制限の処理
レート制限を超過すると、API は 429 ステータスコードと rate_limit_error を返します。
{
"error": {
"code": 429,
"message": "Rate limit exceeded",
"type": "rate_limit_error",
"fallback_suggestion": "retry after 60 seconds"
}
}
推奨リトライ戦略
429 レスポンスを受け取った場合は、指数バックオフを実装してください。
import time
import requests
def make_request_with_retry(url, headers, payload, max_retries=3):
for attempt in range(max_retries):
response = requests.post(url, headers=headers, json=payload)
if response.status_code == 429:
wait_time = 2 ** attempt * 30 # 30s, 60s, 120s
print(f"Rate limited. Retrying in {wait_time}s...")
time.sleep(wait_time)
continue
return response
raise Exception("Max retries exceeded")
ベストプラクティス
429レスポンスに対して指数バックオフを実装してください- リクエスト量を削減するために、頻繁なポーリングの代わりに
callback_url(Webhooks)を使用してください - 生成リクエストはバーストで送信するのではなく、間隔を空けて送信してください
- EvoLink ダッシュボードでクレジット使用量を監視してください
より高い制限が必要ですか?
カスタムレート制限と専用インフラについては、営業チームにお問い合わせください。