Bip Üssü Panelinde Komutlar ekranındaki tanımlardan dinamik veri dönülmek istenmesi halinde Dış Bağlantı tanımı yapılır. REX tarafından servis sağlayıcının bu ekranda belirtilen dıs bağlantı ws adresine bip kullanıcısından gelen mesaj iletilir.
Servis sağlayıcı web servisine gelen mesajı analiz ederek istediği mesajı dinamik olarak dönebilir. (Örneğin; kullanıcı “dolar” mesajı gönderdiğinde, bipussu’nde tanımlı statik bir cevap vermek yerine mesaj servis sağlayıcının web servisine yönlendirilir, servis sağlayıcı kelimeyi analiz edip güncel dolar kurunu dönüş yapar.)
Servis Sağlayıcı tarafından BiP kullanıcısına dönülecek medya (resim, video, ses, zengin içerikli medya) mesajlarına ilişkin içerik yüklemeleri FTS sunucusuna yapılır.
Ortam Bilgisi
Servis Sağlayıcı ile REX sunucusu arasındaki tüm iletişim Senkron ve Restful Web Service ile yapılmaktadır.
Servis uygulamasının canlı ortamla yapılacak entegrasyon öncesi fonksiyonalite testlerini PRP ortamında tamamlamış olması gerekmektedir.
Sunucu |
Ortam |
URL |
BiP USSU Panel |
Canlı |
https://bipussu.turkcell.com.tr/ |
Sunucu |
Ortam |
URL |
REX |
PRP |
86.108.192.4 IP sinden internetteki ThirdParty lerin 80 ve 443 portunda çalışan WS lerine sekron call yapılır. |
Canlı |
86.108.192.4 IP sinden internetteki ThirdParty lerin 80 ve 443 portunda çalışan WS lerine sekron call yapılır. |
Hizmetler ve Kimlik Doğrulama
Bu özelliğin kullanılabilmesi için servisin HTTP POST veya HTTPS POST ile JSON formatında mesaj kabul edecek bir Restful Web Service açması gerekmektedir.
HTTP POST kullanıldığında authentication gerekmez, HTTPS POST kullanıldığında basic authentication gerekir. Basic Authentication için servis tanım sürecinde verilen username ve password kullanılır.
REX tarafından yapılan Web Service isteklerine HTTP 200 hariç dönen kodlar karşı tarafta hata olduğunu gösterir. Bu durumda gönderim tekrarı yapılmaz.
Mesajın İletilmesi
POSTThird Party URL//Servis sağlayıcının kullanıcıdan gelen mesajı karşıladığı ws url.
Özellik |
Değer |
Açıklama |
keyword |
string |
Hangi keyword eşleşmesinden dolayı ws inin çağrılmaya karar verildiği bilgisi. Eşleşme olmadan yönlenme olduysa boş olacaktır. |
msgId |
string |
Bip kullanıcısından gelen mesajın unique id si. |
transactionId |
string |
karşılıklı log trace Id |
serviceId |
number |
Servis sağlayıcının hangi servisi için mesaj geldiği bilgisi |
receiveDate |
|
Bip kullanıcısından gelen mesajın geliş tarihi |
sender |
|
BiP kullanıcı bilgisi. |
composition |
list |
Gelen mesaj dizisi |
list |
|
Kullanıcıdan gelen mesajı içerir. |
type |
int |
Mesaj türü. Alabileceği değerler:
0: Metin
7: Lokasyon |
message |
string |
Mesaj içeriği. Metin mesajları için kullanıcının okuyacağı UTF-8 karakter dizisidir. |
data |
Map |
key/value yapısında bilgi taşıyabilen liste yapısı. Şu an sadece Lokasyon tipi için kullanılmaktadır. Diğer mesaj tiplerinde optionaldır. Optional bir alandır. |
subscriberData |
Map |
key/value yapısında bilgi taşıyabilen liste yapısı. Optional dır ve servisin izni olması durumunda bilgiler iletilecektir. Her servise açık olan bir alan değildir. |
Mevcut Key bilgileri; appVersion, locale, osType, osVersion |
Özellik |
Değer |
Açıklama |
transactionId |
string |
karşılıklı log trace Id. İstekte ne gittiyse yanıtta aynen geri dönmelidir. |
composition |
list |
Gelen mesaj dizisi. |
type |
int |
Mesaj türü. Alabileceği değerler:
0: Metin
2: Image
3: Audio
4: Video
5: Sticker
6: Caps
7: Lokasyon |
message |
string |
Mesaj içeriği. Metin mesajları için kullanıcının okuyacağı UTF-8 karakter dizisidir. Resim, ses , video için ilgili media dosyasının bulunduğu URL bilgisidir. |
data |
Map |
key/value yapısında bilgi taşıyabilen liste yapısı. Her mesaj tipine göre farklı key/value içeriği yer alabilir. Optional bir alandır. |
Map yapısındaki “data” alanı her mesaj tipine göre farklı key/value değerleri içerebilir.
- Şu an için sadece Servis Sağlayıcıdan REX API ye dönüşlerde kullanım alanı vardır.
- Yine şu an için REX API den Servis sağlayıcıya gönderilen mesajlarda kullanım alanı yoktur.
- Map yapısı içindeki size-width-height bilgileri bu dosyaları hazırlayan Servis Sağlayıcı tarafından verilmelidir. REX sisteminin performanslı çalışmaya devam edebilmesi için bu bilgileri Servis Sağlayıcıdan alması önemlidir.
Composition içindeki mesaj tipine gore Map yapısı aşağıdaki gibidir;
TEXT ise; Map yapısı bilgi içermez.
RESIM ise;
- size : Dosyanın boyutu (bytes) . Numeric bilgi
- width : Dosyanın width bilgisi. Numeric bilgi
- height : Dosyanın height bilgisi. Numeric bilgi
SES ise;
size : Dosyanın boyutu (bytes) . Numeric bilgi
VIDEO ise;
- size : Video dosyanın boyutu (bytes). Numeric bilgi
- width : Thumbnail dosyasının width bilgisi. Numeric bilgi
- height : Thumbnail dosyasının height bilgisi. Numeric bilgi
STICKER ise;
Map yapısı bilgi içermez.
– CAPS ise;
- size : Dosyanın boyutu (bytes) . Numeric bilgi
- width : Dosyanın width bilgisi. Numeric bilgi
- height : Dosyanın height bilgisi. Numeric bilgi
LOKASYON ise;
- lat : latitude (enlem) bilgisi . Numeric bilgi
- lon : longitude (boylam) bilgisi. Numeric bilgi
Mesaj gönderimi için uyulması gerekilen tüm kurallar (her bir mesajın yapısı) TES API dokümanlarında açıklanmştır. Bu kurallara uyulmaması durumunda mesaj kullanıcıya iletilemez.
Mesajın Servis Sağlayıcıya İletilmesi
BiP uygulamasından servise doğru mesaj gönderildiğinde, mesajın içeriği REX tarafından JSON formatına dönüştürülür ve Servis Sağlayıcıya ait URL’e doğru SYNC Web Service çağrısı yapılır. Servis Sağlayıcı, mesajı alınca REX uygulaması üzerinden SYNC olarak takipçisine dönmek istediği Compostion mesajını geri dönmelidir. Mesaj dönmek istenmemesi durumunda null ya da “” dönmesi yeterli olacaktır.
Örnekler
Örneklerdeki bazı alıcı adresleri açık mobil numarası (MSISDN) olarak verilmiştir. Fakat alıcı adres türü tanımlanan servise göre farklılık gösterbilir.
BiP Kullanıcısından Service doğru type = 0 yani TEXT yapısında mesajın gönderilmesi ve bu mesajın Dış Bağlantı URL ine iletilmesi;
{
"keyword": "DOLAR",
"msgId": "unique-id-124",
"transactionId": "txid-1",
"serviceId": 8150,
"receiveDate": "26/02/2016 11:06:46",
"sender": "614d99f42ca4e7da4e23e96469efccbb",
"composition": {
"list": [
{
"type": 0,
"message": "merhaba bip",
"data": {}
}
]
}
}
BiP Kullanıcısından Service doğru type = 7 yani LOCATION yapısında mesajın gönderilmesi ve bu mesajın Dış Bağlantı URL ine iletilmesi;
{
"keyword": "DOLAR",
"msgId": "unique-id-124",
"transactionId": "txid-1",
"serviceId": 8150,
"receiveDate": "26/02/2016 11:06:46",
"sender": "614d99f42ca4e7da4e23e96469efccbb",
"composition": {
"list": [
{
"type": 7,
"message": "",
"data": {
"lon": 29.117844,
"lat": 40.955395
}
}
]
}
}
Dış Bağlantı URL inden BiP kullanıcısına farklı tiplerde mesaj gönderilmesi;
{
"transactionId": "txid-1",
"composition": {
"list": [
{
"type": 0,
"message": "merhaba bip",
"data": {}
},
{
"type": 4,
"message": "https://tims.turkcell.com.tr/scontent/p2p/30112015/17/Vfb16ee39112bccd28d1c38cf6d060480c8e16fef0cf3d8b3954199d9099cb61b1.mp4",
"data": {
"height": 308,
"width": 450,
"size": 162780
}
},
{
"type": 3,
"message": "https://tims.turkcell.com.tr/scontent/p2p/17122015/10/A1fe5b80bd40fc697dbf4ce74e89af471ed4534b250aec4c7b0694db6b34eb1191.mp3",
"data": {
"size": 162780
}
},
{
"type": 2,
"message": "https://tims.turkcell.com.tr/scontent/p2p/17122015/15/P56828a1016ab23fb0d45a492b58398562c665f75675c192bd7a3cf04e01c5e041.png",
"data": {
"height": 308,
"width": 450,
"size": 162780
}
},
{
"type": 6,
"message": "https://tims.turkcell.com.tr/scontent/caps/01780367452d6096377f4af7218d8785.jpg",
"data": {
"height": 308,
"width": 450,
"size": 162780
}
},
{
"type": 5,
"message": "https://tims.turkcell.com.tr/scontent/sticker/ebcc8b6cb43700fbf4a9f9cb632a3832.png",
"data": {}
},
{
"type": 7,
"message": "",
"data": {
"lon": 29.117844,
"lat": 40.955395
}
}
]
}
}