Send HTTP-anmodning
Handlingen Send HTTP-anmodning forbinder dit workflow med en webserver eller en webadresse og sender HTTP-anmodninger.
Når Flow har sendt din HTTP-anmodning, venter den i højst 30 sekunder på en HTTP-svarkode. Hvis Flow ikke har modtaget et svar efter 30 sekunder, lukker den forbindelsen til din app. Senere forsøger den at sende anmodningen igen.
Felter
Handlingen Send HTTP-anmodning indeholder følgende felter.
| Felt | Beskrivelse |
|---|---|
| HTTP-metode | Metoden for den HTTP-anmodning, der skal sendes. Send HTTP-anmodning Handlingen understøtter følgende metoder:
|
| Webadresse | Webadressen på den server, som HTTP-anmodningen sendes til. |
| Headers | Nøgle- og værdiparret for HTTP-anmodningen. Der kan angives flere nøgleværdipar. |
| Brødtekst | Det indhold, der skal sendes til serveren. |
| Ved klientfejl (4XX-svar) | Når der modtages en svarkode , der indikerer en klientfejl, vil Flow:
|
| Ved serverfejl (5XX- eller 429-svar) | Når der modtages en svarkode , der indikerer en serverfejl, vil Flow:
|
Returnerede data
For at få adgang til de returnerede data i trin, der følger efter denne handling, skal du bruge variablen med navnet sendHttpRequest, som indeholder alle oplysningerne om HTTP-svaret. Du kan også bruge handlingen Kør kode til at parse svarets brødtekst til brug i efterfølgende workflow-trin, f.eks. i eksemplet nedenfor.
Hvis en handling af typen Send HTTP-anmodning bruges flere gange i et enkelt workflow, føjes der et tal til variabelnavnet. I et workflow, der f.eks. bruger handlingen Send HTTP-anmodning to gange, er den første variabel for returnerede data sendHttpRequest, og den anden variabel er sendHttpRequest1. Dette navn kan ikke tilpasses.
Svarkoder
Følgende tabel beskriver, hvordan Flow behandler HTTP-svarkoden, efter den har modtaget et svar.
| HTTP-svarkode | Sådan behandler Flow svarkoden |
|---|---|
| 2XX eller 3XX – Succes | Flow markerer HTTP-anmodningen som en succes og udfører de efterfølgende handlinger i workflowet. |
| 4XX-fejl, 5XX- og 429-fejl | Afhængigt af hvordan handlingen er konfigureret, vil Flow:
|
| Anden svarkode | Hvis svaret returnerer en kode, der ikke er beskrevet i denne tabel, eller hvis handlingen får timeout ved genforsøg, markerer Flow HTTP-anmodningen som mislykket. Workflow-kørslen mislykkes, og der udføres ikke efterfølgende workflow-handlinger. |
Hemmeligheder
Hemmeligheder bruges til sikker lagring af følsomme oplysninger til brug i handlingen Send HTTP-anmodning, f.eks. adgangstokens eller adgangskoder. Hemmeligheder oprettes og administreres på siden Flow > Indstillinger. En hemmelighed indeholder et handle, en værdi og en beskrivelse. Du kan henvise til hemmeligheden som en Liquid-variabel (f.eks. {{secrets.handle}}) eller fra valgmuligheden Tilføj hemmelighed, når du konfigurerer felterne for webadresse, Header-værdi eller brødtekst. Værdierne for hemmeligheder er aldrig synlige i Flow-grænsefladen og fjernes fra logfilerne for workflow-kørsler.
Udløsere
Handlingen Send HTTP-anmodning kan bruges i ethvert workflow.
Eksempler
Eksempel 1: Send en HTTP-anmodning til en ekstern tjeneste
I dette eksempel skal du bruge Flow til at sende en HTTP-anmodning til en ekstern tjeneste.
Inden du går i gang, skal du konfigurere en webtjeneste, der modtager HTTP-anmodninger og gemmer dataene fra disse anmodninger til testformål, f.eks. Request Catcher. Husk at være forsigtig, når du sender følsomme oplysninger (f.eks. adgangskoder eller API-nøgler) til en tredjepartstjeneste.
Trin:
- Vælg udløseren Produktstatus opdateret, som giver dig mulighed for at teste dette workflow ved at ændre statussen for et produkt.
- Tilføj en Send HTTP-anmodning -handling til dit workflow, og knyt den til udløseren. Åbn derefter konfigurationspanelet ved at klikke på trinnet Send HTTP-anmodning .
- I feltet HTTP-metode skal du indtaste
POST. - I feltet Webadresse skal du angive den webadresse, der skal testes, som f.eks.
https://yourFlowTest.requestcatcher.com/test. - I sektionen Sidehoveder skal du indtaste et sidehoved med Nøgle
Content-Typeog Værditext/plain. - I sektionen Brødtekst skal du indtaste
{{product.title}}og{{product.status}}for at sende produktets titel og opdaterede status fra udløseren.
- I feltet HTTP-metode skal du indtaste
- Aktivér dit workflow.
- Test det ved at ændre status for et produkt, f.eks. fra Kladde til Aktiv.
- Se resultaterne i den eksterne testtjeneste, som f.eks.
https://yourFlowTest.requestcatcher.com/i dette eksempel.
Eksempel 2: Brug Kør kode til at parse et HTTP-svar
I dette eksempel skal du bruge Flow til at sende en HTTP-anmodning til en ekstern tjeneste og en Kør kode-handling til at parse brødteksten i HTTP-svaret til brug i efterfølgende workflowtrin.
Inden du begynder, skal du vælge en webtjeneste, der modtager HTTP-anmodninger og returnerer data, som f.eks. Postman Echo. Husk at være forsigtig, når du sender følsomme data (f.eks. adgangskoder eller API-nøgler) til en tredjepartstjeneste.
Trin:
Vælg udløseren Produktstatus opdateret, som giver dig mulighed for at teste dette workflow ved at ændre statussen for et produkt.
Tilføj en Send HTTP-anmodning-handling til dit workflow, og knyt den til udløseren. Åbn derefter konfigurationspanelet ved at klikke på trinnet Send HTTP-anmodning.
I feltet HTTP-metode skal du indtaste
POST.I feltet Webadresse skal du angive den webadresse, der skal testes, som f.eks.
https://postman-echo.com/post.I sektionen Sidehoveder skal du indtaste et sidehoved med Nøgle
Content-Typeog Værdiapplication/json.I sektionen Brødtekst skal du indtaste eksempel-JSON, der skal returneres til dit workflow, f.eks.:
{ "productTitle": "{{product.title}}", "productStatus": "{{product.status}}" }
Tilføj en Kør kode-handling til dit workflow, og knyt den til handlingen Send HTTP-anmodning. Åbn derefter konfigurationspanelet ved at klikke på trinnet Kør kode.
I feltet Definer input skal du inkludere
body, der returneres afsendHTTPrequest-objektet, f.eks.:query{ sendHttpRequest { body } }I feltet Definer output, der er defineret i outputskemaet, f.eks.:
type Output { productTitle: String! productStatus: String! }I feltet Skriv kode skal du parse svaret ved hjælp af metoden
JSON.parseog sikre dig, at de data, du returnerer, matcher den form og de typer, der er defineret i outputskemaet, f.eks.: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 } }
Tilføj en Log output-handling til dit workflow, og knyt den til handlingen Kør kode. Åbn derefter konfigurationspanelet ved at klikke på trinnet Kør kode.
I feltet Output skal du inkludere de variabler, der returneres af trinnet Kør kode, f.eks.:
Title from HTTP response: {{runCode.productTitle}} Status from HTTP response: {{runCode.productStatus}}
Aktivér dit workflow.
Test det ved at ændre status for et produkt, f.eks. fra Kladde til Aktiv.
Se den resulterende kørsel fra siden Flow/Seneste kørsler, og bemærk, at værdierne i trinnet Log output svarer til de værdier, der returneres fra outputtet Send HTTP-anmodning.
Skabeloner
Giv din klargøringsudbyder besked om kommende ordrer
Send en HTTP-anmodning til din klargøringsudbyder, når ordrer er tagget med “Lager” i Order Tagger. Se skabelon
Send nye ordrer til Airtable
Send ordrer til Airtable, når en ordre oprettes. Se skabelon
Send alle eksisterende og nye produkter til Airtable
Find de produkter, der ikke er sendt til Airtable (efter tag), hvert 10. minut, og send dem til Airtable. Se skabelon
Opdater produkter i batches ud fra produktdata, der er gemt i Airtable
Opdater produkter i batches ud fra produktdata, der er gemt i Airtable. Se skabelon
Giv kunder besked om udløbende gavekort ved hjælp af SendGrid
Hent alle gavekort, der udløber om 7 dage, hver dag, og send mails til kunder ved hjælp af SendGrid. Se skabelon
Send mail ved hjælp af SendGrid, når kunder afgiver en ordre på en tilpasset vare
Send en transaktionsmail ved hjælp af SendGrid, når en kunde afgiver en ordre på en tilpasset vare. Se skabelon