Selling Partner APIサンドボックス

SP-API サンドボックスを使用してテストコールを行います。

Selling Partner APIには、本番データに影響を与えたり、実際のイベントをトリガーしたりすることなく、アプリケーションをテストできる2つのサンドボックス環境が用意されています。Selling Partner APIの静的サンドボックスは、パターンマッチングを使用して静的な模擬レスポンスを返します。Selling Partner APIの動的サンドボックスは、リクエストパラメーターに基づいて現実的なレスポンスを返すことができるサンドボックスバックエンドにリクエストをルーティングします。

🚧

重要

サンドボックス環境は機能のテスト用であり、スケーラビリティテスト用ではありません。サンドボックスエンドポイントへの呼び出しには、レート = 1秒あたり5リクエスト、バースト = 15のスロットリング制限が適用されます。スロットリングの詳細については、Selling Partner APIの使用プランとレート制限を参照してください。

SP-APIサンドボックス環境を使用して、制限付きデータトークン(RDT)を必要とする呼び出しをテストする場合は、本番環境からRDTを取得し、サンドボックス呼び出しに渡す必要があります。RDTが必要となる制限付き操作の詳細については、こちらをご覧ください。

目次

Selling Partner APIの静的サンドボックス

Selling Partner APIの静的サンドボックス(静的サンドボックス)へのサンドボックス呼び出しは、実稼働呼び出しを行うことと同じですが、呼び出しをSelling Partner APIサンドボックスエンドポイントに転送する点が異なります。サンドボックスエンドポイントを呼び出すと、すべてのSelling Partner APIに対して静的な模擬レスポンスが返されます。これらの模擬レスポンスは、呼び出すAPIのSwaggerモデルJSONファイルで参照できます。詳細については、Selling Partner APIを静的サンドボックスで呼び出す方法を参照してください。

Selling Partner APIの静的サンドボックスの機能は、指定されたパラメーターが存在する場合にパターンマッチングを使用して指定されたレスポンスを返すという点で、多くの模擬フレームワークと同様です。開発者は、指定されたパラメーターを含むリクエストを送信すると、以下のいずれかのオブジェクトで定義されたレスポンスを受け取ります。

静的サンドボックスJSONオブジェクト


"x-amzn-api-sandbox":
{
  "static": [
    {
      "request":
      {
        "parameters": 
        {
          …
        }
      },
      "response":
      {
        …
      }
    }
  ]
}

これらのオブジェクトには模擬レスポンスを一致させるのに必要なパラメーターが含まれていますが、レスポンスの成功に必要なパラメーターが必ずしもすべて含まれるわけではないことに注意してください。成功レスポンスを取得するには、リクエストが有効であり、対応するSwaggerモデルで定義されているすべての必須パラメーターが含まれていることを確認してください。

Selling Partner APIを静的サンドボックスで呼び出す方法

ステップ1. リクエストパラメーターのJSONファイルをチェックする

  1. ドキュメントページに移動します。

  2. 左側のナビゲーションペインで、サンドボックス呼び出しを行うAPIのフォルダーを見つけます。

  3. 目的のAPIに対応するSwaggerモデルJSONファイルを選択します。

    JSONコードが表示されます。

  4. "static"配列を含むx-amzn-api-sandboxオブジェクトのコードを検索してください。

静的サンドボックスJSONオブジェクトには、表示されるAPIオペレーションへの静的サンドボックス呼び出しのリクエストとレスポンスの例が含まれます。リクエスト例にパラメーターが含まれている場合は、次のステップでそのパラメーターを使用してください。

ステップ2. APIを静的サンドボックスで呼び出す

APIへの静的サンドボックス呼び出しは、実稼働呼び出しと同じ方法で行いますが、次の点が異なります。

  1. 呼び出しにステップ 1. リクエストパラメーターのJSONファイルをチェックするからのパラメーターを含めます。APIがこれらに加えてパラメーターを必要とする場合は、必ずそれらの必須パラメーターも呼び出しに含めてください。

  2. Selling Partner APIサンドボックスエンドポイントの1つを呼び出す指示をします。

    ステップ1の静的サンドボックスJSONオブジェクトに含まれるペイロードオブジェクトと一致するレスポンスを受信するはずです。

Selling Partner APIの動的サンドボックス

Selling Partner APIの動的サンドボックス(動的サンドボックス)を呼び出すことは、Selling Partner APIサンドボックスエンドポイントを呼び出すことを除いて、実稼働呼び出しを行うことと同じです。動的サンドボックス呼び出しはサンドボックスバックエンドにプロキシ(つまり転送)され、リクエストパラメーターを指定すると適切なレスポンスが返されます。正確なパターンマッチングに限定されないため、ステートフルで入力に反応する可能性のあるリクエストを行ったりレスポンスを受け取ったりすることができます。たとえば、異なる配送先住所の配送料を確認したい場合があります。実行できる機能は、そのAPIセクションに提供されているサンドボックスバックエンドがサポートする機能によってのみ制限されます。

呼び出すAPIのSwaggerモデルJSONを確認することで、どのオペレーションが動的サンドボックス呼び出しをサポートしているかを判断できます。オペレーションに次のオブジェクトが含まれている場合、そのオペレーションは動的サンドボックスへの呼び出しをサポートします。

"x-amzn-api-sandbox": { "dynamic": {} }

オブジェクトは、オペレーションレベルまたはパスレベルのいずれかで見つけることができます。パスレベルの場合、パス内のすべてのオペレーションが動的サンドボックスを呼び出すことができます。

Selling Partner APIを動的サンドボックスで呼び出す方法

ステップ1. JSONファイルで動的サンドボックス呼び出しをサポートするオペレーションを確認する

  1. ドキュメントページに移動します。

  2. 左側のナビゲーションペインで、サンドボックス呼び出しを行うAPIのフォルダーを見つけます。

  3. 目的のAPIに対応するSwaggerモデルJSONファイルを選択します。

    JSONコードが表示されます。

  4. コードで以下を検索:

"x-amzn-api-sandbox": { "dynamic": {} }

オペレーションにパスレベルまたはオペレーションレベルのオブジェクトが含まれている場合、動的サンドボックスがサポートされます。

ステップ2. APIを動的サンドボックスで呼び出す

本番環境の呼び出しと同じ方法でAPIを動的サンドボックスで呼び出しますが、Selling Partner APIサンドボックスエンドポイントの1つを呼び出すように指示する点が異なります。

サンドボックス専用オペレーション

サンドボックス環境は、サンドボックス専用のオプションAPIをサポートしており、Selling Partner APIサンドボックスエンドポイントの1つに指示された場合にのみ成功します。APIセクションのSwaggerモデルJSONを確認することで、どのオペレーションがサンドボックス専用かを判断できます。サンドボックス専用のオペレーションには、オペレーションレベルまたはパスレベルのいずれかで"x-amzn-api-sandbox-only": trueが含まれます。パスレベルの場合、パス内のすべてのオペレーションがサンドボックス専用です。

サンドボックス専用オペレーションは実稼働APIを補完するため、実稼働APIオペレーションでは不可能なテストワークフローを作成できます。たとえば、データ項目がユーザーインターフェイスからはインスタンス化されるが、APIではインスタンス化されないというユースケースがあるかもしれません。テストのみを目的として、より完全なテストワークフローを実現できるデータ項目を作成する、サンドボックス専用APIを提供することもできます。

Selling Partner APIサンドボックスエンドポイント

Selling Partner APIには、北米、ヨーロッパ、極東の出品リージョン用のサンドボックスエンドポイントがあります。

出品地域エンドポイントAWSリージョン
北米(カナダ、米国、メキシコ、ブラジルのマーケットプレイス)https://sandbox.sellingpartnerapi-na.amazon.comus-east-1
ヨーロッパ(スペイン、英国、フランス、オランダ、ドイツ、イタリア、スウェーデン、ポーランド、エジプト、トルコ、アラブ首長国連邦、インドのマーケットプレイス)https://sandbox.sellingpartnerapi-eu.amazon.comeu-west-1
極東(シンガポール、オーストラリア、日本のマーケットプレイス)https://sandbox.sellingpartnerapi-fe.amazon.comus-west-2

このページは役に立ちましたか?