API transaction validation FR
From Wiki
Deutsch | English | Español | Français | Italiano | Nederlands | Polski | Português (Brasil) | Svenska
Contents
|
Point de terminaison API de validation des transactions
The Awin advertiser API supports transaction validations,L'interface de programmation API des annonceurs Awin prend en charge les validations des transactions, lesquelles vous permettent de valider, de refuser et de modifier les transactions avec l'interface de programmation API d'Awin.
L'API de validation des transactions propose un point de terminaison par lot, qui vous permet de regrouper plusieurs demandes de validation en une seule soumission.
Le point de terminaison API de validation des transactions fait partie de l'infrastructure API globale d'Awin. En tant que tel, le point de terminaison utilise un jeton OAUTH2 basé sur l'utilisateur. Pour obtenir de plus amples informations sur OAUTH2, veuillez consulter la page Wiki d'authentification et d'autorisation API.
Awin s'efforce de traiter vos demandes de validation de transactions dans le respect des restrictions temporelles financières de votre entreprise. Par conséquent, nous vous conseillons de soumettre vos demandes avant 12h00 HNEC le 15ème jour du mois, et avant 12h00 HNEC le dernier jour du mois. |
Validation des transactions par lots
La validation des transactions par lots permet le transfert et le traitement ultérieur d'une liste d'une ou plusieurs transactions au format JSON en une seule fois. Afin de vous permettre de suivre la progression de vos demandes de validation, Awin fournit un jobID pouvant être suivi.
Comment consulter l'interface de programmation API
Méthode :
POST
URL:
https://api.awin.com/advertisers/<yourAdvertiserId>/transactions/batch
Corps de la demande :
Le corps de la demande contient un tableau d'objets de transaction. Chaque objet représente l'action à exécuter, la transaction et, le cas échéant, tout paramètre supplémentaire.
Les transactions sont identifiées soit par le transactionId, soit par orderRef, transactionDate et timezone.
"transactionId": "484816099",
"orderRef": "123ABC555", "transactionDate": "2017-02-20T22:04:00", "timezone": "Europe/Paris"
Opérations disponibles
Valider
Validation avec transactionId :
{ "action": "approve", "transaction": { "transactionId": 1234567 } }
Validation avec orderRef, transactionDate et timezone :
{ "action": "approve", "transaction": { "orderRef": "123ABC555", "transactionDate": "2017-02-20T22:04:00", "timezone": "Europe/Paris" } }
Refuser
Refuser avec transactionId :
{ "action": "decline", "transaction": { "transactionId": 1234567, "declineReason": "order returned" } }
Refuser avec orderRef, transactionDate et timezone :
{ "action": "decline", "transaction": { "orderRef": "123ABC555", "transactionDate": "2017-02-20T22:04:00", "timezone": "Europe/Paris", "declineReason": "order returned" } }
Modifier
Modifier avec transactionId :
{ "action": "amend", "approve": false, "transaction": { "transactionId": 1234567, "amendReason": "partial return", "currency": "EUR", "saleAmount": 55.96, "transactionParts": [ { "amount": 44.76, "commissionGroupCode": "DEFAULT" }, { "amount": 11.20, "commissionGroupCode": "EXISTING" } ] } }
Modifier avec orderRef, transactionDate et timezone :
{ "action": "amend", "approve": false, "transaction": { "orderRef": "123ABC555", "transactionDate": "2017-02-20T22:04:00", "timezone": "Europe/Paris", "amendReason": "partial return", "currency": "EUR", "saleAmount": 55.96, "transactionParts": [ { "amount": 44.76, "commissionGroupCode": "DEFAULT" }, { "amount": 11.20, "commissionGroupCode": "EXISTING" } ] } }
Remarque :
Afin de garantir l'intégrité des transactions de modification, la somme des parties de la transaction doit être identique au saleAmount, sinon, pour équilibrer les différences éventuelles, le commissionGroup "DEFAULT" est ajusté automatiquement.
Si vous définissez le paramètre de validation sur "true", l'interface de programmation API modifie d'abord la transaction, puis la valide immédiatement ensuite.
Corps de la demande
Vous devez combiner les actions du corps de la demande avec le corps de la demande finale du lot. Voici un exemple d'un lot de trois transactions : une transaction 'Validation', une transaction 'Modification' et une transaction 'Refus' :
[ { "action": "amend", "approve": false, "transaction": { "transactionId": "484816099", "amendReason": "partial return", "currency": "EUR", "saleAmount": 44.76, "transactionParts": [{ "amount": 44.76, "commissionGroupCode": "DEFAULT" }] } }, { "action": "decline", "transaction": { "transactionId": 1234567, "declineReason": "order returned" } }, { "action": "approve", "transaction": { "orderRef": "123ABC555", "transactionDate": "2017-02-20T22:04:00", "timezone": "Europe/Paris" } } ]
Afin d'obtenir les données nécessaires, comme le transactionId par exemple, utilisez la méthode GET pour ce point de terminaison. Pour plus d'informations, référez-vous au lien suivant Transactions GET (liste).
Corps de la réponse
{ "jobId": "5cbefc8646e0fb0001c4670e" }
Le jobId vous permet de vérifier le statut de toutes tâches en cours de traitement pendant 60 jours après leur création.
Point de terminaison du statut de la tâche
Statut général de la tâche
Méthode :
GET
URL:
https://api.awin.com/advertisers/<yourAdvertiserId>/transactions/jobs/<jobId>
Response BodyCorps de la réponse
{ "jobId": 5cbefc8646e0fb0001c4670e, "status": "DONE", "transactionCount": 100, "allTransactions": null, "errorCount": 0, "failedTransactions": null, "creationDate": "2017-02-20T22:04:00", "completionDate": "2017-02-20T22:24:00" }
Si vous n'interrogez pas la liste détaillée des transactions ou la liste des erreurs pour une tâche, les objets allTransactions et failedTransactions ont par défaut la valeur "null". Pour plus d'informations, consultez la section Liste détaillée des erreurs sur cette page.
Liste détaillée des erreurs
Afin de fournir une liste supplémentaire des transactions qui ont entraîné une erreur pendant la validation, ajoutez le paramètre "output=errors" à l'adresse URL. L'API répertorie les transactions individuelles qui se trouvent dans l'objet failedTransactions. Pour générer une liste complète de toutes les transactions contenues dans l'objet allTransactions, ajoutez à la place le paramètre "output=all" à l'adresse URL.
Méthode :
GET
URL:
https://api.awin.com/advertisers/<yourAdvertiserId>/transactions/jobs/<jobId>?output=errors https://api.awin.com/advertisers/<yourAdvertiserId>/transactions/jobs/<jobId>?output=all
Corps de la réponse
{ "jobId":"5cb8290460b59a6e7ae22d0b", "status":"DONE", "transactions":2, "allTransactions":null, "errors":2, "failedTransactions": [ { "transactionId":1234567, "orderRef":null, "transactionDate":null, "timezone":"", "code":"[404 NOT_FOUND]", "description":null }, { "transactionId":1234568, "orderRef":null, "transactionDate":null, "timezone":"", "code":"[404 NOT_FOUND]", "description":null } ], "creationDate":"2019-04-18T09:49:35.558", "completionDate":"2019-04-18T09:49:36.513" }
Liste des tâches
Afin de générer une liste comprenant toutes vos tâches au cours des 60 derniers jours, consultez le point de terminaison de la tâche sans fournir d'identifiant de tâche dédié.
Méthode :
GET
URL:
https://api.awin.com/advertisers/<yourAdvertiserId>/transactions/jobs
Codes de réponses courants
Le tableau suivant contient une liste des raisons de réponses possibles pour les codes de réponses courants pouvant apparaître lors de l'utilisation de l'interface de programmation API :
Code de réponse | Message de réponse | Raison de réponse possible |
200 | OK | La transaction a été validée comme souhaité. |
304 | NOT_MODIFIED | La transaction se trouvait déjà dans le statut de commission souhaité. Par exemple, essayer de refuser une transaction refusée. |
404 | NOT_FOUND | Le transactionId ou (orderRef, transactionDate, timezone) ne correspondait pas à une transaction. |
422 | UNPROCESSABLE_ENTITY | Impossible d'exécuter la demande en raison du statut actuel de la transaction. Par exemple, essayer de valider une transaction refusée. |