Aller au contenu principal

WhatsApp pour l'authentification OTP via l'API : FAQ pour les éditeurs

FAQ OTP WhatsApp API : opt-in, templates Authentication, sécurité, coûts, conformité DSP2 et RGPD — toutes les réponses pour les éditeurs et développeurs.

L'authentification OTP via WhatsApp soulève des questions précises chez les équipes techniques qui l'intègrent pour la première fois : exigences Meta, conformité légale, architecture de sécurité, coûts. Cette FAQ compile les questions les plus fréquentes posées par les développeurs et leads techniques d'éditeurs SaaS, de plateformes e-commerce et d'applications fintech.

Questions sur la conformité et les obligations légales

WhatsApp OTP est-il conforme aux exigences d'authentification forte (DSP2) ?

WhatsApp OTP peut être utilisé comme facteur de possession dans un dispositif d'authentification forte DSP2, à condition d'être combiné à un autre facteur (connaissance ou inhérence). Le message doit également être "lié dynamiquement" à la transaction : incluez le montant et le bénéficiaire dans le corps du message OTP pour les virements. Validez votre implémentation avec un avocat spécialisé en droit des paiements — les autorités nationales (ACPR en France) ont leurs propres interprétations.

Faut-il un consentement explicite pour envoyer un OTP WhatsApp ?

Oui selon le RGPD, le numéro de téléphone est une donnée personnelle. Le traitement (envoi d'un OTP) doit être fondé sur un intérêt légitime (exécution du contrat, sécurité du compte) ou un consentement. Pour la vérification de compte à l'inscription, la base légale "exécution du contrat" couvre généralement l'envoi. Documentez ce fondement dans votre registre de traitement. Côté CGU Meta, l'utilisateur doit avoir fourni son numéro dans le contexte de votre service.

L'hébergement de Whakup est-il conforme au RGPD ?

Oui. Whakup héberge ses infrastructures en Europe (UE), ce qui facilite la conformité au RGPD pour les éditeurs européens. Vous n'avez pas à gérer de transferts de données hors UE côté Whakup. Meta (le réseau WhatsApp lui-même) est soumis aux clauses contractuelles types applicables. Vérifiez que votre DPA (Data Processing Agreement) avec Whakup est signé et que Whakup figure dans votre registre de sous-traitants.

Peut-on envoyer un OTP à des utilisateurs en dehors de l'UE ?

Oui. WhatsApp est disponible dans la quasi-totalité des pays. Les frais Meta varient selon le pays de l'utilisateur (pas de votre entreprise). Un OTP envoyé à un utilisateur en Inde ou au Brésil aura des frais Meta différents de ceux d'un utilisateur français. Consultez les tarifs par région dans notre article sur les prix de l'API WhatsApp Business.

Questions sur les templates et les règles Meta

Quelle est la différence entre un template Authentication et un template Utility pour l'OTP ?

La catégorie Authentication est spécifiquement conçue pour les OTP, codes de vérification et liens de connexion sécurisés. Elle offre :

  • Un bouton "Copy Code" natif (UX optimale).
  • Un affichage "Security Recommendation" automatique.
  • Des frais Meta inférieurs : 0,0248 € (Authentication) vs 0,0712 € (Marketing) pour les numéros français.

La catégorie Utility couvre les messages liés à une transaction en cours (confirmation de commande, statut de livraison). Envoyer un OTP de connexion via un template Utility est possible techniquement mais contre-indiqué : Meta peut reclassifier le template et le rejeter. Lisez notre guide complet sur les catégories de templates WhatsApp.

Quelles sont les règles obligatoires pour qu'un template OTP soit approuvé ?

Meta impose pour la catégorie Authentication :

  • Durée de validité : mentionner explicitement "Ce code expire dans X minutes."
  • Nom de l'application : votre nom de marque ou de service doit figurer dans le message.
  • Pas d'URL : aucun lien externe dans le corps (sauf le bouton OTP natif).
  • Pas d'image : les templates Authentication n'acceptent pas de header visuel.
  • Recommandation de sécurité : "Ne partagez pas ce code" — peut être automatique via l'option Meta ou rédigée manuellement.

Peut-on personnaliser le bouton "Copy Code" ?

Non. Le texte du bouton "Copy Code" est imposé par Meta et localisé automatiquement selon la langue du template. Vous ne pouvez pas changer ce texte. En revanche, vous pouvez ajouter un deuxième bouton de type URL si vous souhaitez proposer un lien "Connexion automatique" (magic link) en complément du code manuel.

Mon template OTP a été approuvé, puis son statut est passé à "Paused". Pourquoi ?

Meta peut mettre en pause un template si son taux de signalement par les utilisateurs dépasse un seuil interne. Pour les OTP, cela arrive quand :

  • Des utilisateurs reçoivent un OTP qu'ils n'ont pas demandé (tentatives de connexion par des tiers).
  • La plateforme envoie des OTP sur des numéros non inscrits (base de données corrompue).

Vérifiez votre taux de signalement dans le Business Manager Meta. Mettez en place un rate limiting strict (3 OTP max par numéro par heure) pour éviter les abus.

Questions sur la sécurité technique

Quelle longueur de code OTP est recommandée pour WhatsApp ?

6 chiffres est le standard pour la plupart des usages. Pour les applications traitant des données financières ou de santé, utilisez 8 chiffres. La longueur augmente l'entropie et réduit le risque de brute force, mais au-delà de 8 chiffres l'UX se dégrade significativement.

Comment empêcher les attaques par brute force sur la vérification du code ?

Implémentez ces trois mesures :

  1. Rate limiting côté envoi : maximum 3 OTP par numéro par heure.
  2. Verrouillage après échecs : bloquer la vérification après 5 tentatives incorrectes. Exiger une nouvelle demande d'OTP.
  3. Comparaison en temps constant : utilisez crypto.timingSafeEqual (Node.js) ou équivalent pour comparer les hashes. Les comparaisons naïves (==) sont vulnérables aux timing attacks.

Doit-on stocker le code OTP en clair dans la base de données ?

Non, jamais. Stockez uniquement le hash du code (SHA-256 avec salt ou bcrypt). En cas de compromission de votre base de données, les codes ne sont pas exploitables. Puisque les OTP sont courts (6 chiffres) et ont un TTL court, SHA-256 avec un salt aléatoire est suffisant — pas besoin de bcrypt dont le coût de calcul est optimisé pour les mots de passe.

Comment gérer la synchronisation entre le code envoyé et le code vérifié en architecture distribuée ?

Si votre backend est multi-instances (plusieurs serveurs derrière un load balancer), le stockage des OTP doit être centralisé — typiquement Redis avec TTL. Ne stockez pas les OTP en mémoire locale d'une instance : la requête de vérification pourrait arriver sur une instance différente de celle qui a généré le code.

Questions sur les coûts et la facturation

Quel est le coût exact d'un OTP WhatsApp pour un utilisateur français ?

Pour un numéro français (code pays +33) :

  • Frais Meta (catégorie Authentication) : 0,0248 €
  • Frais Whakup : 0,0088 €
  • Total : ~0,0336 € par OTP

C'est significativement moins cher qu'un SMS OTP premium (0,05 à 0,12 €) et comparable aux SMS low-cost, avec une meilleure delivrabilité et une UX supérieure.

Les OTP non aboutis (utilisateur sans WhatsApp) sont-ils facturés ?

Un message avec le statut failed (numéro non enregistré sur WhatsApp) n'est pas facturé par Meta. En revanche, un message livré (delivered) mais dont le code n'a pas été utilisé est facturé normalement. C'est pourquoi il est important de mettre en place un fallback SMS sur statut failed plutôt que d'attendre le timeout utilisateur.

Comment intégrer les coûts OTP dans la tarification SaaS ?

Deux approches courantes chez les éditeurs :

  • Inclus dans l'abonnement : vous absorbez les coûts OTP dans votre coût de service. Viable si le volume est prévisible et limité (ex. : 2FA sur connexion).
  • Facturation à l'usage : vous exposez un compteur de vérifications dans votre dashboard client et facturez au-delà d'un seuil inclus. Whakup fournit une API de reporting par WABA pour alimenter cette facturation.

FAQ récapitulative

Faut-il une certification Meta spécifique pour envoyer des OTP WhatsApp ?

Non. En passant par Whakup, vous bénéficiez directement du statut Meta Tech Provider certifié. Vos clients n'ont pas à obtenir de certification Meta indépendante. L'embedded signup Whakup leur permet de connecter leur WABA en quelques minutes. Pour comprendre la structure complète, lisez notre article sur ce que signifie être Meta Tech Provider WhatsApp.

Un OTP est un code numérique à saisir manuellement. Un magic link est une URL cliquable qui authentifie directement l'utilisateur. Les deux peuvent être envoyés via WhatsApp. Le magic link offre une meilleure UX (un clic vs saisie de code) mais est plus complexe à sécuriser (protection contre le replay, durée d'expiration stricte, one-time use côté serveur). Pour les applications mobiles où WhatsApp et votre app sont sur le même appareil, le magic link est préférable.

Peut-on combiner OTP et chatbot WhatsApp dans le même numéro ?

Oui. Un même numéro WhatsApp Business peut envoyer des OTP (via templates) et gérer des conversations de service client (via l'API de messagerie en session). La distinction technique est que les templates sont utilisés hors session (premier contact ou après 24 h sans réponse), et les messages libres sont utilisés dans la fenêtre de 24 h après une réponse de l'utilisateur. Les deux coexistent sans conflit sur le même numéro.


Ces réponses couvrent les questions les plus fréquentes lors d'une intégration OTP WhatsApp. Si votre cas d'usage nécessite une analyse spécifique — conformité réglementaire sectorielle, architecture haute disponibilité, volumes importants — l'équipe Whakup peut réaliser un audit de votre implémentation. Accédez à la documentation et aux clés API via l'espace éditeur Whakup.

#intégration whatsapp#otp whatsapp#FAQ
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