Aller au contenu principal
Technique WhatsApp API• 10 min de lecture

Vérification OTP par WhatsApp : templates d'authentification, coûts, mise en place

Envoyer un code OTP par WhatsApp : règles des templates d'authentification Meta, bouton copier le code, coût au message et deux architectures possibles.

Pour vérifier un utilisateur par WhatsApp, on lui envoie un code à usage unique (OTP) au moyen d'un template de catégorie authentification, approuvé par Meta, dont le texte est imposé et qui peut porter un bouton « copier le code ». Meta facture chaque template d'authentification délivré, à un tarif qui dépend du pays du destinataire et qui est généralement inférieur à celui d'un message marketing. La génération et la vérification du code restent à la charge de votre application : WhatsApp n'est que le canal de transport.

Cet article explique les règles propres aux templates d'authentification, ce que coûte un OTP WhatsApp, et deux manières de le mettre en place, dont celle de Whakup, avec ses limites.

Qu'est-ce qu'un OTP WhatsApp ?

Un OTP (One-Time Password, ou code à usage unique) est un code court, généralement de 4 à 8 chiffres, valable quelques minutes, qui prouve qu'une personne a bien accès à un numéro de téléphone. Il sert à :

  • confirmer un numéro lors d'une inscription ;
  • sécuriser une connexion (double authentification) ;
  • valider une opération sensible (changement de mot de passe, paiement, modification d'adresse).

Le SMS est le canal historique. WhatsApp est une alternative intéressante là où l'application est très utilisée, ce qui est le cas en Afrique francophone comme dans une grande partie de l'Europe, et là où les SMS internationaux sont chers ou mal délivrés.

Les règles des templates d'authentification

Meta encadre strictement cette catégorie, pour éviter qu'elle serve à envoyer des messages promotionnels à tarif réduit.

Un texte imposé par Meta

Vous ne rédigez pas librement le message. Le corps suit un modèle fixe, traduit par Meta dans chaque langue, du type « 123456 est votre code de vérification. » Vous pouvez y ajouter deux mentions optionnelles :

  • un avertissement de sécurité (« Pour votre sécurité, ne communiquez pas ce code. ») ;
  • une durée d'expiration (« Ce code expire dans 10 minutes. »).

Pas de lien, de média ni d'emoji

Un template d'authentification ne peut contenir ni URL dans le texte, ni image, ni vidéo, ni emoji. Toute tentative de détourner le format entraîne un refus ou un reclassement.

Des boutons spécifiques

Meta propose plusieurs types de boutons pour cette catégorie. Le plus répandu est le bouton copier le code : l'utilisateur appuie dessus, le code est copié, il le colle dans votre application ou votre site. Meta propose aussi, sur Android et sous conditions techniques, des boutons de remplissage automatique (en un geste ou sans action de l'utilisateur), qui demandent une intégration côté application mobile.

Une catégorie surveillée

Si Meta estime qu'un template classé authentification n'en est pas un, il peut le refuser ou le reclasser. Un message qui mélange un code et une offre commerciale relève du marketing.

Combien coûte un OTP par WhatsApp ?

Depuis le 1er juillet 2025, Meta facture les templates au message délivré. Pour l'authentification :

  • le tarif dépend du pays du destinataire ;
  • dans certains pays, Meta applique un tarif « authentification internationale » plus élevé lorsque l'entreprise qui envoie est enregistrée hors du pays ;
  • un code non délivré (numéro sans WhatsApp, par exemple) n'est pas facturé par Meta.

À titre indicatif, l'API Whakup affiche 0,0248 € de frais Meta pour un message authentification, auquel s'ajoutent 0,0088 € de frais Whakup, soit 0,0336 € par message. Ce sont des valeurs indicatives : vérifiez le tarif Meta applicable à vos pays dans notre article sur les tarifs Meta WhatsApp par pays.

Le calcul utile n'est pas seulement le prix unitaire, mais le coût par vérification réussie. Un OTP qui n'arrive pas oblige l'utilisateur à redemander un code, parfois par un autre canal. Mesurez le taux de codes saisis par rapport aux codes envoyés, et prévoyez un repli (SMS, e-mail) pour les numéros sans WhatsApp.

WhatsApp ou SMS pour l'OTP ?

Critère OTP par WhatsApp OTP par SMS
Prérequis côté utilisateur Compte WhatsApp actif sur le numéro Aucun, tout téléphone mobile
Contenu Texte imposé par Meta, bouton copier le code Texte libre, soumis aux règles des opérateurs
Accusé de lecture Oui (statuts délivré et lu) Accusé de réception selon l'opérateur
Tarification Par message délivré, selon le pays (grille Meta) Par SMS envoyé, selon le pays et l'opérateur
Fonctionne sans réseau mobile Oui, en Wi-Fi Non
Mise en place Template à faire approuver par Meta Expéditeur à déclarer selon les pays

La pratique la plus robuste combine les deux : WhatsApp en premier, SMS en repli si le numéro n'a pas WhatsApp ou si le code n'est pas délivré au bout d'un délai défini.

Architecture 1 : une API de vérification dédiée

Le modèle le plus simple pour un développeur est une API de vérification « tout-en-un » : un appel pour envoyer le code (le fournisseur génère le code et choisit le canal), un appel pour vérifier le code saisi. Plusieurs acteurs spécialisés dans la communication programmable proposent ce type de service, avec repli automatique entre canaux.

Cette approche convient si :

  • l'OTP est un flux critique de votre produit (connexion, paiement) ;
  • vous avez besoin d'une latence minimale et d'un envoi déclenché par un seul appel ;
  • vous voulez déléguer la génération, l'expiration et le contrôle des tentatives.

Whakup ne propose pas ce type d'API. Si c'est votre besoin principal, un fournisseur spécialisé dans la vérification sera plus adapté. Nous préférons le dire clairement.

Architecture 2 : template d'authentification envoyé par une automatisation (Whakup)

Avec Whakup, les templates d'authentification se créent et s'envoient depuis la plateforme. L'API publique envoie des messages texte uniquement (POST /v1/messages) ; elle n'envoie pas de template en un appel. L'envoi d'un OTP passe donc par une automatisation déclenchée par l'API.

Étape 1 : créer le template

Dans Templates, choisissez le type Authentification, la catégorie Authentification, ajoutez le bouton « copier le code », puis soumettez le template à Meta. Le statut passe de brouillon à en revue, puis approuvé ou refusé. Les erreurs Meta sont traduites en clair.

Étape 2 : préparer un groupe et un champ

Créez un groupe dédié (par exemple « OTP ») et un champ personnalisé pour le code (par exemple code_verification). Le champ servira de variable au template.

Étape 3 : créer l'automatisation

Dans l'éditeur d'automatisations :

  1. déclencheur : ajout au groupe « OTP » ;
  2. étape : envoyer le template d'authentification, avec la variable reliée au champ code_verification ;
  3. étape : retirer du groupe « OTP », pour que le contact puisse être ajouté de nouveau lors de la prochaine demande ;
  4. fin.

Étape 4 : déclencher depuis votre application

Votre serveur génère le code, le stocke de son côté avec une expiration, puis crée ou met à jour le contact par l'API en renseignant le champ et le groupe :

curl -X POST https://api.whakup.com/v1/contacts \
  -H "Authorization: Bearer wk_votre_cle" \
  -H "Content-Type: application/json" \
  -d '{
    "phone": "+2250700000000",
    "customFields": { "code_verification": "482913" },
    "groups": ["OTP"]
  }'

L'ajout au groupe déclenche l'automatisation, qui envoie le template. La vérification du code saisi par l'utilisateur se fait dans votre application, en comparant avec la valeur que vous avez stockée.

Les limites de cette architecture

  • Latence : l'envoi passe par une automatisation, ce qui ajoute un délai par rapport à un appel d'envoi direct. Pour une connexion où l'utilisateur attend devant l'écran, testez le délai réel avant de mettre en production.
  • Le code transite par la fiche contact : il est stocké dans un champ personnalisé. Utilisez des codes courts à durée de vie très brève, et ne réutilisez jamais ce champ pour autre chose.
  • Un contact déjà dans le groupe n'est pas ajouté de nouveau : d'où l'étape de retrait. Si deux demandes arrivent en même temps, la seconde peut ne pas déclencher d'envoi.
  • Offre requise : l'API nécessite l'offre Business (450 € HT par mois) ; les automatisations sont incluses à partir d'Essentiel.

Cette architecture convient bien aux vérifications ponctuelles et peu sensibles à la latence : confirmation d'un numéro à l'inscription à un programme de fidélité, validation d'un rendez-vous, vérification d'un client avant un premier envoi. Pour des connexions fréquentes à fort volume, privilégiez l'architecture 1.

Envoyer un code depuis une campagne

Il est aussi possible d'envoyer un template d'authentification par une campagne, en reliant la variable au champ du contact. C'est utile pour des cas groupés (par exemple remettre un code d'accès à un événement à une liste d'inscrits), pas pour une vérification à la demande.

Bonnes pratiques de sécurité pour un OTP

  1. Générez le code côté serveur avec un générateur aléatoire cryptographique.
  2. Limitez sa durée de vie (5 à 10 minutes) et indiquez-la dans le template.
  3. Limitez les tentatives de saisie (par exemple 5) et les renvois par numéro et par heure, pour éviter les abus qui vous coûtent des messages.
  4. Invalidez le code dès qu'il est utilisé.
  5. Ne journalisez pas les codes en clair dans vos outils de supervision.
  6. Prévoyez un repli pour les numéros sans WhatsApp.

Pour aller plus loin sur la rédaction des templates de cette catégorie, voir notre guide templates WhatsApp d'authentification pour la connexion.

FAQ

Peut-on envoyer un code OTP WhatsApp avec un message texte libre ?

Non, pas de manière fiable. Hors de la fenêtre de service de 24 heures ouverte par le client, Meta n'autorise que les templates approuvés. Un OTP doit donc utiliser un template de catégorie authentification.

Combien coûte un OTP envoyé par WhatsApp ?

Le tarif est fixé par Meta selon le pays du destinataire et facturé au message délivré. À titre indicatif, l'API Whakup affiche 0,0248 € de frais Meta et 0,0088 € de frais Whakup, soit 0,0336 € par message authentification. Vérifiez la grille Meta pour vos pays.

Whakup propose-t-il une API d'OTP en un seul appel ?

Non. Chez Whakup, les templates d'authentification se créent et s'envoient depuis les campagnes ou les automatisations. On peut déclencher l'envoi par l'API en ajoutant le contact à un groupe, mais il n'existe pas d'appel unique « envoyer et vérifier un code ». Pour ce besoin, un fournisseur spécialisé dans la vérification est plus adapté.

Peut-on ajouter un lien ou une promotion dans un template d'authentification ?

Non. Meta interdit les URL, les médias et les emojis dans cette catégorie, et un contenu promotionnel entraîne un refus ou un reclassement en marketing.

Que faire si le destinataire n'a pas WhatsApp ?

Le message échoue et n'est pas facturé par Meta. Prévoyez un repli par SMS ou par e-mail, déclenché dès que le statut d'échec est reçu ou après un délai sans statut « délivré ».

Mettre en place vos templates d'authentification

Vous pouvez créer un template d'authentification avec bouton « copier le code » et le soumettre à Meta depuis votre compte. Créez votre compte Whakup : 15 jours gratuits, sans carte bancaire. Pour une intégration par API, consultez la documentation développeur.

#otp whatsapp#template authentification#vérification whatsapp#code à usage unique#api whatsapp
Arthur Lyonnet
Arthur LyonnetCo-fondateur & CEO

Co-fondateur de Whakup, Arthur accompagne les entreprises africaines dans leur transformation digitale via WhatsApp depuis 2022. Passionné par le growth marketing et l'entrepreneuriat en Afrique francophone.

🚀

Prêt à passer à l'action ?

Essayez Whakup gratuitement pendant 15 jours. Aucune carte bancaire requise.

Démarrer l'essai gratuit