レスポンス構造
エラーオブジェクトの読み方
リクエストが失敗すると、JSONレスポンスのstatusはfalseになります。アプリケーションの分岐には数値のerrnoを使用し、errmsgはログや人が読む診断情報として利用してください。
{
"status": false,
"errno": 94,
"errmsg": "invalid or missing key"
}errmsgの完全一致ではなく、errnoを基準に処理を分岐してください。説明文が将来変更されても、連携ロジックを安定して維持できます。完全リファレンス
GenderAPIのエラーコード一覧
以下の値はGenderAPIの公開仕様に対応しています。同じリクエストを再送する前に、該当する原因を解消してください。
access denied許可されていないIPアドレスまたは参照元からリクエストされています。
invalid country codecountryパラメータが、対応するISO 3166-1 alpha-2国コードではありません。
name not set || email not set || username not setリクエストに必須のname、email、またはusernameパラメータがありません。
too many names || too many emails || too many usernames一括処理の上限(名前100件、メールアドレス50件、ユーザー名50件)を超えています。
query limit reachedこのAPIキーで利用できるクレジットが残っていません。
invalid or missing keyAPIキーが指定されていない、無効である、または見つかりません。
API key has expiredこのAPIキーに関連付けられたプランの有効期限が切れています。
処理のベストプラクティス
安全に失敗させ、無条件の再試行を避ける
入力を先に検証する
必須値の欠落、無効な国コード、上限超過のバッチをAPIへ送る前に検出します。
認証情報を保護する
APIキーはサーバー側だけに保存し、アプリケーションログ、ブラウザ出力、サポート用スクリーンショットでは削除またはマスキングします。
再試行を選別する
これらのエラーはリクエスト修正またはアカウント対応が必要です。同じ内容をそのまま繰り返しても解決しません。
type GenderApiError = {
status: false;
errno: number;
errmsg: string;
};
if (response.status === false) {
handleGenderApiError(response.errno, response.errmsg);
}診断情報を安全に扱う
エラー番号と内部リクエストIDはログに記録できますが、APIキーは絶対に保存しないでください。ユーザーには、認証情報や内部リクエストデータを公開しない、短く実行可能な案内を表示します。
APIリファレンス完了