Documentation Développeur & API
Connectez vos applications, ERP, boutiques e-commerce ou systèmes CRM directement à l'infrastructure SMS de TextMe pour automatiser vos envois en toute fiabilité en Algérie.
Ce que notre API prend en charge
SMS Transactionnels
Confirmations automatiques de commandes e-commerce, récapitulatifs d'achats, factures et avis de livraison.
Codes OTP & 2FA
Génération et expédition en moins de 3 secondes avec priorité maximale pour l'authentification et la réinitialisation.
Alertes & Rappels
Rappels de rendez-vous médicaux, échéances de paiement, avis administratifs et notifications système.
Accusés DLR en direct
Statuts de remise certifiés par Mobilis, Djezzy et Ooredoo pour chaque SMS envoyé en temps réel.
🌐 Base URL
Toutes les requêtes doivent être sécurisées via HTTPS et authentifiées avec un Bearer Token.
🛡️ Masques & Sender IDs
Chaque compte possède un ou plusieurs Sender IDs approuvés (max 11 caractères). Par défaut, l'API utilise automatiquement votre masque principal. Vous pouvez spécifier un autre masque via le paramètre sender_id.
INVALID_MASK sans impacter votre solde.
🇩🇿 Formats acceptés
TextMe normalise automatiquement vos numéros de téléphone :
- 0555 12 34 56 National
- 555 12 34 56 9 chiffres
- 213555 12 34 56 International
Prêt à tester ?
Créez votre compte en quelques secondes pour générer votre premier token d'accès.
/api/sms/send
Permet d'envoyer un ou plusieurs SMS avec routage instantané sur les 3 réseaux (Mobilis, Djezzy, Ooredoo). Prend en charge le masque par défaut automatique, la spécification d'un masque global ou un masque différent pour chaque destinataire.
| Champ | Type | Requis | Description |
|---|---|---|---|
| sender_id | string (1-11 car.) | Optionnel | Masque global. Si omis, votre masque par défaut est utilisé. |
| messages | array | Requis | Tableau de 1 à 1 000 messages. |
| messages[].to | string | Requis | Numéro de téléphone du destinataire. |
| messages[].message | string | Requis | Texte du SMS (GSM 7-bit ou Arabe Unicode). |
| messages[].sender_id | string (1-11 car.) | Optionnel | Masque spécifique pour ce destinataire. |
{
"sender_id": "MYSHOP",
"messages": [
{
"to": "0555123456",
"message": "Bonjour Ahmed, votre commande #4829 est confirmée !"
},
{
"to": "0661987654",
"message": "Votre commande #4830 est en cours de livraison."
}
]
}
{
"success": true,
"results": [
{
"to": "0555123456",
"sender_id": "MYSHOP",
"status": "sent",
"message_id": "icosnet-msg-98124"
}
]
}
{
"success": false,
"error": "Invalid mask: The Sender ID 'BANK' is not registered or approved for this account.",
"error_code": "INVALID_MASK",
"approved_sender_ids": ["MYSHOP", "TextMe"]
}
/api/senders
(ou /api/masks)Retourne la liste de tous les Sender IDs autorisés pour votre token ainsi que votre masque par défaut actif.
{
"success": true,
"data": {
"default_sender_id": "TextMe",
"senders": [
{
"sender_id": "TextMe",
"status": "approved",
"is_default": true
},
{
"sender_id": "MYSHOP",
"status": "approved",
"is_default": false
}
]
}
}
/api/credit
Retourne le solde disponible en nombre de SMS, le solde en DZD, le tarif unitaire et vos masques configurés.
{
"success": true,
"data": {
"credit_sms": 1250,
"free_sms": 0,
"balance_dzd": 6250.0,
"price_per_sms_dzd": 5.0,
"default_sender_id": "TextMe",
"approved_sender_ids": ["TextMe", "MYSHOP"]
}
}
Exemples de code d'intégration
Sélectionnez votre langage pour démarrer en quelques minutes.
curl -X POST https://textmedz.com/api/sms/send \
-H "Authorization: Bearer VOTRE_TOKEN_ICI" \
-H "Content-Type: application/json" \
-d '{
"sender_id": "MYSHOP",
"messages": [
{
"to": "0555123456",
"message": "Bonjour Ahmed, votre commande #4829 est confirmée !"
}
]
}'
Codes d'Erreurs & Statuts HTTP
Référence complète des codes retournés par l'API pour faciliter votre gestion d'erreurs :
| HTTP | Code Interne | Description |
|---|---|---|
| 200 | - | Tous les SMS ont été envoyés avec succès. |
| 207 | MIXED | Statut mixte (certains SMS réussis, d'autres échoués). |
| 401 | UNAUTHORIZED | Token invalide, manquant ou révoqué. |
| 422 | INVALID_MASK | Le Sender ID demandé n'est pas autorisé pour ce compte. |
| 422 | INSUFFICIENT_BALANCE | Solde portefeuille DZD insuffisant pour acheminer le SMS. |
| 429 | RATE_LIMITED | Limite de débit dépassée (1 000 req/min). |