物理カードの有効化
連携を開始する前に、必ず Amazon インセンティブ API アカウントを設定してください。インセンティブ API アカウントを作成します。
インセンティブ API を使用すると、オンデマンドで Amazon ギフト券コードを作成し、配布することができます。この API を使用すると、電子ギフト券に Amazon ギフト券コードを挿入したり、グループギフトをサポートしたり、ロイヤルティプログラム (ポイントプログラムなど) で Amazon ギフト券コードをリアルタイムで引き換えることができます。
すべてのギフト券は、事前に生成された固有の Web アクティベーションカード (WAC) と金額 (円) に関連付けられています。ギフト券はリアルタイムで有効化できます。有効化されると、WAC に関連付けられたギフト券を配布でき、顧客は Amazon での購入に使用できます。
インセンティブ API による Web アクティベーション操作では、リアルタイムでギフト券を有効化/無効化するためのプログラマティックインターフェイスを使用できます。仮額面のカードに対して有効にする WAC の値を指定するエンドポイント、または事前に通貨建てしたカードの額面に一致するエンドポイントに同期リクエストを行います。API は、操作に対して成功または失敗のステータスを返します。
Web アクティベーションカードには、次の 2 種類があります。
- 額面式 (固定金額) - 金額はすでにギフト券コードに事前設定されています
- 仮額面式 (変動金額) - ギフト券コードが有効になったときに金額が割り当てられます
必要に応じて、アカウントマネージャから WAC 番号と関連する Amazon ギフト券コードをお知らせします。
注: Web アクティベーションカードは、承認されたパートナーによってのみ有効化できます。
- リクエスト識別子
- 操作
- テストの例
- 物理カード在庫の有効化 ( POSA) テストスクリプト
- Web アクティベーションに関する FAQ
リクエスト識別子
エンドポイントへの呼び出しでは、リクエストの本文に 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つあります。
- 長い形式 - トランザクションごとに特定の店舗ロケーションデータを含めます (
sourceId
、institutionId
、sourceDetails
を含める必要があります)。 - 短い形式 - 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 ペイメントアカウントまたはその他の前払い口座に十分な金額があるかどうかをチェックし、口座から資金を差し引き、アクティベーションステータス、cardNumber
、cardStatus
、および activationRequestId
を含む同期レスポンスメッセージで応答します。同じトランザクションに関連する後続のすべてのリクエストに対して、activationRequestId
、金額
、および currencyCode
を保存する必要があります。レスポンスメッセージには、実行ステータスとともに、いくつかのメタデータも含まれています。現在、返される Web アクティベーションカード (WAC) のステータスは、Activated
、AwaitingActivation
、Invalidated
のいずれかです。
この操作は冪等であるため、インセンティブ 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 つのオプションがあります。
- 長い形式 - パートナーは、トランザクションごとに特定の店舗ロケーションデータを含めます (
sourceId
、institutionId
、sourceDetails
を含める必要があります)。 - 短い形式 - パートナーは API リクエストに
sourceId
とinstitutionId
のみを指定します。これらの識別子を物理的な場所にマップする個別のロケーションマッピングファイルを送信する必要があります。ロケーションマッピングファイルの手順はこのスプレッドシートを参照してください。
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ステータスは、Activated、AwaitingActivation、または 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 リクエストを送信します。 |
カードのステータスが Activated の SUCCESS レスポンスを受信する必要があります。 |
2.カードの有効化 | ステータスチェック (1) で使用したカード番号のサンドボックス URL に ActivateGiftCard リクエストを送信します。 |
カードのステータスが Activated の SUCCESS レスポンスを受信する必要があります。 |
3.カードの無効化 | (2) で有効化されたカード番号と同じ requestId を使用して、DeactivateGiftCard リクエストを送信します。 |
カードのステータスが AwaitingActivation の SUCCESS レスポンスを受信する必要があります。 |
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
呼び出しは失敗します。また、有効化されたギフト券は、有効期限が過ぎると無効化できません。米国、カナダ、オーストラリアで発行されたギフト券には有効期限がありません。