Sign inGet started

Templates d'authentification WhatsApp

Un modèle d'authentification transmet un code de vérification à usage unique. Meta en fournit le libellé lorsque vous créez le modèle. Au moment de l'envoi, transmettez le code comme paramètre de corps.

Avant d'envoyer

Choisissez d'utiliser un modèle géré par Bird ou de créer un modèle sur votre propre compte professionnel.
Envoyer les templates de catalogue fournis par Bird, bird_otp et bird_otp_authifly, ne nécessite aucune vérification de votre part. Ces templates résident sur les WhatsApp Business Accounts propres à Bird, et le chemin d'envoi géré ne vérifie jamais le statut de vérification de votre entreprise.
Lorsque le compte professionnel connecté signale not_verified, Bird refuse la création ou la duplication d'un modèle d'authentification avec 412 E15043 WhatsAppTemplateBusinessNotVerified. Vérifiez le compte connecté et son dernier statut synchronisé. Consultez Vérification d'entreprise WhatsApp pour le processus de vérification et la gestion des statuts.
La création de templates utilitaires et marketing n'est pas concernée par cette condition : vous pouvez continuer à les créer et les modifier quel que soit votre statut de vérification.
Créez des templates dans le tableau de bord, avec l'interface CLI bird, ou via le serveur MCP. Consultez Création de templates WhatsApp pour le flux complet.

Envoyer un code de vérification

POST /v1/whatsapp/messages avec un objet template désignant un slug de catalogue :
const msg = await bird.whatsapp.send({
  to: "+14155550100",
  template: {
    slug: "bird_otp",
    language: "en",
    components: [{ type: "body", parameters: [{ type: "text", text: "481920" }] }],
  },
});
console.log(msg.id, msg.status);
Quatre règles sont propres à cette catégorie :
  • Omettez from. Un template géré par Bird choisit lui-même son expéditeur, en fonction de la catégorie et de la région ; définir from renvoie donc 422 E15018 WhatsAppSenderNotAllowed. C'est l'inverse d'un envoi libre, qui exige from, un point à retenir si vous arrivez ici depuis les pages de messages interactifs.
  • to doit être un numéro de téléphone E.164. Un template d'authentification ne peut pas être envoyé à un identifiant utilisateur à portée d'entreprise ; c'est 422 E15014 WhatsAppRecipientNotSupportedForTemplate.
  • Le corps prend exactement un paramètre positionnel, le code. Zéro paramètre, ou un paramètre nommé, renvoie 422 E15003 WhatsAppTemplateParameterMismatch. L'authentification est la seule catégorie que Meta écrit de façon positionnelle ; toutes les autres nomment leurs paramètres.
  • Aucune fenêtre de service client n'est requise. Les envois de templates ne dépendent pas d'une fenêtre, et c'est précisément la raison d'être d'un template de code de vérification : il doit pouvoir atteindre quelqu'un qui ne vous a jamais écrit.
Consultez les langues disponibles pour bird_otp ou bird_otp_authifly dans le catalogue de modèles. Si la langue demandée n'est pas disponible, l'envoi échoue au lieu de substituer une autre langue.

Le bouton de copie du code

Meta rédige lui-même le corps d'un template d'authentification, sous forme de texte prédéfini contenant un seul espace réservé pour le code ; vous fournissez donc des options de configuration et non du texte. Le composant bouton est facultatif dans un envoi : si vous n'en incluez pas, Bird l'ajoute pour vous, avec le même code que le corps. Vous pouvez aussi le fournir vous-même :
Exemple de code
{ "type": "button", "parameters": [{ "type": "text", "text": "481920" }] }
Dans les deux cas, exactement un bouton parvient à WhatsApp, et c'est le bouton de copie du code : une pression copie le code dans le presse-papiers. Bird ne prend en charge que copy_code ; les deux autres comportements de bouton que Meta documente pour les templates d'authentification, le remplissage automatique en un tap et en zéro tap, ne sont pas disponibles sur Bird.
La création du bouton d'un template suit la même forme : un seul bouton otp, et le template n'accepte aucun autre type de bouton. Vous fournissez add_security_recommendation (un booléen affiché dans le corps) et code_expiration_minutes (1 à 90, affiché dans le pied de page) au lieu de rédiger du texte.

Ce que Meta autorise dans un template d'authentification

Meta fixe la structure d'un template d'authentification et en examine le contenu : aucune URL, aucun média et aucun emoji dans le template, et une limite de 15 caractères pour le paramètre du code. La catégorie modifie aussi la façon dont WhatsApp délivre le message, en l'envoyant uniquement à l'appareil principal du destinataire. Consultez Consignes relatives aux templates pour la structure fixe, les limites de caractères et le processus de révision complet.

Coût

La catégorie et la destination déterminent le prix. Consultez Tarifs WhatsApp authentification internationale pour savoir comment l'envoi vers un pays autre que votre emplacement principal peut le modifier, et Coûts et facturation pour savoir quand un envoi est facturé. Les tarifs sont disponibles sur Tarification WhatsApp.

Points de vigilance

  • Les templates fournis par Bird ne sont pas livrés vers neuf pays. bird_otp et bird_otp_authifly envoient depuis les WhatsApp Business Accounts propres à Bird, et ces comptes ne transmettent pas de messages d'authentification vers l'Égypte, l'Inde, l'Indonésie, la Malaisie, le Nigéria, le Pakistan, l'Arabie saoudite, l'Afrique du Sud et les Émirats arabes unis. Un tel envoi est refusé 422 E15063 WhatsAppDestinationRestricted avant toute facturation. Un template que vous avez créé sur votre propre compte, envoyé depuis votre propre numéro, atteint ces pays normalement. Verify les atteint aussi, en basculant automatiquement le code de vérification vers un autre canal.
  • Un envoi avec template créé par vous exige from, et celui-ci doit résider sur le même WhatsApp Business Account que le template. Un expéditeur sur un compte différent est refusé 422 E15023 WhatsAppSenderWABAMismatch avant toute facturation.
  • Seule une langue dont la version est approuvée et active peut être envoyée. Une langue en brouillon, en attente, rejetée ou suspendue ne l'est pas.
  • Meta peut recatégoriser un template de sa propre initiative. Il n'est pas possible de s'y opposer, et cela modifie les règles de tarification et de livraison liées à la catégorie.
  • La catégorie du template et celle de sa langue peuvent diverger. Consultez Templates WhatsApp pour comprendre comment le chemin d'envoi résout cette divergence.
  • Un template d'authentification ingéré ne peut pas être dupliqué. Bird ne peut pas relire le texte généré par WhatsApp pour en extraire les paramètres de création d'un nouveau template ; c'est 422 E15024 WhatsAppTemplateContentNotDuplicable. Créez-en un nouveau avec sa propre recommandation de sécurité et son propre délai d'expiration du code.

Étapes suivantes