Preskoči na sadržaj

Pošalji poruku

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

Krajnja toč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 Upišite Opis
od niz Alfanumerički ID pošiljatelja
za niz Telefonski broj primatelja u formatu E.164 (npr. +380XXXXXXXXX)
tip niz Vrsta poruke: sms, viber_promo, viber_trans, viber_carousel, viber_survey, viber_otp, rcs, flashcall
tekst niz Sadržaj poruke (obavezno za većinu vrsta, izborno za neke)

Neobavezni parametri

Parametar Upišite Opis
customerMessageId niz Vaš interni identifikator za praćenje
ttl cijeli broj Vrijeme do života u sekundama
podaci poruke objekt Konfiguracija specifična za vrstu (razlikuje se ovisno o vrsti poruke)

Autentifikacija

Odaberite jednu od tri metode 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 Upišite Opis
messagelistId cijeli broj Jedinstveni identifikator za popis poruka
id poruke niz Jedinstveni identifikator za svaku poruku
status niz Status poruke: prihvaćeno, odbijeno, neuspjelo
dijelovi cijeli broj Broj dijelova poruke (za SMS)
customerMessageId niz Vaš interni identifikator (ako je naveden)
za niz Broj telefona primatelja

Vrste poruka

SMS

Jednostavne tekstualne poruke:

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

Viber Promo

Promotivne poruke s obogaćenim 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

Obavijesti o transakciji:

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

Viber OTP

Obavijesti o jednokratnim lozinkama:

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

Rješavanje grešaka

HTTP statusni kodovi

Kod Opis
200 Zahtjev uspješan
400 Loš zahtjev - nevažeći parametri
401 Neovlašteno - provjera autentičnosti nije uspjela
429 Previše zahtjeva - prekoračeno ograničenje brzine
500 Interna greška poslužitelja

Odgovor na pogrešku

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

Najbolji primjeri iz prakse

Format telefonskog broja

Uvijek koristite E.164 format za telefonske brojeve:

  • ✅ Točno: +380XXXXXXXXX
  • ❌ Neispravno: 380XXXXXXXXX, 0XXXXXXXXX

Tekst poruke

  • Držite SMS manje od 160 znakova kako biste izbjegli više dijelova
  • Koristite UTF-8 kodiranje za međunarodne znakove
  • Testirajte posebne znakove prije skupnog slanja

TTL (Time-to-Live)

  • 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 kupca

  • Koristite jedinstvene identifikatore za svaku poruku
  • Pomaže u praćenju i otklanjanju pogrešaka
  • Korisno za korelaciju sa zapisima vašeg sustava

Ograničenja brzine

Kontaktirajte svog upravitelja računa za informacije o:

  • Broj poruka u sekundi
  • Broj poruka po danu
  • Istodobne veze

Sljedeći koraci