Retour à l'accueil
Produit

SMS & OTP

Envoyez des SMS de notification, des campagnes marketing et des codes OTP de vérification avec une API simple, rapide et stable — pensée pour les équipes techniques en Afrique de l'Ouest.

API REST stable
Webhooks de statut
Couverture multi-pays
Callisto
12:04

Promo

Bonjour Aïcha, profitez de -20% sur votre prochaine commande avec le code WELCOME20.

il y a 1 min

Code de vérification

482·193

expire dans 5 min

Un canal, plusieurs usages

Le SMS reste le canal le plus universel et le plus fiable en Afrique de l'Ouest. Voici comment nos clients l'utilisent au quotidien.

Notifications

Confirmations de commande, rappels de rendez-vous, mises à jour de livraison.

Marketing

Campagnes promotionnelles ciblées avec suivi de livraison et taux d'ouverture.

OTP & 2FA

Codes à usage unique pour inscription, connexion et opérations sensibles.

Alertes

Notifications critiques pour vos équipes opérationnelles et oncall.

Comment ça marche

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.

1

Demande de code

Votre backend appelle POST /otp/request avec un numéro de téléphone.

2

Livraison SMS

Callisto génère un code à 6 chiffres, le hashe et l'envoie par SMS à l'utilisateur en quelques secondes.

3

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.

cURL Envoyer un SMS
# Envoi d'un SMS simple
curl -X POST \
  https://api.callistosignal.com/v1/sms/send \
  -H "Authorization: Bearer $TOKEN" \
  -H "Content-Type: application/json" \
  -d '{
    "to": "+22507XXXXXXXX",
    "message": "Votre commande #4821 est expédiée."
  }'
PHP Demander un OTP
// OTP avec PHP cURL
$ch = curl_init('https://api.callistosignal.com/v1/otp/request');
curl_setopt_array($ch, [
  CURLOPT_POST => true,
  CURLOPT_HTTPHEADER => [
    'Authorization: Bearer '.$token,
    'Content-Type: application/json',
  ],
  CURLOPT_POSTFIELDS => json_encode([
    'phone' => '+22507XXXXXXXX',
  ]),
]);
$response = curl_exec($ch);
Node.js Vérifier un OTP
// Vérification d'un code OTP
const res = await fetch(
  'https://api.callistosignal.com/v1/otp/verify',
  {
    method: 'POST',
    headers: {
      'Authorization': `Bearer ${token}`,
      'Content-Type': 'application/json',
    },
    body: JSON.stringify({
      phone: '+22507XXXXXXXX',
      code:  '482193',
    }),
  }
);
const { verified } = await res.json();
Tableau de bord

Tout votre trafic SMS, en un coup d'œil

Statistiques en temps réel, historique des envois, statuts de livraison — sans avoir à interroger l'API.

app.callistosignal.com/sms/dashboard

Envoyés aujourd'hui

12 480

+18,2% vs hier

Taux de livraison

98,7%

stable sur 7j

OTP vérifiés

3 142

94,1% en < 60s

Top pays

CI

SN · BJ · ML

Envois sur 24h

UTC+0

Messages récents

10 derniers
Destinataire Message Statut Envoyé
+225 07 12 34 56 78 Votre commande #4821 est expédiée. Livré 12:04
+221 77 88 99 00 Code de vérification : 482193 Livré 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. Livré 11:58

Tarification simple et transparente

Pas d'abonnement, pas de frais cachés — vous payez ce que vous envoyez. OTP et SMS standards facturés au même tarif.

SMS Local

Afrique de l'Ouest

Côte d'Ivoire, Sénégal, Bénin, Mali, Togo, Burkina Faso…

10 FCFA / SMS

SMS International

Reste du monde

Europe, Amérique du Nord, Maghreb, et autres destinations.

30 FCFA / SMS

Volume élevé ? Contactez-nous pour un tarif négocié à partir de 100 000 SMS / mois.

Questions fréquentes

Quels pays sont couverts ?

L'Afrique de l'Ouest (Côte d'Ivoire, Sénégal, Bénin, Mali, Togo, Burkina Faso, Niger, Guinée) est couverte au tarif local. Plus de 180 destinations supplémentaires sont disponibles au tarif international.

Combien de temps un code OTP est-il valide ?

Par défaut, un OTP expire après 5 minutes. La durée est configurable (1 à 15 minutes) au moment de la requête.

Puis-je personnaliser l'expéditeur (Sender ID) ?

Oui — un Sender ID alphanumérique (jusqu'à 11 caractères) peut être configuré depuis le tableau de bord. Validation par l'opérateur sous 24 à 72h selon le pays.

Comment suivre le statut de livraison ?

Chaque message a un identifiant unique. Vous pouvez interroger son statut via l'API ou recevoir des notifications en temps réel via webhook (sent, delivered, failed).

Y a-t-il des limites de débit ?

100 requêtes/seconde par défaut, ajustable sur demande. Les envois en masse passent par l'endpoint /sms/batch sans limite de volume.

Prêt à envoyer votre premier SMS ?

Créez un compte en moins de deux minutes. Crédit d'essai offert pour valider votre intégration.