Idempotentne postbacki: czemu finanse przejmują się podwójnym liczeniem
Postback, który da się bezpiecznie ponowić, to różnica między liczbą, pod którą finanse się podpiszą, a liczbą, o którą się pokłócą. Co znaczy idempotentne, czemu operatorzy wysyłają to samo zdarzenie więcej niż raz i co afiliant powinien zobaczyć w portfelu, gdy to robią.

Działy finansów nie nienawidzą postbacków. Nienawidzą sum, których nie da się odtworzyć. Jeśli ten sam pierwszy depozyt potrafi pojawić się dwa razy, bo żądanie dostało timeout i poszło ponownie, miesiąca nie da się zamknąć. Ktoś spędzi piątkowe popołudnie z dwoma CSV i zakreślaczem. Idempotentne postbacki to sposób, żeby ten piątek odwołać.
To tekst o zdolności. AFFILIFY liczy konwersję raz, nawet gdy operator wyśle ją więcej niż raz. Jak rozpoznajemy duplikat, nie jest publiczną checklistą. Co musisz wiedzieć, to kształt problemu, co położyć na przewodzie i co portfel afilianta ma zrobić, gdy ląduje ponowienie.
Jeśli chcesz szerszy obraz trackingu, postbacki, piksele i tagi obrazkowe to porównanie. To wycinek S2S od strony finansów.
Co tu znaczy idempotentne
Idempotentne znaczy, że to samo zdarzenie możesz zastosować dwa razy i zapisany wynik się nie zmienia. Wyślij FTD #84102. Wyślij je znowu, bo Twoja kolejka nie zobaczyła 200. Nadal jest jedno FTD. Nadal jest jedna prowizja. Drugie żądanie nie jest błędem i nie jest drugim graczem.
Przeciwieństwem jest licznik, który rośnie przy każdym żądaniu HTTP. Ten licznik zgodzi się z Twoim logiem ponowień. Nie zgodzi się z bazą graczy operatora ani z afiliantem, który wysłał jedną osobę.
Ponowienia nie są bugiem. Sieci padają. Load balancery dają timeout. 200 ginie. Poważna integracja traktuje „wysyłaj, aż potwierdzą” jako ścieżkę szczęśliwą, a to jest bezpieczne tylko wtedy, gdy odbiorca potrafi połknąć duplikat. To cały wymóg produktu.

Co operatorzy powinni wysyłać
Masz już identyfikator kliknięcia. Masz już typ zdarzenia: rejestracja, FTD, depozyt i cokolwiek jeszcze deal potrzebuje. Wyślij stabilny identyfikator tego zdarzenia, żeby ponowienie było tym samym obiektem, a nie nowym. Dokładne nazwy pól żyją w dokumentacji postbacków, nie tutaj.
Trzy reguły ratują zamknięcie miesiąca.
Ponawiaj ten sam payload. Nie ruszaj nonce, nie bij nowego id zdarzenia, nie „naprawiaj” timeoutu, wysyłając FTD-2. Drugie wysłanie powinno być pierwszym wysłaniem jeszcze raz.
Nie używaj sukcesu HTTP jako jedynej księgi. Twoja strona powinna zapisać „zamierzaliśmy wysłać FTD #84102” przed żądaniem i „potwierdzili FTD #84102” po. Jeśli zapisujesz tylko żądanie, timeout wygląda jak dziura i wyślesz inne zdarzenie, żeby ją zasypać.
NGR to okres, nie ping. Zdarzenie depozytu może być idempotentne per depozyt. Miesięczna liczba NGR to zdanie o zakresie dat. Wyślij je jako zdanie o tym zakresie, nie jako strumień drobnych przyrostów, które mają się złożyć. NGR i ujemne przeniesienie to afiliancka wersja tego, czemu te odliczenia muszą być stabilne.
Piksele nie umieją tego dobrze. Piksel, który odpali się w przeglądarce dwa razy, to dwa odpalenia. Tagi obrazkowe tak samo. S2S jest domyślne w 2026, bo to jedyne z trójki, które dział finansów zniesie odtworzyć. To twierdzenie o zdolności z postbacków kontra pikseli.
Co powinni widzieć afilianci
Jeden gracz, jedno FTD, jeden wiersz CPA. Gdy otworzysz konwersję, powinieneś zobaczyć markę, kliknięcie, GEO, sub-id, stempel czasu. Nie powinieneś zobaczyć bliźniaka.
Jeśli depozyt później zostaje cofnięty, to inne zdarzenie, nie duplikat. Chargebacki, nadużycie bonusu, anulowana płatność: te lądują jako korekty, potrafią wstrzymać pieniądze i potrafią ściągnąć oczekującą prowizję z powrotem. To nie ponowienia. Jak działają wypłaty opisuje oczekujące, dostępne, wstrzymane i w weryfikacji. Same wypłaty liczy się raz na wyjściu, z tego samego powodu, dla którego postbacki liczy się raz na wejściu.
Gdy coś wygląda na podwojone, nie zaczynaj od portfela. Zacznij od linku. Zepsuty identyfikator kliknięcia produkuje brakujące konwersje, nie dodatkowe. Najpierw zrób QA linku śledzącego. Potem sprawdź, czy dwa landingi, dwa sub-id albo dwie marki stworzyły dwa prawdziwe kliknięcia. Dwa prawdziwe kliknięcia od jednej osoby mogą być dwoma zdarzeniami. To nie podwójne liczenie. To dwa kliknięcia.
Dlaczego to jest argument sprzedażowy dla operatorów
Program afiliacyjny, który liczy podwójnie, przepłaci, potem zrobi clawback, potem zużyje relację. Program, który gubi ponowienia, niedoliczy, potem się pokłóci, potem zużyje relację w drugą stronę. Idempotentne S2S to nudna trzecia opcja: wyślij, wyślij jeszcze raz, jeśli musisz, suma się nie rusza.
I dlatego AFFILIFY może pokazać konwersję jako wiersz, a nie jako kubeł. Wiersz jest zdarzeniem. Ponowienie zostawia sumę tam, gdzie była.
Po stronie afilianta ta sama reguła jest powodem, dla którego 15. może się zamknąć. Oczekujące stają się dostępne na sumie, która nie zmienia się dlatego, że kolejka dogoniła o 14:58. KYC wciąż stoi na bramce wypłaty. Poziom wciąż liczy kwalifikujące depozyty raz. Nic z tego nie działa, jeśli samo FTD jest rzutem monetą przeciwko logowi ponowień.
Jeśli podpinasz to jako operator, zacznij od dokumentacji, użyj własnego parametru kliknięcia i traktuj „wysyłaj, aż potwierdzą” jako normalność. Jeśli jesteś afiliantem, nigdy nie powinieneś o tym myśleć, i na tym polega rzecz. Gdy musisz o tym myśleć, coś wyżej wysyła dwa różne zdarzenia i nazywa je jednym. To bug integracji, nie ponowienie.
Najczęstsze pytania
Co znaczy idempotentne przy postbacku?
To samo zdarzenie można wysłać więcej niż raz i liczy się tylko raz. Timeouty i ponowienia są oczekiwane. Drugie żądanie HTTP nie jest drugim FTD i nie jest drugą prowizją. Jeśli payload się zmienił i wybito nowe id zdarzenia, to nowe zdarzenie, nie ponowienie.
Czy w portfelu AFFILIFY zobaczę zduplikowane FTD, gdy operator ponowi?
Nie. Ponowienie tego samego zdarzenia nie dokłada drugiego wiersza i nie dokłada drugiego CPA. Jeśli widzisz dwa wiersze, miałeś dwa zdarzenia: dwa kliknięcia, dwa depozyty albo dwa różne typy zdarzeń. To warto rozpakować z marką, a nie zakładać, że platforma policzyła dwa razy.
Czy to to samo co idempotentne wypłaty?
Ten sam pomysł, drugi kierunek. Przychodzące konwersje liczą się raz, nawet gdy są ponawiane. Wychodzące wypłaty uznają się raz, nawet gdy dostawcę wypłat poproszono dwa razy. Oba istnieją po to, żeby finanse mogły zamknąć miesiąc bez zakreślacza. [Jak działają wypłaty](/blog/how-affilify-payouts-work) to strona wychodząca.
Czy piksele też tego potrzebują?
Piksele i tagi obrazkowe odpalają w przeglądarce i odpalą tyle razy, ile strona się wczyta. Nie da się ich uczynić bezpiecznymi do ponowienia tak, jak postback serwerowy. To jeden z powodów, dla których S2S jest domyślne, a piksele są fallbackiem dla tych, którzy jeszcze nie potrafią wysłać zdarzenia z serwera. Preferuj S2S.
