API transaction validation PL
From Wiki
Deutsch | English | Español | Français | Italiano | Nederlands | Polski | Português (Brasil) | Svenska
Contents |
Punkt końcowy interfejsu API do zatwierdzania transakcji
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. |