API transaction validation PL

From Wiki

Jump to: navigation, search

Contents

Punkt końcowy interfejsu API do zatwierdzania transakcji

Uwaga: Funkcja Punkt końcowy interfejsu API do zatwierdzania transakcji jest dostępna wyłącznie na platformach Awin Accelerate i Awin Advanced.

Udostępniany przez Awin interfejs API reklamodawcy obsługuje zatwierdzanie transakcji. Ta funkcja umożliwia zatwierdzanie, odrzucanie i poprawianie transakcji z wykorzystaniem interfejsu API Awin.

Interfejs API zatwierdzania transakcji zawiera punkt końcowy obsługi wsadowej, który umożliwia grupowanie wielu żądań zatwierdzenia w jedno zgłoszenie.

Punkt końcowy API zatwierdzania transakcji jest częścią ogólnej infrastruktury API firmy Awin. W związku z tym punkt końcowy wykorzystuje token OAUTH2 oparty na użytkowniku. Więcej informacji o OAUTH2 można znaleźć na stronie wiki Uwierzytelnianie i autoryzacja API..

Awin stara się przetwarzać wnioski o zatwierdzenie transakcji w ramach ograniczeń czasowo-finansowych Twojej firmy. W związku z tym zalecamy przesyłanie wniosków do godziny 12:00 CET 15 dnia miesiąca oraz do godziny 12:00 CET ostatniego dnia miesiąca.

Wsadowe zatwierdzanie transakcji

Zatwierdzanie transakcji w trybie wsadowym umożliwia jednoczesne przekazanie i późniejsze przetwarzanie listy jednej lub wielu transakcji w formacie JSON. Aby umożliwić Ci monitorowanie postępu Twoich żądań zatwierdzenia, Awin udostępnia identyfikator zadania (JobID), który można śledzić.


Wywoływanie interfejsu API

Metoda:
POST

Adres URL:

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


Treść żądania:
Treść żądania zawiera tablicę obiektów transakcji. Każdy obiekt przedstawia działanie do wykonania, transakcję i jeśli jest to wymagane, wszelkie dodatkowe parametry. Transakcje są identyfikowane przez parametry transactionId lub przez parametry orderRef, transactionDate i strefę czasową.

"transactionId": "484816099",


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



Dostępne operacje

Zatwierdź

Zatwierdzenie za pomocą transactionId:

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


Zatwierdzenie za pomocą parametrów orderRef, transactionDate i strefy czasowej:

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


Odrzuć

Odrzucenie za pomocą transactionId:

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


Odrzucenie za pomocą parametru orderRef, transactionDate i strefy czasowej:

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



Korekta

Korekta za pomocą 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"
          }
        ]
    }
}


Korekta za pomocą parametrów orderRef, transactionDate i strefy czasowej:

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


Uwaga:
Aby zapewnić integralność transakcji korekcyjnych, suma części transakcji musi być identyczna z parametrem saleAmount, w przeciwnym razie, aby zbilansować ewentualne różnice, grupa prowizji "DEFAULT" commissionGroup zostanie dostosowana automatycznie.

Jeśli parametr approve zostanie ustawiony na "true", interfejs API najpierw poprawia transakcję, a następnie natychmiast ją zatwierdza.



Treść żądania

Należy połączyć działania treści żądania z ostateczną treścią żądania wsadowego. Poniżej znajduje się przykład partii trzech transakcji; jedna transakcja „approve” (zatwierdzenie), jedna transakcja „amend” (korekta) i jedna transakcja „decline” (odrzucenie):

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

Aby uzyskać niezbędne dane, na przykład transactionId, należy użyć metody GET tego punktu końcowego. aby dowiedzieć się więcej, zobacz Lista transakcji (metoda GET).



Treść odpowiedzi

{
 "jobId": "5cbefc8646e0fb0001c4670e"
}

Parametr jobId umożliwia przeglądanie statusu wszelkich zadań, które są w trakcie realizacji, przez okres do 60 dni po utworzeniu zadania.


Punkt końcowy stanu zadania

Ogólny stan zadania

Metoda:
GET

Adres URL:

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


Treść odpowiedzi

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

Jeśli nie wysyłasz kwerendy szczegółowej listy transakcji ani listy błędów dla zadania, obiekty allTransactions i failedTransactions będą domyślnie miały wartość „null”. Więcej informacji można znaleźć w części Szczegółowa lista błędów na tej stronie.


Szczegółowa lista błędów

Aby uzyskać dodatkową listę transakcji, które wygenerowały błąd podczas zatwierdzania, dodaj parametr „output=errors” do adresu URL. Interfejs API zwróci listę transakcji zawartych w obiekcie failedTransactions. Aby wygenerować pełną listę wszystkich transakcji z obiektu allTransactions, dodaj do adresu URL parametr „output=all”.

Metoda:
GET

Adres URL:

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


Treść odpowiedzi

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

Lista zadań

Aby wygenerować listę wszystkich Twoich zadań z ostatnich 60 dni, wywołaj punkt końcowy zadania bez podawania dedykowanego identyfikatora zadania.

Metoda:
GET

Adres URL:

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


Typowe kody odpowiedzi

Poniższa tabela zawiera listę możliwych przyczyn odpowiedzi dla typowych kodów odpowiedzi, które mogą pojawić się podczas korzystania z interfejsu API:

Kod odpowiedzi Komunikat odpowiedzi Możliwa przyczyna odpowiedzi
200 OK Transakcja została zatwierdzona zgodnie z żądaniem.
304 NOT_MODIFIED Transakcja już jest w żądanym stanie prowizji. Na przykład próba odrzucenia transakcji odrzuconej.
404 NOT_FOUND Parametr transactionId lub orderRef, transactionDate albo timezone nie został dopasowany do żadnej transakcji.
422 UNPROCESSABLE_ENTITY Niemożliwe zakończenie żądania z powodu bieżącego stanu transakcji. Na przykład próba zatwierdzenia odrzuconej transakcji.

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