Przegląd łączników HTTP
  • 23 Mar 2023
  • 5 Minuty do przeczytania
  • Współtwórcy

Przegląd łącznikó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 Tulipa, musisz użyć złącza HTTP. Tulip's HTTP Connectors mogą łączyć się z większością typów HTTP API, w tym REST i SOAP.

Szukasz przewodnika na temat budowania łączników HTTP? Weź kurs Uniwersytetu Łączników HTTP!

Zrozumienie funkcji łączników

W ramach konektora HTTP można napisać szereg funkcji konektora, które będą uruchamiać typowe typy żądań HTTP przy użyciu predefiniowanych danych wejściowych. Funkcje konektorów to indywidualne działania, które wykonują połączenia z API. Funkcje konektora Tulip HTTP obsługują następujące metody:

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

oraz modyfikacje następujących pól:

  • Hostname, Port, oraz Path
  • Uwierzytelnianie (brak, Basic Auth, OAuth 2)
  • Nagłówki żądania
  • Parametry zapytania
  • Treść żądania (JSON, Form URL-Encoded, XML lub Plain Text)

:::(Info) (UWAGA) Ten wybór będzie miał wpływ na nagłówek Content-Type. Np. jeśli chcesz wysłać JSON używając opcji Plain Text, musisz ręcznie zakodować Content-Type "application/json" w swoich nagłówkach. :::

Odpowiedzi mogą być następnie przetwarzane i informacje wyodrębnione z:

  • Nagłówków odpowiedzi (Response Headers)
  • Ciało odpowiedzi (JSON przy użyciu json-query lub XML przy użyciu xpath)

Łączniki HTTP obsługują następujące typy danych w wyjściach:

  • Text
  • Integer
  • Float
  • Boolean
  • Datetime*
  • Obiekty z wszystkimi powyższymi typami danych
  • Tablice z wszystkimi powyższymi typami danych

*Parsowanie datetime obsługuje:

  • OData timestamps w milisekundach od 1 stycznia 1970 UTC
  • liczby interpretowane jako milisekundy od 1 stycznia 1970 r. UTC
  • łańcuchy dat ISO 8601

Tworzenie połączenia

Kliknij Add Connector w prawym górnym rogu strony Connectors, następnie nazwij Connector i wybierz HTTP.

An Overview of HTTP Connectors_122139734.png

Następnie zobaczysz zakładkę {{glossary.Environment}}. Jeśli chcesz skonfigurować wiele środowisk, zobacz ten osobny przewodnik

An Overview of HTTP Connectors_122140278.png

Następnie, po wybraniu Connectora, wybierz Add Connection Details, aby dodać więcej szczegółów na temat serwera, który chcesz zapytać.

An Overview of HTTP Connectors_122140947.png

Istnieje 5 opcji.

An Overview of HTTP Connectors_122141109.png

Zapoznajsię z tym przewodnikiem na temat hostów konektorów.

Host: Dołącz tylko domenę, którą chcesz zapytać. Nie dołączaj http:// lub https:// Np. myaccount.restlet.api.netsuite.com.

Port: To powinno być określone przez usługę, którą pytasz. Żądania HTTP zazwyczaj używają portu 443.

TLS: Wybierz "Tak", jeśli używasz HTTPS, a "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 zduplikować lub usunąć konektor, wróć na stronę Connectors, a następnie kliknij trzy kropki po prawej stronie konkretnego konektora.

An Overview of HTTP Connectors_122140669.png

Tworzenie funkcji łącznika

Kliknij przycisk Dodaj nową funkcję na zakładce Funkcje, aby utworzyć nową funkcję.

An Overview of HTTP Connectors_122141271.png

Pojawi się szereg opcji do edycji funkcji.

Najpierw nadaj nazwę funkcji w lewym górnym rogu strony.

Następnie kliknij przycisk Dodaj wejścia funkcji, aby rozpocząć dodawanie wejść. Przykład:

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

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

Wybierz Query Parameters, aby rozpocząć dodawanie par klucz/wartość. Użyj zdefiniowanych przez siebie wejść w polu wartości.

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

Obsługa odpowiedzi

Po tym jak jesteś zadowolony ze swoich wejść i wyjść, wybierz Test w prawym górnym rogu, aby stworzyć przykładową odpowiedź.

Zobaczysz odpowiedź JSON lub XML w sekcji Wyniki testu. 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.

Istnieją dwa sposoby, aby to zrobić:

  1. Kliknij właściwości w ciele odpowiedzi, aby zmapować je do wyjść
  2. Ręcznie określ ścieżkę za pomocą json-query

Oto jak określić ekstraktory za pomocą wskazywania i klikania:

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

Następnie musisz określić "ekstraktory" obok każdego wyjścia, aby wskazać dane z ciała odpowiedzi, które chciałbyś przechowywać.

Oto przykład z json-query: powiedzmy, że piszesz żądanie GET, które zwraca Array of Objects. 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żesz również przechowywać wartości z sekcji nagłówków i plików cookie w odpowiedzi.

Podobnie jak w sekcji powyżej, musisz określić konkretne wyjście w sekcji Output. Następnie kliknij część przykładowej odpowiedzi lub użyj json-query, aby uzyskać dostęp do odpowiedniej właściwości z JSON w odpowiedzi HTTP.

Oto przykład, w którym wyjście o nazwie "csrf_token" przechowuje 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ą one udostępniane aplikacji. Następnie musisz przechowywać obiekt w zmiennej w aplikacji. Więcej szczegółów znajdziesz w tym przewodniku po używaniu wyjść złączki z aplikacjami

Użycie RegEx do modyfikacji danych wyjściowych

Możesz również użyć RegEx do dopracowania wartości tekstowych z odpowiedzi. Aby to zrobić, dodaj jedną z tych funkcji w polu Path, aby przekazać wartość przez wyrażenie regularne:

:regexp()

Aby uchwycić wiele podłańcuchów w ramach wyrażenia regularnego:.

:regexpGroup()

Przykłady:

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

Używając grupy RegEx, możesz chcieć uchwycić pojedynczą grupę w ramach większego ciągu. Aby to zrobić, dodaj przecinek na końcu swojego ciągu RegEx i dodaj numer konkretnej grupy wewnątrz ciągu.

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

Lub użyj go, aby wybrać konkretny element w tablicy, który pasuje do reguły. Na przykład pierwszy obiekt z wartością e-maila, która zaczyna się od n.

.[email:regexp(^N)]

Polecamy RegExr do przetestowania swojego RegEx. Tulip używa silnika RegEx w języku JavaScript (ECMA).

Obsługa obiektów i tablic w wyjściach

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

Obiekty

Aby sformatować wyjście JSON jako obiekt, najpierw utwórz Obiekt w sekcji Outputs, a następnie wskaż 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ć wyjścia, które odpowiadają każdej parze klucz / wartość, którą chciałbyś przechowywać. Możesz dodać pary kluczy / wartości 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ąda wyjście JSON, dla odniesienia:

Tablice obiektów

Aby zwrócić tablicę obiektów, wybierz Lista wartości w sekcji Wyjście i wybierz Obiekty.

Prawdopodobnie będziesz musiał zwrócić całą tablicę na poziomie korzenia w wyjściu JSON.

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

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

To zwróciłoby userId i id dla każdego obiektu w tablicy. Możesz sprawdzić swoją pracę w sekcji Outputs w wynikach testu:

Tablice jednego typu danych

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

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

W powyższym przykładzie wyjście nazywa się "zakończone" i zawiera wartość z każdej "zakończonej" właściwości w tablicy, zgodnie ze wskazaniem ekstraktora.

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

Dotychczasowe integracje

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

Dalsza lektura


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

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


Czy ten artykuł był pomocny?