Ce fichier décrit l'envoi des notifications push par Firebase Cloud Messaging (FCM). Il s'adresse aux équipes backend et mobile qui enregistrent les appareils.
DiddiFood enregistre un token avec POST /food/v1/devices/register, puis utilise FCM pour notifier les changements de commande. L'envoi est une conséquence non bloquante : une panne FCM est journalisée et ne doit pas annuler l'action métier déjà validée. Les variables FCM_PROJECT_ID et FCM_SERVICE_ACCOUNT_JSON sont nécessaires pour un envoi réel.
Le frontend doit enregistrer le token Food après authentification et le retirer avec POST /food/v1/devices/unregister à la déconnexion ou au changement de compte. Un même appareil peut aussi être enregistré auprès d'un autre backend : Food ne partage pas son enregistrement local avec DiddiGo.
Événements Food
data.type |
event |
Destinataire | Action recommandée |
|---|---|---|---|
order_confirmed |
order.accepted |
Client | Relire la commande et afficher la préparation. |
order_ready |
order.ready |
Client | Relire la commande et la livraison. |
order_delivered |
order.delivered |
Client | Afficher la livraison terminée et permettre la notation. |
order_cancelled |
order.rejected ou order.cancelled |
Client | Relire la commande et afficher le motif. |
order_substitution_proposed |
order.substitution_proposed |
Client | Relire la commande et répondre si la substitution est activée. |
Les notifications peuvent être absentes. Le WebSocket et la lecture HTTP restent les sources de récupération d'état.