Passer au contenu principal
Ces commandes encapsulent l’API /v1/whatsapp/*. Le périmètre est volontairement restreint — cycle de vie des modèles et envoi sortant de messages modèles. La connexion d’un WABA se fait uniquement dans le navigateur (OAuth) et reste dans le tableau de bord.
Toutes les commandes acceptent à la position <account-id> soit l’UUID interne du compte social (obtenu avec accounts:list), soit l’ID fournisseur Meta du WABA. Le contrôleur v1 résout les UUID en ID fournisseur côté serveur.

whatsapp:templates

Liste tous les modèles enregistrés sur un compte WhatsApp Business, avec leur statut (APPROVED, PENDING, REJECTED), leur catégorie, leur langue et la structure de leurs composants.
Exemples

whatsapp:create-template

Soumet un nouveau modèle à Meta pour approbation. L’approbation d’un modèle peut prendre de quelques minutes à quelques heures ; interrogez whatsapp:templates pour voir le statut passer de PENDING à APPROVED.
Fournissez la définition du modèle avec soit --file, soit --data (si les deux sont passés, --file l’emporte ; si aucun n’est passé, la commande échoue). La charge utile correspond au schéma de l’API WhatsApp Cloud de Meta. Champs minimaux :
  • name — en minuscules, avec des tirets bas
  • language — par ex. en_US
  • category — MARKETING, UTILITY ou AUTHENTICATION
  • components[] — HEADER, BODY, FOOTER, BUTTONS
La CLI fusionne accountId (issu de --account) dans la charge utile avant l’envoi ; vous n’avez donc pas besoin de l’inclure dans le JSON.
Exemples
Les noms de modèles doivent être alphanumériques en minuscules avec des tirets bas (^[a-z0-9_]+$). Meta valide cette règle — un nom non conforme est rejeté immédiatement avec une erreur 400.

whatsapp:delete-template

Supprime définitivement un modèle. Une fois supprimé, il ne peut pas être restauré ; vous devez le soumettre à nouveau sous un nouveau nom.
Sans -y, la commande affiche Delete template "<name>" on account <id>? (y/N) et s’interrompt sauf si vous répondez y.
Exemples

whatsapp:send

Envoie un message modèle approuvé à un destinataire. C’est le moyen principal pour initier une conversation WhatsApp en dehors de la fenêtre de service client de 24 heures.
--components et --file sont tous deux facultatifs (un modèle sans variables n’en a besoin d’aucun). Si les deux sont fournis, --file est prioritaire. Les paramètres des composants renseignent les variables ({{1}}, {{2}}, etc.) du modèle approuvé. La structure correspond à celle de l’API Cloud de Meta :
Exemples
L’envoi de modèles est facturé selon la grille tarifaire de WhatsApp Business de Meta. Testez toujours d’abord avec un seul destinataire. Les modèles non approuvés ou rejetés échouent avec une erreur 400.

whatsapp:upload-media

Importe un média d’en-tête (image/vidéo/document) à utiliser dans le composant HEADER d’un modèle. Renvoie un identifiant de média que vous pouvez référencer lors de la création ou de l’envoi de modèles.
Fournissez exactement une des options --url ou --base64 — la commande échoue si vous n’en indiquez aucune ou les deux.
Exemples

Vue d’ensemble

  • Les messages de session (réponses dans les 24 heures suivant un message entrant) passent par inbox:reply — aucun modèle n’est requis.
  • Les messages modèles (premier contact ou hors de la fenêtre de 24 heures) utilisent whatsapp:send et nécessitent un modèle approuvé par Meta.
  • La connexion d’un compte WhatsApp Business reste possible uniquement dans le navigateur — terminez l’OAuth dans le tableau de bord d’abord, puis vos scripts CLI pourront référencer le compte connecté.