紹介 API 応答コード
適用対象: パートナー センター |パートナー センターの紹介
適切な役割: 紹介管理者 | 紹介ユーザー
パートナー センター紹介 REST API は、状態コードを含む JSON オブジェクトを返します。 要求が成功したかどうか、または失敗した理由を示すこのコード。
成功応答
2xx状態コードは、クライアントの要求が正常に受信され、認識され、受け入れられたことを示します。 次の 2xx 状態コードは、成功応答を示しています。
- 200: 成功が確認されました
- 201: 作成されたリソース
- 202: 承諾済み
- 204: 返されるコンテンツがない
エラー応答
4xx または 5xx 状態コードを含む応答には、そのコードのエラー条件の詳細を含むエラー メッセージが含まれます。
次の表に、エラー シナリオで返される可能性がある HTTP 状態コードの一覧と説明を示します。
状態コード | ステータス メッセージ | 説明 |
---|---|---|
400 | Bad Request | 形式が正しくないか、正しくないため、要求を処理できません。 |
401 | 権限がありません | 必要な認証情報が不足しているか、リソースに対して無効です。 |
403 | 許可されていません | 要求したリソースへのアクセスが拒否されました。 必要なアクセス許可がユーザーにない可能性があります。 |
404 | Not Found | 要求されたリソースは存在しません。 |
405 | メソッドが許可されていません。 | 要求内の HTTP メソッドは、リソースでは許可されません。 |
406 | Not Acceptable | このサービスは、Accept ヘッダーで要求された形式をサポートしていません。 |
409 | 競合 | 現在の状態は、要求が想定しているものと矛盾しています。 たとえば、指定した親フォルダーが存在しない可能性があります。 |
410 | Gone | 要求されたリソースはサーバーにありません。 |
411 | 長さが必要 | 要求に対して Content-Length ヘッダーが必要です。 |
412 | Precondition Failed | 要求で指定された前提条件 (if-match ヘッダーなど) がリソースの現在の状態と一致しません。 |
413 | 要求のエンティティが大きすぎます | 要求のサイズが上限を超えています。 |
415 | サポートされていないメディアの種類 | 要求のコンテンツ タイプは、サービスがサポートしていない形式です。 |
416 | Requested Range Not Satisfiable | 指定されたバイト範囲は無効または使用できません。 |
422 | 処理できないエンティティ | 意味的に正しくないため、要求を処理できません。 |
423 | ロック | アクセスしようとしているリソースはロックされています。 |
429 | 要求が多すぎます | クライアント アプリケーションは調整されており、しばらくの間要求を繰り返すべきではありません。 |
500 | サーバー内部エラー | 要求の処理中に内部サーバー エラーが発生しました。 |
501 | Not Implemented | 要求された機能は実装されていません。 |
503 | サービス利用不可 | メンテナンスまたは過負荷のため、サービスは一時的に利用できません。 Retry-After ヘッダーで指定可能な時間だけ待機した後に要求を再試行できます。 |
504 | ゲートウェイのタイムアウト | サーバーは、プロキシとして機能しているときに、要求を完了するためにアクセスする必要があるアップストリーム サーバーからタイムリーな応答を受信しませんでした。 503 と同時に発生する場合があります。 |
507 | ストレージ不足 | 最大ストレージ クォータに達しました。 |
509 | 帯域幅制限超過 | 最大帯域幅の上限を超えたため、クライアント アプリケーションが調整されました。 しばらくすると、アプリで要求を再試行できます。 |
エラー リソースの型
エラー応答は、error という名前の 1 つのプロパティを含む 1 つの JSON オブジェクトです。 このオブジェクトには、エラーのすべての詳細が含まれます。 ここで返される情報は、HTTP ステータス コードの代わりに、またはそのコードに加えて使用できます。
次の表とコード サンプルでは、エラー応答のスキーマについて説明します。
名前 | 種類 | 説明 |
---|---|---|
code | string | 常に返されます。 発生したエラーの種類を示します。 null 以外。 |
message | string | 常に返されます。 エラーについて詳しく説明し、デバッグ情報を提供します。 null 以外の空でない。 最大長は 1,024 文字です。 |
innerError | オブジェクト | 省略可能。 エラーに関するより具体的な情報を持つ別のエラー オブジェクトが発生しました。 |
innerError.code | 数値文字列 | innerError が null 以外の場合は常に返されます。 上位のエラー コード値の下に、より具体的なエラー コード情報を提供します。 |
innerError.message | string | innerError が null 以外の場合は常に返されます。 上位のエラー メッセージ文字列の下に、より具体的なエラー メッセージを提供します。 |
innerError.details | array object | 省略可能。 エラーの詳細が含まれています。 主に入力検証エラーに役立ちます。 |
ターゲット | string | 省略可能。 エラーが発生したターゲット。 |
エラー応答のサンプル
{
"error": {
"code": "unauthenticated",
"message": "The caller is not authenticated.",
"innerError": {
"code": "99902",
"message": "Request not authenticated",
"details": null
}
}
}
innerError.details オブジェクトが設定されている別のサンプル:
{
"error": {
"code": "invalidRequest",
"message": "The request is malformed or incorrect.",
"innerError": {
"code": "99901",
"message": "InvalidInput",
"details": [
{
"InvalidReferralForCoSellConversion": [
"If PartnerLed referral has no solution it cannot be converted to co-sell referral"
]
}
]
}
}
}
code プロパティ
code
プロパティには、次の可能な値のいずれかが含まれます。 これらのエラーのどれが発生しても処理できるよう、アプリを準備することをお勧めします。
コード | HTTP 状態コード | 説明 |
---|---|---|
invalidRequest | 400 | 要求の形式または内容が正しくありません。 |
unauthenticated | 401 | 呼び出し元は認証されません。 |
accessDenied | 403 | 呼び出し元には、アクションを実行するためのアクセス許可がありません。 |
itemNotFound | 404 | リソースが見つかりませんでした。 |
resourceModified | 409 | 呼び出し元が最後に読み取った後に更新されるリソース (通常は eTag の不一致)。 |
preconditionFailed | 412 | 要求で指定された前提条件 (if-match ヘッダーなど) がリソースの現在の状態と一致しません。 |
generalException | 500 | 未指定のエラーが発生しました。 |
serviceNotAvailable | 503 | サービスは使用できません。 しばらくしてから要求を再試行してください。 Retry-After ヘッダーが存在する場合があります。 |
message プロパティ
ルートの message
プロパティには、開発者が読むことを想定したエラー メッセージが含まれています。 エラー メッセージはローカライズされていないため、ユーザーに直接表示しないでください。 コードは、 message
値に対してのみチェックしないでください。これは、いつでも変更でき、多くの場合、失敗した要求に固有の動的な情報が含まれているためです。 code
プロパティで返されるエラー コードに対してコードを記述し、詳細をメッセージ テキストと組み合わせる必要があります。
InnerError オブジェクト
innererror
オブジェクトには、より具体的なエラー コードを持つより多くのinnererror
オブジェクトが再帰的に含まれている場合があります。 クライアント アプリケーションは、エラーを処理するときに、使用可能なすべてのエラー コードをループ処理し、理解している最も詳細なエラー コードを使用する必要があります。
入れ子になった innererror
オブジェクト内でアプリで発生する可能性があるエラーが他にもあります。 アプリはこれらのエラーを処理する必要はありませんが、選択した場合に実行できます。 このサービスでは、新しいエラー コードが追加されたり、古いエラー コードが返されたりすることがあります。そのため、すべてのアプリで [基本的なエラー コード] を処理できることが重要です。
エラー コード
API によって返されるエラー コードを次に示します。
HTTP の状態 | HTTP エラー コード | エラー コード | 説明 |
---|---|---|---|
BadRequest | 400 | 99901 | 無効な入力 |
権限がありません | 401 | 99902 | 許可されていないアクセス |
BadRequest | 400 | 99903 | 入力がありません |
NotFound | 404 | 99,904 | リソースが見つかりません |
InternalServerError | 500 | 99905 | エラーが指定されていません |
TooManyRequests | 429 | 99906 | Too many requests |
InternalServerError | 500 | 99907 | 一時的な内部エラー |
BadRequest | 400 | 99908 | プロパティが有効でない |
BadRequest | 400 | 99909 | プロパティが null 非許容である |
PreconditionFailed | 412 | 99910 | Etag 値が一致しない |
BadRequest | 400 | 99911 | 招待する紹介の状態が無効です |
BadRequest | 400 | 99912 | 型 'name' のソリューションが必要です |
Forbidden | 403 | 99913 | リソースの作成が許可されていない組織 |
Forbidden | 403 | 99914 | 共同販売契約への参加を許可されていない組織 |
InternalServerError | 500 | 99915 | 内部要求の実行エラー |
競合 | 409 | 99917 | 別の要求によって既に変更されているリソース |
PreConditionFailed | 412 | 99918 | 要求で指定された前提条件 (if-match ヘッダーなど) がリソースの現在の状態と一致しません。 |
BadRequest | 400 | 99919 | 更新する紹介資格が無効です |
InternalServerError | 500 | 99999 | 要求の処理中の一般的な例外 |