L'envoi de messages basés sur des templates est la méthode standard pour initier une conversation avec un client sur WhatsApp, particulièrement lorsque vous contactez un utilisateur en dehors de la fenêtre de conversation de 24 heures.
Ce guide détaille le fonctionnement du point de terminaison (endpoint) dédié à l'envoi de templates et explique comment structurer vos données.
L'envoi d'un template s'effectue via une requête HTTP de type POST à l'adresse suivante :
URL : https://api.getkanal.com/api/v1/templates
Comme pour toutes les requêtes adressées à l'API Kanal, vous devez inclure les en-têtes suivants pour que votre appel soit accepté par nos serveurs :
Content-Type : application/json
Authorization : Bearer <VOTRE_CLE_API>
Le corps de votre requête doit être envoyé au format JSON et contenir les informations suivantes :
Il s'agit de l'identifiant unique du template que vous souhaitez envoyer.
Où trouver l'ID du template ?
Rendez-vous dans votre interface Kanal, dans la section "WhatsApp Templates". Cliquez sur le template que vous souhaitez utiliser. L'ID correspond au numéro affiché dans l'URL de votre navigateur à la fin du lien (par exemple : .../templates/123, l'ID est 123).
Le numéro de téléphone du destinataire.
Important : Le numéro doit être fourni au format international E.164. Cela signifie qu'il doit inclure l'indicatif pays sans le signe "+" ni les "00" initiaux. (Exemple pour la France : 33612345678).
Il s'agit du nom que vous souhaitez attribuer temporairement au contact dans votre base de données Kanal.
Note technique : Ce nom sera utilisé dans votre interface de gestion tant que le client n'a pas répondu. Dès que le client envoie un message en retour, Kanal mettra automatiquement à jour ce champ avec le véritable nom configuré par l'utilisateur sur son profil WhatsApp.
Si votre template contient des variables de personnalisation (ex : {{1}}, {{2}}), vous devez fournir les valeurs de remplacement dans un tableau de données. L'ordre des éléments dans le tableau doit correspondre exactement à l'ordre des variables dans le template validé par Meta.
Voici un exemple concret de ce que vous devez envoyer dans le corps de votre requête pour un template de confirmation de commande incluant deux variables (le prénom et le numéro de commande) :
{
"template_id": 123,
"phone_number": "33612345678",
"name": "Jean Dupont",
"variables": ["Jean", "FR-98765"]
}
Pour tester rapidement votre intégration depuis un terminal, vous pouvez utiliser la commande suivante :
curl -X POST "[https://api.getkanal.com/api/v1/templates](https://api.getkanal.com/api/v1/templates)" \
-H "Authorization: Bearer VOTRE_CLE_API" \
-H "Content-Type: application/json" \
-d '{
"template_id": 123,
"phone_number": "33612345678",
"name": "Jean Dupont",
"variables": ["Jean", "FR-98765"]
}'
Validation du template : Assurez-vous que le template est bien marqué comme "Approuvé" dans votre interface Kanal avant de tenter un envoi via l'API. Un template en attente de validation ou refusé par Meta provoquera une erreur.
Format du numéro : La majorité des échecs d'envoi proviennent d'un mauvais formatage du numéro. Vérifiez toujours la validité de l'indicatif pays avant l'envoi.
Gestion des variables : Si votre template a été approuvé avec 3 variables, vous devez impérativement envoyer un tableau contenant exactement 3 valeurs. L'absence de correspondance entre le template et le nombre de variables envoyées entraînera le rejet de la requête.