Search

Home

INPUT REST API

INPUT REST API

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 BITSCONVERT 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 BITSCONVERT 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.

image

KONFIGURACJA MAGISTRALI WYJŚCIOWEJ

icon
W przypadku użycia operatora INPUT REST API magistrala wyjściowa operatora będzie zawierać jeden rekord zbudowany z pola danych odebranych z serwisu (zwykle format JSON ale może to być również format XML czy czysty tekst) oraz w zależności od konfiguracji pola ze zwróconym StatusCode wykonania serwisu.

Na zakładce Execution należy ustawić sposób działania operatora po otrzymaniu odpowiedzi od wywołanej usługi.

image
  • 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 IFIF. 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.
icon
Pola Single execution oraz Result target są nieaktywne i używane tylko w operatorze REST API CALL REST API CALL

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.

image

operator obsługuje następujące metody HTTP

  • GET
  • POST
  • PUT
  • DELETE
  • PUTCH

oraz podstawowe metody autoryzacji

icon
Ponieważ operator zapewnia pełen dostęp do tworzenia nagłówków żądania HTTP oraz pozwala na ich elastyczną budowę z wykorzystaniem parametrów możliwe jest użycie praktycznie każdego systemu uwierzytelniania.

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.

image

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

image

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ć.

image

Aby prowadzić nowy nagłówek kliknij w ostatni rekord i podaj nazwę i wartość nagłówka.

image

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 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.

image

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ść.

    image
  • 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.
  • Pola definiuje się analogicznie jak w typie form-data — klikając w pusty rekord.

    image
  • 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.
    1. image

      Dostępne formaty:

    2. Text – zwykły tekst
    3. JavaScript – kod zgodny z językiem JavaScript
    4. JSON – dane w formacie JSON (JavaScript Object Notation)
    5. HTML – dane w formacie HTML (HyperText Markup Language)
    6. XML – dane w formacie XML (Extensible Markup Language)
icon
W zależności od wybranego formatu, system automatycznie ustawi odpowiedni nagłówek Content-Type w żądaniu.