Contrat API DiddiFood
Le contrat détaillé des routes est généré depuis FastAPI dans
openapi.json. Ce document explique le périmètre et les
conventions qui ne sont pas déductibles des schémas.
Conventions
- Les routes privées utilisent un JWT DiddiFreeID.
- Les montants sont des entiers en XOF (
*_minor_units). - Les dates sont ISO 8601 ; les statistiques utilisent
Africa/Abidjan. X-Request-IDdoit être propagé pour permettre le support.- Une réponse
503signifie qu'une dépendance n'est pas configurée ou disponible ; le client ne doit jamais afficher une réussite inventée. - Après reconnexion temps réel, relire la commande, le paiement et la livraison par HTTP.
Statut des surfaces
| Surface | Statut | Propriété |
|---|---|---|
| Catalogue, commande en livraison, paiement cash/online | MVP | DiddiFood avec DiddiPay pour le paiement |
| Livraison et collecte cash | MVP intégré | DiddiSend reste propriétaire de l'exécution |
| Wallet et retrait restaurant | MVP intégré sous dépendances | DiddiPay exécute le payout |
| Support administratif et décisions de remboursement | MVP intégré | Backoffice audité avec food:payments:write |
pickup_mode=pickup |
hors MVP, prévu V1 | DiddiFood |
| Substitution de plat | hors MVP, prévu V1 | DiddiFood |
| Recharge wallet restaurant | hors MVP | DiddiFood |
| Notation client | route active après livraison | DiddiFood |
Une route hors MVP reste documentée et peut être appelée dans un environnement où sa porte est activée. Le statut produit ne constitue pas une suppression de la route.
Responsabilités interservices
- DiddiSend possède le coursier, la position, l'ETA réelle, la preuve de remise et la résolution opérationnelle d'un échec de livraison.
- DiddiPay possède les mouvements financiers et l'exécution des remboursements ou payouts.
- DiddiFood possède la commande, la projection de livraison, la politique de remboursement et l'état local de réconciliation.
- DiddiSupport lit le contexte Food ; les décisions financières passent par le circuit Backoffice audité.