API transaction validation SE

From Wiki

Jump to: navigation, search

Contents

Transaktionsvalidering API-slutpunkt

Obs! Transaktionsvalidering API-slutpunkt är endast tillgängligt för Awin Accelerate- och Awin Advanced-plattformserbjudanden.

Awins annonsörs-API stödjer validering av transaktioner, vilket gör det möjligt för dig att godkänna, neka och ändra transaktioner med Awins API.

API:et för transaktionsvalidering innehåller en batch-slutpunkt så att du kan gruppera multipla valideringsbegäranden och skicka dem på samma gång.

API:et för transaktionsvalidering är en del av Awins övergripande API-infrastruktur. Som sådan använder slutpunkten en användarbaserad OAUTH2-token. För mer information om OAUTH2, se wikisidan för API-autentisering och -auktorisering.

Awin strävar efter att behandla dina begäranden om transaktionsvalidering inom ditt företags finansiella tidsramar. Därför rekommenderar vi att du skickar eventuella begäranden senast kl. 12.00 CET den 15:e varje månad, och senast kl. 12.00 CET sista dagen i månaden.

Batch-transaktionsvalidering

Batch-transaktionsvalidering möjliggör överföring och påföljande behandling av en lista med en eller flera JSON-formaterade transaktioner på samma gång. För att du ska kunna följa hur dina transaktionsbegäranden fortskrider tillhandahåller Awin ett spårbart jobb-ID.



Anropa API:et

Metod:
POST

URL:

https://api.awin.com/advertisers/<yourAdvertiserId>/transactions/batch


Brödtext för begäran:
Brödtexten för begäran innehåller en uppsättning transaktionsobjekt. Varje objekt representerar den åtgärd som ska utföras, och om så krävs ytterligare parametrar. Transaktioner identifieras antingen genom transaktions-ID eller genom orderreferens, transaktionsdatum och tidszon.


"transactionId": "484816099",


"orderRef": "123ABC555",
"transactionDate": "2017-02-20T22:04:00",
"timezone": "Europe/Paris"



Tillgängliga åtgärder

Godkänn

Godkänn med transaktions-ID:

{
"action": "approve",
"transaction":
    {
        "transactionId": 1234567
    }
}


Ändra med orderreferens, transaktionsdatum och tidszon:

{
"action": "approve",
"transaction":
    {
        "orderRef": "123ABC555",
        "transactionDate": "2017-02-20T22:04:00",
        "timezone": "Europe/Paris"
    }
}


Neka

Neka med transaktions-ID:

{
"action": "decline",
"transaction":
    {
        "transactionId": 1234567,
        "declineReason": "order returned"
    }
}


Neka med orderreferens, transaktionsdatum och tidszon:

{
"action": "decline",
"transaction":
    {
        "orderRef": "123ABC555",
        "transactionDate": "2017-02-20T22:04:00",
        "timezone": "Europe/Paris",
        "declineReason": "order returned"
    }
}



Ändra

Ändra med transaktions-ID:

{
"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"
          }
        ]
    }
}


Ändra med orderreferens, transaktionsdatum och tidszon:

{
"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"
          }
        ]
    }
}


Observera:
För att säkerställa ändrade transaktioners integritet måste summan av integriteten i ändrade transaktionsdelar ("parts") vara identisk med saleAmount, om inte justeras provisionsgrupp "DEFAULT" automatiskt.




Om parametern för godkännande ställs in på "true" ändrar API:et först transaktionen och godkänner den därefter direkt.



Brödtext för begäran

Du måste kombinera åtgärderna i brödtexten för begäran med brödtexten för den slutliga batch-begäran. Nedan visas ett exempel på en batch bestående av tre transaktioner, en "godkänn"-transaktion, en "ändra"-transaktion" och en "neka"-transaktion:

[
  {
    "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"
      }
  }
 
]


För att erhålla de data som krävs, t.ex. transaktions-ID, använd GET-metoden för denna slutpunkt. För mer information, se GET-transaktioner (lista).



Brödtext för svar

{
 "jobId": "5cbefc8646e0fb0001c4670e"
}

Med jobb-ID kan du granska status för pågående jobb i upp till 60 dagar efter att du har skapat jobbet.


Slutpunkt för jobbstatus

Övergripande jobbstatus

Metod:
GET

URL:

https://api.awin.com/advertisers/<yourAdvertiserId>/transactions/jobs/<jobId>


Brödtext för svar

{
    "jobId": 5cbefc8646e0fb0001c4670e,
    "status": "DONE",
    "transactionCount": 100,
    "allTransactions": null,
    "errorCount": 0,
    "failedTransactions": null,
    "creationDate": "2017-02-20T22:04:00",
    "completionDate": "2017-02-20T22:24:00"
}

Om du inte söker efter en detaljerad transaktionslista eller fellista för ett jobb är objekten allTransactions och failedTransactions som standard "null". För mer information, se avsnittet Detaljerad fellista på den här sidan.


Detaljerad fellista

För att tillhandahålla en extra lista över de transaktioner som har genererat ett fel under valideringen, lägg till parametern "output=errors" till URL:en. API:et listar de enskilda transaktioner som ingår i objektet failedTransactions. För att generera en fullständig lista över alla transaktioner i objektet allTransactions, lägg istället till parametern "output=all" till URL:en.

Metod:
GET

URL:

https://api.awin.com/advertisers/<yourAdvertiserId>/transactions/jobs/<jobId>?output=errors
 
https://api.awin.com/advertisers/<yourAdvertiserId>/transactions/jobs/<jobId>?output=all


Brödtext för svar

{
    "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"
}

Jobblista

För att generera en lista över samtliga av dina jobb under de senaste 60 dagarna, anropa jobb-slutpunkten utan att ange ett specificerat jobb-ID.

Metod:
GET

URL:

https://api.awin.com/advertisers/<yourAdvertiserId>/transactions/jobs


Vanliga svarskoder

I följande tabell finns en lista över möjliga svarsorsaker till vanliga svarskoder som kan visas vid användning av API:et:

Svarskod Svarsmeddelande Möjlig orsak till svaret
200 OK Transaktionen har validerats som önskat.
304 NOT_MODIFIED Transaktionen hade redan önskad provisionsstatus. Till exempel om man försöker att neka en redan nekad transaktion.
404 NOT_FOUND Transaktions-ID eller (orderreferens, transaktionsdatum, tidszon) motsvarade inte en transaktion.
422 UNPROCESSABLE_ENTITY Begäran kunde inte slutföras på grund av nuvarande transaktionsstatus. Till exempel om man försöker att godkänna en nekad transaktion.

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