Synchrone Reaktion
Normalerweise antwortet ein Webhook dem Aufrufer sofort, und Ihr Shopify Flow-Workflow wird im Hintergrund ausgeführt. Wenn die synchrone Antwort aktiviert ist, hält die App die HTTP-Anfrage des Aufrufers offen, bis Ihr Workflow Daten zurücksendet, und gibt diese stattdessen zurück.
Nützlich, wenn der Aufrufer eine Antwort benötigt und nicht nur eine Bestätigung - ein Formular, das ein Ergebnis anzeigt, ein System, das einen berechneten Wert benötigt, oder eine Abfrage.
Schalten Sie es ein
Erweiterte Einstellungen -> Synchrone Antwort beim Webhook.
Erstellen Sie den Workflow
Ein Sync-Webhook löst den „Sync Webhook Trigger“ aus, nicht den Standard-Webhook-Trigger. Dieser Trigger enthält ein zusätzliches Feld, invocationId, das die einzelne Anfrage identifiziert, auf deren Antwort gewartet wird.
| Schritt | Was |
|---|---|
| Trigger | Webhook-Trigger „Synchronisieren“ |
| Bedingung | Webhook ID entspricht der ID Ihres Webhooks |
| Letzte Aktion | Antwort des Webhooks |
Die Aktion umfasst drei Felder:
| Feld | Was Sie hineingeben sollten |
|---|---|
| Aufruf-ID | Binden Sie {{invocationId}} aus dem Trigger. Ohne diese Angabe kann Ihre Antwort nicht dem wartenden Anrufer zugeordnet werden und wird verworfen. |
| Antworttext | Was der Anrufer erhält - siehe unten. |
| Inhaltstyp | Optional. Die Standardeinstellung lautet application/json; verwenden Sie text/plain für Klartext. |
Den Antworttext verfassen
Sie können den Text direkt in das Feld eingeben und dabei die Variablen des Triggers verwenden; dies reicht für die meisten Workflows völlig aus:
{"ok": true, "orderId": "{{fieldOne}}", "email": "{{fieldTwo}}"}
Alle Trigger-Felder stehen zur Verfügung: {{fieldOne}} bis {{fieldFour}}, {{rawBody}} und {{webhookId}}.
Für alle Vorgänge, die logische Verarbeitungsschritte erfordern - beispielsweise das Aufrufen eines Kunden, das Berechnen einer Gesamtsumme oder das Aufteilen eines größeren Objekts -, verwenden Sie stattdessen eine „Code ausführen“-Aktion an einer früheren Stelle im Workflow und binden Sie deren Ergebnis hier ein.
Wenn keine Antwort eintrifft
Sollte Ihr Workflow nicht innerhalb von 15 Sekunden antworten, erhält der Aufrufer stattdessen die übliche Antwort - dieselbe 200, die auch ein nicht synchroner Webhook zurückgibt. Es handelt sich dabei niemals um einen Fehler, und der Aufrufer wird niemals in der Warteschleife gehalten. Der Aufruf erscheint weiterhin im Verlauf, und der Workflow kann möglicherweise noch abgeschlossen werden; lediglich die Antwort kommt zu spät, um noch genutzt werden zu können.
Die üblichen Ursachen:
- Der Workflow ist nicht aktiviert.
- Es basiert auf dem Standard**-Webhook-Trigger** und nicht auf dem Sync-Trigger.
- Ein Zweig wurde beendet, ohne dass der „Return Webhook Response“ erreicht wurde.
- Die Invocation-ID wurde nicht verknüpft.
Wissenswertes
- Die erste Antwort gewinnt. Wenn zwei Workflows dieselbe Anfrage beantworten, erhält der Aufrufer die Erstens; das zweite wird verworfen.
- Doppelte Lieferungen warten niemals. Eine Anfrage, die durch Schutz vor doppelten Lieferungen kehrt sofort zurück - es wird kein Workflow ausgeführt, daher gibt es keine Antwort darauf.
- Eine typische Round-Trip-Zeit beträgt 2 bis 4 Sekunden, jedoch gibt Shopify keine Zeitgarantie für Shopify Flow. Behandeln Sie synchrone Antworten als „Best-Effort“-Antworten: in der Praxis schnell, mit der 15-Sekunden- als Ausweichlösung und Sicherheitsnetz.

