wf-order-review-request
Zweck
Kontur 2 des Bewertungssystems: den Kunden nach Abschluss der Arbeit einmalig fragen.
Ein Durchlauf findet eine Bestellung, deren Abschluss lange genug zurückliegt, die einen Kunden zum Anschreiben hat und bei der noch nie eine Anfrage gestellt wurde; erzeugt ihren persönlichen, einmalig verwendbaren Bewertungslink in ; und sendet die Anfrage über rp-reviews.lm-ses
Warum dies ein Workflow ist
Die Frage „Welche abgeschlossenen Bestellungen wurden noch nicht angefragt?“ erstreckt sich über zwei Dienste, die nichts voneinander wissen dürfen: weiß nicht, was eine Bewertung ist, und rp-orders behandelt rp-reviews als undurchsichtige Zeichenkette. Zwei Listen nebeneinanderzustellen, ist genau der Zweck eines Flows – und orderId sorgt dafür, dass die Link-Erzeugung einen Neustart übersteht, ohne einen zweiten Link zu erzeugen.rt.node
Aufbau
read-settings → list-finished (completed, updatedAt ≤ now − delay)
→ list-invites (which of those were already asked)
→ create-invite → send-email → mark-sent | mark-failed
Ein Mail pro Durchlauf, damit eine blockierte Adresse die dahinterliegende Warteschlange nie aufhält und der Zeitplan die Rate bestimmt. rendert die Mail und erzeugt nichts: Eine Probe, die einen aktiven Link hinterlässt, würde dazu führen, dass der nächste echte Durchlauf diese Bestellung als bereits angefragt überspringt.dryRun
Eine abgelehnte Mail kommt von als lm-ses zurück, nicht als Exception, daher ist sie ein gewöhnlicher Zweig, der die Einladung als { success: false } markiert – keine Fehlergrenze.failed
Parameter
(erforderlich) – Absenderadresse.from(erforderlich) –ses.SesCredentials– wird in den Vorlagen inshopNameeingesetzt.{{shopName}}– überschreibtdelayHoursfür ein Nachholen.ReviewSettings.requestDelayHours– rendern und beenden.dryRun
Betreff, Text, Link-Basis und Verzögerung stammen aus , sodass der Shop seine eigene Formulierung ändern kann, ohne diesen Flow anzupassen.reviews.getSettings()
Direkte Modulabhängigkeiten
g-ordersg-reviewsg-ses
Quelle
modules/workflows/wf-order-review-request