API SMS WebTic — Guide d'intégration REST
L'API SMS WebTic suit les standards REST. Les requêtes utilisent JSON, l'authentification par Bearer token.
Endpoint principal
POST https://api.webtic.online/v1/sms/send
Authorization: Bearer VOTRE_CLE_API
Content-Type: application/json
Corps de la requête
{
"to": "+33612345678",
"from": "WebTic",
"body": "Votre code de vérification : 483921",
"callback_url": "https://votreapp.com/webhooks/sms"
}
Paramètres
| Paramètre | Type | Requis | Description |
to | string | Oui | Numéro au format E.164 (ex: +33612345678) |
from | string | Oui | Expéditeur (max 11 car. alphanumériques) |
body | string | Oui | Contenu du message (160 car. = 1 SMS) |
callback_url | string | Non | Webhook pour accusé de réception |
validity_period | int | Non | Expiration en secondes (défaut: 72h) |
Codes de réponse HTTP
| Code | Signification |
| 200 OK | SMS accepté — inclut un message_id |
| 400 Bad Request | Paramètres invalides (numéro mal formaté, champ manquant) |
| 401 Unauthorized | Clé API invalide ou expirée |
| 429 Too Many Requests | Limite de taux dépassée |
| 500 Server Error | Erreur côté serveur — réessayer |
Exemple curl
curl -X POST https://api.webtic.online/v1/sms/send \
-H "Authorization: Bearer sk_live_abc123xyz" \
-H "Content-Type: application/json" \
-d '{"to":"+33612345678","from":"WebTic","body":"Votre commande est confirmée."}'
Webhook — Accusé de réception
{
"message_id": "msg_12345",
"status": "delivered",
"timestamp": "2026-04-08T15:30:45Z",
"code": "0",
"description": "Message delivered to handset"
}
Codes de statut de livraison
- 0 — Livré avec succès
- 1 — Échec : numéro invalide
- 8 — Échec : numéro blacklisté
- 25 — Échec : Sender ID invalide
Limites et bonnes pratiques
- Un SMS = 160 caractères (GSM 7-bit). Au-delà, le message est découpé en segments de 153 caractères.
- Les caractères spéciaux (€, accents hors GSM) basculent en encodage Unicode 16-bit : limite réduite à 70 caractères/SMS.
- Implémentez un système de retry avec backoff exponentiel pour les erreurs 500/429.