Ce tutoriel s'adresse aux équipes techniques d'éditeurs de plateformes emailing qui veulent ajouter WhatsApp comme canal natif. Il couvre les étapes concrètes d'intégration de l'API WhatsApp Business via Whakup : création des WABA clients, soumission de templates, envoi de messages et réception des événements via webhooks. Pas de théorie — des étapes actionnables.
Étape 1 : Prérequis et mise en place du compte Whakup
Avant d'écrire la première ligne de code, plusieurs prérequis doivent être en place.
Côté Whakup
- Créer un compte partenaire Whakup (accès à l'interface d'administration et à l'API)
- Récupérer votre clé API (Bearer token) depuis le tableau de bord
- Identifier votre
partner_id— il sera utilisé dans toutes les requêtes multi-tenant
Côté Meta Whakup est Meta Tech Provider certifié. Vos clients n'ont pas à passer la certification Meta eux-mêmes. En revanche, chaque client doit avoir :
- Un compte Facebook Business Manager vérifié
- Un numéro de téléphone dédié (non utilisé dans l'application WhatsApp)
- Un nom d'affichage WhatsApp Business approuvé par Meta
L'embedded signup de Whakup permet à vos clients de créer leur WABA directement dans votre interface. C'est la première intégration à mettre en place.
Étape 2 : Intégrer l'embedded signup dans votre interface
L'embedded signup est un flux OAuth Meta que Whakup expose via son SDK. Il permet à vos clients de connecter leur compte Meta et de créer leur WABA sans quitter votre plateforme.
Flux côté frontend
// Initialisation du SDK Whakup Embedded Signup
const whakupSignup = new WhakupEmbeddedSignup({
partnerId: 'YOUR_PARTNER_ID',
onSuccess: (wabaData) => {
// wabaData contient : waba_id, phone_number_id, display_name
saveWabaToYourDB(wabaData);
},
onError: (error) => {
console.error('Signup failed:', error);
}
});
// Déclenchement du flux (sur clic d'un bouton)
document.getElementById('connect-whatsapp').addEventListener('click', () => {
whakupSignup.launch();
});
Ce que vous recevez après le signup
waba_id: identifiant du WhatsApp Business Account du clientphone_number_id: identifiant du numéro WhatsApp associé- Ces identifiants sont à stocker dans votre base de données, associés au compte client
Étape 3 : Créer et soumettre des templates
Avant tout envoi, un template doit être créé et approuvé par Meta. Via l'API Whakup, cela se fait avec un appel REST.
Création d'un template (exemple : confirmation de commande)
POST https://api.whakup.com/v1/templates
Authorization: Bearer YOUR_API_KEY
Content-Type: application/json
{
"waba_id": "WABA_ID_DU_CLIENT",
"name": "order_confirmation",
"language": "fr",
"category": "UTILITY",
"components": [
{
"type": "HEADER",
"format": "TEXT",
"text": "Confirmation de commande"
},
{
"type": "BODY",
"text": "Bonjour {{1}}, votre commande n°{{2}} a bien été confirmée. Montant : {{3}} €."
},
{
"type": "FOOTER",
"text": "Répondez STOP pour vous désabonner."
}
]
}
Vérification du statut d'approbation
GET https://api.whakup.com/v1/templates/{template_id}
Authorization: Bearer YOUR_API_KEY
Le statut passe par PENDING puis APPROVED ou REJECTED. Les délais d'approbation Meta varient de quelques minutes à 24 heures. Votre plateforme doit afficher ce statut à l'utilisateur final et lui permettre de re-soumettre un template rejeté.
Pour les règles détaillées de catégorisation des templates : Templates WhatsApp : catégories et règles.
Étape 4 : Envoyer un message template
Une fois le template approuvé, l'envoi se fait via un appel à l'API d'envoi Whakup.
Envoi d'un message à un contact
POST https://api.whakup.com/v1/messages
Authorization: Bearer YOUR_API_KEY
Content-Type: application/json
{
"waba_id": "WABA_ID_DU_CLIENT",
"phone_number_id": "PHONE_NUMBER_ID_DU_CLIENT",
"to": "+33612345678",
"type": "template",
"template": {
"name": "order_confirmation",
"language": { "code": "fr" },
"components": [
{
"type": "body",
"parameters": [
{ "type": "text", "text": "Marie" },
{ "type": "text", "text": "CMD-20261542" },
{ "type": "text", "text": "89,90" }
]
}
]
}
}
Réponse de l'API
{
"message_id": "wamid.HBgMQzMzNjEyMzQ1Njc4",
"status": "sent",
"timestamp": "2026-08-01T14:32:00Z"
}
Stocker le message_id permet de corréler les événements webhook ultérieurs (livraison, lecture) à ce message spécifique.
Étape 5 : Recevoir les événements via webhooks
Les événements entrants (statuts de livraison, réponses de contacts, opt-outs) sont poussés par Whakup vers votre endpoint webhook. Votre plateforme doit exposer cet endpoint et traiter les payloads entrants.
Configuration du webhook
Dans le tableau de bord Whakup, enregistrez votre URL webhook :
https://votre-plateforme.com/webhooks/whatsapp
Exemples de payloads reçus
Statut de livraison :
{
"type": "message_status",
"message_id": "wamid.HBgMQzMzNjEyMzQ1Njc4",
"status": "delivered",
"timestamp": "2026-08-01T14:32:05Z",
"waba_id": "WABA_ID_DU_CLIENT"
}
Message entrant (réponse du contact) :
{
"type": "message_received",
"from": "+33612345678",
"body": "Merci",
"timestamp": "2026-08-01T14:33:12Z",
"waba_id": "WABA_ID_DU_CLIENT"
}
Opt-out :
{
"type": "opt_out",
"from": "+33612345678",
"timestamp": "2026-08-01T14:34:00Z",
"waba_id": "WABA_ID_DU_CLIENT"
}
Traiter immédiatement les événements opt_out pour mettre à jour l'état de consentement dans votre base de données — ne plus envoyer de messages marketing à ce contact.
FAQ
Comment tester l'API Whakup avant de la mettre en production ?
Whakup propose un environnement sandbox qui permet d'envoyer des messages à des numéros de test sans frais Meta. Les webhooks fonctionnent en sandbox avec des payloads identiques à la production. Cela permet de valider votre intégration complètement avant d'activer un vrai WABA client.
Que faire si un template est rejeté par Meta ?
Meta fournit un code de rejet dans la réponse API. Les raisons courantes : contenu promotionnel dans un template utility, variables mal formatées, lien externe non whitelisté, nom d'affichage non conforme. Modifiez le template selon le motif de rejet et re-soumettez. Si le motif est ambigu, le support Whakup peut aider à interpréter les règles Meta.
Comment gérer les envois en masse (campagne à 50 000 contacts) depuis une plateforme emailing ?
L'API Whakup accepte les appels en parallèle, mais les limites Meta s'appliquent au niveau du WABA expéditeur. Un nouveau WABA commence avec une limite de 1 000 conversations/24h. Cette limite augmente automatiquement avec la qualité des envois (taux de blocage faible, bons taux d'engagement). Pour les campagnes volumineuses, implémenter une file d'attente côté plateforme avec retry en cas d'erreur 429 (rate limit).
L'intégration Whakup est-elle compatible avec une architecture microservices ?
Oui. L'API REST Whakup est stateless et s'intègre dans n'importe quelle architecture. Les webhooks entrants peuvent être poussés vers un message broker (Kafka, RabbitMQ) pour traitement asynchrone. La documentation Whakup couvre les patterns d'intégration pour les architectures distribuées.
Ce tutoriel couvre les fondations de l'intégration. Pour aller plus loin sur les spécificités de votre stack, accédez à la documentation complète de l'API WhatsApp Whakup et échangez directement avec l'équipe technique — disponible pour accompagner votre intégration.

Co-fondateur et Chief Product Officer de Whakup, Pablo conçoit les fonctionnalités qui permettent aux marques africaines de maximiser leur impact sur WhatsApp.
Prêt à passer à l'action ?
Essayez Whakup gratuitement pendant 15 jours. Aucune carte bancaire requise.
Démarrer l'essai gratuitArticles similaires
API WhatsApp pour les CRM : tutoriel 2026
Tutoriel technique pour intégrer l'API WhatsApp Business dans un CRM : envoi de messages depuis une fiche contact, webhooks entrants et gestion des templates.
API WhatsApp pour les plateformes emailing : cas pratique 2026
Cas pratique 2026 d'intégration de l'API WhatsApp dans une plateforme emailing : scénarios réels, architecture mise en oeuvre, résultats mesurables et leçons apprises.
API WhatsApp pour les plateformes emailing : FAQ 2026
FAQ 2026 sur l'API WhatsApp Business pour plateformes emailing : réponses aux questions techniques, réglementaires et commerciales pour éditeurs SaaS martech.