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:
{
"phone_number": "380501234567",
"tag": "MySender",
"channels": ["viber"],
"channel_options": {
"viber": {
"text": "Hello from SMSBAT!",
"ttl": 60,
"img": "https://www.example.com/image.png",
"caption": "Open",
"action": "https://www.example.com"
}
}
}
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
{
"MessageId": "6f0d5e28-7f3a-4df3-91a2-3d58d9e09b9a",
"ErrorCode": null,
"ErrorText": null
}
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.
{
"MessageId": "00000000-0000-0000-0000-000000000000",
"ErrorCode": 10221,
"ErrorText": "This type of Message is not supported by the system"
}
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. |