REX, bip kullanıcısından gelen mesajları servis sağlayıcının sağladığı bir web servise, müşteri hizmetlerinden dönen cevabı da bip kullanıcısına iletme işlemlerini gerçekleştirir.
REX sisteminde Müşteri Hizmetlerinin kullanıcıya göndereceği asenkron mesajları karşılayan bir Restful Web Service mevcuttur. Bu servis http basic autentication yapılmasını zorunlu tutar. Basic Authentication için servis tanım sürecinde yaratılan username ve password bilgileri kullanılır. REX ile Müşteri Hizmetleri arasında 3 yönde mesajlaşma vardır. Bunlar;
REX_CC_WS_URL : Rex sisteminde çalışan Web Servis
CC_WS_URL : Servis sağlayıcının Müşteri Hizmetleri Web Servisi
REX sisteminden aşağıdaki Müşteri Hizmetleri web servis adreslerine istek yapılır;
Müşteri Hizmetlerinden aşağıdaki REX web servis adreslerine istek yapılır;
| Özellik | Değer | Açıklama |
|---|---|---|
| sender | BiP kullanıcısı | |
| serviceId: | Servis tanım sürecinde verilen service id dir. Turkcell operasyondan temin edilmelidir. | |
| transactionId | Karsılıklı sistem loglarında inceleme yapılması gerektiğinde kullanılacak ortak bilgi. | |
| transferData | REX sistemi dış sistemdeki bir web servis ile iletişim kurulacağı zaman dinamik parametre geçişine imkan sağlar. Dinamik parametreler map yapısı içinde key/value çiftleri halinde iletilir. Dış sistem e bip_parameter komutu ile AIML içinden dinamik parametre iletmek mümkündür. Bu durumda transferData alanında bu bilgiler gönderilir. Zorunlu bir alan değildir. | |
| content | Mesaj bilgisi | |
| composition | Gelen mesaj dizisi (list) | |
| type | Integer | Mesaj türü 0 : Metin 2 : Image 3 : Audio 4 : Video 7 : Lokasyon 8 : Zengin İçerikli Mesaj 13 : Media Mesajı ( TMM ) |
| tmmType | Integer | type = 13 iken 0 : Tekli Media 1 : Çoklu Media 2 : Anket Media 3 : Hızlı cevap Media 4 : Sıralı Media; |
| tmmSingle | type = 13, tmmType = 0 iken gönderilir. | |
| tmmMultiple | type = 13, tmmType = 1 iken gönderilir. | |
| tmmQuickReply | type = 13, tmmType = 3 iken gönderilir. | |
| tmmCarousel | type = 13, tmmType = 4 iken gönderilir. | |
| tmmPoll | type = 13, tmmType = 2 iken gönderilir. | |
| richmediatype | type = 8 iken; 4 : Onay sorusu (Consent Simple) 5 : Input alan Onay sorusu (Consent Input ) 6 : Onay sorusunun cevabı ( Consent Simplme Response ) 7 : Input alan Onay sorusunun cevabı ( Consent Input Response ) | |
| message | String | Metin mesajları için kullanıcının okuyacağı UTF-8 karakter dizisidir. Resim, ses ve video için ilgili media dosyasının bulunduğu URL bilgisidir. (Not: Resim, ses ve video dosyalarının BIP uygulamasında düzgün görüntülenebilmesi için öncelikle FTS sunucusuna yüklenmesi gerekmektedir). |
| 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. Doldurulması zorunlu değildir. Dosyaların gönderimi için gerekli olan size-width-height bilgilerinin Servis Sağlayıcı tarafından ir sefer hesaplanıp “data” alanı içinde REX e gönderilmesi tavsiye edilir. Ancak zorunlu değildir. |
Text: Map yapısı bilgisi gerekmez.
Image:
Audio:
Video:
Sticker: Map yapısı bilgisi gerekmez. Gönderimi zorunlu değildir.
Caps:
Location:
title: Gönderimi zorunlu değildir.
desc : Gönderimi zorunlu değildir.
REX sisteminden istek yapılan Müşteri Hizmetleri web servis adresi; (CC_WS_URL)/start Müşteri Hizmetleri web servisine dinamik parametre geçişi mümkündür. Dinamik parametreler map yapısı içinde key/value çiftleri halinde iletilir. bip_parameter komutu ile AIML içinden dinamik parametre tanımları yapılabilinir. Bu durumda json içinde transferData alanında bu bilgiler gönderilir. Kullanımı zorunlu değildir.
{
"sender":"9053XXXXXXXX",
"serviceId":8309,
"transactionId":"[67988430-fc0a-4744-a8a9-6b5d8b72243f_1 ]",
"transferData":{
"kayitli-adresi":"ISTANBUL",
"kayitli-tcno":"12214554789",
"kayitli-adiSoyadi":"ALI HAMURCU"
},
"content":{
"type":0,
"message":"destek"
}
}
{
"composition":{
"list":[
{
"type":0,
"message":"Merhaba. Müşteri Hizmetlerinden ben Deniz. Size nasıl yardımcı olabilirim?"
}
]
}
}
REX sisteminden istek yapılan Müşteri Hizmetleri web servis adresi; (CC_WS_URL)/continue
{
"sender":"9053XXXXXXXX",
"serviceId":8629,
"transactionId":"[67988430-fc0a-4744-a8a9-6b5d8b72243f_2 ]",
"content":{
"type":0,
"message":"fatura detayı ıstıyorum"
}
}
Sadece http status code olarak 200 dönüşü beklenir. Devam eden oturumda Müşteri hizmetleri tarafından Senkron herhangi bir mesaj dönüşü yapılamaz. Sadece Asenkron olarak mesaj gönderimi yapılabilinir.
REX sisteminden istek yapılan Müşteri Hizmetleri web servis adresi; (CC_WS_URL)/end
{
"sender":"9053XXXXXXXX",
"serviceId":8629,
"transactionId":"[1f83c783-1b61-4f0f-b71c-f5a0954a0b70_2 ]",
"content":{
"type":0,
"message":"cıkıs"
}
}
{
"composition":{
"list":[
{
"type":0,
"message":"İsteğiniz üzerine Müşteri Hizmetleri ile olan oturumunuz sonlandırılmıştır. Servisimizi kullandığınız için teşekkürler. İyi günler."
}
]
}
}
REX sisteminde X değeri 5 dakikadır. Servis özelinde bu süre değiştirilebilinir. REX sisteminden istek yapılan Müşteri Hizmetleri web servis adresi; (CC_WS_URL)/end
{
"sender":"9053XXXXXXXX",
"serviceId":8629,
"transactionId":"[f92ad9ad-c22d-4186-bf47-a5858edd4551_3 ]"
}
{
"composition":{
"list":[
{
"type":0,
"message":"Uzun zamandır cevap yazmadıgınız için Müşteri Hizmetleri ile olan oturumunuz sonlandırılmıştır. Servisimizi kullandığınız için teşekkürler. İyi günler."
}
]
}
}
Senkron Cevap : Dönen cevap(lar) kullanıcıya hemen iletilir.
İşlem Asenkron olarak gerçekleştirilir. Müşteri Hizmetleri sisteminden istek yapılan REX web servis adresi; (REX_CC_WS_URL)/{serviceId}/continue
{
"sender":"9053XXXXXXXX",
"transactionId":"[67988430-fc0a-4744-a8a9-6b5d8b72243f_2 ]",
"composition":{
"list":[
{
"type":0,
"message":"Bilgilerinizi kontrol etmek için sizi bir süre bekleteceğim. Anlayışınız için teşekkürler."
}
]
}
}
{
"resultCode":0,
"resultCodeDescription":"Success"
}
Müşteri Hizmetleri sisteminden istek yapılan REX web servis adresi; (REX_CC_WS_URL)/{serviceId}/end
{
"sender":"9053XXXXXXXX",
"transactionId":"[51de325e-f8f6-4184-ab88-917a970a64aa_2 ]",
"composition":{
"list":[
{
"type":0,
"message":"Uzun süredir herhangi bir mesaj yazmadığınız için Müşteri Hizmetleri ile olan oturumunuz sonlandırılmıştır. Servisimizi kullandığınız için teşekkürler. İyi günler."
}
]
}
}
{
"resultCode":0,
"resultCodeDescription":"Success"
}
Mesajın REX tarafından kabul edilip edilmediği, kabul edildiyse de BiP kullanıcısına gönderim sonucunun ne olduğunu ifade ederler.
| resultcode | ResultCodeDescription |
|---|---|
| 0 | Success |
| 1 | Message send failed |
| 2 | Invalid Input Parameters |
| 3 | Not found active CC session |
| 4 | System Error |
Tekli Medya Mesajı:
{
"sender":"9053XXXXXXXX",
"transactionId":"2702373a-5009-434c-98b7-4383db60f4bc_151 ",
"composition":{
"list":[
{
"type":13,
"tmmType":0,
"tmmSingle":{
"title":"CC msg title",
"description":"CC msg desc",
"image":{
"url":"https://timsac.turkcell.com.tr/scontent/p2p/14112016/11/P1e646f5c03a7b4b44f6da1329ac218e322da72356e79e5116dff86e3fc255a228.png",
"ratio":1.0,
"button":{
"type":0,
"name":"buton-1",
"url":"https://www.google.com.tr"
}
},
"buttonlist":[
{
"type":0,
"name":"buton-2",
"url":"https://www.google.com.tr"
},
{
"type":1,
"name":"buton-3",
"payload":"CCPayload_2001_POSTBACK"
}
],
"postbackid":"PostbackTMM_CC_1500556420834_END"
}
}
]
}
}
{
"sender":"9053XXXXXXXX",
"serviceId":8332,
"transactionId":"8271fa97-3b8e-4293-a13b-3db6ddcf5562_159 ",
"content":{
"type":103,
"tmmType":0,
"tmmPostbackResponse":{
"payload":"CCPayload_2001_POSTBACK",
"postbackid":"PostbackTMM_CC_1500556630648_END"
}
}
}
Çoklu Medya Mesajı:
{
"sender":"9053XXXXXXXX",
"transactionId":"a5800cc7-008a-4278-96d2-c233db4c373f_161 ",
"composition":{
"list":[
{
"type":13,
"tmmType":1,
"tmmMultiple":{
"maintitle":"CC msg title",
"maindescription":"CC msg desc",
"mainimage":{
"url":"https://timsac.turkcell.com.tr/scontent/p2p/14112016/11/P1e646f5c03a7b4b44f6da1329ac218e322da72356e79e5116dff86e3fc255a228.png",
"ratio":1.0,
"button":{
"type":0,
"name":"button-1",
"url":"https://www.google.com.tr"
}
},
"mainbuttonlist":[
{
"type":0,
"name":"button-2",
"url":"https://www.google.com.tr"
},
{
"type":1,
"name":"button-3",
"payload":"CCPayload_3001_POSTBACK"
}
],
"sublist":[
{
"title":"CC msg title-1",
"description":"CC msg desc-1",
"image":{
"url":"https://timsac.turkcell.com.tr/scontent/p2p/14112016/11/P1e646f5c03a7b4b44f6da1329ac218e322da72356e79e5116dff86e3fc255a228.png",
"ratio":1.0,
"button":{
"type":0,
"name":"button-4",
"url":"https://www.google.com.tr"
}
},
"buttonlist":[
{
"type":0,
"name":"button-5",
"url":"https://www.google.com.tr"
},
{
"type":1,
"name":"button-6",
"payload":"CCPayload_3003_POSTBACK"
}
]
},
{
"title":"CC msg title-2",
"description":"CC msg desc-2",
"image":{
"url":"https://timsac.turkcell.com.tr/scontent/p2p/14112016/11/P1e646f5c03a7b4b44f6da1329ac218e322da72356e79e5116dff86e3fc255a228.png",
"ratio":1.0,
"button":{
"type":0,
"name":"button-7",
"url":"https://www.google.com.tr"
}
},
"buttonlist":[
{
"type":0,
"name":"button-8",
"url":"https://www.google.com.tr"
},
{
"type":1,
"name":"button-9",
"payload":"CCPayload_3005_POSTBACK"
}
]
}
],
"postbackid":"PostbackTMM_CC_1500556659035_END"
}
}
]
}
}
{
"sender":"9053XXXXXXXX",
"serviceId":8332,
"transactionId":"5b9449f2-cb26-4e57-9969-30e3f3ec3a9c_163 ",
"content":{
"type":103,
"tmmType":1,
"tmmPostbackResponse":{
"payload":"CCPayload_3001_POSTBACK",
"postbackid":"PostbackTMM_CC_1500556659035_END"
}
}
}
Sıralı Medya Mesajı:
{
"sender":"9053XXXXXXXX",
"transactionId":"b1b0251a-c26a-4e52-bedb-5ffeefd4512f_165 ",
"composition":{
"list":[
{
"type":13,
"tmmType":4,
"tmmCarousel":{
"list":[
{
"title":"CC msg title-1",
"description":"CC msg desc-1",
"image":{
"url":"https://timsac.turkcell.com.tr/scontent/p2p/14112016/11/P1e646f5c03a7b4b44f6da1329ac218e322da72356e79e5116dff86e3fc255a228.png",
"ratio":1.0
},
"buttonlist":[
{
"type":0,
"name":"button-1",
"url":"https://www.google.com.tr"
},
{
"type":1,
"name":"button-2",
"payload":"CCPayload_4001_POSTBACK"
}
]
},
{
"title":"CC msg title-2",
"description":"CC msg desc-2",
"image":{
"url":"https://timsac.turkcell.com.tr/scontent/p2p/14112016/11/P1e646f5c03a7b4b44f6da1329ac218e322da72356e79e5116dff86e3fc255a228.png",
"ratio":1.0
},
"buttonlist":[
{
"type":0,
"name":"button-3",
"url":"https://www.google.com.tr"
},
{
"type":1,
"name":"button-4",
"payload":"CCPayload_4003_POSTBACK"
}
]
}
],
"postbackid":"PostbackTMM_CC_1500556689165_END"
}
}
]
}
}
{
"sender":"9053XXXXXXXX",
"serviceId":8332,
"transactionId":"bca245b0-44e2-4802-b287-6324fd35a33b_167 ",
"content":{
"type":103,
"tmmType":4,
"tmmPostbackResponse":{
"payload":"CCPayload_4001_POSTBACK",
"postbackid":"PostbackTMM_CC_1500556689165_END"
}
}
}
Hızlı Cevap Medya Mesajı:
{
"sender":"9053XXXXXXXX",
"transactionId":"e7da27fc-469b-4e30-8bad-42bc027655b2_169 ",
"composition":{
"list":[
{
"type":13,
"tmmType":3,
"tmmQuickReply":{
"buttonlist":[
{
"type":1,
"name":"button-1",
"payload":"CCPayload_5000_POSTBACK"
},
{
"type":1,
"name":"button-2",
"payload":"CCPayload_5001_POSTBACK"
}
],
"postbackid":"PostbackTMM_CC_1500556694264_END"
}
}
]
}
}
{
"sender":"9053XXXXXXXX",
"serviceId":8332,
"transactionId":"2e0a5ab4-84d3-42d0-8997-a762f5765bc7_171 ",
"content":{
"type":103,
"tmmType":3,
"tmmPostbackResponse":{
"payload":"CCPayload_5001_POSTBACK",
"postbackid":"PostbackTMM_CC_1500556694264_END"
}
}
}
{
"sender":"9053XXXXXXXX",
"transactionId":"6e66b227-71d8-4326-9c27-c2dd48509712_173 ",
"composition":{
"list":[
{
"type":13,
"tmmType":2,
"tmmPoll":{
"title":"CC msg title",
"description":"CC msg desc",
"image":{
"url":"https://timsac.turkcell.com.tr/scontent/p2p/14112016/11/P1e646f5c03a7b4b44f6da1329ac218e322da72356e79e5116dff86e3fc255a228.png",
"ratio":1.0
},
"polltype":0,
"pollid":"PollTMM_CC_1500556699639_END",
"pollendtime":”20.07.2017 13:32:46.766 +0000”,
"optionlist":[
{
"optionid":0,
"name":"option 1"
},
{
"optionid":1,
"name":"option 2"
},
{
"optionid":2,
"name":"option 3"
}
],
"buttonname":"Cevapla"
}
}
]
}
}
{
"sender":"9053XXXXXXXX",
"serviceId":8332,
"transactionId":"ca348592-6e25-4fbc-9265-ea8bf0a8420d_175 ",
"content":{
"type":104,
"tmmType":2,
"tmmPollResponse":{
"pollid":"PollTMM_CC_1500556699639_END",
"optionids":[
2
]
}
}
}
{
"sender":"9053XXXXXXXX",
"transactionId":"dcc21068-08ea-41aa-a828-e2b07f6567f4_177 ",
"composition":{
"list":[
{
"type":13,
"tmmType":2,
"tmmPoll":{
"title":"CC msg title",
"description":"CC msg desc",
"image":{
"url":"https://timsac.turkcell.com.tr/scontent/p2p/14112016/11/P1e646f5c03a7b4b44f6da1329ac218e322da72356e79e5116dff86e3fc255a228.png",
"ratio":1.0
},
"polltype":1,
"pollid":"PollTMM_CC_1500556709301_END",
"pollendtime":”20.07.2017 13:32:46.766 +0000”,
"optionlist":[
{
"optionid":1001,
"name":"option 1"
},
{
"optionid":1002,
"name":"option 2"
},
{
"optionid":1003,
"name":"option 3"
}
],
"buttonname":"Cevapla"
}
}
]
}
}
{
"sender":"9053XXXXXXXX",
"serviceId":8332,
"transactionId":"0e6cac19-fb14-47d1-98f7-ce16e5d9f964_179 ",
"content":{
"type":104,
"tmmType":2,
"tmmPollResponse":{
"pollid":"PollTMM_CC_1500556709301_END",
"optionids":[
1002,
1003
]
}
}
}
{
"sender":"9053XXXXXXXX",
"transactionId":"60fb6af7-76a5-4c3d-8354-60b3ee8b1916_314 ",
"composition":{
"list":[
{
"type":8,
"richmediatype":4,
"consent":{
"consentid":"Consent_Simple_CC_1500592033730_END",
"description":"3377 nolu ürün için kredi kartınıza 358 TL yansıtılacaktır. Onaylıyor musunuz?",
"leftbutton":{
"id":102,
"text":"hayır"
},
"rightbutton":{
"id":101,
"text":"evet"
}
}
}
]
}
}
{
"sender":"9053XXXXXXXX",
"serviceId":8332,
"transactionId":"492fb96e-813a-4c28-801e-8c587d94b126_316 ",
"content":{
"type":101,
"richmediatype":4,
"consentresponse":{
"consentid":"Consent_Simple_CC_1500592033730_END",
"buttonid":101
}
}
}
{
"sender":"9053XXXXXXXX",
"transactionId":"492fb96e-813a-4c28-801e-8c587d94b126_316 ",
"composition":{
"list":[
{
"type":8,
"richmediatype":5,
"consent":{
"consentid":"Consent_Input_CC_1500592066529_END",
"description":"3377 nolu ürün için kredi kartınıza 358 TL yansıtılacaktır. Onaylıyor musunuz?",
"leftbutton":{
"id":202,
"text":"hayır"
},
"rightbutton":{
"id":201,
"text":"evet"
}
}
}
]
}
}
{
"sender":"9053XXXXXXXX",
"serviceId":8332,
"transactionId":"3f8dec21-eb2e-4c8a-a990-41510e2e0842_318 ",
"content":{
"type":101,
"richmediatype":5,
"consentresponse":{
"consentid":"Consent_Input_CC_1500592066529_END",
"buttonid":202,
"inputtext":""
}
}
}
{
"sender":"9053XXXXXXXX",
"transactionId":"[bb724ab0-9474-49a8-8c69-63e08686ee7a_3 ]",
"composition":{
"list":[
{
"type":0,
"message":"Müşteri Hizmetleri tarafından gönderilen çoklu içerik örneği..."
},
{
"type":2,
"message":"https://timsac.turkcell.com.tr/scontent/p2p/14112016/11/P1e646f5c03a7b4b44f6da1329ac218e322da72356e79e5116dff86e3fc255a228.png",
"data":{
"height":602,
"width":800,
"size":39292
}
},
{
"type":3,
"message":"https://timsac.turkcell.com.tr/scontent/p2p/04032016/05/A796cf1d3ec44217f7fcb3d92a1d8fa4dc244abc2ff6b72004ce6589d6b532e0a5.mp3",
"data":{
"size":28976
}
},
{
"type":4,
"message":"https://timsac.turkcell.com.tr/scontent/p2p/04032016/10/Vedb8d12f22a3ac286622841e61203b2d09805a24c893c47548d98ef675e771295.mp4",
"data":{
"height":353,
"width":353,
"size":5230592
}
},
{
"type":7,
"data":{
"lon":29.117432,
"lat":40.95579
}
}
]
}
}