HTTP-aanvraag verzenden

De actie HTTP-aanvraag verzenden verbindt je workflow met een webserver of URL en verzendt HTTP-aanvragen.

Nadat Flow je HTTP-aanvraag heeft verzonden, wordt er maximaal 30 seconden gewacht op een HTTP-responscode. Als Flow na 30 seconden nog geen reactie heeft gekregen, wordt de verbinding met je app gesloten. Flow probeert de aanvraag later opnieuw.

Velden

De actie HTTP-aanvraag verzenden bevat de volgende velden.

Velden die worden gebruikt bij de actie HTTP-aanvraag verzenden.
VeldBeschrijving
HTTP-methodeDe methode van HTTP-verzoek om te verzenden. De actie HTTP-verzoek verzenden ondersteunt de volgende methoden:
  • Get: verstuurt een verzoek om informatie van de server.
  • Delete: verwijdert een resource van de server.
  • Head: haalt de HTTP-responsheaders van de server op.
  • Options: haalt de opties en functies op die door de server worden ondersteund.
  • Patch: werkt een resource op de server gedeeltelijk bij.
  • Put: werkt een resource op de server bij.
  • Post: maakt of vervangt een resource op de server.
URLDe URL van de server waarnaar de HTTP-aanvraag wordt verzonden.
KoptekstenHet sleutel- en waardepaar voor de HTTP-aanvraag. Er kunnen meerdere sleutel- en waardeparen worden ingevoerd.
HoofdtekstDe content die naar de server moet worden verzonden.
Bij een clientfout (4XX-reactie)Wanneer Flow een responscode ontvangt die duidt op een clientfout, zal Flow:
  • Opnieuw proberen - Probeer tot 24 uur lang opnieuw totdat u een andere responscode ontvangt of de verbinding wordt verbroken.
  • Mislukken - De workflow run laten falen.
  • Negeren - Negeer de fout en ga door met de workflow.
Bij serverfout (5XX of 429 respons)Wanneer Flow een responscode ontvangt die duidt op een serverfout, zal Flow:
  • Opnieuw proberen - Probeer tot 24 uur lang opnieuw totdat u een andere responscode ontvangt of de verbinding wordt verbroken.
  • Mislukken - De workflow run laten falen.
  • Negeren - Negeer de fout en ga door met de workflow.

Geretourneerde gegevens

Om toegang te krijgen tot de geretourneerde gegevens in stappen die op deze actie volgen, gebruik je de variabele sendHttpRequest, die alle details van het HTTP-antwoord bevat. Gebruik desgewenst een Run code actie om de body van het antwoord te parseren voor gebruik in volgende workflowstappen, zoals in het onderstaande voorbeeld.

Als de actie HTTP-verzoek verzenden meerdere keren in één workflow wordt gebruikt, wordt er een cijfer toegevoegd aan de variabele naam. Bijvoorbeeld, in een workflow die de actie HTTP-aanvraag verzenden twee keer gebruikt, is de eerste variabele voor geretourneerde gegevens sendHttpRequest en de tweede variabele sendHttpRequest1. Je kunt deze naam niet aanpassen.

Responscodes

De volgende tabel geeft weer hoe Flow de HTTP-antwoordcode verwerkt zodra het een antwoord ontvangt.

Hoe verwerkt Flow HTTP-antwoordcodes?
HTTP-antwoordcodeHoe Flow de antwoordcode verwerkt
2XX of 3XX GeslaagdFlow markeert de HTTP-aanvraag als geslaagd en voert verdere acties uit in de workflow.
4XX fouten,
5XX en 429 fouten
Afhankelijk van hoe de actie is geconfigureerd, zal Flow:
  • Opnieuw proberen - Probeer tot 24 uur lang opnieuw totdat u een andere responscode ontvangt of de verbinding wordt verbroken.
  • Mislukken - De workflow run laten falen.
  • Negeren - Negeer de fout en ga door met de workflow.
Andere antwoordcodeAls het antwoord een code retourneert die niet in deze tabel wordt beschreven of als het antwoord een time-out krijgt bij het opnieuw proberen van acties, dan markeert Flow het HTTP-verzoek als mislukt, mislukt de workflowrun en worden er geen vervolgacties op de workflow uitgevoerd.

Geheimen

Geheimen worden gebruikt om gevoelige informatie veilig op te slaan voor gebruik in de HTTP aanvraag verzenden actie, zoals toegangstokens of wachtwoorden. Geheimen worden aangemaakt en beheerd via de pagina Flow > Instellingen. Een geheim bevat een handle, waarde en beschrijving. Verwijs naar het geheim als een Liquid variabele (zoals {{secrets.handle}}) of vanuit de optie Geheim toevoegen bij het configureren van de velden URL, Koptekstwaarde of Hoofdtekst. Geheime waarden zijn nooit zichtbaar in de Flow interface en worden uit de workflow logs gewist.

Triggers

De actie HTTP-aanvraag verzenden kan in elke workflow worden gebruikt.

Voorbeelden

Voorbeeld 1: Een HTTP-verzoek verzenden naar een externe service

In dit geval gebruik je Flow om een HTTP-aanvraag naar een externe service te verzenden.

Stel voordat je begint een webservice in waarmee je HTTP-aanvragen ontvangt en de gegevens van die testaanvragen bewaart, zoals Request Catcher. Vergeet niet voorzichtig te zijn bij het verzenden van gevoelige gegevens (zoals wachtwoorden of API-sleutels) naar diensten van externe partijen.

Stappen:

  1. Kies de trigger Productstatus bijgewerkt, waarmee je deze workflow kunt testen door de status van een product te wijzigen.

  2. Voeg een HTTP-aanvraag verzenden actie toe aan je workflow en koppel deze aan de trigger. Open vervolgens het configuratiescherm door op de stap HTTP-aanvraag verzenden te klikken.

    • Voer in het veld HTTP-methode POST in.
    • Voer in het veld URL de URL in die je wil testen, zoals https://yourFlowTest.requestcatcher.com/test.
    • Voer in de sectie Kopteksten een tweede koptekst in met de Sleutel voor Content-Type en een Waarde voor text/plain.
    • In het gedeelte Hoofdtekst voer {{product.title}} en {{product.status}} in om de titel en bijgewerkte status van de product formuliertrigger te verzenden
  3. Activeer de workflow.

  4. Test het door de status van een product te wijzigen, bijvoorbeeld van Concept naar Actief.

  5. Bekijk de resultaten in de externe testservice, zoals https://yourFlowTest.requestcatcher.com/ in dit voorbeeld.

Voorbeeld 2: Gebruik Code uitvoeren om een HTTP-antwoord 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 het HTTP-antwoord te parsen voor gebruik in volgende workflowstappen.

Kies voordat je begint een webservice die HTTP-verzoeken ontvangt en gegevens terugstuurt, zoals Postman Echo. Vergeet niet voorzichtig te zijn bij het verzenden van gevoelige gegevens (zoals wachtwoorden of API-sleutels) naar diensten van externe partijen.

Stappen:

  1. Kies de trigger Productstatus bijgewerkt, waarmee je deze workflow kunt testen door de status van een product te wijzigen.
  2. Voeg een HTTP-aanvraag verzenden actie toe aan je workflow en koppel deze aan de trigger. Open vervolgens het configuratiescherm door op de stap HTTP-aanvraag verzenden te klikken.
    • Voer in het veld HTTP-methode POST in.
    • Voer in het veld URL de URL in die je wil testen, zoals https://postman-echo.com/post.
    • Voer in de sectie Kopteksten een tweede koptekst in met de Sleutel voor Content-Type en een Waarde voor application/json.
    • Voer in het gedeelte Hoofdtekst het voorbeeld JSON in om terug te sturen naar de workflow, zoals: ``` { "productTitle": "{{product.title}}", "productStatus": "{{product.status}}" }
3. Voeg een **Code uitvoeren** actie toe aan je workflow en koppel deze aan de **HTTP-aanvraag verzenden** actie. Open vervolgens het configuratiescherm door op de stap **Code uitvoeren** te klikken.
      - Neem in het veld **Invoer definiëren** de `body` op die het `sendHTTPrequest` object retourneert, zoals:  ```
query{
sendHttpRequest {
  body
}
}
- In het veld **Uitvoer definiëren**, gedefinieerd in het uitvoerschema, zoals:  ```

type Output { productTitle: String! productStatus: String! }

- In het veld **Code schrijven** parseer je het antwoord met behulp van de `JSON.parse` methode en zorg je ervoor dat de gegevens die je retourneert overeenkomen met de vorm en types die zijn gedefinieerd in het uitvoerschema, 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
}
}
  1. Voeg een Log uitvoer actie toe aan je workflow en koppel deze aan de Code uitvoeren actie. Open vervolgens het configuratiescherm door op de stap Code uitvoeren te klikken.
    • Neem in het veld Uitvoer de variabelen op die zijn geretourneerd door de stap Code uitvoeren, zoals: ``` Title from HTTP response: {{runCode.productTitle}} Status from HTTP response: {{runCode.productStatus}}
5. Activeer de workflow.
6. Test het door de status van een product te wijzigen, bijvoorbeeld van **Concept** naar **Actief**.
7. Bekijk de resulterende run op de **[Flow / Recent runs](https://admin.shopify.com/apps/flow/activity)** pagina en merk op dat de waarden in de **Log uitvoer**stap overeenkomen met de waarden die terugkomen van de uitvoer **HTTP-aanvraag verzenden**.

## Templates {#templates}

### Breng je fulfilmentdienst op de hoogte van aankomende bestellingen

Stuur een HTTP-aanvraag naar je fulfilmentdienst wanneer bestellingen worden getagd als 'Warehouse' in Order Tagger. [Template bekijken](https://shopify.com/admin/apps/flow/editor/templates/e99f15ae-454b-443b-b6c7-7dc4b2afc129)

### Nieuwe bestellingen naar Airtable verzenden

Bestellingen naar Airtable verzenden wanneer een bestelling is aangemaakt. [Template bekijken](https://admin.shopify.com/apps/flow/editor/templates/0196f2e1-ab85-7157-90e2-7de1149201a7)

### Alle bestaande en nieuwe producten naar Airtable verzenden

Elke tien minuten zoeken naar producten die nog niet naar Airtable zijn verzonden (per tag) en deze vervolgens naar Airtable verzenden. [Template bekijken](https://admin.shopify.com/apps/flow/editor/templates/0196f2e1-a789-7f9d-a64e-a9be2b544e82)

### Producten in batch updaten op basis van in Airtable opgeslagen productgegevens

Producten in batch bijwerken op basis van productgegevens die zijn opgeslagen in Airtable. [Template bekijken](https://admin.shopify.com/apps/flow/editor/templates/0196f2e1-b499-7384-a418-919d752d7a8b)

### Klanten via SendGrid informeren over cadeaubonnen die op het punt staan te verlopen

Elke dag alle cadeaubonnen ontvangen die over zeven dagen verlopen en hierover e-mails naar klanten verzenden via SendGrid. [Template bekijken](https://admin.shopify.com/apps/flow/editor/templates/0196f2e1-a4b9-7ff0-8181-9de43d95ae1e)

### Een e-mail verzenden met SendGrid wanneer klanten een bestelling plaatsen voor een aangepast artikel

Verzend een transactie-e-mail met SendGrid wanneer een klant een bestelling plaatst voor een aangepast artikel. [Template bekijken](https://admin.shopify.com/apps/flow/editor/templates/0196f2e1-adc1-7139-9644-43ba3a4c71eb)
Zat het antwoord dat je zocht er niet bij? Wij helpen je graag verder.