SMSBAT RESTful API Kılavuzu
SMSBAT RESTful API'sine ilişkin eksiksiz kılavuz - bilmeniz gereken her şey.
Son güncelleme: 29 Ağustos 2025
SMSBAT RESTful API, çeşitli mesaj türlerini göndermenize olanak tanır: Viber-atlıkarınca, Viber-anket, Viber-promo (resimler, video), Viber iş sohbetleri, OTP mesajları (Viber OTP, Flash Call) ve bunların geri dönüş çeşitleri.
Not: Bu, giden mesajlaşma için birleşik HTTP API'sidir. Gelen botlarla (Viber Bot / Telegram Bot) entegrasyona ihtiyacınız varsa lütfen Cascade API'sine bakın.
1. Protokol
- Protokol: HTTPS
- İstek Gövdesi: Bir dizi "mesaj" içeren JSON nesnesi.
- Yöntemler:
- Verileri almak için 'GET' (mesaj durumu, bakiye vb.)
- Nesneler oluşturmak için 'POST' (örneğin bir yayın/gönderme başlatmak)
- Nesneleri değiştirmek için 'PATCH'
2. Yetkilendirme
Size kolaylık sağlamak için çeşitli yetkilendirme yöntemleri sunuyoruz:
- HTTP Temel Kimlik Doğrulaması (kontrol panelinizden kullanıcı adı ve şifre).
- Bir API Simgesini içeren özel HTTP Başlığı 'X-Yetkilendirme Anahtarı'.
- API Simgesini tutan HTTP Temel Kimlik Doğrulama şifre alanı (oturum açma adı olarak @ iletin).
API Token Kontrol Panelinde Kullanıcı Profili altında oluşturulabilir.
İstek Örnekleri
Temel Kimlik Doğrulama ile:
curl -H "Content-Type: application/json" \
-X POST -d @/path/to/data.json https://api.smsbat.com/bat/messagelist \
--user user:password
'X-Yetkilendirme Anahtarı' ile:
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. Mesaj Gönderme
SMSBAT platformunda, herhangi bir mesaj gönderimi (tek bir mesaj bile) bir "Yayın" (mesaj listesi) olarak kabul edilir.
Uç nokta
- Yöntem: POST
- URL: https://api.smsbat.com/bat/messagelist
- Başlıklar: İçerik Türü: application/json
Temel Yük Yapısı:
{
"messages": [
{
"from": "ALPHANAME",
"to": "380936670003",
"text": "Check out our new products!",
"type": "viber_carousel",
"ttl": 300,
"messageData": { ... }
}
]
}
Her Mesaj Nesnesi için Gerekli Alanlar:
`kimden': Doğrulanmış gönderenin alfa adı.kime: Alıcının telefon numarası (E.164 biçimi).type: Mesaj türü numaralandırması.metin: Mesajın ana metni (tür metin gerektirmiyorsa isteğe bağlıdır).
Desteklenen 'tür' Değerleri:
- "sms"
- "viber_service" (veya "viber_trans")
- viber_promo
- viber_carousel
- viber_anket'
- 'viber_otp'
-viber_session'
- 'flaş arama_geri arama'
- 'hızlı arama'
İsteğe Bağlı Ortak Alanlar:
customerMessageId: Kendi sisteminizdeki dize kimliği (geri aramaları izlemek için kullanılır). Mesaj başına benzersiz olmalıdır.dtSend: Gelecekteki planlanmış gönderimin ISO8601 Tarihi/Saati.dtExpire: Teslimat son tarihinin ISO8601 Tarihi/Saati.ttl: Saniye cinsinden Yaşam Süresi. ('dtExpire' sağlanmazsa API, varsayılan eşlemeyi 'tür'den hesaplar).
Varsayılan TTL'ler (Saniye):
- "sms" - 86400 (24 saat)
- "viber_trans" / "viber_service" - 345600
viber_promo- 604800- "viber_session" - 604800
4. Geri Dönüş Yönlendirmesi (Basamaklı)
Birincil kanalın başarısız olması veya süresinin dolması durumunda ileti teslimini sağlamak için bir geri dönüş kuyruğu belirtebilirsiniz.
{
"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. Mesaj Türlerine ve Mesaj Verilerine Genel Bakış
Karmaşık mesaj türleri, "messageData" özelliğine eklenen ek yapılandırmaları gerektirir.
5.1 Viber Promosyonu (viber_promo)
Yalnızca Resim
Metin + Düğme
Resim + Metin + Düğme 'img', 'buttonText' ve 'buttonAction'ı birleştirir.
Video Yükü:
"messageData":{
"video": "https://domain.com/test.mp4",
"thumbnail": "https://domain.com/carusel.png",
"fileSize": 12000000,
"duration": 30
}
buttonText ve buttonAction ile de birleştirebilirsiniz).
5.2 Viber İşlemsel / Hizmeti (viber_trans, viber_service)
Ekli bir dosya içeren onaylanmış bir şablonunuz varsa:
"messageData": {
"fileUrl": "https://domain.com/receipt.pdf",
"fileName": "Receipt.pdf",
"fileType": "pdf"
}
5.3 Viber Atlıkarınca (viber_carousel)
'MessageData' içinde bir 'carousel.items' dizisi gerektirir.
Sınırlamalar:
- Öğe uzunluğu: 2 ila 5 öğe arasında
- Başlık: 2 ila 38 karakter
- imageUrl: JPEG/PNG önerilen boyut 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 Anketi / Listesi (viber_survey)
Sohbet görünümünde etkileşimli bir anket oluşturur.
Mesajın 'text' özelliği anket başlığı görevi görür (Maks. 85 karakter). Her biri maksimum 50 karakterden oluşan 2 ila 5 seçenek arasında geçiş yapabilirsiniz.5.5 Viber OTP (viber_otp)
Küresel olarak önceden kayıtlı yerelleştirilmiş Viber şablonlarını kullanır.
"messageData": {
"templateId": "6c929cef-29b4-4349-bc9d-2a07bdbb6e43",
"templateLang": "uk",
"templateParams": {
"pin": "3211",
"business_platform_name": "SMSBAT",
"code_validity_time": 7
}
}
5.6 Hızlı Arama (hızlı arama)
Çevirilecek numaranın son rakamları (oluşturulan kod) 'text' parametresi aracılığıyla iletilmelidir. 'Metin' atlanırsa kod rastgele seçilir ve onu API'nin senkronize 200 OK Response gövdesinden ("mesajlar/metin") çıkarmanız gerekir.