Skicka HTTP-förfrågan
Åtgärden Skicka HTTP-förfrågan ansluter ditt arbetsflöde till en webbserver eller URL och skickar HTTP-förfrågningar.
När Flow har skickat din HTTP-förfrågan väntar det i högst 30 sekunder på en HTTP-svarskod. Om Flow inte har tagit emot något svar efter 30 sekunder stängs anslutningen till din app. Senare görs ett nytt försök med förfrågan.
På den här sidan
Fält
Åtgärden Skicka HTTP-förfrågan innehåller följande fält.
| Fält | Beskrivning |
|---|---|
| HTTP-metod | Metoden för HTTP-förfrågan som ska skickas. Den Skicka HTTP-förfrågan åtgärden stöder följande metoder:
|
| URL | URL:en för den server som HTTP-förfrågan skickas till. |
| Rubriker | Nyckel- och värdeparet för HTTP-förfrågan. Flera nyckel/värde-par kan anges. |
| Brödtext | Innehållet som ska skickas till servern. |
| Vid klientfel (4XX-svar) | När du tar emot en svarskod som indikerar ett klientfel kommer Flow att:
|
| Vid serverfel (5XX- eller 429-svar) | När du tar emot en svarskod som indikerar ett serverfel kommer Flow att:
|
Returnerade data
Använd variabeln sendHttpRequest för att komma åt returnerade data i steg som följer efter den här åtgärden. Den innehåller alla uppgifter om HTTP-svaret. Du kan även använda åtgärden Kör kod för att tolka svarets brödtext för användning i efterföljande arbetsflödessteg, som i exemplet nedan.
Om en åtgärd för att Skicka HTTP-begäran används flera gånger i ett och samma arbetsflöde läggs en siffra till i variabelnamnet. I ett arbetsflöde som använder åtgärden för att Skicka HTTP-begäran två gånger blir exempelvis den första variabeln för returnerad data sendHttpRequest och den andra variabeln sendHttpRequest1. Detta namn kan inte anpassas.
Svarskoder
Följande tabell beskriver hur Flow bearbetar HTTP-svarskoden efter att ett svar har mottagits.
| HTTP-svarskod | Hur Flow bearbetar svarskoden |
|---|---|
| 2XX eller 3XX Lyckades | Flow markerar HTTP-förfrågan som lyckad och utför efterföljande åtgärder i arbetsflödet. |
| 4XX-fel, 5XX- och 429-fel | Beroende på hur åtgärden är konfigurerad kommer Flow att:
|
| Annan svarskod | Om svaret returnerar en kod som inte beskrivs i den här tabellen eller om det uppstår en timeout vid nya åtgärdsförsök, markerar Flow HTTP-förfrågan som misslyckad, misslyckas med arbetsflödeskörningen och vidtar inga efterföljande arbetsflödesåtgärder. |
Hemligheter
Hemligheter används för att på ett säkert sätt lagra känsliga uppgifter för användning i åtgärden Skicka HTTP-begäran, såsom åtkomsttokens eller lösenord. Hemligheter skapas och hanteras från sidan Flow > Inställningar. En hemlighet innehåller ett referensnamn, ett värde och en beskrivning. Referera till hemligheten som en Liquid-variabel (till exempel {{secrets.handle}}) eller från alternativet Lägg till hemlighet när du konfigurerar fälten för URL, headervärde eller brödtext. Hemliga värden är aldrig synliga i Flow-gränssnittet och maskeras i loggarna för arbetsflödets körningar.
Utlösare
Åtgärden Skicka HTTP-förfrågan kan användas i vilket arbetsflöde som helst.
Exempel
Exempel 1: Skicka en HTTP-förfrågan till en extern tjänst
I det här exemplet används Flow för att skicka en HTTP-förfrågan till en extern tjänst.
Innan du börjar, konfigurera en webbtjänst som tar emot HTTP-förfrågningar och lagrar data från dessa förfrågningar för testning, till exempel Request Catcher. Tänk på att vara försiktig när du skickar känsliga data (till exempel lösenord eller API-nycklar) till en tredjepartstjänst.
Steg:
- Välj utlösaren Produktstatus uppdaterad, vilket gör att du kan testa detta arbetsflöde genom att ändra statusen på en produkt.
- Lägg till åtgärden Skicka HTTP-förfrågan i ditt arbetsflöde och anslut den till utlösaren. Öppna sedan konfigurationspanelen genom att klicka på steget Skicka HTTP-förfrågan .
- Ange
POSTi fältet HTTP-metod. - Ange den URL som du vill testa mot i fältet URL, till exempel
https://yourFlowTest.requestcatcher.com/test. - Ange ett sidhuvud med Nyckel
Content-Typeoch Värdetext/plaini avsnittet Sidhuvuden. - Ange
{{product.title}}och{{product.status}}i avsnittet Brödtext för att skicka produktens titel och uppdaterade status från utlösaren.
- Ange
- Aktivera arbetsflödet.
- Testa det genom att ändra status för en produkt, till exempel från Utkast till Aktiv.
- Observera resultaten i den externa testtjänsten, till exempel
https://yourFlowTest.requestcatcher.com/i det här exemplet.
Exempel 2: Använd Kör kod för att tolka ett HTTP-svar
I det här exemplet använder du Flow för att skicka en HTTP-förfrågan till en extern tjänst och en Kör kod-åtgärd för att tolka HTTP-svarets body för användning i efterföljande arbetsflödessteg.
Innan du börjar väljer du en webbtjänst som tar emot HTTP-förfrågningar och returnerar data, till exempel Postman Echo. Tänk på att vara försiktig när du skickar känsliga data (till exempel lösenord eller API-nycklar) till en tredjepartstjänst.
Steg:
Välj utlösaren Produktstatus uppdaterad, vilket gör att du kan testa detta arbetsflöde genom att ändra statusen på en produkt.
Lägg till åtgärden Skicka HTTP-förfrågan i ditt arbetsflöde och anslut den till utlösaren. Öppna sedan konfigurationspanelen genom att klicka på steget Skicka HTTP-förfrågan.
Ange
POSTi fältet HTTP-metod.Ange den URL som du vill testa mot i fältet URL, till exempel
https://postman-echo.com/post.Ange ett sidhuvud med Nyckel
Content-Typeoch Värdeapplication/jsoni avsnittet Sidhuvuden.Ange exempel-JSON som ska returneras till arbetsflödet i avsnittet Brödtext, till exempel:
{ "productTitle": "{{product.title}}", "productStatus": "{{product.status}}" }
Lägg till åtgärden Kör kod i ditt arbetsflöde och anslut den till åtgärden Skicka HTTP-förfrågan. Öppna sedan konfigurationspanelen genom att klicka på steget Kör kod.
Inkludera den
bodysom returneras avsendHTTPrequest-objektet i fältet Definiera indata, till exempel:query{ sendHttpRequest { body } }I fältet Definiera utdata definierar du utdata enligt utdataschemat, till exempel:
type Output { productTitle: String! productStatus: String! }Tolka svaret med hjälp av
JSON.parse-metoden i fältet Skriv kod och se till att de data du returnerar matchar formen och typerna som definierats i utdataschemat, till exempel: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 } }
Lägg till åtgärden Logga utdata i ditt arbetsflöde och anslut den till åtgärden Kör kod. Öppna sedan konfigurationspanelen genom att klicka på steget Kör kod.
Inkludera variablerna som returneras från steget Kör kod i fältet Utdata, till exempel:
Title from HTTP response: {{runCode.productTitle}} Status from HTTP response: {{runCode.productStatus}}
Aktivera arbetsflödet.
Testa det genom att ändra status för en produkt, till exempel från Utkast till Aktiv.
Observera den resulterande körningen från sidan Flow/Senaste körningar och notera att värdena i steget Logga utdata matchar värdena som returneras från utdata för Skicka HTTP-förfrågan.
Mallar
Meddela din distributionsleverantör om kommande ordrar
Skicka en HTTP-förfrågan till din distributionsleverantör när ordrar taggas med ”Warehouse” i Order Tagger. Visa mall
Skicka nya ordrar till Airtable
Skicka ordrar till Airtable när en order skapas. Visa mall
Skicka alla befintliga och nya produkter till Airtable
Var 10:e minut, hitta produkter som inte har skickats till Airtable (efter tagg) och skicka dem till Airtable. Visa mall
Uppdatera produkter i batcher från produktdata som lagras i Airtable
Uppdatera produkter i batcher från produktdata som lagras i Airtable. Visa mall
Meddela kunder om utgående presentkort med SendGrid
Hämta varje dag alla presentkort som går ut om 7 dagar och skicka e-postmeddelanden till kunder med SendGrid. Visa mall
Skicka e-postmeddelande med SendGrid när kunder lägger en order på en anpassad artikel
Skicka ett transaktionsmeddelande med SendGrid när en kund lägger en order på en anpassad artikel. Visa mall