Aller au contenu principal

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

Guide complet OTP WhatsApp via l'API Business : architecture, templates d'authentification, sécurité, coûts et intégration pour les éditeurs SaaS et plateformes.

L'authentification OTP (One-Time Password) via WhatsApp permet d'envoyer un code de vérification à usage unique directement dans la messagerie de l'utilisateur, avec un taux de livraison supérieur au SMS dans la plupart des marchés européens. Pour les éditeurs SaaS, plateformes e-commerce et solutions CRM, c'est un canal d'authentification à la fois plus fiable et moins coûteux que le SMS premium — à condition de l'implémenter correctement via l'API WhatsApp Business.

Pourquoi choisir WhatsApp pour l'OTP plutôt que le SMS

Le SMS OTP reste le standard, mais il souffre de plusieurs limites techniques et commerciales :

  • Attaques SIM-swapping : les codes SMS peuvent être interceptés via des fraudes opérateur.
  • Coût élevé : un SMS OTP en France coûte entre 0,05 et 0,12 € selon l'opérateur et le volume.
  • Delivrabilité variable : certains opérateurs filtrent les SMS courts répétitifs de masse.

WhatsApp OTP offre des avantages concrets :

Critère SMS OTP WhatsApp OTP
Taux de livraison FR 85-95 % 95-99 % (utilisateurs WA actifs)
Coût unitaire FR 0,05-0,12 € ~0,0336 € (catégorie Authentication)
Sécurité Vulnérable SIM-swap Chiffrement end-to-end
UX Application SMS Application déjà ouverte
Délai de réception 5-30 secondes < 5 secondes

La catégorie Authentication de Meta est justement conçue pour ce cas d'usage : elle est facturée moins cher que les messages Marketing (0,0248 € vs 0,0712 € de frais Meta pour les numéros français) et bénéficie d'une approbation plus rapide.

Architecture technique d'un flux OTP WhatsApp

Composants du système

Un flux OTP WhatsApp se compose de :

  1. Votre backend : génère le code OTP, stocke le hash avec TTL (5-10 minutes recommandés), déclenche l'envoi via l'API Whakup.
  2. L'API Whakup : route le message vers Meta Cloud API, retourne un message_id.
  3. Meta Cloud API : livre le message sur WhatsApp de l'utilisateur.
  4. Webhook de statut : Whakup notifie votre backend quand le message est delivered ou failed.
  5. Votre frontend : affiche le champ de saisie OTP, gère le timeout et le bouton "Renvoyer".

Appel API pour un OTP

Meta propose un type de template spécial pour l'authentification avec un bouton OTP natif :

POST https://api.whakup.com/v1/messages

{
  "to": "+33612345678",
  "template": {
    "name": "auth_otp_fr",
    "language": "fr",
    "components": [
      {
        "type": "body",
        "parameters": [
          { "type": "text", "text": "847291" }
        ]
      },
      {
        "type": "button",
        "sub_type": "url",
        "index": 0,
        "parameters": [
          { "type": "text", "text": "847291" }
        ]
      }
    ]
  }
}

Le bouton OTP natif de WhatsApp copie automatiquement le code dans le presse-papier de l'utilisateur — une UX bien supérieure à la saisie manuelle.

Gestion des timeouts et des échecs

Flux nominal :
POST /messages → message_id
Webhook "delivered" → démarrer timer expiration (10 min)
Utilisateur saisit le code → vérification backend

Flux de secours :
Webhook "failed" après 30 s → basculer sur SMS
Ou : utilisateur clique "Renvoyer" après 60 s → nouveau code, invalider l'ancien

Ne générez jamais deux codes valides simultanément pour le même utilisateur. Invalidez systématiquement le code précédent avant d'en envoyer un nouveau.

Création et validation du template d'authentification

Spécificités de la catégorie Authentication

Les templates d'authentification ont des règles strictes chez Meta :

  • Le corps du message doit mentionner explicitement la durée de validité ("Ce code expire dans X minutes").
  • Le nom de votre application ou marque doit figurer dans le message.
  • Aucun lien externe autre que le bouton OTP natif n'est autorisé.
  • Aucune image ou vidéo en header.

Exemple de corps approuvé :

{{1}} est votre code de vérification [NomApplication]. Ce code expire dans 10 minutes. Ne le partagez avec personne.

Processus de soumission

  1. Créez le template dans le Business Manager Meta ou via l'API Whakup.
  2. Sélectionnez la catégorie Authentication.
  3. Activez l'option "Add Security Recommendation" (recommandé par Meta).
  4. Soumettez — validation généralement en moins de 24 heures pour cette catégorie.

Pour comprendre les différences entre les catégories et leur impact sur la facturation, consultez notre guide sur les catégories de templates WhatsApp.

Sécurité et bonnes pratiques

Côté génération du code

  • Longueur : 6 chiffres minimum. 8 chiffres pour les applications sensibles (finance, santé).
  • Entropie : utilisez un CSPRNG (Cryptographically Secure Pseudo-Random Number Generator), pas Math.random().
  • Stockage : ne stockez jamais le code en clair. Stockez son hash (bcrypt ou SHA-256 avec salt).
  • TTL : 10 minutes maximum. Réduisez à 5 minutes pour les contextes critiques.

Côté livraison

  • Rate limiting : limitez à 3 tentatives d'envoi OTP par numéro et par heure pour bloquer les attaques par force brute sur votre endpoint d'envoi.
  • Vérification du numéro : avant d'envoyer, validez que le numéro est au format E.164. Whakup retourne une erreur explicite pour les numéros invalides.
  • Surveillance : alertez si le taux d'échec de livraison dépasse 5 % sur une fenêtre de 1 heure.

Conformité RGPD

L'envoi d'un OTP est un traitement de données à caractère personnel (numéro de téléphone). Whakup héberge ses infrastructures en Europe, ce qui facilite la conformité. Documentez cette chaîne de sous-traitance dans votre registre de traitement.

Intégration dans une plateforme multi-tenant

Pour un éditeur SaaS qui fournit l'OTP WhatsApp à plusieurs clients, l'architecture multi-tenant de Whakup est un avantage clé :

  • Chaque client (tenant) peut avoir son propre numéro WhatsApp Business via l'embedded signup.
  • Les templates sont gérés par WABA : chaque client soumet ses propres templates avec sa propre identité de marque.
  • Les limites de messagerie sont indépendantes : un pic d'authentification chez un client n'affecte pas les autres.
  • La facturation est isolée par WABA et requêtable via l'API de reporting.

Whakup est un Meta Tech Provider certifié, ce qui signifie que vos clients n'ont pas à passer eux-mêmes la certification Meta. Cela réduit le délai de mise en production de plusieurs semaines à quelques jours.

Pour comprendre la structure complète d'une intégration API côté éditeur, consultez notre guide complet de l'API WhatsApp Business.

FAQ

WhatsApp OTP fonctionne-t-il si l'utilisateur n'a pas WhatsApp installé ?

Non. Si l'utilisateur n'a pas de compte WhatsApp actif sur son numéro, le message ne sera pas livré (statut failed). C'est pourquoi tout système OTP via WhatsApp doit implémenter un fallback SMS automatique en cas d'échec de livraison dans un délai configuré (généralement 30 à 60 secondes).

Peut-on utiliser l'OTP WhatsApp pour la double authentification (2FA) ?

Oui, c'est précisément l'usage pour lequel Meta a créé la catégorie Authentication. WhatsApp OTP est adapté à la connexion, à la réinitialisation de mot de passe et à la validation de transactions sensibles. Il ne remplace pas une application TOTP (type Google Authenticator) pour les contextes de très haute sécurité, mais convient parfaitement à la 2FA standard.

Quel est le délai de livraison moyen d'un OTP WhatsApp ?

Sur un réseau mobile actif en Europe, le délai de livraison est généralement inférieur à 5 secondes. Ce délai peut monter à 15-30 secondes en cas de congestion réseau. C'est comparable au SMS et très inférieur à l'email. Configurez votre UI pour afficher un timer de 60 secondes avant d'activer le bouton "Renvoyer le code".

Faut-il un template différent par langue pour l'OTP ?

Oui. Chaque combinaison template + langue est un template distinct chez Meta. Si vos utilisateurs sont en français et en anglais, soumettez deux templates : auth_otp_fr (langue : fr) et auth_otp_en (langue : en). Sélectionnez la bonne langue en fonction de la locale de l'utilisateur lors de l'appel API.


L'OTP WhatsApp est l'un des cas d'usage les plus rentables à intégrer pour un éditeur SaaS : il améliore l'UX, réduit le coût d'authentification et simplifie la conformité sécurité. Démarrez votre intégration avec l'API Whakup et bénéficiez de l'infrastructure certifiée Meta Tech Provider, sans délai de certification ni complexité d'hébergement.

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