IOSOR Wiedza
Duplikat webhooka nie może spowodować drugiego obciążenia
Ścieżka błędu: ponowienia i odtworzenia pozostają idempotentne dla środków prepaid i skrzynki — jeden identyfikator zdarzenia, jeden wiersz obciążenia, jedna linia skrzynki.
Dostarczenie co najmniej raz spowoduje ponowienie. Duplikat webhooka, który przesyła drugie obciążenie lub drugą linię skrzynki, to incydent finansowo-operacyjny, a nie nieszkodliwe potwierdzenie. Ta strona przedstawia ścieżkę błędu: ponowienia i odtworzenia pozostają idempotentne dla środków prepaid i skrzynki — nie esej o idempotencji wysyłania API i nie podręcznik ponowień przychodzących SMS.
Powiązane: Bramka podpisu i okna replay, Kontrakt webhooka przed pierwszą wysyłką, Wiersze debit a status dostawy w jednym ledger.
IOSOR to white-label prepaid.
Idempotencja to ścieżka błędu, a nie slogan
Szczęśliwa ścieżka: jedno podpisane zdarzenie, jedna akceptacja, jedno obciążenie. Ścieżka błędu niszczy zaufanie — timeout, 5xx, odtworzenie przez dostawcę, ponowne popchnięcie przez operatora. Zapisz klucz idempotencji z Kontrakt webhooka przed pierwszą wysyłką przed skutkami ubocznymi: księga, skrzynka, CRM.
Co liczy się jako duplikat
| Sygnał | Traktuj jako duplikat, gdy | Bezpieczny wynik |
|---|---|---|
| Identyfikator zdarzenia | Ten sam ID już zaakceptowany w oknie | ACK; brak drugiego obciążenia |
| Identyfikator wiadomości | Ta sama wiadomość powiązana z księgą | Użyj ponownie wiersza; brak nowej opłaty |
| Klucz skrzynki | Ten sam MO/MT już złożony | Brak drugiej linii skrzynki |
| Poza oknem replay | Stare ponowienie po |
Pieniądze nie mogą ruszyć się dwa razy
Drugie obciążenie dla tego samego identyfikatora zdarzenia to błąd, nawet jeśli produkt nadal pokazuje status dostarczono. Finanse filtrowane są według identyfikatora zdarzenia i widzą jeden wiersz prepaid dla tego okna UTC. Częściowe skutki uboczne po potwierdzeniu — najpierw CRM, później księga — produkują podwójną prawdę. Jeśli przetwarzanie zawiedzie po zapisie, ponów próbę na tym samym kluczu.
Skrzynka też nie może się podwoić
Idempotencja dotyczy nie tylko pieniędzy. Odtworzone zdarzenie przychodzące, które otwiera drugi wątek skrzynki, uczy wsparcie gonitwy za duchami i może wywołać pętle auto odpowiedzi. Zapisz klucz skrzynki z tym samym identyfikatorem zdarzenia używanym do obciążenia. Produkt i finanse dzielą wspólną logikę odrzuceń.
Lista kontrolna kupującego dla webhooków odpornych na duplikaty
Zweryfikuj podpisy i nagłówki przed dotknięciem księgi. Zablokuj identyfikator zdarzenia w bazie danych, aby zapobiec wyścigom wątków. Zawsze zwracaj kod 2xx po udanym przetworzeniu ale nigdy nie obciążaj konta drugi raz. Monitorowanie musi natychmiast wykrywać powtórzone zdarzenia.
Zacznij od IOSOR
Wymuś jeden podpisany replay w oknie na korytarzu, który już ściągnął. Wyeksportuj event id obok id w ledger i udowodnij jeden wiersz debit oraz jeden wiersz skrzynki. Jeśli pojawi się drugi debit, zatrzymaj ten consumer i zwróć nadmiarowy wiersz — nie kompensuj go późniejszym ruchem. Ta bramka to pieniądze replay, nie kontrola E.164 i nie tekst wysyłki.
Podsumowanie IOSOR
Replay to nie nowa wysyłka. Jeden event id pisze jeden debit.
Rób: trzymaj podpis i okno replay, potem udowodnij jeden debit po POST w oknie. Nie rób: ściągać każdy POST ani traktować retry sieci jako drugiej faktury.
Czy ten przewodnik był pomocny?
Powiązane przewodniki
- Monitorowanie stanu punktów końcowych webhook
Dowiedz się, jak śledzić opóźnienia i kody statusów odbiorców w platformie IOSOR, aby proaktywnie zarządzać stanem webhooków i zapobiegać awariom callbacków.
- Konfiguracja alertów webhook dla progów salda portfela
Dowiedz się, jak skonfigurować automatyczne webhooki progów salda w IOSOR, aby monitorować konta prepaid, zapobiegać przerwom w usługach i skutecznie zarządzać przydzielaniem numerów JIT.
- Przetwarzanie zdarzeń webhooka Just-in-Time Provisioning
Opanuj cykl życia kanałów przychodzących w czasie rzeczywistym dzięki webhookom IOSOR JIT. Automatyzuj przypisywanie numerów i aktualizacje rejestru dla swojego white-label CPaaS.