Aller au contenu principal

Canal — WhatsApp Business

Le canal WhatsApp permet à vos clients de vous contacter via leur application WhatsApp et d'obtenir des réponses instantanées, 24h/24, propulsées par Aiterava Intelligence.

Prérequis​

  • Un compte Meta Business Suite vérifié : business.facebook.com
  • Un numéro de téléphone dédié pour votre WhatsApp Business (non utilisé sur un compte personnel)
  • Votre instance Aiterava accessible publiquement via HTTPS (pour le webhook Meta)
  • La variable AI_BYOK_MASTER_KEY configurée dans votre .env (on-premise)

Étape 1 — Créer une application Meta​

  1. Rendez-vous sur developers.facebook.com.
  2. Cliquez sur Mes applications → Créer une application.
  3. Choisissez le type Business.
  4. Nommez-la (ex : Aiterava – Hôtel Le Palmier).
  5. Sous Ajouter des produits, cliquez sur Configurer à côté de WhatsApp.

Étape 2 — Récupérer vos identifiants​

Dans WhatsApp → Mise en route de votre application Meta :

IdentifiantOù le trouver
Phone Number IDSection "Numéros de téléphone"
WhatsApp Business Account ID (WABA ID)En-tête de la page mise en route
System User Access TokenMeta Business Suite → Paramètres → Utilisateurs système
Token permanent

Utilisez un System User Token (depuis Meta Business Suite → Paramètres système), pas le token de test temporaire qui expire après 24h.

Étape 3 — Configurer le webhook Meta​

  1. Dans WhatsApp → Configuration, section Webhook, cliquez sur Modifier.
  2. Renseignez :
    • URL de rappel : https://votre-domaine.com/api/v1/whatsapp/webhook/
    • Jeton de vérification : la valeur de WHATSAPP_VERIFY_TOKEN dans votre .env
  3. Cliquez sur Vérifier et enregistrer.
  4. Abonnez-vous au champ messages.

Étape 4 — Variables d'environnement (on-premise)​

Ajoutez dans votre .env :

# ─── Canal WhatsApp ──────────────────────────────────────────────────────────
WHATSAPP_VERIFY_TOKEN=une-chaine-secrete-de-votre-choix
WHATSAPP_APP_SECRET=votre-app-secret-meta # Meta App → Paramètres → Général

# Requis si pas déjà présent
AI_BYOK_MASTER_KEY=<openssl rand -hex 32>

Redémarrer l'API :

make restart
# ou
docker compose -f docker-compose.onprem.yml restart api celery

Étape 5 — Activer dans le dashboard​

  1. Connectez-vous au dashboard Aiterava.
  2. Allez dans Paramètres → WhatsApp.
  3. Remplissez :
    • Phone Number ID
    • WABA ID
    • Nom affiché (ce que vos clients voient dans WhatsApp)
    • Access Token (System User Token)
  4. Cochez Activer et cliquez sur Enregistrer.

Étape 6 — Tester​

Dans Paramètres → WhatsApp, cliquez sur Tester la connexion. Entrez votre numéro WhatsApp personnel et cliquez sur Envoyer.

Vous devriez recevoir :

✅ Test Aiterava Intelligence — assistant WhatsApp de [Votre Établissement] opérationnel.

Ce que l'assistant peut répondre​

L'assistant WhatsApp accède en lecture seule aux données publiques :

Question clientDonnées utilisées
Disponibilité des chambresRéservations temps réel
Descriptions, tarifsProfil hébergement
Services, horaires, localisationProfil marketplace

L'assistant répond de façon concise (adapté à WhatsApp), sans markdown (pas de gras/italique), et dans la langue configurée de votre établissement.

Il ne peut pas passer une réservation ni accéder à des données privées — il invite poliment le client à vous contacter directement pour ces cas.

Dépannage​

Le webhook ne se vérifie pas

  • Vérifiez que WHATSAPP_VERIFY_TOKEN dans Meta correspond exactement à la valeur dans votre .env.
  • Vérifiez que l'URL https://votre-domaine.com/api/v1/whatsapp/webhook/ est accessible depuis internet.

Messages reçus mais pas de réponse

  • Vérifiez les logs Celery : docker logs aiterava_onprem_celery
  • Vérifiez que la configuration WhatsApp est active (is_active = true) dans le dashboard.
  • Vérifiez que le provider IA est configuré (clé valide avec crédits disponibles).

Erreur de signature (403)

  • Vérifiez que WHATSAPP_APP_SECRET correspond au "App Secret" dans Meta App → Paramètres → Général.

Rate limit (429)

  • L'assistant limite à 1 requête par 5 secondes par client. C'est normal — les messages en rafale sont ignorés.