Compatibilité de l'API TurboSMS
SMSBAT prend entièrement en charge une couche de compatibilité avec l’API TurboSMS. Cela vous permet de migrer vos intégrations existantes conçues pour TurboSMS directement vers SMSBAT sans avoir à réécrire les structures de messages ou les charges utiles des points de terminaison.
Nous prenons en charge l’envoi de messages SMS et Viber (y compris des fonctionnalités avancées telles que les carrousels et les enquêtes), la récupération des statuts et la récupération des détails des messages en utilisant exactement les mêmes structures de corps de requête que vous connaissez déjà.
Authentification
La seule différence par rapport à l’API native de TurboSMS est le mécanisme d’authentification. Alors que TurboSMS utilise un paramètre de requête « jeton » personnalisé ou un en-tête d’authentification spécifique, SMSBAT nécessite un Bearer Token standard.
Vous devez inclure votre jeton API SMSBAT dans l’en-tête « Autorisation » pour toutes les demandes :
Authorization: Bearer YOUR_SMSBAT_TOKEN
URL de base
Tous les points de terminaison doivent être dirigés vers l’URL de base de l’API SMSBAT :
https://restapi.smsbat.com
Envoyer un seul message
Point de terminaison : POST /api/tsms/message/send
Permet d’envoyer des messages SMS et Viber avec prise en charge de la livraison hybride (Viber avec SMS de secours). Il traite une seule demande d’envoi et renvoie les résultats de livraison pour chaque destinataire.
Capacités clés
- Paramètres flexibles : Les paramètres globaux peuvent être remplacés par des paramètres SMS/Viber spécifiques.
- Contenu : Prend en charge les carrousels Viber, les enquêtes, les pièces jointes et les boutons interactifs.
- Gestion des erreurs : renvoie HTTP 200 même pour les erreurs (réponses d’erreur structurées).
response_code : 999avec le statutFATAL_ERRORpour les erreurs système. - Erreurs du destinataire : Des erreurs de destinataire spécifiques sont renvoyées dans le tableau
response_result. Les destinataires ayant échoué ont « message_id : null » et des codes d’erreur spécifiques.
Exemple de requête (message hybride)
{
"sender": "GlobalSender",
"text": "Test message",
"recipients": ["380951111111", "380952222222"],
"start_time": "2025-09-29T10:00:00Z",
"sequence_id": "seq_12345",
"sms": {
"sender": "SMSSender",
"text": "SMS version of message",
"is_flash": false
},
"viber": {
"sender": "ViberSender",
"text": "Viber version of message",
"ttl": 3600,
"image_url": "https://example.com/image.png",
"caption": "Button text",
"action": "https://google.com",
"count_clicks": true,
"is_transactional": false
}
}
Exemple de demande (Carrousel Viber)
{
"sender": "GlobalSender",
"text": "Check out our products",
"recipients": ["380951111111"],
"viber": {
"sender": "ViberSender",
"text": "Check out our products",
"is_transactional": false,
"carousel": [
{
"title": "Product 1",
"image_url": "https://example.com/product1.jpg",
"button_caption": "Buy Now",
"button_url": "https://example.com/buy/product1",
"link_caption": "Learn More",
"link_url": "https://example.com/product1"
},
{
"title": "Product 2",
"image_url": "https://example.com/product2.jpg",
"button_caption": "Buy Now",
"button_url": "https://example.com/buy/product2",
"link_caption": "Learn More",
"link_url": "https://example.com/product2"
}
]
}
}
Exemple de demande (enquête Viber)
{
"sender": "GlobalSender",
"text": "Please rate our service",
"recipients": ["380951111111"],
"viber": {
"sender": "ViberSender",
"text": "Please rate our service",
"is_transactional": true,
"survey": [
"Excellent",
"Good",
"Average",
"Poor"
]
}
}
Envoyer plusieurs messages (par lots)
Point de terminaison : POST /api/tsms/message/sendmulti
Cette méthode vous permet d’envoyer plusieurs requêtes « envoyer » dans une seule requête HTTP, économisant ainsi la surcharge de connexion. Appeler « sendmulti » avec des données pour 100 requêtes sera plus rapide que d’exécuter 100 requêtes « send » individuelles.
Exemple de demande
{
"batch_1": {
"sender": "GlobalSender",
"text": "Test message",
"recipients": ["380982462128", "380501111111"],
"sms": {
"sender": "SMSSender",
"text": "SMS version of message"
}
},
"batch_2": {
"sender": "GlobalSender",
"text": "Second message",
"recipients": ["380501111111"],
"viber": {
"sender": "ViberSender",
"text": "Viber message",
"is_transactional": true
}
}
}
Exemple de réponse
{
"response_code": 0,
"response_status": "OK",
"response_result": {
"batch_1": {
"response_code": 800,
"response_status": "SUCCESS_MESSAGE_ACCEPTED",
"response_result": [
{
"phone": "380982462128",
"response_code": 0,
"message_id": "f1640579-ea75-4bc1-b708-1c3858bf222d",
"response_status": "OK"
}
]
},
"batch_2": { ... }
}
}
Obtenir l’état du message
Point de terminaison : POST /api/tsms/message/status
Récupérez les statuts de livraison des messages envoyés en fournissant leur « message_id ».
Exemple de demande
{
"messages": [
"573dcb46-7851-4e16-bb1f-721c13ef5f38",
"6b7f9ff5-28c8-4f38-913b-31af6021fbea"
]
}
Obtenir les détails du message
Point de terminaison : POST /api/tsms/message/details
Vous permet de récupérer des informations détaillées sur les messages créés, y compris les détails complets de la charge utile pour les canaux SMS et Viber, les prix et les horodatages exacts.
Exemple de demande
{
"messages": [
"573dcb46-7851-4e16-bb1f-721c13ef5f38",
"f1640579-ea75-4bc1-b708-1c3858bf222d"
]
}
Exemple de réponse
{
"response_code": 0,
"response_status": "OK",
"response_result": [
{
"message_id": "573dcb46-7851-4e16-bb1f-721c13ef5f38",
"sms": null,
"viber": {
"added": "2025-09-29T14:17:02.577Z",
"start": "2025-09-29T10:00:00Z",
"sent": "2025-09-29T14:17:02.577Z",
"updated": "2025-09-29T14:17:02.577Z",
"sender": "ViberSender",
"text": "Viber version of message",
"recipient": "380982462128",
"message_type": "promotional",
"status": "Queued",
"price": 0,
"ttl": 3600,
"caption": "Button text",
"action": "https://google.com"
},
"response_code": 0,
"response_status": "OK"
}
]
}