Bot WhatsApp >
mapping vers Slide OdooLearn
1- Architecture (vue d’ensemble)
WhatsApp (Meta Cloud API)
- WhatsApp (Meta Cloud API) → Webhook (Node/Python)
NLU + RAG
- NLU + RAG (vecteurs des contenus OdooLearn) → renvoie l’ID du bon slide (sous-chapitre) et/ou du channel (cours)
Connecteur Odoo
- Connecteur Odoo (JSON-RPC / XML-RPC) → récupère slide.id, channel_id, website_url
> Réponse WhatsApp avec un deep link
- Réponse WhatsApp avec un deep link qui ouvre directement le sous-chapitre dans OdooLearn (public/privé selon vos règles).
.
.
About "Odoo Learning"
- Odoo eLearning est un système de gestion d'apprentissage convivial pour les apprenants et les formateurs.
- Nimporte quel contenu peux être charger , évaluez le progrès des étudiants et maintenez leur intérêt éveillé à tout moment.
B- Ce qu’il faut mettre en place
1) Exposer/Indexer vos contenus OdoLearn pour le RAG
- Dans Odoo, les leçons sont des channels (slide.channel) et les sous-chapitres des slides (slide.slide).
-
Exportez pour l’indexation RAG :
slide.slide(id, name, description, channel_id, question_ids, html_content / text, tags, website_url, lang) - Vectorisez (OpenAI embeddings, Qdrant/pgvector/Weaviate).
- Conservez une clé de mapping (par ex. x_whatsapp_ref) sur chaque slide pour des renvois stables (évite la casse si le titre change).
2) Déterminer le bon sous-chapitre à la volée (RAG)
À chaque message WhatsApp, pipeline :
- Classifier l’intention “recommandation de formation”.
- RAG : retrouver le slide le plus pertinent + score.
- Si score < seuil → poser une question de précision (toujours utile sur WhatsApp).
- Sinon → construire le lien vers ce slide.
3) Construire le deep link vers un slide
-
Pour un site Odoo publié, vous avez généralement :
- URL de cours (channel) : /slides/<slug-du-cours>-<channel_id>
- URL de slide : souvent accessible via website_url du slide ou via un paramètre ?slide_id=<id> selon thème/route.
-
Stratégies robustes :
- Lire website_url du slide.slide (quand disponible) via JSON-RPC.
- Sinon, générer : /{lang}/slides/<slug-cours>-<channel_id>?slide=<slide_id> ou ?slide_id=<id> (selon vos routes).
-
Si le contenu est privé (portal), gérez l’accès :
- Créez un utilisateur portal (si nécessaire) et envoyez un lien de login redirect vers la ressource, ou
- Passez par un proxy (votre backend) qui vérifie la session WhatsApp ↔ utilisateur Odoo et redirige.
5) Réponse WhatsApp (Meta)
-
Envoyez un message texte + bouton (template interactif) :
“Je vous recommande : Semaine 3 → Composants → Courbes I-V. Accédez au sous-chapitre : <URL>”
- Si vous utilisez des templates WhatsApp, configurez une variable pour l’URL.
6) Gestion des langues (FR/MG/EN)
- Stockez lang sur le contact WhatsApp.
- Dans l’index RAG, conservez les variantes multilingues ou faites une traduction “à la volée” du prompt et du snippet.
- Construisez l’URL avec préfixe de langue si votre site Odoo l’emploie (/fr_FR/…).
7) Suivi & CRM
- Logguez chaque recommandation dans Odoo CRM (lead/opportunity) avec : utilisateur WhatsApp, slide recommandé, horodatage, score RAG.
- UTM dans l’URL (utm_source=whatsapp, utm_campaign=elearning) pour analytics.
Expérience mobile
Probablement le seul CRM avec une expérience mobile complète. Vous ne vous êtes jamais demandé comment cela fonctionnait ? Tout simplement, parce que cela fonctionne
Équipe d'assistance
Notre équipe d'assistance met tout en œuvre pour vous répondre aussi rapidement que les assistants vocaux.
Cas d’usage : public vs privé
Cas | Accès | Ce qu’on fait |
---|---|---|
Cours publics | Anonyme | Envoyer directement website_url du slide. |
Cours privés (Portal) | Compte Portal requis | 1) Créer/associer un portal user à ce numéro WhatsApp 2) Envoyer un lien de login + redirect vers le slide, ou rediriger via un proxy qui vérifie le jeton. |
Petites bonnes pratiques
- Champ clé sur slide.slide (ex. x_whatsapp_ref) pour des liens stables.
- Seuil de confiance RAG (ex. 0,75) + question de clarification si ambigu.
- Cache des métadonnées des slides pour éviter d’interroger Odoo à chaque message.
- Rate-limit côté WhatsApp et backoff côté Odoo.
- Tests : créez un sandbox Odoo (duplication DB) et un numéro test WhatsApp.
Mini plan de mise en œuvre (1er sprint)
- Export OdoLearn → index vecteurs (slides + champs utiles).
- Webhook WhatsApp (Meta Cloud) + endpoint /recommend.
- Connecteur Odoo JSON-RPC (search_read slide par x_whatsapp_ref ou id).
- Génération des deep links + envoi WhatsApp.
- Journalisation dans Odoo CRM (lead “Recommandation formation”).
> Fournir un schéma d’API
fournir un schéma d’API minimal (routes, payloads), un modèle de table pour le mapping RAG↔slides, et un exemple de message interactif WhatsApp prêt à coller.