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.

Pola używane w akcji „Wyślij żądanie HTTP”.
PoleOpis
Metoda HTTPMetoda wysyłanego żądania HTTP. Ta Wyślij żądanie HTTP akcja obsługuje następujące metody:
  • Get – wysyła żądanie informacji z serwera.
  • Delete – usuwa zasób z serwera.
  • Head – pobiera nagłówki odpowiedzi HTTP z serwera.
  • Options – pobiera opcje i funkcje obsługiwane przez serwer.
  • Patch – częściowo aktualizuje zasób na serwerze.
  • Put – aktualizuje zasób na serwerze.
  • Post – tworzy lub zastępuje zasób na serwerze.
URLAdres URL serwera, do którego jest wysyłane żądanie HTTP.
NagłówkiPara 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:
  • Ponów próbę – ponawiaj próbę przez maksymalnie 24 godziny do momentu otrzymania innego kodu odpowiedzi lub upłynięcia limitu czasu.
  • Zakończ niepowodzeniem – zakończ przebieg przepływu pracy niepowodzeniem.
  • Ignoruj – zignoruj błąd i kontynuuj przebieg przepływu pracy.
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:
  • Ponów próbę – ponawiaj próbę przez maksymalnie 24 godziny do momentu otrzymania innego kodu odpowiedzi lub upłynięcia limitu czasu.
  • Zakończ niepowodzeniem – zakończ przebieg przepływu pracy niepowodzeniem.
  • Ignoruj – zignoruj błąd i kontynuuj przebieg przepływu pracy.

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.

Sposób, w jaki aplikacja Flow przetwarza kody odpowiedzi HTTP.
Kod odpowiedzi HTTPSposób, w jaki aplikacja Flow przetwarza kod odpowiedzi
2XX lub 3XX PowodzenieAplikacja 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.
  • Ponów próbę – ponawiaj próbę przez maksymalnie 24 godziny do momentu otrzymania innego kodu odpowiedzi lub upłynięcia limitu czasu.
  • Zakończ niepowodzeniem – zakończ przebieg przepływu pracy niepowodzeniem.
  • Ignoruj – zignoruj błąd i kontynuuj przebieg przepływu pracy.
Inny kod odpowiedziJeś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:

  1. Wybierz wyzwalacz Zaktualizowano status produktu, co pozwoli Ci przetestować ten przepływ pracy poprzez zmianę statusu produktu.
  2. 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-Type i wartością text/plain.
    • W sekcji Treść wprowadź {{product.title}} i {{product.status}}, aby wysłać tytuł i zaktualizowany status produktu z wyzwalacza.
  3. Aktywuj przepływ pracy.
  4. Przetestuj go, zmieniając status produktu, na przykład z Wersja robocza na Aktywny.
  5. 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:

  1. Wybierz wyzwalacz Zaktualizowano status produktu, co pozwoli Ci przetestować ten przepływ pracy poprzez zmianę statusu produktu.

  2. 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-Type i 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}}"
      }
  3. 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 obiekt sendHTTPrequest, 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.parse i 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
        }
      }
  4. 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}}
  5. Aktywuj przepływ pracy.

  6. Przetestuj go, zmieniając status produktu, na przykład z Wersja robocza na Aktywny.

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