Aller au contenu principal

🤖 Agent IA Conversationnel pour Kazalendar

Documentation Technique Complète


📋 Vue d'ensemble du projet

Objectif

Créer un agent IA conversationnel qui écoute WhatsApp et Instagram, gère automatiquement les conversations avec les clients, extrait les informations de commande, et crée automatiquement des commandes dans l'application Kazalendar.

Bénéfices pour Kazalendar

  • Automatisation : Les commandes WhatsApp/Instagram sont créées automatiquement
  • Disponibilité 24/7 : L'agent répond aux clients même la nuit ou le week-end
  • Réduction du temps : Plus besoin de recopier manuellement les informations
  • Qualification automatique : Extraction intelligente des infos (date, produit, allergies, etc.)
  • Intégration native : Les commandes apparaissent directement dans Kazalendar

Durée estimée

6-8 semaines pour une implémentation complète et testée


🏗️ Architecture de la solution

Stack technique

Backend (API Node.js)

  • Express.js : Serveur web pour recevoir les webhooks
  • Supabase : Base de données (déjà utilisée par Kazalendar)
  • Claude AI (Anthropic) : Intelligence artificielle conversationnelle
  • Meta API : WhatsApp Business API & Instagram Messaging
  • TypeScript : Typage fort et meilleure maintenabilité

Mobile (Kazalendar Flutter)

  • Flutter : Framework mobile existant
  • Supabase Realtime : Synchronisation temps réel des commandes
  • Firebase Cloud Messaging : Notifications push

Architecture globale

┌─────────────────┐
│ Client final │
│ (WhatsApp/IG) │
└────────┬────────┘
│ Message

┌─────────────────────┐
│ Meta Platform │
│ (WhatsApp/IG API) │
└────────┬────────────┘
│ Webhook

┌─────────────────────────────┐
│ Backend API (Node.js) │
│ ┌─────────────────────┐ │
│ │ Webhook Handler │ │
│ └──────────┬──────────┘ │
│ │ │
│ ┌──────────▼──────────┐ │
│ │ Claude AI Agent │ │
│ │ (Anthropic SDK) │ │
│ └──────────┬──────────┘ │
│ │ │
│ ┌──────────▼──────────┐ │
│ │ Supabase Service │ │
│ └─────────────────────┘ │
└──────────────┬──────────────┘


┌──────────────────────────────┐
│ Supabase Database │
│ ┌────────────────────────┐ │
│ │ agent_conversations │ │
│ │ agent_messages │ │
│ │ commandes (existant) │ │
│ │ clients (existant) │ │
│ └────────────────────────┘ │
└──────────────┬───────────────┘
│ Realtime

┌──────────────────────────────┐
│ Kazalendar Mobile (Flutter)│
│ ┌────────────────────────┐ │
│ │ CalendarPage │ │
│ │ CommandesPage │ │
│ │ ClientsPage │ │
│ └────────────────────────┘ │
└──────────────────────────────┘

📊 Modèle de données Supabase

Tables existantes dans Kazalendar

Votre application utilise déjà :

  • profiles : Profils utilisateurs (vendeurs/pâtissiers)
  • commandes : Commandes existantes
  • clients : Clients existants

Nouvelles tables à créer pour l'agent

1. vendor_whatsapp_config

Configuration WhatsApp par vendeur

CREATE TABLE vendor_whatsapp_config (
id UUID PRIMARY KEY DEFAULT uuid_generate_v4(),
user_id UUID REFERENCES auth.users(id) ON DELETE CASCADE,
phone_number VARCHAR(20) NOT NULL,
wa_phone_id VARCHAR(255) NOT NULL,
wa_access_token TEXT NOT NULL,
wa_business_id VARCHAR(255),
is_active BOOLEAN DEFAULT true,
connected_at TIMESTAMP DEFAULT NOW(),
updated_at TIMESTAMP DEFAULT NOW(),
UNIQUE(user_id)
);

2. vendor_instagram_config

Configuration Instagram par vendeur

CREATE TABLE vendor_instagram_config (
id UUID PRIMARY KEY DEFAULT uuid_generate_v4(),
user_id UUID REFERENCES auth.users(id) ON DELETE CASCADE,
instagram_account_id VARCHAR(255) NOT NULL,
page_id VARCHAR(255) NOT NULL,
access_token TEXT NOT NULL,
is_active BOOLEAN DEFAULT true,
connected_at TIMESTAMP DEFAULT NOW(),
updated_at TIMESTAMP DEFAULT NOW(),
UNIQUE(user_id)
);

3. agent_conversations

Conversations gérées par l'agent

CREATE TABLE agent_conversations (
id UUID PRIMARY KEY DEFAULT uuid_generate_v4(),
user_id UUID REFERENCES auth.users(id) ON DELETE CASCADE,
client_id UUID REFERENCES clients(id) ON DELETE SET NULL,
platform VARCHAR(20) NOT NULL, -- 'whatsapp', 'instagram'
external_sender_id VARCHAR(255) NOT NULL, -- Numéro WhatsApp ou ID Instagram
external_conversation_id VARCHAR(255),
context JSONB NOT NULL DEFAULT '{
"extractedData": {},
"missingFields": [],
"conversationStage": "initial"
}'::jsonb,
status VARCHAR(20) DEFAULT 'active', -- 'active', 'completed', 'abandoned'
created_at TIMESTAMP DEFAULT NOW(),
updated_at TIMESTAMP DEFAULT NOW(),
UNIQUE(platform, external_sender_id, user_id)
);

4. agent_messages

Messages de conversation

CREATE TABLE agent_messages (
id UUID PRIMARY KEY DEFAULT uuid_generate_v4(),
conversation_id UUID REFERENCES agent_conversations(id) ON DELETE CASCADE,
role VARCHAR(20) NOT NULL, -- 'user' ou 'assistant'
content TEXT NOT NULL,
metadata JSONB DEFAULT '{}'::jsonb,
external_message_id VARCHAR(255),
created_at TIMESTAMP DEFAULT NOW()
);

5. conversation_images

Images de référence envoyées par les clients

CREATE TABLE conversation_images (
id UUID PRIMARY KEY DEFAULT uuid_generate_v4(),
conversation_id UUID REFERENCES agent_conversations(id) ON DELETE CASCADE,
storage_path TEXT NOT NULL,
url TEXT NOT NULL,
mime_type VARCHAR(50),
file_size INTEGER,
uploaded_at TIMESTAMP DEFAULT NOW()
);

6. agent_stats

Statistiques agent par jour

CREATE TABLE agent_stats (
id UUID PRIMARY KEY DEFAULT uuid_generate_v4(),
user_id UUID REFERENCES auth.users(id) ON DELETE CASCADE,
date DATE NOT NULL,
conversations_count INTEGER DEFAULT 0,
messages_received_count INTEGER DEFAULT 0,
messages_sent_count INTEGER DEFAULT 0,
commandes_created_count INTEGER DEFAULT 0,
average_response_time_seconds INTEGER,
created_at TIMESTAMP DEFAULT NOW(),
UNIQUE(user_id, date)
);

Modifications aux tables existantes

Extension de la table clients

-- Ajouter des colonnes pour lier aux plateformes sociales
ALTER TABLE clients ADD COLUMN IF NOT EXISTS platform VARCHAR(20); -- 'whatsapp', 'instagram', 'manual'
ALTER TABLE clients ADD COLUMN IF NOT EXISTS external_id VARCHAR(255); -- ID WhatsApp ou Instagram
ALTER TABLE clients ADD COLUMN IF NOT EXISTS created_by_agent BOOLEAN DEFAULT false;

-- Index pour recherche rapide
CREATE INDEX IF NOT EXISTS idx_clients_platform_external ON clients(platform, external_id);

Extension de la table commandes

-- Ajouter des colonnes pour tracer l'origine agent
ALTER TABLE commandes ADD COLUMN IF NOT EXISTS conversation_id UUID REFERENCES agent_conversations(id);
ALTER TABLE commandes ADD COLUMN IF NOT EXISTS created_by_agent BOOLEAN DEFAULT false;
ALTER TABLE commandes ADD COLUMN IF NOT EXISTS source VARCHAR(20); -- 'whatsapp', 'instagram', 'manual'
ALTER TABLE commandes ADD COLUMN IF NOT EXISTS allergens TEXT[];
ALTER TABLE commandes ADD COLUMN IF NOT EXISTS customization_notes TEXT;

-- Index pour recherche
CREATE INDEX IF NOT EXISTS idx_commandes_conversation ON commandes(conversation_id);
CREATE INDEX IF NOT EXISTS idx_commandes_source ON commandes(source);

🎯 Flux de conversation de l'agent IA

Étapes de qualification d'une commande

L'agent Claude suit ce workflow pour qualifier une commande :

1. Accueil & Identification du besoin

CLIENT: Bonjour, je voudrais un gâteau d'anniversaire
AGENT: Bonjour ! 🍰 Avec plaisir ! Pour quelle date souhaitez-vous ce gâteau ?

2. DATE (Priorité absolue)

CLIENT: Pour samedi prochain
AGENT: Parfait ! Pour combien de personnes sera ce gâteau ?

3. Taille/Quantité

CLIENT: 15 personnes
AGENT: Super ! Quel thème ou décoration souhaitez-vous ?

4. Personnalisation

CLIENT: Thème licorne pour une petite fille
AGENT: Adorable ! 🦄 Y a-t-il des allergies ou intolérances à signaler ?

5. Allergies (OBLIGATOIRE)

CLIENT: Non aucune
AGENT: Parfait ! Puis-je avoir votre nom et numéro de téléphone ?

6. Contact

CLIENT: Marie Dubois, 06 12 34 56 78
AGENT: Merci Marie ! Préférez-vous un retrait le matin (9h-12h) ou l'après-midi ?

7. Créneau horaire

CLIENT: Le matin vers 10h
AGENT: Parfait ! 🎉 Récapitulatif :
- Gâteau anniversaire thème licorne
- 15 personnes
- Retrait : samedi 16 nov, 10h
- Aucune allergie

Comptez entre 40€ et 50€.
Notre pâtissier va étudier votre demande et vous envoyer un devis sous 2h.

8. Création automatique dans Kazalendar

L'agent crée automatiquement :

  • ✅ Le client dans la table clients (si nouveau)
  • ✅ La commande dans commandes avec toutes les infos
  • ✅ Statut : pending (en attente de validation)
  • ✅ Notification push au vendeur sur Kazalendar

Champs extraits automatiquement

interface ExtractedData {
productName: string; // "Gâteau anniversaire licorne"
quantity: number; // 1
deliveryDate: Date; // 2025-11-16
deliveryTimeSlot: string; // "09:00-12:00"
guestCount: number; // 15
customerName: string; // "Marie Dubois"
customerPhone: string; // "+33612345678"
customerEmail?: string; // optionnel
allergens: string[]; // []
customization: string; // "Thème licorne"
estimatedPrice: string; // "40-50€"
}

🔧 Implémentation technique

Phase 1 : Configuration Meta Business (Semaine 1)

1.1 Créer un compte Meta Business Manager

  1. Va sur https://business.facebook.com
  2. Crée un compte avec les infos de ton entreprise
  3. Ajoute une méthode de paiement (obligatoire même si gratuit)

1.2 Créer une application Meta

  1. Va sur https://developers.facebook.com
  2. "Mes applications" → "Créer une application" → Type "Entreprise"
  3. Nom : "Kazalendar Agent"
  4. Associe l'app à ton Business Manager

1.3 Configurer WhatsApp Business API

  1. Dans ton app → "Ajouter un produit" → "WhatsApp"
  2. Numéro de test gratuit fourni par Meta
  3. Note les credentials :
    • APP_ID
    • APP_SECRET
    • WHATSAPP_PHONE_NUMBER_ID
    • WHATSAPP_ACCESS_TOKEN

1.4 Générer un token permanent

  1. "Paramètres" → "Utilisateurs système"
  2. Crée "kazalendar-bot" avec rôle Admin
  3. Génère token avec permissions :
    • whatsapp_business_messaging
    • whatsapp_business_management
  4. ⚠️ Expiration : "Jamais" (Never expires)

Phase 2 : Backend API (Semaines 2-3)

2.1 Créer le projet Node.js

# Créer le dossier
mkdir kazalendar-agent-api
cd kazalendar-agent-api

# Initialiser le projet
npm init -y

# Installer les dépendances
npm install express @supabase/supabase-js @anthropic-ai/sdk dotenv cors
npm install --save-dev typescript @types/node @types/express nodemon ts-node

# Initialiser TypeScript
npx tsc --init

2.2 Structure du projet

kazalendar-agent-api/
├── src/
│ ├── index.ts # Point d'entrée
│ ├── routes/
│ │ └── webhook.routes.ts # Routes webhook
│ ├── services/
│ │ ├── webhook.service.ts # Logique webhook
│ │ ├── agent.service.ts # Agent IA
│ │ └── prompts.ts # Prompts Claude
│ ├── types/
│ │ ├── webhook.types.ts # Types webhook
│ │ └── agent.types.ts # Types agent
│ └── utils/
│ └── clients.ts # Clients Supabase/Anthropic
├── .env # Variables d'environnement
├── .gitignore
├── package.json
└── tsconfig.json

2.3 Variables d'environnement (.env)

# Meta / WhatsApp
META_APP_ID=your_app_id
META_APP_SECRET=your_app_secret
META_VERIFY_TOKEN=un_token_secret_que_tu_inventes
WHATSAPP_PHONE_NUMBER_ID=your_phone_number_id
WHATSAPP_ACCESS_TOKEN=your_permanent_token

# Supabase (même URL que Kazalendar mobile)
SUPABASE_URL=https://tmugrcjrpgzqgymapnjm.supabase.co
SUPABASE_SERVICE_ROLE_KEY=your_service_role_key

# Anthropic Claude
ANTHROPIC_API_KEY=sk-ant-xxxxx

# Serveur
PORT=3000
NODE_ENV=development

2.4 Service Agent IA - Prompt système

// src/services/prompts.ts
export function buildSystemPrompt(vendorInfo: { businessName: string }): string {
return `Tu es l'assistant commercial de ${vendorInfo.businessName}, une pâtisserie artisanale.

TON RÔLE :
Tu aides les clients à passer commande en récoltant toutes les informations nécessaires.

RÈGLES STRICTES :

1. PRIORITÉ #1 : Date de livraison/retrait
- Demander en premier
- Format : JJ/MM/AAAA ou "samedi prochain"
- Si < 48h, prévenir que c'est selon disponibilité

2. ALLERGIES : Question OBLIGATOIRE
- "Y a-t-il des allergies ou intolérances ?"
- Allergènes : gluten, lactose, œufs, fruits à coque

3. INFORMATIONS PRODUIT :
- Nombre de personnes
- Thème / occasion
- Personnalisation souhaitée

4. CONTACT :
- Nom du client
- Numéro de téléphone

5. CRÉNEAU :
- Matin (9h-12h) ou Après-midi (14h-18h)

6. PRIX :
- JAMAIS de prix fixe
- Toujours une FOURCHETTE : "entre 35€ et 45€"

STYLE :
- Chaleureux et professionnel
- Français naturel
- Emojis avec parcimonie (🍰 ✨)
- Une question à la fois

WORKFLOW :
1. Accueil
2. DATE EN PRIORITÉ
3. Détails produit
4. Allergies
5. Personnalisation
6. Contact
7. Créneau
8. Récap + prix
9. Confirmation

Réponds en JSON :
{
"extractedData": {
"productName": "string ou null",
"quantity": "number ou null",
"deliveryDate": "ISO date ou null",
"deliveryTimeSlot": "string ou null",
"guestCount": "number ou null",
"customerName": "string ou null",
"customerPhone": "string ou null",
"allergens": [],
"customization": "string ou null",
"estimatedPrice": "string ou null"
},
"missingFields": ["liste champs manquants"],
"conversationStage": "initial|collecting|ready",
"shouldCreateOrder": boolean,
"responseMessage": "ton message au client"
}`;
}

2.5 Webhook WhatsApp

// src/routes/webhook.routes.ts
router.post('/whatsapp', async (req: Request, res: Response) => {
// Répondre immédiatement à Meta (< 20s obligatoire)
res.status(200).send('EVENT_RECEIVED');

// Traiter le message en arrière-plan
const payload = req.body;
await WebhookService.processWhatsAppWebhook(payload);
});

Phase 3 : Intégration Kazalendar Mobile (Semaines 4-5)

3.1 Nouvelle page : "Agent IA"

Créer une nouvelle section dans l'app mobile pour :

  • 📊 Voir les conversations actives
  • 🤖 Statistiques de l'agent (commandes créées automatiquement)
  • ⚙️ Configuration WhatsApp/Instagram
  • 📝 Historique des conversations

3.2 Configuration WhatsApp dans l'app

Nouvelle page : lib/features/agent/presentation/pages/agent_config_page.dart

class AgentConfigPage extends StatelessWidget {
// Formulaire pour :
// - Connecter WhatsApp Business
// - Activer/Désactiver l'agent
// - Voir les statistiques
}

3.3 Notifications temps réel

Utiliser Supabase Realtime pour écouter :

  • Nouvelles commandes créées par l'agent
  • Nouvelles conversations actives
// Dans CalendarPage, ajouter un listener
final subscription = SupabaseConfig.client
.from('commandes')
.stream(primaryKey: ['id'])
.eq('created_by_agent', true)
.listen((data) {
// Recharger la liste des commandes
_loadCommandes();

// Afficher notification locale
_showNotification('Nouvelle commande via WhatsApp');
});

3.4 Badge "Agent IA" sur les commandes

Dans CommandeCard, afficher un badge si created_by_agent == true :

if (commande.createdByAgent) {
Container(
padding: EdgeInsets.symmetric(horizontal: 8, vertical: 4),
decoration: BoxDecoration(
color: Colors.purple.shade100,
borderRadius: BorderRadius.circular(12),
),
child: Row(
mainAxisSize: MainAxisSize.min,
children: [
Icon(Icons.smart_toy, size: 14, color: Colors.purple),
SizedBox(width: 4),
Text(
'Agent IA',
style: TextStyle(
fontSize: 12,
color: Colors.purple.shade700,
fontWeight: FontWeight.w600,
),
),
],
),
)
}

Phase 4 : Déploiement (Semaine 6)

4.1 Déployer le backend sur Render.com

  1. Crée un compte sur https://render.com

  2. "New Web Service" → Connecte ton repo GitHub

  3. Configuration :

    • Build Command : npm install && npm run build
    • Start Command : npm start
    • Environment : Ajoute toutes les variables .env
  4. URL finale : https://kazalendar-agent.onrender.com

4.2 Configurer le webhook Meta

  1. Va sur https://developers.facebook.com
  2. Ton app → WhatsApp → Configuration
  3. Webhook URL : https://kazalendar-agent.onrender.com/webhook/whatsapp
  4. Verify Token : Le même que META_VERIFY_TOKEN dans .env
  5. S'abonner aux événements : messages

4.3 Tester en production

  1. Envoie un message WhatsApp au numéro Business
  2. Vérifie dans Supabase :
    • Table agent_conversations → Nouvelle ligne
    • Table agent_messages → Messages enregistrés
    • Table commandes → Commande créée automatiquement
  3. Vérifie dans Kazalendar mobile :
    • Notification reçue
    • Commande visible avec badge "Agent IA"

Phase 5 : Tests & Optimisations (Semaines 7-8)

5.1 Scénarios de test

Test 1 : Commande complète
Client: Bonjour, je voudrais un gâteau chocolat pour samedi
Agent: [Pose les questions]
Résultat attendu: Commande créée automatiquement
Test 2 : Informations incomplètes
Client: Je veux un gâteau
Agent: Pour quelle date ?
Client: [Pas de réponse]
Résultat attendu: Conversation reste "active", pas de commande
Test 3 : Photo de référence
Client: [Envoie une photo de gâteau]
Client: Je veux le même
Agent: Super ! J'ai bien reçu votre photo...
Résultat attendu: Photo stockée dans Supabase Storage, URL liée

5.2 Métriques à suivre

Dans la table agent_stats, suivre :

  • Nombre de conversations par jour
  • Taux de conversion (conversation → commande)
  • Temps de réponse moyen
  • Nombre de champs manquants par conversation

5.3 Améliorations futures

  1. Multi-langue : Détecter la langue du client
  2. Images IA : Générer des previews du gâteau avec DALL-E
  3. Paiement intégré : Envoyer directement un lien de paiement
  4. CRM avancé : Historique complet client

💰 Coûts estimés

Meta (WhatsApp Business API)

  • Numéro de test : Gratuit (1000 conversations/mois)
  • Numéro de production : ~5€/mois + 0.005€/conversation

Anthropic (Claude AI)

  • Claude Sonnet : ~$3 / 1M tokens
  • Estimation : 0.02€ par conversation
  • 1000 conversations/mois ≈ 20€/mois

Render.com (Hébergement backend)

  • Plan gratuit : 750h/mois (suffisant pour débuter)
  • Plan payant : 7$/mois (si besoin de plus de ressources)

Supabase

  • Plan gratuit : Largement suffisant (déjà utilisé)
  • Pas de coût additionnel

TOTAL estimé

  • Démarrage : 0€ (tout en gratuit pour tester)
  • Production (1000 conversations/mois) : ~30-40€/mois

🚀 Roadmap d'implémentation

Semaine 1 : Préparation

  • Créer compte Meta Business Manager
  • Configurer WhatsApp Business API
  • Obtenir clé API Anthropic
  • Créer les tables Supabase

Semaine 2-3 : Backend

  • Créer projet Node.js
  • Implémenter webhook WhatsApp
  • Créer service Agent IA avec Claude
  • Tester localement avec ngrok

Semaine 4-5 : Mobile

  • Créer page Agent dans Kazalendar
  • Ajouter listeners Supabase Realtime
  • Afficher badge "Agent IA" sur commandes
  • Implémenter notifications

Semaine 6 : Déploiement

  • Déployer backend sur Render
  • Configurer webhook Meta
  • Tests de bout en bout

Semaine 7-8 : Optimisation

  • Tests utilisateurs réels
  • Ajustements du prompt
  • Monitoring et analytics

📱 Interface utilisateur Kazalendar

Nouvelle section "Agent IA"

Écran principal

┌─────────────────────────────┐
│ 🤖 Agent IA │
│ │
│ ┌─────────────────────┐ │
│ │ 📊 Statistiques │ │
│ │ Aujourd'hui: │ │
│ │ • 12 conversations │ │
│ │ • 8 commandes créées│ │
│ └─────────────────────┘ │
│ │
│ ┌─────────────────────┐ │
│ │ 💬 Conversations │ │
│ │ actives (3) │ │
│ │ │ │
│ │ [Marie D.] 📱 WA │ │
│ │ Gâteau licorne... │ │
│ │ Il y a 2 min │ │
│ │ │ │
│ │ [Paul M.] 📷 IG │ │
│ │ Macarons assortis...│ │
│ │ Il y a 15 min │ │
│ └─────────────────────┘ │
│ │
│ [⚙️ Configuration] │
└─────────────────────────────┘

Configuration WhatsApp

┌─────────────────────────────┐
│ ⚙️ Configuration │
│ │
│ WhatsApp Business │
│ ┌─────────────────────┐ │
│ │ ✅ Connecté │ │
│ │ +33 6 12 34 56 78 │ │
│ │ │ │
│ │ [Déconnecter] │ │
│ └─────────────────────┘ │
│ │
│ Agent IA │
│ ┌─────────────────────┐ │
│ │ ⚪ Activé │ │
│ │ L'agent répond │ │
│ │ automatiquement │ │
│ └─────────────────────┘ │
│ │
│ Horaires actifs │
│ ┌─────────────────────┐ │
│ │ Lun-Ven: 9h-19h │ │
│ │ Sam: 9h-17h │ │
│ │ [Modifier] │ │
│ └─────────────────────┘ │
└─────────────────────────────┘

🔐 Sécurité et confidentialité

Données sensibles

  • ✅ Tokens stockés en variables d'environnement
  • ✅ Pas de credentials dans le code
  • ✅ HTTPS obligatoire pour tous les webhooks

RGPD

  • ✅ Conservation des conversations : 30 jours
  • ✅ Droit à l'oubli : Suppression cascade
  • ✅ Consentement client : Mention dans le message de bienvenue

Row Level Security (RLS)

-- Chaque vendeur ne voit que ses propres conversations
CREATE POLICY "Users can view own conversations"
ON agent_conversations
FOR SELECT
USING (auth.uid() = user_id);

CREATE POLICY "Users can insert own conversations"
ON agent_conversations
FOR INSERT
WITH CHECK (auth.uid() = user_id);

🎓 Ressources et documentation

APIs officielles

Tutoriels


📞 Support et maintenance

Monitoring

  • Utiliser Render.com logs pour surveiller les erreurs
  • Supabase Dashboard pour voir les conversations
  • Sentry.io pour tracking d'erreurs (optionnel)

Mises à jour

  • Agent IA : Amélioration continue du prompt
  • Meta API : Vérifier les changements de version
  • Claude API : Utiliser la dernière version du modèle

✅ Checklist de mise en production

Avant le lancement

  • Compte Meta Business vérifié
  • Numéro WhatsApp de production configuré
  • Backend déployé sur Render
  • Variables d'environnement configurées
  • Webhook Meta vérifié avec succès
  • Tests de bout en bout réussis
  • Tables Supabase créées avec RLS
  • Notifications push testées
  • Documentation utilisateur rédigée

Après le lancement

  • Surveiller les logs pendant 48h
  • Récolter feedback des premiers utilisateurs
  • Ajuster le prompt si nécessaire
  • Créer une FAQ pour les clients
  • Planifier les prochaines fonctionnalités

🎉 Conclusion

Cette solution d'agent IA conversationnel va transformer la manière dont les artisans/pâtissiers gèrent leurs commandes sur WhatsApp et Instagram.

Bénéfices clés :

  • 🕐 Gain de temps : Plus de recopie manuelle
  • 🤖 Automatisation : L'agent travaille 24/7
  • 📈 Scaling : Gérer plus de clients sans effort
  • Expérience client : Réponses instantanées

Prochaines étapes :

  1. Commencer par la Phase 1 (Configuration Meta)
  2. Créer le backend en parallèle
  3. Tester en local avec ngrok
  4. Déployer progressivement

Bonne chance pour l'implémentation ! 🚀