
Les templates WhatsApp Authentication représentent une opportunité majeure pour les entreprises qui souhaitent remplacer ou compléter l'OTP par SMS. Avec des taux de livraison supérieurs et une expérience utilisateur plus fluide, WhatsApp devient un canal de premier choix pour la vérification d'identité, particulièrement sur les marchés africains où la connexion WhatsApp est souvent plus fiable que le réseau SMS.
Pourquoi Utiliser WhatsApp pour l'Authentication ?
L'OTP (One-Time Password) par SMS souffre de plusieurs problèmes bien connus : taux de livraison variable selon les opérateurs, latence parfois importante, coût élevé dans certaines zones géographiques, et susceptibilité au SIM swap. En Afrique de l'Ouest et Centrale, ces problèmes sont amplifiés par les réseaux parfois instables.
WhatsApp Authentication offre plusieurs avantages par rapport aux SMS OTP :
Taux de livraison : WhatsApp délivre les messages via une connexion data (WiFi ou data mobile), indépendamment du réseau GSM. Dans les zones de faible couverture SMS mais bonne couverture data, WhatsApp est plus fiable.
Expérience utilisateur : Sur Android, WhatsApp peut remplir automatiquement le champ OTP grâce à la fonctionnalité "Copier automatiquement le code". L'utilisateur reçoit le message, le code est automatiquement copié, il colle dans votre app — une expérience en 2 secondes.
Sécurité : Le chiffrement de bout en bout WhatsApp protège le code OTP en transit, contrairement aux SMS qui transitent en clair.
Coût : Le tarif Meta pour les templates Authentication est généralement inférieur au coût des SMS OTP sur les mêmes marchés.
Structure Spécifique des Templates Authentication
Meta propose depuis 2023 un format de template Authentication dédié, avec des fonctionnalités spéciales par rapport aux templates classiques :
Format standard (texte) :
curl -X POST \
"https://graph.facebook.com/v19.0/YOUR_WABA_ID/message_templates" \
-H "Authorization: Bearer YOUR_TOKEN" \
-H "Content-Type: application/json" \
-d '{
"name": "otp_connexion_app",
"category": "AUTHENTICATION",
"language": "fr",
"components": [
{
"type": "BODY",
"add_security_recommendation": true
},
{
"type": "FOOTER",
"code_expiration_minutes": 10
},
{
"type": "BUTTONS",
"buttons": [
{
"type": "OTP",
"otp_type": "COPY_CODE",
"text": "Copier le code"
}
]
}
]
}'
Paramètres spéciaux des templates Authentication :
add_security_recommendation: true: ajoute automatiquement la phrase "Pour votre sécurité, ne partagez jamais ce code."code_expiration_minutes: durée de validité du code affichée dans le footer (1 à 90 minutes)otp_type: "COPY_CODE": ajoute un bouton "Copier le code" qui copie automatiquement le code dans le presse-papierotp_type: "ONE_TAP": sur Android, rempli automatiquement le code dans l'application (nécessite une configuration supplémentaire)
Envoi d'un OTP WhatsApp Authentication
Une fois le template approuvé, voici comment envoyer le code OTP avec votre valeur dynamique :
# Envoi d'un message OTP Authentication
curl -X POST \
"https://graph.facebook.com/v19.0/YOUR_PHONE_NUMBER_ID/messages" \
-H "Authorization: Bearer YOUR_ACCESS_TOKEN" \
-H "Content-Type: application/json" \
-d '{
"messaging_product": "whatsapp",
"to": "+221XXXXXXXXX",
"type": "template",
"template": {
"name": "otp_connexion_app",
"language": {"code": "fr"},
"components": [
{
"type": "body",
"parameters": [
{
"type": "text",
"text": "847291"
}
]
},
{
"type": "button",
"sub_type": "url",
"index": "0",
"parameters": [
{
"type": "text",
"text": "847291"
}
]
}
]
}
}'
Génération du code OTP côté backend (Node.js) :
const crypto = require('crypto');
function generateOTP(length = 6) {
// Génération sécurisée via crypto (pas Math.random)
const buffer = crypto.randomBytes(4);
const num = buffer.readUInt32BE(0);
return String(num % Math.pow(10, length)).padStart(length, '0');
}
async function sendWhatsAppOTP(phoneNumber) {
const otp = generateOTP(6);
const expiresAt = new Date(Date.now() + 10 * 60 * 1000); // 10 minutes
// Stocker l'OTP en base (hashé pour la sécurité)
const hashedOTP = crypto
.createHash('sha256')
.update(otp + process.env.OTP_SECRET)
.digest('hex');
await db.otps.create({
phone: phoneNumber,
hash: hashedOTP,
expiresAt: expiresAt
});
// Envoyer via WhatsApp API
await sendTemplateMessage(phoneNumber, 'otp_connexion_app', [otp]);
return { success: true, expiresAt };
}
async function verifyOTP(phoneNumber, userOTP) {
const stored = await db.otps.findOne({
phone: phoneNumber,
expiresAt: { $gt: new Date() }
});
if (!stored) return { valid: false, reason: 'expired' };
const hashedInput = crypto
.createHash('sha256')
.update(userOTP + process.env.OTP_SECRET)
.digest('hex');
if (hashedInput !== stored.hash) return { valid: false, reason: 'invalid' };
// Invalider l'OTP après utilisation (usage unique)
await db.otps.deleteOne({ _id: stored._id });
return { valid: true };
}
Cas d'Usage Authentication sur les Marchés Africains
Applications fintech et mobile money : Confirmation de transactions importantes, connexion à l'application, virement au-delà d'un seuil.
Plateformes e-commerce : Vérification du numéro lors de l'inscription, confirmation de commande pour les nouveaux clients, validation d'une adresse de livraison.
Télémédecine et santé numérique : Connexion sécurisée au dossier médical, validation de l'identité avant une consultation vidéo.
Plateformes éducatives : Validation de l'inscription d'un étudiant, accès aux examens en ligne, vérification de présence.
Services gouvernementaux digitaux : Authentification pour les portails de services publics qui commencent à émerger en Afrique francophone.
Pour le contexte de la sécurité WhatsApp, consultez notre article sur la Two-Step Verification WhatsApp API et le guide des templates de messages WhatsApp. Pour la configuration générale, lisez le guide WhatsApp Business API.
Limites et Précautions
WhatsApp Authentication ne remplace pas tout : Pour les transactions financières critiques et les accès aux données très sensibles, WhatsApp OTP doit être combiné avec d'autres facteurs d'authentification (mot de passe, biométrie). Il ne doit pas être le seul facteur d'un système d'authentification forte (2FA).
Limites des templates Authentication :
- Pas de header image (texte uniquement)
- Le corps du message est généré automatiquement par Meta — vous ne pouvez pas personnaliser le texte principal
- Pas d'URL ou bouton custom autres que les boutons OTP prévus
Conformité réglementaire : Dans les pays avec des réglementations strictes sur les données de santé ou financières (qui s'intensifient en Afrique), vérifiez avec votre conseil juridique si l'OTP WhatsApp est conforme aux exigences d'authentification de votre secteur.
FAQ — Templates WhatsApp Authentication
Le code OTP dans un template Authentication doit-il être numérique uniquement ? Meta recommande des codes numériques de 6 à 8 chiffres pour les templates Authentication. Les codes alphanumériques sont techniquement possibles mais moins standard et moins compatibles avec la fonctionnalité de copie automatique sur Android.
Peut-on utiliser un template standard (non-Authentication) pour envoyer un OTP ? Techniquement oui, en utilisant un template Utility avec un code en variable. Mais Meta recommande et préfère la catégorie Authentication pour ce cas d'usage. De plus, seuls les templates Authentication bénéficient des fonctionnalités spéciales (copie automatique, mention sécurité automatique).
Les templates Authentication sont-ils soumis à approbation Meta comme les autres ? Oui, mais leur approbation est généralement plus rapide car le contenu est standardisé. Un template Authentication correctement structuré est approuvé en quelques heures en général.
Quel est le délai recommandé pour l'expiration d'un OTP WhatsApp ?
Pour les cas d'usage courants (connexion, transaction), 5 à 10 minutes est la recommandation standard. Pour les accès à des données très sensibles, 3 à 5 minutes est préférable. Indiquez toujours le délai d'expiration dans le footer du template (code_expiration_minutes).
Vous souhaitez remplacer vos SMS OTP par des codes de vérification WhatsApp ? Créez votre compte Whakup et intégrez notre API d'Authentication WhatsApp en quelques lignes de code pour une vérification d'identité plus fiable et plus économique.

Co-fondateur et Chief Product Officer de Whakup, Pablo conçoit les fonctionnalités qui permettent aux marques africaines de maximiser leur impact sur WhatsApp.
Prêt à passer à l'action ?
Essayez Whakup gratuitement pendant 15 jours. Aucune carte bancaire requise.
Démarrer l'essai gratuitArticles similaires
API Cloud Meta vs API On-Premise WhatsApp : Quel Choix pour votre Entreprise ?
Comparaison complète entre l'API Cloud Meta et l'ancienne API On-Premise WhatsApp Business. Différences techniques, migration, et recommandations selon votre profil d'entreprise.
Checklist Déploiement WhatsApp API : 30 Points de Contrôle avant de Lancer
La checklist complète des 30 points à vérifier avant de lancer votre API WhatsApp Business en production. De la configuration technique aux templates en passant par la conformité et le monitoring.
Créer un Template HSM WhatsApp Approuvé par Meta : Guide Étape par Étape
Guide complet pour créer des templates HSM WhatsApp qui passent la modération Meta du premier coup. Structure, règles de contenu, exemples concrets et conseils d'optimisation.