物理カードの有効化

物理カードの有効化

連携を開始する前に、必ず Amazon インセンティブ API アカウントを設定してください。インセンティブ API アカウントを作成します


インセンティブ API を使用すると、オンデマンドで Amazon ギフト券コードを作成し、配布することができます。この API を使用すると、電子ギフト券に Amazon ギフト券コードを挿入したり、グループギフトをサポートしたり、ロイヤルティプログラム (ポイントプログラムなど) で Amazon ギフト券コードをリアルタイムで引き換えることができます。

すべてのギフト券は、事前に生成された固有の Web アクティベーションカード (WAC) と金額 (円) に関連付けられています。ギフト券はリアルタイムで有効化できます。有効化されると、WAC に関連付けられたギフト券を配布でき、顧客は Amazon での購入に使用できます。

インセンティブ API による Web アクティベーション操作では、リアルタイムでギフト券を有効化/無効化するためのプログラマティックインターフェイスを使用できます。仮額面のカードに対して有効にする WAC の値を指定するエンドポイント、または事前に通貨建てしたカードの額面に一致するエンドポイントに同期リクエストを行います。API は、操作に対して成功または失敗のステータスを返します。

Web アクティベーションカードには、次の 2 種類があります。

  • 額面式 (固定金額) - 金額はすでにギフト券コードに事前設定されています
  • 仮額面式 (変動金額) - ギフト券コードが有効になったときに金額が割り当てられます

必要に応じて、アカウントマネージャから WAC 番号と関連する Amazon ギフト券コードをお知らせします。

注: Web アクティベーションカードは、承認されたパートナーによってのみ有効化できます。

リクエスト識別子

エンドポイントへの呼び出しでは、リクエストの本文に RequestId の値が含まれます。

  • activationRequestId - Web アクティベーションカード (WAC) の有効化/無効化につながるすべての ActivateGiftCard/DeactivateGiftCard 呼び出しの一意の識別子。有効化リクエストごとに新しい値を生成する必要があります (再試行を除く)。activationRequestId の値はすべて partnerId で始まり、生成されたシステム内で一意の英数字が続きます。activationRequestId 値は 40 文字以内にする必要があります。同じ activationRequestId 値での 2 回目の呼び出しでは、その activationRequestId 値の初回使用時に作成された元のステータスが返されます。
  • statusCheckRequestId - ActivateGiftCard リクエストが成功した後にWACのステータスを取得するために ActivationStatusCheck 呼び出しで使用される識別子です。この値は、以前の ActivateGiftCard 呼び出しで使用された activationRequestId の値と一致する必要があります。

Web アクティベーションカード番号とチェックサム - エンドポイントリクエスト時に 3 桁のチェックサムとともに送信される 16 桁の WA カード番号 (例: 1400000005567585358)。カード番号は通常は範囲内で発行されるため ( 1400000005567585~1400000005568000 など)、チェックサムを使用して、アクティベーションリクエストで正しいカード番号が送信されたことを確認します。このチェックは、カードが手動で有効化され、カード番号が口頭で読み上げられる場合に特に重要です。WAC を含む次の例を確認してください。また、Web アクティベーションのユースケースに WAC/Amazon ギフト券コードを提供する場合、Amazon では同様の形式を使用することに注意してください。

シーケンス カード番号 チェックサム 金額 ギフト券コード
1 1400000005567585 358 $0.00 WA2W-A3CYCB-RDAMZ
2 1400000005567586 149 $0.00 WAS3-C8PP8R-MZMMD

トランザクションソース (実店舗のあるパートナーのみ) - ギフト券が有効化された場所を特定するための場所データ。このパラメータは、すべての実店舗 (POSA) リクエストで必須です。

このパラメータは、次の項目で構成されます。

項目 説明
sourceId トランザクションソースエンティティの識別子 (例: ストア番号またはストア ID)。
institutionId トランザクションソースの親エンティティの識別子 (例: マーチャント ID)。親エンティティが存在しない場合は、sourceId をコピーします。
sourceDetails トランザクションソースの詳細情報を提供する文字列。institutionName キーとソース名の値 (例えば、マーチャント名) が含まれている必要があります。ソースの場所、電話番号などの情報を含める必要があります。
institutionParentCompany instituitionName の親会社名です。親会社がない場合は、institutionName を繰り返す必要があります。

Amazon ストアロケーションデータを送信するオプションは2つあります。

  1. 長い形式 - トランザクションごとに特定の店舗ロケーションデータを含めます (sourceIdinstitutionIdsourceDetails を含める必要があります)。
  2. 短い形式 - sourceId と institutionId を API リクエストに含めます。Amazon がデータを解析するために、個別のロケーションマッピングファイルを送信する必要があります。

ロケーションマッピングファイルの手順

以下の例は、XML 形式と JSON 形式のトランザクションソースの「長い形式」のペイロードを示しています。sourceDetails は JSON blob としてフォーマットする必要があることに注意してください。

XML

<ActivateGiftCardRequest>
   <value>
      <currencyCode>USD</currencyCode>
      <amount>150</amount>
   </value>
   <activationRequestId>Awssb0327141418PM</activationRequestId>
   <cardNumber>6215366885893081</cardNumber>
   <partnerId>Apppt</partnerId>
   <externalReference>{"promoCode":"855238"}</externalReference>
   <transactionSource>
      <sourceDetails>{"institutionName" : "Fred Meyer", "institutionParentCompany" : "Kroger", "address1" : "2041 148th Ave NE", "address2" : "", "city" : "Bellevue", "state" : "Washington", "zip" : "98007", "phoneNumber" : "+14258658560"}</sourceDetails>
      <id>{"institutionId" : 97263700007" , "sourceId" : "84000000109"}</id>
   </transactionSource>
</ActivateGiftCardRequest>

JSON

{"value": {"currencyCode": "USD", "amount": 150}, "activationRequestId": "Awssb0327141418PM", "cardNumber": "6215366885893081", "partnerId": "Apppt", "externalReference": "{\"promoCode\":\"855238\"}", "transactionSource": {"sourceDetails": "{\"institutionName\" : \"Fred Meyer\", \"institutionParentCompany\" : \"Kroger\", \"address1\" : \"2041 148th Ave NE\", \"address2\" : \"\", \"city\" : \"Bellevue\", \"state\" : \"Washington\", \"zip\" : \"98007\", \"phoneNumber\" : \"+14258658560\"}", "id": "{\"institutionId\" : \"97263700007\" , \"sourceId\" : \"84000000109\"}"}}

再販業者のみ必須 - ProgramID

programID フィールドを使用すると、クライアントおよびユースケースのトランザクションをより正確に追跡できます。programID は、インセンティブ API ポータルを通じてクライアントとユースケースの情報を送信することで、Amazon から提供される承認済の識別子です。申請が承認されると、API への各呼び出しに追加する参照番号を受け取ります。programID は英数字で、最大文字数は 100 文字です。

以下のサンプルメッセージは、programID フィールドに対応するための必要な変更を示しています。

<ActivateGiftCardRequest>
  <activationRequestId>Awssb0327141418PM</activationRequestId>
  <partnerId>Awssb</partnerId>
  <cardNumber>1700000005489413</cardNumber>
  <value>
    <currencyCode>USD</currencyCode>
    <amount>10</amount>
  </value>
  <programId>ObY8ftkZQoG3lp2cmEleqg</programId>
</ActivateGiftCardRequest>

注: 種類別商品券パートナーの場合は、送信される「cardNumber」はカード生成時に対応する種類別商品券タイプにマップされるため、リクエスト形式に変更はありません。

操作

操作 説明
ActivateGiftCard 物理カードをアクティブな状態にして、顧客が引き換えられるようにします。
DeactivateGiftCard 物理カードを非アクティブ状態にし、引き換えられないようにします。
ActivationStatusCheck 物理的なギフト券のアクティベーションステータスを確認します。

共通パラメータ

パラメータ 値の例
HTTP リクエスト方法 POST
正規 URI (/で始まる)
正規クエリ文字列 (空の文字列)
正規ヘッダー (下記参照)
SignedHeaders content-type;host;x-amz-date;x-amz-target
アルゴリズム AWS4-HMAC-SHA256
リクエスト日 20140327T212600Z
CredentialScope 20140327/us-east-1/AGCODService/aws4_request
サービス名 AGCODService
有効化リクエスト ID Awssb0327141418PM
ホスト agcod-v2-gamma.amazon.com (該当するエンドポイントは技術仕様書に記載されています)
地域名 us-east-1 (該当する地域は技術仕様に記載されています)
パートナー ID Awssb (パートナー ID を使用)
カード番号 1700000005489413

正規ヘッダーは次のようになります。

content-type:application/json
host: agcod-v2-gamma.amazon.com
x-amz-date: 20140327T212600Z
x-amz-target: com.amazonaws.agcod.AGCODService.ActivateGiftCard 

または

content-type:application/x-www-form-urlencoded; charset=UTF-8
host: agcod-v2-gamma.amazon.com
x-amz-date: 20140327T212600Z
x-amz-target: com.amazonaws.agcod.AGCODService.ActivateGiftCard 

ActivateGiftCard

ActivateGiftCard 操作は、物理カードをアクティブな状態にします。アクティブ状態の物理カードは、顧客が引き換えることができます。

有効化リクエストを一意に識別する activationRequestId を、金額、通貨などの詳細と共に送信します (リクエスト、認証情報などのメタデータも送信)。

この操作を実行するには、ActivateGiftCard リクエストを送信します。Amazon は、Amazon ペイメントアカウントまたはその他の前払い口座に十分な金額があるかどうかをチェックし、口座から資金を差し引き、アクティベーションステータス、cardNumbercardStatus、および activationRequestId を含む同期レスポンスメッセージで応答します。同じトランザクションに関連する後続のすべてのリクエストに対して、activationRequestId金額、および currencyCode を保存する必要があります。レスポンスメッセージには、実行ステータスとともに、いくつかのメタデータも含まれています。現在、返される Web アクティベーションカード (WAC) のステータスは、ActivatedAwaitingActivationInvalidated のいずれかです。

この操作は冪等であるため、インセンティブ API が同じ activationRequestId を持つ複数のリクエストを受信した場合、最初のリクエストは新しい WAC を有効化しますが、後続のすべてのレスポンスは最初に有効化された WAC を返し、個別のトランザクションとしては処理されません。

注:

  • 1 回 ActivateGiftCard を呼び出すと、有効化が 1 回行われます。(現時点では、一括アクティベーションはサポートされていません)。
  • 不正行為防止の追加レイヤーとして、変数表示 WAC (初期値$0) に関連付けられたギフト券コードに対して、AwaitingActivation 状態のときに請求が 3 回試行されると、WAC ステータスは Invalidated に変更されます。ActivateGiftCard/DeactivateGiftCard は、Invalidated 状態の WAC に対して操作できません。Invalidated 状態の WAC が多数見つかった場合、その WAC カードに対する不正行為や、お客様の側でプロセスエラーが発生している可能性があります。詳細については、担当のアカウントマネージャーにお問い合わせください。
  • 通貨の値は、国の市場セグメントによって異なります。

JSON ペイロードを使用した ActivateGiftCard HTTP POST リクエストの例

POST /ActivateGiftCard HTTP/1.1
accept:application/json
content-type:application/json
host:agcod-v2-gamma.amazon.com
x-amz-date:20140327T211822Z
x-amz-target:com.amazonaws.agcod.AGCODService.ActivateGiftCard
Authorization:AWS4-HMAC-SHA256 Credential=AKIAJBYCL67O6NJUNYBQ/20140327/us-east-1/AGCODService/aws4_request, SignedHeaders=accept;content-type;host;x-amz-date;x-amz-target, Signature=519cd671dd26ab45cca71f8a1cbd56d07409b4649b0dbba0b2f5aa248a489b1c
{
  "activationRequestId": "Awssb0327141418PM",
  "partnerId": "Awssb",
  "cardNumber": "1700000005489413",
  "value": {
    "currencyCode": "USD",
    "amount": 10
  }
}

XML ペイロードを使用した ActivateGiftCard HTTP POST リクエストの例

署名済みリクエスト

POST /ActivateGiftCard HTTP/1.1
accept:charset=UTF-8
content-type:charset=UTF-8
host:agcod-v2-gamma.amazon.com
x-amz-date:20140327T212600Z
x-amz-target:com.amazonaws.agcod.AGCODService.ActivateGiftCard
Authorization:AWS4-HMAC-SHA256 Credential=AKIAJBYCL67O6NJUNYBQ/20140327/us-east-1/AGCODService/aws4_request, SignedHeaders=accept;content-type;host;x-amz-date;x-amz-target, Signature=bb4acbe8b115e24e07627fb862d2b3ea21c4f043fd4344c6f24b0a4d39961d9c
<ActivateGiftCardRequest>
    <activationRequestId>Awssb0327141418PM</activationRequestId>
    <partnerId>Awssb</partnerId>
    <cardNumber>1700000005489413</cardNumber>
    <value>
        <currencyCode>USD</currencyCode>
        <amount>10</amount>
    </value>
</ActivateGiftCardRequest>

ActivationGiftCardResponse の例

JSON

{
  "activationRequestId": "Awssb0327141418PM",
  "cardInfo": {
    "cardNumber": "1700000005489413",
    "cardStatus": "Activated",
    "expirationDate": null,
    "value": {
      "amount": 10,
      "currencyCode": "USD"
    }
  },
  "status": "SUCCESS"
}

XML

<ActivateGiftCardResponse>
  <cardInfo>
    <value>
      <amount>10.0</amount>
      <currencyCode>USD</currencyCode>
    </value>
    <cardStatus>Activated</cardStatus>
    <cardNumber>1700000005489413</cardNumber>
  </cardInfo>
  <status>SUCCESS</status>
  <activationRequestId>Awssb0327141418PM</activationRequestId>
</ActivateGiftCardResponse>

実店舗での追加要件

実店舗で発生する ActivateGiftCard の呼び出しには、トランザクションが発生した場所の詳細を含める必要があります。これらのエンドポイントへのリクエストには、イベントの物理的な場所を記述する transactionSource オブジェクトを含めることができます。

transactionSource のフィールド 説明
sourceId トランザクションソースエンティティの識別子 (例: ストア番号またはストア ID)。
institutionId トランザクションソースの親エンティティの識別子 (例: マーチャント ID)。親エンティティが存在しない場合は、sourceId をコピーします。
sourceDetails トランザクションソースの詳細情報を提供する文字列。これは、institutionName キーと、その値としてソース名 (マーチャント名など) が含まれている必要があります。ソースの場所、電話番号などの情報を含める必要があります。
institutionParentCompany instituitionName の親会社名です。親会社がない場合は、institutionName を繰り返す必要があります。

Amazon に店舗ロケーションデータを送信するには、次の 2 つのオプションがあります。

  1. 長い形式 - パートナーは、トランザクションごとに特定の店舗ロケーションデータを含めます (sourceIdinstitutionIdsourceDetails を含める必要があります)。
  2. 短い形式 - パートナーは API リクエストに sourceIdinstitutionId のみを指定します。これらの識別子を物理的な場所にマップする個別のロケーションマッピングファイルを送信する必要があります。ロケーションマッピングファイルの手順はこのスプレッドシートを参照してください。

XML 形式と JSON 形式のトランザクションソースの「長い形式」ペイロードのサンプルを以下に示します。sourceDetails は JSON blob としてフォーマットする必要があることに注意してください。JSON の例では、JSON blob はバックスラッシュを使用して引用符をエスケープします。

XML 本文の長い形式の例 (sourceDetails の値は JSON blob としてフォーマットする必要があります):

<ActivateGiftCardRequest>
   <value>
      <currencyCode>USD</currencyCode>
      <amount>150</amount>
   </value>
   <activationRequestId>Awssb0327141418PM</activationRequestId>
   <cardNumber>6215366885893081</cardNumber>
   <partnerId>Apppt</partnerId>
   <externalReference>{"promoCode":"855238"}</externalReference>
   <transactionSource>
      <sourceDetails>{"institutionName" : "Fred Meyer", "institutionParentCompany" : "Kroger", "address1" : "2041 148th Ave NE", "address2" : "", "city" : "Bellevue", "state" : "Washington", "zip" : "98007", "phoneNumber" : "+14258658560"}</sourceDetails>
      <id>{"institutionId" : 97263700007" , "sourceId" : "84000000109"}</id>
   </transactionSource>
</ActivateGiftCardRequest>

JSON 本文の長い形式の例:

{
  "value": {
    "currencyCode": "USD",
    "amount": 150
  },
  "activationRequestId": "Awssb0327141418PM",
  "cardNumber": "6215366885893081",
  "partnerId": "Apppt",
  "externalReference": "{\"promoCode\":\"855238\"}",
  "transactionSource": {
    "sourceDetails": "{\"institutionName\" : \"Fred Meyer\", \"institutionParentCompany\" : \"Kroger\", \"address1\" : \"2041 148th Ave NE\", \"address2\" : \"\", \"city\" : \"Bellevue\", \"state\" : \"Washington\", \"zip\" : \"98007\", \"phoneNumber\" : \"+14258658560\"}",
    "id": "{\"institutionId\" : \"97263700007\" , \"sourceId\" : \"84000000109\"}"
  }
}

DeactivateGiftCard

DeactivateGiftCard 操作により物理カードが非アクティブ状態になります。非アクティブなカードは、顧客が引き換えることはできません。

WAC は、次の条件下で無効化することができます。

  • WAC に関連付けられているギフト券コードは Amazon の顧客から申請されていません。
  • WAC は Invalidated 状態ではありません。
  • WAC は以前同じパートナーによって有効化されています。WAC を有効化したときに使用した元の activationRequestId とカード番号の両方を DeactivateGiftCard 操作で指定する必要があります。

この操作を実行するには、DeactivateGiftCard リクエストを送信します。インセンティブ API は、同期 DeactivateGiftCardResponse を返します。

この操作は冪等であるため、インセンティブ API が同じ activationRequestId を持つ複数のリクエストを受信した場合、最初のリクエストは WAC を無効化しますが、後続のすべてのレスポンスは何もしません (異なるトランザクションとしては扱われません)。

注: ActivateGiftCard/DeactivateGiftCard 操作は、物理的なギフト券に対してのみ使用する必要があります。CreateGiftCard API を使用して作成された Amazon ギフト券コードには使用しないでください。

JSONペイロードを使用した DeactivateGiftCard HTTP POST リクエストの例

署名済みリクエスト

POST /DeactivateGiftCard HTTP/1.1
accept:application/json
content-type:application/json
host:agcod-v2-gamma.amazon.com
x-amz-date:20140327T213727Z
x-amz-target:com.amazonaws.agcod.AGCODService.DeactivateGiftCard
Authorization:AWS4-HMAC-SHA256 Credential=AKIAJBYCL67O6NJUNYBQ/20140327/us-east-1/AGCODService/aws4_request, SignedHeaders=accept;content-type;host;x-amz-date;x-amz-target, Signature=86a6ce1bfdb1e0e5842b5e351ad87058b673bdc6f7fd770c6fdb8349a1de1bde
{"activationRequestId": "Awssb0327141418PM", "partnerId": "Awssb", "cardNumber": "1700000005489413"}

XMLペイロードを使用した DeactivateGiftCard HTTP POST リクエストの例

署名済みリクエスト

POST /DeactivateGiftCard HTTP/1.1
accept:charset=UTF-8
content-type:charset=UTF-8
host:agcod-v2-gamma.amazon.com
x-amz-date:20140327T213942Z
x-amz-target:com.amazonaws.agcod.AGCODService.DeactivateGiftCard
Authorization:AWS4-HMAC-SHA256 Credential=AKIAJBYCL67O6NJUNYBQ/20140327/us-east-1/AGCODService/aws4_request, SignedHeaders=accept;content-type;host;x-amz-date;x-amz-target, Signature=0ace0a2eaefc9ecf62e1224c7e59abe46af934a8e772b808c18dccdfdab009a5
<DeactivateGiftCardRequest>
    <activationRequestId>Awssb0327141418PM</activationRequestId>
    <partnerId>Awssb</partnerId>
    <cardNumber>1700000005489413</cardNumber>
</DeactivateGiftCardRequest>

DeactivateGiftCardResponse の例

JSON

{
  "activationRequestId": "Awssb0327141418PM",
  "cardInfo": {
    "cardNumber": "1700000005489413",
    "cardStatus": "AwaitingActivation",
    "expirationDate": null,
    "value": null
  },
  "status": "SUCCESS"
}

XML

<DeactivateGiftCardResponse>
  <cardInfo>
    <cardStatus>AwaitingActivation</cardStatus>
    <cardNumber>1700000005489413</cardNumber>
  </cardInfo>
  <status>SUCCESS</status>
  <activationRequestId>Awssb0327141418PM</activationRequestId>
</DeactivateGiftCardResponse>

ActivationStatusCheck

ActivationStatusCheck 操作により、ActivateGiftCard/DeactivateGiftCard 呼び出し実行後の WAC のステータスを検証します。WAC の現在のステータスを示す ActivationStatusCheckResponse によるレスポンスが返されます。

返されるWACステータスは、ActivatedAwaitingActivation、または Invalidated です。

注: CreateGiftCard/CancelGiftCard 操作とActivateGiftCard/DeactivateGiftCard 操作は混在しないようにしてください。たとえば、CreateGiftCard 呼び出しで作成されたギフト券コードを DeactivateGiftCard 呼び出しで無効化しないでください。同様に、ActivateGiftCard で有効化したギフト券コードは、CancelGiftCard 呼び出しでキャンセルしないでください。

JSON ペイロードを使用した ActivationStatusCheck HTTP POST の例

署名済みリクエスト

POST /ActivationStatusCheck HTTP/1.1
accept:application/json
content-type:application/json
host:agcod-v2-gamma.amazon.com
x-amz-date:20140327T234321Z
x-amz-target:com.amazonaws.agcod.AGCODService.ActivationStatusCheck
Authorization:AWS4-HMAC-SHA256 Credential=AKIAJBYCL67O6NJUNYBQ/20140327/us-east-1/AGCODService/aws4_request, SignedHeaders=accept;content-type;host;x-amz-date;x-amz-target, Signature=ae3aa76cdc3043d45ca962a3a85ea9b95c6202a87f9700e7fe04b4c8d956ca31
{"statusCheckRequestId": "Awssb0327141418PM", "partnerId": "Awssb", "cardNumber": "1700000005489413"}

XML ペイロードを使用した ActivationStatusCheck HTTP POST の例

署名済みリクエスト

POST /ActivationStatusCheck HTTP/1.1
accept:charset=UTF-8
content-type:charset=UTF-8
host:agcod-v2-gamma.amazon.com
x-amz-date:20140327T234634Z
x-amz-target:com.amazonaws.agcod.AGCODService.ActivationStatusCheck
Authorization:AWS4-HMAC-SHA256 Credential=AKIAJBYCL67O6NJUNYBQ/20140327/us-east-1/AGCODService/aws4_request, SignedHeaders=accept;content-type;host;x-amz-date;x-amz-target, Signature=96025ab925782595bffde21366bcd1927406ce5ddb723e89088f2cb0026040e8
<ActivationStatusCheckRequest>
  <statusCheckRequestId>Awssb0327141418PM</statusCheckRequestId>
  <partnerId>Awssb</partnerId>
  <cardNumber>1700000005489413</cardNumber>
</ActivationStatusCheckRequest>

ActivationStatusCheckResponse の例

JSON

WAC がまだ有効化されていない場合:

{
  "cardInfo": {
    "cardNumber": "1700000005489413",
    "cardStatus": "AwaitingActivation",
    "expirationDate": null,
    "value": null
  },
  "status": "SUCCESS",
  "statusCheckRequestId": "Awssb0327141418PM"
}

または、WAC がすでに有効化されている場合:

{
  "cardInfo": {
    "cardNumber": "1700000005489413",
    "cardStatus": "Activated",
    "value": null
  },
  "status": "SUCCESS",
  "statusCheckRequestId": " Awssb0327141418PM"
}

XML

WAC がまだ有効化されていない場合:

<ActivationStatusCheckResponse>
  <cardInfo>
    <cardStatus>AwaitingActivation</cardStatus>
    <cardNumber>1700000005489413</cardNumber>
  </cardInfo>
  <status>SUCCESS</status>
  <statusCheckRequestId>Awssb0327141418PM</statusCheckRequestId>
</ActivationStatusCheckResponse>

または、WAC がすでに有効化されている場合:

<ActivationStatusCheckResponse>
  <cardInfo>
    <cardStatus>Activated</cardStatus>
    <cardNumber>1700000005489413</cardNumber>
  </cardInfo>
  <status>SUCCESS</status>
  < statusCheckRequestId> Awssb0327141418PM</statusCheckRequestId>
</ActivationStatusCheckResponse>

テストの例

Activate/Deactivate 呼び出しで特定のレスポンスをシミュレートするために、モックエラーリクエスト ID を提供しています。エラーレスポンスをシミュレートする場合、モックエラーリクエスト ID を activationRequestId として渡す必要があります。残りのフィールドに対して指定された値は、レスポンスでそのまま返されます。

requestId「F0000」のモックテストに成功しました

署名済みリクエスト

POST /ActivateGiftCard HTTP/1.1
accept:charset=UTF-8
content-type:charset=UTF-8
host:agcod-v2-gamma.amazon.com
x-amz-date:20140402T234117Z
x-amz-target:com.amazonaws.agcod.AGCODService.ActivateGiftCard
Authorization:AWS4-HMAC-SHA256 Credential=AKIAJBYCL67O6NJUNYBQ/20140402/us-east-1/AGCODService/aws4_request, SignedHeaders=accept;content-type;host;x-amz-date;x-amz-target, Signature=fdd5f610c04cea390b07d6f2e4891516f6bdfa0158595e7deda8eedc8468422d
<ActivateGiftCardRequest><activationRequestId>F0000</activationRequestId> <partnerId>Awssb</partnerId><cardNumber>abc123</cardNumber><value><currencyCode>phonybucks</currencyCode><amount>10</amount></value></ActivateGiftCardRequest>

レスポンス

<ActivateGiftCardResponse>
  <cardInfo>
    <value>
      <amount>10.0</amount>
      <currencyCode>phonybucks</currencyCode>
    </value>
    <cardStatus>Activated</cardStatus>
    <cardNumber>abc123</cardNumber>
  </cardInfo>
  <status>SUCCESS</status>
  <activationRequestId>F0000</activationRequestId>
</ActivateGiftCardResponse>

requestId「F2005」のモックテストが失敗しました

署名済みリクエスト

POST /ActivateGiftCard HTTP/1.1
accept:charset=UTF-8
content-type:charset=UTF-8
host:agcod-v2-gamma.amazon.com
x-amz-date:20140402T234840Z
x-amz-target:com.amazonaws.agcod.AGCODService.ActivateGiftCard
Authorization:AWS4-HMAC-SHA256 Credential=AKIAJBYCL67O6NJUNYBQ/20140402/us-east-1/AGCODService/aws4_request, SignedHeaders=accept;content-type;host;x-amz-date;x-amz-target, Signature=fa280d821ac7a8ba3e031e463c7c121509642cd6f7bf54c3a4586bfc2d8eae8f
<ActivateGiftCardRequest><activationRequestId>F2005</activationRequestId> <partnerId>Awssb</partnerId><cardNumber>abcdef</cardNumber><value><currencyCode>phonybucks</currencyCode><amount>10</amount></value></ActivateGiftCardRequest>

レスポンス

<AGCODValidationException>
  <Message>Currency Code can't be null or empty</Message>
  <errorType>InvalidCurrencyCodeInput</errorType>
  <errorCode>F200</errorCode>
  <agcodResponse>
    <status>FAILURE</status>
  </agcodResponse>
</AGCODValidationException>

物理カード在庫の有効化 ( POSA) テストスクリプト

API との連携を確認するには、次のテストを実行します。

テストの説明 テストケースの詳細 予測される結果
1.ステータスチェック これまでに使われていないサンドボックスカード番号に対して ActivationStatusCheck リクエストを送信します。 カードのステータスが ActivatedSUCCESS レスポンスを受信する必要があります。
2.カードの有効化 ステータスチェック (1) で使用したカード番号のサンドボックス URL に ActivateGiftCard リクエストを送信します。 カードのステータスが ActivatedSUCCESS レスポンスを受信する必要があります。
3.カードの無効化 (2) で有効化されたカード番号と同じ requestId を使用して、DeactivateGiftCard リクエストを送信します。 カードのステータスが AwaitingActivationSUCCESS レスポンスを受信する必要があります。
4.冪等性の有効化 新しい ActivateGiftCard リクエストを送信し、レスポンスを記録します。同じ requestId と金額を使用して、同じ Activate リクエストを再送信します。 元のリクエストと同じ SUCCESS レスポンスを受信する必要があります。

Web アクティベーションに関する FAQ

Q.1:Activate API および Deactivate API はどのように使用すればよいですか?

A.1:ActivateGiftCard 操作を使用して、activationRequestId と金額 (カードの種類に応じた額面または仮額面) を指定して、ギフト券を有効化します。すでにギフト券を有効化していて、それをキャンセルする必要がある場合は、成功した ActivateGiftCard 操作で使用した元の activationRequestId、金額、通貨の値を指定する必要があります。ActivateGiftCard 操作または DeactivateGiftCard 操作を行うときに AGCOD ゲートウェイでタイムアウトが発生し、呼び出しが成功したかどうか不明な場合は、ActivationStatusCheck を呼び出してカードのステータスを確認します。


Q.2:ActivateGiftCard 呼び出しを実行すると、「The card was already activated with a different request id」というエラーが表示されます。

A.2:これは、別の activationRequestId で同じカードシリアル番号が有効化されたために発生している可能性があります。元の activationRequestId を見つけて、もう一度呼び出しを試してください。


Q.3:ActivateGiftCard リクエストの実行、および DeactivateGiftCard の受付処理に関して、時間的な制限はありますか?

A.3:現在のところ時間制限はありません。ギフト券の使用トランザクションが処理された後は、DeactivateGiftCard 呼び出しは失敗します。たとえば、ギフト券が顧客により請求されている場合、DeactivateGiftCard 呼び出しは失敗します。また、有効化されたギフト券は、有効期限が過ぎると無効化できません。米国、カナダ、オーストラリアで発行されたギフト券には有効期限がありません。