Zdarzenia - Webhook jako efektor
Wstęp
Niniejszy dokument przedstawia konfigurację reguły zdarzenia, której efektem jest wywołanie zdalnego interfejsu HTTP (webhook) w zewnętrznym systemie. Efektor webhook pozwala na integrację systemu AMAGE z dowolnym systemem posiadającym interfejs HTTP - bez konieczności rozbudowy integracji po stronie AMAGE.
Przykład przedstawia scenariusz, w którym utworzenie nowego zdarzenia serwisowego powoduje wywołanie interfejsu w zewnętrznym systemie (np. ERP, system monitoringu, bot komunikacyjny) z danymi nowego zgłoszenia.
Procedura konfiguracji
Krok 1: Dostęp do konfiguracji zdarzeń
Konfiguracja zdarzeń dostępna jest w sekcji konfiguracyjnej systemu (Konfiguracja → Zdarzenia → Reguły zdarzeń) lub bezpośrednio z widoku modułu za pomocą ikony błyskawicy.
Krok 2: Utworzenie nowej reguły
Po wybraniu przycisku (+) wypełniamy podstawowe dane reguły:
-
Nazwa - czytelna nazwa reguły, np.
Webhook - nowe zgłoszenie do ERP, -
Obiekt - typ obiektu, na którym definiujemy zdarzenie, np.
Zdarzenie serwisowe(mod.AssetApi.model.service.ServiceEvent), -
Typ zdarzenia - operacja wyzwalająca reakcję, np.
Utworzenie.
Krok 3: Wybór efektora Webhook
W sekcji efektora edytora reguły wybieramy typ Webhook. W sekcji tej dostępne są pola:
-
Webhook URL - adres HTTP(S) interfejsu docelowego. Adres musi być poprawny (system weryfikuje format).
-
Metoda HTTP - metoda żądania (np.
POST). -
Nagłówki HTTP - lista dodatkowych nagłówków; każdy nagłówek definiowany jest nazwą i wartością (dodawanie/usuwanie za pomocą przycisków przy liście).
-
Treść (Body) - edytor treści żądania w formacie JSON.
Krok 4: Szablony w URL, nagłówkach i treści
W adresie URL, w wartościach nagłówków oraz w treści żądania można wykorzystywać dane przetwarzanego obiektu za pomocą notacji {{}}. Przykład treści żądania dla nowego zdarzenia serwisowego:
{
"event": "service.event.created",
"eventNumber": "{{obj.eventNumber}}",
"type": "{{obj.type.name}}",
"description": "{{obj.description}}",
"product": "{{obj.product.name}}"
}
Dzięki temu każde wywołanie webhooka jest spersonalizowane pod konkretny obiekt i zdarzenie. Pełna lista dostępnych pól obiektów opisana jest w dokumentacji mechanizmu zdarzeń (zakładka "Nowy obiekt" w szczegółach zdarzenia).
Krok 5: Skrypy sprawdzający i przygotowujący
Tak jak w przypadku pozostałych efektorów, regułę można ograniczyć skryptem sprawdzającym (np. wywoływanie webhooka tylko dla wybranych typów zdarzeń) oraz przygotować dane dodatkowym skryptem. Dla typowego przypadku webhooka oba skrypy mogą pozostać puste.
Krok 6: Zapis i weryfikacja
Po zapisaniu aktywnej reguły system reaguje na nowe zdarzenia obiektu. Wynik wywołania webhooka (status odpowiedzi zdalnego interfejsu) rejestrowany jest w szczegółach zdarzenia - w liście zdarzeń (Zdarzenia w sekcji konfiguracji) po wyborze zdarzenia zakładka Dane przedstawia realizowane reakcje i logi, w tym wynik wywołania HTTP.
Wywołania webhooków realizowane są asynchronicznie - czas odpowiedzi zdalnego systemu nie opóźnia przetwarzania kolejnych zdarzeń.
| W przypadku błędów po stronie zdalnego systemu (odpowiedzi 4xx/5xx, przekroczenie czasu oczekiwania) wynik jest rejestrowany w logach zdarzenia, co pozwala na diagnostykę integracji bez wpływu na działanie systemu. |
| Ze względu na ciągły rozwój systemu niektóre ekrany mogą wyglądać nieznacznie inaczej, ale zachowują pełną funkcjonalność opisaną w tym dokumencie. |