Send HTTP-forespørsel
Handlingen Send HTTP-forespørsel kobler arbeidsflyten til en nettserver eller URL-adresse og sender HTTP-forespørsler.
Når Flow har sendt HTTP-forespørselen, venter den i maksimalt 30 sekunder på en HTTP-svarkode. Hvis Flow ikke har mottatt svar etter 30 sekunder, lukkes forbindelsen til appen. Senere prøver den å sende forespørselen på nytt.
Felt
Handlingen Send HTTP-forespørsel inneholder følgende felt.
| Felt | Beskrivelse |
|---|---|
| HTTP-metode | Metoden for HTTP-forespørselen som skal sendes. Den Send HTTP-forespørsel -handlingen støtter følgende metoder:
|
| URL-adresse | URL-adressen til serveren som HTTP-forespørselen sendes til. |
| Meldingshoder | Nøkkel- og verdiparet for HTTP-forespørselen. Flere nøkkel-verdi-par kan legges inn. |
| Brødtekst | Innholdet som skal sendes til serveren. |
| Ved klientfeil (4XX-svar) | Når du mottar en svarkode som indikerer en klientfeil, vil Flow:
|
| Ved serverfeil (5XX- eller 429-svar) | Når du mottar en svarkode som indikerer en serverfeil, vil Flow:
|
Returnerte data
For å få tilgang til returnerte data i trinn som følger etter denne handlingen kan du bruke variabelen kalt sendHttpRequest, som inneholder alle opplysningene om HTTP-svaret. Du kan også bruke handlingen Kjør kode til å analysere brødteksten i svaret for bruk i påfølgende arbeidsflyttrinn, som i eksempelet nedenfor.
Hvis en Send HTTP-forespørsel-handling brukes flere ganger i én enkelt arbeidsflyt, legges det til et tall i variabelnavnet. I en arbeidsflyt som for eksempel bruker handlingen Send HTTP-forespørsel to ganger, er den første variabelen for returnerte data sendHttpRequest og den andre variabelen sendHttpRequest1. Dette navnet kan ikke tilpasses.
Svarkoder
Tabellen nedenfor beskriver hvordan Flow behandler HTTP-svarkoden etter at den mottar et svar.
| HTTP-svarkode | Slik behandler Flow svarkoden |
|---|---|
| 2XX eller 3XX Vellykket | Flow markerer HTTP-forespørselen som vellykket og utfører påfølgende handlinger i arbeidsflyten. |
| 4XX-feil, 5XX- og 429-feil | Avhengig av hvordan handlingen er konfigurert, vil Flow:
|
| Annen svarkode | Hvis svaret returnerer en kode som ikke er beskrevet i denne tabellen, eller det oppstår tidsavbrudd ved nye forsøk, markerer Flow HTTP-forespørselen som mislykket, mislykkes arbeidsflytkjøringen og utfører ikke påfølgende handlinger i arbeidsflyten. |
Hemmeligheter
Hemmeligheter brukes til å lagre sensitiv informasjon på en sikker måte for bruk i handlingen Send HTTP-forespørsel, for eksempel polletter for adgang eller passord. Hemmeligheter opprettes og administreres fra siden Flow > Innstillinger. En hemmelighet inneholder en referanse, verdi og beskrivelse. Referer til hemmeligheten som en Liquid-variabel (for eksempel {{secrets.handle}}), eller fra alternativet Legg til hemmelighet når du konfigurerer feltene for URL-adresse, overskriftsverdi eller brødtekst. Hemmelige verdier er aldri synlige i Flow-grensesnittet og fjernes fra kjøringsloggene for arbeidsflyten.
Utløsere
Handlingen Send HTTP-forespørsel kan brukes i alle arbeidsflyter.
Eksempler
Eksempel 1: Send en HTTP-forespørsel til en ekstern tjeneste
I dette eksempelet kan du bruke Flow til å sende en HTTP-forespørsel til en ekstern tjeneste.
Før du begynner må du konfigurere en nettjeneste som mottar HTTP-forespørsler og lagrer dataene fra disse forespørslene for testing, som for eksempel Request Catcher. Husk å være forsiktig når du sender sensitive data (som passord eller API-nøkler) til en tredjepartstjeneste.
Fremgangsmåte:
- Velg utløseren Produktstatus oppdatert, som lar deg teste denne arbeidsflyten ved å endre statusen til et produkt.
- Legg til en Send HTTP-forespørsel -handling i arbeidsflyten og koble den til utløseren. Deretter åpner du konfigurasjonspanelet ved å klikke på Send HTTP-forespørsel -trinnet.
- I feltet HTTP-metode angir du
POST. - I feltet URL-adresse angir du URL-adressen du vil teste mot, for eksempel
https://yourFlowTest.requestcatcher.com/test. - I seksjonen Overskrifter angir du en overskrift med Nøkkel
Content-Typeog Verditext/plain. - I seksjonen Brødtekst angir du
{{product.title}}og{{product.status}}for å sende tittelen og den oppdaterte statusen til produktet fra utløseren.
- I feltet HTTP-metode angir du
- Aktiver arbeidsflyten.
- Test den ved å endre statusen til et produkt, for eksempel fra Kladd til Aktiv.
- Observer resultatene i den eksterne testtjenesten, for eksempel
https://yourFlowTest.requestcatcher.com/i dette eksempelet.
Eksempel 2: Bruk Kjør kode for å analysere et HTTP-svar
I dette eksempelet bruker du Flow til å sende en HTTP-forespørsel til en ekstern tjeneste og en Kjør kode-handling for å analysere brødteksten i HTTP-svaret for bruk i etterfølgende trinn i arbeidsflyten.
Før du begynner, velger du en nettjeneste som mottar HTTP-forespørsler og returnerer data, for eksempel Postman Echo. Husk å være forsiktig når du sender sensitive data (for eksempel passord eller API-nøkler) til en tredjepartstjeneste.
Fremgangsmåte:
Velg utløseren Produktstatus oppdatert, som lar deg teste denne arbeidsflyten ved å endre statusen til et produkt.
Legg til en Send HTTP-forespørsel-handling i arbeidsflyten og koble den til utløseren. Deretter åpner du konfigurasjonspanelet ved å klikke på Send HTTP-forespørsel-trinnet.
I feltet HTTP-metode angir du
POST.I feltet URL-adresse angir du URL-adressen du vil teste mot, for eksempel
https://postman-echo.com/post.I seksjonen Overskrifter angir du en overskrift med Nøkkel
Content-Typeog Verdiapplication/json.I seksjonen Brødtekst angir du eksempelkoden i JSON-format som skal returneres til arbeidsflyten, for eksempel:
{ "productTitle": "{{product.title}}", "productStatus": "{{product.status}}" }
Legg til en Kjør kode-handling i arbeidsflyten og koble den til Send HTTP-forespørsel-handlingen. Deretter åpner du konfigurasjonspanelet ved å klikke på Kjør kode-trinnet.
I feltet Definer inndata inkluderer du
brødtekstensom returneres avsendHTTPrequest-objektet, for eksempel:query{ sendHttpRequest { body } }I feltet Definer utdata, definert i utdataskjemaet, for eksempel:
type Output { productTitle: String! productStatus: String! }I feltet Skriv kode analyserer du svaret ved hjelp av
JSON.parse-metoden og sørger for at dataene du returnerer, samsvarer med formen og typene som er definert i utdataskjemaet, for eksempel: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 } }
Legg til en Logg utdata-handling i arbeidsflyten og koble den til Kjør kode-handlingen. Deretter åpner du konfigurasjonspanelet ved å klikke på Kjør kode-trinnet.
I Utdata-feltet inkluderer du variablene som returneres av Kjør kode-trinnet, for eksempel:
Title from HTTP response: {{runCode.productTitle}} Status from HTTP response: {{runCode.productStatus}}
Aktiver arbeidsflyten.
Test den ved å endre statusen til et produkt, for eksempel fra Kladd til Aktiv.
Observer den resulterende kjøringen fra siden Flow / Siste kjøringer, og legg merke til at verdiene i Logg utdata-trinnet samsvarer med verdiene som returneres fra Send HTTP-forespørsel-utdataene.
Maler
Varsle oppfyllingsleverandøren om kommende bestillinger
Send en HTTP-forespørsel til oppfyllingsleverandøren din når bestillinger blir tagget med «Warehouse» i Order Tagger. Vis mal
Send nye bestillinger til Airtable
Send bestillinger til Airtable når en bestilling opprettes. Vis mal
Send alle eksisterende og nye produkter til Airtable
Hvert 10. minutt finner du produkter som ikke er sendt til Airtable (etter tagg), og sender dem til Airtable. Vis mal
Oppdater produkter i partier fra produktdata som er lagret i Airtable
Oppdater produkter i partier fra produktdata som er lagret i Airtable. Vis mal
Varsle kunder om gavekort som utløper ved hjelp av SendGrid
Hver dag hentes alle gavekort som utløper om sju dager, og det sendes e-poster til kundene ved hjelp av SendGrid. Vis mal
Send e-post ved hjelp av SendGrid når kunder legger inn en bestilling på en spesialtilpasset vare
Send en transaksjons-e-post ved hjelp av SendGrid når en kunde legger inn en bestilling på en spesialtilpasset vare. Vis mal