Operator INPUT REST API służy do wywołania dowolnego serwisu (dostępnego w standardzie REST) odebrania danych zwracanych przez serwis i wprowadzenia danych na magistralę w formie tekstowej lub bitowej (aby dowiedzieć się więcej o konwersji danych tekstowych do bitów magistrali danych zapoznaj się z operatorem CONVERT FORMAT TO BITS ).
Operator INPUT REST API umożliwia pobieranie danych z dowolnego zewnętrznego serwisu działającego w standardzie REST i wprowadzenie ich do magistrali GRAVITY jako dane wejściowe dla dalszego przetwarzania.
Operator wykonywany jest jednorazowo na początku magistrali i inicjuje jej działanie, pobierając dane niezależnie od wcześniejszych rekordów. Otrzymana odpowiedź może być zapisana bezpośrednio do bitów magistrali jako tekst, który może zostać później przekształcony do struktury rekordów i bitów przy użyciu operatora CONVERT FORMAT TO BITS.
Konfiguracja operatora pozwala na:
- wskazanie adresu serwisu REST oraz metody HTTP (GET, POST itd.),
- dynamiczne ustawienie nagłówków i parametrów zapytania
- obsługę różnych mechanizmów autoryzacji
- oraz kontrolę nad formatem odbieranych danych.
Dzięki temu operatorowi możliwe jest automatyczne załadowanie danych z systemów zewnętrznych do środowiska GRAVITY i rozpoczęcie dalszego przetwarzania w projekcie.
PRZYKŁAD PROCESU Z UŻYCIEM OPERATORA
Proces zakłada samodzielne sprawdzenie StatusCode zwracanego przez wywołany serwis.
KONFIGURACJA MAGISTRALI WYJŚCIOWEJ
Na zakładce Execution należy ustawić sposób działania operatora po otrzymaniu odpowiedzi od wywołanej usługi.
- New column with result → Nazwa kolumny (bitu) magistrali danych wyjściowej gdzie zostaną przekierowane dane odebrane z usługi sieciowej (web service).
- Error checking → sposób zachowania operatora po odebraniu StatusCode oznaczającego błędne wykonanie serwisu.
- Report an error when Status Code is invalid → w przypadku błędnego StatusCode proces zostaje zatrzymany i jako błąd zostanie wyświetlony komunikat z pola Body field with an error message
- Send Status Code on the busbar → w tym wypadku proces nie zostanie zatrzymany,
a StatusCode zostanie przekazany na magistralę danych w bicie o nazwie podanym
w polu New column with status code i może zostać zweryfikowany w procesie przy użyciu operatora
IF. Jeśli usługa zwraca szczegóły błędu są one dostepne w polu New column with result
- Body field with an error message → komunikat błędu w przypadku przerwania działania procesu automatycznie gdy otrzymany jest niepoprawny StatusCode.
- New coulumn with status code → kolumna (bit) do którego trafi StatusCode wykonania.
KONFIGURACJA ADRESU USŁUGI
Aby skonfigurować połączenie do serwisu musisz na zakładce Request podać metodę HTTP jakiej używa serwis, adres pod jakim dostępny jest serwis i jeśli to jest wymagane metodę autoryzacji.
operator obsługuje następujące metody HTTP
GET
POST
PUT
DELETE
PUTCH
oraz podstawowe metody autoryzacji
Basic Auth
Api key
Simple auth
Bearer token
Bearer token (
system connections
)
Wpisując adres serwisu w polu Endpoint możesz wykorzystać parametry projektu lub parametry globalne.
Klikając w przycisk obok pola lub wpisując znak @
dla parametrów lokalnych i znaki {{
dla parametrów globalnych.
Parametry wywołania możemy podać bezpośrednio w polu Endpoint w formacie [endpoint]?parName1=value&parName2=value
lub wprowadzić je w formie nazwa → wartość na zakładce Query parameters
NAGŁÓWKI ZAPYTANIA HTTP
Zakładka Headers pozwala na podgląd dodawanie i modyfikacje nagłówków zapytania HTTP. Operator ustawia kilka standardowych nagłówków.
Jeśli chcesz zmodyfikować dowolny nagłówek kliknij dwukrotnie w jego wartość, aby ją poprawić.
Aby prowadzić nowy nagłówek kliknij w ostatni rekord i podaj nazwę i wartość nagłówka.
do nagłówka możesz wprowadzić:
- wartość parametru projektu poprzedzając jego nazwę znakiem
@
np@username
- wartość parametru globalnego ujmując go podwójny nawias klamrowy
{{[galobalValiableName]}}
przykład:{{userName}}
- wartość z bitu magistrali (tylko w operatorze
REST API CALL ) wstawiając go w procentach
%bitName%
np:%userName%
CONTENT ZAPYTANIA
Na zakładce Body możesz skonfigurować treść (content) wysyłaną w żądaniu do serwisu REST.
Operator umożliwia wysyłanie danych w różnych formatach, w zależności od wymagań zewnętrznego serwisu:
- none - Nie wysyła żadnej treści w body.
- form-data - Dane są wysyłane jako pary klucz/wartość, bez kodowania. Ten typ pozwala również na przesyłanie danych binarnych.
Po wybraniu tego typu możesz dodawać kolejne pola, klikając w pusty rekord i podając nazwę klucza oraz wartość.
- x-www-form-urlencoded - Dane są wysyłane jako pary klucz/wartość, ale są kodowane w taki sam sposób, jak parametry w adresie URL. Nie można w ten sposób przesyłać danych binarnych.
- raw - W tym trybie można wprowadzić dowolny ciąg znaków jako treść żądania. Dodatkowo należy określić format, co pozwala systemowi ustawić odpowiedni nagłówek
Content-Type
. - Text – zwykły tekst
- JavaScript – kod zgodny z językiem JavaScript
- JSON – dane w formacie JSON (JavaScript Object Notation)
- HTML – dane w formacie HTML (HyperText Markup Language)
- XML – dane w formacie XML (Extensible Markup Language)
Pola definiuje się analogicznie jak w typie form-data — klikając w pusty rekord.
Dostępne formaty:
Content-Type
w żądaniu.