Intégration DiddiSupport
DiddiSupport peut lire un contexte limité d'une commande Food pour traiter un dossier. DiddiFood reste propriétaire de la commande, du paiement local, des montants et de la projection de livraison. Cette route ne déclenche aucune action métier.
Un agent Support autorisé peut approuver ou rejeter une demande de
remboursement via le circuit Backoffice audité (food:payments:write). Le
client S2S de contexte ci-dessous reste strictement en lecture seule ; il ne
reçoit pas de droit de mutation sur les commandes ou les paiements.
Route
GET /internal/v1/support/order/{order_id}/context
Authorization: Bearer <JWT service>
X-Client-ID: <client DiddiSupport provisionné>
X-Support-Context-Scope: diddifood:support-context:read
X-Request-ID: <identifiant de corrélation>
Le JWT doit porter :
service=diddisupport
aud=diddifood
scope=diddifood:support-context:read
Réponse
La réponse suit diddi.context.v1 et contient seulement l'état nécessaire au
support : statut de commande, montant total en XOF, statut/méthode de paiement,
restaurant, état de livraison et dates de transition. Les identifiants de
livraison Food/Send sont présents pour permettre la corrélation interservices.
Les données client, adresse, téléphone, identifiant d'intention DiddiPay et
référence commerciale sont masqués et déclarés dans redacted_fields.
Configuration Food
DIDDISUPPORT_CLIENT_ID=diddisupport-staging-diddifood
DIDDISUPPORT_SERVICE_AUDIENCE=diddifood
Le secret ou la clé privée de DiddiFreeID reste dans le service qui demande le JWT. Food ne reçoit aucun secret DiddiSupport.
Erreurs
404 RESOURCE_NOT_FOUND: commande inconnue ;401 SERVICE_AUTH_INVALID: JWT ou identifiant manquant ;403 SERVICE_FORBIDDENouSUPPORT_CONTEXT_SCOPE_FORBIDDEN: service, client ou scope non autorisé ;503 SERVICE_NOT_CONFIGURED: le client DiddiSupport n'est pas configuré côté Food.