L'API REST MSG-PRO vous permet d'envoyer des SMS, consulter votre solde et votre historique depuis n'importe quelle application, script ou système tiers — sans passer par l'interface web.
Toutes les requêtes et réponses utilisent le format JSON. L'API est accessible à l'adresse de base ci-dessous.
Tous les endpoints sont relatifs à cette URL. Utilisez toujours HTTPS en production.
Chaque requête doit inclure votre clé API dans le header HTTP suivant :
X-Api-Key: msgpro_votre_cle_ici
Récupérez votre clé API avec vos identifiants. Ce endpoint ne nécessite pas de clé API.
| Champ | Type | Requis | Description |
|---|---|---|---|
username | string | Oui | Votre nom d'utilisateur MSG-PRO |
password | string | Oui | Votre mot de passe MSG-PRO |
{
"username": "moncompte",
"password": "monmotdepasse"
}
{
"api_key": "msgpro_abc123...",
"username": "moncompte",
"balance": 97
}
Consultez votre solde et vos expéditeurs approuvés.
{
"username": "moncompte",
"email": "email@example.com",
"balance": 97,
"used": 103,
"senders": ["MonShop", "MaSociete"]
}
Envoyez un SMS à un destinataire unique.
| Champ | Type | Requis | Description |
|---|---|---|---|
to | string | Oui | Numéro destinataire (format local ou international) |
message | string | Oui | Texte du SMS |
sender | string | Optionnel | Sender ID approuvé. Défaut : Msg-Pro |
{
"to": "0851234567",
"message": "Votre commande est prête !",
"sender": "MonShop"
}
{
"status": "sent",
"to": "243851234567",
"sender": "MonShop",
"balance": 96
}
{
"status": "failed",
"error": "Numéro de destination invalide",
"balance": 97
}
Envoyez le même SMS à plusieurs numéros en une seule requête.
| Champ | Type | Requis | Description |
|---|---|---|---|
numbers | array | Oui | Tableau de numéros |
message | string | Oui | Texte du SMS |
sender | string | Optionnel | Sender ID approuvé |
{
"numbers": ["0851234567", "0899876543"],
"message": "Promotion ce weekend !",
"sender": "MonShop"
}
{
"sent": 2,
"failed": 0,
"balance": 95,
"errors": []
}
Planifiez un envoi SMS à une date et heure précises. L'envoi se déclenche automatiquement sans action supplémentaire de votre part.
| Champ | Type | Requis | Description |
|---|---|---|---|
message | string | ✅ | Contenu du SMS (160 caractères max) |
scheduled_at | string | ✅ | Date et heure d'envoi au format Y-m-d H:i (ex: 2026-07-01 09:00). Doit être dans le futur. |
numbers | array | ⚠️ | Tableau de numéros destinataires. Requis si group_id absent. |
group_id | integer | ⚠️ | ID d'un groupe de contacts existant. Requis si numbers absent. |
sender | string | ❌ | Nom du Sender ID approuvé. Par défaut : Msg-Pro. |
{
"message": "Promo spéciale demain dès 8h !",
"scheduled_at": "2026-07-01 08:00",
"numbers": ["0851234567", "0997654321"],
"sender": "MonShop"
}
{
"message": "Rappel : réunion demain à 9h.",
"scheduled_at": "2026-07-01 08:00",
"group_id": 12,
"sender": "MonShop"
}
{
"status": "scheduled",
"id": 47,
"scheduled_at": "2026-07-01 08:00",
"sender": "MonShop",
"message": "Promo spéciale demain dès 8h !"
}
Consultez l'historique de vos SMS envoyés, paginé.
| Paramètre | Défaut | Max | Description |
|---|---|---|---|
page | 1 | — | Numéro de page |
limit | 20 | 100 | Résultats par page |
{
"data": [
{
"id": 1482,
"to": "243851234567",
"sender": "MonShop",
"message": "Votre commande est prête !",
"status": "PENDING",
"date": "2026-05-16 14:30:00"
}
],
"total": 248,
"page": 1,
"limit": 20
}
| Code | Signification |
|---|---|
200 | Succès |
400 | Requête invalide — champs manquants ou incorrects |
401 | Clé API absente, invalide ou compte désactivé |
402 | Crédit SMS insuffisant |
403 | Compte sans clé API — contactez l'administrateur |
422 | SMS non envoyé — numéro invalide, opérateur, heure, etc. |
$ch = curl_init('https://msg-pro.com/api/v1/sms/send'); curl_setopt_array($ch, [ CURLOPT_RETURNTRANSFER => true, CURLOPT_POST => true, CURLOPT_HTTPHEADER => [ 'X-Api-Key: msgpro_votre_cle', 'Content-Type: application/json', ], CURLOPT_POSTFIELDS => json_encode([ 'to' => '0851234567', 'message' => 'Bonjour depuis PHP !', 'sender' => 'MonShop', ]), ]); $response = json_decode(curl_exec($ch), true); echo $response['status']; // "sent"
import requests
r = requests.post(
"https://msg-pro.com/api/v1/sms/send",
headers={"X-Api-Key": "msgpro_votre_cle"},
json={"to": "0851234567", "message": "Bonjour !", "sender": "MonShop"}
)
print(r.json())
const res = await fetch('https://msg-pro.com/api/v1/sms/send', { method: 'POST', headers: { 'X-Api-Key': 'msgpro_votre_cle', 'Content-Type': 'application/json', }, body: JSON.stringify({ to: '0851234567', message: 'Bonjour !', sender: 'MonShop' }), }); const data = await res.json(); console.log(data.status); // "sent"
curl -X POST https://msg-pro.com/api/v1/sms/send \ -H "X-Api-Key: msgpro_votre_cle" \ -H "Content-Type: application/json" \ -d '{"to":"0851234567","message":"Bonjour !","sender":"MonShop"}'
Créez votre compte gratuitement et obtenez 5 SMS offerts pour tester.