Envoyer un message
Envoyez des messages via l’API SMSBAT à l’aide du point de terminaison /bat/messagelist.
Point de terminaison
POST /bat/messagelist
Structure de la demande
Le corps de la requête est un tableau JSON d’objets de message :
{
"messages": [
{
"from": "YourSender",
"to": "+380XXXXXXXXX",
"type": "sms",
"text": "Your message text",
"customerMessageId": "your-internal-id",
"ttl": 3600
}
]
}
Paramètres
Paramètres requis
| Paramètre | Tapez | Descriptif |
|---|---|---|
de | chaîne | ID d’expéditeur alphanumérique |
à | chaîne | Numéro de téléphone du destinataire au format E.164 (par exemple +380XXXXXXXXX) |
type | chaîne | Type de message : sms, viber_promo, viber_trans, viber_carousel, viber_survey, viber_otp, rcs, flashcall |
texte | chaîne | Contenu du message (obligatoire pour la plupart des types, facultatif pour certains) |
Paramètres facultatifs
| Paramètre | Tapez | Descriptif |
|---|---|---|
customerMessageId | chaîne | Votre identifiant interne pour le suivi |
ttl | entier | Durée de vie en secondes |
messageDonnées | objet | Configuration spécifique au type (varie selon le type de message) |
Authentification
Choisissez l’une des trois méthodes d’authentification :
=== “En-tête de clé API”
```bash
curl -X POST https://restapi.smsbat.com/bat/messagelist \
-H "X-Authorization-Key: your-api-key" \
-H "Content-Type: application/json" \
-d '{
"messages": [{
"from": "YourSender",
"to": "+380XXXXXXXXX",
"type": "sms",
"text": "Hello from SMSBAT!"
}]
}'
```
=== “Authentification HTTP de base”
```bash
curl -X POST https://restapi.smsbat.com/bat/messagelist \
-u "username:password" \
-H "Content-Type: application/json" \
-d '{
"messages": [{
"from": "YourSender",
"to": "+380XXXXXXXXX",
"type": "sms",
"text": "Hello from SMSBAT!"
}]
}'
```
=== “Clé API comme mot de passe”
```bash
curl -X POST https://restapi.smsbat.com/bat/messagelist \
-u "@:your-api-key" \
-H "Content-Type: application/json" \
-d '{
"messages": [{
"from": "YourSender",
"to": "+380XXXXXXXXX",
"type": "sms",
"text": "Hello from SMSBAT!"
}]
}'
```
Réponse
Réponse réussie
{
"messagelistId": 123456,
"messages": [
{
"messageId": "abc123def456",
"status": "accepted",
"parts": 1,
"customerMessageId": "your-internal-id",
"to": "+380XXXXXXXXX"
}
]
}
Champs de réponse
| Champ | Tapez | Descriptif |
|---|---|---|
messagelistId | entier | Identifiant unique de la liste de messages |
messageId | chaîne | Identifiant unique pour chaque message |
statut | chaîne | Statut du message : accepté, rejeté, échec |
pièces | entier | Nombre de parties du message (pour SMS) |
customerMessageId | chaîne | Votre identifiant interne (si fourni) |
à | chaîne | Numéro de téléphone du destinataire |
Types de messages
SMS
SMS simples :
{
"from": "YourSender",
"to": "+380XXXXXXXXX",
"type": "sms",
"text": "Your SMS message text"
}
Promo Viber
Messages promotionnels avec rich media :
{
"from": "YourSender",
"to": "+380XXXXXXXXX",
"type": "viber_promo",
"text": "Check out our new product!",
"messageData": {
"image": "https://example.com/image.jpg",
"button": {
"text": "View Product",
"url": "https://example.com/product"
}
}
}
Viber Transactionnel
Notifications de transactions :
{
"from": "YourSender",
"to": "+380XXXXXXXXX",
"type": "viber_trans",
"text": "Your order #12345 has been confirmed"
}
Viber OTP
Notifications de mot de passe uniques :
{
"from": "YourSender",
"to": "+380XXXXXXXXX",
"type": "viber_otp",
"messageData": {
"code": "123456",
"validity": 300
}
}
Gestion des erreurs
Codes d’état HTTP
| Codes | Descriptif |
|---|---|
| 200 | Demande réussie |
| 400 | Requête incorrecte – paramètres invalides |
| 401 | Non autorisé - échec de l’authentification |
| 429 | Trop de requêtes – limite de débit dépassée |
| 500 | Erreur de serveur interne |
Réponse d’erreur
{
"error": {
"code": "INVALID_RECIPIENT",
"message": "Invalid phone number format"
}
}
## meilleures pratiques
Format du numéro de téléphone
Utilisez toujours le format E.164 pour les numéros de téléphone :
- ✅ Correct :
+380XXXXXXXXX - ❌ Incorrect :
380XXXXXXXXX,0XXXXXXXXX
Texte du message
- Gardez les SMS sous 160 caractères pour éviter plusieurs parties
- Utilisez l’encodage UTF-8 pour les caractères internationaux
- Testez les caractères spéciaux avant l’envoi groupé
TTL (durée de vie)
- Définir le TTL approprié pour les messages urgents
- Messages OTP : 300 à 600 secondes (5 à 10 minutes)
- Messages promotionnels : 3 600 à 86 400 secondes (1 à 24 heures)
ID du message client
- Utilisez des identifiants uniques pour chaque message
- Aide au suivi et au débogage
- Utile pour établir une corrélation avec les enregistrements de votre système
Limites de taux
Contactez votre gestionnaire de compte pour obtenir des informations sur :
- Messages par seconde
- Messages par jour
- Connexions simultanées
Prochaines étapes
- Messages Viber - Explorez les types de messages Viber
- Messages SMS - En savoir plus sur les SMS
- Vérifier l’état - Suivre la livraison des messages