Help Center Envoyer un message

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ètreTapezDescriptif
dechaîneID d’expéditeur alphanumérique
àchaîneNuméro de téléphone du destinataire au format E.164 (par exemple +380XXXXXXXXX)
typechaîneType de message : sms, viber_promo, viber_trans, viber_carousel, viber_survey, viber_otp, rcs, flashcall
textechaîneContenu du message (obligatoire pour la plupart des types, facultatif pour certains)

Paramètres facultatifs

ParamètreTapezDescriptif
customerMessageIdchaîneVotre identifiant interne pour le suivi
ttlentierDurée de vie en secondes
messageDonnéesobjetConfiguration 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

ChampTapezDescriptif
messagelistIdentierIdentifiant unique de la liste de messages
messageIdchaîneIdentifiant unique pour chaque message
statutchaîneStatut du message : accepté, rejeté, échec
piècesentierNombre de parties du message (pour SMS)
customerMessageIdchaîneVotre identifiant interne (si fourni)
àchaîneNumé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

CodesDescriptif
200Demande réussie
400Requête incorrecte – paramètres invalides
401Non autorisé - échec de l’authentification
429Trop de requêtes – limite de débit dépassée
500Erreur 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