Documentation9 min de lecture

Messagerie instantanée, publipostage et réseaux sociaux dans Odoo

Le module OCA `mail_gateway` (dépôt `social`, version 18.0.1.1.1, licence AGPL-3) est le socle permettant d'**intégrer un système de messagerie externe directement dans la conversation d'Odoo** — et trois connecteurs en dérivent : **WhatsApp Business**, **Telegram** et les messages directs d'un réseau social. Vingt autres modules traitent le publipostage, la désinscription tracée et les liens sociaux.

Conversation de messagerie instantanée sur un téléphone

Une partie croissante des échanges clients passe par la messagerie instantanée, et aucun de ces messages n'entre dans l'ERP : ils vivent sur le téléphone d'un commercial, hors de l'historique, hors de la relation documentée.

Vingt-et-un modules communautaires les font entrer, et traitent le publipostage. Ils terminent les dépôts social et mass-mailing.

Résumé

Cinq modules traitent la messagerie instantanée : une passerelle générique intégrant un système externe dans la conversation d'Odoo, un connecteur WhatsApp Business, un connecteur Telegram avec sa variante de chats simples, et un connecteur de messages directs d'un réseau social.

Six modules traitent la conversation et les activités : un fil par défaut sur un serveur de messagerie entrante, la traçabilité de l'annulation et de la suppression d'une activité, la restriction des suggestions de mention, l'historique joint aux courriels de notification, et la suppression du message « enregistrement créé ».

Six modules traitent le publipostage : des listes de diffusion auto-alimentées, la purge des adresses en liste noire, le réenvoi d'un publipostage, l'exclusion des inscrits à un événement, le suivi des métadonnées de désinscription, et le lien aux partenaires.

Quatre modules enfin traitent les réseaux sociaux et les campagnes : trois champs de compte — un sur la société, deux sur le contact — et un budget de campagne avec son coût réel.

L'essentiel

  • Une passerelle de messagerie instantanée dans la conversation d'Odoo.
  • Un connecteur WhatsApp Business et un connecteur Telegram.
  • Des listes de diffusion auto-alimentées.
  • Les métadonnées de désinscription tracées, pour la conformité.
  • Les adresses en liste noire purgées des listes de diffusion.
  • Les inscrits d'un événement exclus d'un publipostage.
  • Un budget de campagne et son coût réel.
  • L'historique joint aux courriels de notification.

Ce que ces modules ajoutent à l'instance

FamilleModulesNombre
Messagerie instantanéemail_gateway, mail_gateway_whatsapp, mail_gateway_telegram, mail_gateway_telegram_standalone, mail_gateway_instagram5
Conversation et activitésfetchmail_thread_default, mail_activity_cancel_tracking, mail_activity_unlink_log, mail_mention_suggestion_config, mail_notification_with_history, mail_thread_create_nolog6
Publipostagemass_mailing_list_dynamic, mass_mailing_list_prune_blacklisted, mass_mailing_resend, mass_mailing_event_registration_exclude, mass_mailing_custom_unsubscribe, mass_mailing_partner6
Réseaux et campagnesres_company_mastodon_link, res_partner_mastodon_link, res_partner_linkedin_link, marketing_campaign_budget4

Les menus : Paramètres ▸ Technique ▸ E-mail ▸ Gateway et Gateway Partner Channels.

Faire entrer la messagerie instantanée

Un client qui écrit par messagerie instantanée obtient une réponse plus vite qu'un client qui écrit par courriel — et son échange n'existe nulle part dans l'ERP. Quand le commercial part, la relation part avec son téléphone.

mail_gateway est le socle : il intègre un système de messagerie externe dans la conversation d'Odoo, avec ses passerelles et ses canaux par partenaire sous Paramètres ▸ Technique ▸ E-mail ▸ Gateway.

mail_gateway_whatsapp (version 18.0.2.1.7, la plus mûre du lot) branche un connecteur WhatsApp Business sur l'interface de programmation du fournisseur. Il dépend de la validation téléphonique.

  • mail_gateway_telegram branche Telegram, et mail_gateway_telegram_standalone y ajoute la gestion de chats simples par identifiant.
  • mail_gateway_instagram branche les messages directs d'un réseau social.

L'intérêt de la passerelle n'est pas de répondre depuis Odoo : c'est que la conversation soit rattachée au client, visible de l'équipe, et conservée. La messagerie instantanée devient un canal de l'entreprise, non celui d'une personne.

Le connecteur WhatsApp mérite une mise en garde : il passe par l'interface commerciale du fournisseur, qui facture à l'usage et impose ses règles de gabarit de message. Ce n'est pas un canal gratuit.

La conversation et les activités

  • mail_activity_cancel_tracking trace dans la conversation l'annulation d'une activité planifiée, et mail_activity_unlink_log force un message à chaque suppression d'activité.
  • mail_mention_suggestion_config restreint au niveau de la société la liste des contacts proposés quand un utilisateur mentionne quelqu'un.
  • mail_notification_with_history joint l'historique aux courriels de notification envoyés aux abonnés.
  • mail_thread_create_nolog supprime le message « enregistrement créé » de la base.
  • fetchmail_thread_default définit un fil de discussion par défaut sur un serveur de messagerie entrante.

Les deux modules de traçabilité d'activité ferment une faille de contrôle : une activité annulée ou supprimée disparaît sans trace dans le standard. Un visa à faire, une relance à passer, un contrôle à effectuer peuvent donc s'évanouir — et l'historique ne dira jamais qu'ils ont existé.

La restriction des suggestions de mention répond à un défaut discret : le mécanisme de mention propose tous les contacts de la base, clients compris. Mentionner un client par erreur dans une note interne lui envoie cette note.

La suppression du message de création est un module de volume : sur une base à plusieurs millions d'enregistrements, ce message représente autant de lignes de messages inutiles.

Le publipostage

mass_mailing_list_dynamic crée des listes de diffusion auto-alimentées : une liste définie par un critère, et non par un ajout manuel. Il dépend du lien aux partenaires.

La liste dynamique est ce qui évite la dérive la plus commune du publipostage : une liste constituée une fois, jamais mise à jour, qui écrit à des clients partis et ignore les nouveaux. Une liste par critère est juste par construction.

  • mass_mailing_list_prune_blacklisted retire des listes les adresses en liste noire.
  • mass_mailing_resend permet de réenvoyer un publipostage.
  • mass_mailing_event_registration_exclude exclut les inscrits à un événement des destinataires — pour ne pas inviter deux fois.
  • mass_mailing_custom_unsubscribe suit les métadonnées de désinscription, pour la conformité au règlement européen : qui s'est désinscrit, quand, et pourquoi.
  • mass_mailing_partner relie le publipostage aux partenaires. README réduit à sa catégorie.

La purge des adresses en liste noire n'est pas un confort : une adresse en liste noire qui reste dans une liste génère des envois rejetés, qui dégradent la réputation du domaine expéditeur.

Le suivi des métadonnées de désinscription est une pièce de conformité : prouver qu'une personne a demandé à ne plus recevoir, et quand, est ce qu'un contrôle demande.

La délivrabilité et les listes de blocage sont traitées dans savoir si vos e-mails arrivent.

Les réseaux sociaux et les campagnes

  • res_company_mastodon_link ajoute un compte de réseau social décentralisé sur la fiche société, au même titre que les champs existants.
  • res_partner_mastodon_link et res_partner_linkedin_link ajoutent deux comptes de réseau social sur la fiche contact.
  • marketing_campaign_budget ajoute un budget et un coût réel aux campagnes de suivi marketing.

Le budget de campagne est le seul des quatre qui change quelque chose de mesurable : une campagne avec son coût et son chiffre d'affaires attribué donne un retour sur investissement. Sans budget, le suivi marketing compte des clics.

Les trois champs de compte social sont des ajouts de confort — utiles pour une prospection, sans effet sur les flux.

Limites connues

  • Deux modules ont un README réduit à leur catégorie : mass_mailing_partner et mass_mailing_resend.
  • Les trois connecteurs de messagerie instantanée passent par des interfaces commerciales : facturation à l'usage, règles de gabarit imposées, et conditions qui changent. Ce ne sont pas des canaux gratuits.
  • Faire entrer une messagerie instantanée dans l'ERP y fait entrer des données personnelles : numéros de téléphone, contenu de conversations. Durée de conservation et base légale à définir.
  • Le connecteur WhatsApp est en version 2.1.7 : le plus actif du lot, donc celui qui évolue le plus — à surveiller à chaque montée de version.
  • mail_thread_create_nolog supprime une trace : légère, mais c'est une trace. À évaluer si une piste d'audit complète est exigée.
  • Les listes dynamiques se recalculent : un critère trop large envoie à des destinataires non prévus.
  • Le suivi de désinscription est une pièce de conformité, pas une conformité : il faut encore que la procédure suive.
  • res_partner_mastodon_link dépend de base_fontawesome : une bibliothèque d'icônes, pour un champ.

Identité technique

Les vingt-et-un modules viennent de deux dépôts OCA, branche 18.0 — social et mass-mailing —, désormais tous documentés ici, tous en licence AGPL-3. Les dépendances : mail pour la plupart, mass_mailing pour le publipostage, phone_validation pour le connecteur WhatsApp, event pour l'exclusion des inscrits, social_media et base_fontawesome pour les champs de réseau social, sale pour le budget de campagne.

Voir aussi savoir si vos e-mails arrivent et activités, abonnés et notifications.

Questions fréquentes

Peut-on rattacher des conversations WhatsApp à un client dans Odoo ?

Oui : mail_gateway intègre un système de messagerie externe dans la conversation d'Odoo, et mail_gateway_whatsapp branche un connecteur WhatsApp Business. L'intérêt n'est pas de répondre depuis Odoo, c'est que la conversation soit rattachée au client, visible de l'équipe et conservée — sinon la relation part avec le téléphone du commercial.

Le connecteur WhatsApp est-il gratuit ?

Non : il passe par l'interface commerciale du fournisseur, qui facture à l'usage et impose ses règles de gabarit de message. Et faire entrer ces échanges dans l'ERP y fait entrer des données personnelles — numéros, contenus — dont la durée de conservation et la base légale sont à définir.

Peut-on savoir qu'une activité planifiée a été annulée ?

Pas dans le standard : elle disparaît sans trace. mail_activity_cancel_tracking trace l'annulation dans la conversation, et mail_activity_unlink_log force un message à chaque suppression. Sans eux, un visa à faire ou une relance à passer peut s'évanouir sans que l'historique le dise.

Comment éviter d'écrire à des clients partis dans un publipostage ?

mass_mailing_list_dynamic crée des listes auto-alimentées par critère, et non par ajout manuel. Une liste constituée une fois et jamais mise à jour écrit à des clients partis et ignore les nouveaux ; une liste par critère est juste par construction. Attention à ne pas définir un critère trop large.

Peut-on prouver qu'une personne s'est désinscrite ?

mass_mailing_custom_unsubscribe suit les métadonnées de désinscription — qui, quand, pourquoi — pour la conformité au règlement européen. C'est une pièce de conformité, pas une conformité : il faut encore que la procédure suive.

Se faire accompagner

La messagerie instantanée est devenue un canal client majeur, et c'est le seul qui n'existe pas dans la plupart des ERP. Le faire entrer a un coût — interface payante, données personnelles à encadrer — et une valeur : la relation cesse d'appartenir à un téléphone.

Nous instruisons donc d'abord le cadre — base légale, durée de conservation, qui accède aux conversations — avant de brancher un connecteur, et nous posons les listes dynamiques côté publipostage, parce qu'une liste figée se dégrade dès le premier mois. Voir les prestations d'Atalios Consulting ou demander un rappel.

Pour aller plus loin

En résumé

Une partie croissante des échanges clients passe par la messagerie instantanée, et aucun de ces messages n'entre dans l'ERP : ils vivent sur le téléphone d'un commercial. Vingt-et-un modules les font entrer et traitent le publipostage. Parlons de vos canaux clients.

Documentation OCAMessagerieOdoo Community

Partager

Fiches connexes

Baies de serveurs dans une salle machine
Le module OCA `queue_job` (dépôt `queue`, version 18.0.3.4.1, licence LGPL-3) ajoute à Odoo une **file de travaux de fond** avec ses canaux, ses fonctions et ses tâches, sous le menu **File d'attente des tâches** : c'est la brique dont dépendent plus de quarante modules communautaires, et la première à surveiller en exploitation. Vingt-six autres modules traitent les composants, la configuration hors base, l'impression serveur et l'IoT.
Lire la suite
Documentation OCA, Exploitation
Câbles réseau branchés sur un commutateur
Le module OCA `endpoint` (dépôt `web-api`, version 18.0.1.1.4, licence LGPL-3) permet de **déclarer un point d'entrée HTTP depuis l'interface**, sous **Paramètres ▸ Technique ▸ Endpoints** : une adresse, une méthode, un traitement — sans écrire de module. Vingt-trois autres modules traitent le cache, les imports par sessions, les échanges de factures et l'agenda.
Lire la suite
Documentation OCA, Intégration