API & Webhooks
Integracja trackingu i konwersji przez API oraz zdarzenia po stronie serwera
Klucze API
Nowy klucz API| Nazwa | Prefiks | Status | Ostatnio użyty | |
|---|---|---|---|---|
| Production backend | ak_1cb0b48b |
Aktywny | 2026-10-02 15:07 |
Endpointy webhookow
Nowy webhook| Endpoint | Zdarzenia | Status | |
|---|---|---|---|
| conversion.created conversion.approved payout.paid | Aktywny |
Każda dostawa to żądanie POST z treścią JSON. Gdy ustawiono sekret, nagłówek niesie HMAC-SHA256. Niedziałające endpointy są ponawiane; po wielokrotnych błędach webhook jest automatycznie wyłączany. X-AffiWave-Signature: t=<ts>,v1=<hmac>
Log webhookow
| Czas | Endpoint | Zdarzenie | Kod |
|---|---|---|---|
| Oct 2, 17:08:01 | payout.paid | blad | |
| Oct 2, 17:07:56 | payout.paid | blad | |
| Oct 2, 17:07:56 | payout.paid | blad | |
| Oct 2, 17:07:54 | payout.paid | blad | |
| Oct 2, 17:07:54 | payout.paid | blad | |
| Oct 2, 17:07:52 | payout.paid | blad | |
| Oct 2, 17:07:52 | payout.paid | blad |
Skrypt trackingu
Ten piksel zgłasza do AffiWave zrealizowane zamówienie - wklej go na stronie potwierdzenia zamówienia. W przeciwieństwie do zapytania API po stronie serwera (sekcja obok) nie trzeba tu podawać żadnego tokenu: „token” (identyfikator linku śledzącego afilianta - ten sam, co w adresie /r/{token} wysyłanym afiliantowi) jest pobierany automatycznie z ciasteczka, które przeglądarka dostała, gdy odwiedzający kliknął w ten link.
<!-- Wklej na stronie potwierdzenia zamowienia --> <img src="https://affiwave.com/px/c.gif?order_id=ORD-1042&amount=49.99¤cy=USD" width="1" height="1" style="display:none" alt="">
Alternatywa: atrybucja przez kupon
Kod kuponu użyty w zamówieniu identyfikuje afilianta - dopisz go do piksela jako parametr coupon, a konwersja zostanie przypisana temu afiliantowi, nawet bez wcześniejszego kliknięcia w jego link.
<!-- Atrybucja przez kupon zamiast tokenu z ciasteczka --> <img src="https://affiwave.com/px/c.gif?coupon=SUMMER10&order_id=ORD-1042&amount=49.99¤cy=USD" width="1" height="1" style="display:none" alt="">
Konwersja po stronie serwera
Zapisz konwersję z backendu po potwierdzeniu zamówienia, używając klucza API (scope conversions:write). To wywołanie idzie serwer-serwer, bez udziału przeglądarki klienta - więc ciasteczko atrybucji z piksela NIE jest tu dostępne. Token trzeba przekazać samemu w treści żądania, a Twoja aplikacja musi go wcześniej gdzieś zapisać (np. odczytać przy wejściu klienta z linku partnera i dopisać do zamówienia). Jeśli tego nie robisz, prościej jest użyć pola coupon (patrz przykład niżej) - to Twoje własne dane zamówienia, bez potrzeby wcześniejszego śledzenia.
// POST https://affiwave.com/api/conversion curl -X POST https://affiwave.com/api/conversion \ -H "Authorization: Bearer ak_ab12cd34.<secret>" \ -H "Content-Type: application/json" \ -d '{ "token": "AFF-9X2K-7QPL", "external_order_id": "ORD-1042", "amount": "49.99", "currency": "USD" }'
Prościej: atrybucja przez kupon (bez śledzenia)
Kod kuponu użyty w zamówieniu identyfikuje afilianta - przekaż go w polu coupon zamiast tokenu; to dane, które i tak już masz w zamówieniu, więc nie trzeba niczego wcześniej śledzić.
// POST https://affiwave.com/api/conversion curl -X POST https://affiwave.com/api/conversion \ -H "Authorization: Bearer ak_ab12cd34.<secret>" \ -H "Content-Type: application/json" \ -d '{ "coupon": "SUMMER10", "external_order_id": "ORD-1042", "amount": "49.99", "currency": "USD" }'