次の方法で共有


紹介 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 要求の処理中の一般的な例外