API SMS & intégrations
Envoyez des SMS depuis votre site, votre logiciel ou votre boutique en quelques lignes de code.
Développeurs
Une API simple, en HTTPS
Une seule URL, une clé API et des réponses JSON : connectez votre application à EMISMS sans SDK ni jeton à renouveler.
- Créez votre compte et rechargez votre crédit SMS.
- Récupérez votre clé API dans l’espace client, menu Développeur / API.
- Faites approuver votre Sender ID, le nom affiché comme expéditeur.
- Envoyez votre premier SMS : la réponse
"code": "ok"confirme l’envoi.
Déjà client ? Afficher ma clé API · Pas de compte ? Ouvrir un compte
curl -X POST "https://app.emisms.com/sms/api?action=send-sms&api_key=VOTRE_CLE_API" \ --data-urlencode "to=2250707070707" \ --data-urlencode "from=EMISMS" \ --data-urlencode "sms=Bonjour, votre commande est prete."
$query = http_build_query(['action' => 'send-sms', 'api_key' => getenv('EMISMS_API_KEY')]);
$response = file_get_contents('https://app.emisms.com/sms/api?' . $query, false, stream_context_create(['http' => [
'method' => 'POST',
'header' => 'Content-Type: application/x-www-form-urlencoded',
'content' => http_build_query([
'to' => '2250707070707',
'from' => 'EMISMS',
'sms' => 'Bonjour, votre commande est prete.',
]),
]]));
$result = json_decode($response, true);
echo $result['code'] === 'ok' ? 'Envoye' : 'Erreur ' . $result['code'];
const params = new URLSearchParams({ action: 'send-sms', api_key: process.env.EMISMS_API_KEY });
const res = await fetch(`https://app.emisms.com/sms/api?${params}`, {
method: 'POST',
body: new URLSearchParams({ to: '2250707070707', from: 'EMISMS', sms: 'Bonjour, votre commande est prete.' }),
});
const result = await res.json();
console.log(result.code === 'ok' ? 'Envoye' : 'Erreur ' + result.code);
import os, requests
result = requests.post(
"https://app.emisms.com/sms/api",
params={"action": "send-sms", "api_key": os.environ["EMISMS_API_KEY"]},
data={"to": "2250707070707", "from": "EMISMS", "sms": "Bonjour, votre commande est prete."},
timeout=30,
).json()
print("Envoye" if result["code"] == "ok" else "Erreur " + result["code"])
Réponse
{
"code": "ok",
"message": "Successfully Send",
"balance": 23976,
"sms": 999,
"user": "Votre entreprise"
}
Référence
Ce que permet l’API
URL de base : https://app.emisms.com. Les paramètres action et api_key vont dans l’URL, les autres dans l’URL ou dans le corps du formulaire, en UTF-8.
POST
Envoyer un SMS
/sms/api?action=send-sms
Envoi immédiat à 1 à 100 numéros séparés par des virgules. Paramètres : to, from, sms.
POST
Programmer un envoi
/sms/api?action=send-sms
Même requête avec le paramètre schedule (MM/JJ/AAAA HH:MM AM|PM, heure d’Abidjan). Paramètres : to, from, sms, schedule.
GET
Consulter le solde
/sms/api?action=check-balance
Crédit disponible en FCFA et en nombre de SMS.
GET
Historique des SMS
/sms/api?action=get-inbox
Messages envoyés avec leur statut, paginés. Paramètres : limit, page.
POST
Ajouter un contact
/contacts/api?action=subscribe-us
Inscrit un numéro dans une de vos listes, par exemple depuis un formulaire de votre site. Paramètres : phone_book, phone_number.
Codes de réponse
Le statut HTTP est toujours 200 : testez le champ code de la réponse JSON.
ok | Requête acceptée |
102 | Clé API invalide ou accès API non activé |
103 | Numéro invalide : tout le lot est refusé |
105 | Crédit insuffisant ou pays non couvert |
106 | Sender ID non approuvé pour le compte |
109 | Date de programmation au mauvais format |
113 | Plus de 100 numéros dans une requête |
Bon à savoir
- Numéros au format international sans « + » :
2250707070707. - 100 destinataires par requête ; au-delà, envoyez par lots.
- 160 caractères par SMS sans accent, 70 avec accents ou emojis.
- Les numéros de votre liste noire sont retirés automatiquement.
- Gardez la clé côté serveur, jamais dans une page web ou une appli mobile.