Skip to main content
View Categories

bs4 API — wykonywanie triggerów

Zewnętrzny program może zlecić wykonanie triggera zdefiniowanego w BS4. Administrator musi dodać go do pola „Dozwolone triggery” konektora bs4 API. Samo posiadanie tokena nie udostępnia wszystkich triggerów.

Żądanie #

POST /api/exec/runtrigger
Authorization: Bearer TOKEN
Content-Type: application/json

{"triggerId":5000100,"objectId":123,"param1":"Jan","param2":"Kowalski","param3":"0"}
ParametrZnaczenie w API 1.02
triggerIdWymagane dodatnie ID triggera, jawnie dopuszczonego w konektorze.
objectIdOpcjonalne ID obiektu klasy powiązanej z triggerem. Pominięcie lub 0 oznacza brak obiektu. Jeżeli podasz dodatnie ID, obiekt musi istnieć w tej klasie. trigger bez klasy powiązanej nie przyjmuje dodatniego objectId.
param1, param2, param3Opcjonalne wartości proste: tekst, liczba lub wartość logiczna. Są przekazywane jako tekst. Null oznacza pominięcie parametru. Tablice i obiekty JSON nie są przyjmowane.

Po stronie triggera użyj komendy odczytu dodatkowego parametru i wskaż jego numer: 1, 2 lub 3. Nie myl numeru parametru z ID obiektu powiązanego. Jeżeli pominiesz objectId, program triggera musi obsłużyć brak tego kontekstu.

Wykonanie natychmiastowe i kolejka #

O sposobie wykonania decyduje konfiguracja triggera w BS4. W API 1.02 odpowiedź zawiera dodatkowe pola execution i queueTaskId:

{"results":{"result":1,"execution":"immediate","queueTaskId":null},"success":true}

{"results":{"result":1,"execution":"queued","queueTaskId":123},"success":true}

Dla execution=immediate odpowiedź zawiera wynik wykonania. Wartości logiczne są zamieniane na 1 lub 0; inne natywne wyniki triggera mogą być zachowane. result=0 może oznaczać negatywny wynik logiki triggera przy prawidłowo obsłużonym żądaniu.

Dla execution=queued wynik potwierdza przyjęcie do kolejki, a nie zakończenie automatyzacji. queueTaskId wskazuje zadanie kolejki. Dalszy przebieg sprawdzaj w BS4. Nie traktuj success=true jako potwierdzenia skutków biznesowych odroczonego triggera.

Błędy przed uruchomieniem #

  • 400 — błędny identyfikator, nieprawidłowy typ parametru lub dodatnie objectId dla triggera bez klasy.
  • 401 — brak lub błędny token, ewentualnie nieaktywny konektor.
  • 403 — trigger nie znajduje się na liście dozwolonych dla konektora.
  • 404 — dozwolony trigger lub wskazany obiekt nie istnieje.
  • 503 — trwa serwisowanie programu; wywołanie triggera jest niedostępne.

Ponawianie #

To wywołanie nie ma mechanizmu idempotencji znanego z operacji MCP. Po timeoutcie trigger mógł wykonać zmianę lub trafić do kolejki. Najpierw sprawdź stan i historię, aby nie wykonać automatyzacji dwa razy.

Opis rozszerzonej odpowiedzi i walidacji dotyczy API 1.02 i wymaga aktualizacji instalacji BS4. W starszych wersjach odpowiedź może zawierać tylko results.result.

Powiązane instrukcje #

Leave a Reply