Cancel delivery service
DELETE/company/delivery/:service_code
Annule un envoi existent en changeant son statut à 'canceled' et rejectedBy à 'cia'.
Seuls les envois avec les statuts 'planned' ou 'replanned' peuvent être annulés.
Objectif
Permettre aux entreprises d'annuler des envois planifiés lorsqu'ils ne seront plus réalisés,
en traitant automatiquement les actions nécessaires dans Stripe et les enchères.
Cas d'utilisation
- Annuler un envoi planifié qui ne sera plus réalisé
- Arrêter un envoi replanifié en raison de problèmes logistiques ou commerciaux
- Annuler un envoi mal planifié avant son début
- Annuler en raison de changements dans la cargaison ou la destination
Effets secondaires
- Change le statut à 'canceled'
- Définit rejectedBy='cia'
- Annule le payment_intent dans Stripe (traite le remboursement si applicable)
- Annule l'enchère associée si elle existe
Flux de validation
flowchart TD
A[Reçoit une demande d'annulation] --> B{L'envoi existe-t-il ?}
B -->|Non| C[404 NOT_FOUND]
B -->|Oui| D{L'entreprise possède-t-elle l'envoi ?}
D -->|Non| E[403 NOT_ALLOWED]
D -->|Oui| F{Statut final ?}
F -->|Oui| G[401 NOT_ALLOWED]
F -->|Non| H{Le statut est-il annulable ?}
H -->|Non| I[401 NOT_ALLOWED]
H -->|Oui| J[Définit status=canceled]
J --> K[Définit rejectedBy=cia]
K --> L{Annuler le paiement Stripe}
L -->|Erreur| M[403 CANT_CANCEL_PAYMENT]
L -->|Succès| N{Annuler l'enchère}
N -->|Succès| O[Sauvegarder - 200]
Notes
- Seuls les envois avec les statuts 'planned' ou 'replanned' peuvent être ann
Request
Responses
- 200
- 401
- 403
- 404
- 503
Expédition annulée avec succès
Non autorisé. L'état de l'expédition ne permet pas l'annulation.
Le paiement ne peut pas être annulé sur Stripe.
Expédition non trouvée. Le service_code fourni n'existe pas ou n'appartient pas à l'entreprise de l'utilisateur authentifié.
Erreur lors de l'enregistrement des modifications.