[SUB] Retoure¶
Wird vom DAILY mokebo-ops Sync automatisch befüllt — bitte nicht manuell editieren.
Status: — Letzter Erfolgs-Run: — Erfolgsquote 7d: — Trigger: — Node-Count: —
🟢 Auf einen Blick¶
| Was tut der Workflow | Verarbeitet Retouren-Anfragen aus MOKI in zwei Pfaden: (a) Amazon-RSA → Plenty-Retoure auto anlegen + Marker-Comment + Tracking-Comment; (b) Portalverweis → interne Notiz mit Retoure-Portal-Link an Kunden + Loop-Schutz-Tag. |
| Wann greift er | Aus MOKI Dispatcher v2 heraus, wenn Intent retoure klassifiziert wurde. Live ab 13.05.2026. |
| Sichtbarer Effekt für CS | Amazon-RSA-Pfad: neue Retoure in Plenty (Status 9.01 oder 9.02), Marker-Comment am Hauptauftrag, Tracking-Comment am Retouren-Auftrag mit [n8n Amazon-RSA #<ticketId>]-Prefix. Portalverweis-Pfad: Internal Note im Ticket + Tags portalverweis-gesendet und kein-portal-eingang. |
| Symptom wenn kaputt | Retoure-Tickets bekommen am Tagesende keine Internal Note mit sub_action: retoure_…, oder im Sheet Ticket Log v2 steht sub_status: failed. Bei Amazon-RSA: keine neue Retoure in Plenty obwohl die RSA-Mail klar war. |
| Owner | Susi (Backup: TBD) |
| Eskalation | Susi direkt anschreiben (Slack-DM). Ticket-ID + Plenty-Hauptauftrag-ID + Screenshot der Failed Execution mitschicken. |
| Link in n8n | SUB Retoure |
Architektur¶
flowchart TB
In[Input von Parent
ticket_id] --> Fetch[Fetch Ticket aus Zendesk]
Fetch --> Detect{Subject = Amazon-RSA
AND from = donotreply@amazon.com?}
Detect -- ja --> RSA[Amazon-RSA-Pfad]
Detect -- nein --> PV[Portalverweis-Pfad]
subgraph RSA-Pfad
RSA --> ParseSku[SKUs aus Mail-Body extrahieren]
ParseSku --> ResolveParent[Plenty: Hauptauftrag holen]
ResolveParent --> CheckMarker{Idempotency-Marker
schon da?}
CheckMarker -- ja --> SkipExist[Return: skipped_already_marked]
CheckMarker -- nein --> CheckChildren{Hauptauftrag hat
schon Retoure?}
CheckChildren -- ja --> SkipChild[Return: skipped_existing]
CheckChildren -- nein --> BuildBody[Body bauen: addressRelations,
orderItems, properties]
BuildBody --> CreateRetoure[POST /rest/orders
Status 9.01/9.02]
CreateRetoure --> MarkerComment[POST Marker-Comment
am Hauptauftrag]
MarkerComment --> TrackComment[POST Tracking-Comment
am Retoure-Auftrag]
TrackComment --> RsaOut[Return: created]
end
subgraph Portalverweis-Pfad
PV --> CheckTag{Tag
'portalverweis-gesendet'
schon gesetzt?}
CheckTag -- ja --> PvSkip[Return: already_sent]
CheckTag -- nein --> WriteNote[Internal Note
+ Portal-Link in Zendesk]
WriteNote --> SetTags[Tags 'portalverweis-gesendet'
und 'kein-portal-eingang']
SetTags --> PvOut[Return: sent]
end
RsaOut --> Out[Return MOKI-Standard-Output]
SkipExist --> Out
SkipChild --> Out
PvOut --> Out
PvSkip --> Out
Subworkflow-Calls¶
Auto-generiert aus den executeWorkflow-Nodes — bitte nicht manuell editieren.
- (keine — ist ein reiner Sub)
Trigger & Datenfluss¶
- Trigger: Subworkflow-Call aus MOKI Dispatcher v2 wenn Intent
retoure. - Input:
ticket_id(Zendesk-Ticket-ID). - Output: MOKI-Standard-Convention
{ ticketId, sub_action, sub_status, sub_reason, sub_macro_id, sub_message }.
Mögliche sub_action-Werte¶
| Wert | Pfad | Bedeutung |
|---|---|---|
retoure_amazon_rsa_created |
RSA | ✓ Plenty-Retoure erfolgreich angelegt |
retoure_amazon_rsa_skipped_existing |
RSA | Hauptauftrag hat bereits eine Retoure |
retoure_amazon_rsa_skipped_already_marked |
RSA | Idempotency-Marker bereits am Hauptauftrag (Doppellauf) |
retoure_amazon_rsa_skipped_no_sku |
RSA | Keine Plenty-SKU im Mail-Body matchend |
retoure_amazon_rsa_skipped_unknown_carrier |
RSA | Carrier in der Mail nicht erkennbar |
retoure_amazon_rsa_skipped_hermes |
RSA | Phase 2 offen — Hermes wird bewusst übersprungen |
retoure_amazon_rsa_failed_no_parent |
RSA | Hauptauftrag nicht in Plenty findbar |
retoure_amazon_rsa_failed_create |
RSA | POST /rest/orders ist fehlgeschlagen |
retoure_portalverweis_sent |
PV | ✓ Internal Note + Tags gesetzt |
retoure_portalverweis_already_sent |
PV | Loop-Schutz hat gegriffen (Tag schon da) |
Bekannte Stolpersteine / Edge-Cases¶
- Hermes-Tracking ist Phase 2 — Bei Hermes-RSAs wird die Retoure-Anlage übersprungen (
sub_action: …skipped_hermes). Phase 2 zieht Tracking + Regex + Carrier-Map nach. Siehe Glossar → Hermes Phase 2. - Idempotency-Marker am Hauptauftrag — Format:
[n8n] Auto-Retoure für Amazon-RSA Ticket #<ticketId> angelegt: Retoure <retourenAuftragId>. Verhindert Doppel-Anlage (Plenty kann Children eines Parents nicht direkt finden, deshalb Marker-Comment statt Reverse-Lookup). - Tracking-Comment-Format ist kritisch:
[n8n Amazon-RSA #<ticketId>] Retourensendung angemeldet: DHL, Sendungsnummer: <number>. Der Prefix[n8n Amazon-RSAtriggert in 01 Retouren-Erfassung die Priorisierungs-Logik — Plenty-Auto-Comment wird ignoriert, nur Amazon-Comment wandert ins Tracking-Sheet. - Plenty erzeugt trotzdem ein Plenty-Label durch Ereignisaktion 496 (GLS) — bewusst akzeptiert, weil der
01 Retouren-Erfassung-Patch das filtert. Phase 3: Plenty-Label perDELETE /rest/orders/{id}/shipping_packages/{packageId}löschen — noch nicht angegangen. - Bundle-Bestellungen — Master + Komponenten haben dieselbe SKU am Property
typeId: 98. Wenn Master matcht, kommen alle Komponenten automatisch mit (gewollt). - Portalverweis-Loop-Schutz: Tag
portalverweis-gesendetmuss prüfbar sein, sonst bekommt der Kunde bei jeder Antwort eine neue Portal-Note.
Debug-Anleitung¶
- n8n → SUB Retoure → Executions → Filter „Failed".
- Im Sheet Ticket Log v2 den
ticketIdsuchen →sub_action+sub_reasonlesen. - Bei Amazon-RSA:
sub_action: …failed_no_parent→ Hauptauftrag-ID aus Mail prüfen, manuell in Plenty suchen.sub_action: …failed_create→ Plenty-API-Call hat 4xx/5xx geworfen. Susi pingen mit Failed Execution.sub_action: …skipped_no_sku→ Mail enthält keine bekannte mokebo-SKU. Kein Bug, manuelle Bearbeitung nötig.sub_action: …skipped_unknown_carrier→ Carrier in der Mail unbekannt (oder Hermes Phase 1).
- Bei Portalverweis: check ob Tag
portalverweis-gesendetkorrekt gesetzt wurde (Zendesk-Ticket öffnen, Tags-Liste). - Du darfst Claude konsultieren — siehe Erste Hilfe → Mit Claude debuggen.
Entscheidungen / Geschichte¶
- 2026-05-12: SUB Retoure gebaut + getestet + im MOKI Dispatcher eingebunden. Live ab 13.05.2026.
- 2026-05-12: PlentyOne
POST /rest/ordersPflichtfelder empirisch validiert —addressRelationsist Pflicht, sonst Status 1 statt 9.01. Siehe Reference: PlentyOne API. - 2026-05-12: PlentyOne
POST /rest/commentsvalidiert mituserId: 78(n8n-User) als Pflichtfeld. Siehe Reference: PlentyOne API. - (älter): Hermes Phase 2 bewusst aufgeschoben.