Créer des codes chèques-cadeaux
Assurez-vous de configurer votre compte API Amazon Incentives avant de commencer l’intégration. Créer un compte API Incentives.
L’API Incentives vous permet de créer et de distribuer rapidement des codes de demande de chèques-cadeaux Amazon via Internet.
Vous pouvez acheter ces codes via un service Web et les distribuer codes à vos clients. Ce document décrit comment les développeurs peuvent utiliser l’API AGCOD pour créer des codes de demande de chèques-cadeaux Amazon. Vous pouvez utiliser ces codes de plusieurs façons :
- Ajout de codes de demande de chèques-cadeaux à des chèques-cadeaux électroniques
- Cadeaux de groupe
- Échange en temps réel de codes de demande de chèques-cadeaux dans des programmes de fidélité (programmes par points)
- Opérations
- Traitement des erreurs
- Traitement des codes de demande de chèques-cadeaux
- Limites des montants de transactions
- Script de test de création de codes numériques
Opérations
Votre code envoie des demandes HTTP POST signées à nos points de terminaison pour créer ou annuler des codes de demande. (Nous n’acceptons pas les demandes SOAP.) Le corps de vos demandes HTTP sera au format JSON ou XML.
Remarque : chaque demande sur un point de terminaison d’opérations de l’API Incentives doit être signée numériquement à l’aide de vos informations d’identification de sécurité de l’API Incentives et de l’algorithme de signature Signature Version 4.
Opération | Description |
---|---|
CreateGiftCard |
Si votre compte de prépaiement ne dispose pas de fonds suffisants, déduisez le montant et répondez avec un code chèque-cadeau en direct, ainsi que d’autres détails de transaction. |
CancelGiftCard |
Annule un code de demande de chèque-cadeau en direct si le chèque-cadeau n’a pas été réclamé par un client Amazon et n’a pas expiré. |
GetAvailableFunds |
Restitue le solde du compte de prépaiement. |
Le tableau suivant décrit les concepts et les éléments que vous utiliserez lors d’appels vers ces points de terminaison :
Article | Description |
---|---|
partnerId |
Un identifiant unique (SENSIBLE À LA CASSE, la 1ère lettre est en majuscule et les quatre suivantes sont en minuscules) fourni par l’équipe Amazon. Cette valeur apparaît dans la charge utile de chaque demande la passerelle AGCOD. |
creationRequestId |
Un identifiant unique pour chaque demande CreateGiftCard. Vous devez générer une nouvelle valeur pour chaque demande Create (sauf pour les nouvelles tentatives). (Voir les notes ci-dessous.) |
CreateGiftCard réponse et CancelGiftCard réponse |
Chaque demande vers ces points de terminaison renvoie une réponse que votre code doit examiner à des fins de stockage éventuel. |
Transaction |
Une transaction correspond à toute demande/réponse qui entraîne la création ou l’annulation d’un chèque-cadeau dans les systèmes Amazon. |
Pour conserver le creationRequestId
unique au niveau mondial, suivez les exigences suivantes :
- Générez une valeur alphanumérique unique au sein de votre système. Cet ID peut contenir jusqu’à 40 caractères alphanumériques.
- Commencez la
creationRequestId
valeur avec votre PartnerID.
Exemple : Si votre PartnerID est Amzn1, votre creationRequestId
doit commencer par Amzn1 et tous les caractères supplémentaires que vous souhaitez dans votre ID (exemple : Amzn154321). Puisque l’API est idempotent, si une requête est envoyée avec un creationRequestId
qui a été utilisé précédemment, l’API Incentives retournera le statut d'origine qui a été créé la première fois que le creationRequestId
a été utilisé.
CreateGiftCard
Le CreateGiftCard
opération crée un code chèque-cadeau en direct et déduit le montant du compte de prépaiement. La réponse contient les informations que vous devez stocker.
Le creationRequestId
identifie de manière unique chaque demande de création, ainsi que d’autres informations comme le montant ou la devise (en plus des métadonnées concernant cette demande, les informations d’authentification, etc.).
Pour effectuer cette opération, plusieurs étapes sont nécessaires :
- Le client envoie une demande
CreateGiftCard
à l’API Incentives. - Amazon confirme les fonds suffisants pour la demande en vérifiant le compte de prépaiement.
- Amazon déduit le montant de la commande et répond avec un
CreateGiftCard
message de réponse synchrone qui contientgcClaimCode
(le code chèque-cadeau en direct) etgcExpirationDate
(la date d'expiration ne s'applique pas aux chèques-cadeaux créés aux États-Unis, au Canada et en Australie). - Votre code doit stocker le
creationRequestId
,amount
, et les valeurscurrencyCode
et doit gérer les valeursgcClaimCode
en toute sécurité. Pour plus de détails, consultez Instructions sur le stockage des données.
Exemple de demande
POST /CreateGiftCard HTTP/1.1
accept:application/x-www-form-urlencoded; charset=UTF-8
content-type:application/x-www-form-urlencoded; charset=UTF-8
host:agcod-v2-eu-gamma.amazon.com
x-amz-date:20130910T221949Z
x-amz-target:com.amazonaws.agcod.AGCODService.CreateGiftCard
Authorization:AWS4-HMAC-SHA256 Credential=AKIAJBYCL67O6NJUNYBQ/20130910/us-east-1/AGCODService/aws4_request, SignedHeaders=accept;content-type;host;x-amz-date;x-amz-target, Signature=6dce900ea3557473ee750dfe11489dc667366ffc8823541fadf13934e5d64790
<CreateGiftCardRequest>
<creationRequestId>AwssbTSpecTest001</creationRequestId>
<partnerId>Awssb</partnerId>
<value>
<currencyCode>EUR</currencyCode>
<amount>1.00</amount>
</value>
</CreateGiftCardRequest>
Exemple de réponse
<CreateGiftCardResponse>
<gcClaimCode>W3GU-YD4NGH-88C8</gcClaimCode>
<cardInfo>
<value>
<currencyCode>EUR</currencyCode>
<amount>1.00</amount>
</value>
<cardStatus>Fulfilled</cardStatus>
</cardInfo>
<gcId>A3B6AC387ESRIX</gcId>
<creationRequestId> AwssbTSpecTest001</creationRequestId>
<gcExpirationDate>Mon Jun 09 21:59:59 UTC 2025</gcExpirationDate>
<status>SUCCESS</status>
</CreateGiftCardResponse>
Cette opération est idempotente, donc si l’API Incentives reçoit plus d’une requête avec la même creationRequestId
, seule la première demande entraînera la création d'un nouveau chèque-cadeau, et toutes les réponses subséquentes retourneront le même chèque-cadeau original. Ils ne seront pas traités comme des transactions différentes.
Une invocation de l’appel CreateGiftCard entraîne la création d’un seul code de demande de chèque-cadeau. La création par lot n’est pas prise en charge pour le moment.
Requis pour les revendeurs : ProgramID
Vous pouvez utiliser le champ programID
pour faciliter le suivi des transactions client et de cas d'utilisation. Le programID
est un identifiant approuvé, fourni par Amazon via un processus de soumission. Vous devez d’abord soumettre les informations relatives au client et à l’utilisation par l’intermédiaire de votre gestionnaire de compte. Les soumissions approuvées reçoivent un numéro de référence appelé un programID
que votre code inclura dans chaque appel de transaction à l'API. Le paramètre programID est alphanumérique et peut contenir jusqu’à 100 caractères.
L’exemple de message ci-dessous indique les modifications nécessaires pour prendre en compte le champ programID
.
<CreateGiftCardRequest>
<creationRequestId>AwssbTSpecTest001</creationRequestId>
<partnerId>Awssb</partnerId>
<value>
<currencyCode>EUR</currencyCode>
<amount>1.00</amount>
</value>
<programId>ObY8ftkZQoG3lp2cmEleqg</programId>
</CreateGiftCardRequest>
Requis pour les bons de produits : productType
Le productType
est requis pour la création d’un code chèque-cadeau Pass Cadeaux Amazon. Vous devez recevoir l’autorisation d’utiliser ce champ. Ce champ sera différent et unique pour chaque type Pass Cadeaux. Si ce champ facultatif n’est pas transmis, le code de réclamation renvoyé correspond à un chèque-cadeau Amazon. Cet attribut est alphanumérique avec une longueur maximale de 50 caractères.
Remarque : Seuls les partenaires autorisés peuvent créer des bons de produits. Pour en savoir plus, contactez votre responsable de compte.
Les types de productType sont répertoriés dans cette feuille de calcul.
<CreateGiftCardRequest> <creationRequestId>Humana_2018072650</creationRequestId> <partnerId>Humana</partnerId> <value> <currencyCode>USD</currencyCode> <amount>25</amount> </value> <productType>bookPV</productType> </CreateGiftCardRequest>
Besoins supplémentaires aux points de vente
Chaque appel à CreateGiftCard qui se produit à un point de vente doit inclure les détails de l’emplacement où la transaction a eu lieu. Les demandes adressées à ces points de terminaison peuvent inclure un transactionSource
qui décrit l'emplacement physique de l'événement.
Champ dans transactionSource |
Description |
---|---|
sourceId |
Identifiant d’une entité source de transaction (exemple : Numéro de magasin ou ID de magasin). |
institutionId |
Identifiant de l’entité parente d’une source de transaction (exemple : ID du vendeur). Si l’entité parente n’existe pas, copiez la chaîne sourceId . |
sourceDetails |
servant à fournir plus d’informations sur la source de transaction. Elle doit contenir la clé institutionName avec la valeur comme nom de la source (par exemple, Nom du vendeur). D’autres informations doivent également être incluses, comme l’emplacement de la source, le numéro de téléphone, etc. |
institutionParentCompany |
Nom de la société mère pour instituitionName . S'il n'y a pas de société mère, institutionName devrait être répété. |
Il existe deux options pour envoyer les données d’emplacement du magasin à Amazon :
- Forme longue : le partenaire fournit des données d'emplacement de magasin spécifiques pour chaque transaction (doit inclure
sourceId
,institutionId
etsourceDetails
) - Forme abrégée : le partenaire fournit uniquement le
sourceId
etinstitutionId
dans la requête API. Un fichier de mappage d’emplacements distinct doit être envoyé pour mapper ces identifiants à des emplacements physiques. Reportez-vous aux instructions du fichier de mappage d’emplacements dans cette feuille de calcul.
Un exemple de charge utile de « forme longue » pour la source de transaction aux formats XML et JSON est illustré ci-dessous. Notez que sourceDetails
doit être formaté en tant que blob JSON. Dans l’exemple JSON, l’objet blob JSON utilise la barre oblique inverse pour échapper les guillemets.
Exemple de forme longue de corps XML (notez que la valeur sourceDetails
doit être formatée en tant que blob JSON) :
<CreateGiftCardRequest>
<creationRequestId>AppptsDCreat1221</creationRequestId>
<partnerId>Apppt</partnerId>
<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>
</CreateGiftCardRequest>
Exemple de forme courte du corps XML :
<CreateGiftCardRequest>
<creationRequestId>AppptsDCreat1221</creationRequestId>
<partnerId>Apppt</partnerId>
<transactionSource>
<id>{"institutionId" : "97263700007" , "sourceId" : "84000000109"}</id>
</transactionSource>
</CreateGiftCardRequest>
Exemple de forme courte du corps JSON :
{
"creationRequestId": "Myid1RequestId",
"partnerId": "Myid1",
"value": {
"currencyCode": "USD",
"amount": 30
},
"transactionSource": {
"sourceId": "59990492",
"institutionId": "99990492"
}
}
Exemple de forme longue du corps JSON :
{
"creationRequestId": "Myid1RequestId",
"partnerId": "Myid1",
"value": {
"currencyCode": "USD",
"amount": 30
},
"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\"}"
}
}
Facultatif : attribut de référence externe
Vous pouvez utiliser le champ externalReference
pour transmettre votre propre identifiant de référence sous forme de chaîne lorsque vous effectuez des demandes de codes chèques-cadeaux (jusqu’à 100 caractères Unicode). Le externalReference
peut servir à stocker un mappage qui vous sera utile lors du suivi. Par exemple, vous pouvez spécifier des demandes de remboursement, des bornes, des dossiers clients, des numéros de commande, des comptes clients de revendeur, ou stocker des informations dans le champ externalReference
.
Remarque : seules les références d’ordre opaques sans contenu en langage naturel sont autorisées dans ce champ.
L'identificateur transmis dans le champ externalReference
apparaît avec la transaction dans le portail de l'API Incentives, dans le téléchargement de l’activité détaillée .
L'exemple suivant inclut un champ externalReference
.
POST /CreateGiftCard HTTP/1.1 accept:application/x-www-form-urlencoded; charset=UTF-8 content-type:application/x-www-form-urlencoded; charset=UTF-8 host:agcod-v2-eu-gamma.amazon.com x-amz-date:20130910T221949Z x-amz-target:com.amazonaws.agcod.AGCODService.CreateGiftCard Authorization:AWS4-HMAC-SHA256 Credential=AKIAJBYCL67O6NJUNYBQ/20130910/us-east-1/AGCODService/aws4_request, SignedHeaders=accept;content-type;host;x-amz-date;x-amz-target, Signature=6dce900ea3557473ee750dfe11489dc667366ffc8823541fadf13934e5d64790 <CreateGiftCardRequest> <creationRequestId>AwssbTSpecTest001</creationRequestId> <partnerId>Awssb</partnerId> <value> <currencyCode>EUR</currencyCode> <amount>1.00</amount> </value> <externalReference>889jj14797</externalReference> </CreateGiftCardRequest>
Champs de réponse
Ces éléments peuvent apparaître dans le corps de la réponse d’un appel réussi à l’opération CreateGiftCard.
Article | Description |
---|---|
gcClaimCode |
Code que le client pourra échanger manuellement par la suite. Stockez-le dans un endroit sécurisé et effacez-le après distribution. Il sera disponible ultérieurement auprès d’Amazon via un appel identique à CreateGiftCard (voir ci-dessous). |
amount |
Montant du chèque, dans la devise correspondante. |
currencyCode |
Code de devise ISO-4217 qui spécifie la devise du chèque. |
cardStatus |
Statut du chèque après cette opération. Valeur de la réussite : Fulfilled |
gcId |
Identifiant unique de chèque-cadeau qui indique qu’un appel à CreateGiftCard a généré un code gcClaimCode. |
creationRequestId |
Identifiant unique pour cette demande. Commence par l’ID du partenaire. |
gcExpirationDate |
Date d’expiration. Le chèque ne peut pas être réclamé par le client après cette date. (Non disponible pour les chèques émis aux États-Unis, au Canada ou en Australie.) |
status |
Résultat de cette opération. Valeur de la réussite : SUCCESS |
Vous pouvez demander à nouveau un gcClaimCode
ultérieurement en appelant CreateGiftCard
à nouveau avec les mêmes valeurs creationRequestId
, currencyCode
, et les valeurs amount
.
Le CreateGiftCard
renvoie le statut de carte actuel d’un code chèque-cadeau.
Fulfilled
- Le code chèque-cadeau a été créé avec succès.
<CreateGiftCardResponse>
<gcClaimCode>KR2G-W4CQNJ-WQS8</gcClaimCode>
<cardInfo>
<value>
<currencyCode>USD</currencyCode>
<amount>1.0</amount>
</value>
<cardStatus>Fulfilled</cardStatus>
</cardInfo>
<gcId>A2BN7W2SGEZFFE</gcId>
<creationRequestId>Awssb-ABR-09</creationRequestId>
<status>SUCCESS</status>
</CreateGiftCardResponse>
RefundedToPurchaser
–Le code chèque-cadeau a été annulé avec succès et remboursé lors d'un appel préalable à CancelGiftCard
.
<CreateGiftCardResponse>
<gcClaimCode>KR2G-W4CQNJ-WQS8</gcClaimCode>
<cardInfo>
<value>
<currencyCode>USD</currencyCode>
<amount>1.0</amount>
</value>
<cardStatus>RefundedToPurchaser</cardStatus>
</cardInfo>
<gcId>A2BN7W2SGEZFFE</gcId>
<creationRequestId>Awssb-ABR-09</creationRequestId>
<status>SUCCESS</status>
</CreateGiftCardResponse>
Expired
– Le code chèque-cadeau n’a pas été utilisé avant la date d’expiration.
<CreateGiftCardResponse>
<gcClaimCode>G22G-WACQNJ-27S8</gcClaimCode>
<cardInfo>
<value>
<currencyCode>JPY</currencyCode>
<amount>1.0</amount>
</value>
<cardStatus>Expired</cardStatus>
</cardInfo>
<gcId>A2BWWZ1SGEZF2F</gcId>
<creationRequestId>Awssb-ABR-10</creationRequestId>
<status>SUCCESS</status>
</CreateGiftCardResponse>
CancelGiftCard
Vous pouvez annuler un chèque-cadeau, tant qu’il n’est pas réclamé par un client Amazon. Le creationRequestId
original utilisé pour créer le chèque-cadeau sera nécessaire pour annuler un chèque-cadeau.
Remarque : cette opération ne peut être exécutée que dans les 15 minutes suivant l’horodatage de la demande de création. Une fois la période écoulée, le code ne pourra pas être annulé et des frais seront déduits de votre solde prépayé.
Pour effectuer cette opération, envoyez une demande CancelGiftCard. L’API Incentives répondra avec un CancelGiftCardResponse synchrone.
Les deux opérations CreateGiftCard et CancelGiftCard sont idempotentes, Par conséquent, si l'API Incentives reçoit plus d'une telle requête avec le même creationRequestId
, alors la première demande entraînera la création/l’annulation de la demande de chèque-cadeau, tandis que toutes les réponses ultérieures ne feront rien et ne seront pas traitées comme une transaction unique.
Exemple de demande
POST /CancelGiftCard HTTP/1.1
accept:application/x-www-form-urlencoded; charset=UTF-8
content-type:application/x-www-form-urlencoded; charset=UTF-8
host:agcod-v2-eu-gamma.amazon.com
x-amz-date:20130910T222449Z
x-amz-target:com.amazonaws.agcod.AGCODService.CancelGiftCard
Authorization:AWS4-HMAC-SHA256 Credential=AKIAJBYCL67O6NJUNYBQ/20130910/us-east-1/AGCODService/aws4_request, SignedHeaders=accept;content-type;host;x-amz-date;x-amz-target, Signature=0bef87e8b01aec57fca532e79a5819fcc55d3c02cfafcdf08495ed4a26d0cd87
<CancelGiftCardRequest>
<creationRequestId>AwssbTSpecTest001</creationRequestId>
<partnerId>Awssb</partnerId>
</CancelGiftCardRequest>
Exemple de réponse
<CancelGiftCardResponse>
<creationRequestId>AwssbTSpecTest001</creationRequestId>
<status>SUCCESS</status>
</CancelGiftCardResponse>
GetAvailableFunds
Cette opération renvoie le montant des fonds actuellement disponibles sur votre compte Amazon Incentives. Il offre une alternative à la connexion au portail de l’API Incentives pour afficher les fonds disponibles. Vous pouvez utiliser cette opération pour surveiller votre solde et déclencher des alertes.
Remarques :
- Cette opération est limitée à une transaction par seconde. Les tentatives d’envoi de demandes à un taux plus élevé seront ignorées.
- Étant donné qu’il n’y a pas de solde de compte réel dans un environnement sandbox, l’opération GetAvailableFunds renverra toujours un solde nul.
Paramètre de la demande | Description |
---|---|
partnerId |
Identifiant unique sensible à la casse affecté à votre compte par Amazon |
Paramètre de la réponse | Description |
---|---|
amount |
Valeur des fonds actuellement disponibles sur votre compte prépayé/postpayé. Remarque : un environnement sandbox renverra toujours une valeur zéro. |
currencyCode |
Code de devise ISO-4217 |
status |
Statut de la demande En fonctionnement normal, cette valeur est success . |
timestamp |
Date de retour au format UTC (aaaa-mm-jj hh:mm:ss) |
Exemple de demande
POST
/GetAvailableFunds HTTP/1.1
accept:application/json
host:agcod-v2-gamma.amazon.com
x-amz-date:20170111T000339Z
x-amz-target:com.amazonaws.agcod.AGCODService.GetAvailableFunds
Authorization:AWS4-HMAC-SHA256 Credential=AKIAIGHKAVYIDBOH3O3A/20170111/us-east-1/AGCODService/aws4_request,SignedHeaders=accept;host;x-amz-date;x-amz-target, Signature=ec86661c1d39f74b5891666505bb7656b172b0d060d911bee3b6a1c29ae17657
{"partnerId": "Aptuk"}
Exemple de réponse
{
"availableFunds":{
"amount":10.0,
"currencyCode":"USD"
},
"status":"SUCCESS",
"timestamp":20170915T200959Z
}
Exemple de demandes d’opération avec détails de signature
Cette section présente des exemples d’appels à CreateGiftCard et CancelGiftCard, y compris des exemples de valeurs de signature.
Paramètres requis
Remarque : la valeur de la devise (USD, GBP, EUR, JPY, AUD, TRY, AED) peut varier en fonction de vos paramètres régionaux.
En-tête | Valeur |
---|---|
Méthode de demande HTTP | POST |
URI canonique | /CreateGiftCard |
Chaîne de requête canonique | '' (chaîne vide) |
En-têtes canoniques | (Voir ci-dessous) |
En-têtes signés | content-type;host;x-amz-date;x-amz-target |
Algorithme | AWS4-HMAC-SHA256 |
Date de la demande | 20130910T221949Z |
Portée des informations d’identification | 20130910/us-east-1/AGCODService/aws4_request |
Nom du service | AGCODService |
ID de la demande de création | AwssbTSpecTest001 |
Hôte | agcod-v2-gamma.amazon.com (utiliser le point de terminaison applicable) |
Nom de la région | us-east-1 (utiliser le point de terminaison applicable) |
ID de partenaire | Awssb (utilisez votre propre ID de partenaire) |
Montant | 1 |
Code de devise | USD |
Les en-têtes canoniques peuvent ressembler à ceci :
accept:application/json
content-type:application/json
host:agcod-v2-gamma.amazon.com
x-amz-date:20130910T222620Z
x-amz-target:com.amazonaws.agcod.AGCODService.CreateGiftCard
ou ceci :
content-type:application/x-www-form-urlencoded; charset=UTF-8
host:agcod-v2-gamma.amazon.com
x-amz-date:20130910T221949Z
x-amz-target:com.amazonaws.agcod.AGCODService.CreateGiftCard
CreateGiftCard
Remarque : les exemples ci-dessous ont été créés à l’aide d’un compte de test Amazon. Vous devez utiliser vos propres identifiants d’accès (accessKeyID, partnerID, requestID).
Exemple de demande HTTP POST CreateGiftCard avec charge utile JSON
CHARGE UTILE
{"creationRequestId": "AwssbTSpecTest001", "partnerId": "Awssb", "value": {"currencyCode": "USD", "amount": 1.00}}
CHARGE UTILE HACHÉE
6193dc333ef1db9edae1f17989c71ce5f1939706a79be5bb924fc2e92bc23961
DEMANDE CANONIQUE
POST
/CreateGiftCard
accept:application/json
content-type:application/json
host:agcod-v2-gamma.amazon.com
x-amz-date:20130910T222620Z
x-amz-target:com.amazonaws.agcod.AGCODService.CreateGiftCard
accept;content-type;host;x-amz-date;x-amz-target
6193dc333ef1db9edae1f17989c71ce5f1939706a79be5bb924fc2e92bc23961
DEMANDE CANONIQUE HACHÉE
447277eb7144a2280508b8bf047706381beb832306a5b28ee0bb69a00b9bde0d
CHAÎNE À SIGNER
AWS4-HMAC-SHA256
20130910T222620Z
20130910/us-east-1/AGCODService/aws4_request
447277eb7144a2280508b8bf047706381beb832306a5b28ee0bb69a00b9bde0d
CLÉ DE SIGNATURE DÉRIVÉE
48428b0d3bd97f08fbefc9d675975d7d914788ee3bc509ae27decf874f16921b
SIGNATURE
66872de215ae457cd978a49be377caf7cd3b5ab2914785339c2b8242e3631a71
POINT DE TERMINAISON
agcod-v2-gamma.amazon.com
DEMANDE SIGNÉE
POST /CreateGiftCard HTTP/1.1
accept:application/json
content-type:application/json
host:agcod-v2-gamma.amazon.com
x-amz-date:20130910T222620Z
x-amz-target:com.amazonaws.agcod.AGCODService.CreateGiftCard
Authorization:AWS4-HMAC-SHA256 Credential=AKIAJBYCL67O6NJUNYBQ/20130910/us-east-1/AGCODService/aws4_request, SignedHeaders=accept;content-type;host;x-amz-date;x-amz-target, Signature=66872de215ae457cd978a49be377caf7cd3b5ab2914785339c2b8242e3631a71
{"creationRequestId": "AwssbTSpecTest001", "partnerId": "Awssb", "value": {"currencyCode": "USD", "amount": 1.00}}
Exemple de demande HTTP POST CreateGiftCard avec charge utile XML
CHARGE UTILE
<CreateGiftCardRequest>
<creationRequestId>AwssbTSpecTest001</creationRequestId>
<partnerId>Awssb</partnerId>
<value>
<currencyCode>USD</currencyCode>
<amount>1.00</amount>
</value>
</CreateGiftCardRequest>
CHARGE UTILE HACHÉE
e0d405956e60622bee7a1161b179f7b77149cd0e43f389b0baad8ea9fc8503e0
DEMANDE CANONIQUE
POST
/CreateGiftCard
accept:application/x-www-form-urlencoded; charset=UTF-8
content-type:application/x-www-form-urlencoded; charset=UTF-8
host:agcod-v2-gamma.amazon.com
x-amz-date:20130910T221949Z
x-amz-target:com.amazonaws.agcod.AGCODService.CreateGiftCard
accept;content-type;host;x-amz-date;x-amz-target
e0d405956e60622bee7a1161b179f7b77149cd0e43f389b0baad8ea9fc8503e0
DEMANDE CANONIQUE HACHÉE
4378e45d89236494f3321d3690cf624f0e3fe91d22bdf1bf0a0a6cde85fd86eb
CHAÎNE À SIGNER
AWS4-HMAC-SHA256
20130910T221949Z
20130910/us-east-1/AGCODService/aws4_request
4378e45d89236494f3321d3690cf624f0e3fe91d22bdf1bf0a0a6cde85fd86eb
CLÉ DE SIGNATURE DÉRIVÉE
48428b0d3bd97f08fbefc9d675975d7d914788ee3bc509ae27decf874f16921b
SIGNATURE
6dce900ea3557473ee750dfe11489dc667366ffc8823541fadf13934e5d64790
POINT DE TERMINAISON
agcod-v2-gamma.amazon.com
DEMANDE SIGNÉE
POST /CreateGiftCard HTTP/1.1
accept:application/x-www-form-urlencoded; charset=UTF-8
content-type:application/x-www-form-urlencoded; charset=UTF-8
host:agcod-v2-gamma.amazon.com
x-amz-date:20130910T221949Z
x-amz-target:com.amazonaws.agcod.AGCODService.CreateGiftCard
Authorization:AWS4-HMAC-SHA256 Credential=AKIAJBYCL67O6NJUNYBQ/20130910/us-east-1/AGCODService/aws4_request, SignedHeaders=accept;content-type;host;x-amz-date;x-amz-target, Signature=6dce900ea3557473ee750dfe11489dc667366ffc8823541fadf13934e5d64790
<CreateGiftCardRequest>
<creationRequestId>AwssbTSpecTest001</creationRequestId>
<partnerId>Awssb</partnerId>
<value>
<currencyCode>USD</currencyCode>
<amount>1.00</amount>
</value>
</CreateGiftCardRequest>
Exemple de réponse CreateGiftCard
Corps de réponse JSON
{
"cardInfo": {
"cardNumber": null,
"cardStatus": "RefundedToPurchaser",
"expirationDate": null,
"value": {
"amount": 1,
"currencyCode": "USD"
}
},
"creationRequestId": "AwssbTSpecTest001",
"gcClaimCode": "Z7NV-LBBG39-75MU",
"gcExpirationDate": null,
"gcId": "A2GCN9BRX5QS76",
"status": "SUCCESS"
}
Corps de réponse XML
<CreateGiftCardResponse>
<creationRequestId>AwssbTSpecTest001</creationRequestId>
<cardInfo>
<value>
<amount>1.0</amount>
<currencyCode>USD</currencyCode>
</value>
<cardStatus>Fulfilled</cardStatus>
</cardInfo>
<status>SUCCESS</status>
<gcId>A2GCN9BRX5QS76</gcId>
<gcClaimCode>Z7NV-LBBG39-75MU</gcClaimCode>
</CreateGiftCardResponse>
CancelGiftCard
Exemple de demande HTTP POST CancelGiftCard avec charge utile JSON
CHARGE UTILE
{"creationRequestId": "AwssbTSpecTest001", "partnerId": "Awssb", "gcId": "A2GCN9BRX5QS76"}
CHARGE UTILE HACHÉE
7492d98f807281c82b8abef76b75398d72bf4265c8a7ea1726b5cbee0a39be9d
DEMANDE CANONIQUE
POST
/CancelGiftCard
accept:application/json
content-type:application/json
host:agcod-v2-gamma.amazon.com
x-amz-date:20130910T222545Z
x-amz-target:com.amazonaws.agcod.AGCODService.CancelGiftCard
accept;content-type;host;x-amz-date;x-amz-target
7492d98f807281c82b8abef76b75398d72bf4265c8a7ea1726b5cbee0a39be9d
DEMANDE CANONIQUE HACHÉE
0488271c96d8657cd9b4dade4a2e6f357b4fa1c4666d4a14f3c02cbe2d6d6a9b
CHAÎNE À SIGNER
AWS4-HMAC-SHA256
20130910T222545Z
20130910/us-east-1/AGCODService/aws4_request
0488271c96d8657cd9b4dade4a2e6f357b4fa1c4666d4a14f3c02cbe2d6d6a9b
CLÉ DE SIGNATURE DÉRIVÉE
48428b0d3bd97f08fbefc9d675975d7d914788ee3bc509ae27decf874f16921b
SIGNATURE
7c27005003a87310297d588749efdd5203deabed8610fafe8ba8e82f0e759949
POINT DE TERMINAISON
agcod-v2-gamma.amazon.com
DEMANDE SIGNÉE
POST /CancelGiftCard HTTP/1.1
accept:application/json
content-type:application/json
host:agcod-v2-gamma.amazon.com
x-amz-date:20130910T222545Z
x-amz-target:com.amazonaws.agcod.AGCODService.CancelGiftCard
Authorization:AWS4-HMAC-SHA256 Credential=AKIAJBYCL67O6NJUNYBQ/20130910/us-east-1/AGCODService/aws4_request, SignedHeaders=accept;content-type;host;x-amz-date;x-amz-target, Signature=7c27005003a87310297d588749efdd5203deabed8610fafe8ba8e82f0e759949
{
"creationRequestId": "AwssbTSpecTest001",
"partnerId": "Awssb",
"gcId": "A2GCN9BRX5QS76"
}
Exemple de demande HTTP POST CancelGiftCard avec charge utile XML
CHARGE UTILE
<CancelGiftCardRequest>
<creationRequestId>AwssbTSpecTest001</creationRequestId>
<partnerId>Awssb</partnerId>
<gcId>A2GCN9BRX5QS76</gcId>
</CancelGiftCardRequest>
CHARGE UTILE HACHÉE
bea0ab33efe45db874d639de92b3b286353c7f2d494e20889d70f02d9574316d
DEMANDE CANONIQUE
POST
/CancelGiftCard
accept:application/x-www-form-urlencoded; charset=UTF-8
content-type:application/x-www-form-urlencoded; charset=UTF-8
host:agcod-v2-gamma.amazon.com
x-amz-date:20130910T222449Z
x-amz-target:com.amazonaws.agcod.AGCODService.CancelGiftCard
accept;content-type;host;x-amz-date;x-amz-target
bea0ab33efe45db874d639de92b3b286353c7f2d494e20889d70f02d9574316d
DEMANDE CANONIQUE HACHÉE
8b9e30824d9aaf2539caa2e56519475185fda4850f138db66b7fe4c223618e11
CHAÎNE À SIGNER
AWS4-HMAC-SHA256
20130910T222449Z
20130910/us-east-1/AGCODService/aws4_request
8b9e30824d9aaf2539caa2e56519475185fda4850f138db66b7fe4c223618e11
CLÉ DE SIGNATURE DÉRIVÉE
48428b0d3bd97f08fbefc9d675975d7d914788ee3bc509ae27decf874f16921b
SIGNATURE
0bef87e8b01aec57fca532e79a5819fcc55d3c02cfafcdf08495ed4a26d0cd87
POINT DE TERMINAISON
agcod-v2-gamma.amazon.com
DEMANDE SIGNÉE
POST /CancelGiftCard HTTP/1.1
accept:application/x-www-form-urlencoded; charset=UTF-8
content-type:application/x-www-form-urlencoded; charset=UTF-8
host:agcod-v2-gamma.amazon.com
x-amz-date:20130910T222449Z
x-amz-target:com.amazonaws.agcod.AGCODService.CancelGiftCard
Authorization:AWS4-HMAC-SHA256 Credential=AKIAJBYCL67O6NJUNYBQ/20130910/us-east-1/AGCODService/aws4_request, SignedHeaders=accept;content-type;host;x-amz-date;x-amz-target, Signature=0bef87e8b01aec57fca532e79a5819fcc55d3c02cfafcdf08495ed4a26d0cd87
<CancelGiftCardRequest>
<creationRequestId>AwssbTSpecTest001</creationRequestId>
<partnerId>Awssb</partnerId>
<gcId>A2GCN9BRX5QS76</gcId>
</CancelGiftCardRequest>
Exemple de réponse CancelGiftCard
Corps de réponse JSON
{"creationRequestId":"AwssbTSpecTest001","gcId":"A2GCN9BRX5QS76","status":"SUCCESS"}
Corps de réponse XML
<CancelGiftCardResponse>
<creationRequestId>AwssbTSpecTest001</creationRequestId>
<status>SUCCESS</status>
<gcId>A2GCN9BRX5QS76</gcId>
</CancelGiftCardResponse>
Paramètres requis
Remarque : la valeur de la devise (USD, GBP, EUR, JPY, AUD, TRY, AED) peut varier en fonction de vos paramètres régionaux.
- Méthode de demande HTTP=
POST
- URI canonique=
/CancelGiftCard
- Chaîne de requête canonique=
''
(chaîne vide) -
En-têtes canoniques=
accept:application/json content-type:application/json host:agcod-v2-gamma.amazon.com x-amz-date:20130910T222545Z x-amz-target:com.amazonaws.agcod.AGCODService.CancelGiftCard
ou
accept:application/x-www-form-urlencoded; charset=UTF-8 content-type:application/x-www-form-urlencoded; charset=UTF-8 host:agcod-v2-gamma.amazon.com x-amz-date:20130910T222449Z x-amz-target:com.amazonaws.agcod.AGCODService.CancelGiftCard
- En-têtes signés=
content-type;host;x-amz-date;x-amz-target
- Algorithme=
AWS4-HMAC-SHA256
- Date de demande=
20130910T222449Z
- Portée de l’identification=
20130910/us-east-1/AGCODService/aws4_request
- Nom du service=
AGCODService
- ID de la demande de création=
AwssbTSpecTest001
- Hôte=
agcod-v2-gamma.amazon.com (use applicable endpoint)
- Nom de la région=
us-east-1
(utiliser le point de terminaison applicable) - ID de partenaire=
Awssb
(utilisez votre propre ID de partenaire)
Exemple de signature V4 de réponse connue
Pour vous aider dans vos activités de développement, nous avons inclus un exemple de test avec une clé d’accès et des clés secrètes fictives pour générer un test de réponse connue à différentes étapes de la signature ci-dessous. Vous trouverez ici des instructions sur l’exécution de chaque étape de la signature. Reportez-vous également à ce diagramme du processus.
Paramètres utilisés
Partner ID: Test
creationRequestId: Test001
AGCODAccess Key: fake-access-key
AGCOD Secret Key: fake-secret-key
Timestamp: 20140205T171524Z
kSecret: votre-identifiant-de-sécurité
kDate: 41b8dd5e0d1716ba90401d46b58b12d500accdd2ea9c2b22a2d275946c9d978e
kRegion: 7b47360ce7afbe1b839e0b0e55834df99979a5414bc7f846b17c9374d230d45d
kService: 68136b0a64b2d01c8934370288b46500243645e468f521503e0d1fa73526d409
kSigning: 27cb9f5b991c2933f5faae716e99bd50c66a45811b1424128269312bdd570dff
CHARGE UTILE
<CreateGiftCardRequest>
<creationRequestId>Test001</creationRequestId>
<partnerId>Test</partnerId>
<value>
<currencyCode>USD</currencyCode>
<amount>10</amount>
</value>
</CreateGiftCardRequest>
CHARGE UTILE HACHÉE
50bf24a091a7463bb4a2661f93a7299c94774bc81f9fddf02af2925922b869dc
DEMANDE CANONIQUE
POST
/CreateGiftCard
accept:charset=UTF-8
content-type:charset=UTF-8
host:agcod-v2-gamma.amazon.com
x-amz-date:20140205T171524Z
x-amz-target:com.amazonaws.agcod.AGCODService.CreateGiftCard
accept;content-type;host;x-amz-date;x-amz-target
50bf24a091a7463bb4a2661f93a7299c94774bc81f9fddf02af2925922b869dc
DEMANDE CANONIQUE HACHÉE
7d9f2765e4f23e85d3dce4ae264dac4f784c152f3746aff45ac7f3afd7fad649
CHAÎNE À SIGNER
AWS4-HMAC-SHA256
20140205T171524Z
20140205/us-east-1/AGCODService/aws4_request
7d9f2765e4f23e85d3dce4ae264dac4f784c152f3746aff45ac7f3afd7fad649
CLÉ DE SIGNATURE DÉRIVÉE
27cb9f5b991c2933f5faae716e99bd50c66a45811b1424128269312bdd570dff
SIGNATURE
e32110cf663ed86460621dff12bb1139afe29d015584d208df09f149fa1b69d1
POINT DE TERMINAISON
agcod-v2-gamma.amazon.com
DEMANDE SIGNÉE
POST /CreateGiftCard HTTP/1.1
accept:charset=UTF-8
content-type:charset=UTF-8
host:agcod-v2-gamma.amazon.com
x-amz-date:20140205T171524Z
x-amz-target:com.amazonaws.agcod.AGCODService.CreateGiftCard
Authorization:AWS4-HMAC-SHA256 Credential=fake-aws-key/20140205/us-east-1/AGCODService/aws4_request, SignedHeaders=accept;content-type;host;x-amz-date;x-amz-target, Signature=e32110cf663ed86460621dff12bb1139afe29d015584d208df09f149fa1b69d1
<CreateGiftCardRequest>
<creationRequestId>Test001</creationRequestId>
<partnerId>Test</partnerId>
<value>
<currencyCode>USD</currencyCode>
<amount>10</amount>
</value>
</CreateGiftCardRequest>
Traitement des erreurs
Chaque réponse envoyée à partir de l’API Incentives possède un élément status
qui décrit l'état d'exécution de l'opération particulière ; il y a trois valeurs statusCode
: SUCCESS, FAILURE
, et les valeurs RESEND
. Reportez-vous à la section Traitement des erreurs pour plus de détails.
Codes d’erreur
Nous fournissons des ID de demande d’erreur simulée pour simuler certaines réponses d’erreur concernant les appels de création ou d’annulation. Lors de la simulation d’une réponse d’erreur, l’ID de demande d’erreur simulée doit être transmis en tant que le champ creationRequestId
, semblable à un ID de requête normal. Les valeurs transmises pour les autres champs seront simplement répercutées dans la réponse. Pour simuler une réponse de réussite, la valeur de F1000 peut être transmise pour l’ID de demande d’erreur simulée. Reportez-vous aux sections Exemples de tests de simulation et Traitement des erreurs pour plus de détails.
Traitement des codes de demande de chèques-cadeaux
Les codes de demande de chèques-cadeaux ont une valeur monétaire et leur traitement doit être sécurisé. Nous recommandons de mettre en place des contrôles pour assurer la protection des données sensibles traitées (codes de demande de chèques-cadeaux, informations d’identification d’accès, etc.), notamment en définissant des audits appropriés sur les systèmes de fichiers et les bases de données servant au stockage des informations sensibles. Vous devez modifier périodiquement les mots de passe de vos comptes du portail de l’API Incentives ayant accès aux informations d’identification des clés secrètes. Nous vous recommandons d’effectuer une rotation de vos mots de passe au moins une fois tous les 180 jours (6 mois). Vous pouvez générer de nouvelles clés d’accès sur le portail de l’API Incentives à tout moment. Cependant, AGCOD ne prend pas en charge la rotation automatique des clés.
- Les codes doivent rester confidentiels pendant le transfert entre Amazon et vos systèmes.
- Les codes de demande ne doivent pas être stockés.
- Des pratiques sécuritaires de traitement des données devraient être mises en place dans vos locaux où les codes sont accessibles (en transfert ou au repos).
Pour plus de détails, consultez la section Instructions sur le stockage des données dans l’API Incentives.
Remarque : vous êtes responsable des codes de demande dès que l’API Incentives répond avec succès à votre demande CreateGiftCard.
Limites des montants de transactions
Les appels à CreateGiftCard doivent spécifier un code de devise autorisé par votre compte, dans la plage autorisée pour le pays d’émission.
Pays | Code de devise | Plage |
---|---|---|
Australie | AUD | 1 $ - 2 000 $ |
Canada | CAD | 0,01 $ - 5 000 $ |
France | EUR | 0,01 € - 5 000 € |
Allemagne | EUR | 0,01 € - 5 000 € |
Italie | EUR | 0,01 € - 5 000 € |
Japon | JPY | 1 ¥ - 500 000 ¥ |
Mexique | MXN | 5 $ - 5 000 $ |
Espagne | EUR | 0,01 € - 5 000 € |
Turquie | TRY | 1 ₺ - 5 000 ₺ |
Émirats arabes unis | AED | 1 AED - 6 000 AED |
Royaume-Uni | GBP | 0,01 £ - 5 000 £ |
États-Unis | USD | 0,01 $ - 2 000 $ |
Script de test de création de codes numériques
Pour vérifier votre intégration avec l’API, exécutez les tests suivants.
Description du test | Détails du cas de test | Résultat attendu |
---|---|---|
1. Création d’un code de demande | Lancer une demande CreateGiftCard pour un montant valide tel que 100 unités de votre devise et gérer la réponse reçue. |
Vous devriez recevoir une réponse SUCCESS . Votre système doit gérer correctement la réponse SUCCESS, en fonction des exigences. |
2. Annulation d’un code de demande | Lancer une demande CancelGiftCard pour creationRequestId créé dans test (1). |
Vous devriez recevoir une réponse SUCCESS . Votre système doit gérer correctement la réponse SUCCESS, en fonction des exigences. |
3. Idempotence | Lancer une demande CreateGiftCard pour 1000 unités de votre devise et gérer la réponse reçue. Envoyer une autre requête CreateGiftCard avec le même creationRequestId . |
Vous devriez recevoir une réponse SUCCESS et le même gcId et claimCode . |