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.

Felter, der bruges i handlingen Send HTTP-anmodning.
FeltBeskrivelse
HTTP-metodeMetoden for den HTTP-anmodning, der skal sendes. Send HTTP-anmodning Handlingen understøtter følgende metoder:
  • Get – Sender en anmodning om oplysninger fra serveren.
  • Delete – Fjerner en ressource fra serveren.
  • Head – Henter HTTP-svar-headers fra serveren.
  • Options – Henter de valgmuligheder og funktioner, som serveren understøtter.
  • Patch – Opdaterer en ressource på serveren delvist.
  • Put – Opdaterer en ressource på serveren.
  • Post – Opretter eller erstatter en ressource på serveren.
WebadresseWebadressen på den server, som HTTP-anmodningen sendes til.
HeadersNøgle- og værdiparret for HTTP-anmodningen. Der kan angives flere nøgleværdipar.
BrødtekstDet indhold, der skal sendes til serveren.
Ved klientfejl (4XX-svar)Når der modtages en svarkode , der indikerer en klientfejl, vil Flow:
  • Prøv igen – Prøv igen i op til 24 timer, indtil der modtages en anden svarkode, eller der opstår timeout.
  • Lad mislykkes – Workflow-kørslen mislykkes.
  • Ignorer – Ignorer fejlen, og fortsæt workflow-kørslen.
Ved serverfejl (5XX- eller 429-svar)Når der modtages en svarkode , der indikerer en serverfejl, vil Flow:
  • Prøv igen – Prøv igen i op til 24 timer, indtil der modtages en anden svarkode, eller der opstår timeout.
  • Lad mislykkes – Workflow-kørslen mislykkes.
  • Ignorer – Ignorer fejlen, og fortsæt workflow-kørslen.

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.

Sådan behandler Flow HTTP-svarkoder.
HTTP-svarkodeSådan behandler Flow svarkoden
2XX eller 3XX – SuccesFlow 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:
  • Prøv igen – Prøv igen i op til 24 timer, indtil der modtages en anden svarkode, eller der opstår timeout.
  • Lad mislykkes – Workflow-kørslen mislykkes.
  • Ignorer – Ignorer fejlen, og fortsæt workflow-kørslen.
Anden svarkodeHvis 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:

  1. Vælg udløseren Produktstatus opdateret, som giver dig mulighed for at teste dette workflow ved at ændre statussen for et produkt.
  2. 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-Type og Værdi text/plain.
    • I sektionen Brødtekst skal du indtaste {{product.title}} og {{product.status}} for at sende produktets titel og opdaterede status fra udløseren.
  3. Aktivér dit workflow.
  4. Test det ved at ændre status for et produkt, f.eks. fra Kladde til Aktiv.
  5. 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:

  1. Vælg udløseren Produktstatus opdateret, som giver dig mulighed for at teste dette workflow ved at ændre statussen for et produkt.

  2. 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-Type og Værdi application/json.

    • I sektionen Brødtekst skal du indtaste eksempel-JSON, der skal returneres til dit workflow, f.eks.:

      {
          "productTitle": "{{product.title}}",
          "productStatus": "{{product.status}}"
      }
  3. 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 af sendHTTPrequest-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.parse og 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
        }
      }
  4. 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}}
  5. Aktivér dit workflow.

  6. Test det ved at ændre status for et produkt, f.eks. fra Kladde til Aktiv.

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