Aller au contenu
OmniChannels.ai

Outil gratuit

Générateur de message OTP pour SMS et WhatsApp

Créez un message de code de vérification qui tient en un seul SMS, se remplit automatiquement sur Android et iPhone et respecte le modèle d'authentification WhatsApp de Meta. Nombre de segments, code d'API prêt à l'emploi et liste de contrôle de sécurité inclus.

Gratuit · sans inscription · dans votre navigateur

Affiché dans le message. Restez court : chaque caractère compte pour tenir en un SMS.

min
Type de code
Code d’exemple 482913
Canal

Standard (code en premier)

482913 est votre code de vérification OmniDemo. Il expire dans 5 minutes. Ne le communiquez à personne.

GSM-7 · 103 caractères · 1 SMS

Court

OmniDemo : votre code est 482913. Valable 5 min. Ne le partagez pas.

GSM-7 · 68 caractères · 1 SMS

Réinitialisation du mot de passe

482913 est votre code de réinitialisation OmniDemo. Il expire dans 5 minutes. Si vous n'avez rien demandé, ignorez ce message.

GSM-7 · 126 caractères · 1 SMS

Sources : doc Google SMS Retriever, spécification WICG des codes liés à l’origine, doc Apple Password AutoFill, modèles d’authentification Meta (vérifié le 10 oct. 2026).

Besoin d’OTP par SMS, WhatsApp et appel vocal avec relais automatique et une seule facture ? Voir OTP et notifications

Rien de ce que vous saisissez n'est envoyé à nos serveurs.

Réponse courte

Un bon SMS OTP place le code en premier, nomme la marque, indique la durée de validité et rappelle de ne jamais le partager, par exemple : « 482913 est votre code Acme. Il expire dans 5 minutes. Ne le partagez avec personne. » Tenez en un segment (160 caractères GSM-7 ou 70 Unicode), sans lien. Pour Android, ajoutez le hachage de 11 caractères de l'application ; pour iOS et le web, terminez par « @votredomaine.com #482913 ».

Comment créer un message OTP

  1. 1

    Indiquez la marque et le format du code

    Saisissez le nom de votre application ou marque, choisissez une longueur de 4 à 8 caractères, chiffres seuls ou lettres et chiffres, et la durée de validité en minutes.

  2. 2

    Choisissez la langue et le canal

    Anglais, arabe, français, espagnol, allemand ou portugais, puis SMS, WhatsApp ou les deux. L'arabe est compté en Unicode (70 caractères par SMS).

  3. 3

    Ajoutez les données de remplissage automatique

    Collez éventuellement le hachage de 11 caractères de votre application Android et votre domaine. L'outil construit les formats SMS Retriever, lié au domaine et combiné, et vérifie la limite de 140 octets.

  4. 4

    Copiez le message ou le code

    Copiez une variante SMS, le JSON du modèle WhatsApp ou une requête cURL ou Node.js pour notre API SMS, puis passez en revue la liste de sécurité avant la mise en production.

Ce que contient un bon modèle de SMS OTP

Un message de vérification n'a qu'une mission : transmettre rapidement le bon code à la bonne personne, sans faciliter les abus. La plupart des utilisateurs lisent le code dans la notification de l'écran verrouillé, qui n'affiche qu'environ une ligne. Placez donc le code au début ou presque, et rendez la marque évidente pour que l'utilisateur sache quel service l'envoie.

La longueur compte, pour le coût comme pour la fiabilité. Un SMS GSM-7 contient 160 caractères, puis 153 par partie lorsqu'il est découpé. Un seul caractère hors de l'alphabet GSM-7 (lettre arabe, emoji, apostrophe typographique ou lettre accentuée comme « ç » minuscule ou « ê ») fait basculer tout le message en UCS-2, soit 70 caractères, ou 67 par partie. Un OTP en deux parties coûte le double. Le générateur affiche l'encodage et le nombre de segments de chaque variante et peut remplacer les lettres accentuées pour rester en GSM-7.

  • Code en tête : « 482913 est votre code Acme » reste visible dans l'aperçu de la notification.
  • Nom de la marque : indique quel service envoie le code et complique le phishing.
  • Durée de validité : « Il expire dans 5 minutes » fixe une attente et limite les abus.
  • Avertissement : « Ne communiquez ce code à personne, pas même à nos conseillers. »
  • Aucun lien : les opérateurs filtrent souvent les OTP contenant une URL, et les liens habituent les utilisateurs au phishing.

Remplissage automatique sur Android : le format SMS Retriever

L'API SMS Retriever de Google permet à une application Android de lire le SMS de vérification sans autorisation SMS et sans saisie. Selon la documentation de Google, le message ne doit pas dépasser 140 octets, doit contenir le code à usage unique et inclure une chaîne de hachage de 11 caractères qui identifie l'application. 140 octets correspondent à 160 caractères GSM-7 ou 70 caractères UCS-2 : le message doit donc tenir dans un seul SMS.

Le hachage correspond aux 11 premiers caractères d'un hachage SHA-256 encodé en base64, calculé à partir du nom du package et du certificat de signature. L'exemple de Google le place sur sa propre ligne à la fin : « Your ExampleApp code is: 123ABC78 », une ligne vide, puis « FA+9qCX9VSu ». Calculez-le à partir du keystore de production et codez-le en dur côté serveur ; Google déconseille d'utiliser un hachage calculé sur le client. D'anciennes versions de la documentation exigeaient que le message commence par « <#> » : la page actuelle ne mentionne plus ce préfixe, sans danger mais coûteux de 4 caractères. Si vous ne maîtrisez pas le format du message, l'API SMS User Consent est l'alternative : l'utilisateur autorise d'un geste la lecture de ce seul message.

iPhone et web : codes liés au domaine

iOS et macOS détectent les codes dans les SMS entrants et les proposent au-dessus du clavier lorsque le champ est déclaré comme code à usage unique : textContentType = .oneTimeCode dans une application native, ou autocomplete="one-time-code" sur un champ HTML, selon la documentation développeur d'Apple. Depuis iOS 14 et macOS Big Sur, Safari prend aussi en charge les codes liés à l'origine, définis par la spécification WICG « Origin-bound one-time codes delivered via SMS ».

Dans ce format, la dernière ligne du message est « @example.com #747723 » : le domaine précédé de @, exactement une espace, puis le code précédé de #. Une troisième valeur facultative, « @embedded.example », désigne un site intégré. Du texte lisible peut précéder la dernière ligne, mais tout texte placé entre les valeurs la rend invalide. Le remplissage automatique ne propose alors le code que sur ce domaine ou dans les applications qui lui sont associées, ce qui rend le phishing beaucoup plus difficile. Le générateur produit aussi un message combiné, avec le hachage Android et la ligne liée au domaine, qui tient dans les 140 octets pour les langues en alphabet latin. En arabe, envoyez séparément les formats Android et iOS.

Modèles d'authentification WhatsApp : ce que vous pouvez modifier

WhatsApp impose un modèle d'authentification pour envoyer des mots de passe à usage unique, et Meta fixe le corps du message. En anglais : « <code> is your verification code. » Vous pouvez ajouter la phrase de sécurité de Meta (« For your security, do not share this code. ») et un pied de page d'expiration (« This code expires in <N> minutes. »), avec code_expiration_minutes entre 1 et 90. Chaque langue utilise la traduction fixe de Meta. Les URL, les médias et les emojis ne sont pas pris en charge.

Vous choisissez le bouton. Copier le code fonctionne partout. Le remplissage en un geste ouvre votre application Android avec le code et exige le nom du package, le hachage de signature et un handshake. Le mode sans geste (zero-tap, Android uniquement) n'a pas de bouton : WhatsApp transmet le code directement à votre application. Sur iOS 26 et versions ultérieures, les suggestions du clavier proposent le code depuis la notification, sans intégration. Le code fait au plus 15 caractères et figure deux fois dans la requête d'envoi : paramètre du corps et paramètre du bouton (sub_type « url »). Le texte du bouton de copie est limité à 25 caractères. Réglez message_send_ttl_seconds pour éviter la livraison tardive de codes périmés. Sur l'API Cloud, ces messages ne sont remis qu'à l'appareil principal de l'utilisateur.

Sécurité et stratégie de repli

Le message est la partie facile : la fraude et les surcoûts viennent surtout des règles qui l'entourent. Voici des recommandations courantes, pas des obligations légales ; adaptez les valeurs à votre niveau de risque.

Organisez l'envoi en cascade : WhatsApp d'abord lorsque l'utilisateur l'a, repli vers le SMS après un court délai (par exemple 30 à 60 secondes sans accusé de réception), puis un appel vocal qui lit le code en dernier recours pour les lignes fixes et les zones mal couvertes. Dans les pays du Golfe, l'OTP est un trafic transactionnel : les règles promotionnelles comme le préfixe « AD- » aux Émirats ne s'appliquent pas, mais l'identifiant d'expéditeur doit généralement être enregistré. Vérifiez les règles locales avant le lancement.

  • 6 chiffres est la norme courante ; générez les codes avec un générateur aléatoire cryptographiquement sûr.
  • Validité courte (5 à 10 minutes), usage unique, et ne stockez qu'un hachage du code.
  • Limitez les envois par numéro et par IP, imposez un délai avant renvoi et bloquez après environ 5 tentatives erronées.
  • Prévenez le SMS pumping (trafic gonflé artificiellement) en n'autorisant que les pays de destination que vous servez.
  • Ne placez jamais le code dans un lien ou une URL, et ne demandez jamais à l'utilisateur de le dicter à un conseiller.

Questions sur les messages OTP

Quel est le meilleur format de SMS OTP ?

Code en premier, marque, durée de validité et avertissement de non-partage, en un seul segment et sans lien : « 482913 est votre code Acme. Il expire dans 5 minutes. Ne le partagez avec personne. » Ajoutez une ligne avec le hachage de l'application pour Android et « @votredomaine.com #482913 » en dernière ligne pour iOS et le web.

Quelle longueur peut avoir un SMS OTP ?

Visez un seul segment : 160 caractères en GSM-7 ou 70 en Unicode (l'arabe par exemple). L'API SMS Retriever de Google limite le message à 140 octets, ce qui revient au même plafond d'un SMS. Au-delà, le message est découpé en parties de 153 ou 67 caractères, facturées chacune.

Le préfixe <#> est-il encore nécessaire pour le remplissage automatique Android ?

Non. La documentation actuelle de SMS Retriever exige trois choses : 140 octets maximum, le code à usage unique et le hachage de l'application sur 11 caractères. Le préfixe « <#> » vient d'anciennes consignes ; le conserver ne pose pas de problème mais coûte 4 caractères.

Comment faire remplir automatiquement un code OTP sur iPhone ?

Déclarez le champ comme code à usage unique (textContentType .oneTimeCode dans une application, autocomplete="one-time-code" sur le web). iOS propose alors les codes reçus dans Messages. Pour lier le code à votre site, terminez le SMS par « @votredomaine.com #123456 », avec exactement une espace entre les deux valeurs.

Peut-on personnaliser le texte d'un modèle d'authentification WhatsApp ?

Non. Meta fixe le corps (« <code> is your verification code. ») et le traduit dans chaque langue. Vous pouvez seulement ajouter la phrase de sécurité, un pied de page d'expiration de 1 à 90 minutes, et choisir un bouton copier, un geste ou sans geste. URL, médias et emojis sont interdits.

Faut-il envoyer les OTP par WhatsApp ou par SMS ?

Les deux. WhatsApp propose des boutons de copie et de remplissage en un geste et affiche le nom vérifié de l'entreprise ; le SMS atteint tous les téléphones, avec ou sans données. Un schéma courant essaie WhatsApp, bascule vers le SMS après 30 à 60 secondes sans livraison, puis propose un appel vocal.

Pourquoi mon OTP en arabe est-il envoyé en deux SMS ?

Le texte arabe utilise l'encodage UCS-2, limité à 70 caractères pour un SMS unique et 67 par partie lorsqu'il est découpé. Gardez une formulation arabe courte, utilisez des chiffres occidentaux pour le code et vérifiez le décompte dans le générateur avant l'envoi.

Peut-on mettre un lien de connexion dans un SMS OTP ?

Mieux vaut l'éviter. Les liens dans les messages de vérification facilitent le phishing, sont plus souvent filtrés par les opérateurs et habituent les utilisateurs à cliquer dans les SMS. Envoyez uniquement le code et laissez l'utilisateur le saisir ou le remplir automatiquement.

Plus d'outils gratuits