Bescherming tegen dubbele leveringen
De meeste systemen proberen een webhook opnieuw te verzenden wanneer zij geen snel antwoord ontvangen. Als de eerste poging daadwerkelijk is aangekomen, wordt uw Shopify Flow-workflow twee keer uitgevoerd voor één gebeurtenis - een tweede e-mail, een dubbele tag, een herhaalde opmerking bij de bestelling.
De bescherming tegen dubbele verzending voorkomt dat. Deze functie is standaard uitgeschakeld voor elke webhook.
Hoe het werkt
Indien uw verzendsysteem per gebeurtenis een unieke ID bevat, geef dan de header die deze ID bevat een naam onder ‘Geavanceerde instellingen’ -> ‘Detectie van dubbele verzendingen’.
| Gedrag | |
|---|---|
| Eerste verzoek met een bepaalde id | Bij normale verwerking ontstaat er een brandstroom |
| Herhaal dit binnen 24 uur | 200 OK met duplicate: true - niet verzonden naar Shopify Flow |
| Een andere id | Normaal verwerkt |
| Verzoek zonder die header | Normaal verwerkt |
| Veld is leeg gelaten | Elk verzoek wordt verwerkt - er verandert niets |
Veelvoorkomende koptekstnamen: Event-Id, Idempotency-Key, X-Request-Id. Bij het zoeken wordt geen onderscheid gemaakt tussen hoofdletters en kleine letters.
# Same Event-Id twice - the second is accepted but not re-sent to Flow
curl -X POST https://your-app-url/webhook/ab12cd34 \
-H "Content-Type: application/json" \
-H "X-Api-Key: your-token" \
-H "Event-Id: evt_12345" \
-d '{"orderId":"1001"}'Waarom geeft de herhaling nog steeds 200 weer?
Juist een reactie die niet tot de 2xx-reacties behoort, maakt het voor een afzender moeilijker om het opnieuw te proberen. Door te reageren met 200 wordt aangegeven dat de gebeurtenis veilig is afgehandeld, zodat het proces wordt gestopt - terwijl duplicate: true in de hoofdtekst u in staat stelt om de twee uitkomsten van elkaar te onderscheiden indien u reacties registreert.
Waar duplicaten voorkomen
Een onderdrukte dubbele vermelding:
- er wordt geen vermelding in de oproepgeschiedenis aangemaakt, dus telt dit niet mee voor uw abonnement
- verschijnt wel in de Live Request Inspector terwijl u de webhook bewerkt, aangemerkt als een onderdrukte dubbele vermelding
De combinatie is bewust gekozen: uw geschiedenis en quotum blijven ongewijzigd, maar een oproep lijkt nooit zomaar in het niets te zijn verdwenen.
De juiste koptekst kiezen
De id moet tijdens de herhalingspoging stabiel blijven en per gebeurtenis uniek zijn - dat is het hele mechanisme.
Goed: een gebeurtenis-ID of idempotentiesleutel die eenmalig door de afzender wordt gegenereerd op het moment dat de gebeurtenis plaatsvindt.
Onjuist, en afgewezen op het moment van opslaan: door een proxy gestuurde headers zoals X-Forwarded-For, CF-* of X-Signature. De waarde hiervan verandert per verzoek of per hop, waardoor ze nooit zouden overeenkomen met een herhaling - wat ertoe leidt dat de fout stilzwijgend wordt afgehandeld in plaats van expliciet te worden gemeld.
Indien de deduplicatieopslag tijdelijk niet beschikbaar is
De verzending wordt verwerkt in plaats van afgewezen. Een dubbele uitvoering van de workflow vormt een veel kleiner probleem dan een gemiste gebeurtenis; daarom is de functie zo ontworpen dat zij bij twijfel de veilige kant kiest.

