Cancel delivery service
DELETE/company/delivery/:service_code
Storniere eine bestehende Sendung, indem Sie ihren Status auf 'canceled' und rejectedBy auf 'cia' setzen. Nur Sendungen mit den Status 'planned' oder 'replanned' können storniert werden.
Ziel
Unternehmen zu ermöglichen, geplante Sendungen zu stornieren, wenn sie nicht mehr durchgeführt werden sollen, und dabei automatisch die erforderlichen Aktionen in Stripe und auctions zu verarbeiten.
Anwendungsfälle
- Eine geplante Sendung stornieren, die nicht mehr durchgeführt wird
- Eine neu geplante Sendung aufgrund logistischer oder geschäftlicher Probleme stoppen
- Eine fehlerhaft geplante Sendung rückgängig machen, bevor sie beginnt
- Aufgrund von Änderungen an der Ladung oder dem Ziel stornieren
Nebeneffekte
- Ändert den Status auf 'canceled'
- Setzt rejectedBy='cia'
- Storniert die payment_intent in Stripe (verarbeitet Rückerstattung, falls zutreffend)
- Storniert die zugehörige Auktion, falls vorhanden
Validierungsablauf
flowchart TD
A[Stornierungsanfrage empfangen] --> B{Sendung existiert?}
B -->|Nein| C[404 NOT_FOUND]
B -->|Ja| D{Gehört Sendung zum Unternehmen?}
D -->|Nein| E[403 NOT_ALLOWED]
D -->|Ja| F{Ist Finalstatus?}
F -->|Ja| G[401 NOT_ALLOWED]
F -->|Nein| H{Status ist stornierbar?}
H -->|Nein| I[401 NOT_ALLOWED]
H -->|Ja| J[Status auf canceled setzen]
J --> K[rejectedBy auf cia setzen]
K --> L{Stripe-Zahlung stornieren}
L -->|Fehler| M[403 CANT_CANCEL_PAYMENT]
L -->|Erfolg| N{Auktion stornieren}
N -->|Erfolg| O[Speichern - 200]
Hinweise
- Nur Sendungen mit den Status '
Request
Responses
- 200
- 401
- 403
- 404
- 503
Versand erfolgreich storniert
Nicht autorisiert. Der Sendungsstatus erlaubt keine Stornierung.
Die Zahlung kann in Stripe nicht storniert werden.
Sendung nicht gefunden. Der angegebene service_code existiert nicht oder gehört nicht zum Unternehmen des authentifizierten Benutzers.
Fehler beim Speichern der Änderungen.