API transaction validation FR

From Wiki

Jump to: navigation, search

Contents

Point de terminaison API de validation des transactions

Remarque : Point de terminaison API de validation des transactions est disponible uniquement pour les offres de plateforme Awin Accelerate et Awin Advanced.

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.

Privacy

Due to new European legislation regarding how websites store information about you, AWIN is updating its privacy policy. You can see the new version of our policy here. If you would like to see the information we capture on this website, please click here for further details. In order to accept cookies on this site please click the 'I ACCEPT' button