SMS & OTP
Envoyez des SMS de notification, des campagnes et des codes OTP depuis votre application avec une API REST. Chaque SMS est payé avec vos crédits, sans abonnement.
Promo
Bonjour Aïcha, profitez de -20% sur votre prochaine commande avec le code WELCOME20.
il y a 1 minCode de vérification
482·193
expire dans 5 minUn canal, plusieurs usages
Un SMS arrive sur tous les téléphones, même sans Internet. Voici à quoi il sert le plus souvent.
Notifications
Confirmations de commande, rappels de rendez-vous, mises à jour de livraison.
Marketing
Une campagne part en une requête vers toute une liste de numéros, tout de suite ou à l'heure choisie.
OTP & 2FA
Codes à usage unique pour inscription, connexion et opérations sensibles.
Alertes
Alertes urgentes pour vos équipes d'astreinte.
OTP en trois étapes
Génération, livraison et vérification gérées côté API — vous appelez deux endpoints, nous gérons le reste.
Demande de code
Votre backend appelle POST /otp/send avec un numéro de téléphone.
Livraison SMS
Callisto génère un code, de 6 chiffres par défaut, et l'envoie par SMS ou par WhatsApp à l'utilisateur.
Vérification
L'utilisateur saisit le code. Vous appelez POST /otp/verify et recevez un statut.
Intégration en quelques lignes
Notre API REST est utilisable depuis n'importe quel langage. Voici trois exemples.
# Envoyer un SMS curl -X POST \ https://api.callistosignal.com/v1/sms/send \ -u 'ak_xxx:sk_xxx' \ -H "Content-Type: application/json" \ -d '{ "to": "+22507XXXXXXXX", "message": "Votre commande #4821 est expédiée." }'
// Envoyer un code OTP, valable 5 minutes $ch = curl_init('https://api.callistosignal.com/v1/otp/send'); curl_setopt_array($ch, [ CURLOPT_POST => true, CURLOPT_USERPWD => 'ak_xxx:sk_xxx', CURLOPT_HTTPHEADER => ['Content-Type: application/json'], CURLOPT_POSTFIELDS => json_encode([ 'to' => '+22507XXXXXXXX', 'message' => 'Votre code de vérification est {code}', 'expired_in' => 300, ]), CURLOPT_RETURNTRANSFER => true, ]); $otp = json_decode(curl_exec($ch), true);
// Vérifier le code saisi, avec l'id renvoyé à l'envoi const res = await fetch( 'https://api.callistosignal.com/v1/otp/verify', { method: 'POST', headers: { 'Authorization': 'Basic ' + btoa('ak_xxx:sk_xxx'), 'Content-Type': 'application/json', }, body: JSON.stringify({ otp_id: otp.id, code: '482193', }), } ); const { verified } = await res.json();
Tout votre trafic SMS, en un coup d'œil
L'historique des envois et le statut de chaque message, sans interroger l'API.
Envoyés aujourd'hui
12 480
OTP vérifiés
3 142
aujourd'hui
Top pays
CI
SN · BJ · ML
Envois sur 24h
UTC+0Messages récents
10 derniers| Destinataire | Message | Statut | Envoyé |
|---|---|---|---|
| +225 07 12 34 56 78 | Votre commande #4821 est expédiée. | Envoyé | 12:04 |
| +221 77 88 99 00 | Code de vérification : 482193 | Envoyé | 12:03 |
| +229 96 12 34 56 | Promo -20% avec WELCOME20. | Envoyé | 12:02 |
| +223 65 43 21 09 | Alerte : seuil de monitoring atteint. | En cours | 12:01 |
| +225 05 67 89 01 | Rappel : rendez-vous demain à 10h. | Envoyé | 11:58 |
Tarification simple et transparente
Pas d'abonnement : chaque SMS est débité de vos crédits au moment de l'envoi.
Facturation en FCFA. Montants convertis à titre indicatif.
SMS Local
Dans votre paysVers un numéro du pays de votre compte.
15 FCFA / SMS
SMS International
Vers l'étrangerVers les autres pays desservis.
30 FCFA / SMS
Gros volumes ? Contactez-nous : un tarif propre à votre compte est possible.
Questions fréquentes
Quels pays sont couverts ?
Les SMS partent vers les pays que Callisto dessert. Un numéro du pays de votre compte est au tarif local, les autres au tarif international. L'API refuse un numéro d'un pays non desservi, sans rien débiter.
Combien de temps un code OTP reste-t-il valide ?
Vous fixez la durée à chaque demande, d'une minute à 24 heures. L'utilisateur a trois essais pour saisir le bon code.
Puis-je personnaliser l'expéditeur (Sender ID) ?
Oui : un nom de 2 à 11 lettres ou chiffres, demandé depuis le tableau de bord. Notre équipe le valide, puis vous prévient par e-mail.
Comment suivre un message ?
Chaque message a un identifiant. Vous suivez son statut avec GET /v1/sms/{id} ou dans le tableau de bord.
Y a-t-il des limites de débit ?
30 requêtes d'envoi et 60 requêtes de lecture par minute. Pour une campagne, un seul appel à /v1/sms/send accepte toute une liste de numéros.
Prêt à envoyer votre premier SMS ?
Créez un compte, rechargez vos crédits par mobile money et envoyez votre premier SMS.