Ga naar inhoud

Bericht verzenden

Verzend berichten via de SMSBAT API met behulp van het /bat/messagelist eindpunt.

Eindpunt

POST /bat/messagelist

Verzoekstructuur

De aanvraagtekst is een JSON-array van berichtobjecten:

{
  "messages": [
    {
      "from": "YourSender",
      "to": "+380XXXXXXXXX",
      "type": "sms",
      "text": "Your message text",
      "customerMessageId": "your-internal-id",
      "ttl": 3600
    }
  ]
}

Parameters

Vereiste parameters

Parameter Typ Beschrijving
van tekenreeks Alfanumerieke afzender-ID
naar tekenreeks Telefoonnummer van de ontvanger in E.164-indeling (bijvoorbeeld +380XXXXXXXXX)
type tekenreeks Berichttype: sms, viber_promo, viber_trans, viber_carousel, viber_survey, viber_otp, rcs, flashcall
tekst tekenreeks Berichtinhoud (vereist voor de meeste typen, optioneel voor sommige)

Optionele parameters

Parameter Typ Beschrijving
klantMessageId tekenreeks Uw interne identificatie voor tracking
ttl geheel getal Tijd tot leven in seconden
berichtgegevens voorwerp Typespecifieke configuratie (varieert per berichttype)

Authenticatie

Kies een van de drie authenticatiemethoden:

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!"
    }]
  }'
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!"
    }]
  }'
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!"
    }]
  }'

Reactie

Succesreactie

{
  "messagelistId": 123456,
  "messages": [
    {
      "messageId": "abc123def456",
      "status": "accepted",
      "parts": 1,
      "customerMessageId": "your-internal-id",
      "to": "+380XXXXXXXXX"
    }
  ]
}

Reactievelden

Veld Typ Beschrijving
berichtenlijstId geheel getal Unieke identificatie voor de berichtenlijst
berichtId tekenreeks Unieke identificatie voor elk bericht
status tekenreeks Berichtstatus: geaccepteerd, afgewezen, mislukt
onderdelen geheel getal Aantal berichtdelen (voor SMS)
klantMessageId tekenreeks Uw interne identificatie (indien opgegeven)
naar tekenreeks Telefoonnummer ontvanger

Berichttypen

SMS-bericht

Eenvoudige sms-berichten:

{
  "from": "YourSender",
  "to": "+380XXXXXXXXX",
  "type": "sms",
  "text": "Your SMS message text"
}

Viber-promotie

Promotionele berichten met 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 Transactioneel

Transactiemeldingen:

{
  "from": "YourSender",
  "to": "+380XXXXXXXXX",
  "type": "viber_trans",
  "text": "Your order #12345 has been confirmed"
}

Viber OTP

Eenmalige wachtwoordmeldingen:

{
  "from": "YourSender",
  "to": "+380XXXXXXXXX",
  "type": "viber_otp",
  "messageData": {
    "code": "123456",
    "validity": 300
  }
}

Foutafhandeling

HTTP-statuscodes

Code Beschrijving
200 Aanvraag succesvol
400 Onjuist verzoek - ongeldige parameters
401 Ongeautoriseerd - authenticatie mislukt
429 Te veel verzoeken - tarieflimiet overschreden
500 Interne serverfout

Foutreactie

{
  "error": {
    "code": "INVALID_RECIPIENT",
    "message": "Invalid phone number format"
  }
}

Beste praktijken

Telefoonnummernotatie

Gebruik altijd het E.164-formaat voor telefoonnummers:

  • ✅ Correct: +380XXXXXXXXX
  • ❌ Onjuist: 380XXXXXXXXX, 0XXXXXXXXX

Berichttekst

  • Houd sms onder 160 tekens om meerdere delen te voorkomen
  • Gebruik UTF-8-codering voor internationale karakters
  • Test speciale tekens voordat u bulkverzendingen uitvoert

TTL (Time-to-Live)

  • Stel de juiste TTL in voor tijdgevoelige berichten
  • OTP-berichten: 300-600 seconden (5-10 minuten)
  • Promotionele berichten: 3600-86400 seconden (1-24 uur)

Klantbericht-ID

  • Gebruik unieke identificatiegegevens voor elk bericht
  • Helpt bij het volgen en debuggen
  • Handig voor het correleren met de records van uw systeem

Tarieflimieten

Neem contact op met uw accountmanager voor informatie over:

  • Berichten per seconde
  • Berichten per dag
  • Gelijktijdige verbindingen

Volgende stappen