制限とエラー
APIのリクエスト制限とレート制限のヘッダー、各エラーコードの意味、値とページの扱いを説明します。
リクエストの制限
| 制限 | 値 |
|---|---|
| 1分あたり | 60リクエスト |
| 1日あたり | 10,000リクエスト |
どちらもアカウント全体で数えます。すべてのキーと接続済みのAIアシスタントの合計です。
- 1分あたりの制限は連続的に回復します。1秒ごとに1リクエスト分が戻り、最大60までです。
- 1日あたりの制限は、暦日ではなく24時間の枠です。終了するタイミングは
X-RateLimit-Reset-Dayヘッダーでわかります。
レート制限のヘッダー
有効なキーを使ったリクエストへのレスポンスには、すべて次のヘッダーが含まれます。
| ヘッダー | 意味 |
|---|---|
X-RateLimit-Limit | 1分あたりに許可されるリクエスト数(60) |
X-RateLimit-Remaining | 現時点で残っているリクエスト数 |
X-RateLimit-Reset | 1分あたりの制限が満タンに戻るまでの秒数 |
X-RateLimit-Limit-Day | 1日あたりに許可されるリクエスト数(10,000) |
X-RateLimit-Remaining-Day | 今日残っているリクエスト数 |
X-RateLimit-Reset-Day | 1日の枠が終わるまでの秒数 |
制限に達すると、Retry-Afterヘッダー付きで429 rate_limitedが返されます。その秒数だけ待ってから、リクエストを再送信してください。
エラーかどうかにかかわらず、すべてのレスポンスにはX-Request-Idも含まれます。
エラーの形式
エラーは、標準の「problem details」形式(application/problem+json)に従います。
{
"type": "https://gloriads.com/docs/api/errors#invalid_request",
"title": "Invalid request",
"status": 400,
"code": "invalid_request",
"detail": "limit must be between 1 and 100.",
"issues": [
{
"path": "limit",
"code": "invalid_value",
"message": "limit must be between 1 and 100."
}
],
"request_id": "req_8fK2mQ7xLp3nR9sT1vWy"
}- スクリプトでは
codeで判定してください。codeは変わりません。detailは人が読むためのもので、表現が変わることがあります。 issuesには、無効な各パラメーターが一覧表示されます。invalid_requestの場合にのみ含まれます。- サポートに問い合わせるときは、
request_idをお知らせください。
エラーコード
invalid_request · 400 — パラメーターが無効です。不明な値、範囲外の数値、Gloriadsが発行したものではないページのカーソルなどです。どのパラメーターがなぜ無効かは、issuesでわかります。
api_key_in_query · 400 — キーがURLで送信されました。キーはAuthorizationヘッダーで送り、そのキーを無効にしてください。すでにログに残っている可能性があります。
unauthorized · 401 — キーがない、またはキーが誤っているか無効にされています。どれに当たるかは、意図的に示していません。
subscription_inactive · 403 — アカウントのサブスクリプションが終了しています。サブスクリプションが有効になれば、すぐにAPIを再び使えます。
insufficient_scope · 403 — キーに読み取りの権限がありません。現在作成されるキーはすべて読み取りができるため、このコードが表示されることはないはずです。
not_found · 404 — このパスにエンドポイントがないか、求めたものがアカウントに存在しません。ほかのアカウントに属するものにも、同じレスポンスが返されます。
method_not_allowed · 405 — APIは読み取り専用のため、GETにしか応答しません。受け付けるメソッドはAllowヘッダーに示されます。
amazon_not_connected · 409 — /targets、/ads、/reports/streaming-tvはリクエストした時点でAmazonを読み取りますが、Amazon Adsが接続されていないか、再接続が必要です。Gloriadsの設定 → Amazon Adsで接続または再接続してください。
rate_limited · 429 — 制限に達しました。Retry-Afterに示された秒数だけ待ってください。
internal_error · 500 — Gloriads側で問題が発生しました。時間をおいてもう一度お試しください。繰り返し発生する場合は、request_idをお送りください。
amazon_unavailable · 502 — Amazonが/targets、/ads、/reports/streaming-tvに応答しなかったか、ストリーミングTV広告のレポートを作成できませんでした。数分後にもう一度お試しください。
timeout · 504 — レスポンスに30秒以上かかりました。一度に求める量を減らしてください。
値とページ
nullは「存在しない」という意味で、ゼロではありません。- 長いリストはページに分かれて返されます。
limitでページのサイズを指定します。範囲は1〜100(初期値は50)で、キャンペーンと広告グループでは最大1,000(初期値は100)です。has_moreがtrueのときは、next_cursorをcursorとして送り返すと、次のページを取得できます。 - ページが
limitより短くなることがあります。絞り込みで残る行が少ない場合です(1つのキャンペーンの広告グループなど)。has_moreがfalseになるまで、next_cursorをたどり続けてください。