Notifications WhatsApp
Configuration du compte
Section intitulée « Configuration du compte »Pour envoyer des messages WhatsApp via Apprise, vous devez d’abord configurer votre compte Meta WhatsApp Cloud API. Suivez les etapes suivantes :
- Creer un compte Meta Developer
Rendez-vous sur Meta for Developers puis connectez-vous ou creez un compte. - Creer une application WhatsApp
Depuis le tableau de bord Meta Developer, creez une nouvelle application et ajoutez WhatsApp comme produit. - Generer un jeton d’acces permanent
- Ouvrez la section WhatsApp > API Setup de votre application.
- Selectionnez ou creez un System User, attribuez-lui un role puis generez un permanent access token avec les permissions
whatsapp_business_messaging. - Ce jeton sera utilise dans le champ Apprise
token.
- Recuperer votre
From Phone Number ID
Il ne s’agit pas de votre vrai numero de telephone, mais d’un identifiant numerique attribue par Meta au numero expediteur.
Vous le trouverez dans votre application WhatsApp > API Setup, section Phone Numbers. - Enregistrer les numeros destinataires
- Pendant les tests en sandbox, vous devez verifier chaque numero que vous souhaitez contacter via l’interface Meta.
- En production, votre entreprise devra etre verifiee et disposer du niveau de messagerie approprie.
- Facultatif : creer et faire approuver des modeles de message
- Ouvrez WhatsApp > Message Templates.
- Creez un modele, par exemple
hello_world, puis attendez son approbation. - Les modeles permettent une messagerie structuree avec des variables comme
{{1}},{{2}}, et peuvent etre utilises via le prefixe Apprisetemplate:. Cela est explique plus bas.
Une fois tout cela en place, vous etes pret a envoyer des messages WhatsApp avec Apprise.
La syntaxe valide est la suivante :
whatsapp://{token}@{from_phone_id}/{targets}whatsapp://{template}:{token}@{from_phone_id}/{targets}
Détail des Paramètres
Section intitulée « Détail des Paramètres »| Variable | Obligatoire | Description |
|---|---|---|
| token | Oui | Jeton d’acces associe a votre application Meta WhatsApp. |
| from | Oui | From Phone ID associe a votre application Meta WhatsApp ; il ne faut pas le confondre avec votre vrai numero de telephone. Il s’agit d’un identifiant distinct, d’environ 14 chiffres. |
| targets | Oui | Destinataires WhatsApp que vous souhaitez notifier. |
| template | Non | Vous pouvez facultativement specifier ici un template_name, comme hello_world, le modele par defaut cree lors de la configuration de votre application Meta. Apprise utilisera alors le modele defini. |
| lang | Non | Si vous utilisez un modele, vous pouvez facultativement surcharger la langue par defaut, en_US, afin de pointer vers une autre version du modele specifie. |
Paramètres Globaux
Section intitulée « Paramètres Globaux »| Variable | Description |
|---|---|
| overflow | Ce paramètre peut être défini sur split, truncate ou upstream. Il détermine la manière dont Apprise remet le message que vous lui transmettez. Par défaut, il vaut upstream. 👉 upstream : ne fait aucune modification et transmet le message exactement tel qu’il a été reçu au service.👉 truncate : veille à ce que le message tienne dans la limite amont documentée par le service. Si plus d’informations sont fournies que la limite définie, l’excédent est tronqué.👉 split : similaire à truncate, sauf que si le message dépasse la limite amont documentée par le service, il est découpé en plusieurs morceaux plus petits puis envoyés séquentiellement. |
| format | Ce paramètre peut être défini sur text, html ou markdown. Certains services prennent en charge plusieurs formats de publication du contenu. La valeur par défaut varie selon le service choisi et peut correspondre à l’un de ces trois formats. Vous pouvez facultativement forcer cette option pour vous écarter du comportement par défaut. Si le service ne prend pas en charge plusieurs formats de transmission, ce champ est ignoré. |
| verify | Les requêtes externes vers des emplacements sécurisés, par exemple via https, utilisent des certificats. Par défaut, Apprise vérifie la validité de ces certificats ; si ce n’est pas le cas, aucune notification n’est envoyée à la source. Dans certains cas, un utilisateur ne dispose pas d’une autorité de certification pour valider la clé ou fait simplement confiance à la source ; dans ce cas, vous pouvez définir ce drapeau sur no. Par défaut, il vaut yes. |
| cto | Signifie Socket Connect Timeout. Il s’agit du nombre de secondes pendant lesquelles Requests attend que votre client établisse une connexion avec une machine distante, ce qui correspond à l’appel connect() sur la socket. La valeur par défaut est de 4.0 secondes. |
| rto | Signifie Socket Read Timeout. Il s’agit du nombre de secondes pendant lesquelles le client attend que le serveur envoie une réponse. La valeur par défaut est de 4.0 secondes. |
| emojis | Active la prise en charge des emojis, par exemple :+1: qui sera traduit en 👍. Par défaut, cette option vaut no. Remarque : selon la configuration côté serveur, l’administrateur peut désactiver globalement la prise en charge des emojis ; mais par défaut, ce n’est pas le cas. |
| tz | Identifie le fuseau horaire de la base IANA que vous souhaitez utiliser. Par défaut, celui-ci est détecté à partir de la configuration du serveur qui exécute Apprise. Vous pouvez le définir sur des valeurs comme America/Toronto, ou sur tout autre fuseau correctement formaté correspondant à votre région. |
Variables de Modele
Section intitulée « Variables de Modele »Les modeles que vous creez permettent de definir {{1}}, {{2}}, etc., qui seront remplaces lors de l’execution d’Apprise. Pour predefinir ces valeurs, il suffit d’utiliser le prefixe :, deux-points, devant l’index a renseigner.
Par exemple, ?:3=Ma Valeur affectera Ma Valeur a {{3}} a l’execution. Vous devez fournir tous les index attendus, sinon le serveur distant renverra une erreur.
Si vous souhaitez associer le body ou le type d’Apprise a un index, utilisez ces mots-cles speciaux avec le prefixe : pour definir la correspondance. Par exemple, ?:body=1 est accepte et placera le contenu du body d’Apprise dans {{1}}.
Exemples
Section intitulée « Exemples »Envoyer une notification WhatsApp :
# Testez avec la commande suivante :apprise -b "Message de Test" \ "whatsapp://token@from_phone_id/to_phone_no/"
# Les modeles peuvent etre utilises ainsi :apprise -b "Message de Test" \ "whatsapp://template_name:token@from_phone_id/to_phone_no/"
# Si vous avez defini les tokens {{1}} et {{2}}, vous pouvez leur attribuer des valeurs ainsi :apprise -b "Message de Test" \ "whatsapp://template_name:token@from_phone_id/to_phone_no/?:1=the data i want put here&:2=more data here"
# La forme :<id> permet d'associer les elements {{<id>}}. Si vous souhaitez mapper le body# ou le type du message a un index, 2 mots-cles reserves sont disponibles pour cela :# L'exemple ci-dessous place la valeur du body Apprise dans l'element {{1}} :apprise -b "Message de Test" \ "whatsapp://template_name:token@from_phone_id/to_phone_no/?:body=1"
# Vous pouvez melanger mots-cles et index :apprise -b "Message de Test" \ "whatsapp://template_name:token@from_phone_id/to_phone_no/?:body=2&:type=3&1:MyID1Value"
# Il revient au developpeur de s'assurer que tous les {{1}}, {{2}}, etc. sont correctement renseignes Questions ou commentaires ?
Documentation
Vous avez repéré une faute de frappe ou une erreur ? Signalez-la ou proposez une correction .
Problèmes Techniques
Vous rencontrez un problème avec le code ? Ouvrez un ticket sur GitHub :