SelSup Developers

Przepływ pracy od końca do końca · Przewodniki

Webhooki i integracja oparta na wydarzeniach

Ustawienie wyjściowego łącza internetowego, bezpieczny odbiornik, ochrona podwójnego i odzyskanie przeoczonych zdarzeń za pomocą API.

5 sekcjePrzewodnik dla programistów

Webhooki zmniejszają opóźnienie zmian, ale nie zastępują źródła prawdy. Odbiorcy muszą być bezsilni, a okresową pojednanie pozostaje niezbędne.

Integracje i usługi backend oparte na wydarzeniach

01

Definicja zdarzeń i własności

Zacznij od jednego zdarzenia biznesowego, takiego jak nowy lub zmieniony zamówienie, zmiana zapasów lub zmiana cen. Definiuj działanie właściciela danych i odbiorcy dla każdego zdarzenia.

Trzymaj oryginalny ładunek webhooka oddzielnie od standardowego modelu przez ograniczony czas.

Nowe pole opcjonalne nie może przerwać analizowania znanej struktury zdarzeń.

02

Wykonuj bezpieczny odbiornik HTTP

  1. 1

    Wymaganie wniosku

    Przyjmuj tylko wymagane metody i rodzaje treści, wprowadź ograniczenie wielkości ciała i użyj krótkiego czasu odczytu.

  2. 2

    Sprawdź źródło

    Użyj sekret w niewymienionym adresie URL lub konfiguracyjnym nagłówku i dodaj filtr API-gateway. Nie ufaj tylko Użytkownikowi-Agent.

  3. 3

    /Przez dalsze wydarzenie

    Przechowywać klucz do odtwalania i obciążenia w jednej transakcji, a następnie szybko zwrócić udany odpowiedź.

  4. 4

    Proces w sposób asynchroniczny

    Połączenie z ERP, WMS i innych systemów z kolejki zamiast wchodzącego żądania HTTP.

!
Trzymaj krótką ścieżkę reakcji

Powolna reakcja zwiększa czas wycofania i ryzyko podwójnego dostarczania.

Minimalny wzór odbiorcy · JavaScript
app.post('/selsup/events/secret-path', async (request, response) => {
  const eventKey = createStableEventKey(request.body);
  const inserted = await inbox.insertOnce(eventKey, request.body);
  response.sendStatus(inserted ? 202 : 200);
});

03

Duplikacje, zamówienie i deduplikacja

Użyj stałego identyfikatora zdarzenia, gdy jest obecny; w przeciwnym razie wywłaszcz klucz z typu jednostki, identyfikatora jednostki i czasu modyfikacji.

Wykonane zdarzenia mogą pojawić się w nieporządowym miejscu. Porównuj z modyfikowanymDatum przed napisanie lub przełóż bieżący podmiot za pośrednictwem API.

Wyrzuć status sukcesu dla zdarzenia, które zostało już przetworzone.

i
Wzorzec skrzynki wysyłkowej

Tabela przychodzących wydarzeń z unikalnym kluczem zdarzenia, statusem i liczbą prób ułatwia odwzajemnianie, odtwarzanie i audyt.

04

Odzyskanie przeoczonych zdarzeń

Wykorzystaj czasami API, nawet jeśli webhooki są zdrowe.

Po wyłączeniu odbiorcy, wyczerpuj skrzynkę do wiadomości i poprosić o zmiany w całkowitym oknie wyłączenia.

05

Zarządzanie cyklem życia webhooka

Włącz aktywny adres URL, typ zdarzenia, ostatni udany odbiór i najnowszy error w swojej integracji. Umożliwia to diagnozę bez bezpośredniego dostępu do serwera.

Przed zastąpieniem lub usunięciem adresu URL sprawdź, czy nowy odbiorca akceptuje zdarzenia.