AxiomText

Documentation

Documentation officielle de l'API Axiom TEXT

Documentation officielle de l'API Axiom TEXT

Intégrez notre service SMS dans vos applications en quelques minutes

Démarrage rapide

Obtenir votre clé API

Pour utiliser l'API SMS, vous devez d'abord obtenir une clé API. Suivez ces étapes :

  1. Connectez-vous à votre tableau de bord
  2. Accédez à la section "Settings"
  3. Accédez à la partie "API"
  4. Cliquez sur "Générer un token"
  5. Important Copiez immédiatement votre token car il ne sera plus visible par la suite

Authentification

Toutes les requêtes à l'API doivent inclure votre token d'authentification dans l'en-tête HTTP.

En-tête d'authentification

bash
Authorization: Bearer votre_token_ici

Limites de Requêtes

L'API impose une limite de 1000 requêtes par heure, par :

bash
X-RateLimit-Limit: 1000
X-RateLimit-Remaining: nombre_restant
X-RateLimit-Reset: timestamp_reset
Retry-After: secondes_avant_prochain_essai # (uniquement si limite dépassée)

Messages

Envoyer un SMS

Envoyez des SMS à vos utilisateurs avec une signature personnalisée. L'envoi national (au Sénégal) coûte 1 crédit SMS par message, déduit du forfait de l'utilisateur. Pour les envois internationaux, chaque message est facturé 3 crédits.

Endpoint

bash
POST /api/sms/message

Paramètres

json
{
  "to": "+221xxxxxxxxx",
  "message": "Votre message",
  "signature": "Nom de la société" // Optionnel, utilise le nom de la société par défaut
}

Exemples de Code

bash
curl -X POST https://api.axiomtext.com/api/sms/message \
  -H "Authorization: Bearer votre_token_api" \
  -H "Content-Type: application/json" \
  -d '{
    "to": "+221xxxxxxxxx",
    "message": "Votre message",
    "signature": "MaSociete"
  }'

Réponses

Status: 200
json
{
  "success": true,
  "message": "SMS envoyé avec succès",
  "data": {
    "messageId": "123456789",
    "remainingCredits": 999,
    "cost": 1,
    "status": "sent"
  }
}
Status: 400
json
{
  "error": "Numéro de téléphone et message requis",
  "status": 400
}
Status: 403
json
{
  "error": "Crédits SMS insuffisants",
  "status": 403
}

Envoyer un code OTP

Envoyez un code OTP à un numéro de téléphone pour la vérification. L'envoi national (au Sénégal) coûte 1 crédit SMS par message, déduit du forfait de l'utilisateur. Pour les envois internationaux, chaque message est facturé 3 crédits.

Endpoint

bash
POST /api/sms/otp/send

Paramètres

json
{
  "phone": "+221xxxxxxxxx",
  "signature": "Nom de la compagnie" // Optionnel
}

Exemples de Code

bash
curl -X POST https://api.axiomtext.com/api/sms/otp/send \
  -H "Authorization: Bearer votre_token_api" \
  -H "Content-Type: application/json" \
  -d '{
    "phone": "+221xxxxxxxxx",
    "signature": "MaSociete"
  }'

Réponses

Status: 200
json
{
  "success": true,
  "message": "Code OTP envoyé avec succès",
  "remainingCredits": 999
}
Status: 400
json
{
  "error": "Numéro de téléphone requis",
  "status": 400
}
Status: 403
json
{
  "error": "Solde insuffisant",
  "status": 403
}

Vérifier un code OTP

Vérifiez si le code OTP saisi par l'utilisateur est correct.

Endpoint

bash
POST /api/sms/otp/verify

Paramètres

json
{
  "phone": "+221xxxxxxxxx",
  "code": "123456"
}

Exemples de Code

bash
curl -X POST https://api.axiomtext.com/api/sms/otp/verify \
  -H "Authorization: Bearer votre_token_api" \
  -H "Content-Type: application/json" \
  -d '{
    "phone": "+221xxxxxxxxx",
    "code": "123456"
  }'

Réponses

Status: 200
json
{
  "success": true,
  "message": "Code OTP vérifié avec succès"
}
Status: 400
json
{
  "error": "Code OTP expiré ou invalide",
  "status": 400
}
Status: 400
json
{
  "error": "Code OTP incorrect",
  "status": 400
}

Erreurs

Codes d'erreur courants

Status: 401
json
{
  "error": "Token d'authentification manquant"
}
Status: 429
json
{
  "error": "Limite de requêtes dépassée pour cette IP"
}
Status: 403
json
{
  "error": "Crédits SMS insuffisants"
}

Limites de requêtes

Limites Générales

  • Adresse IP
  • Utilisateur (token API)
  • Les limites se réinitialisent toutes les heures

Codes OTP

  • Validité : 1 minute
  • Format : 6 chiffres
  • Un seul code actif par numéro

En-têtes de limite

Chaque réponse inclut des en-têtes pour suivre votre utilisation :

json
{
  "X-RateLimit-Limit": "1000",
  "X-RateLimit-Remaining": "999",
  "X-RateLimit-Reset": "1625097600000",
  "Retry-After": "3600" // Uniquement si limite dépassée
}