Wyślij żądanie HTTP
Akcja Wyślij żądanie HTTP łączy przepływ pracy z serwerem WWW lub adresem URL i wysyła żądania HTTP.
Gdy aplikacja Flow wyśle żądanie HTTP, oczekuje maksymalnie 30 sekund na kod odpowiedzi HTTP. Jeśli aplikacja Flow nie otrzyma odpowiedzi po 30 sekundach, zamyka połączenie z aplikacją. Później ponawia próbę wysłania żądania.
Pola
Akcja Wyślij żądanie HTTP zawiera następujące pola.
| Pole | Opis |
|---|---|
| Metoda HTTP | Metoda wysyłanego żądania HTTP. Ta Wyślij żądanie HTTP akcja obsługuje następujące metody:
|
| URL | Adres URL serwera, do którego jest wysyłane żądanie HTTP. |
| Nagłówki | Para klucz-wartość dla żądania HTTP. Można wprowadzić wiele par klucz-wartość. |
| Treść | Treść do wysłania na serwer. |
| W przypadku błędu klienta (odpowiedź 4XX) | Po otrzymaniu kodu odpowiedzi wskazującego na błąd klienta, aplikacja Flow wykona jedną z następujących czynności:
|
| W przypadku błędu serwera (odpowiedź 5XX lub 429) | Po otrzymaniu kodu odpowiedzi wskazującego na błąd serwera, aplikacja Flow wykona jedną z następujących czynności:
|
Zwrócone dane
Aby uzyskać dostęp do zwróconych danych w krokach następujących po tej akcji, użyj zmiennej o nazwie sendHttpRequest, która zawiera wszystkie szczegóły odpowiedzi HTTP. Opcjonalnie użyj akcji Uruchom kod, aby przeanalizować treść odpowiedzi do użycia w kolejnych krokach przepływu pracy, tak jak w przykładzie poniżej.
Jeśli akcja Wyślij żądanie HTTP jest używana wielokrotnie w jednym przepływie pracy, do nazwy zmiennej dodawany jest numer. Na przykład w przepływie pracy, w którym akcja Wyślij żądanie HTTP jest używana dwukrotnie, pierwszą zmienną dla zwracanych danych jest sendHttpRequest, a drugą – sendHttpRequest1. Tej nazwy nie można dostosować.
Kody odpowiedzi
W poniższej tabeli opisano, jak aplikacja Flow przetwarza kod odpowiedzi HTTP po otrzymaniu odpowiedzi.
| Kod odpowiedzi HTTP | Sposób, w jaki aplikacja Flow przetwarza kod odpowiedzi |
|---|---|
| 2XX lub 3XX Powodzenie | Aplikacja Flow oznacza żądanie HTTP jako zakończone powodzeniem i wykonuje kolejne akcje w przepływie pracy. |
| Błędy 4XX, błędy 5XX i 429 | Aplikacja Flow postąpi zgodnie z konfiguracją akcji.
|
| Inny kod odpowiedzi | Jeśli odpowiedź zwróci kod nieopisany w tej tabeli lub upłynie limit czasu przy ponawianiu akcji, aplikacja Flow oznaczy żądanie HTTP jako zakończone niepowodzeniem, zakończy przebieg przepływu pracy niepowodzeniem i nie podejmie kolejnych akcji przepływu pracy. |
Sekrety
Wpisy tajne służą do bezpiecznego przechowywania informacji wrażliwych, takich jak tokeny dostępu lub hasła, w celu ich użycia w akcji Wyślij żądanie HTTP. Wpisy tajne są tworzone i zarządzane na stronie Flow > Ustawienia. Wpis tajny zawiera identyfikator, wartość i opis. Do wpisu tajnego można odwołać się jako do zmiennej Liquid (np. {{secrets.handle}}) lub za pomocą opcji Dodaj wpis tajny podczas konfigurowania pól adresu URL, wartości nagłówka lub treści. Wartości wpisów tajnych nigdy nie są widoczne w interfejsie Flow i są redagowane w dziennikach przebiegów przepływu pracy.
Wyzwalacze
Akcja Wyślij żądanie HTTP może być używana w dowolnym przepływie pracy.
Przykłady
Przykład 1: Wysyłanie żądania HTTP do usługi zewnętrznej
W tym przykładzie użyj aplikacji Flow, aby wysłać żądanie HTTP do usługi zewnętrznej.
Zanim zaczniesz, skonfiguruj usługę internetową, która odbiera żądania HTTP i przechowuje dane z tych żądań do celów testowych, taką jak Request Catcher. Pamiętaj, aby zachować ostrożność podczas wysyłania danych wrażliwych (takich jak hasła lub klucze API) do usługi zewnętrznej.
Kroki:
- Wybierz wyzwalacz Zaktualizowano status produktu, co pozwoli Ci przetestować ten przepływ pracy poprzez zmianę statusu produktu.
- Dodaj akcję Wyślij żądanie HTTP do przepływu pracy i połącz ją z wyzwalaczem. Następnie otwórz panel konfiguracji, klikając Wyślij żądanie HTTP krok.
- W polu Metoda HTTP wprowadź
POST. - W polu Adres URL wprowadź adres URL do testowania, np.
https://yourFlowTest.requestcatcher.com/test. - W sekcji Nagłówki wprowadź nagłówek z kluczem
Content-Typei wartościątext/plain. - W sekcji Treść wprowadź
{{product.title}}i{{product.status}}, aby wysłać tytuł i zaktualizowany status produktu z wyzwalacza.
- W polu Metoda HTTP wprowadź
- Aktywuj przepływ pracy.
- Przetestuj go, zmieniając status produktu, na przykład z Wersja robocza na Aktywny.
- Sprawdź wyniki w zewnętrznej usłudze testowej, np.
https://yourFlowTest.requestcatcher.com/w tym przykładzie.
Przykład 2: Użyj akcji „Uruchom kod”, aby przeanalizować odpowiedź HTTP
W tym przykładzie użyj aplikacji Flow, aby wysłać żądanie HTTP do usługi zewnętrznej, oraz akcji Uruchom kod, aby przeanalizować treść odpowiedzi HTTP do użycia w kolejnych krokach przepływu pracy.
Zanim zaczniesz, wybierz usługę WWW, która odbiera żądania HTTP i zwraca dane, np. Postman Echo. Pamiętaj, aby zachować ostrożność podczas wysyłania poufnych danych (takich jak hasła lub klucze API) do usługi zewnętrznej.
Kroki:
Wybierz wyzwalacz Zaktualizowano status produktu, co pozwoli Ci przetestować ten przepływ pracy poprzez zmianę statusu produktu.
Dodaj akcję Wyślij żądanie HTTP do przepływu pracy i połącz ją z wyzwalaczem. Następnie otwórz panel konfiguracji, klikając krok Wyślij żądanie HTTP.
W polu Metoda HTTP wprowadź
POST.W polu Adres URL wprowadź adres URL do testowania, np.
https://postman-echo.com/post.W sekcji Nagłówki wprowadź nagłówek z kluczem
Content-Typei wartościąapplication/json.W sekcji Treść wprowadź przykładowy kod JSON, który ma zostać zwrócony do przepływu pracy, np.:
{ "productTitle": "{{product.title}}", "productStatus": "{{product.status}}" }
Dodaj akcję Uruchom kod do przepływu pracy i połącz ją z akcją Wyślij żądanie HTTP. Następnie otwórz panel konfiguracji, klikając krok Uruchom kod.
W polu Zdefiniuj dane wejściowe uwzględnij
treśćzwróconą przez obiektsendHTTPrequest, np.:query{ sendHttpRequest { body } }W polu Zdefiniuj dane wyjściowe, zdefiniowane w schemacie wyjściowym, np.:
type Output { productTitle: String! productStatus: String! }W polu Napisz kod przeanalizuj odpowiedź za pomocą metody
JSON.parsei upewnij się, że zwracane dane pasują do kształtu i typów zdefiniowanych w schemacie wyjściowym, np.:export default function main(input) { const body = JSON.parse(input.sendHttpRequest.body); console.log("body is", body); return { productTitle: body.data.productTitle, productStatus: body.data.productStatus } }
Dodaj akcję Rejestruj dane wyjściowe do przepływu pracy i połącz ją z akcją Uruchom kod. Następnie otwórz panel konfiguracji, klikając krok Uruchom kod.
W polu Dane wyjściowe uwzględnij zmienne zwrócone przez krok Uruchom kod, np.:
Title from HTTP response: {{runCode.productTitle}} Status from HTTP response: {{runCode.productStatus}}
Aktywuj przepływ pracy.
Przetestuj go, zmieniając status produktu, na przykład z Wersja robocza na Aktywny.
Sprawdź wynikowy przebieg na stronie Flow / Ostatnie przebiegi i zwróć uwagę, że wartości w kroku Rejestruj dane wyjściowe odpowiadają wartościom zwróconym z danych wyjściowych akcji Wyślij żądanie HTTP.
Szablony
Powiadom dostawcę usług realizacji o kolejnych zamówieniach
Wyślij żądanie HTTP do dostawcy usług realizacji, gdy zamówienia zostaną oznaczone tagiem „Warehouse” w aplikacji Order Tagger. Wyświetl szablon
Wyślij nowe zamówienia do aplikacji Airtable
Wyślij zamówienia do aplikacji Airtable po utworzeniu zamówienia. Wyświetl szablon
Wyślij wszystkie istniejące i nowe produkty do aplikacji Airtable
Co 10 minut wyszukuj produkty, które nie zostały wysłane do aplikacji Airtable (według tagu), i wysyłaj je do niej. Wyświetl szablon
Aktualizuj produkty w partiach na podstawie danych o produktach przechowywanych w aplikacji Airtable
Aktualizuj produkty w partiach na podstawie danych o produktach przechowywanych w aplikacji Airtable. Wyświetl szablon
Powiadom klientów o wygasających kartach prezentowych za pomocą aplikacji SendGrid
Codziennie pobieraj wszystkie karty prezentowe, które wygasają za 7 dni, i wysyłaj e-maile do klientów za pomocą aplikacji SendGrid. Wyświetl szablon
Wyślij e-mail za pomocą aplikacji SendGrid, gdy klient złoży zamówienie na pozycję niestandardową
Wyślij transakcyjną wiadomość e-mail za pomocą aplikacji SendGrid, gdy klient złoży zamówienie na pozycję niestandardową. Wyświetl szablon