SMSBAT RESTful API Guide
Kumpletong gabay sa SMSBAT RESTful API - lahat ng kailangan mong malaman.
Huling na-update: Agosto 29, 2025
Binibigyang-daan ka ng SMSBAT RESTful API na magpadala ng iba't ibang uri ng mensahe: Viber-carousel, Viber-survey, Viber-promo (mga larawan, video), Viber business chat, OTP na mensahe (Viber OTP, Flash Call), at ang kanilang mga fallback na variant.
Tandaan: Ito ang pinag-isang HTTP API para sa papalabas na pagmemensahe. Kung kailangan mo ng mga pagsasama sa mga papasok na bot (Viber Bot / Telegram Bot), mangyaring sumangguni sa Cascade API.
1. Protocol
- Protocol: HTTPS
- Katawan ng Kahilingan: JSON object na naglalaman ng array ng
mensahe. - Mga Paraan:
GETpara kumuha ng data (status ng mensahe, balanse, atbp.)POSTpara gumawa ng mga bagay (hal., pagsisimula ng broadcast/dispatch)PATCHupang baguhin ang mga bagay
2. Awtorisasyon
Nagbibigay kami ng ilang paraan ng pagpapahintulot para sa iyong kaginhawahan:
- HTTP Basic Authentication (pag-login at password mula sa iyong dashboard).
- Custom na HTTP Header X-Authorization-Key na naglalaman ng API Token.
- HTTP Basic Authentication password field na may hawak na API Token (ipasa ang @ bilang login).
API Token ay maaaring mabuo sa Dashboard sa ilalim ng User Profile.
Humiling ng mga Halimbawa
Gamit ang Basic Auth:
curl -H "Content-Type: application/json" \
-X POST -d @/path/to/data.json https://api.smsbat.com/bat/messagelist \
--user user:password
Gamit ang X-Authorization-Key:
curl -H "X-Authorization-Key: <token>" \
-H "Content-Type: application/json" \
-X POST -d @/path/to/data.json https://api.smsbat.com/bat/messagelist
3. Pagpapadala ng mga Mensahe
Sa platform ng SMSBAT, ang anumang pagpapadala ng mensahe (kahit isang mensahe) ay itinuturing na isang "Broadcast" (messagelist).
Endpoint
- Paraan: POST
- URL: https://api.smsbat.com/bat/messagelist
- Mga Header: Uri ng Nilalaman: application/json
Basic Payload Structure:
{
"messages": [
{
"from": "ALPHANAME",
"to": "380936670003",
"text": "Check out our new products!",
"type": "viber_carousel",
"ttl": 300,
"messageData": { ... }
}
]
}
Mga Kinakailangang Field para sa Bawat Bagay ng Mensahe:
from: Na-verify na nagpadala ng alpha-name.to: Numero ng telepono ng tatanggap (E.164 format).type: Message type enum.teksto: Pangunahing teksto ng mensahe (opsyonal kung ang uri ay hindi nangangailangan ng teksto).
Mga Suportadong type na Value:
- sms
- viber_service (o viber_trans)
- viber_promo
- viber_carousel
- viber_survey
- viber_otp
- viber_session
- flashcall_callback
- flashcall
Opsyonal na Mga Karaniwang Patlang:
customerMessageId: String ID sa loob ng sarili mong system (ginagamit para sa pagsubaybay sa mga callback). Dapat na natatangi bawat mensahe.dtSend: ISO8601 Petsa/Oras ng naka-iskedyul na pagpapadala sa hinaharap.dtExpire: ISO8601 Petsa/Oras ng deadline ng paghahatid.ttl: Time-To-Live sa ilang segundo. (Kung hindi ibinigay angdtExpire, kinakalkula ng API ang mga default na pagmamapa mula satype).
Mga Default na TTL (Segundo):
sms- 86400 (24h)viber_trans/viber_service- 345600viber_promo- 604800viber_session- 604800
4. Fallback Routing (Cascading)
Maaari kang tumukoy ng fallback queue upang matiyak ang paghahatid ng mensahe kung nabigo o mag-expire ang pangunahing channel.
{
"messages": [
{
"from": "ALPHANAME",
"to": "380500505051",
"text": "test message",
"type": "viber_service",
"ttl": 60,
"fallbacks": [
{
"from": "ALPHANAME",
"to": "380936670003",
"text": "test sms fallback message2",
"type": "sms"
}
]
}
]
}
5. Pangkalahatang-ideya ng Mga Uri ng Mensahe at messageData
Ang mga kumplikadong uri ng mensahe ay nangangailangan ng mga karagdagang configuration na ini-inject sa property na messageData.
5.1 Viber Promo (viber_promo)
Larawan Lamang
Text + Button
Larawan + Teksto + Button
Pinagsasama ang img, buttonText, at buttonAction.
Video Payload:
"messageData":{
"video": "https://domain.com/test.mp4",
"thumbnail": "https://domain.com/carusel.png",
"fileSize": 12000000,
"duration": 30
}
buttonText at buttonAction).
5.2 Viber Transactional / Serbisyo (viber_trans, viber_service)
Kung mayroon kang naaprubahang template na naglalaman ng naka-attach na file:
"messageData": {
"fileUrl": "https://domain.com/receipt.pdf",
"fileName": "Receipt.pdf",
"fileType": "pdf"
}
5.3 Viber Carousel (viber_carousel)
Nangangailangan ng hanay ng carousel.items sa loob ng messageData.
Mga Limitasyon:
- Haba ng mga item: sa pagitan ng 2 at 5 item
- Pamagat: 2 hanggang 38 character
- imageUrl: JPEG/PNG inirerekomendang laki 215x185
"messageData": {
"carousel": {
"items": [
{
"title": "50% Off Shoes!",
"imageUrl": "https://domain.com/image1.png",
"primaryButton": { "label": "Shop", "actionUrl": "..." },
"secondaryButton": { "label": "Details", "actionUrl": "..." }
}
]
}
}
5.4 Viber Survey / Listahan (viber_survey)
Lumilikha ng interactive na poll sa loob ng chat view.
Angtext na pag-aari ng mensahe ay nagsisilbing pamagat ng survey (Max 85 chars). Maaari kang pumasa sa pagitan ng 2 at 5 opsyon, bawat isa ay max 50 char.
5.5 Viber OTP (viber_otp)
Gumagamit ng paunang rehistradong naka-localize na mga template ng Viber sa buong mundo.
"messageData": {
"templateId": "6c929cef-29b4-4349-bc9d-2a07bdbb6e43",
"templateLang": "uk",
"templateParams": {
"pin": "3211",
"business_platform_name": "SMSBAT",
"code_validity_time": 7
}
}
pin, business_platform_name) ay mahigpit na case-sensitive. Sinusuportahan ng API ang iba't ibang variant ng wika ng ISO code (EN, ES, RU, TR, UK, atbp.).
5.6 Flash Call (flashcall)
Ang mga huling digit ng numero ng pag-dial (ang nabuong code) ay dapat na maipasa sa pamamagitan ng parameter na text.
Kung aalisin ang text, randomized ang code at dapat mong i-extract ito mula sa naka-synchronous na 200 OK Response body ng API (messages/text).