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.
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 wydarzeniach01
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
Wymaganie wniosku
Przyjmuj tylko wymagane metody i rodzaje treści, wprowadź ograniczenie wielkości ciała i użyj krótkiego czasu odczytu.
- 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
/Przez dalsze wydarzenie
Przechowywać klucz do odtwalania i obciążenia w jednej transakcji, a następnie szybko zwrócić udany odpowiedź.
- 4
Proces w sposób asynchroniczny
Połączenie z ERP, WMS i innych systemów z kolejki zamiast wchodzącego żądania HTTP.
Powolna reakcja zwiększa czas wycofania i ryzyko podwójnego dostarczania.
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.
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.
Powiązane punkty końcowe API
GET/api/order/findOdzyskanie zmian w kolejnościGET/api/wms/stock/findZmiany akcji
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.
Powiązane punkty końcowe API
GET/api/webhook/Przegląd skonfigurowanych węzłówDELETE/api/webhook/{webhookId}Usunięcie włączenia