HTTP-request verzenden
De actie HTTP-request verzenden verbindt je workflow met een webserver of URL en verzendt HTTP-requests.
Nadat Flow je HTTP-request heeft verzonden, wacht het maximaal 30 seconden op een HTTP-responscode. Als Flow na 30 seconden geen respons heeft ontvangen, wordt de verbinding met je app gesloten. Later wordt de aanvraag opnieuw geprobeerd.
Velden
De actie HTTP-request verzenden bevat de volgende velden.
| Veld | Beschrijving |
|---|---|
| HTTP-methode | De methode van het HTTP-request dat moet worden verzonden. De HTTP-request verzenden actie ondersteunt de volgende methoden:
|
| URL | De URL van de server waarnaar het HTTP-request wordt verzonden. |
| Headers | Het sleutel-waardepaar voor het HTTP-request. Er kunnen meerdere sleutel-waardeparen worden ingevoerd. |
| Body | De content die naar de server wordt verzonden. |
| Bij clientfout (4XX-respons) | Bij het ontvangen van een responscode die duidt op een clientfout, doet Flow het volgende:
|
| Bij serverfout (5XX- of 429-respons) | Bij het ontvangen van een responscode die duidt op een serverfout, doet Flow het volgende:
|
Geretourneerde gegevens
Gebruik de variabele sendHttpRequest, die alle gegevens van de HTTP-respons bevat, om toegang te krijgen tot de geretourneerde gegevens in stappen die op deze actie volgen. Je kunt eventueel een Code uitvoeren-actie gebruiken om de body van de respons te parsen voor gebruik in volgende workflowstappen, zoals in het voorbeeld hieronder.
Als de actie HTTP-verzoek verzenden meerdere keren in één workflow wordt gebruikt, wordt er een nummer toegevoegd aan de variabelenaam. In een workflow die de actie HTTP-verzoek verzenden bijvoorbeeld twee keer gebruikt, is de eerste variabele voor geretourneerde gegevens sendHttpRequest en de tweede variabele sendHttpRequest1. Deze naam kan niet worden aangepast.
Responscodes
De volgende tabel beschrijft hoe Flow de HTTP-responscode verwerkt nadat een respons is ontvangen.
| HTTP-responscode | Hoe Flow de responscode verwerkt |
|---|---|
| 2XX of 3XX succesvol | Flow markeert het HTTP-request als succesvol en voert de volgende acties in de workflow uit. |
| 4XX-fouten, 5XX- en 429-fouten | Afhankelijk van hoe de actie is geconfigureerd, doet Flow het volgende:
|
| Andere responscode | Als de respons een code retourneert die niet in deze tabel wordt beschreven of als er een time-out optreedt bij het opnieuw proberen van acties, markeert Flow het HTTP-request als mislukt, mislukt de workflow-run en worden er geen volgende workflowacties uitgevoerd. |
Secrets
Geheimen worden gebruikt om gevoelige informatie, zoals toegangstokens of wachtwoorden, veilig op te slaan voor gebruik in de actie HTTP-verzoek verzenden. Je kunt geheimen aanmaken en beheren op de pagina Flow > Instellingen. Een geheim bevat een handle, waarde en beschrijving. Verwijs naar het geheim als een Liquid-variabele (zoals {{secrets.handle}}) of via de optie Geheim toevoegen wanneer je de velden voor de URL, Header-waarde of Body configureert. Waarden van geheimen zijn nooit zichtbaar in de Flow-interface en worden weggelaten uit de runlogboeken van de workflow.
Triggers
De actie HTTP-request verzenden kan in elke workflow worden gebruikt.
Voorbeelden
Voorbeeld 1: Een HTTP-request naar een externe service verzenden
In dit voorbeeld gebruik je Flow om een HTTP-request naar een externe service te verzenden.
Configureer eerst een webservice die HTTP-requests ontvangt en de gegevens van die requests opslaat voor testdoeleinden, zoals Request Catcher. Wees voorzichtig met het verzenden van gevoelige gegevens (zoals wachtwoorden of API-sleutels) naar een externe service.
Stappen:
- Kies de trigger Productstatus bijgewerkt om deze workflow te testen door de status van een product te wijzigen.
- Voeg een HTTP-verzoek verzenden actie toe aan je workflow en verbind deze met de trigger. Open vervolgens het configuratiepaneel door op de HTTP-verzoek verzenden stap te klikken.
- Voer in het veld HTTP-methode
POSTin. - Voer in het veld URL de URL in waarmee je wilt testen, zoals
https://yourFlowTest.requestcatcher.com/test. - Voer in de sectie Headers een koptekst in met sleutel
Content-Typeen waardetext/plain. - Voer in de sectie Body
{{product.title}}en{{product.status}}in om de titel en de bijgewerkte status van het product uit de trigger te verzenden.
- Voer in het veld HTTP-methode
- Activeer de workflow.
- Test de workflow door de status van een product te wijzigen, bijvoorbeeld van Concept in Actief.
- Bekijk de resultaten in de externe testservice, in dit voorbeeld
https://yourFlowTest.requestcatcher.com/.
Voorbeeld 2: 'Run code' gebruiken om een HTTP-respons te parsen
In dit voorbeeld gebruik je Flow om een HTTP-verzoek naar een externe service te sturen en een Run code-actie om de body van de HTTP-respons te parsen voor gebruik in volgende workflowstappen.
Kies voordat je begint een webservice die HTTP-verzoeken ontvangt en gegevens retourneert, zoals Postman Echo. Wees voorzichtig bij het verzenden van gevoelige gegevens (zoals wachtwoorden of API-sleutels) naar de service van een externe partij.
Stappen:
Kies de trigger Productstatus bijgewerkt om deze workflow te testen door de status van een product te wijzigen.
Voeg een HTTP-verzoek verzenden-actie toe aan je workflow en verbind deze met de trigger. Open vervolgens het configuratiepaneel door op de stap HTTP-verzoek verzenden te klikken.
Voer in het veld HTTP-methode
POSTin.Voer in het veld URL de URL in waarmee je wilt testen, zoals
https://postman-echo.com/post.Voer in de sectie Headers een koptekst in met sleutel
Content-Typeen waardeapplication/json.Voer in de sectie Body de voorbeeld-JSON in die naar de workflow moet worden geretourneerd, zoals:
{ "productTitle": "{{product.title}}", "productStatus": "{{product.status}}" }
Voeg een Run code-actie toe aan je workflow en verbind deze met de actie HTTP-verzoek verzenden. Open vervolgens het configuratiepaneel door op de stap Run code te klikken.
Neem in het veld Invoer definiëren de
bodyop die wordt geretourneerd door hetsendHTTPrequest-object, zoals:query{ sendHttpRequest { body } }In het veld Uitvoer definiëren, gedefinieerd in het uitvoerschema, zoals:
type Output { productTitle: String! productStatus: String! }Pars in het veld Code schrijven de respons met de methode
JSON.parseen zorg ervoor dat de gegevens die je retourneert, overeenkomen met de vorm en de typen die in het uitvoerschema zijn gedefinieerd, zoals: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 } }
Voeg een Uitvoer loggen-actie toe aan je workflow en verbind deze met de Run code-actie. Open vervolgens het configuratiepaneel door op de stap Run code te klikken.
Neem in het veld Uitvoer de variabelen op die worden geretourneerd door de stap Run code, zoals:
Title from HTTP response: {{runCode.productTitle}} Status from HTTP response: {{runCode.productStatus}}
Activeer de workflow.
Test de workflow door de status van een product te wijzigen, bijvoorbeeld van Concept in Actief.
Bekijk de resulterende 'run' op de pagina Flow / Recente runs en let op dat de waarden in de stap Uitvoer loggen overeenkomen met de waarden die zijn geretourneerd uit de uitvoer van HTTP-verzoek verzenden.
Templates
Je fulfilmentdienst informeren over komende bestellingen
Verstuur een HTTP-verzoek naar je fulfilmentdienst wanneer bestellingen worden getagd met 'Warehouse' in Order Tagger. Template bekijken
Nieuwe bestellingen naar Airtable verzenden
Verzend bestellingen naar Airtable wanneer een bestelling wordt aangemaakt. Template bekijken
Alle bestaande en nieuwe producten naar Airtable verzenden
Zoek elke 10 minuten naar producten die (op basis van hun tag) nog niet naar Airtable zijn verzonden en verzend ze naar Airtable. Template bekijken
Producten in batches updaten met productgegevens die zijn opgeslagen in Airtable
Producten in batches updaten met productgegevens die zijn opgeslagen in Airtable. Template bekijken
Klanten via SendGrid informeren over verlopende cadeaubonnen
Haal elke dag alle cadeaubonnen op die over 7 dagen verlopen en verstuur e-mails naar klanten via SendGrid. Template bekijken
Een e-mail verzenden via SendGrid wanneer klanten een bestelling plaatsen voor een aangepast artikel
Verzend een transactionele e-mail via SendGrid wanneer een klant een bestelling plaatst voor een aangepast artikel. Template bekijken