> ## Documentation Index
> Fetch the complete documentation index at: https://docs.famulor.io/llms.txt
> Use this file to discover all available pages before exploring further.

# WhatsApp (Texte + Voix)

> Connectez l'API WhatsApp Business Cloud pour le chat et les appels vocaux de la plateforme

WhatsApp est l'un des canaux de l'espace de travail, sous **Settings → Channels → WhatsApp**, couvrant le chat texte, les appels vocaux de la plateforme et les modèles de message.

| Mode          | Disponibilité                                              |
| ------------- | ---------------------------------------------------------- |
| Chat texte    | Inclus avec l'accès à la messagerie WhatsApp               |
| Appels vocaux | Inclus avec l'accès à la voix WhatsApp                     |
| Templates     | Utilise le même compte WhatsApp Business que le chat texte |

**Intégration privilégiée (domaine plateforme uniquement, par ex. app.famulor.io) :** [WhatsApp Embedded Signup](/fr/channels/whatsapp-embedded-signup) (Connect with Meta). Sur les domaines personnalisés en marque blanche, les espaces de travail utilisent uniquement le **collage manuel des identifiants**.

Les **numéros Marketplace** (Settings → Numbers) sont en **PSTN/SIP** pour la voix téléphonique. Le même numéro E.164 ne devient compatible WhatsApp qu'une fois vérifié par Meta (OTP). Vos paramètres de trunk SIP sont indépendants de l'API WhatsApp Cloud. Les assistants SMS de la plateforme sont réservés au SMS/MMS — ils ne servent pas pour WhatsApp.

## Prérequis

Votre forfait inclut WhatsApp texte et/ou WhatsApp voix.

## Interface produit

1. **Connect with Meta** (Embedded Signup) — choisissez l'assistant, un numéro Marketplace facultatif, l'utilitaire OTP pour le SMS Marketplace
2. Ou collez les identifiants manuellement (token, app secret, verify token, phone number ID, WABA ID)
3. Bascules : text / voice inbound / voice outbound
4. **Edit** sur une connexion → WhatsApp Sender Details : les assistants de chat et de voix sortante, **AI Auto-Responses**, **Keep conversations unread**, l'état de préparation aux appels (**Enable calling on Meta**), et le Business Profile (**About**, Description, Business Address, Business Category, logo, bannière, sites web et e-mails/téléphones de contact). **Sync** pousse le profil vers Meta — le logo devient votre photo de profil WhatsApp.
5. Sélectionnez **Templates** à côté d'un expéditeur pour ouvrir sa page de modèles dédiée. **Sync with Meta** parcourt chaque page de résultats, importe les modèles créés dans WhatsApp Manager et actualise le statut d'approbation. **Add template** vous permet de créer un brouillon personnalisé ou de parcourir la bibliothèque officielle de modèles par langue, avec un aperçu téléphone en direct. Les variables doivent être numérotées de façon contiguë (`{{1}}`, `{{2}}`, `{{3}}`) et associées à une variable système, un attribut de lead, une variable d'assistant ou une clé personnalisée. Les boutons URL et numéro de téléphone doivent être configurés avant l'ajout d'un modèle de la bibliothèque.
6. Passez un appel WhatsApp de test depuis le panneau de connexion

Pour une configuration manuelle, copiez l'URL de webhook affichée après la connexion (les domaines personnalisés vérifiés sont gérés automatiquement) et abonnez-vous à **messages**, **calls** et **message template status updates**. Pour la voix, activez aussi les appels sur le numéro de téléphone sous **Edit → Enable calling on Meta**.

## La fenêtre de 24 heures et les modèles

Meta n'autorise les réponses libres qu'à l'intérieur d'une **fenêtre de service de 24 heures**, qui s'ouvre chaque fois qu'un client vous écrit :

* **À l'intérieur de la fenêtre** — votre assistant peut envoyer n'importe quel message, sans modèle requis.
* **En dehors de la fenêtre** — vous devez envoyer un **modèle approuvé**. Cela s'applique au démarrage d'une nouvelle conversation, à la relance d'un client après 24 heures d'inactivité, et à tout message de notification ou marketing que vous initiez.

Meta classe les modèles en trois catégories, chacune avec un niveau d'exigence d'approbation différent :

| Catégorie          | Utilisation                                                                                              | Délai d'approbation habituel       |
| ------------------ | -------------------------------------------------------------------------------------------------------- | ---------------------------------- |
| **Utility**        | Confirmations de commande/rendez-vous, rappels, notifications de compte — jamais de contenu promotionnel | Quelques minutes à quelques heures |
| **Marketing**      | Offres, annonces, relance                                                                                | Quelques heures, jusqu'à 24 heures |
| **Authentication** | Mots de passe à usage unique, codes de connexion/vérification                                            | Quelques minutes à quelques heures |

**Add template** crée des modèles Utility et Marketing, et la bibliothèque officielle qu'il parcourt est de type Utility. Les modèles Authentication sont créés dans WhatsApp Manager et récupérés par **Sync with Meta** comme n'importe quel autre modèle.

Une **demande d'autorisation d'appel** n'est pas une catégorie à part — c'est un composant bouton `CALL_PERMISSION_REQUEST` ajouté à un modèle Utility ou Marketing pour demander à un client la permission de l'appeler via WhatsApp voice. L'approbation de ce composant est généralement immédiate.

<Note>
  Meta rejette les modèles qui mélangent les catégories — par exemple un langage promotionnel dans un modèle Utility. Autres causes fréquentes de rejet : des valeurs d'exemple vagues pour les variables `{{1}}`/`{{2}}` (utilisez des exemples réalistes, pas « test »), un ton agressif ou trop pressant, des raccourcisseurs d'URL au lieu de votre propre domaine, et les contenus restreints (alcool, jeux d'argent, contenu adulte, politique ou toute autre catégorie interdite).
</Note>

<Tip>
  Une fois approuvé, un modèle ne peut plus être modifié — créez-en un nouveau à la place. Gardez quelques modèles de secours prêts pour les cas d'usage à fort trafic, afin qu'un simple rejet ou une désactivation ne bloque pas votre prospection.
</Tip>

## Qualité des messages et limites d'envoi

Meta contrôle ce qu'un expéditeur peut envoyer à travers deux mécanismes distincts.

**Quality rating** — **High**, **Medium** ou **Low**, selon la façon dont les gens réagissent à vos messages : blocages, signalements de spam et taux de réponse. Elle baisse après une série de blocages ou de signalements et remonte à mesure que vous envoyez du contenu pertinent et sollicité.

**Messaging limit** — le nombre de clients avec lesquels vous pouvez démarrer une conversation sur une fenêtre glissante de 24 heures. Un nouvel expéditeur démarre au palier le plus bas (typiquement 250 clients), et Meta le relève palier par palier — 1 000, puis 10 000, puis 100 000, puis illimité — à mesure que vous envoyez davantage avec une bonne quality rating. Une note qui reste Low peut geler le palier ou le faire redescendre.

Les réponses envoyées à l'intérieur d'une fenêtre de 24 heures ouverte ne comptent pas dans la limite. Les deux valeurs viennent directement de Meta et s'affichent par expéditeur sous **Edit → WhatsApp Sender Details**, sous les libellés **Quality Rating** et **Messaging Limit** — construisez donc un historique de conversations de qualité avant de monter en volume.

## Campagnes

Choisissez **WhatsApp** dans le configurateur de campagne pour envoyer, une fois par lead, le modèle texte approuvé d'un expéditeur actif. Les associations de modèle enregistrées sont préremplies et peuvent être remplacées campagne par campagne. Les mappings peuvent utiliser les champs de contact canoniques, des variables de canal/système en lecture seule, des attributs de lead, des variables d'assistant, ou une clé de lead personnalisée.

**WhatsApp Call (Beta)** nécessite les Beta Features, l'accès à la voix WhatsApp, un expéditeur prêt pour le sortant, et un modèle de demande d'autorisation d'appel approuvé, sélectionné pour cet expéditeur. Les appels à l'initiative de l'entreprise dépendent aussi de la disponibilité chez Meta, de la région et de l'autorisation explicite du client. Les demandes d'autorisation et leur état visible **Awaiting permission** sont gérés automatiquement. Un octroi ne relance le lead que tant que sa campagne est en cours.

Les campagnes vocales peuvent utiliser un modèle WhatsApp approuvé, un SMS ou un e-mail comme unique suivi après relances. Les appels réussis, les contacts en liste de suppression et les campagnes mises en pause manuellement ne génèrent jamais ce suivi. L'envoi de modèles utilise les mêmes crédits de messagerie que le WhatsApp de session.

## Webhook des accusés de lecture

Dans **WhatsApp Sender Details**, vous pouvez configurer un endpoint HTTPS qui reçoit les callbacks de statut de remise et de lecture. Chaque callback est signé en HMAC-SHA256 sur le corps brut exact de la requête. La signature est envoyée sous la forme `X-Signature-256: sha256=<hex digest>`.

Un secret de signature est généré la première fois que vous enregistrez l'URL de webhook. Les secrets existants ne peuvent pas être récupérés a posteriori. Utilisez **Rotate signing secret** dans les paramètres de l'expéditeur, `POST /api/v1/whatsapp/connectors/{id}/profile` avec `action=rotate_read_receipts_webhook_secret`, ou l'outil MCP `rotate_whatsapp_read_receipts_webhook_secret`. Le nouveau `signing_secret` est affiché ou renvoyé une seule fois, et l'ancien secret cesse immédiatement de fonctionner. Enregistrez la nouvelle valeur avant de quitter la réponse, et mettez à jour votre récepteur avant d'envoyer une requête de test.

## Historique

Chaque conversation WhatsApp atterrit dans l'[Historique](/fr/monitoring/history) aux côtés de vos autres canaux :

* Les conversations texte apparaissent avec le canal **WhatsApp**.
* Les appels vocaux apparaissent avec le canal **WhatsApp voice**.

Les conversations texte terminées restent joignables manuellement tant que la fenêtre de service client de 24 heures de Meta est ouverte. Après une réponse manuelle, l'Historique vous demande si vous voulez garder la conversation comme terminée ou la rouvrir avec les réponses automatiques de l'IA. La réouverture démarre un nouveau minuteur d'inactivité sans prolonger la fenêtre de 24 heures de Meta.

Lorsqu'un client envoie une photo, votre assistant en décrit automatiquement le contenu et peut y répondre dans le fil de la conversation. Les messages vocaux entrants sont automatiquement transcrits et traités comme un message tapé. Le média ainsi que la description ou la transcription résultante sont tous deux visibles dans la conversation.

## Facturation

* Text : facturé par message, au tarif **Messaging (sent)** / **Messaging (received)** de l'espace de travail — le même tarif qu'utilisent [les autres canaux de messagerie](/fr/channels/messaging#facturation). Les tarifs actuels figurent sur la [page Usage](https://app.famulor.io/usage).
* Voice : réservation/règlement de crédits en minutes vocales existants (comme pour les appels téléphoniques/SIP)
* Tarification des conversations Meta : moyen de paiement du client dans WhatsApp Manager (Tech Provider)

## Dépannage

Le badge de statut d'un expéditeur affiche **PENDING**, **CONNECTED** ou **ERROR**.

<AccordionGroup>
  <Accordion title="L'expéditeur reste PENDING">
    Vérifiez que vous avez bien terminé toute la popup d'inscription Meta et créé (pas réutilisé) un compte WhatsApp Business pendant la configuration, puis actualisez après quelques minutes. Toujours en attente après plus de 30 minutes : contactez le support avec l'ID de l'expéditeur.
  </Accordion>

  <Accordion title="L'expéditeur affiche ERROR">
    Ouvrez **Edit** et lisez la dernière erreur. Les problèmes d'identifiants se corrigent en relançant le parcours de connexion ; une suspension pour politique ou qualité doit être traitée (généralement un comportement d'envoi assimilable à du spam) et contestée auprès de Meta.
  </Accordion>

  <Accordion title="Modèle rejeté ou désactivé">
    Les motifs de rejet ci-dessus sont les causes habituelles ; un modèle désactivé traduit généralement un retour sur la qualité. Créez une version améliorée et restreignez son audience d'envoi.
  </Accordion>

  <Accordion title="Modèle en attente depuis longtemps">
    Les modèles Marketing peuvent prendre le plus de temps ; créez un modèle alternatif si vous devez envoyer plus tôt.
  </Accordion>

  <Accordion title="Messages non distribués">
    Envoyez vers des numéros au format E.164, vérifiez que le destinataire a WhatsApp, contrôlez que l'expéditeur est CONNECTED, et confirmez que vous n'avez pas atteint votre messaging limit.
  </Accordion>

  <Accordion title="Message libre rejeté">
    Vous êtes en dehors de la fenêtre de 24 heures du client ; envoyez plutôt un modèle approuvé.
  </Accordion>

  <Accordion title="L'IA ne répond pas">
    Vérifiez qu'un assistant est bien assigné à l'expéditeur et que **AI Auto-Responses** est activé, puis consultez l'Historique pour l'état d'erreur de la conversation.
  </Accordion>

  <Accordion title="Quality rating en baisse ou limites atteintes">
    Examinez ce que vous avez envoyé juste avant la baisse, resserrez le ciblage et réduisez le volume ; la note comme le palier remontent à mesure que vous envoyez des messages plus pertinents et de meilleure qualité.
  </Accordion>

  <Accordion title="La popup Meta n'apparaît pas ou se ferme sans aboutir">
    Autorisez les popups pour le site, videz cookies/cache, ou réessayez dans un autre navigateur ; puis relancez le parcours de connexion depuis le début.
  </Accordion>
</AccordionGroup>

## API publique

* Connecteurs de messagerie : `GET/POST /api/v1/messaging-connectors` avec `platform=whatsapp`
* Modèles : `GET/POST /api/v1/whatsapp/templates` ; utilisez `source=library`, `language`, `limit`, et le curseur `paging.after` renvoyé pour parcourir la bibliothèque officielle. `parameter_bindings` associe des positions telles que `1` ou `header.1` à des clés de variable. Fournissez `library_template_name` avec `library_button_values` lorsqu'un préréglage comporte des boutons URL ou numéro de téléphone. `action=update` modifie des brouillons localement ou envoie des changements de composants pour un modèle existant chez le fournisseur. Les clients API et MCP peuvent créer le même modèle de demande d'autorisation d'appel en fournissant un composant `BODY` et `CALL_PERMISSION_REQUEST`.
* Voix sortante : `POST /api/v1/calls/whatsapp-outbound`
* Reprise IA depuis l'Historique : `POST /api/v1/history/actions` avec `action=resume_ai`, `kind=messaging`, et l'ID de la conversation
* Gestion des appels : `GET /api/v1/whatsapp/calling` lit l'état de préparation (paramètres d'appel Meta, abonnement webhook, quality rating) pour le numéro professionnel d'un connecteur ; `POST /api/v1/whatsapp/calling` exécute `enable_calling`, `resubscribe` ou `ensure_voice`.
* Ressources de l'expéditeur : `POST`/`DELETE /api/v1/whatsapp/connectors/{id}/assets` téléverse ou supprime un logo/bannière de Business Profile (URL ou base64).
* Profil de l'expéditeur et accusés de lecture : `GET`/`PATCH`/`POST /api/v1/whatsapp/connectors/{id}/profile` gère le profil de l'expéditeur, teste le callback signé et fait tourner son secret de signature.
* Messenger Connect peut lui aussi être entièrement piloté via l'API : `POST /api/v1/messenger/facebook-login/pages` liste les Pages Facebook qu'un jeton d'accès utilisateur peut gérer, avant `POST /api/v1/messenger/facebook-login`.
* MCP : outils de modèles WhatsApp + `start_whatsapp_outbound_call` + `get_whatsapp_calling_status` + `manage_whatsapp_calling` + `rotate_whatsapp_read_receipts_webhook_secret` + `upload_whatsapp_sender_asset` / `delete_whatsapp_sender_asset` + `list_messenger_facebook_pages`

La session **OTP capture** des numéros Marketplace (l'étape de vérification du numéro qui rend un numéro acheté compatible WhatsApp) reste réservée au tableau de bord — c'est un parcours de téléphonie interactif, sans équivalent REST/MCP.

Voir aussi [Configuration d'Embedded Signup](/fr/channels/whatsapp-embedded-signup), [Canaux de messagerie](/fr/channels/messaging), [Voix WhatsApp](/fr/telephony/whatsapp-voice).
