GET dans dialogue bot > PUT dans OODO Contact > Retour dans dialogue pour validation
pour cas acquisition contact pour Magic School
🎯 Objectif
Mettre en place un bot d’acquisition d’affiliés (marketing & vente en réseau) capable de :
- dialoguer naturellement avec un prospect,
- collecter ses coordonnées,
- créer ou mettre à jour la fiche dans Odoo (PUT/POST),
- relire les données (GET Odoo) pour confirmation,
- puis déclencher son parcours d’affilié (charte, lien, outils, QR…).
🧩 Étapes du process d’acquisition
-
Phase 1 — Découverte / Intérêt
- Le bot accueille le prospect (site, WhatsApp, CaféIA, QR code).
- Il explique le rôle d’un ambassadeur / affilié.
- Il demande le consentement RGPD pour continuer.
-
Phase 2 — Collecte des données
-
Le bot pose des questions simples pour obtenir :
- Prénom, nom, email, téléphone
- Ville / pays
- Préférence de contact (email, WhatsApp, SMS)
- Canal d’origine (Café, ami, QR code, site…)
- Acceptation de la charte ambassadeur
- Chaque donnée collectée est validée (formats, doublons, etc.).
-
Le bot pose des questions simples pour obtenir :
-
Phase 3 — Création / mise à jour dans Odoo (PUT / POST)
-
Le bot envoie les informations à votre API proxy Odoo :
- S’il existe déjà → PUT (update).
- Sinon → POST (create).
- Le contact est enregistré dans res.partner ou crm.lead, tagué “Ambassadeur potentiel”.
-
Le bot envoie les informations à votre API proxy Odoo :
-
Phase 4 — Vérification (GET dans Odoo)
- Le bot relit les infos depuis Odoo via GET /partners/{id}.
-
Il affiche :
“Voici les informations que j’ai enregistrées : [Nom, Email, Téléphone, Ville]. Est-ce bien correct ?”
- Si le prospect corrige, le bot refait un PUT ciblé sur le champ modifié.
-
Phase 5 — Validation & onboarding
-
Une fois confirmé, le bot :
- active le statut “Affilié confirmé”,
- génère un lien UTM et un code coupon,
- envoie un email ou WhatsApp de bienvenue avec les outils.
-
Une fois confirmé, le bot :
-
Phase 6 — Handover / suivi humain
-
Si une donnée manque, ou si le bot détecte une incohérence →
création automatique d’une tâche Odoo pour rappel humain. - Le responsable local peut alors compléter ou valider manuellement.
-
Si une donnée manque, ou si le bot détecte une incohérence →
🧠 Contenu à intégrer dans les prompts du bot
-
Introduction conviviale et claire :
“Bienvenue au programme Ambassadeur CaféIA × Magic School. Je vais juste vous poser quelques questions pour créer votre profil.”
-
Validation systématique des infos :
“Pouvez-vous confirmer que votre adresse email est bien correcte ?”
-
Rappel RGPD et Charte :
“J’enregistre vos données uniquement pour la gestion du programme Ambassadeurs. Souhaitez-vous continuer ?”
-
Relecture avant enregistrement final :
“Voici votre fiche telle qu’elle apparaît. Est-ce bien tout juste ?”
-
Confirmation finale :
“Merci ! Vous êtes maintenant enregistré comme Ambassadeur. Voici votre lien de parrainage et votre QR code.”
🧭 Stade optimal pour déployer le bot
- Moment idéal : entre la Phase 1 et la Phase 2 du process.
- Il sert de filtre initial et de collecteur automatisé avant validation manuelle.
- Il alimente directement le CRM et le pipeline “Affiliés à valider”.
Code > Créer un bot d’acquisition d’affiliés qui :
possible — et utile — de créer un bot d’acquisition d’affiliés qui :
- collecte les coordonnées en dialogue,
- écrit dans Odoo (create/PUT),
- relit (GET) pour confirmation,
- puis déclenche le parcours d’onboarding (email, lien UTM, code coupon, charte).
Voici un plan clé-en-main : prompts, champs, validations, et où le placer dans votre funnel.
1) Où placer le bot dans le process
- Top-of-funnel (TOFU) : page “Devenir Ambassadeur” du site, QR au CaféIA, WhatsApp/Instagram DM.
- Mid-funnel (MOFU) : après une soirée CaféIA, lien envoyé par email/SMS.
- Avant création du compte affilié : le bot capte les infos + consentements, crée le lead/contact dans Odoo, puis confirme et livre les “outils ambassadeur” (lien UTM + code coupon) après validation simple.
Étapes : Intérêt → Qualification → Consentements → Création dans Odoo → Lecture & Confirmation → Remise des accès/outils.
2) Champs à collecter (slots) + mapping Odoo
| Slot bot | Validation | Odoo (suggestion) |
|---|---|---|
| prénom | alpha min 2 | res.partner.firstname (ou name complet) |
| nom | alpha min 2 | res.partner.lastname |
| regex | res.partner.email | |
| téléphone | format FR/intl | res.partner.phone |
| ville/pays | texte | res.partner.city / country_id |
| statut | majeur / mineur + tuteur | x_is_referrer (adultes) ; pour mineurs, note + parent |
| canal préféré | email / whatsapp / sms | x_pref_channel |
| accord charte | oui/non | x_charter_accepted (datetime) |
| RGPD | oui/non | x_rgpd_consent (datetime + source) |
| lien d’origine | café, médiathèque, UTM | utm.source / x_ref_note |
| type d’avantage | commission / récompenses non monétaires | x_reward_type |
| IBAN (adultes partenaires, option) | format IBAN | x_iban (sécurisé) |
À la création : res.partner pour le contact + (option) crm.lead tagué “Candidat Ambassadeur”.
Après validation, cochez x_is_referrer = True et générez x_coupon_code + UTM.
3) Flow du bot (dialogue)
1) Accueil & consentement
“Bienvenue ! Je peux vous inscrire comme Ambassadeur CaféIA × Magic School. J’aurai besoin de vos coordonnées et de votre accord RGPD pour vous contacter. D’accord pour continuer ? (oui/non)”
- Si non → ressources / prise de RDV humain.
- Si oui → continuer.
2) Collecte structurée (slots)
- “Votre prénom ?” → valider → “Votre nom ?”
- “Votre email ?” (valider format ; proposer correction si typos .con/.cm)
- “Un numéro pour vous joindre ? (optionnel)”
- “Votre ville ?”
- “Êtes-vous majeur ? Si non, j’aurai besoin du contact d’un parent/tuteur.”
- “Préférez-vous recevoir vos infos par email, WhatsApp ou SMS ?”
- “Validez-vous la Charte Ambassadeur et notre RGPD ? (oui/non) — lien”
- “D’où venez-vous ? (Café partenaire, Médiathèque, QR code, ami…)”
- “Vous préférez des récompenses non monétaires (ateliers, badges) ou des commissions (adultes/partenaires) ?”
3) Lecture & Confirmation (GET Odoo)
Le bot crée le contact dans Odoo, puis relit :
“Récapitulatif : Prénom Nom, email, téléphone, ville, canal préféré = …. Est-ce correct ? (oui/non)”
- Si non → corriger le(s) champ(s) → PUT Odoo.
- Si oui → passer à l’activation.
4) Activation & livraison des outils
- Générer code coupon + URL UTM ; envoyer un email de bienvenue.
- Afficher à l’écran : “Voici votre lien de parrainage et votre code.”
- Proposer : “Souhaitez-vous des visuels (QR, mini-affiche) ?”
5) Handover humain (si nécessaire)
- Si mineur sans tuteur, si IBAN requis, si questions : créer une tâche pour un conseiller.
4) Prompts (templates)
Prompt système (bot)
“Tu es l’assistant d’acquisition des Ambassadeurs CaféIA × Magic School.
Objectif : collecter les données minimales, obtenir consentements, créer/mettre à jour le contact dans Odoo (via actions), relire les infos pour confirmation, puis livrer lien UTM + code coupon.
Contraintes :
- toujours demander consentement (RGPD + Charte).
- si mineur, ne propose aucune rétribution financière ; basculer en récompenses non monétaires.
- valider email et téléphone ; proposer correction en cas de doute.
- après création Odoo, lire et reformuler les infos et demander “Est-ce correct ?”.
- en cas d’échec API : s’excuser, sauvegarder localement et créer une tâche pour rappel humain.
- ne jamais promettre un paiement sans validation des règles internes.”
Prompt collecte email (ex.)
“Merci. Quelle est votre adresse email pour vous envoyer vos outils ambassadeur ? (ex. prenom.nom@…)”
— si regex échoue →
“Je n’arrive pas à valider cet email. Pourriez-vous le revérifier (ex. .fr au lieu de .con) ?”
Prompt consentement RGPD
“Pour finaliser, acceptez-vous que Magic School traite vos données pour la gestion du programme Ambassadeurs (contact, suivi, envoi de lien/QR, statistiques d’impact) ? Vous pouvez retirer votre consentement à tout moment. (oui/non)”
Prompt confirmation finale (après GET)
“Parfait. Récapitulatif : {{name}}, {{email}}, {{phone}}, {{city}}, canal {{pref}}. Confirmez-vous ?”
Prompt livraison outils
“Merci ! Voici vos outils :
• Lien : {{referral_url}}
• Code : {{coupon_code}}
• Prochaines dates CaféIA : {{next_events}}
Souhaitez-vous recevoir un QR code et une mini-affiche personnalisée ?”
5) Actions côté bot (pseudo-code)
on start:
ask_consent()
if consent != yes: exit
collect slots in order with validation:
first_name, last_name, email, phone?, city, is_adult, pref_channel,
charter_accepted, rgpd_consent, origin, reward_type
// CREATE in Odoo
resp = ACTION odoo.create_or_update_partner(payload)
if !resp.ok:
log & create_task_handoff()
apologize & exit
// GET from Odoo to confirm
check = ACTION odoo.get_partner({id: resp.partner_id})
display_summary(check)
if user says "non":
collect corrections -> ACTION odoo.update_partner(fields)
// Generate assets
coupon = ACTION odoo.generate_coupon({partner_id})
utm = ACTION odoo.generate_utm({partner_id})
ACTION gmail.send_message(welcome_template)
present_to_user(coupon, utm, next_events)
6) Points d’attention (qualité & conformité)
- Double opt-in (facultatif) : envoyer un email de confirmation et n’activer l’affiliation qu’après clic.
- Anti-fraude : limiter n° d’inscriptions liées à une même IP/device en un court laps de temps.
- Mineurs : basculer automatiquement en récompenses non monétaires, et demander contact parent.
- Idempotence : si l’email existe déjà dans Odoo, mettre à jour au lieu de créer.
- Traçabilité : journaliser l’ID Odoo, l’UTM, l’heure et le consentement.
- Handover : toujours une issue/activité Odoo créée si le flux échoue.
7) Endpoints Odoo à prévoir (via votre proxy)
- POST /partners/create_or_update → retourne partner_id.
- POST /partners/get → by partner_id ou email.
- POST /affiliates/generate_coupon → code.
- POST /affiliates/generate_utm → url.
- POST /tasks/create (fallback support).
Si vous voulez, je peux vous livrer un script de prompts JSON (arbre de dialogue prêt à brancher) et des exemples de réponses d’erreurs pour tester le bot “end-to-end”. > Voir dialogue de GPT5 suivant https://chatgpt.com/share/68e77ca8-451c-8005-b19c-e7e543a22586
Acquisition data en realTime audio
on peut faire exactement le même dialogue… mais à l’oral, en temps réel avec l’API Realtime d’OpenAI (voix ↔ texte ↔ outils). C’est idéal pour un “agent standardiste” qui capte les infos d’un affilié et pousse/relit les données dans Odoo.