Microservice · Service interne · API
Cabu-Communication
Un microservice interne qui permet aux applications de l'écosystème d'envoyer des messages par WhatsApp, email et SMS depuis une même infrastructure.

Cabu-Communication est un microservice développé pour les différentes applications de l'écosystème Cabu.
Son rôle est de centraliser les besoins de communication des applications : envoyer un message WhatsApp, transmettre un email ou envoyer un SMS, sans que chaque application ait à développer sa propre intégration pour chacun de ces canaux.
Les applications clientes communiquent avec Cabu-Communication à travers une API et lui demandent d'effectuer les envois dont elles ont besoin.
Le besoin
Un seul service pour plusieurs canaux de communication
Plusieurs applications peuvent avoir besoin d'envoyer des notifications, des codes de vérification, des annonces ou des messages liés à une action effectuée par un utilisateur.
Sans service commun, chaque application devrait gérer séparément ses intégrations WhatsApp, email et SMS.
Cabu-Communication permet justement de regrouper cette logique dans un même service. Les applications utilisent l'API et le microservice s'occupe ensuite du canal de communication concerné.
Applications
Les applications clientes envoient leurs demandes à travers l'API.
Cabu-Communication
Le microservice reçoit la demande et utilise le canal approprié.
Services externes
Les fournisseurs de communication prennent ensuite en charge l'envoi.
Envoyer des messages WhatsApp depuis les applications
Les applications clientes peuvent demander à Cabu-Communication d'envoyer un message WhatsApp à un utilisateur.
Le service prend notamment en charge l'envoi de messages basés sur des modèles.
Il peut également recevoir les événements transmis par WhatsApp grâce au système de webhooks.
Gérer différents types d'emails
L'email fait également partie des services exposés par Cabu-Communication.
Les applications peuvent l'utiliser pour différents besoins : envoyer un code OTP, transmettre une annonce ou lancer une campagne d'emailing.
Le service permet ainsi aux applications de réutiliser une même infrastructure pour leurs différents besoins d'envoi.
SMS
Garder le SMS disponible comme canal de communication
Cabu-Communication prend également en charge l'envoi de SMS.
Ce canal peut être utilisé pour les codes OTP, les annonces ou les campagnes de communication.
L'intérêt est de conserver la même logique côté application : elle envoie sa demande à Cabu-Communication et le microservice s'occupe du canal demandé.
Dans l'écosystème
Un service utilisé par les applications qui en ont besoin
L'intérêt de Cabu-Communication apparaît surtout lorsqu'une application doit communiquer avec ses utilisateurs à plusieurs moments de leur parcours.
Une inscription peut nécessiter l'envoi d'un OTP. Une commande peut générer une notification. Une campagne peut nécessiter un envoi massif par email ou SMS.
Au lieu de développer ces mécanismes séparément dans chaque application, les services de l'écosystème peuvent s'appuyer sur Cabu-Communication.
Intégration
Une couche commune entre les applications et les fournisseurs
Cabu-Communication joue le rôle d'intermédiaire entre les applications internes et les différents services de communication.
Le projet utilise notamment Twilio ainsi que l'API WhatsApp pour assurer les communications concernées.
Les applications n'ont donc pas besoin de connaître tous les détails propres à chaque fournisseur. Elles communiquent avec l'API de Cabu-Communication.
Notre travail
Centraliser la communication de l'écosystème
Cabu-Communication n'est pas une application que l'utilisateur final ouvre pour envoyer un message. C'est un service qui fonctionne en arrière-plan pour les autres produits.
Notre travail a consisté à mettre en place cette couche commune permettant aux applications de gérer leurs communications à travers une même API.
WhatsApp, email et SMS sont ainsi regroupés derrière un service commun, avec les mécanismes nécessaires pour les différents types d'envoi et les événements reçus.
Cabu-Communication constitue ainsi la couche de communication partagée de l'écosystème : les applications peuvent envoyer des messages WhatsApp, des emails et des SMS sans devoir gérer séparément chacune de ces intégrations.
Le projet
Cabu-Communication au cœur de l'écosystème
Un microservice interne conçu pour donner aux applications une manière commune de communiquer avec leurs utilisateurs.