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.

Fält

Åtgärden Skicka HTTP-förfrågan innehåller följande fält.

Fält som används i åtgärden Skicka HTTP-förfrågan.
FältBeskrivning
HTTP-metodMetoden för HTTP-förfrågan som ska skickas. Den Skicka HTTP-förfrågan åtgärden stöder följande metoder:
  • Get – Skickar en begäran om information från servern.
  • Delete – Tar bort en resurs från servern.
  • Head – Hämtar HTTP-svarshuvudena från servern.
  • Options – Hämtar de alternativ och funktioner som stöds av servern.
  • Patch – Uppdaterar en resurs på servern partiellt.
  • Put – Uppdaterar en resurs på servern.
  • Post – Skapar eller ersätter en resurs på servern.
URLURL:en för den server som HTTP-förfrågan skickas till.
RubrikerNyckel- och värdeparet för HTTP-förfrågan. Flera nyckel/värde-par kan anges.
BrödtextInnehållet som ska skickas till servern.
Vid klientfel (4XX-svar)När du tar emot en svarskod som indikerar ett klientfel kommer Flow att:
  • Försök igen – Försök igen i upp till 24 timmar tills en annan svarskod tas emot eller en timeout inträffar.
  • Misslyckas – Misslyckas med arbetsflödeskörningen.
  • Ignorera – Ignorera felet och fortsätt arbetsflödeskörningen.
Vid serverfel (5XX- eller 429-svar)När du tar emot en svarskod som indikerar ett serverfel kommer Flow att:
  • Försök igen – Försök igen i upp till 24 timmar tills en annan svarskod tas emot eller en timeout inträffar.
  • Misslyckas – Misslyckas med arbetsflödeskörningen.
  • Ignorera – Ignorera felet och fortsätt arbetsflödeskörningen.

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.

Hur Flow bearbetar HTTP-svarskoder.
HTTP-svarskodHur Flow bearbetar svarskoden
2XX eller 3XX LyckadesFlow 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:
  • Försök igen – Försök igen i upp till 24 timmar tills en annan svarskod tas emot eller en timeout inträffar.
  • Misslyckas – Misslyckas med arbetsflödeskörningen.
  • Ignorera – Ignorera felet och fortsätt arbetsflödeskörningen.
Annan svarskodOm 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:

  1. Välj utlösaren Produktstatus uppdaterad, vilket gör att du kan testa detta arbetsflöde genom att ändra statusen på en produkt.
  2. 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 POST i 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-Type och Värde text/plain i 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.
  3. Aktivera arbetsflödet.
  4. Testa det genom att ändra status för en produkt, till exempel från Utkast till Aktiv.
  5. 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:

  1. Välj utlösaren Produktstatus uppdaterad, vilket gör att du kan testa detta arbetsflöde genom att ändra statusen på en produkt.

  2. 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 POST i 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-Type och Värde application/json i avsnittet Sidhuvuden.

    • Ange exempel-JSON som ska returneras till arbetsflödet i avsnittet Brödtext, till exempel:

      {
          "productTitle": "{{product.title}}",
          "productStatus": "{{product.status}}"
      }
  3. 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 body som returneras av sendHTTPrequest-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
        }
      }
  4. 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}}
  5. Aktivera arbetsflödet.

  6. Testa det genom att ändra status för en produkt, till exempel från Utkast till Aktiv.

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