Documentation API

Guide complet pour intégrer l'API SMS Callisto

Démarrage rapide

Intégrez l'envoi de SMS en quelques minutes avec notre API REST simple et puissante.

1

Créer un compte

Inscrivez-vous gratuitement sur Callisto

2

Obtenir une clé API

Générez votre clé dans le tableau de bord

3

Envoyer un SMS

Faites votre premier appel API

Authentification

Toutes les requêtes API utilisent l'authentification Basic Auth avec vos identifiants API.

Vos identifiants

Paramètre Description
access_key Votre clé d'accès (utilisateur Basic Auth)
access_secret Votre clé secrète (mot de passe Basic Auth)

Format de l'en-tête

Authorization: Basic base64(access_key:access_secret)

Exemple avec cURL

curl https://api.callisto.com/v1/sms/balance \
	-u "YOUR_ACCESS_KEY:YOUR_ACCESS_SECRET"

Important : Ne partagez jamais vos identifiants API et ne les exposez pas côté client.

URL de base

https://api.callisto.com/v1

Envoyer un SMS

POST /sms/send

Paramètres

Paramètre Type Requis Description
to string | array Oui Numéro(s) de téléphone du/des destinataire(s) (format international)
message string Oui Contenu du message (max 1600 caractères)
sender_id string Non Identifiant de l'expéditeur (doit être approuvé)
scheduled_at datetime Non Date et heure d'envoi programmé (ISO 8601)

Exemple de requête

curl -X POST https://api.callisto.com/v1/sms/send \
	-u "YOUR_ACCESS_KEY:YOUR_ACCESS_SECRET" \
	-H "Content-Type: application/json" \
	-d '{
	"to": ["+22507XXXXXXXX"],
	"message": "Bonjour ! Votre code de vérification est 123456",
	"sender_id": "CALLISTO"
	}'

Réponse

{
	"success": true,
	"data": {
	"id": "msg_abc123xyz",
	"to": ["+22507XXXXXXXX"],
	"status": "queued",
	"credits_used": 1,
	"created_at": "2026-02-01T10:30:00Z"
	}
	}

Envoi en masse

POST /sms/bulk

Envoyez le même message à plusieurs destinataires en une seule requête.

Exemple de requête

curl -X POST https://api.callisto.com/v1/sms/bulk \
	-u "YOUR_ACCESS_KEY:YOUR_ACCESS_SECRET" \
	-H "Content-Type: application/json" \
	-d '{
	"recipients": [
	"+22507XXXXXXXX",
	"+22508XXXXXXXX",
	"+22509XXXXXXXX"
	],
	"message": "Promotion : -20% sur tous nos produits !",
	"sender_id": "CALLISTO"
	}'

Vérifier le solde

GET /sms/balance

Exemple de requête

curl https://api.callisto.com/v1/sms/balance \
	-u "YOUR_ACCESS_KEY:YOUR_ACCESS_SECRET"

Réponse

{
	"success": true,
	"data": {
	"credits": 5000,
	"currency": "FCFA"
	}
	}

Statut d'un message

GET /sms/{'{message_id}'}

Statuts possibles

Statut Description
queued Le message est en file d'attente
sent Le message a été envoyé à l'opérateur
delivered Le message a été livré au destinataire
failed L'envoi du message a échoué

Codes d'erreur

Code Description
400 Requête invalide - vérifiez les paramètres
401 Non autorisé - clé API invalide ou manquante
402 Crédits insuffisants
404 Ressource non trouvée
429 Limite de requêtes dépassée
500 Erreur serveur interne

Limites de requêtes

Pour garantir la stabilité du service, les limites suivantes s'appliquent :

  • 100 requêtes/minute pour les endpoints d'envoi de SMS
  • 1000 requêtes/minute pour les endpoints de lecture
  • 10 000 SMS/jour par défaut (contactez-nous pour augmenter)

Les en-têtes de réponse incluent des informations sur vos limites actuelles :

X-RateLimit-Limit: 100
	X-RateLimit-Remaining: 95
	X-RateLimit-Reset: 1706789400

Webhooks

Recevez des notifications en temps réel sur le statut de vos messages. Configurez votre URL de webhook dans le tableau de bord.

Exemple de payload

{
	"event": "message.delivered",
	"data": {
	"id": "msg_abc123xyz",
	"to": "+22507XXXXXXXX",
	"status": "delivered",
	"delivered_at": "2026-02-01T10:30:15Z"
	},
	"timestamp": "2026-02-01T10:30:16Z"
	}

SDKs & Bibliothèques

PHP

Composer package

composer require callisto/php-sdk

JavaScript / Node.js

NPM package

npm install @callisto/sdk

Python

PyPI package

pip install callisto-sdk

Ruby

RubyGems package

gem install callisto-ruby

Besoin d'aide ?

Notre équipe technique est disponible pour vous aider à intégrer l'API Callisto.