API REST

Intégrez WhatsApp
à vos applications

Envoyez des messages WhatsApp automatisés via notre API REST simple et puissante. Notifications, confirmations, alertes - tout est possible.

// Envoyez un message WhatsApp en une requête

curl -X POST \
  "https://ayospush.com/api/v1/messages/template" \
  -H "Authorization: Bearer YOUR_TOKEN" \
  -d '{"phone_number_id": "123456789012345", "recipient_number": "241XXXXXXXX", "template_name": "hello_world"}'

Pourquoi utiliser notre API ?

Une API conçue pour les développeurs, avec tout ce dont vous avez besoin.

Simple & Rapide

Intégration en quelques minutes. Endpoints REST standards, documentation complète, exemples de code.

Sécurisé

Authentification JWT, HTTPS obligatoire, restriction par IP/domaine, logs détaillés.

Scalable

5 requêtes/seconde, 1000/heure. Gestion automatique des limites Facebook, files d'attente intelligentes.

Comment ça marche ?

1

Créez votre compte & obtenez vos clés API

Inscrivez-vous, connectez votre numéro WhatsApp Business, puis générez vos clés API depuis le tableau de bord.

Créer un compte gratuit
2

Authentifiez-vous

Utilisez vos clés API pour obtenir un token JWT valide 1 heure.

POST /api/v1/auth/login
{ "api_key": "votre_api_key", "api_secret": "votre_api_secret" }
3

Envoyez des messages

Utilisez le token pour envoyer des messages via vos templates WhatsApp approuvés.

POST /api/v1/messages/template
{ "phone_number_id": "123456789", "recipient_number": "+24177123456", "template_name": "order_confirmation", "variables": { "1": "Jean", "2": "CMD-12345" } }

Exemples détaillés

Apprenez à utiliser l'API avec des exemples concrets pour différents cas d'usage.

Message simple (sans variables)

Envoyez un message template simple sans variables personnalisées.

Paramètre Type Requis Description
phone_number_id string Oui L'ID de votre numéro WhatsApp Business (depuis le dashboard)
recipient_number string Oui Numéro du destinataire au format international (+241...)
template_name string Oui Nom du template WhatsApp approuvé
// Requête POST /api/v1/messages/template Authorization: Bearer eyJ0eXAiOiJKV1QiLCJhbGc... { "phone_number_id": "123456789012345", "recipient_number": "+24177123456", "template_name": "hello_world" }

Message avec variables dynamiques

Personnalisez vos messages en remplaçant les variables {{1}}, {{2}}, etc. du template.

Important : Les variables sont numérotées dans l'ordre où elles apparaissent dans le template (1, 2, 3...).
Paramètre Type Requis Description
variables object Conditionnel Objet clé-valeur où la clé est le numéro de variable ("1", "2"...) et la valeur est le texte

Exemple de template :

Bonjour {{1}} ! Votre commande {{2}} a été expédiée. Livraison prévue le {{3}}.
// Requête avec variables POST /api/v1/messages/template { "phone_number_id": "123456789012345", "recipient_number": "+24177123456", "template_name": "order_shipped", "variables": { "1": "Jean Dupont", "2": "CMD-2024-00123", "3": "15 janvier 2026" } }

Résultat : Bonjour Jean Dupont ! Votre commande CMD-2024-00123 a été expédiée. Livraison prévue le 15 janvier 2026.

Message avec fichier (image, PDF, vidéo)

Si votre template contient un en-tête média (image, document, vidéo), vous pouvez l'envoyer dynamiquement.

Astuce : Utilisez multipart/form-data pour envoyer des fichiers binaires.
Paramètre Type Requis Description
file binary Optionnel Fichier à envoyer (max 2MB). Formats : JPEG, PNG, PDF, MP4
Option 1 : Envoi avec fichier binaire (multipart)
// Requête cURL avec fichier curl -X POST "https://ayospush.com/api/v1/messages/template" \ -H "Authorization: Bearer YOUR_TOKEN" \ -F "phone_number_id=123456789012345" \ -F "recipient_number=+24177123456" \ -F "template_name=invoice_template" \ -F "file=@/path/to/invoice.pdf"
Option 2 : Envoi avec URL de fichier
// Requête JSON avec URL POST /api/v1/messages/template Content-Type: application/json { "phone_number_id": "123456789012345", "recipient_number": "+24177123456", "template_name": "promo_image", "file_url": "https://example.com/images/promo.jpg" }
Formats supportés :
  • Images : JPEG, PNG (max 5MB)
  • Documents : PDF (max 100MB)
  • Vidéos : MP4 (max 16MB)

Exemple complet en PHP & JavaScript

PHP (avec cURL)
<?php // 1. Authentification $ch = curl_init('https://ayospush.com/api/v1/auth/login'); curl_setopt_array($ch, [ CURLOPT_POST => true, CURLOPT_RETURNTRANSFER => true, CURLOPT_HTTPHEADER => ['Content-Type: application/json'], CURLOPT_POSTFIELDS => json_encode([ 'api_key' => 'VOTRE_API_KEY', 'api_secret' => 'VOTRE_API_SECRET' ]) ]); $response = json_decode(curl_exec($ch), true); $token = $response['data']['token']; // 2. Envoi du message $ch = curl_init('https://ayospush.com/api/v1/messages/template'); curl_setopt_array($ch, [ CURLOPT_POST => true, CURLOPT_RETURNTRANSFER => true, CURLOPT_HTTPHEADER => [ 'Content-Type: application/json', 'Authorization: Bearer ' . $token ], CURLOPT_POSTFIELDS => json_encode([ 'phone_number_id' => '123456789012345', 'recipient_number' => '+24177123456', 'template_name' => 'order_confirmation', 'variables' => ['1' => 'Client', '2' => 'CMD-001'] ]) ]); $result = json_decode(curl_exec($ch), true); ?>
JavaScript (avec fetch)
// 1. Authentification const authResponse = await fetch('https://ayospush.com/api/v1/auth/login', { method: 'POST', headers: { 'Content-Type': 'application/json' }, body: JSON.stringify({ api_key: 'VOTRE_API_KEY', api_secret: 'VOTRE_API_SECRET' }) }); const { data: { token } } = await authResponse.json(); // 2. Envoi du message const messageResponse = await fetch('https://ayospush.com/api/v1/messages/template', { method: 'POST', headers: { 'Content-Type': 'application/json', 'Authorization': `Bearer ${token}` }, body: JSON.stringify({ phone_number_id: '123456789012345', recipient_number: '+24177123456', template_name: 'order_confirmation', variables: { '1': 'Client', '2': 'CMD-001' } }) }); const result = await messageResponse.json(); console.log(result);

Endpoints disponibles

Explorez notre API complète avec Swagger

Authentification
POST /auth/login
POST /auth/refresh
POST /auth/logout
Messages
POST /messages/template
POST /messages
GET /messages/window
GET /messages/{requestId}/status
Templates
GET /templates
GET /templates/{id}
Compte & Stats
GET /account/limits
GET /logs

Cas d'utilisation

E-commerce

Confirmation de commande, suivi de livraison, notifications de stock, rappels de panier abandonné.

Rendez-vous

Rappels de RDV, confirmations, notifications d'annulation pour cliniques, salons, services.

Banque & Finance

Alertes transactions, OTP, notifications de paiement, relevés mensuels.

Logistique

Suivi colis en temps réel, notifications de livraison, confirmations d'expédition.

Prêt à intégrer WhatsApp ?

Créez votre compte gratuitement et commencez à envoyer des messages en quelques minutes.

Créer un compte gratuit Lire la documentation