Help Center Pošalji poruku

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

ParametarVrstaOpis
odstringAlfanumerički ID pošiljaoca
tostringTelefonski broj primaoca u formatu E.164 (npr. +380XXXXXXXXX)
tipstringTip poruke: sms, viber_promo, viber_trans, viber_carousel, viber_survey, viber_otp, rcs, flashcall
tekststringSadržaj poruke (obavezno za većinu tipova, opciono za neke)

Opcioni parametri

ParametarVrstaOpis
customerMessageIdstringVaš interni identifikator za praćenje
ttlcijeli brojVrijeme života u sekundama
messageDataobjektKonfiguracija specifična za tip (zavisi od tipa poruke)

Autentifikacija

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

=== “Zaglavlje API ključa”

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

=== “HTTP Basic Auth”

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

=== “API ključ kao lozinka”

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

Odgovor

Uspješan odgovor

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

Polja odgovora

PoljeVrstaOpis
messagelistIdcijeli brojJedinstveni identifikator za listu poruka
messageIdstringJedinstveni identifikator za svaku poruku
statusstringStatus poruke: prihvaćeno, odbijeno, neuspješno
dijelovicijeli brojBroj dijelova poruke (za SMS)
customerMessageIdstringVaš interni identifikator (ako je naveden)
tostringBroj 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

ŠifraOpis
200Zahtjev uspješan
400Loš zahtjev - nevažeći parametri
401Neovlašteno - autentifikacija nije uspjela
429Previše zahtjeva - ograničenje brzine je premašeno
500Interna 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