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 (KonfiguracjaZdarzeniaReguły zdarzeń) lub bezpośrednio z widoku modułu za pomocą ikony błyskawicy.

image 2026 08 31 23 56 08 812
Figure 1. Menu konfiguracji zdarzeń

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.

image 2026 08 31 23 56 52 453
Figure 2. Definicja efektora Webhook

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.