Skip to content

Pošalji poruku

Šaljite poruke preko SMSBAT API-ja koristeći krajnju tačku /bat/messagelist.

Krajnja tačka

POST /bat/messagelist

Struktura zahtjeva

Tijelo zahtjeva je JSON niz objekata poruke:

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

Parametri

Obavezni parametri

Parametar Vrsta Opis
od string Alfanumerički ID pošiljaoca
to string Telefonski broj primaoca u formatu E.164 (npr. +380XXXXXXXXX)
tip string Tip poruke: sms, viber_promo, viber_trans, viber_carousel, viber_survey, viber_otp, rcs, flashcall
tekst string Sadržaj poruke (obavezno za većinu tipova, opciono za neke)

Opcioni parametri

Parametar Vrsta Opis
customerMessageId string Vaš interni identifikator za praćenje
ttl cijeli broj Vrijeme života u sekundama
messageData objekt Konfiguracija specifična za tip (zavisi od tipa poruke)

Autentifikacija

Odaberite jedan od tri načina provjere autentičnosti:

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

Odgovor

Uspješan odgovor

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

Polja odgovora

Polje Vrsta Opis
messagelistId cijeli broj Jedinstveni identifikator za listu poruka
messageId string Jedinstveni identifikator za svaku poruku
status string Status poruke: prihvaćeno, odbijeno, neuspješno
dijelovi cijeli broj Broj dijelova poruke (za SMS)
customerMessageId string Vaš interni identifikator (ako je naveden)
to string Broj telefona primaoca

Vrste poruka

SMS

Jednostavne tekstualne poruke:

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

Viber Promo

Promotivne poruke sa bogatim medijima:

{
  "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 Transactional

Obavještenja o transakcijama:

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

Viber OTP

Jednokratna obavještenja o lozinki:

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

Rukovanje greškama

HTTP statusni kodovi

Šifra Opis
200 Zahtjev uspješan
400 Loš zahtjev - nevažeći parametri
401 Neovlašteno - autentifikacija nije uspjela
429 Previše zahtjeva - ograničenje brzine je premašeno
500 Interna greška servera

Odgovor na grešku

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

Najbolje prakse

Format telefonskog broja

Uvijek koristite format E.164 za telefonske brojeve:

  • ✅ Tačno: +380XXXXXXXXX
  • ❌ Netačno: 380XXXXXXXXX, 0XXXXXXXXX

Tekst poruke

  • Zadržite SMS ispod 160 karaktera kako biste izbjegli više dijelova
  • Koristite UTF-8 kodiranje za međunarodne znakove
  • Testirajte posebne znakove prije masovnog slanja

TTL (vrijeme za život)

  • Postavite odgovarajući TTL za vremenski osjetljive poruke
  • OTP poruke: 300-600 sekundi (5-10 minuta)
  • Promotivne poruke: 3600-86400 sekundi (1-24 sata)

ID poruke korisnika

  • Koristite jedinstvene identifikatore za svaku poruku
  • Pomaže u praćenju i otklanjanju grešaka
  • Korisno za povezivanje sa zapisima vašeg sistema

Ograničenja stope

Kontaktirajte svog upravitelja računa za informacije o:

  • Poruke u sekundi
  • Poruke po danu
  • Istovremene veze

Sljedeći koraci