レート制限

レート制限は 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 ダッシュボードでクレジット使用量を監視してください

より高い制限が必要ですか?

カスタムレート制限と専用インフラについては、営業チームにお問い合わせください

関連ドキュメント