Przegląd konektorów HTTP
  • 31 Oct 2023
  • 6 Minuty do przeczytania
  • Współtwórcy

Przegląd konektorów HTTP


Article Summary

Ten przewodnik pomoże ci zrozumieć pełne możliwości konektorów HTTP.

Jeśli chcesz podłączyć zewnętrzny system, taki jak MES lub ERP do Tulip, musisz użyć konektora HTTP. Konektory HTTP Tulip mogą łączyć się z większością typów interfejsów API HTTP, w tym REST i SOAP.

Szukasz instrukcji na temat tworzenia konektorów HTTP? Weź udział w kursie HTTP Connectors University!

Zrozumienie funkcji konektorów

W ramach konektora HTTP można napisać serię funkcji konektora, które będą uruchamiać typowe typy żądań HTTP przy użyciu wstępnie zdefiniowanych danych wejściowych. Funkcje konektorów to indywidualne akcje, które wykonują wywołania interfejsu API. Funkcje konektorów HTTP Tulip obsługują następujące metody:

  • GET
  • HEAD
  • POST
  • PUT
  • PATCH
  • DELETE

oraz modyfikacje następujących pól:

  • Nazwa hosta, Port i Ścieżka
  • Uwierzytelnianie (brak, Basic Auth, OAuth 2)
  • Nagłówki żądań
  • Parametry zapytania
  • Treść żąd ania (JSON, zakodowany URL formularza, XML lub zwykły tekst)

:::(Info) (UWAGA) Ten wybór będzie miał wpływ na nagłówek Content-Type. Np. jeśli chcesz wysłać JSON za pomocą opcji Zwykły tekst, musisz ręcznie zakodować typ zawartości "application/json" w nagłówkach :::

Odpowiedzi można następnie przetwarzać i wyodrębniać z nich informacje:

  • Nagłówki odpowiedzi
  • Treść odpowiedzi (JSON przy użyciu json-query lub XML przy użyciu xpath)

Konektory HTTP obsługują następujące typy danych wyjściowych:

  • Tekst
  • Liczba całkowita
  • Pływak
  • Wartość logiczna
  • Datetime*
  • Obiekty ze wszystkimi powyższymi typami danych
  • Tablice ze wszystkimi powyższymi typami danych

*Parsowanie datetime obsługuje:

  • znaczniki czasu OData w milisekundach od 1 stycznia 1970 r. UTC
  • liczby interpretowane jako milisekundy od 1 stycznia 1970 r. UTC
  • ciągi dat ISO 8601

Tworzenie łącznika

Kliknij Dodaj konektor w prawym górnym rogu strony Konektory, a następnie nadaj nazwę konektorowi i wybierz HTTP.

An Overview of HTTP Connectors_122139734.png

Następnie pojawi się zakładka Environment. Jeśli chcesz skonfigurować wiele środowisk, zapoznaj się z tym osobnym przewodnikiem

An Overview of HTTP Connectors_122140278.png

Następnie, po wybraniu konektora, wybierz Dodaj szczegóły połączenia, aby dodać więcej szczegółów na temat serwera, który chcesz zapytać.

An Overview of HTTP Connectors_122140947.png

Dostępnych jest 5 opcji.

An Overview of HTTP Connectors_122141109.png

Zapoznaj się ztym przewodnikiem na temat hostów konektorów.

Host: Uwzględnij tylko domenę, o którą chcesz zapytać. Nie uwzględniaj http:// lub https:// Np. myaccount.restlet.api.netsuite.com.

Port: Powinien być określony przez usługę, której dotyczy zapytanie. Żądania HTTP zazwyczaj używają portu 443.

TLS: Wybierz "Tak", jeśli używasz HTTPS, lub "Nie", jeśli tylko "HTTP".

Kliknij Test, aby sprawdzić, czy możesz pomyślnie połączyć się z serwerem, a następnie kliknij Zapisz.

Aby powielić lub usunąć konektor, wróć do strony Konektory, a następnie kliknij trzy kropki po prawej stronie określonego konektora.

An Overview of HTTP Connectors_122140669.png

Tworzenie funkcji konektora

Kliknij przycisk Add New Function na karcie Functions, aby utworzyć nową funkcję.

An Overview of HTTP Connectors_122141271.png

Następnie pojawi się szereg opcji edycji funkcji.

Najpierw nazwij funkcję w lewym górnym rogu strony.

Następnie kliknij przycisk Add Function Inputs, aby rozpocząć dodawanie danych wejściowych. Przykład:

Jeśli chcesz przetestować funkcję łącznika HTTP, dodaj "Wartość testową" dla każdego wejścia.

Następnie dodaj punkt końcowy na końcu adresu URL i wybierz typ żądania HTTP.

Wybierz Query Parameters, aby rozpocząć dodawanie par klucz/wartość. Użyj zdefiniowanych danych wejściowych w polu Value.

Dodaj $ przed i po nazwie danych wejściowych, na przykład, jeśli nazwa danych wejściowych to "city_name", wpisz$city_name$.

Obsługa odpowiedzi

Gdy będziesz zadowolony z danych wejściowych i wyjściowych, wybierz Test w prawym górnym rogu, aby utworzyć przykładową odpowiedź.

W sekcji Wyniki testu pojawi się odpowiedź JSON lub XML. Teraz możesz zmapować części tej odpowiedzi do Outputs, a następnie użyć ich w aplikacjach.

Ekstraktory JSON używają składni json-query. Aby przetestować składnię, użyj tego narzędzia online.

Ekstraktory XML używają składni XPATH.

Można to zrobić na dwa sposoby:

  1. Kliknij właściwości w treści odpowiedzi, aby zmapować je na dane wyjściowe
  2. Ręcznie określić ścieżkę za pomocą json-query

Oto jak określić ekstraktory za pomocą wskaż i kliknij:

Jeśli chcesz użyć json-query, dodaj kilka wyjść, aby móc zmapować zawartość odpowiedzi do Tulip.

Następnie musisz określić "ekstraktory" obok każdego wyjścia, aby wskazać dane z treści odpowiedzi, które chcesz przechowywać.

Oto przykład z json-query: powiedzmy, że piszesz żądanie GET, które zwraca tablicę obiektów. Chcesz zwrócić wartość właściwości name z pierwszego obiektu w tablicy.

Oto, co napisałbyś w polu ścieżki:

0.name

Można również przechowywać wartości z sekcji Headers i Cookies odpowiedzi.

Podobnie jak w sekcji powyżej, należy określić konkretne dane wyjściowe w sekcji Output. Następnie kliknij część przykładowej odpowiedzi lub użyj zapytania json, aby uzyskać dostęp do właściwej właściwości z JSON w odpowiedzi HTTP.

Oto przykład, w którym dane wyjściowe o nazwie "csrf_token" przechowują wartość o nazwie "x-csrf-token" z właściwości w nagłówku.

Dane wyjściowe są przechowywane jako właściwości obiektu, gdy są udostępniane aplikacji. Następnie należy zapisać obiekt w zmiennej w aplikacji. Aby uzyskać więcej informacji, zobacz ten przewodnik dotyczący używania danych wyjściowych konektora z aplikacjami

Używanie RegEx do modyfikowania danych wyjściowych

Można również użyć RegEx do udoskonalenia wartości tekstowych z odpowiedzi. Aby to zrobić, dodaj jedną z tych funkcji w polu Path, aby przekazać wartość za pomocą wyrażenia regularnego:

:regexp()

Aby przechwycić wiele podciągów w ciągu-

regexpGroup()

Przykłady:

0.name:regexp(^N) 0.name:regexpGroup(^\w + (w+))

Korzystając z grupy RegEx, możesz chcieć przechwycić pojedynczą grupę w większym ciągu. Aby to zrobić, dodaj przecinek na końcu ciągu RegEx i dodaj numer określonej grupy w ciągu.

parts[0].inputs:regexpGroup(^\w\w\s(\w\w)\s(\w\w)\s(\w\w),2)

Można też użyć go do wybrania określonego elementu w tablicy, który pasuje do reguły. Na przykład, pierwszy obiekt z wartością email zaczynającą się od n.

.[email:regexp(^N)]

Zalecamy RegExr do testowania RegEx. Tulip używa silnika JavaScript (ECMA) RegEx.

Obsługa obiektów i tablic w danych wyjściowych

Tulip obsługuje zarówno obiekty, jak i tablice w danych wyjściowych JSON. Oto jak używać każdego z nich:

Obiekty

Aby sformatować dane wyjściowe JSON jako obiekt, należy najpierw utworzyć obiekt w sekcji Outputs, a następnie wskazać ekstraktor.

W powyższym przykładzie obiekt nosi nazwę "singleObj". Wyjście JSON jest tablicą obiektów, więc wybiera obiekt o indeksie 0.

Następnie zacznij dodawać dane wyjściowe odpowiadające każdej parze klucz/wartość, którą chcesz przechowywać. Pary klucz/wartość można dodawać za pomocą przycisku +.

W powyższym przykładzie w obiekcie singleObj znajdują się dwa pola:

  1. userID, które odwołuje się do właściwości userID i jest liczbą całkowitą
  2. id, które odwołuje się do właściwości id i jest liczbą całkowitą

W tym przypadku ekstraktor nie musi zaczynać się od "0", ponieważ automatycznie odwołuje się do obiektu o indeksie 0.

Oto jak wyglądają dane wyjściowe JSON:

Tablice obiektów

Aby zwrócić tablicę obiektów, wybierz List of Values w sekcji Output i wybierz Objects.

Prawdopodobnie konieczne będzie zwrócenie całej tablicy na poziomie głównym w danych wyjściowych JSON.

Aby to zrobić, wprowadź "." dla ekstraktora:

Następnie, podobnie jak w przypadku powyższego ekstraktora obiektów, zacznij dodawać poszczególne właściwości, które chcesz wysłać do aplikacji.

Spowoduje to zwrócenie userId i id dla każdego obiektu w tablicy. Swoją pracę możesz sprawdzić w sekcji Outputs w wynikach testu:

Tablice jednego typu danych

Wyobraźmy sobie, że chcemy uzyskać wartość logiczną z każdego obiektu w tablicy zwracanych wartości.

Aby to zrobić, utwórz dane wyjściowe dla tablicy wartości logicznych. Następnie wskaż właściwość, która jest używana do przechowywania tej wartości logicznej w każdym obiekcie.

W powyższym przykładzie dane wyjściowe mają nazwę "completed" i zawierają wartość z każdej właściwości "completed" w tablicy, zgodnie ze wskazaniami ekstraktora.

Oto jak wyglądałyby dane wyjściowe:

Poprzednie integracje

Tulip może integrować się z różnymi systemami oprogramowania. Oto kilka przykładów systemów, które zostały zintegrowane z Tulip w przeszłości:

Więcej informacji


Czy znalazłeś to, czego szukałeś?

Możesz również udać się na stronę community.tulip.co, aby opublikować swoje pytanie lub sprawdzić, czy inni mieli do czynienia z podobnym pytaniem!


Czy ten artykuł był pomocny?