GMS API Uyumluluğu
SMSBAT, GMS API ile uyumluluk katmanını destekler. Bu, GMS için tasarlanmış mevcut entegrasyonlarınızı, mesaj yönlendirme şemalarınızı, veri yükü yapılarınızı veya geri arama dinleyicilerinizi değiştirmek zorunda kalmadan doğrudan SMSBAT'a taşımanıza olanak tanır.
Bağlantı Ayarları
İstekleri SMSBAT aracılığıyla yönlendirmek için entegrasyonunuzdaki temel URL'yi ve kimlik doğrulama bilgilerini güncelleyin:
- Temel URL:
https://restapi.smsbat.com - Bitiş noktası: 'POST /api/GMSMessage/send_message'
- İstek Formatı:
application/json - Kimlik Doğrulama: HTTP Temel Kimlik Doğrulaması (SMSBAT API kimlik bilgilerinizi kullanır)
İstek Parametreleri
GMS uyumluluk API'si, aşağıdaki üst düzey parametrelere sahip bir JSON nesnesini kabul eder:
| Parametre | Tür | Gerekli | Açıklama |
|---|---|---|---|
| 'telefon_numarası' | dize | Evet | Alıcının uluslararası biçimdeki telefon numarası (ör. "380501234567"). |
| 'etiket' | dize | Evet | Kayıtlı gönderenin adı / alfa adı. |
| 'kanallar' | dizi | Evet | Denenecek kanalların öncelik sırasına göre listesi. Desteklenen değerler: "viber", "sms", "push". Örneğin, ["viber", "sms"]. |
| 'kanal_seçenekleri' | nesne | Evet | Her aktif kanal için seçenekleri içeren harita (aşağıya bakın). |
| 'ekstra_id' | dize | Hayır | Dahili müşteri tarafı mesaj kimliğiniz. |
| 'geri arama_url' | dize | Hayır | Teslimat durumu geri aramalarını almak için sisteminizdeki uç nokta URL'si. |
| 'bölüm_kodu' | dize | Hayır | İsteğe bağlı bölüm kodu tanımlayıcısı (varsayılanı 'ana'dır). |
Kanal Seçenekleri Ayarları
'channel_options' nesnesi kanala özgü yapılandırmalar içerir.
'Kanallar' dizisinde 'viber' listelendiğinde kullanılır.
| Parametre | Tür | Gerekli | Açıklama |
|---|---|---|---|
| 'metin' | dize | Evet | Mesaj gövde metni. |
| 'ttl' | tamsayı | Evet | Saniyeler içinde Yaşama Süresi. |
| 'img' | dize | Hayır | Görüntülenecek resmin genel HTTPS URL'si. |
| 'başlık' | dize | Hayır | Düğme metin etiketi. |
| 'eylem' | dize | Hayır | Düğmeye tıklandığında hedef URL. |
anket_seçenekleri |
dizi | Hayır | Anket seçenekleri olarak görüntülenecek dize dizisi (2 ila 5 öğe). |
carousel_items |
dizi | Hayır | Viber atlıkarınca olarak görüntülenecek slayt nesneleri dizisi (sekmedeki yapıya bakın). |
Viber İstek Örneği:
TTL içinde Viber teslimatı başarısız olursa, otomatik SMS geri dönüşüyle Viber mesajlaşmasını etkinleştirir.
Geri Dönüş İsteği Örneği:
{
"phone_number": "380501234567",
"tag": "MySender",
"channels": ["viber", "sms"],
"channel_options": {
"viber": {
"text": "Your order is ready!",
"ttl": 60,
"caption": "Details",
"action": "https://www.example.com/order"
},
"sms": {
"text": "Your order is ready: https://www.example.com/order",
"alpha_name": "MySender",
"ttl": 60,
"ctr": false
}
}
}
'Kanallar' dizisinde 'sms' listelendiğinde kullanılır.
| Parametre | Tür | Gerekli | Açıklama |
|---|---|---|---|
| 'metin' | dize | Evet | Mesaj gövde metni. |
| 'alfa_adı' | dize | Evet | Gönderenin alfa adı. |
| 'ttl' | tamsayı | Evet | Saniyeler içinde Yaşama Süresi. |
| 'ctr' | boole | Hayır | Metindeki bağlantılarda TO tıklama izlemeyi etkinleştirin ("doğru"/"yanlış"). |
SMS Talep Örneği:
Viber anketleri ve araştırmaları oluşturmak için kullanılır.
Uyarı
Viber anket yapılandırmasının "survey_options" içinde 2 ila 5 seçenek olması gerekir.
Anket Talebi Örneği:
Kaydırılabilir resim slayt kartları göndermek için kullanılır. Her slayt resmi, başlığı ve düğmeleri destekler.
Atlıkarınca İsteği Örneği:
{
"phone_number": "380501234567",
"tag": "MySender",
"channels": ["viber"],
"channel_options": {
"viber": {
"text": "Choose an offer",
"ttl": 60,
"carousel_items": [
{
"title": "Offer 1",
"image_url": "https://www.example.com/offer-1.png",
"primary_label": "Open",
"primary_url": "https://www.example.com/offer-1",
"secondary_label": "More",
"secondary_url": "https://www.example.com/offers"
},
{
"title": "Offer 2",
"image_url": "https://www.example.com/offer-2.png",
"primary_label": "Open",
"primary_url": "https://www.example.com/offer-2"
}
]
}
}
}
'Kanallar' dizisinde 'Push' listelendiğinde kullanılır.
| Parametre | Tür | Gerekli | Açıklama |
|---|---|---|---|
| 'başlık' | dize | Evet | Anlık bildirimin başlık metni. |
| 'metin' | dize | Evet | Mesaj gövde metni. |
| 'ttl' | tamsayı | Evet | Saniyeler içinde Yaşama Süresi. |
| 'img' | dize | Hayır | Görüntülenecek resmin genel HTTPS URL'si. |
| 'başlık' | dize | Hayır | Düğme metin etiketi. |
| 'eylem' | dize | Hayır | Düğmeye tıklandığında hedef URL. |
| 'ctr' | boole | Hayır | Tıklama izlemeyi etkinleştirin. |
Push İsteği Örneği:
{
"phone_number": "380501234567",
"tag": "MySender",
"channels": ["push"],
"channel_options": {
"push": {
"title": "Order update",
"text": "Your order is ready for pickup!",
"ttl": 60,
"img": "https://www.example.com/push.png",
"caption": "Open",
"action": "https://www.example.com/order",
"ctr": false
}
}
}
Yanıt Formatı
Uç nokta, yanıtları JSON biçiminde bir "HTTP 200 OK" durum koduyla döndürür.
Başarılı Yanıt
Hata Yanıtları
Doğrulama veya işleme başarısız olursa, boş olmayan bir "Hata Kodu" ve ayrıntılı "Hata Metni" içeren bir hata yanıtı döndürülür.
Geri Arama Teslim Formatı
İstekte "callback_url" belirtildiyse SMSBAT, teslimat durumu güncellemelerini uç noktanıza JSON POST yükü olarak gönderir.
Geri Arama İsteği Örneği
POST /your-callback-endpoint HTTP/1.1
Host: yoursystem.com
Content-Type: application/json
{
"number": "380501234567",
"time": 1719237600000,
"status": 2,
"substatus": 23,
"hyber_status": 23033,
"message_id": "6f0d5e28-7f3a-4df3-91a2-3d58d9e09b9a",
"extra_id": "ORDER-12345",
"sent_via": "viber",
"matching_template_id": 0
}
Geri Arama Alanları Açıklaması
| Alan | Tür | Açıklama |
|---|---|---|
| 'sayı' | dize | Alıcının telefon numarası. |
| 'zaman' | sayı | Unix milisaniye cinsinden olay zaman damgası. |
| 'durum' | sayı | Basitleştirilmiş durum tanımlayıcı (bkz. Durum kodu tablosu). |
| 'alt durum' | sayı | Ayrıntılı durum tanımlayıcı (bkz. Alt durum kodu tablosu). |
| 'hyber_status' | sayı | Ayrıntılı SMSBAT dahili durum kodu (bkz. Hyber Durum tablosu). |
| 'mesaj_kimliği' | dize | Gönderme sırasında oluşturulan SMSBAT mesaj kimliği (GUID). |
| 'ekstra_id' | dize | Orijinal istekte sağlanan müşteri tarafı kimliği. |
sent_via |
dize | Mesajı işleyen kanal: "viber", "sms" veya "rcs". |
| 'eşleşen_şablon_kimliği' | sayı | Viber şablon eşleşme durumu (varsa). |
Durum Eşlemeleri
1. Basitleştirilmiş Durum (durum)
| Kod | Anlamı |
|---|---|
| '1' | Mesaj kabul edildi veya teslim ediliyor. |
| '2' | Mesaj teslim edildi. |
| '3' | İşleme veya teslimat hatası. |
2. Ayrıntılı Durum (alt durum)
| Kod | Anlamı |
|---|---|
| '12' | İşlenmek üzere kabul edildi. |
| '23' | Teslim edilmiş. |
| '24' | Görüldü/okundu. |
| '35' | TTL (Süresi Dolmuş) dahilinde teslim edilmedi. |
| '36' | Teslimat hatası. |
3. Kanal Türü (sent_via)
| Kanal | Açıklama |
|---|---|
| 'viber' | Viber kanalı tarafından üretilen durum. |
| 'sms' | SMS kanalı tarafından oluşturulan durum. |
| 'rc' | RCS kanalı tarafından oluşturulan durum. |
4. Ayrıntılı SMSBAT Durumu (hyber_status)
| Kod | Kanal | Durum | Alt Durum | Anlamı |
|---|---|---|---|---|
| 23033 | 'viber' | '2' | '23' | Viber mesajı iletildi. |
| 24013 | 'viber' | '2' | '24' | Alıcı tarafından okunan Viber mesajı (Görüldü). |
| 36013 | 'viber' | '3' | '36' | Viber dahili hatası. |
| 36023 | 'viber' | '3' | '36' | Geçersiz veya kullanılamayan Viber hizmet kimliği. |
| 36033 | 'viber' | '3' | '36' | Geçersiz Viber verisi. |
| 36037 | 'viber' | '3' | '36' | Viber resim URL'si çok uzun. |
| 36038 | 'viber' | '3' | '36' | Geçersiz Viber resim URL'si. |
| 36039 | 'viber' | '3' | '36' | Viber metni çok uzun. |
| 36044 | 'viber' | '3' | '36' | Viber metnini boşaltın. |
| 36053 | 'viber' | '3' | '36' | Desteklenmeyen Viber mesaj türü. |
| 36063 | 'viber' | '3' | '36' | Geçersiz Viber parametreleri. |
| 36073 | 'viber' | '3' | '36' | Viber sağlayıcı zaman aşımı. |
| 36083 | 'viber' | '3' | '36' | Viber göndereni alıcı tarafından engellendi. |
| 36093 | 'viber' | '3' | '36' | Alıcı Viber kullanıcısı olarak kayıtlı değil. |
| 36103 | 'viber' | '3' | '36' | Viber desteğine sahip Android/iOS cihazı bulunamadı. |
| 36113 | 'viber' | '3' | '36' | Viber gönderimi için yetkisiz IP adresi. |
| 36123 | 'viber' | '3' | '36' | Yinelenen Viber mesajı algılandı. |
| 36143 | 'viber' | '3' | '36' | Viber faturalandırma hatası. |
| 36153 | 'viber' | '3' | '36' | İleti platform kara listesi tarafından engellendi. |
| 36163 | 'viber' | '3' | '36' | Viber platformu dahili işleme hatası. |
| 36173 | 'viber' | '3' | '36' | Yanlış veya eksik Viber etiketi. |
| 36183 | 'viber' | '3' | '36' | Geçersiz Viber TTL değeri. |
| 12011 | 'sms' / 'rcs' | '1' | '12' | SMS/RCS kabul edildi. |
| 36011 | 'sms' / 'rcs' | '1' | '12' | SMS/RCS yolda. |
| 23011 | 'sms' / 'rcs' | '2' | '23' | SMS/RCS teslim edildi. |
| 35015 | 'sms' / 'rcs' | '3' | '35' | SMS/RCS'nin süresi doldu (TTL dahilinde teslim edilmedi). |
| 36021 | 'sms' / 'rcs' | '3' | '36' | SMS/RCS mesajı silindi. |
| 36031 | 'sms' / 'rcs' | '3' | '36' | SMS/RCS teslim edilemiyor. |
| 36041 | 'sms' / 'rcs' | '3' | '36' | Bilinmeyen SMS/RCS teslim durumu. |
| 36051 | 'sms' / 'rcs' | '3' | '36' | SMS/RCS mesajı reddedildi. |