SolveHub

CAPTCHA API の HTTP 402・429・503 エラー処理

残高不足、レート制限、サービス障害を区別。Retry-After と固定の冪等キーで再試行を制御します。

許可された QA 自動化とブラウザー連携向けです。テスト権限のあるサイトと業務フローでのみ使用してください。

HTTP とエラーコードを両方確認

エラー本文は {"error":"CODE"} 形式で、X-Request-ID ヘッダーが調査用の識別子です。taskId と共にローカル保存し、認証情報やタスク本文を公開ログに出さないでください。

応答 意味と次の操作
400 INVALID_TASK 項目と型を修正。不正な JSON は再送では直りません。
401 / 403 Key の期限、権限、IP 制限、アカウント状態を確認。
402 INSUFFICIENT_BALANCE 利用可能残高が不足。予約済み金額も考慮。
409 IDEMPOTENCY_CONFLICT 元のキーと本文を比較。
429 頻度・並列数を下げ、Retry-After に従う。
503 TYPE_UNAVAILABLE 利用可否を確認し、無効な種類への連続送信を停止。
503 DATABASE_BUSY 元のキーと本文で再送。確定結果の照合が必要な場合があります。

制限ごとに対処が異なります

KEY_CONCURRENCY_LIMIT では既存タスクの完了を待ちます。KEY_SPEND_LIMIT は移動時間窓の支出制限で、連続再送では解決しません。KEY_QUOTA_EXHAUSTED は一時的な 429 ではなく総利用枠の 403 です。詳細は API エラー一覧を参照してください。

再試行に上限を設定

通信障害、待機可能な制限、再試行可能なサーバー障害だけを対象にします。Retry-After(秒数または HTTP 日付)を守り、回数を制限し、待ち時間が残り予算を超えたら停止します。POST の本文とキーは固定し、GET は同じ ID を照会します。

タスク状態の失敗は別の層です

照会が HTTP 200 でも status=failed や status=uncertain の場合があります。HTTP コードに加え状態と公開エラーを確認します。failed/cancelled は終了、uncertain は照合を継続し予約額が残ることがあります。安全なポーリングを確認してから自動再送を実装してください。

関連ドキュメント

cURL で始める アカウント作成

最終更新: