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.

Microservice•Communication•API
Cabu-Communication

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.

WhatsApp

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.

Envoyer un message WhatsApp par modèle
Recevoir un webhook WhatsApp

Email

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.

Envoyer un email OTP
Envoyer une annonce simple
Envoyer un email de campagne

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é.

Envoyer un SMS OTP
Envoyer une annonce
Envoyer un SMS de campagne

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.