Aller au contenu

Documentation API

Référence de l'API SMS Gold

Une API REST pour envoyer des SMS depuis vos applications : authentification par clé Bearer, réponses JSON, crédits pré-débités et remboursés automatiquement en cas de rejet.

Vue d'ensemble

L'API SMS Gold vous permet d'envoyer des SMS unitaires directement depuis votre code, sans passer par l'interface web. Chaque requête est authentifiée par une clé API et consomme un crédit par SMS envoyé.

Prérequis

  1. Un compte activé : la mise en service de l'envoi est réglée depuis votre espace.
  2. Un nom d'expéditeur approuvé : au moins un Sender ID validé par notre équipe, nécessaire pour créer une clé API.
  3. Des crédits SMS : un crédit par SMS, achetés depuis votre espace (voir les tarifs).

Authentification

Toutes les requêtes doivent inclure l'en-tête Authorization avec votre clé API au format Bearer :

En-tête HTTP
Authorization: Bearer sk_live_xxxxxxxxxxxxxxxx

Créez et révoquez vos clés depuis Paramètres → Clés API dans votre espace, jusqu'à 5 clés actives. Conservez-les côté serveur (variable d'environnement), jamais dans une application mobile ou un dépôt de code public.

URL de base

URL de base
https://smsgold.tornixtech.com/api/v2

Toutes les communications sont chiffrées en TLS (HTTPS).

POST/sms/send

Envoyer un SMS

Envoie un SMS à un numéro. Un crédit est consommé par envoi.

Corps de la requête (JSON)

ChampTypeRequisDescription
tostringOuiNuméro destinataire au format international (+225…).
messagestringOuiContenu du SMS. Un SMS standard contient jusqu'à 160 caractères.
sender_namestringOuiNom d'expéditeur approuvé pour votre compte (11 caractères maximum).

Exemples

curl -X POST https://smsgold.tornixtech.com/api/v2/sms/send \
  -H "Authorization: Bearer $SMSGOLD_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "to": "+2250700000000",
    "message": "Bonjour Awa, votre commande n°1042 est prête. Retrait dès aujourd'\''hui.",
    "sender_name": "MABOUTIQUE"
  }'

Réponse en cas de succès

200 OK
{
  "success": true,
  "message_id": "tel%3A%2B2250700000000-abc123",
  "status": "sent",
  "credits_remaining": 498,
  "error": null
}

message_id est l'identifiant attribué par l'opérateur. credits_remaining indique votre solde après l'envoi.

Réponse si le solde est insuffisant

402 Payment Required
{
  "success": false,
  "error": "Crédits insuffisants",
  "available": 0
}

GET/account/credits

Consulter le solde

Retourne le solde de crédits SMS disponibles pour votre compte.

curl https://smsgold.tornixtech.com/api/v2/account/credits \
  -H "Authorization: Bearer $SMSGOLD_API_KEY"

Réponse

200 OK
{
  "success": true,
  "company": "Ma Boutique SARL",
  "credits": 499
}

Crédits et remboursements

Le crédit est pré-débité au moment de la requête, puis remboursé automatiquement si l'opérateur confirme ne pas avoir traité l'envoi.

SituationCrédit rembourséRaison
Solde insuffisant (402)Aucun débitLa requête est refusée avant l'envoi.
L'opérateur accepte le SMSNonSMS envoyé.
L'opérateur rejette la requête (4xx)OuiRejet explicite : le SMS n'est jamais parti.
Connexion impossibleOuiLa requête n'a jamais atteint l'opérateur.
Erreur serveur opérateur (5xx)NonLe SMS a pu être mis en file d'attente.
Délai de réponse dépasséNonLa requête est partie ; le SMS est peut-être en route.

Sur une erreur 502, un crédit peut avoir été consommé sans confirmation. En cas de doute, consultez votre solde avec GET /account/credits avant de relancer l'envoi, pour éviter un doublon chez votre destinataire.

Noms d'expéditeur

Le champ sender_name doit correspondre exactement à un nom d'expéditeur approuvé pour votre compte. Un nom en attente de validation, ou appartenant à un autre compte, est refusé.

Conditions d'approbation

  • 1 à 11 caractères alphanumériques, sans caractères spéciaux.
  • Cohérence avec l'activité déclarée et le site web fourni.
  • Validation par notre équipe sous 2 à 3 jours ouvrés.
  • Le premier nom est inclus dans la mise en service ; chaque nom supplémentaire est facturé (voir les tarifs).

Soumettez vos demandes depuis Facturation → Noms d'expéditeur dans votre espace.

Erreur renvoyée si le nom n'est pas approuvé

422 Unprocessable Entity
{
  "success": false,
  "error": "Expéditeur \"MON_NOM\" non approuvé pour ce compte"
}

Codes d'erreur

Les erreurs suivent toujours le format { "success": false, "error": "…" }.

CodeStatutCause
401UnauthorizedClé API absente, invalide ou révoquée.
402Payment RequiredCrédits insuffisants pour l'envoi (aucun débit).
403ForbiddenCompte désactivé, ou aucun nom d'expéditeur approuvé.
422Unprocessable EntityChamp manquant (to, message, sender_name) ou nom d'expéditeur non approuvé pour ce compte.
502Bad GatewayL'opérateur n'a pas confirmé l'envoi. Si le rejet est certain, le crédit est remboursé automatiquement.

Limites

RessourceLimite
Clés API actives par compte5
Destinataires par requête1
Longueur d'un SMS standard160 caractères
Nom d'expéditeur11 caractères alphanumériques
Format du numéroInternational E.164 (+225XXXXXXXXXX)
Délai d'attente côté opérateur15 secondes

Besoin d'aide ?

Consultez la FAQ ou écrivez-nous via la page contact (réponse sous 24 h ouvrées). Pour une vue d'ensemble des possibilités de l'API, voir la page API SMS.