The plugin contains the implementation of data sources operating on the RESTful API.Described data sources allow for read and transfer data between the PlusWorkflow system and an external API using the HTTP protocol methods (GET, POST, etc.). | Info |
|---|
It is also possible to communicate with the PWFL system's internal API. In this case, use "localhost" in the URL |
Image Removed Configuration descriptionBardzo przydatną stroną gdzie można odczytać ścieżkę z podanego JSON'a jest: https://jsonpathfinder.com/ W przypadku źródła typu "Parametr Header", w polu podajemy nazwę klucza z nagłówka odpowiedzi. W przypadku źródła typu "Parametr Cookie", w polu podajemy nazwę cookie z odpowiedzi. Jeśli została podana gwiazdka: * to zostaną odczytane wszystkie cookie z odpowiedzi. | Nazwa elementu z podanej ścieżki XPath lub JsonPath z której zostanie pobrana wartość. W przypadku gdy wskazanego elementu nie ma, zostanie zwrócona wartość pusta. Parametr nie może wskazywać na element, który zawiera w sobie kolejnego node'a z elementami. | - Parametr Body - wartość zostanie pobrana z "ciała" wiadomości odpowiedzi według podanej ścieżki i nazwy elementu (parametry: "Path/Klucz" oraz "Nazwa elementu");
- Parametr Header - wartość zostanie pobrana z nagłówka wiadomości odpowiedzi według podanego klucza (parametr "Path/Klucz");
- Parametr Cookie - wartość zostanie pobrana z cookie odpowiedzi według podanego klucza (parametr "Path/Klucz");
| Warning |
|---|
W przypadku wyboru "Parametr Body" w polu "Path/Klucz" należy podać ścieżkę do parametru w odpowiednim formacie (JsonPath lub XPath). |
| Warning |
|---|
Aby pobrać wszystkie cookie w formacie "nazwa1=wartosc1;nazwa2=wartosc2" należy w polu klucz podać gwiazdkę: * |
|
| Opcjonalny | | Szablon | Szablon wejściowy w formacie JSON, który zostanie przekazany w treści wiadomości wysyłanej. Wartości parametrów podanych w klamrach, np.: "{param1}" zostaną zastąpione wartościami parametrów wejściowych o danym id (w tym przypadku: param1). Jeżeli parametr podany w klamrach znajduje się w obiekcie (JSON object) w strukturze listy w szablonie JSON oraz został dla niego określony element tablicowy w definicji parametru wejściowego (parametr jsonPath) a także jeśli parametr wejściowy jest typu tabelarycznego to obiekt do którego należy parametr w klamrach w szablonie JSON zostanie powielony tyle razy ile wynosi długość przekazanej tablicy parametru wejściowego. Jeżeli parametr podany w klamrach znajduje się w tablicy(JSON array) w strukturze listy w szablonie JSON oraz został dla niego określony element tablicowy w definicji parametru wejściowego (parametr jsonPath) a także jeśli parametr wejściowy jest typu tabelarycznego to tablica do której należy parametr w klamrach w szablonie JSON zostanie wypełniona wartościami z tablicy parametru wejściowego. | Info |
|---|
Jeśli szablon pozostanie pusty to jako treść wiadomości wysyłanej zostanie wygenerowany prosty schemat JSON w formacie: "{"{param1}":"param1_wartość"}" zgodnie z przekazanymi parametrami wejściowymi. |
| Opcjonalny | | Separator zmiennych tabelarycznych | Znak tekstowy określający separator danych w tabelarycznych parametrach wejściowych. Wartość domyślna: ";" | Wymagany | | Timeout połączenia [s] | Parametr określający limit czasu dla połączenia ze wskazaną usługą REST. Domyślna wartość parametru to 60 sekund. | Wymagany |
| Info |
|---|
Komponent umożliwia wyświetlenie podglądu danych nieprzetworzonych (wygenerowany schemat JSON, odpowiedź z API, nagłówki odpowiedzi z API). W celu wyświetlenia podglądu należy użyćprzycisku "Pokaż dane nieprzetworzone" znajdującego się na samym dole okna konfiguracji, następnie opcjonalnie uzupełnić parametry wejściowe źródła i finalnie użyć przycisku "Wywołaj źródło". Przykładowe okno z podglądem danych nieprzetworzonych: Image Added
|
Opis konfiguracji (operacja pobierania pliku):| Nazwa parametru | Opis parametru | Wymagalność | Uwagi |
|---|
| Autoryzacja | Schemat autoryzacji żądania. Jeśli żądany endpoint nie wymaga autoryzacji pole należy zostawić puste. Opis definiowania szablonów autoryzacji znajduje | się | się TUTAJ. | Opcjonalny | | | Dodatkowe nagłówki | Parametr pozwala na dodanie dodatkowych nagłówków do żądania. Parametr można wykorzystać np. do wymuszenia odpowiedzi z API w formacie JSON (jeśli wywoływane API posiada taką możliwość). W takim wypadku należy dodać wiersz w opisywanym parametrze i w polu "Nagłówek" podać wartość "Accept", natomiast w polu "Wartość" podać "application/json".
Image Modified Poprawnie skonfigurowane API na żądanie z powyższym nagłówkiem powinno zwrócić dane w formacie JSON lub odpowiedzieć błędem w przypadku, gdy na to żądanie nie można odpowiedzieć w formacie JSON. | Opcjonalny | | | Metoda HTTP | Lista metod protokołu HTTP. Dostępne metody: GET, HEAD, POST, PUT, DELETE, PATCH. Należy wybrać wymaganą metodę żądania zgodnie z dokumentacją API. | Wymagany | | | URL | Adres URL endpointu, do którego wysłane zostanie żądanie. W przypadku wywołania akcję z API tego samego systemu PlusWorkflow, w którym skonfigurowane jest źródło adres URL musi zawierać domenę "localhost". | Wymagany | | | Content-Type | Parametr pozwala na zdefiniowanie formatu danych przekazywanych w ciele żądania. Parametr jest stosowany tylko, gdy wśród parametrów wejściowych znajdują się parametry typu "Parametr Body". W pozostałych przypadkach wartość tego parametru nie ma znaczenia. | Info |
|---|
Jeśli chcemy skorzystać z innej niż domyślne wartości, należy użyć opcji "Dodatkowe nagłówki" podając "Content-Type" jako nazwa oraz własną, poprawną wartość dla tego nagłówka. |
| | | | Szablon | Szablon wejściowy w formacie JSON, który zostanie przekazany w treści wiadomości wysyłanej. Wartości parametrów podanych w klamrach, np.: "{param1}" zostaną zastąpione wartościami parametrów wejściowych o danym id (w tym przypadku: param1). Jeżeli parametr podany w klamrach znajduje się w obiekcie (JSON object) w strukturze listy w szablonie JSON oraz został dla niego określony element tablicowy w definicji parametru wejściowego (parametr jsonPath) a także jeśli parametr wejściowy jest typu tabelarycznego to obiekt do którego należy parametr w klamrach w szablonie JSON zostanie powielony tyle razy ile wynosi długość przekazanej tablicy parametru wejściowego. Jeżeli parametr podany w klamrach znajduje się w tablicy(JSON array) w strukturze listy w szablonie JSON oraz został dla niego określony element tablicowy w definicji parametru wejściowego (parametr jsonPath) a także jeśli parametr wejściowy jest typu tabelarycznego to tablica do której należy parametr w klamrach w szablonie JSON zostanie wypełniona wartościami z tablicy parametru wejściowego. | Info |
|---|
Jeśli szablon pozostanie pusty to jako treść wiadomości wysyłanej zostanie wygenerowany prosty schemat JSON w formacie: "{"{param1}":"param1_wartość"}" zgodnie z przekazanymi parametrami wejściowymi. |
| Opcjonalny | | | Timeout połączenia [s] | Parametr określający limit czasu dla połączenia ze wskazaną usługą REST. Domyślna wartość parametru to 60 sekund. | Wymagany | | | Klasa dokumentów | Określa klasę dokumentów, w której zapisany zostanie pobrany plik. | | | | Nazwa pliku | Nazwa, pod którą zapisany zostanie pobrany plik. | | | | Opis pliku | Opis pobranego pliku w archiwum dokumentów. | | | | Wywołaj akcje klasy dokumentów | Wywołuje akcje na klasie dokumentów (typ zdarzenia: "Dodanie nowego dokumentu z poziomu archiwum"). | | | | Dołącz do procesu | Pozwala określić czy i w jaki sposób dodać pobrany dokument do procesu/zadania. Dostępne opcje: | Opcja | Opis |
|---|
| Nie dołączaj do procesu ani do zadania | Dokument jest tylko zapisywany w archiwum | | Dołącz do procesu | Dodawanie do procesu (pojawia się pole "ID procesu") | | Dołącz do procesu i zadania | Dodawanie do procesu oraz do zadania (pojawiają się pola: "ID procesu" oraz "ID zadania") |
| | | | ID procesu | ID procesu, do którego chcemy dołączyć pobrany dokument (dostępne po wyborze odpowiedniej opcji parametru "Dołącz do procesu"). | | ID procesu można znaleźć na pasku adresu przeglądarki internetowej (parametr "processKey"). | | ID zadania | ID zadania, do którego chcemy dołączyć pobrany dokument (dostępne po wyborze odpowiedniej opcji parametru "Dołącz do procesu"). | | ID zadania można znaleźć na pasku adresu przeglądarki internetowej (parametr "activityId"). | | Zapisz jako nowa wersja | Określa czy i w jaki sposób zapisać nową wersję pobranego dokumentu. Dostępne opcje: | Opcja | Opis |
|---|
| Nie | Zapisywanie jako nowy dokument w archiwum | | Tak (bazując na ID pliku) | Zapisuje nową wersja dla podanego ID pliku (pojawia się pole "ID pliku") | | Tak (bazując na indeksach) | Zapisuje nową wersję pliku wykorzystując systemowy mechanizm indeksów |
| | | | ID pliku | ID pliku, dla którego zostanie utworzona nowa wersja dokumentu (dostępne po wyborze odpowiedniej opcji parametru "Zapisz jako nowa wersja"). | | | | Indeks | Nazwa indeksu z klasy dokumentów (możliwość użycia parametru wejściowego, np. {index_name}, gdzie "index_name" to ID parametru wejściowego. | | | | Wartość indeksu | Wartość, która zostanie zapisana w danym indeksie (możliwość użycia parametru wyjściowego, np. {} lub {}, gdzie nazwa pomiędzy nawiasami klamrowymi odpowiada nazwie nagłówka odpowiedzi lub nazwie klucza cookie odpowiedzi. Jeśli nie użyjemy nawiasów klamrowych to do indeksu zostanie przypisana konkretna wartość z pola. | | | | Parametry wejściowe | | Id parametrów wejściowych | Nazwy parametrów wejściowych | Typy parametrów wejściowych | jsonPath |
|---|
Określa id parametrów wejściowych. - W przypadku parametru typu "
|
| Paramter - Parametr URL" należy podstawić zdefiniowane id do adresu URL żądania w formacie {id} np. http://localhost/{parametr}
- W przypadku parametru typu "Parametr Body" oraz w przypadku gdy parametr "Szablon" jest pusty - zdefiniowane id zostanie użyte jako klucz przekazywanych danych w ciele żądania
|
| https://developer.mozilla.org/en-US/docs/Web/HTTP/Basics_of_HTTP/MIME_types#multipartform-data- ; w przypadku gdy parametr "Szablon" nie jest pusty - zdefiniowane id zostanie użyte jako wartość elementu w szablonie JSON
- W przypadku parametru typu "Parametr Header" należy podstawić zdefiniowane id jako wartość klucza w nagłówku wysyłanego żądania
- W przypadku parametru typu "Parametr pliku" należy podstawić zdefiniowane id jako wartość w polach: klasa dokumentów, nazwa pliku, opis pliku, ID procesu, ID zadania, ID pliku, indeks
| Określa wyświetlaną nazwę parametrów wejściowych | Parametr URL - parametr zostanie przekazany w adresie URL. Parametr Body - parametr zostanie przekazany w ciele żądania. Parametr Header - parametr zostanie przekazany w nagłówku żądania. Parametr autoryzacji - parametr zostanie przekazany do wybranego schematu autoryzacji. Parametr pliku - parametr zostanie przekazany w polach dotyczących pobieranego dokumentu/archiwum dokumentów. Parametr Path/Klucz - parametr zostanie przekazany w w polu "Path/Klucz", w sekcji parametrów wyjściowych | Warning |
|---|
| Parametrów typu "Parametr Body" nie należy dodawać do żądań typu "GET"! |
|
|
Opcjonalny | | Ścieżka w formacie jsonPath określająca docelowy element tablicowy struktury JSON, w którym zostaną powielone lub rozpakowane wartości wejściowych parametrów tabelarycznych. |
| | | | Parametry wyjściowe | | Id parametrów wyjściowych | Nazwy parametrów wyjściowych |
|---|
| JsonPath| Path/Key | Żródło |
|---|
| Określa id parametrów wyjściowych używane w mappingu | Określa wyświetlaną nazwę parametrów wyjściowych | Ścieżka ( |
| podobna do XPathJsonPath lub XPath - w zależności od formatu odpowiedzi zwrotnej z API) służąca do wyodrębnienia danych z |
| wynikowego JSON-aodpowiedzi. Dokumentacja korzystania z JsonPath - |
| Opcjonalny | Bardzo przydatną stroną gdzie można odczytać ścieżkę z podanego JSON'a jest: https://jsonpathfinder.com/ W przypadku źródła typu "Parametr Header", w polu podajemy nazwę klucza z nagłówka odpowiedzi. W przypadku źródła typu "Parametr Cookie", w polu podajemy nazwę cookie z odpowiedzi. Jeśli została podana gwiazdka: * to zostaną odczytane wszystkie cookie z odpowiedzi. |
- Parametr Header - wartość zostanie pobrana z nagłówka wiadomości odpowiedzi według podanego klucza (parametr "Path/Klucz");
- Parametr Cookie - wartość zostanie pobrana z cookie odpowiedzi według podanego klucza (parametr "Path/Klucz");
|
| | |
Przykłady konfiguracji: | Info |
|---|
| title | Przykład konfiguracji |
|---|
| Przykładowa konfiguracja, wykorzystująca publiczne API https://api.publicapis.org/: | View file |
|---|
| name | DS_rest_publicapis.json |
|---|
| height | 150 |
|---|
|
|
| Konfiguracja źródła |
|---|
| | Odpowiedź API | Opis |
|---|
Image Removed Image Added | Image Removed | | Code Block |
|---|
| {
success: true,
message: "user was created"
} |
| Źródło dodaje użytkownika do API API example.com i i w odpowiedzi wyświetla informację o sukcesie operacji oraz wiadomość z serwerawiadomość zwrotną oraz pliki cookie.
|
| Konfiguracja źródła |
|---|
| | Odpowiedź API | Opis | Image Removed |
|---|
Image Removed Image Added | | Code Block |
|---|
| {
data: [
{
...,
userName: "admin",
...
},
{
...,
userName: "administrator",
...
}
],
total: 2
} |
| Źródło zwraca listę nazw użytkowników systemu PlusWorkflow, zawierających wartość przekazaną w parametrze "filter" oraz liczbę wszystkich zwróconych wyników przy każdej zwróconej nazwie użytkownika.
(Wywołanie dla filter="admin") | |
|