Un OTP WhatsApp est un code à usage unique envoyé via l'API WhatsApp Business en utilisant la catégorie de template authentication. C'est une alternative au SMS OTP pour les flux de vérification d'identité — création de compte, connexion à deux facteurs, validation de paiement — avec une tarification spécifique et des contraintes techniques propres à cette catégorie.
Catégorie authentication : ce qui la distingue des autres templates
Meta a créé la catégorie authentication spécifiquement pour les codes de vérification à usage unique. Elle bénéficie d'un traitement prioritaire dans la livraison et d'une tarification distincte.
Caractéristiques clés :
- Template fixe fourni par Meta (vous ne rédigez pas le corps du message)
- Le seul paramètre variable est le code OTP lui-même
- Expiration configurable : de 1 à 90 minutes
- Bouton "Copier le code" natif intégré automatiquement par Meta
Format du message généré automatiquement par Meta (exemple FR) :
"{{1}} est votre code de vérification pour {{2}}. Ne le partagez pas. [Copier le code]"
Vous passez le code dans {{1}} et le nom de votre application dans {{2}}. Le reste est géré par Meta.
Tarif de la catégorie authentication : les frais Meta pour un numéro français sont de 0,0248 €/message (même tarif que les templates utility). Avec les frais BSP Whakup (0,0088 €), le coût total est d'environ 0,0336 €/OTP. C'est comparable à un SMS OTP premium, avec une livraison via une application déjà installée sur le téléphone.
WhatsApp OTP vs SMS OTP : comparatif technique
| Critère | SMS OTP | WhatsApp OTP |
|---|---|---|
| Couverture | Universelle (tout téléphone) | Nécessite WhatsApp installé |
| Coût (numéro FR) | 0,04-0,08 €/SMS | ~0,0336 €/message |
| Fiabilité de livraison | Variable (opérateurs, filtres) | Élevée (app to app) |
| Risque SIM swapping | Élevé | Faible (lié au compte Meta) |
| Bouton "Copier le code" | Non | Oui (natif Meta) |
| Expiration configurable | Côté applicatif seulement | Dans le template (1-90 min) |
| Branding de l'expéditeur | Numéro court ou alphanumérique | Nom d'entreprise vérifié |
Le WhatsApp OTP est plus sécurisé que le SMS sur le plan du SIM swapping (l'attaquant doit contrôler le compte WhatsApp, pas seulement la SIM). Il est en revanche conditionné à l'installation de l'application. Pour les cas d'usage où la couverture universelle est critique (populations peu tech-savvy, marchés sans fort taux de pénétration WhatsApp), le SMS reste pertinent.
Intégration technique dans un flux d'authentification
Voici le flux technique pour intégrer un OTP WhatsApp dans une plateforme existante :
1. Génération du code Votre backend génère un code OTP (6 chiffres, usage unique, TTL configurable). Stockez-le en base avec le numéro de téléphone associé et l'horodatage d'expiration.
2. Appel API WhatsApp
{
"messaging_product": "whatsapp",
"to": "+33612345678",
"type": "template",
"template": {
"name": "otp_verification",
"language": { "code": "fr" },
"components": [
{
"type": "body",
"parameters": [
{ "type": "text", "text": "847291" }
]
},
{
"type": "button",
"sub_type": "otp",
"index": 0,
"parameters": [
{ "type": "text", "text": "847291" }
]
}
]
}
}
3. Vérification côté utilisateur L'utilisateur entre le code ou utilise le bouton "Copier le code". Votre backend vérifie que le code correspond, qu'il n'a pas expiré et qu'il n'a pas déjà été utilisé (usage unique).
4. Gestion des erreurs
- Code expiré : proposer un renvoi, avec limite de tentatives (3 max recommandé)
- Message non livré (événement
failedsur le webhook) : fallback automatique vers SMS - Numéro WhatsApp invalide : détecter en amont via l'API de vérification du numéro
Bonnes pratiques pour les OTP WhatsApp en production
Implémenter un fallback SMS
WhatsApp OTP ne remplace pas le SMS OTP : il le complète. Si le message WhatsApp n'est pas livré (failed) ou si l'utilisateur n'a pas WhatsApp, le fallback SMS doit se déclencher automatiquement dans les 30-60 secondes. Ce double canal garantit le taux de conversion du flux d'authentification.
Ne pas exposer le code dans le log de l'appel API
Les codes OTP transitent dans les paramètres de l'appel API. Assurez-vous que vos logs serveur masquent ces valeurs (obfuscation du champ text dans les composants du template).
Configurer l'expiration dans le template
Meta permet de déclarer l'expiration du code directement dans le template (champ code_expiration_minutes). Cela affiche automatiquement un compte à rebours dans l'interface WhatsApp de l'utilisateur — réduit les erreurs de saisie après expiration.
Vérifier le numéro avant d'envoyer L'API WhatsApp Business permet de vérifier si un numéro est bien enregistré sur WhatsApp via l'endpoint de contacts. Cette vérification en amont évite les appels d'envoi en échec et améliore la précision de votre routing SMS/WhatsApp.
Pour l'infrastructure sous-jacente, Whakup fournit une API WhatsApp Business avec support des templates authentication, hébergement EU et SLA de livraison. En tant que Meta Tech Provider certifié, Whakup gère les relations avec Meta sans que vous ayez à passer de certification. Pour les tarifs détaillés, voir notre article sur les prix de l'API WhatsApp Business 2026.
FAQ
Peut-on créer son propre template OTP ou faut-il utiliser celui de Meta ?
La catégorie authentication utilise un template standardisé fourni par Meta. Vous ne rédigez pas le corps du message : seul le code OTP et le nom de l'application sont paramétrables. Ce choix de Meta garantit un format uniforme et reconnaissable pour les utilisateurs, ce qui réduit le phishing.
L'OTP WhatsApp fonctionne-t-il si l'utilisateur n'a pas WhatsApp installé ?
Non. WhatsApp doit être installé et le numéro de téléphone doit être actif sur l'application. C'est pourquoi le fallback SMS est indispensable dans tout flux d'authentification qui cible des audiences larges et hétérogènes.
Comment gérer la limite de tentatives d'OTP pour éviter le brute force ?
Côté applicatif : limitez le nombre de codes envoyés sur un numéro donné dans une fenêtre de temps (3 tentatives par heure recommandé), et invalidez le code après un nombre défini de saisies incorrectes (3-5 tentatives). Ces logiques sont indépendantes de l'API WhatsApp et à implémenter dans votre backend.
Le bouton "Copier le code" WhatsApp fonctionne-t-il sur toutes les versions de l'application ?
Le bouton est disponible sur les versions récentes de WhatsApp iOS et Android. Sur des versions très anciennes ou sur WhatsApp Web, il peut ne pas apparaître, mais le code reste visible et peut être saisi manuellement. Meta fait évoluer régulièrement le comportement de ce bouton — vérifiez les notes de version de l'API Graph pour les mises à jour.

Head of Growth chez Whakup, Stéphane pilote la stratégie d'acquisition et les partenariats en Afrique francophone. Expert en marketing digital et expansion marché.
Prêt à passer à l'action ?
Essayez Whakup gratuitement pendant 15 jours. Aucune carte bancaire requise.
Démarrer l'essai gratuitArticles similaires
WhatsApp pour les plateformes emailing : gérer l'abandon de panier via l'API
Abandon de panier WhatsApp via l'API pour plateformes emailing : déclenchement, templates, timing et intégration avec les séquences email de relance existantes.
WhatsApp pour les plateformes emailing : gérer les campagnes marketing via l'API
Campagne marketing WhatsApp via l'API pour plateformes emailing : segmentation, templates marketing, règles Meta et orchestration multicanal avec l'email.
WhatsApp pour les plateformes emailing : gérer la confirmation de commande via l'API
Envoyez vos confirmations de commande WhatsApp depuis votre plateforme emailing via l'API Business. Plus de taux d'ouverture, moins d'appels support, livraison garantie.