Synchrone reactie
Normaal gesproken reageert een webhook onmiddellijk op de aanroep en wordt uw Shopify Flow-workflow op de achtergrond uitgevoerd. Wanneer de optie ‘Synchrone reactie’ is ingeschakeld, houdt de app het HTTP-verzoek van de aanroeper open totdat uw workflow gegevens terugstuurt, en geeft deze vervolgens terug.
Handig wanneer de aanroeper een antwoord nodig heeft, en niet alleen een bevestiging - een formulier dat een resultaat weergeeft, een systeem dat een berekende waarde nodig heeft, of een opzoekactie.
Zet het aan
Geavanceerde instellingen -> Synchrone reactie op de webhook.
Stel de workflow samen
Een synchronisatie-webhook activeert de ‘Sync Webhook Trigger’, niet de standaard ‘Webhook Trigger’. Die trigger bevat een extra veld, invocationId, waarmee het specifieke verzoek wordt geïdentificeerd dat op een antwoord wacht.
| Stap | Wat |
|---|---|
| Trigger | Webhook-trigger voor synchronisatie |
| Voorwaarde | Webhook ID is gelijk aan de ID van uw webhook |
| Laatste actie | Antwoord van de webhook |
De actie omvat drie velden:
| Veld | Wat moet erin? |
|---|---|
| Oproep-ID | Koppel {{invocationId}} aan de trigger. Zonder dit kan uw antwoord niet worden gekoppeld aan de wachtende beller en wordt het verwijderd. |
| Inhoud van het antwoord | Wat de beller ontvangt - zie hieronder. |
| Type inhoud | Optioneel. Standaard is dit ingesteld op application/json; gebruik text/plain voor platte tekst. |
De inhoud van het antwoord opstellen
U kunt de hoofdtekst rechtstreeks in het veld schrijven met behulp van de variabelen van de trigger; dat is alles wat voor de meeste workflows nodig is:
{"ok": true, "orderId": "{{fieldOne}}", "email": "{{fieldTwo}}"}
Alle triggervelden zijn beschikbaar: {{fieldOne}} tot en met {{fieldFour}}, {{rawBody}} en {{webhookId}}.
Voor alles waarvoor logica nodig is - het opzoeken van een klant, het berekenen van een totaalbedrag, het vormgeven van een groter object - gebruikt u beter eerder in de workflow een ‘Run Code’-actie en koppelt u het resultaat daarvan hier in plaats daarvan.
Wanneer er geen antwoord komt
Indien uw workflow niet binnen 15 seconden reageert, ontvangt de aanroeper in plaats daarvan het standaardantwoord - hetzelfde 200 dat een niet-synchrone webhook retourneert. Er is nooit sprake van een fout en de aanroeper wordt nooit in het ongewisse gelaten. De aanroep verschijnt nog steeds in de geschiedenis en de workflow kan nog steeds worden voltooid; alleen komt het antwoord te laat om nog bruikbaar te zijn.
De gebruikelijke oorzaken:
- De workflow is niet ingeschakeld.
- Het is gebaseerd op de standaard Webhook-trigger in plaats van op de Sync-trigger.
- Een tak is voltooid zonder dat de „Return Webhook Response” is bereikt.
- De Invocation-ID was niet gekoppeld.
Wat u moet weten
- Het eerste antwoord wint. Indien twee workflows op hetzelfde verzoek reageren, krijgt de aanvrager de ten eerste; de tweede wordt terzijde gelaten.
- Dubbele leveringen kunnen nooit wachten. Een verzoek dat wordt onderdrukt door Bescherming tegen dubbele leveringen keert onmiddellijk terug - er wordt geen workflow uitgevoerd, dus er is geen antwoord hierop.
- Een typische roundtrip duurt 2 tot 4 seconden, maar Shopify geeft geen tijdsgarantie voor Shopify Flow. Beschouw synchrone reacties als „best-effort“: in de praktijk snel, met de 15 seconden een noodoplossing als laatste redmiddel.

