Bot de vente WhatsApp hybride (IA + supervision humaine) connecté à l'API WhatsApp Cloud de Meta.
WhatsApp → Webhook → FastAPI → SalesAgent (LLM) → WhatsApp
↕
Dashboard (supervision humaine)
| Fichier | Rôle |
|---|---|
server.py |
Serveur FastAPI — webhook WhatsApp + API dashboard |
whatsapp_client.py |
Client API WhatsApp Cloud (envoi messages, médias) |
conversation_manager.py |
Gestion conversations SQLite (états, historique) |
sales_agent.py |
Agent de vente LLM — pipeline qualification→closing |
dashboard.html |
Interface web de supervision en direct |
config.yaml |
Configuration (tokens, mode, pipeline de vente) |
- Compte Meta Business → business.facebook.com
- App Facebook Developer avec WhatsApp activé
- Numéro de téléphone dédié WhatsApp Business
- Python 3.11+
cd C:\Users\LEO\projects\BotWhatsApp
pip install -r requirements.txt- Va sur developers.facebook.com
- Crée une app → type "Business"
- Ajoute le produit WhatsApp
- Dans le dashboard WhatsApp, ajoute un numéro de test (gratuit, 5 destinataires max)
- Récupère :
- Phone Number ID (dans "Configuration de l'API")
- WhatsApp Business Account ID
- Access Token (token temporaire ou permanent)
whatsapp:
phone_number_id: "123456789012345"
business_account_id: "987654321098765"
access_token: "EAAx..."
verify_token: "bot_verify_token_2024" # à personnaliser- URL de callback :
https://TON_DOMAINE/webhook/whatsapp - Token de vérification : même que
verify_tokendans config.yaml - Champs à souscrire :
messages
Pour du développement local, utilise ngrok :
ngrok http 8000Puis mets l'URL ngrok dans la config webhook Meta.
Dans config.yaml, section sales :
sales:
product_description: "Décris ton produit/service ici"
pricing: "Tes tarifs"
unique_selling_points:
- "Argument 1"
- "Argument 2"python server.pyLe dashboard est accessible sur http://localhost:8000
| Mode | Comportement |
|---|---|
auto |
Le bot répond automatiquement, jamais de validation humaine |
hybrid |
Réponses auto si confidence ≥ 85%, sinon validation humaine requise |
assist |
Toute réponse nécessite une validation humaine avant envoi |
- Qualification — Identifier si prospect sérieux
- Découverte — Besoins, budget, urgence
- Recommandation — Solution adaptée
- Objection — Répondre aux doutes
- Closing — Passer à l'action
- Liste des conversations en temps réel
- Messages en attente de validation (mode hybride/assist)
- Approuver / Modifier / Rejeter les suggestions IA
- Envoyer des messages manuels
- Stats en direct
- Numéro de test : 5 destinataires max, messages illimités gratuits
- Numéro business vérifié : 1000 conversations/mois gratuites, puis payant
- Templates requis pour initier une conversation (délai 24h après dernier message client)
- Médias : images/documents hébergés publiquement (URL accessible)
