Capability Exposure Platform API Dokümanı 2.16 Sürüm: 2.16 Tarih: 25/12/2012 Kod: CAPABILITY_EXPOSURE_PLATFORM_API Sayfa: 1 / 337
İçindekiler 1. Giriş... 12 1.1. Amaç... 12 1.2. Tanımlar, kısaltmalar ve baş harf kısaltmaları... 12 1.3. Referanslar...Error! Bookmark not defined. 2. API Kullanımı Genel Bilgiler... 13 2.1. Kimlik Doğrulama (Authentication)... 13 2.1.1. REST Arayüzü... 14 2.1.2. SOAP Arayüzü... 15 2.1.3. İşlem belirteci (Transaction Id)... 16 2.1.4. Servis Seans Belirteci (Service Session Id)... 16 2.2. İstek belirteci (requestid) kullanımı... 17 2.3. Akış belirteci (usageid) kullanımı... 17 2.4. CapexSubscriberId ve RestCapexSubscriberId... 17 2.5. Abone belirteci ve opak belirteç kullanımı... 18 2.6. Yumuşak Geçiş (Soft Launch)... 20 2.7. Kullanım sınırlaması... 20 2.8. API kullanım kayıtları... 21 2.9. Sonuç Kodları... 21 2.9.1. REST Sonuç Kodları... 21 2.9.1.1. Servis Hatası (Service Exception)... 21 2.9.1.2. Politika Hatası (Policy Exception)... 21 2.9.2. SOAP Sonuç Kodları... 22 2.10. Mesajlaşma Api'lerinin kullanımı... 30 2.10.1. Poll Interface... 30 2.10.2. Push Interface... 31 2.10.3. SenderAddress... 31 2.10.4. SenderName... 31 2.10.5. RegistrationId... 31 2.10.6. Mesaj iletim raporu değerleri... 32 2.10.7. Mesaj iletim sonucu... 32 Sürüm: 2.16 Tarih: 25/12/2012 Kod: CAPABILITY_EXPOSURE_PLATFORM_API Sayfa: 2 / 337
2.10.8. Saat Bazlı Mesaj Atımı Engellenmesi... 32 2.11. Rest wadl ve Soap wsdl... 33 2.12. WSDL'den kod oluşturulması... 33 3. Abone Profili API metodları... 34 3.1. Mobil Numara Taşıma Abonesi... 35 3.1.1. REST arayüzü... 36 3.1.2. SOAP arayüzü... 37 3.2. Faturalı Abone... 38 3.2.1. REST arayüzü... 38 3.2.2. SOAP arayüzü... 39 3.3. Ön Ödemeli Abone... 40 3.3.1. REST Arayüzü... 41 3.3.2. SOAP Arayüzü... 42 3.4. E-Fatura Kullanıcısı... 43 3.4.1. REST arayüzü... 43 3.4.2. SOAP arayüzü... 44 3.5. Abone İptal Durumu... 45 3.5.1. REST Arayüzü... 46 3.5.2. SOAP Arayüzü... 47 3.6. Abone Aktiflik Durumu... 48 3.6.1. REST arayüzü... 48 3.6.2. SOAP arayüzü... 49 3.7. Abone Veri Aboneliği Durumu... 50 3.7.1. REST arayüzü... 51 3.7.2. SOAP arayüzü... 52 3.8. Abone Reklam İsteği... 53 3.8.1. REST arayüzü... 54 3.8.2. SOAP arayüzü... 54 3.9. Abone TL Yükleme/Fatura Durumu... 56 3.9.1. REST Arayüzü... 56 3.9.2. SOAP Arayüzü... 57 3.10. Abone Kredi Sorgulama... 58 Sürüm: 2.16 Tarih: 25/12/2012 Kod: CAPABILITY_EXPOSURE_PLATFORM_API Sayfa: 3 / 337
3.10.1. REST Arayüzü... 59 3.10.2. SOAP Arayüzü... 60 3.11. Abone Tüzel Kişiliği... 61 3.11.1. REST Arayüzü... 62 3.11.2. SOAP Arayüzü... 62 3.12. Abone Yaşı... 63 3.12.1. REST Arayüzü... 64 3.12.2. SOAP Arayüzü... 65 3.13. Abone Cinsiyeti... 66 3.13.1. REST Arayüzü... 67 3.13.2. SOAP Arayüzü... 67 3.14. Kimlik Numarası Doğrulaması... 68 3.14.1. REST Arayüzü... 69 3.14.2. SOAP Arayüzü... 70 3.15. Tarife Durumu... 71 3.15.1. REST Arayüzü... 72 3.15.2. SOAP Arayüzü... 73 3.16. Opsiyon Durumu... 74 3.16.1. REST Arayüzü... 74 3.16.2. SOAP Arayüzü... 75 3.17. Kampanya Durumu... 76 3.17.1. REST Arayüzü... 77 3.17.2. SOAP Arayüzü... 78 3.18. Abone Segment Durumu... 79 3.18.1. REST Arayüzü... 80 3.18.2. SOAP Arayüzü... 81 3.19. Red/Red Plus Durumu... 82 3.19.1. REST Arayüzü... 83 3.19.2. SOAP Arayüzü... 83 3.20. Abone Adresi... 85 3.20.1. REST Arayüzü... 85 3.20.2. SOAP Arayüzü... 86 Sürüm: 2.16 Tarih: 25/12/2012 Kod: CAPABILITY_EXPOSURE_PLATFORM_API Sayfa: 4 / 337
3.21. E-Fatura Yeni Katılım... 87 3.21.1. REST Arayüzü... 88 3.21.2. SOAP Arayüzü... 89 3.22. FreeZone Durumu... 90 3.22.1. REST Arayüzü... 91 3.22.2. SOAP Arayüzü... 92 3.23. Vergi Numarası Kontrolü... 93 3.23.1. REST Arayüzü... 93 3.23.2. SOAP Arayüzü... 94 3.24. Tac Id Sorgulama... 95 3.24.1. REST Arayüzü... 96 3.24.2. SOAP Arayüzü... 97 3.25. Doğum Günü Sorgulama... 98 3.25.1. REST Arayüzü... 99 3.25.2. SOAP Arayüzü... 100 4. SMS API Metodları... 102 4.1. SMS Gönderimi (OneAPI yöntemi)... 103 4.1.1. REST Arayüzü... 105 4.1.2. SOAP Arayüzü... 106 4.2. Ücretlendirerek SMS gönderimi... 108 4.2.1. REST Arayüzü... 110 4.2.2. SOAP Arayüzü... 111 4.3. Wap Push Gönderimi (OneAPI yöntemi)... 113 4.3.1. REST Arayüzü... 114 4.3.2. SOAP Arayüzü... 116 4.4. Ücretlendirerek Wap Push gönderimi... 117 4.4.1. REST Arayüzü... 119 4.4.2. SOAP Arayüzü... 121 4.5. İletim Raporları Alımı... 122 4.5.1. REST Arayüzü... 123 4.5.2. SOAP Arayüzü... 125 4.6. İletim Raporları Alımını Başlatma... 126 Sürüm: 2.16 Tarih: 25/12/2012 Kod: CAPABILITY_EXPOSURE_PLATFORM_API Sayfa: 5 / 337
4.6.1. REST Arayüzü... 127 4.6.2. SOAP Arayüzü... 128 4.7. İletim Raporları Alımını Durdurma... 130 4.7.1. REST Arayüzü... 130 4.7.2. SOAP Arayüzü... 131 4.8. İletim Raporu İtme... 132 4.9. SMS Mesajını Alma... 133 4.9.1. REST Arayüzü... 135 4.9.2. SOAP Arayüzü... 136 4.10. SMS Mesaj Alımını Başlatma... 137 4.10.1. REST Arayüzü... 138 4.10.2. SOAP Arayüzü... 139 4.11. SMS Mesaj Alımını Durdurma... 140 4.11.1. REST Arayüzü... 140 4.11.2. SOAP Arayüzü... 141 4.12. SMS Mesajı İtme... 143 5. MMS API... 145 5.1. MIME format kodlaması... 146 5.2. MMS Gönderimi (OneAPI yöntemi)... 147 5.2.1. REST Arayüzü... 148 5.2.2. SOAP Arayüzü... 150 5.3. İletim Durum Raporu alma... 153 5.3.1. REST Arayüzü... 153 5.3.2. SOAP Arayüzü... 154 5.4. İletim Raporları Alımını Başlatma... 156 5.4.1. REST Arayüzü... 156 5.4.2. SOAP Arayüzü... 157 5.5. İletim Raporları Alımını Durdurma... 159 5.5.1. REST Arayüzü... 159 5.5.2. SOAP Arayüzü... 160 5.6. İletim Raporunu İtme... 161 5.6.1. SOAP Arayüzü... 161 Sürüm: 2.16 Tarih: 25/12/2012 Kod: CAPABILITY_EXPOSURE_PLATFORM_API Sayfa: 6 / 337
5.6.2. REST Arayüzü... 162 5.7. MMS Mesajını Alma... 162 5.7.1. REST Arayüzü... 163 5.7.2. SOAP Arayüzü... 165 5.8. MMS Mesajının Tamamını Alma... 168 5.8.1. REST Arayüzü... 169 5.8.2. SOAP Arayüzü... 170 5.9. MMS Mesaj İletimini Başlatma... 172 5.9.1. REST Arayüzü... 173 5.9.2. SOAP Arayüzü... 174 5.10. MMS Mesaj İletimini Durdurma... 175 5.10.1. REST Arayüzü... 176 5.10.2. SOAP Arayüzü... 177 5.11. MMS Mesajını İtme... 178 6. USSD API Metodları... 180 6.1. USSD Mesaj Gönderimi... 180 6.1.1. REST Arayüzü... 181 6.1.2. SOAP Arayüzü... 183 6.2. İletim Raporunu Alma... 185 6.2.1. REST Arayüzü... 186 6.2.2. SOAP Arayüzü... 187 6.3. İletim Raporu Alımınını Başlatma... 188 6.3.1. REST Arayüzü... 189 6.3.2. SOAP Arayüzü... 190 6.4. İletim Raporu Alımınını Durdurma... 191 6.4.1. REST Arayüzü... 192 6.4.2. SOAP Arayüzü... 192 6.5. İletim Raporunu İtme... 193 6.5.1. SOAP Arayüzü... 194 6.5.2. REST Arayüzü... 194 7. Konum ve Coğrafi Bilgi API Metodları... 196 7.1. Konum Sorgusu... 196 Sürüm: 2.16 Tarih: 25/12/2012 Kod: CAPABILITY_EXPOSURE_PLATFORM_API Sayfa: 7 / 337
7.1.1. REST Arayüzü... 198 7.1.2. SOAP Arayüzü... 200 7.2. Grup Konum Sorgusu... 202 7.2.1. REST Arayüzü... 203 7.2.2. SOAP Arayüzü... 203 7.3. Konum Onayının Durum Bilgisini Sorgulama... 206 7.3.1. REST Arayüzü... 207 7.3.2. SOAP Arayüzü... 208 7.4. Event Alımınını Başlatma... 209 7.4.1. REST Arayüzü... 210 7.4.2. SOAP Arayüzü... 212 7.5. Event Alımınını Durdurma... 213 7.5.1. REST Arayüzü... 213 7.5.2. SOAP Arayüzü... 214 7.6. Konum Onay Sonucunu İtme... 215 7.6.1. SOAP Arayüzü... 215 7.6.2. REST Arayüzü... 216 7.7. Adres Sorgusu... 216 7.7.1. SOAP Arayüzü... 217 7.7.2. REST Arayüzü... 218 7.8. İlgi Noktası (POI) sorgulama... 219 7.8.1. SOAP Arayüzü... 220 7.8.2. REST Arayüzü... 222 7.9. Rota Sorgulama... 224 7.9.1. SOAP Arayüzü... 225 7.9.2. REST Arayüzü... 227 8. Ücretlendirme API Metodları... 230 8.1. Ücretlendirme... 230 8.1.1. REST Arayüzü... 232 8.1.2. SOAP Arayüzü... 233 8.2. Ödeme Sonucu Sorgulama... 235 8.2.1. REST Arayüzü... 236 Sürüm: 2.16 Tarih: 25/12/2012 Kod: CAPABILITY_EXPOSURE_PLATFORM_API Sayfa: 8 / 337
8.2.2. SOAP Arayüzü... 237 8.3. Ödeme Sonuçlarını Liste Olarak Sorgulama... 238 8.3.1. REST Arayüzü... 239 8.3.2. SOAP Arayüzü... 241 8.4. İade... 244 8.4.1. REST Arayüzü... 246 8.4.2. SOAP Arayüzü... 248 8.5. Ücretlendirme Bildirimi İtme [PartyCallService.sendChargeNotification]... 249 8.5.1. SOAP Arayüzü... 250 9. Mobil Ödeme API Metodları... 252 9.1. Kimlik Denetimi... 252 9.1.1. Username/Password... 252 9.1.2. ServiceId... 252 9.2. Abone Bilgisi Sorgulama... 252 9.2.1. SOAP Arayüzü... 253 9.3. Ücretlendirme... 254 9.3.1. SOAP Arayüzü... 255 9.4. Ödeme Durum Bilgisi Sorgulama... 257 9.4.1. SOAP Arayüzü... 258 9.5. Toplu Ödeme Durum Bilgisi Sorgulama... 259 9.5.1. SOAP Arayüzü... 259 10. Abone Onayı API Metodları... 262 10.1. İçerik Bazlı Ücretlendirme Onayı İsteme... 262 10.1.1. REST Arayüzü... 264 10.1.2. SOAP Arayüzü... 265 10.2. Onay İsteme... 266 10.2.1. REST Arayüzü... 267 10.2.2. SOAP Arayüzü... 268 10.3. Onay Sorgulama... 269 10.3.1. REST Arayüzü... 270 10.3.2. SOAP Arayüzü... 271 10.4. Onay İstek Sonuçları Alımını Başlatma... 273 Sürüm: 2.16 Tarih: 25/12/2012 Kod: CAPABILITY_EXPOSURE_PLATFORM_API Sayfa: 9 / 337
10.4.1. REST Arayüzü... 273 10.4.2. SOAP Arayüzü... 274 10.5. Onay İstek Sonuçları Alımını Durdurma... 275 10.5.1. REST Arayüzü... 276 10.5.2. SOAP Arayüzü... 277 10.6. Onay Sonucu İtme... 277 10.6.1. SOAP Arayüzü... 278 10.6.2. REST Arayüzü... 278 11. Abonelik API Metodları... 279 11.1. Abonelik Yaratma... 279 11.1.1. REST Arayüzü... 280 11.1.2. SOAP Arayüzü... 281 11.2. Abonelik İptali... 283 11.2.1. REST Arayüzü... 283 11.2.2. SOAP Arayüzü... 284 11.3. Abonelik Uyarısı Gönderme [PartyCallService.sendSubscriptionNotify]... 285 11.3.1. SOAP Arayüzü... 286 11.4. MSISDN Değişimi Bildirimi [PartyCallService.sendChangeMsisdnNotify]... 287 11.4.1. SOAP Arayüzü... 287 12. Kimlik Denetimi API Metodları... 289 12.1. Seans Yaratma... 289 12.1.1. REST Arayüzü... 290 12.1.2. SOAP Arayüzü... 291 12.2. Seans Kontrolü... 292 12.2.1. REST Arayüzü... 293 12.2.2. SOAP Arayüzü... 293 12.3. Seans Bitirme... 294 12.3.1. REST Arayüzü... 295 12.3.2. SOAP Arayüzü... 296 12.4. Seans Bilgisi Alma... 297 12.4.1. REST Arayüzü... 297 12.4.2. SOAP Arayüzü... 298 Sürüm: 2.16 Tarih: 25/12/2012 Kod: CAPABILITY_EXPOSURE_PLATFORM_API Sayfa: 10 / 337
13. Kullanım Bilgisi API Metodları... 300 13.1. Kullanım Bilgisi... 300 13.1.1. SOAP Arayüzü... 303 13.1.2. REST Arayüzü... 305 14. Provizyon API Metodları... 308 14.1. Abone Bilgisi Alma... 308 14.1.1. REST Arayüzü... 309 14.1.2. SOAP Arayüzü... 309 14.2. Bakiye Kontrolü... 311 14.2.1. REST Arayüzü... 311 14.2.2. SOAP Arayüzü... 312 14.3. Doğrudan Yükleme... 313 14.3.1. REST Arayüzü... 314 14.3.2. SOAP Arayüzü... 315 14.4. Kupon ile Doğrudan Yükleme... 316 14.4.1. REST Arayüzü... 317 14.4.2. SOAP Arayüzü... 318 14.5. Ön Tanımla Yükleme... 319 14.5.1. REST Arayüzü... 320 14.5.2. SOAP Arayüzü... 321 14.6. Ön Tanımla Kuponlu Yükleme... 322 14.6.1. REST Arayüzü... 323 14.6.2. SOAP Arayüzü... 324 15. Ek A POI Kategori Listesi... 326 Sürüm: 2.16 Tarih: 25/12/2012 Kod: CAPABILITY_EXPOSURE_PLATFORM_API Sayfa: 11 / 337
1. Giriş 1.1. Amaç Bu dokümanın amacı Capability Exposure Platform (CEP) ile entegre olacak, servisler yazacak uygulama geliştiricilere rehber olmaktır. 1.2. Tanımlar, kısaltmalar ve baş harf kısaltmaları Term ACR CapEx CEP Definition (Anonymous Customer Reference) Anonim müşteri referansı Opak kimlik belirteci Opaque Id (Capability Exposure) Yetenek açığa çıkarma (Capability Exposure Platform) Yetenek Açığa Çıkarma Platformu. Dokümanda CEP ve MDPEx isimleri dönüşümlü olarak karşınıza çıkabilir. Yeni platformun adı CEP olarak geçecektir. MDP (Message Delivery Platform) Mesaj Teslim Platformu (MDP, dokümanın 2.16 versiyonu itibariyle kaldırılmıştır.) MDPEx REST SOAP (MDP Extended) Mesaj Teslim Platformu + CapEx uygulama programlama arayüzleri genişletmesini içeren geliştirilmiş mesaj teslim platformunun eski adı. Dokümanda CEP ve MDPEx isimleri dönüşümlü olarak karşınıza çıkabilir. Yeni platformun adı CEP olarak geçecektir. (MDPEx, dokümanın 2.16 versiyonu itibariyle kaldırılmıştır.) REpresentational State Transfer Simple Object Access Protocol Sürüm: 2.16 Tarih: 25/12/2012 Kod: CAPABILITY_EXPOSURE_PLATFORM_API Sayfa: 12 / 337
2. API Kullanımı Genel Bilgiler Vodafone CEP, iş ortaklarımızın ve girişimcilerin, Vodafone Telekomünikasyon Ağının yeteneklerinden de faydalanarak yaratıcı fikirlerini yenilikçi uygulamalar olarak Vodafone müşterilerinin hizmetine sunmalarını sağlamayı amaçlamaktadır. Bu amaçla endüstri standardı olmuş uygulama programlama arayüzleri temel alınarak zenginleştirilmiş ve uygulama geliştiricilerin Vodafone Hizmet Ağının sağladığı yeteneklerine kolayca entegre olabilmeleri hedeflenmiştir. CEP, Vodafone iş ortaklarının eskiden entegre oldukları MDP platformunun üzerine inşa edilmiş olup eski platformun yeteneklerinin hepsini barındırmaktadır. CEP, eski MDP sisteminin sağladığı müşterilerin bilgilendirilmesi, servis aboneliklerinin ve bunların ücretlendirmelerinin yönetimi, tekil içerik satışlarının yönetimi, entegre müşteri hizmetleri uygulaması gibi özellikleri sağlamasının yanı sıra mesajlaşma, abone profili bilgileri sorgulama, konum ve coğrafi bilgi sorgulama, ücretlendirme ve ücretlendirme onayı, aboneye ücretsiz dakika ve SMS yükleme gibi yeni özellikleri de sağlar. Bu yeteneklerle geliştirilecek servis çeşitliliğini artırmayı ve iş ortaklarımızla birlikte abonelerimize daha kaliteli servisler sunmayı amaçlıyoruz. Bu dokümanda açıklanan API metotlarının kullanımı için, Vodafone iş ortağı olmanız gerekmektedir. İş ortağı olmakla ilgili yasal prosedürlerinin tamamlanmasının ardından CEP Test Sistemine erişim yetkisi tanımlanması gerekmektedir. Bu erişim yetkisi uygulama sunucularınızın CEP Test Sistemi IP adreslerine erişebilmesi için gereken IP tanımlamalarıyla başlar. Ardından Servis Yönetimi Kullanıcı Arabirimi için kullanıcı adı ve şifre tanımlanmalıdır. Size sağlanacak kullanıcı adı ve şifre yardımıyla Servis Yönetimi Kullanıcı Arabirimine giriş yapıp bir servis tanımı yapmanız gerekmektedir. Bu servis tanımı aynı zamanda hangi API metotlarının kullanılacağına dair yetkilendirmeleri de içerecektir. Servis tanımının onaylanmasının ardından uygulamanızı platform üzerinden test etmeye başlayabilirsiniz. 2.1. Kimlik Doğrulama (Authentication) CEP API lerini kullanabilmek için önceden servis yönetim grafik arabiriminden yeni bir servis yaratmalı ve kullanıcı adı, şifre ve servis belirteci (service id) bilgilerini elde etmelisiniz. Bu bilgileri CEP sistemine yapacaginiz her istekte request içinde vermelisiniz. Sürüm: 2.16 Tarih: 25/12/2012 Kod: CAPABILITY_EXPOSURE_PLATFORM_API Sayfa: 13 / 337
2.1.1. REST Arayüzü REST metodlarinda HTTP Basic Authentication kullanılmaktadır. REST isteklerinde http header'da username / password ve service id bilgisi gitmelidir. username@companyid:password string'i base64 ile encode edilmelidir. Encode edilen değer istekte http header da verilmelidir. Authorization: Basic QWxhZGRpbjpvcGVuIHNlc2FtZQ== şeklinde encode edilmiş bilgi verilmelidir. Bunun yanında serviceid header'ı ile de service id geçirilmelidir. Örnek istek şu şekildedir: POST http://localhost:8000/1/ussdmessaging/outbound/2655/subscriptions HTTP/1.1 Accept-Encoding: gzip,deflate Content-Type: application/x-www-form-urlencoded Authorization: Basic c3vsdgfuqdewmdawmdawnji6u3vsdgfumtizna== serviceid: :2001000001 User-Agent: Jakarta Commons-HttpClient/3.1 Host: localhost:8000 Content-Length: 0 Yetkilendirme bilgileri eksik gelirse görülecek hata aşağıdaki gibidir. Bu durumda service id parametresi gönderilmemiş olabilir, ya da bilgiler yanlıştır. HTTP/1.1 400 Bad Request Content-Type: application/json Content-Length: 164 Server: Jetty(6.1.25) {"policyexception":null,"serviceexception":{"messageid":"svc0001","text":"a service error occurred. Error code is %1","variables":"52:Missing authorization info."}} Yetkilendirme bilgileri yanlış gelirse görülecek hata aşağıdadır. Bu durumda username / password / serviceid bilgisi yanlış olabilir ya da verilen servisin API metodunu kullanma yetkisi olmayabilir. HTTP/1.1 401 Unauthorized WWW-Authenticate: Basic realm=sdf Content-Type: text/html; charset=iso-8859-1 Cache-Control: must-revalidate,no-cache,no-store Content-Length: 1414 Server: Jetty(6.1.25) Sürüm: 2.16 Tarih: 25/12/2012 Kod: CAPABILITY_EXPOSURE_PLATFORM_API Sayfa: 14 / 337
<html> <head> <meta http-equiv="content-type" content="text/html; charset=iso-8859-1"/> <title>error 401 Unauthorized</title> </head> <body> <h2>http ERROR 401</h2> <p>problem accessing /1/ussdmessaging/outbound/2655/subscriptions. Reason: <pre>unauthorized</pre> </p> <hr/> <i> <small>powered by Jetty://</small> </i> <br/> <br/> </body> </html> 2.1.2. SOAP Arayüzü SOAP metodlarinda USERNAMEPASSWORD ya da SESSIONID yetkilendirme tipleri kullanılabilir. SESSIONID kullanımı için, header'da sessionid isimli bir header doldurulmalı, usernamepassword kullanımı için ise password doldurulmalı. SOAP metodlarında ise yetkilendirme bilgisi SOAP header da bulunmalıdır. Aşağıda iki şekilde örnek verilmiştir. Örnek 1: <soapenv:header> <pms:authentication pms:user="capexuser@capexcmp" pms:password="123456" pms:serviceid=":2001000001"/> </soapenv:header> Örnek 2: <soapenv:header> <Authentication:usernamePassword Authentication:user="capexuser@capexcmp" Authentication:password="123456" Authentication:serviceid=":2001000001" xmlns:authentication="authentication"/> </soapenv:header> SessionBased authentication'da tokenid/sessionid almak için : <soapenv:envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:aut="http://authentication.services.system.sdf.oksijen.com"> <soapenv:header> <aut:authentication aut:user="sultan@1000000062" aut:password="sultan1234" aut:sessionid="" aut:serviceid=":2001000001"/> </soapenv:header> Sürüm: 2.16 Tarih: 25/12/2012 Kod: CAPABILITY_EXPOSURE_PLATFORM_API Sayfa: 15 / 337
<soapenv:body> <aut:authenticate/> </soapenv:body> </soapenv:envelope> Cevap olarak sessionid gelecektir: <soapenv:envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/"> <soapenv:body> <ns:authenticateresponse xmlns:ns="http://authentication.services.system.sdf.oksijen.com"> <return> <sessionid>ocjlrro1osdl6kgm0zpneyshm086ztun</sessionid> </return> </ns:authenticateresponse> </soapenv:body> </soapenv:envelope> 2.1.3. İşlem belirteci (Transaction Id) Servis kurgusuna göre, yapılan bir request ile asenkron olarak alınan cevabı eşleştirmek için kullanılan, zorunlu olmayan (optional) bir parametredir. CEP e yapılan bir istekte header'da verilebilir. 2.1.4. Servis Seans Belirteci (Service Session Id) Servis kurgusuna göre, yapilan birkaç request aynı session (aynı servis akışı) ile alakalı olabilir. Örnegin bir sms atılmasının ardından bu sms ile ilgili ücretlendirme isteği yapılıyorsa, bu aradaki ilişkiyi belirtmek için iki istekte de header'da servicesessionid değeri aynı verilerek eşleştirme yapılabilir. Özet olarak http header'da gönderilmesi gereken parametreler aşağıdaki tabloda verilmiştir. Parametre Adı Zorunlu Açıklama Authorization E username@companyid:password bilgisinin base64 encode edilmiş hali geçirilir serviceid E servis id transactionid H Herhangi bir istek asenkron bir cevap ile eşleştirilmek isteniyorsa kullanılabilir Sürüm: 2.16 Tarih: 25/12/2012 Kod: CAPABILITY_EXPOSURE_PLATFORM_API Sayfa: 16 / 337
servicesessionid H Birden fazla istek ve response bir service akışı ile eşleştirilmek isteniyorsa kullanılabilir 2.2. İstek belirteci (requestid) kullanımı OneApi metodlarında kullanılan istek belirteci requestid (type:string) parametresinin kullanımı sadece ilgili operasyon a özeldir. Örnek olarak sendsms operasyonu sonucu dönen requestid parametresi, ilgili mesajın iletim raporunu sorgulamak için kullanılacaktır. 2.3. Akış belirteci (usageid) kullanımı Abonenin ilk talebinin sisteme ulaşmasından, abonenin talebinin karşılanıp içeriğin sağlanmasına (tekil içerikler için) ya da aboneliğin yaratılıp o aboneliğin hayat döngüsü ve iptaline kadar gerçekleşen bütün işlemler aynı içerik belirteci usageid (type:long) ile gerçekleşir. usageid degerinin takip edilmesi ve ilişkisinin tutulması 3rd party servisinin sorumluluğundadır. OneApi kullanımında akışları birbirine bağlamak için usageid kullanılır. Devamında bu akış ile ilişkili olan tüm çağrılarda bu usageid bilgisi beklenmektedir, aksi takdirde bu akışın yeni bir akış olduğu farz edilerek sistem tarafından yeni bir usageid üretilecektir. 2.4. CapexSubscriberId ve RestCapexSubscriberId Parametre Veri Tipi Zorunlu Size Açıklama enduserid String E 20 byte Abonenin EndUserid sidir. usageid Long H Bağlanmak istenen akışa ait usageid bilgisidir. Verilmemesi durumunda yeni akış kabul edildiği için yeni bir usageid üretilip cevapta dönülür. nickname String H Abonenin nickname ini ifade eder. Sürüm: 2.16 Tarih: 25/12/2012 Kod: CAPABILITY_EXPOSURE_PLATFORM_API Sayfa: 17 / 337
2.5. Abone belirteci ve opak belirteç kullanımı Uygulama ile CEP sistemi arasındaki bütün istek ve yanıtlarda Vodafone abonesinin id bilgisi 3 şekilde geçebilir:tc Kimlik No,MSISDN, Opak kimlik belirteci. (ACR) CEP sistemine doğru yapılan isteklerde servisin yetki durumununa göre bu üç id'den biri kullanılır. Dökümanın geri kalanında aboneyi tanımlayan bu belirteç değerine enduserid denecektir. Belirteç Formatı Sorgulama tipi tck:tcknumarası tel:+msisdn acr:opaqueid TCK numarası ile sorgulama International formatta telefon numarası ile sorgulama OpaqueId ile sorgulama TCK numarası kullanarak sorgu yaparsanız bu numaraya kayıtlı bir telefon numarası olup olmadığı kontrol edilir ve kayıtlı telefon numarası üzerinden işlem yapılır. OpaqueId(ACR) kullanımı lokasyon tabanlı servislerde zorunludur. Bir servis te lokasyon APIsi kullanılıyorsa, o servisteki bütün api çağrıları opaqueid üzerinden yapılmalıdır. OpqueId(ACR) ile yapılmış request örneği aşağıdadır. Burada address=acr%3a23423423423423423423423 değişkeni URL encoded olarak verilmiş opaqueid'li bir değerdir. POST http://localhost:8000/1/ussdmessaging/outbound/2655/requests/ HTTP/1.1 Accept-Encoding: gzip,deflate Content-Type: application/x-www-form-urlencoded Authorization: Basic c3vsdgfuqdewmdawmdawnji6u3vsdgfumtizna== serviceid: :2001000001 User-Agent: Jakarta Commons-HttpClient/3.1 Host: localhost:8000 Content-Length: 50 message=test&address=acr%3a23423423423423423423423 Aynı istek msisdn kullanılarak yapılırsa: POST http://localhost:8000/1/ussdmessaging/outbound/2655/requests/ HTTP/1.1 Accept-Encoding: gzip,deflate Content-Type: application/x-www-form-urlencoded Sürüm: 2.16 Tarih: 25/12/2012 Kod: CAPABILITY_EXPOSURE_PLATFORM_API Sayfa: 18 / 337
Authorization: Basic c3vsdgfuqdewmdawmdawnji6u3vsdgfumtizna== serviceid: :2001000001 User-Agent: Jakarta Commons-HttpClient/3.1 Host: localhost:8000 Content-Length: 42 message=test&address=tel%3a%2b90542xxxxxxx Aynı istek tck numarası kullanılarak yapılırsa: POST http://localhost:8000/1/ussdmessaging/outbound/2655/requests/ HTTP/1.1 Accept-Encoding: gzip,deflate Content-Type: application/x-www-form-urlencoded Authorization: Basic c3vsdgfuqdewmdawmdawnji6u3vsdgfumtizna== serviceid: :2001000001 User-Agent: Jakarta Commons-HttpClient/3.1 Host: localhost:8000 Content-Length: 38 message=test&address=tck%3a31294419329 Msisdn kullanılarak yapılmış örnek bir lokasyon isteği: GET http://localhost:8000/1/location/queries/location?address=tel%3a%2b90543xxxxxxx HTTP/1.1 Accept-Encoding: gzip,deflate Accept: application/json User-Agent: Jakarta Commons-HttpClient/3.1 Host: localhost:8000 Eğer servisinize tanımlanmış ve yetki verilmiş Id formatından farklı bir formatla istekte bulunusanız aşagıdaki hata görülür: HTTP/1.1 500 Internal Server Error Content-Type: application/json Content-Length: 159 Server: Jetty(6.1.25) Sürüm: 2.16 Tarih: 25/12/2012 Kod: CAPABILITY_EXPOSURE_PLATFORM_API Sayfa: 19 / 337
{"policyexception":{"messageid":"pol0001","text":"a policy error occurred. Error code is %1","variables":"50:Wrong type of EndUserId"},"serviceException":null} Eğer geçersiz bir id ile istekte bulunulursa aşağıdaki hata dönülür: HTTP/1.1 400 Bad Request Content-Type: application/json Content-Length: 158 Server: Jetty(6.1.25) {"policyexception":null,"serviceexception":{"messageid":"svc0001","text":"a service error occurred. Error code is %1","variables":"1:EndUserId format error"}} 2.6. Yumuşak Geçiş (Soft Launch) CEP bir test platformu olarak kullanılabilir. Test aşamasındaki servislerde her istek için doğru cevap dönmemektedir. Servis yaratırken tanımladığınız telefon numarası ile test yaparsanız gerçek bilgileri alabilirsiniz. Fakat başka numaralar ile denerseniz gerçek değerlere benzer rastgele üretilmiş değerler alacaksınız. Bu şekilde istediğiniz numaralar ile değişik durumları test edebilirsiniz. Eğer kendi numaranız dışında bir numara ile de test yapmak isterseniz Vodafone ile temasa geçerek bu msisdn'leri test numaraları olarak kayıt ettirebilirsiniz. 2.7. Kullanım sınırlaması Abone profili API metodları için metod başına günlük ve aylık kullanım limitleri bulunmaktadır. Bu limitleri aştığınızda sistemden aşağıdaki limit hatasını alacaksınız. HTTP/1.1 500 Internal Server Error Content-Type: application/json Content-Length: 156 Server: Jetty(6.1.25) {"policyexception":{"messageid":"pol0001","text":"a policy error occurred. Error code is %1","variables":"25:Request limit error."},"serviceexception":null} Sürüm: 2.16 Tarih: 25/12/2012 Kod: CAPABILITY_EXPOSURE_PLATFORM_API Sayfa: 20 / 337
2.8. API kullanım kayıtları Yaptığınız bütün api çağrıları gelen/giden parametreleri ile birlikte loglanmaktadır. Bu loglara daha sonra HistoryApi üzerinden ulaşarak hangi apileri ne kadar kullandığınızı, hangi hataları aldığınızı görebilirsiniz. 2.9. Sonuç Kodları 2.9.1. REST Sonuç Kodları 2.9.1.1. Servis Hatası (Service Exception) Gönderilen isteğin formatı hatalıysa, parametreler geçerli değilse ya da eksikse bu tip hata dönülür. Servis hatası örneği şu şekildedir: HTTP/1.1 400 Bad Request Content-Type: application/json Content-Length: 158 Server: Jetty(6.1.25) {"policyexception":null,"serviceexception":{"messageid":"svc0001","text":"a service error occurred. Error code is %1","variables":"1:EndUserId format error"}} 2.9.1.2. Politika Hatası (Policy Exception) Gönderilen isteğin formatı doğruysa, fakat işleyişte bir hata oluşmuşsa bu tip hata dönülür. REST politika hatası örneği şu şekildedir: HTTP/1.1 500 Internal Server Error Content-Type: application/json Content-Length: 156 Server: Jetty(6.1.25) {"policyexception":{"messageid":"pol0001","text":"a policy error occurred. Error code is %1","variables":"25:Request limit error."},"serviceexception":null} Hata durumlarında değişkenler içerisinde gelen sayısal kod ve açıklama hata ile ilgili ayrintili bilgi vermektedir. Sürüm: 2.16 Tarih: 25/12/2012 Kod: CAPABILITY_EXPOSURE_PLATFORM_API Sayfa: 21 / 337
Bütün hata kodlarının listesi aşağıdaki tablodadır. Genel olarak sistemden aşağıdaki exceptionlar alınabilir: Hata Kodu Açıklama Hata içeriği Değişken SVC0001 Genel Service exception A service error occurred. Error code is %1 POL0001 Genel Policy Exception A policy error occurred. Error code is %1 POL3001 MESSAGING_DUPLICATE_URL Duplicate subscription. Subscription exists with id %1 Genel hata kodlarından biri Genel hata kodlarından biri Varolan subscription id'si POL3002 MESSAGING_MAX_ADDRESS_LIST_SIZE_ERR OR Too many addresses. Max allowed %1 Max izin verilen address sayısı POL3003 SUBSC_OPS_SUBSCRIPTION_ALREADY_EXIST S Subscription already exists with id %1 Varolan aboneliğin id si POL0004 AOC_CONSENT_EXISTS Consent exists with id %1 Varolan consent_id POL3005 TOTAL_CHARGE_LIMIT_IS_REACHED Total charge limit is reached, left amount is %1 TL POL3006 SUBSCRIPTION_DOES_NOT_EXIST Related content subscription does not exist.related content id is %1 Toplam geriye kalmış olan miktar İlişkili içeriğin içerik numarası Detaylı bilgi için: https://gsma.securespsite.com/access/access%20api%20wiki/common%20policy%20exceptio ns.aspx https://gsma.securespsite.com/access/access%20api%20wiki/common%20service%20excepti ons.aspx 2.9.2. SOAP Sonuç Kodları Result code ve description olarak response içinde gelir. Aşağıdaki tablodan bakılabilir. Sürüm: 2.16 Tarih: 25/12/2012 Kod: CAPABILITY_EXPOSURE_PLATFORM_API Sayfa: 22 / 337
Kod Açıklama Hata tipi 0 Success ServiceException 1 EndUserId format error PolicyException 10 Invalid channel PolicyException 11 Invalid reference code PolicyException 13 Invalid currency PolicyException 15 Invalid charge amount PolicyException 16 Invalid Date PolicyException 21 Reference code exists ServiceException 22 Transaction not found ServiceException 23 General system error! ServiceException 25 Request limit error. ServiceException 26 Invalid parameter error PolicyException 27 Invalid gender PolicyException 28 Invalid package id PolicyException 29 Invalid customer type PolicyException 30 Invalid segment PolicyException 31 Invalid option id PolicyException 32 Invalid campaign id PolicyException 33 User & Password error ServiceException 34 Invalid token id PolicyException 35 Missing Data PolicyException 36 Longtitude should not be empty! PolicyException 37 Invalid longtitude! PolicyException Sürüm: 2.16 Tarih: 25/12/2012 Kod: CAPABILITY_EXPOSURE_PLATFORM_API Sayfa: 23 / 337
38 Latitude should not be empty! PolicyException 39 Invalid latitude! PolicyException 40 route_preference should be FASTEST or SHORTEST! PolicyException 41 road_preference should be HIGHWAY or LOCAL! PolicyException 42 distance_unit should be KM, MILE or METER! PolicyException 43 time_unit should be HOUR, MINUTE or SECOND! PolicyException 44 return_driving_directions should be TRUE or FALSE! PolicyException 45 return_route_geometry should be TRUE or FALSE PolicyException 46 Please specify a valid category list! PolicyException 47 Poi count is 0! ServiceException 48 city should not be empty! PolicyException 50 Wrong type of EndUserId ServiceException 51 OpaqueId error ServiceException 52 Missing authorization info. PolicyException 53 Service is deleted. ServiceException 54 Service is passive. ServiceException 55 Address list cannot be empty. PolicyException 56 Request timeout! ServiceException 57 There is no such POI whithin the given limits! ServiceException 58 Route not found! ServiceException 59 History not found. ServiceException 60 Receivers list cannot be empty. PolicyException 61 Message cannot be empty. PolicyException 63 SenderAddress cannot be empty. PolicyException Sürüm: 2.16 Tarih: 25/12/2012 Kod: CAPABILITY_EXPOSURE_PLATFORM_API Sayfa: 24 / 337
64 Correlator exists. ServiceException 69 Invalid url. PolicyException 70 Cannot push msg. ServiceException 71 MMS parameter syntax invalid PolicyException 72 Sender name invalid. PolicyException 73 No record found. ServiceException 74 SenderName cannot be empty. PolicyException 75 Invalid msisdn. PolicyException 76 Invalid content. PolicyException 79 Subscription not found. ServiceException 80 SenderAddress is invalid. PolicyException 81 Only JSON Format is supported. PolicyException 82 Too many addresses. ServiceException 84 Destination address is invalid PolicyException 85 Subscription id is invalid PolicyException 86 Invalid description. PolicyException 87 Invalid code. PolicyException 88 WapPush Url should not be empty. PolicyException 89 AoC message content is invalid. PolicyException 90 Registration id is invalid. PolicyException 91 Operation not supported for this subscriber ServiceException 94 Max debit reached ServiceException 95 Invalid server reference code PolicyException 96 Invalid charge transaction status PolicyException Sürüm: 2.16 Tarih: 25/12/2012 Kod: CAPABILITY_EXPOSURE_PLATFORM_API Sayfa: 25 / 337
97 Invalid client correlator PolicyException 98 Client correlator exists ServiceException 99 Code not found ServiceException 100 Invalid Priority PolicyException 101 Already refunded ServiceException 102 Invalid message category PolicyException 103 Max URL size exceeded. PolicyException 104 Max Callbackdata size exceeded. PolicyException 105 Max message content size exceeded PolicyException 106 Max subject size exceeded PolicyException 107 MmaId not found ServiceException 108 Invalid voucher PolicyException 109 Invalid gift type PolicyException 110 Invalid content idcode PolicyException 111 Invalid Notify Url PolicyException 112 Invalid asset namedescription PolicyException 113 Invalid channel PolicyException 114 Invalid subscription id PolicyException 115 Operation not supported for this subscriber PolicyException 116 Request id is invalid. PolicyException 117 Content not supported. PolicyException 118 General system error! ServiceException 119 General system error! ServiceException 120 General system error! ServiceException Sürüm: 2.16 Tarih: 25/12/2012 Kod: CAPABILITY_EXPOSURE_PLATFORM_API Sayfa: 26 / 337
121 General system error! ServiceException 122 General system error! ServiceException 123 General system error! ServiceException 124 General system error! ServiceException 125 General system error! ServiceException 126 General system error! ServiceException 127 General system error! ServiceException 128 General system error! ServiceException 129 General system error! ServiceException 130 Invalid transaction id PolicyException 131 Promotion System Error ServiceException 130 Invalid subscriber ServiceException 131 Not supported ServiceException 132 Duplicate transaction id ServiceException 133 Invalid campaign id ServiceException 134 Load error ServiceException 135 Voucher is user ServiceException 136 Balance account not found ServiceException 137 Invalid date ServiceException 138 Subs not enough credit PolicyException 139 Subs charge error PolicyException 140 Address could not be found PolicyException 141 Operation not supported for this subscriber PolicyException 142 A-B scenario is not supported. PolicyException Sürüm: 2.16 Tarih: 25/12/2012 Kod: CAPABILITY_EXPOSURE_PLATFORM_API Sayfa: 27 / 337
143 Positioning not allowed PolicyException 144 Invalid aocid PolicyException 145 No aoc is taken PolicyException 146 Aoc expired PolicyException 147 Invalid amount for dynamic charging ServiceException 148 Not enough credit ServiceException 149 Max debit reached ServiceException 150 Subscriber charge failed ServiceException 151 Company charge failed ServiceException 153 Operation not supported for this subscriber ServiceException 154 Content state is invalid ServiceException 155 EndUserId is in blacklist ServiceException 156 Refund for wrong EndUserId ServiceException 157 Refund not allowed for reference code ServiceException 158 Invalid mms attachment data PolicyException 159 Invalid mms subject PolicyException 160 Invalid mms content name PolicyException 161 Invalid mms content type PolicyException 162 Aoc id not found PolicyException 163 Aoc id msisdn mismatch PolicyException 164 Operation not supported for corporate subscribers. ServiceException 165 Refund for amount is not supported PolicyException 166 Requester cannot be null or empty. ServiceException 167 Invalid event type PolicyException Sürüm: 2.16 Tarih: 25/12/2012 Kod: CAPABILITY_EXPOSURE_PLATFORM_API Sayfa: 28 / 337
168 Requester address cannot be empty if there is a nickname. ServiceException 169 Operation not supported for the subscriber in message text. PolicyException 170 OpaqueId error for the subscriber in message text. PolicyException 171 Waiting For Location Consent ServiceException 172 NickName should not be null or empty,it should be alphanumeric. ServiceException 173 Your service card type is category. Requester should be null ServiceException 174 Requester address cannot be empty if there is a usageid. ServiceException 175 Requested address cannot be empty if there is a usageid. ServiceException 176 Requested address cannot be empty if there is a nickname. ServiceException 177 Location consent is rejected. ServiceException 178 Cannot send message in blackhour. ServiceException 179 Subscriber cannot locate himself. ServiceException 180 Operation not supported for the subscriber in key. PolicyException 181 OpaqueId error for the subscriber in key. PolicyException 182 Softlaunch; subscriber in text is not test msisdn. PolicyException 183 Invalid subscription key PolicyException 184 Invalid requester. PolicyException 185 Content is not active ServiceException 186 General system error! ServiceException 187 Multiple MT limit is reached. ServiceException 188 Invalid content id. ServiceException 192 Content's aoc type is invalid. ServiceException 193 RequestId not found. ServiceException 194 Amount should be within dynamic price plan range. ServiceException Sürüm: 2.16 Tarih: 25/12/2012 Kod: CAPABILITY_EXPOSURE_PLATFORM_API Sayfa: 29 / 337
195 Not enough total amount left. Cancelling consent and subscription. ServiceException 196 Difference between startdate and enddate must be greater. ServiceException 197 Invalid date parameter. ServiceException Ücretlendirme ile ilgili hata kodları şu şekildedir: Açıklama Kod UNKNOWN 0 NOT_ENOUGH_CREDIT 4010 NOT_ENOUGH_CREDIT_CONTINUE 4020 FAILED 4030 SKIPPED 4040 MAX_DEBIT_REACHED 4050 2.10. Mesajlaşma Api'lerinin kullanımı SMS ve MMS mesajlaşma api'lerinde abone tarafından atılan mesajlar ve iletim raporları uygulamaya kısa numara ve mesaj içeriğine göre dağıtılır. Mesaj gönderme API'sine (sendsms, sendwappush, sendmms, sendussd, vb.) cevap olarak SUCESS dönülmesi mesajın aboneye başarılı bir şekilde iletildiği anlamına gelmez. Capex mesajı başarılı bir şekilde almıştır, mesajın istek parametreleri ve sentaksı doğru demektir. Mesajın gönderildiği abonenin blacklist'te olması veya ücretlendirilememesi gibi durumlarda 3. parti bunu iletim raporundaki "deliveryreasoncode" alanından anlayabilir. Uygulamalar gelen mesajları ve iletim raporlarını toplamak için 2 yöntem kullanabilirler. 2.10.1. Poll Interface Thirdparty uygulaması belirli aralıklarla gelen mesajları almak için getreceivedsms metodunu çağırır, bu şekilde uygulamaya gelen kutusundaki bütün mesajlar cevapta liste olarak döndürülür. Bakınız bölüm 4.9. Sürüm: 2.16 Tarih: 25/12/2012 Kod: CAPABILITY_EXPOSURE_PLATFORM_API Sayfa: 30 / 337
2.10.2. Push Interface Thirdparty uygulama mesajlar geldikçe kendi endpoint'ine atılmasını isteyebilir. Bunun için startsmsnotification veya startmmsnotification metodlarını kullanarak bir NotifyURL belirtir.mesajlar yada iletim raporları geldikçe bu URL'den uygulamaya ulaştırılır. Bakınız bölüm 4.10 veya 5.9. Uygulamaya bağlantı hatası sebebiyle ulaştırılamayan mesajlar veya iletim raporları tekrar gönderilmez, 3. parti "polling" interface'i kullanarak gelip kendisi alır. 2.10.3. SenderAddress Bu değer uygulamanın, servis kısa numarası veya servis uzun numarasıdır. Gönderilen SMS'te görüntülenecek olan Gönderici adını ifade eder, alphanumeric bir değerdir, FormParam olarak verilir. senderaddress Örnek Kısa numara 7070 Uzun numara tel:+90543xxxxxxx 2.10.4. SenderName Bu değer uygulamanın, izin verilen alphanumeric adres setinden oluşmalı. Gönderilen mesaj (USSD,SMS,MMS)'da görüntülenecek olan Gönderici adını ifade eder, alphanumeric bir değerdir. SenderName varken senderaddress in olup olmamasına bakılmaz, originator olarak sendername setlenir. 2.10.5. RegistrationId İki yöntemi kullanırken de uygulamayı ve kısa numarasını belirlemek için bir registrationid değeri kullanılır. Bu değer uygulamanın service idsi, kısa numarası yada uzun numarası olabilir. RegistrationId ServiceId Örnek sid:1000000006 Kısa numara 7070 Sürüm: 2.16 Tarih: 25/12/2012 Kod: CAPABILITY_EXPOSURE_PLATFORM_API Sayfa: 31 / 337
Uzun numara tel:+90543xxxxxxx 2.10.6. Mesaj iletim raporu değerleri SMS,MMS, USSD mesajlaşmalarında mesaj iletim raporlarında gelen deliverystatus değeri aşağıdakilerden biri olabilir. SMS, WapPush, MMS veya USSD mesajı gönderimi esnasında receiptrequest parametresi "true" olarak gönderilmişse iletim raporu uygulamaya iletilir. Aksi taktirde iletim raporu uygulamaya iletilmeyecektir, varsayılan değeri "false" dur. Delivery Status DeliveredToNetwork DeliveredToTerminal DeliveryImpossible DeliveryUncertain MessageWaiting 2.10.7. Mesaj iletim sonucu SMS,WapPush, MMS, USSD mesajlaşmalarında mesaj iletim raporlarında gelen deliveryreasoncode değeri mesajın iletilip iletilmediğini belirtir. Sıfır olması durumunda mesaj başarılı bir şekilde iletilmiştir. Bu parametreye bakılarak mesajın iletilememesinin sebebi anlaşılabilir, hata kodları Tablo 3'te açıklanmıştır. 2.10.8. Saat Bazlı Mesaj Atımı Engellenmesi 1. Mesajlaşma apileri kullanılarak (sendsms etc) atılan mesajlar (sms/wappush/mms/ussd) black hour içinde atılmaya çalışıldaysa hata mesajı alacaktır.. 2. Ücretlendirerek mesaj gönderiminde, içeriğin iletim zamanları varsayılan black hour zamanlarını ezer. 3. Örneğin chat servisi yazılacak bir uygulamada, iletim zamanları isteğe göre ayarlanmış içerikle ücretlendirerek sms gönderimi yapılmalıdır. Sms gönderme tek başına kullanılırsa black Sürüm: 2.16 Tarih: 25/12/2012 Kod: CAPABILITY_EXPOSURE_PLATFORM_API Sayfa: 32 / 337
hour hatası alabilir. 4. Kullanıcıdan gelen mesaja karşı atılan karaliste, ücretlendirme ve hata mesajları black hour a takılmayacaktır. 5. Takip sisteminde atılması gereken mesajlar black hour a takılmayacaktır. Takip edilmek istenen kişinin onay mesajından sonraki mesajlar black hour a takılabilir. 6. Abonelik API metodlarının notifikasyon mesajları abone olunan içeriğin iletim zamanlarına göre gönderilecektir. 7. Ücretlendirme ve iade api lerinin notifikasyon mesajları içeriğinin iletim zamanlarına göre atılacaktır.. 8. Abone onayı (aoc) mesajları black hour a takılacaktır.. 9. Acil içerik olan içeriklerde black hour uygulaması olmayacaktır. 2.11. Rest wadl ve Soap wsdl Attachments altında rest ve soap için gerekli wadl ve wsdl dökümanlarını, ve rest metodlarının listesini bulabilirsiniz. 2.12. WSDL'den kod oluşturulması SDF üzerinden ürettiğimiz ve WSDL ını verdiğimiz tüm servisler Standard JDK paketi ile birlikte gelen WSImport aracı ile test edilmektedir. Örnek: (c:\program Files\Java\jdk1.6.0_26\bin\wsimport.exe D:\ConsentResponseNotificationV2.wsdl ) Bu WSDL ların hem Axis2 hem de JAXWS speclerine uygun kod üretebildiği JDK ile gelen wsimport ve popüler test uygulaması SOAPUI ile de test edilmektedir. Sürüm: 2.16 Tarih: 25/12/2012 Kod: CAPABILITY_EXPOSURE_PLATFORM_API Sayfa: 33 / 337
3. Abone Profili API metodları Abone Profili API metodları uygulamaların abonelere ait özelliklerini doğrulamak için kullanılan bir API metodları grubudur. Abonenin belirtilen koşulları sağlaması durumunda olumlu cevap dönülürken bunun dışında kalan tüm durumlarda olumsuz cevap dönülür. 20 adet doğrulama servisi mevcuttur. Doğrulama servisi yapılan anlaşmaya göre TCKNO, Telefon numarası veya opaqueid üzerinden gerçeklenebilir. Rest ve SOAP desteği mevcuttur. Doğrulama isteklerine true/false değerleri dönülür. True değeri sorguya ait tüm koşulların sağlandığını gösterirken, diger tüm durumlarda False cevabı dönülür. Bir MSISDN için yapılan IsMale sorgusu belirtilen MSISDN'e ait aktif bir abonelik var ise ve bu abonenin cinsiyeti Erkek ise olumlu cevap dönecektir. Bu API grubu ile açılan API metodları şunlardır: Metod Adı REST SOAP Sağlayan Kullanan Mobil Numara Taşıma Abonesi X X CEP 3. parti servis Faturalı abone X X CEP 3. parti servis Ön ödemeli Abone X X CEP 3. parti servis E-Fatura Kullacısı X X CEP 3. parti servis Abone İptal Durumu X X CEP 3. parti servis Abone Aktiflik Durumu X X CEP 3. parti servis Abone Veri Aboneliği Durumu X X CEP 3. parti servis Abone Reklam İsteği X X CEP 3. parti servis Abone TL Yükleme/Fatura Durumu X X CEP 3. parti servis Abone Kredi Sorgulama X X CEP 3. parti servis Abone Tüzel Kişiliği X X CEP 3. parti servis Sürüm: 2.16 Tarih: 25/12/2012 Kod: CAPABILITY_EXPOSURE_PLATFORM_API Sayfa: 34 / 337
Abone Yaşı X X CEP 3. parti servis Abone Cinsiyeti X X CEP 3. parti servis Kimlik Numarası Doğrulaması X X CEP 3. parti servis Tarife Durumu X X CEP 3. parti servis Opsiyon Durumu X X CEP 3. parti servis Kampanya Durumu X X CEP 3. parti servis Abone Segment Durumu X X CEP 3. parti servis Red/Red Plus Durumu X X CEP 3. parti servis Abone Adresi X X CEP 3. parti servis E-Fatura Yeni Katılım X X CEP 3. parti servis 3.1. Mobil Numara Taşıma Abonesi Abonenin numara taşıma vasıtasıyla Vodafone'a gelip gelmediğini kontrol eden doğrulama servisidir. İstek Parametreleri Adı Veri Tipi Zorunlu Boyut Açıklama restcapex Subscribe rid RestCape xsubscrib erid Evet 2.4 de açıklanmıştır. Uygulamada kullanılacak subscriber ın id sidir. duration int Hayır Eğer pozitif bir değer verildiyse abonenin belirtilen süre içerisinde numarasını taşıyıp taşımadığı kontrol edilir. Dönüş Değerleri Adı Veri Tipi Zorunlu Açıklama resultcode long Evet Capex'in döndüğü sonuç değeri resultdescription String Evet Capex'in döndüğü sonuca dair açıklama Sürüm: 2.16 Tarih: 25/12/2012 Kod: CAPABILITY_EXPOSURE_PLATFORM_API Sayfa: 35 / 337
response boolean Evet Abonelik aktif ve numara taşınabilirliği ile Vodafone'a taşınmış ise true cevabı döner, aksi takdirde false cevabı dönülür usageid Long Evet UsageId bilgisidir. 3.1.1. REST arayüzü Rest URL: http://172.28.138.129:8000/2/0/verification//querymnpin Örnek Rest İstek POST http://172.25.23.74:8100/2/0/verification/querymnpin?duration=5 HTTP/1.1 Accept-Encoding: gzip,deflate Content-Type: application/json Authorization: Basic aglsywxamtawmdawmda2ntpiawxhbde5odm= serviceid: :1001000043 User-Agent: Jakarta Commons-HttpClient/3.1 Host: 172.25.23.74:8100 Content-Length: 153 { "enduserid":"acr:286002mjvrv/jvu2uh58/eki20rgbrwe+gct6s162pnq+jeiw5rqzhwk77bt30pmi dvtzhs91vnnb4gorinocf2ldota==", } "nickname":null, "usageid":null Örnek Rest Cevap HTTP/1.1 200 OK Content-Type: application/json Content-Length: 82 Server: Jetty(6.1.25) {"result":{"resultcode":0,"resultdesc":"success"},"usageid":13021,"response":true} Sürüm: 2.16 Tarih: 25/12/2012 Kod: CAPABILITY_EXPOSURE_PLATFORM_API Sayfa: 36 / 337
3.1.2. SOAP arayüzü Örnek Soap İstek <soapenv:envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:v2="http://v2.soap.verification.capabilityexposure.services.oksijen.com"> <soapenv:header> <v2:authentication v2:user="hilal@1000000065" v2:password="hilal1983" v2:sessionid="" v2:serviceid=":1001000043"/> </soapenv:header> <soapenv:body> <v2:querymnpin> <capexsubscriberid> <enduserid>acr:286002mjvrv/jvu2uh58/eki20rgbrwe+gct6s162pnq+jeiw5rqzhwk77bt30pmidvtzhs91v NnB4GOrInoCF2LDoTA==</endUserId> <nickname></nickname> <usageid>151</usageid> </capexsubscriberid> <duration>2</duration> </v2:querymnpin> </soapenv:body> </soapenv:envelope> Örnek Soap Cevap <soapenv:envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/"> <soapenv:body> <ns:querymnpinresponse xmlns:ns="http://v2.soap.verification.capabilityexposure.services.oksijen.com"> <return> <resultcode>0</resultcode> <resultdesc>success</resultdesc> <variables xsi:nil="true" xmlns:xsi="http://www.w3.org/2001/xmlschemainstance"/> <response>true</response> <usageid>151</usageid> </return> Sürüm: 2.16 Tarih: 25/12/2012 Kod: CAPABILITY_EXPOSURE_PLATFORM_API Sayfa: 37 / 337
</ns:querymnpinresponse> </soapenv:body> </soapenv:envelope> 3.2. Faturalı Abone Abonenin Faturalı olup olmadığını kontrol eden doğrulama servisidir. İstek Parametreleri Adı Veri Tipi Zorunlu Size Açıklama restcapexsubscriberid RestCapexSubscriberId Evet 2.4 de açıklanmıştır. Uygulamada subscriber ın id sidir. kullanılacak Dönüş Değerleri Adı Veri Tipi Zorunlu Açıklama resultcode long Evet Capex'in döndüğü sonuç değeri resultdescription String Evet Capex'in döndüğü sonuca dair açıklama response boolean Evet Abonelik aktif ve faturalı ise true cevabı döner, aksi takdirde false cevabı dönülür usageid Long Evet UsageId bilgisidir. 3.2.1. REST arayüzü Rest URL: http://172.28.138.129:8000/2/0/verification//queryispostpaid Örnek Rest İstek POST http://172.25.23.74:8100/2/0/verification/queryispostpaid HTTP/1.1 Accept-Encoding: gzip,deflate Sürüm: 2.16 Tarih: 25/12/2012 Kod: CAPABILITY_EXPOSURE_PLATFORM_API Sayfa: 38 / 337
Content-Type: application/json Authorization: Basic aglsywxamtawmdawmda2ntpiawxhbde5odm= serviceid: :1001000043 User-Agent: Jakarta Commons-HttpClient/3.1 Host: 172.25.23.74:8100 Content-Length: 153 { "enduserid":"acr:286002mjvrv/jvu2uh58/eki20rgbrwe+gct6s162pnq+jeiw5rqzhwk77bt30pmi dvtzhs91vnnb4gorinocf2ldota==", } "nickname":null, "usageid":4352 Örnek Rest Cevap HTTP/1.1 200 OK Content-Type: application/json Content-Length: 81 Server: Jetty(6.1.25) {"result":{"resultcode":0,"resultdesc":"success"},"usageid":4352,"response":true} 3.2.2. SOAP arayüzü Örnek Soap İstek <soapenv:envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:v2="http://v2.soap.verification.capabilityexposure.services.oksijen.com"> <soapenv:header> <v2:authentication v2:user="hilal@1000000065" v2:password="hilal1983" v2:sessionid="" v2:serviceid=":1001000043"/> </soapenv:header> <soapenv:body> <v2:queryispostpaid> <capexsubscriberid> Sürüm: 2.16 Tarih: 25/12/2012 Kod: CAPABILITY_EXPOSURE_PLATFORM_API Sayfa: 39 / 337
<enduserid>acr:286002mjvrv/jvu2uh58/eki20rgbrwe+gct6s162pnq+jeiw5rqzhwk77bt30pmidvtzhs91v NnB4GOrInoCF2LDoTA==</endUserId> <nickname/> <usageid/> </capexsubscriberid> </capexsubscriberid> </v2:queryispostpaid> </soapenv:body> </soapenv:envelope> Örnek Soap Cevap <soapenv:envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/"> <soapenv:body> <ns:queryispostpaidresponse xmlns:ns="http://v2.soap.verification.capabilityexposure.services.oksijen.com"> <return> <resultcode>0</resultcode> <resultdesc>success</resultdesc> <variables xsi:nil="true" xmlns:xsi="http://www.w3.org/2001/xmlschemainstance"/> <response>true</response> <usageid>12375</usageid> </return> </ns:queryispostpaidresponse> </soapenv:body> </soapenv:envelope> 3.3. Ön Ödemeli Abone Abonenin ön ödemeli olup olmadığını kontrol eden doğrulama servisidir. İstek Parametreleri Adı Veri Tipi Zorunlu Size Açıklama restcapexsubscriberid RestCapexSubscriberId Evet 2.4 de Uygulamada kullanılacak Sürüm: 2.16 Tarih: 25/12/2012 Kod: CAPABILITY_EXPOSURE_PLATFORM_API Sayfa: 40 / 337
açıklanmıştır. subscriber ın id sidir. Dönüş Değerleri Adı Veri Tipi Zorunlu Açıklama resultcode long Evet Capex'in döndüğü sonuç değeri resultdescription String Evet Capex'in döndüğü sonuca dair açıklama response boolean Evet Abonelik aktif ve ön ödemeli ise true cevabı döner, aksi takdirde false cevabı dönülür usageid Long Evet UsageId bilgisidir. 3.3.1. REST Arayüzü Rest URL: http://172.28.138.129:8000/2/0/verification//queryisprepaid Örnek Rest İstek POST http://172.25.23.74:8100/2/0/verification/queryisprepaid HTTP/1.1 Accept-Encoding: gzip,deflate Content-Type: application/json Authorization: Basic aglsywxamtawmdawmda2ntpiawxhbde5odm= serviceid: :1001000043 User-Agent: Jakarta Commons-HttpClient/3.1 Host: 172.25.23.74:8100 Content-Length: 153 { "enduserid":"acr:286002mjvrv/jvu2uh58/eki20rgbrwe+gct6s162pnq+jeiw5rqzhwk77bt30pmi dvtzhs91vnnb4gorinocf2ldota==", "nickname":null, "usageid":4352 Sürüm: 2.16 Tarih: 25/12/2012 Kod: CAPABILITY_EXPOSURE_PLATFORM_API Sayfa: 41 / 337
}Örnek Rest Cevap HTTP/1.1 200 OK Content-Type: application/json Content-Length: 82 Server: Jetty(6.1.25) {"result":{"resultcode":0,"resultdesc":"success"},"usageid":4352,"response":false} 3.3.2. SOAP Arayüzü Örnek Soap İstek <soapenv:envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:v2="http://v2.soap.verification.capabilityexposure.services.oksijen.com"> <soapenv:header> <v2:authentication v2:user="hilal@1000000065" v2:password="hilal1983" v2:sessionid="" v2:serviceid=":1001000043"/> </soapenv:header> <soapenv:body> <v2:queryisprepaid> <capexsubscriberid> <enduserid>acr:286002mjvrv/jvu2uh58/eki20rgbrwe+gct6s162pnq+jeiw5rqzhwk77bt30pmidvtzhs91v NnB4GOrInoCF2LDoTA==</endUserId> <nickname></nickname> <usageid>151</usageid> </capexsubscriberid> </v2:queryisprepaid> </soapenv:body> </soapenv:envelope> Örnek Soap Cevap <soapenv:envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/"> <soapenv:body> <ns:queryisprepaidresponse xmlns:ns="http://v2.soap.verification.capabilityexposure.services.oksijen.com"> <return> <resultcode>0</resultcode> Sürüm: 2.16 Tarih: 25/12/2012 Kod: CAPABILITY_EXPOSURE_PLATFORM_API Sayfa: 42 / 337
<resultdesc>success</resultdesc> <variables xsi:nil="true" xmlns:xsi="http://www.w3.org/2001/xmlschemainstance"/> <response>false</response> <usageid>151</usageid> </return> </ns:queryisprepaidresponse> </soapenv:body> </soapenv:envelope> 3.4. E-Fatura Kullanıcısı Abonenin yasal E-Fatura üyeliğini kontrol eden doğrulama servisidir. İstek Parametreleri Adı Veri Tipi Zorunlu Size Açıklama restcapexsubscriberid RestCapexSubscriberId Evet 2.4 de açıklanmıştır. Uygulamada subscriber ın id sidir. kullanılacak Dönüş Değerleri Adı Veri Tipi Zorunlu Açıklama resultcode long Evet Capex'in döndüğü sonuç değeri resultdescription String Evet Capex'in döndüğü sonuca dair açıklama response boolean Evet Abonelik aktif ve E-Fatura üyeliği mevcut ise true cevabı döner, aksi takdirde false cevabı dönülür usageid Long Evet UsageId bilgisidir. 3.4.1. REST arayüzü Rest URL: http://172.28.138.129:8000/2/0/verification//queryebilling Sürüm: 2.16 Tarih: 25/12/2012 Kod: CAPABILITY_EXPOSURE_PLATFORM_API Sayfa: 43 / 337
Örnek Rest İstek POST http://172.25.23.74:8100/2/0/verification/queryebilling?duration=5 HTTP/1.1 Accept-Encoding: gzip,deflate Content-Type: application/json Authorization: Basic aglsywxamtawmdawmda2ntpiawxhbde5odm= serviceid: :1001000043 User-Agent: Jakarta Commons-HttpClient/3.1 Host: 172.25.23.74:8100 Content-Length: 153 { "enduserid":"acr:286002mjvrv/jvu2uh58/eki20rgbrwe+gct6s162pnq+jeiw5rqzhwk77bt30pmi dvtzhs91vnnb4gorinocf2ldota==", "nickname":null, "usageid":4352 }Örnek Rest Cevap HTTP/1.1 200 OK Content-Type: application/json Content-Length: 81 Server: Jetty(6.1.25) {"result":{"resultcode":0,"resultdesc":"success"},"usageid":4352,"response":true} 3.4.2. SOAP arayüzü Örnek Soap İstek <soapenv:envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:v2="http://v2.soap.verification.capabilityexposure.services.oksijen.com"> <soapenv:header> <v2:authentication v2:user="hilal@1000000065" v2:password="hilal1983" v2:sessionid="" v2:serviceid=":1001000043"/> </soapenv:header> <soapenv:body> <v2:queryebilling> <capexsubscriberid> Sürüm: 2.16 Tarih: 25/12/2012 Kod: CAPABILITY_EXPOSURE_PLATFORM_API Sayfa: 44 / 337
<enduserid>acr:286002mjvrv/jvu2uh58/eki20rgbrwe+gct6s162pnq+jeiw5rqzhwk77bt30pmidvtzhs91v NnB4GOrInoCF2LDoTA==</endUserId> <nickname/> <usageid/> </capexsubscriberid> <duration/> </v2:queryebilling> </soapenv:body> </soapenv:envelope> Örnek Soap Cevap <soapenv:envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/"> <soapenv:body> <ns:queryebillingresponse xmlns:ns="http://v2.soap.verification.capabilityexposure.services.oksijen.com"> <return> <resultcode>0</resultcode> <resultdesc>success</resultdesc> <variables xsi:nil="true" xmlns:xsi="http://www.w3.org/2001/xmlschemainstance"/> <response>false</response> <usageid>12368</usageid> </return> </ns:queryebillingresponse> </soapenv:body> </soapenv:envelope> 3.5. Abone İptal Durumu Abonenin Vodafone aboneliğinin iptal edilip edilmediğini kontrol eden doğrulama servisidir. Bu servis diğer abone profili servislerince desteklenen TC kimlik numarası ile sorgulamayı desteklememektedir. İstek Parametreleri Adı Veri Tipi Zorunlu Size Açıklama Sürüm: 2.16 Tarih: 25/12/2012 Kod: CAPABILITY_EXPOSURE_PLATFORM_API Sayfa: 45 / 337
restcapexsubscriberid RestCapexSubscriberId Evet 2.4 de açıklanmıştır. Uygulamada subscriber ın id sidir. kullanılacak Dönüş Değerleri Adı Veri Tipi Zorunlu Açıklama resultcode long Evet Capex'in döndüğü sonuç değeri resultdescription String Evet Capex'in döndüğü sonuca dair açıklama response boolean Evet Abonelik iptal edilmiş ise true cevabı döner, aksi takdirde false cevabı dönülür usageid Long Evet UsageId bilgisidir. 3.5.1. REST Arayüzü Rest URL: http://172.28.138.129:8000/2/0/verification//querycancelstatus Örnek Rest İstek POST http://172.25.23.74:8100/2/0/verification/querycancelstatus HTTP/1.1 Accept-Encoding: gzip,deflate Content-Type: application/json Authorization: Basic aglsywxamtawmdawmda2ntpiawxhbde5odm= serviceid: :1001000043 User-Agent: Jakarta Commons-HttpClient/3.1 Host: 172.25.23.74:8100 Content-Length: 153 { "enduserid":"acr:286002mjvrv/jvu2uh58/eki20rgbrwe+gct6s162pnq+jeiw5rqzhwk77bt30pmi dvtzhs91vnnb4gorinocf2ldota==", "nickname":null, "usageid":null Sürüm: 2.16 Tarih: 25/12/2012 Kod: CAPABILITY_EXPOSURE_PLATFORM_API Sayfa: 46 / 337
}Örnek Rest Cevap HTTP/1.1 200 OK Content-Type: application/json Content-Length: 82 Server: Jetty(6.1.25) {"result":{"resultcode":0,"resultdesc":"success"},"usageid":13020,"response":true} 3.5.2. SOAP Arayüzü Örnek Soap İstek <soapenv:envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:v2="http://v2.soap.verification.capabilityexposure.services.oksijen.com"> <soapenv:header> <v2:authentication v2:user="hilal@1000000065" v2:password="hilal1983" v2:sessionid="" v2:serviceid=":1001000043"/> </soapenv:header> <soapenv:body> <v2:querycancelstatus> <capexsubscriberid> <enduserid>acr:286002mjvrv/jvu2uh58/eki20rgbrwe+gct6s162pnq+jeiw5rqzhwk77bt30pmidvtzhs91v NnB4GOrInoCF2LDoTA==</endUserId> <nickname></nickname> <usageid></usageid> </capexsubscriberid> </v2:querycancelstatus> </soapenv:body> </soapenv:envelope> Örnek Soap Cevap <soapenv:envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/"> <soapenv:body> <ns:querycancelstatusresponse xmlns:ns="http://v2.soap.verification.capabilityexposure.services.oksijen.com"> <return> Sürüm: 2.16 Tarih: 25/12/2012 Kod: CAPABILITY_EXPOSURE_PLATFORM_API Sayfa: 47 / 337
<resultcode>0</resultcode> <resultdesc>success</resultdesc> <variables xsi:nil="true" xmlns:xsi="http://www.w3.org/2001/xmlschemainstance"/> <response>true</response> <usageid>12361</usageid> </return> </ns:querycancelstatusresponse> </soapenv:body> </soapenv:envelope> 3.6. Abone Aktiflik Durumu Abonenin Vodafone aboneliğinin aktif olup olmadığını kontrol eden doğrulama servisidir. İstek Parametreleri Adı Veri Tipi Zorunlu Size Açıklama restcapexsubscriberid RestCapexSubscriberId Evet 2.4 de açıklanmıştır. Uygulamada subscriber ın id sidir. kullanılacak Dönüş Değerleri Adı Veri Tipi Zorunlu Açıklama resultcode long Evet Capex'in döndüğü sonuç değeri resultdescription String Evet Capex'in döndüğü sonuca dair açıklama response boolean Evet Abonelik aktif ise true cevabı döner, aksi takdirde false cevabı dönülür usageid Long Evet UsageId bilgisidir. 3.6.1. REST arayüzü Rest URL: http://172.28.138.129:8000/2/0/verification//queryactivestatus Sürüm: 2.16 Tarih: 25/12/2012 Kod: CAPABILITY_EXPOSURE_PLATFORM_API Sayfa: 48 / 337
Örnek Rest İstek POST http://172.25.23.74:8100/2/0/verification/queryactivestatus HTTP/1.1 Accept-Encoding: gzip,deflate Content-Type: application/json Authorization: Basic aglsywxamtawmdawmda2ntpiawxhbde5odm= serviceid: :1001000043 User-Agent: Jakarta Commons-HttpClient/3.1 Host: 172.25.23.74:8100 Content-Length: 153 { "enduserid":"acr:286002mjvrv/jvu2uh58/eki20rgbrwe+gct6s162pnq+jeiw5rqzhwk77bt30pmi dvtzhs91vnnb4gorinocf2ldota==", "nickname":null, "usageid":null }Örnek Rest Cevap HTTP/1.1 200 OK Content-Type: application/json Content-Length: 82 Server: Jetty(6.1.25) {"result":{"resultcode":0,"resultdesc":"success"},"usageid":13019,"response":true} 3.6.2. SOAP arayüzü Örnek Soap İstek <soapenv:envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:v2="http://v2.soap.verification.capabilityexposure.services.oksijen.com"> <soapenv:header> <v2:authentication v2:user="hilal@1000000065" v2:password="hilal1983" v2:sessionid="" v2:serviceid=":1001000043"/> </soapenv:header> <soapenv:body> <v2:queryactivestatus> <capexsubscriberid> Sürüm: 2.16 Tarih: 25/12/2012 Kod: CAPABILITY_EXPOSURE_PLATFORM_API Sayfa: 49 / 337
<enduserid>acr:286002mjvrv/jvu2uh58/eki20rgbrwe+gct6s162pnq+jeiw5rqzhwk77bt30pmidvtzhs91v NnB4GOrInoCF2LDoTA==</endUserId> <nickname></nickname> <usageid>151</usageid> </capexsubscriberid> </v2:queryactivestatus> </soapenv:body> </soapenv:envelope> Örnek Soap Cevap <soapenv:envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/"> <soapenv:body> <ns:queryactivestatusresponse xmlns:ns="http://v2.soap.verification.capabilityexposure.services.oksijen.com"> <return> <resultcode>0</resultcode> <resultdesc>success</resultdesc> <variables xsi:nil="true" xmlns:xsi="http://www.w3.org/2001/xmlschemainstance"/> <response>true</response> <usageid>151</usageid> </return> </ns:queryactivestatusresponse> </soapenv:body> </soapenv:envelope> 3.7. Abone Veri Aboneliği Durumu Abonenin aktif bir veri aboneliğinin olup olmadığını kontrol eden doğrulama servisidir. İstek Parametreleri Adı Veri Tipi Zorunlu Size Açıklama restcapexsubscriberid RestCapexSubscriberId Evet 2.4 de açıklanmıştır. Uygulamada subscriber ın id sidir. kullanılacak Sürüm: 2.16 Tarih: 25/12/2012 Kod: CAPABILITY_EXPOSURE_PLATFORM_API Sayfa: 50 / 337
Dönüş Değerleri Adı Veri Tipi Zorunlu Açıklama resultcode long Evet Capex'in döndüğü sonuç değeri resultdescription String Evet Capex'in döndüğü sonuca dair açıklama response boolean Evet Abonelik aktif ve veri aboneliği mevcut ise true cevabı döner, aksi takdirde false cevabı dönülür usageid Long Evet UsageId bilgisidir. 3.7.1. REST arayüzü Rest URL: http://172.28.138.129:8000/2/0/verification//queryactivedatauser Örnek Rest İstek POST http://172.25.23.74:8100/2/0/verification/queryactivedatauser HTTP/1.1 Accept-Encoding: gzip,deflate Content-Type: application/json Authorization: Basic aglsywxamtawmdawmda2ntpiawxhbde5odm= serviceid: :1001000043 User-Agent: Jakarta Commons-HttpClient/3.1 Host: 172.25.23.74:8100 Content-Length: 153 { "enduserid":"acr:286002mjvrv/jvu2uh58/eki20rgbrwe+gct6s162pnq+jeiw5rqzhwk77bt30pmi dvtzhs91vnnb4gorinocf2ldota==", "nickname":null, "usageid":4352 }Örnek Rest Cevap HTTP/1.1 200 OK Content-Type: application/json Content-Length: 81 Sürüm: 2.16 Tarih: 25/12/2012 Kod: CAPABILITY_EXPOSURE_PLATFORM_API Sayfa: 51 / 337
Server: Jetty(6.1.25) {"result":{"resultcode":0,"resultdesc":"success"},"usageid":4352,"response":true} 3.7.2. SOAP arayüzü Örnek Soap İstek <soapenv:envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:v2="http://v2.soap.verification.capabilityexposure.services.oksijen.com"> <soapenv:header> <v2:authentication v2:user="hilal@1000000065" v2:password="hilal1983" v2:sessionid="" v2:serviceid=":1001000043"/> </soapenv:header> <soapenv:body> <v2:queryactivedatauser> <capexsubscriberid> <enduserid>acr:286002mjvrv/jvu2uh58/eki20rgbrwe+gct6s162pnq+jeiw5rqzhwk77bt30pmidvtzhs91v NnB4GOrInoCF2LDoTA==</endUserId> <nickname></nickname> <usageid>151</usageid> </capexsubscriberid> </v2:queryactivedatauser> </soapenv:body> </soapenv:envelope> Örnek Soap Cevap <soapenv:envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/"> <soapenv:body> <ns:queryactivedatauserresponse xmlns:ns="http://v2.soap.verification.capabilityexposure.services.oksijen.com"> <return> <resultcode>0</resultcode> <resultdesc>success</resultdesc> <variables xsi:nil="true" xmlns:xsi="http://www.w3.org/2001/xmlschemainstance"/> <response>true</response> Sürüm: 2.16 Tarih: 25/12/2012 Kod: CAPABILITY_EXPOSURE_PLATFORM_API Sayfa: 52 / 337
<usageid>151</usageid> </return> </ns:queryactivedatauserresponse> </soapenv:body> </soapenv:envelope> 3.8. Abone Reklam İsteği Abonenin reklam kampanyalarını kabul edip etmediğini kontrol eden doğrulama servisidir. İstek Parametreleri Adı Veri Tipi Zorunlu Size Açıklama restcapexsubscriberid RestCapexSubscriberId Evet 2.4 de açıklanmıştır. Uygulamada kullanılacak subscriber ın id sidir. startdate String Hayır enddate ile beraber abonenin belirtilen tarihler arasında reklam kampanyasına dahil olup olmadığını kontrol için kullanılır enddate String Hayır Beklenen tarih biçimi dd-mm-yyyy HH:mm şeklindedir Dönüş Değerleri Adı Veri Tipi Zorunlu Açıklama resultcode long Evet Capex'in döndüğü sonuç değeri resultdescription String Evet Capex'in döndüğü sonuca dair açıklama response boolean Evet Abonelik aktif ve reklam kampanyalarını kabul etmiş ise true cevabı döner, aksi takdirde false cevabı dönülür usageid Long Evet UsageId bilgisidir. Sürüm: 2.16 Tarih: 25/12/2012 Kod: CAPABILITY_EXPOSURE_PLATFORM_API Sayfa: 53 / 337
3.8.1. REST arayüzü Rest URL: http://172.28.138.129:8000/2/0/verification//queryoptedinforadvertisements Örnek Rest İstek POST http://172.25.23.74:8100/2/0/verification/queryoptedinforadvertisements?startdate=21-06- 2000%2013%3A13&endDate=21-06-2010%2013%3A13 HTTP/1.1 Accept-Encoding: gzip,deflate Content-Type: application/json Authorization: Basic aglsywxamtawmdawmda2ntpiawxhbde5odm= serviceid: :1001000043 User-Agent: Jakarta Commons-HttpClient/3.1 Host: 172.25.23.74:8100 Content-Length: 153 { "enduserid":"acr:286002mjvrv/jvu2uh58/eki20rgbrwe+gct6s162pnq+jeiw5rqzhwk77bt30pmi dvtzhs91vnnb4gorinocf2ldota==", "nickname":null, "usageid":4352 }Örnek Rest Cevap HTTP/1.1 200 OK Content-Type: application/json Content-Length: 82 Server: Jetty(6.1.25) {"result":{"resultcode":0,"resultdesc":"success"},"usageid":4352,"response":false} 3.8.2. SOAP arayüzü Örnek Soap İstek <soapenv:envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:v2="http://v2.soap.verification.capabilityexposure.services.oksijen.com"> Sürüm: 2.16 Tarih: 25/12/2012 Kod: CAPABILITY_EXPOSURE_PLATFORM_API Sayfa: 54 / 337
<soapenv:header> <v2:authentication v2:user="hilal@1000000065" v2:password="hilal1983" v2:sessionid="" v2:serviceid=":1001000043"/> </soapenv:header> <soapenv:body> <v2:queryoptedinforadvertisements> <capexsubscriberid> <enduserid>acr:286002mjvrv/jvu2uh58/eki20rgbrwe+gct6s162pnq+jeiw5rqzhwk77bt30pmidvtzhs91v NnB4GOrInoCF2LDoTA==</endUserId> <nickname xsi:nil="true" xmlns:xsi="http://www.w3.org/2001/xmlschemainstance"/><usageid>2344</usageid> </capexsubscriberid> <startdate>23-10-2000 13:13</startDate> <enddate>23-10-2010 13:13</endDate> </v2:queryoptedinforadvertisements> </soapenv:body> </soapenv:envelope> Örnek Soap Cevap <soapenv:envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/"> <soapenv:body> <ns:queryoptedinforadvertisementsresponse xmlns:ns="http://v2.soap.verification.capabilityexposure.services.oksijen.com"> <return> <resultcode>0</resultcode> <resultdesc>success</resultdesc> <variables xsi:nil="true" xmlns:xsi="http://www.w3.org/2001/xmlschemainstance"/> <response>false</response> <usageid>2344</usageid> </return> </ns:queryoptedinforadvertisementsresponse> </soapenv:body> </soapenv:envelope> Sürüm: 2.16 Tarih: 25/12/2012 Kod: CAPABILITY_EXPOSURE_PLATFORM_API Sayfa: 55 / 337
3.9. Abone TL Yükleme/Fatura Durumu Abonenin belirtilen süre içerisinde verilen miktarda TL yükleme yapıp yapmadığını ya da verilen miktarda faturası olup olmadığını kontrol eden doğrulama servisidir. İstek Parametreleri Adı Veri Tipi Zorunlu Size Açıklama restcapexsubscriberid RestCapexSubscriberId Evet 2.4 de açıklanmıştır. Uygulamada subscriber ın id sidir. kullanılacak amount int Evet TL cinsinden yükleme miktarı duration int Evet Yükleme sorgusunun çalışacağı zaman süresi (Gün) type int Evet Yükleme sorgusunun tipi Dönüş Değerleri Adı Veri Tipi Zorunlu Açıklama resultcode long Evet Capex'in döndüğü sonuç değeri resultdescription String Evet Capex'in döndüğü sonuca dair açıklama response boolean Evet Abonelik aktif ve belirtilen zaman dilimi içerisinde sorgu tipine göre verilen miktarda yükleme yapılmış ise true cevabı döner, aksi takdirde false cevabı dönülür usageid Long Evet UsageId bilgisidir. 3.9.1. REST Arayüzü Rest URL: http://172.28.138.129:8000/2/0/verification//querybilltopupamountinfo Örnek Rest İstek POST http://172.25.23.74:8100/2/0/verification/querybilltopupamountinfo?amount=5&duration=2&ty pe=3 HTTP/1.1 Sürüm: 2.16 Tarih: 25/12/2012 Kod: CAPABILITY_EXPOSURE_PLATFORM_API Sayfa: 56 / 337
Accept-Encoding: gzip,deflate Content-Type: application/json Authorization: Basic aglsywxamtawmdawmda2ntpiawxhbde5odm= serviceid: :1001000043 User-Agent: Jakarta Commons-HttpClient/3.1 Host: 172.25.23.74:8100 Content-Length: 153 { "enduserid":"acr:286002mjvrv/jvu2uh58/eki20rgbrwe+gct6s162pnq+jeiw5rqzhwk77bt30pmi dvtzhs91vnnb4gorinocf2ldota==", "nickname":null, "usageid":4352 }Örnek Rest Cevap HTTP/1.1 200 OK Content-Type: application/json Content-Length: 81 Server: Jetty(6.1.25) {"result":{"resultcode":0,"resultdesc":"success"},"usageid":4352,"response":true} 3.9.2. SOAP Arayüzü Örnek Soap İstek <soapenv:envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:v2="http://v2.soap.verification.capabilityexposure.services.oksijen.com"> <soapenv:header> <v2:authentication v2:user="hilal@1000000065" v2:password="hilal1983" v2:sessionid="" v2:serviceid=":1001000043"/> </soapenv:header> <soapenv:body> <v2:querybilltopupamountinfo> <capexsubscriberid> Sürüm: 2.16 Tarih: 25/12/2012 Kod: CAPABILITY_EXPOSURE_PLATFORM_API Sayfa: 57 / 337
<enduserid>acr:286002mjvrv/jvu2uh58/eki20rgbrwe+gct6s162pnq+jeiw5rqzhwk77bt30pmidvtzhs91v NnB4GOrInoCF2LDoTA==</endUserId> <nickname></nickname> <usageid>1525</usageid> </capexsubscriberid> <amount>123</amount> <duration>4</duration> <type>1</type> </v2:querybilltopupamountinfo> </soapenv:body> </soapenv:envelope> Örnek Soap Cevap <soapenv:envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/"> <soapenv:body> <ns:querybilltopupamountinforesponse xmlns:ns="http://v2.soap.verification.capabilityexposure.services.oksijen.com"> <return> <resultcode>0</resultcode> <resultdesc>success</resultdesc> <variables xsi:nil="true" xmlns:xsi="http://www.w3.org/2001/xmlschemainstance"/> <response>true</response> <usageid>1525</usageid> </return> </ns:querybilltopupamountinforesponse> </soapenv:body> </soapenv:envelope> 3.10. Abone Kredi Sorgulama Abonenin hesabında verilen miktarda kuruşunun olup olmadığını kontrol eden doğrulama servisidir. İstek Parametreleri Adı Veri Tipi Zorunlu Size Açıklama Sürüm: 2.16 Tarih: 25/12/2012 Kod: CAPABILITY_EXPOSURE_PLATFORM_API Sayfa: 58 / 337
restcapexsub scriberid RestCape xsubscrib erid Evet 2.4 de açıklanmıştır. Uygulamada kullanılacak subscriber ın id sidir. creditamount int Evet Bakiye miktarı (Kr) Dönüş Degerleri Adı Veri Tipi Zorunlu Açıklama resultcode long Evet Capex'in döndüğü sonuç değeri resultdescription String Evet Capex'in döndüğü sonuca dair açıklama response boolean Evet Abonelik aktif ve bakiyesinde belirtilen miktarda TL var ise true cevabı döner, aksi takdirde false cevabı dönülür usageid Long Evet UsageId bilgisidir. 3.10.1. REST Arayüzü Rest URL: http://172.28.138.129:8000/2/0/verification//querycreditamount Örnek Rest İstek POST http://172.25.23.74:8100/2/0/verification/querycreditamount?creditamount=5 HTTP/1.1 Accept-Encoding: gzip,deflate Content-Type: application/json Authorization: Basic aglsywxamtawmdawmda2ntpiawxhbde5odm= serviceid: :1001000043 User-Agent: Jakarta Commons-HttpClient/3.1 Host: 172.25.23.74:8100 Content-Length: 153 { Sürüm: 2.16 Tarih: 25/12/2012 Kod: CAPABILITY_EXPOSURE_PLATFORM_API Sayfa: 59 / 337
"enduserid":"acr:286002mjvrv/jvu2uh58/eki20rgbrwe+gct6s162pnq+jeiw5rqzhwk77bt30pmi dvtzhs91vnnb4gorinocf2ldota==", "nickname":null, "usageid":4352 }Örnek Rest Cevap HTTP/1.1 200 OK Content-Type: application/json Content-Length: 98 Server: Jetty(6.1.25) {"result":{"resultcode":122,"resultdesc":"general system error!"},"usageid":4352,"response":false} 3.10.2. SOAP Arayüzü Örnek Soap İstek <soapenv:envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:v2="http://v2.soap.verification.capabilityexposure.services.oksijen.com"> <soapenv:header> <v2:authentication v2:user="hilal@1000000065" v2:password="hilal1983" v2:sessionid="" v2:serviceid=":1001000043"/> </soapenv:header> <soapenv:body> <v2:querycreditamount> <capexsubscriberid> <enduserid>acr:286002mjvrv/jvu2uh58/eki20rgbrwe+gct6s162pnq+jeiw5rqzhwk77bt30pmidvtzhs91v NnB4GOrInoCF2LDoTA==</endUserId> <nickname></nickname> <usageid>213</usageid> </capexsubscriberid> <creditamount>412</creditamount> </v2:querycreditamount> </soapenv:body> </soapenv:envelope> Örnek Soap Cevap Sürüm: 2.16 Tarih: 25/12/2012 Kod: CAPABILITY_EXPOSURE_PLATFORM_API Sayfa: 60 / 337
<soapenv:envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/"> <soapenv:body> <ns:querycreditamountresponse xmlns:ns="http://v2.soap.verification.capabilityexposure.services.oksijen.com"> <return> <resultcode>0</resultcode> <resultdesc>success</resultdesc> <variables xsi:nil="true" xmlns:xsi="http://www.w3.org/2001/xmlschemainstance"/> <response>true</response> <usageid>12365</usageid> </return> </ns:querycreditamountresponse> </soapenv:body> 3.11. Abone Tüzel Kişiliği Abonenin bireysel müşteri olup olmadığını kontrol eden doğrulama servisidir. İstek Parametreleri Adı Veri Tipi Zorunlu Size Açıklama restcapex Subscribe rid RestCape xsubscrib erid Evet 2.4 de açıklanmıştır. Uygulamada kullanılacak subscriber ın id sidir. Dönüş Değerleri Adı Veri Tipi Zorunlu Açıklama resultcode long Evet Capex'in döndüğü sonuç değeri resultdescription String Evet Capex'in döndüğü sonuca dair açıklama response boolean Evet Abonelik aktif ve abone bireysel müşteri ise true cevabı döner, aksi takdirde false cevabı dönülür usageid Long Evet UsageId bilgisidir. Sürüm: 2.16 Tarih: 25/12/2012 Kod: CAPABILITY_EXPOSURE_PLATFORM_API Sayfa: 61 / 337
3.11.1. REST Arayüzü Rest URL: http://172.28.138.129:8000/2/0/verification//queryisindividual Örnek Rest İstek POST http://172.25.23.74:8100/2/0/verification/queryisindividual HTTP/1.1 Accept-Encoding: gzip,deflate Content-Type: application/json Authorization: Basic aglsywxamtawmdawmda2ntpiawxhbde5odm= serviceid: :1001000043 User-Agent: Jakarta Commons-HttpClient/3.1 Host: 172.25.23.74:8100 Content-Length: 153 { "enduserid":"acr:286002mjvrv/jvu2uh58/eki20rgbrwe+gct6s162pnq+jeiw5rqzhwk77bt30pmi dvtzhs91vnnb4gorinocf2ldota==", "nickname":null, "usageid":4352 }Örnek Rest Cevap HTTP/1.1 200 OK Content-Type: application/json Content-Length: 81 Server: Jetty(6.1.25) {"result":{"resultcode":0,"resultdesc":"success"},"usageid":4352,"response":true} 3.11.2. SOAP Arayüzü Örnek Soap İstek <soapenv:envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:v2="http://v2.soap.verification.capabilityexposure.services.oksijen.com"> Sürüm: 2.16 Tarih: 25/12/2012 Kod: CAPABILITY_EXPOSURE_PLATFORM_API Sayfa: 62 / 337
<soapenv:header> <v2:authentication v2:user="hilal@1000000065" v2:password="hilal1983" v2:sessionid="" v2:serviceid=":1001000043"/> </soapenv:header> <soapenv:body> <v2:queryisindividual> <capexsubscriberid> <enduserid>acr:286002mjvrv/jvu2uh58/eki20rgbrwe+gct6s162pnq+jeiw5rqzhwk77bt30pmidvtzhs91v NnB4GOrInoCF2LDoTA==</endUserId> <nickname></nickname> <usageid>151</usageid> </capexsubscriberid> </v2:queryisindividual> </soapenv:body> </soapenv:envelope> Örnek Soap Cevap <soapenv:envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/"> <soapenv:body> <ns:queryisindividualresponse xmlns:ns="http://v2.soap.verification.capabilityexposure.services.oksijen.com"> <return> <resultcode>0</resultcode> <resultdesc>success</resultdesc> <variables xsi:nil="true" xmlns:xsi="http://www.w3.org/2001/xmlschemainstance"/> <response>true</response> <usageid>151</usageid> </return> </ns:queryisindividualresponse> </soapenv:body> </soapenv:envelope> 3.12. Abone Yaşı Abonenin yaşının verilen değerden küçük olup olmadığını kontrol eden doğrulama servisidir. İstek Parametreleri Sürüm: 2.16 Tarih: 25/12/2012 Kod: CAPABILITY_EXPOSURE_PLATFORM_API Sayfa: 63 / 337
Adı Veri Tipi Zorunlu Size Açıklama restcapex Subscribe rid RestCape xsubscrib erid Evet 2.4 de açıklanmıştır. Uygulamada kullanılacak subscriber ın id sidir. age int Evet Abone yaşı Dönüş Değerleri Adı Veri Tipi Zorunlu Açıklama resultcode long Evet Capex'in döndüğü sonuç değeri resultdescription String Evet Capex'in döndüğü sonuca dair açıklama response boolean Evet Abonelik aktif ve abone yaşı belirtilen değerden küçük veya eşit ise true cevabı döner, aksi takdirde false cevabı dönülür usageid Long Evet UsageId bilgisidir. 3.12.1. REST Arayüzü Rest URL: http://172.28.138.129:8000/2/0/verification//queryage Örnek Rest İstek POST http://172.25.23.74:8100/2/0/verification/queryage?age=123 HTTP/1.1 Accept-Encoding: gzip,deflate Content-Type: application/json Authorization: Basic aglsywxamtawmdawmda2ntpiawxhbde5odm= serviceid: :1001000043 User-Agent: Jakarta Commons-HttpClient/3.1 Host: 172.25.23.74:8100 Content-Length: 153 { Sürüm: 2.16 Tarih: 25/12/2012 Kod: CAPABILITY_EXPOSURE_PLATFORM_API Sayfa: 64 / 337
"enduserid":"acr:286002mjvrv/jvu2uh58/eki20rgbrwe+gct6s162pnq+jeiw5rqzhwk77bt30pmi dvtzhs91vnnb4gorinocf2ldota==", "nickname":null, "usageid":null }Örnek Rest Cevap HTTP/1.1 200 OK Content-Type: application/json Content-Length: 82 Server: Jetty(6.1.25) {"result":{"resultcode":0,"resultdesc":"success"},"usageid":13018,"response":true} 3.12.2. SOAP Arayüzü Örnek Soap İstek <soapenv:envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:v2="http://v2.soap.verification.capabilityexposure.services.oksijen.com"> <soapenv:header> <v2:authentication v2:user="hilal@1000000065" v2:password="hilal1983" v2:sessionid="" v2:serviceid=":1001000043"/> </soapenv:header> <soapenv:body> <v2:queryage> <capexsubscriberid> <enduserid>acr:286002mjvrv/jvu2uh58/eki20rgbrwe+gct6s162pnq+jeiw5rqzhwk77bt30pmidvtzhs91v NnB4GOrInoCF2LDoTA==</endUserId> <nickname></nickname> <usageid></usageid> </capexsubscriberid> <age>14</age> </v2:queryage> </soapenv:body> </soapenv:envelope> Örnek Soap Cevap <soapenv:envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/"> Sürüm: 2.16 Tarih: 25/12/2012 Kod: CAPABILITY_EXPOSURE_PLATFORM_API Sayfa: 65 / 337
<soapenv:body> <ns:queryageresponse xmlns:ns="http://v2.soap.verification.capabilityexposure.services.oksijen.com"> <return> <resultcode>0</resultcode> <resultdesc>success</resultdesc> <variables xsi:nil="true" xmlns:xsi="http://www.w3.org/2001/xmlschemainstance"/> <response>true</response> <usageid>12359</usageid> </return> </ns:queryageresponse> </soapenv:body> </soapenv:envelope> 3.13. Abone Cinsiyeti Abonenin cinsiyetinin "Bay" olup olmadığını kontrol eden doğrulama servisidir. Cinsiyetin "Bayan" olup olmadığının kontrolü queryactivestatus=true ve queryismale=false sorgularıyla yapılmalıdır. İstek Parametreleri Adı Veri Tipi Zorunlu Size Açıklama restcapex Subscribe rid RestCape xsubscrib erid Evet 2.4 de açıklanmıştır. Uygulamada kullanılacak subscriber ın id sidir. Dönüş Degerleri Adı Veri Tipi Zorunlu Açıklama resultcode long Evet Capex'in döndüğü sonuç değeri resultdescription String Evet Capex'in döndüğü sonuca dair açıklama response boolean Evet Abonelik aktif ve Cinsiyet "Bay" ise true cevabı döner, aksi takdirde false cevabı dönülür usageid Long Evet UsageId bilgisidir. Sürüm: 2.16 Tarih: 25/12/2012 Kod: CAPABILITY_EXPOSURE_PLATFORM_API Sayfa: 66 / 337
3.13.1. REST Arayüzü Rest URL: http://172.28.138.129:8000/2/0/verification//queryismale Örnek Rest İstek POST http://172.25.23.74:8100/2/0/verification/queryismale HTTP/1.1 Accept-Encoding: gzip,deflate Content-Type: application/json Authorization: Basic aglsywxamtawmdawmda2ntpiawxhbde5odm= serviceid: :1001000043 User-Agent: Jakarta Commons-HttpClient/3.1 Host: 172.25.23.74:8100 Content-Length: 153 { "enduserid":"acr:286002mjvrv/jvu2uh58/eki20rgbrwe+gct6s162pnq+jeiw5rqzhwk77bt30pmi dvtzhs91vnnb4gorinocf2ldota==", "nickname":null, "usageid":4352 }Örnek Rest Cevap HTTP/1.1 200 OK Content-Type: application/json Content-Length: 81 Server: Jetty(6.1.25) {"result":{"resultcode":0,"resultdesc":"success"},"usageid":4352,"response":true} 3.13.2. SOAP Arayüzü Örnek Soap İstek <soapenv:envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:v2="http://v2.soap.verification.capabilityexposure.services.oksijen.com"> <soapenv:header> Sürüm: 2.16 Tarih: 25/12/2012 Kod: CAPABILITY_EXPOSURE_PLATFORM_API Sayfa: 67 / 337
<v2:authentication v2:user="hilal@1000000065" v2:password="hilal1983" v2:sessionid="" v2:serviceid=":1001000043"/> </soapenv:header> <soapenv:body> <v2:queryismale> <capexsubscriberid> <enduserid>acr:286002mjvrv/jvu2uh58/eki20rgbrwe+gct6s162pnq+jeiw5rqzhwk77bt30pmidvtzhs91v NnB4GOrInoCF2LDoTA==</endUserId> <nickname/> <usageid/> </capexsubscriberid> </v2:queryismale> </soapenv:body> </soapenv:envelope> Örnek Soap Cevap <soapenv:envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/"> <soapenv:body> <ns:queryismaleresponse xmlns:ns="http://v2.soap.verification.capabilityexposure.services.oksijen.com"> <return> <resultcode>0</resultcode> <resultdesc>success</resultdesc> <variables xsi:nil="true" xmlns:xsi="http://www.w3.org/2001/xmlschemainstance"/> <response>true</response> <usageid>12374</usageid> </return> </ns:queryismaleresponse> </soapenv:body> </soapenv:envelope> 3.14. Kimlik Numarası Doğrulaması Abonenin T.C kimlik numarasının doğrulandığını kontrol eden doğrulama servisidir. İstek Parametreleri Sürüm: 2.16 Tarih: 25/12/2012 Kod: CAPABILITY_EXPOSURE_PLATFORM_API Sayfa: 68 / 337
Adı Veri Tipi Zorunlu Size Açıklama restcapex Subscribe rid RestCape xsubscrib erid Evet 2.4 de açıklanmıştır. Uygulamada kullanılacak subscriber ın id sidir. Dönüş Değerleri Adı Veri Tipi Zorunlu Açıklama resultcode long Evet Capex'in döndüğü sonuç değeri resultdescription String Evet Capex'in döndüğü sonuca dair açıklama response boolean Evet Abonelik aktif ve TCKNO doğrulanmış ise true cevabı döner, aksi takdirde false cevabı dönülür usageid Long Evet UsageId bilgisidir. 3.14.1. REST Arayüzü Rest URL: http://172.28.138.129:8000/2/0/verification//querytcknoverified Örnek Rest İstek POST http://172.25.23.74:8100/2/0/verification/querytcknoverified HTTP/1.1 Accept-Encoding: gzip,deflate Content-Type: application/json Authorization: Basic aglsywxamtawmdawmda2ntpiawxhbde5odm= serviceid: :1001000043 User-Agent: Jakarta Commons-HttpClient/3.1 Host: 172.25.23.74:8100 Content-Length: 153 { Sürüm: 2.16 Tarih: 25/12/2012 Kod: CAPABILITY_EXPOSURE_PLATFORM_API Sayfa: 69 / 337
"enduserid":"acr:286002mjvrv/jvu2uh58/eki20rgbrwe+gct6s162pnq+jeiw5rqzhwk77bt30pmi dvtzhs91vnnb4gorinocf2ldota==", "nickname":null, "usageid":4352 }Örnek Rest Cevap HTTP/1.1 200 OK Content-Type: application/json Content-Length: 81 Server: Jetty(6.1.25) {"result":{"resultcode":0,"resultdesc":"success"},"usageid":4352,"response":true} 3.14.2. SOAP Arayüzü Örnek Soap İstek <soapenv:envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:v2="http://v2.soap.verification.capabilityexposure.services.oksijen.com"> <soapenv:header> <v2:authentication v2:user="hilal@1000000065" v2:password="hilal1983" v2:sessionid="" v2:serviceid=":1001000043"/> </soapenv:header> <soapenv:body> <v2:querytcknoverified> <capexsubscriberid> <enduserid>acr:286002mjvrv/jvu2uh58/eki20rgbrwe+gct6s162pnq+jeiw5rqzhwk77bt30pmidvtzhs91v NnB4GOrInoCF2LDoTA==</endUserId> <nickname></nickname> <usageid>151</usageid> </capexsubscriberid> </v2:querytcknoverified> </soapenv:body> </soapenv:envelope> Örnek Soap Cevap <soapenv:envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/"> Sürüm: 2.16 Tarih: 25/12/2012 Kod: CAPABILITY_EXPOSURE_PLATFORM_API Sayfa: 70 / 337
<soapenv:body> <ns:querytcknoverifiedresponse xmlns:ns="http://v2.soap.verification.capabilityexposure.services.oksijen.com"> <return> <resultcode>0</resultcode> <resultdesc>success</resultdesc> <variables xsi:nil="true" xmlns:xsi="http://www.w3.org/2001/xmlschemainstance"/> <response>true</response> <usageid>151</usageid> </return> </ns:querytcknoverifiedresponse> </soapenv:body> </soapenv:envelope> 3.15. Tarife Durumu Abonenin parametre olarak verilen pakette olup olmadığını kontrol eden doğrulama servisidir. İstek Parametreleri Adı Veri Tipi Zorunlu Size Açıklama restcapex Subscribe rid RestCape xsubscrib erid Evet 2.4 de açıklanmıştır. Uygulamada kullanılacak subscriber ın id sidir. packageid String Evet Kullanıcının paket id'si.. Abone tipine göre farklı değerler mevcut ise karakteriyle birleştirilerek geçirilir. Örnek: CPK12 SPK14 duration int Hayır Eğer pozitif bir değer verildiyse abonenin belirtilen süreden beri bu pakette olup olmadığı kontrol edilir. Dönüş Değerleri Adı Veri Tipi Zorunlu Açıklama Sürüm: 2.16 Tarih: 25/12/2012 Kod: CAPABILITY_EXPOSURE_PLATFORM_API Sayfa: 71 / 337
resultcode long Evet Capex'in döndüğü sonuç değeri resultdescription String Evet Capex'in döndüğü sonuca dair açıklama response boolean Evet Abonelik aktif ve verilen pakette ise true cevabı döner, aksi takdirde false cevabı dönülür usageid Long Evet UsageId bilgisidir. 3.15.1. REST Arayüzü Rest URL: http://172.28.138.129:8000/2/0/verification//querypackage Örnek Rest İstek POST http://172.25.23.74:8100/2/0/verification/querypackage?duration=4&packageid=1312 HTTP/1.1 Accept-Encoding: gzip,deflate Content-Type: application/json Authorization: Basic aglsywxamtawmdawmda2ntpiawxhbde5odm= serviceid: :1001000043 User-Agent: Jakarta Commons-HttpClient/3.1 Host: 172.25.23.74:8100 Content-Length: 153 { "enduserid":"acr:286002mjvrv/jvu2uh58/eki20rgbrwe+gct6s162pnq+jeiw5rqzhwk77bt30pmi dvtzhs91vnnb4gorinocf2ldota==", "nickname":null, "usageid":null }Örnek Rest Cevap HTTP/1.1 200 OK Content-Type: application/json Content-Length: 82 Server: Jetty(6.1.25) Sürüm: 2.16 Tarih: 25/12/2012 Kod: CAPABILITY_EXPOSURE_PLATFORM_API Sayfa: 72 / 337
{"result":{"resultcode":0,"resultdesc":"success"},"usageid":13015,"response":true} 3.15.2. SOAP Arayüzü Örnek Soap İstek <soapenv:envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ver="http://verification.capabilityexposure.services.oksijen.com"> <soapenv:header> <ver:authentication ver:user="hilal@1000000064" ver:password="abc123def" ver:sessionid="" ver:serviceid=":1005000063"/> </soapenv:header> <soapenv:body> <ver:querypackage> <enduserid>tel:+90542xxxxxxx</enduserid> <packageid>dummypackageid</packageid> <duration>30</duration> </ver:querypackage> </soapenv:body> </soapenv:envelope> Örnek Soap Cevap <soapenv:envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/"> <soapenv:body> <ns:querypackageresponse xmlns:ns="http://verification.capabilityexposure.services.oksijen.com"> <return> <resultcode>0</resultcode> <resultdesc>success</resultdesc> <variables xsi:nil="true" xmlns:xsi="http://www.w3.org/2001/xmlschemainstance"/> <response>false</response> </return> </ns:querypackageresponse> </soapenv:body> </soapenv:envelope> Sürüm: 2.16 Tarih: 25/12/2012 Kod: CAPABILITY_EXPOSURE_PLATFORM_API Sayfa: 73 / 337
3.16. Opsiyon Durumu Abonenin belirtilen Opsiyona sahip olup olmadığını kontrol eden doğrulama servisidir. İstek Parametreleri Adı Veri Tipi Zorunlu Size Açıklama restcapexsubscriberid RestCapexSubscriberId Evet 2.4 de açıklanmıştır. Uygulamada kullanılacak subscriber ın id sidir. option String Evet Kullanıcının opsiyon bilgisi. Abone tipine göre farklı değerler mevcut ise karakteriyle birleştirilerek geçirilir. Örnek: COK12 SOK14 duration int Hayır Eğer pozitif bir değer verildiyse abonenin belirtilen süreden beri bu opsiyona sahip olup olmadığı kontrol edilir. Dönüş Değerleri Adı Veri Tipi Zorunlu Açıklama resultcode long Evet Capex'in döndüğü sonuç değeri resultdescription String Evet Capex'in döndüğü sonuca dair açıklama response boolean Evet Abonelik aktif ve belirtilen opsyiona sahip ise true cevabı döner, aksi takdirde false cevabı dönülür usageid Long Evet UsageId bilgisidir. 3.16.1. REST Arayüzü Rest URL: http://172.28.138.129:8000/2/0/verification//queryoption Sürüm: 2.16 Tarih: 25/12/2012 Kod: CAPABILITY_EXPOSURE_PLATFORM_API Sayfa: 74 / 337
Örnek Rest İstek POST http://172.25.23.74:8100/2/0/verification/queryoption?option=dumopt&duration=5 HTTP/1.1 Accept-Encoding: gzip,deflate Content-Type: application/json Authorization: Basic aglsywxamtawmdawmda2ntpiawxhbde5odm= serviceid: :1001000043 User-Agent: Jakarta Commons-HttpClient/3.1 Host: 172.25.23.74:8100 Content-Length: 153 { "enduserid":"acr:286002mjvrv/jvu2uh58/eki20rgbrwe+gct6s162pnq+jeiw5rqzhwk77bt30pmi dvtzhs91vnnb4gorinocf2ldota==", "nickname":null, "usageid":null }Örnek Rest Cevap HTTP/1.1 200 OK Content-Type: application/json Content-Length: 82 Server: Jetty(6.1.25) {"result":{"resultcode":0,"resultdesc":"success"},"usageid":13016,"response":true} 3.16.2. SOAP Arayüzü Örnek Soap İstek <soapenv:envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:v2="http://v2.soap.verification.capabilityexposure.services.oksijen.com"> <soapenv:header> <v2:authentication v2:user="hilal@1000000065" v2:password="hilal1983" v2:sessionid="" v2:serviceid=":1001000043"/> </soapenv:header> Sürüm: 2.16 Tarih: 25/12/2012 Kod: CAPABILITY_EXPOSURE_PLATFORM_API Sayfa: 75 / 337
<soapenv:body> <v2:queryoption> <capexsubscriberid> <enduserid>acr:286002mjvrv/jvu2uh58/eki20rgbrwe+gct6s162pnq+jeiw5rqzhwk77bt30pmidvtzhs91v NnB4GOrInoCF2LDoTA==</endUserId> <nickname></nickname> <usageid>151</usageid> </capexsubscriberid> <option>213</option> <duration>1</duration> </v2:queryoption> </soapenv:body> </soapenv:envelope> Örnek Soap Cevap <soapenv:envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/"> <soapenv:body> <ns:queryoptionresponse xmlns:ns="http://v2.soap.verification.capabilityexposure.services.oksijen.com"> <return> <resultcode>0</resultcode> <resultdesc>success</resultdesc> <variables xsi:nil="true" xmlns:xsi="http://www.w3.org/2001/xmlschemainstance"/> <response>true</response> <usageid>151</usageid> </return> </ns:queryoptionresponse> </soapenv:body> </soapenv:envelope> 3.17. Kampanya Durumu Abonenin belirtilen kampanyada olup olmadığını kontrol eden doğrulama servisidir. İstek Parametreleri Sürüm: 2.16 Tarih: 25/12/2012 Kod: CAPABILITY_EXPOSURE_PLATFORM_API Sayfa: 76 / 337
Adı Veri Tipi Zorunlu Size Açıklama restcapexsubscriberid RestCapexSubscriberId Evet 2.4 de açıklanmıştır. Uygulamada kullanılacak subscriber ın id sidir. campaign String Evet Kampanya bilgisi. Abone tipine göre farklı değerler mevcut ise karakteriyle birleştirilerek geçirilir. Örnek: CKK12 SKK14 duration int Hayır Eğer pozitif bir değer verildiyse abonenin belirtilen süreden beri bu kampanyada olup olmadığı kontrol edilir. Dönüş Değerleri Adı Veri Tipi Zorunlu Açıklama resultcode long Evet Capex'in döndüğü sonuç değeri resultdescription String Evet Capex'in döndüğü sonuca dair açıklama response boolean Evet Abonelik aktif ve belirtilen kampanyaya üyelik var ise true cevabı döner, aksi takdirde false cevabı dönülür usageid Long Evet UsageId bilgisidir. 3.17.1. REST Arayüzü Rest URL: http://172.28.138.129:8000/2/0/verification//querycampaign Örnek Rest İstek POST http://172.25.23.74:8100/2/0/verification/querycampaign?duration=12&campaign=dummcamp HTTP/1.1 Accept-Encoding: gzip,deflate Sürüm: 2.16 Tarih: 25/12/2012 Kod: CAPABILITY_EXPOSURE_PLATFORM_API Sayfa: 77 / 337
Content-Type: application/json Authorization: Basic aglsywxamtawmdawmda2ntpiawxhbde5odm= serviceid: :1001000043 User-Agent: Jakarta Commons-HttpClient/3.1 Host: 172.25.23.74:8100 Content-Length: 153 { "enduserid":"acr:286002mjvrv/jvu2uh58/eki20rgbrwe+gct6s162pnq+jeiw5rqzhwk77bt30pmi dvtzhs91vnnb4gorinocf2ldota==", "nickname":null, "usageid":null }Örnek Rest Cevap HTTP/1.1 200 OK Content-Type: application/json Content-Length: 82 Server: Jetty(6.1.25) {"result":{"resultcode":0,"resultdesc":"success"},"usageid":13017,"response":true} 3.17.2. SOAP Arayüzü Örnek Soap İstek <soapenv:envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:v2="http://v2.soap.verification.capabilityexposure.services.oksijen.com"> <soapenv:header> <v2:authentication v2:user="hilal@1000000065" v2:password="hilal1983" v2:sessionid="" v2:serviceid=":1001000043"/> </soapenv:header> <soapenv:body> <v2:querycampaign> <capexsubscriberid> <enduserid>acr:286002mjvrv/jvu2uh58/eki20rgbrwe+gct6s162pnq+jeiw5rqzhwk77bt30pmidvtzhs91v NnB4GOrInoCF2LDoTA==</endUserId> Sürüm: 2.16 Tarih: 25/12/2012 Kod: CAPABILITY_EXPOSURE_PLATFORM_API Sayfa: 78 / 337
<nickname></nickname> <usageid></usageid> </capexsubscriberid> <option>dummyop</option> <duration>5</duration> </v2:querycampaign> </soapenv:body> </soapenv:envelope> Örnek Soap Cevap <soapenv:envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/"> <soapenv:body> <ns:querycampaignresponse xmlns:ns="http://v2.soap.verification.capabilityexposure.services.oksijen.com"> <return> <resultcode>0</resultcode> <resultdesc>success</resultdesc> <variables xsi:nil="true" xmlns:xsi="http://www.w3.org/2001/xmlschemainstance"/> <response>true</response> <usageid>12360</usageid> </return> </ns:querycampaignresponse> </soapenv:body> </soapenv:envelope> 3.18. Abone Segment Durumu Abonenin belirtilen segment'te olup olmadığını kontrol eden doğrulama servisidir. İstek Parametreleri Adı Veri Tipi Zorunlu Size Açıklama restcapexsubscriberid RestCapexSubscriberId Evet 2.4 de açıklanmıştır. Uygulamada kullanılacak subscriber ın id sidir. segment String Evet Segment bilgisi. Abone tipine göre Sürüm: 2.16 Tarih: 25/12/2012 Kod: CAPABILITY_EXPOSURE_PLATFORM_API Sayfa: 79 / 337
farklı değerler mevcut ise karakteriyle birleştirilerek geçirilir. Örnek: CSK12 SSK14 Dönüş Değerleri Adı Veri Tipi Zorunlu Açıklama resultcode long Evet Capex'in döndüğü sonuç değeri resultdescription String Evet Capex'in döndüğü sonuca dair açıklama response boolean Evet Abonelik aktif ve numara taşınabilirliliği ile Vodafone'a taşınmış ise true cevabı döner, aksi takdirde false cevabı dönülür usageid Long Evet UsageId bilgisidir. 3.18.1. REST Arayüzü Rest URL: http://172.28.138.129:8000/2/0/verification//querysegment Örnek Rest İstek POST http://172.25.23.74:8100/2/0/verification/querysegment?segment=dumseg HTTP/1.1 Accept-Encoding: gzip,deflate Content-Type: application/json Authorization: Basic aglsywxamtawmdawmda2ntpiawxhbde5odm= serviceid: :1001000043 User-Agent: Jakarta Commons-HttpClient/3.1 Host: 172.25.23.74:8100 Content-Length: 153 { "enduserid":"acr:286002mjvrv/jvu2uh58/eki20rgbrwe+gct6s162pnq+jeiw5rqzhwk77bt30pmi dvtzhs91vnnb4gorinocf2ldota==", Sürüm: 2.16 Tarih: 25/12/2012 Kod: CAPABILITY_EXPOSURE_PLATFORM_API Sayfa: 80 / 337
"nickname":null, "usageid":4352 }Örnek Rest Cevap HTTP/1.1 200 OK Content-Type: application/json Content-Length: 81 Server: Jetty(6.1.25) {"result":{"resultcode":0,"resultdesc":"success"},"usageid":4352,"response":true} 3.18.2. SOAP Arayüzü Örnek Soap İstek <soapenv:envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:v2="http://v2.soap.verification.capabilityexposure.services.oksijen.com"> <soapenv:header> <v2:authentication v2:user="hilal@1000000065" v2:password="hilal1983" v2:sessionid="" v2:serviceid=":1001000043"/> </soapenv:header> <soapenv:body> <v2:querysegment> <capexsubscriberid> <enduserid>acr:286002mjvrv/jvu2uh58/eki20rgbrwe+gct6s162pnq+jeiw5rqzhwk77bt30pmidvtzhs91v NnB4GOrInoCF2LDoTA==</endUserId> <nickname></nickname> <usageid>151</usageid> </capexsubscriberid> <segment>1</segment> </v2:querysegment> </soapenv:body> </soapenv:envelope> Örnek Soap Cevap <soapenv:envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/"> <soapenv:body> Sürüm: 2.16 Tarih: 25/12/2012 Kod: CAPABILITY_EXPOSURE_PLATFORM_API Sayfa: 81 / 337
<ns:querysegmentresponse xmlns:ns="http://v2.soap.verification.capabilityexposure.services.oksijen.com"> <return> <resultcode>0</resultcode> <resultdesc>success</resultdesc> <variables xsi:nil="true" xmlns:xsi="http://www.w3.org/2001/xmlschemainstance"/> <response>true</response> <usageid>151</usageid> </return> </ns:querysegmentresponse> </soapenv:body> </soapenv:envelope> 3.19. Red/Red Plus Durumu Abonenin Red/RedPlus olup olmadığını kontrol eden doğrulama servisidir. İstek Parametreleri Adı Veri Tipi Zorunlu Size Açıklama restcapex Subscribe rid RestCape xsubscrib erid Evet 2.4 de açıklanmıştır. Uygulamada kullanılacak subscriber ın id sidir. type String Evet Abonelik tipi: 0: Red, 1:RedPlus duration int Hayır Eğer pozitif bir değer verildiyse abonenin belirtilen süreden beri Red/RedPlus olup olmadığı kontrol edilir Dönüş Değerleri Adı Veri Tipi Zorunlu Açıklama resultcode long Evet Capex'in döndüğü sonuç değeri resultdescription String Evet Capex'in döndüğü sonuca dair açıklama response boolean Evet Abonelik aktif ve belirtilen Red/RedPlus özelliği var ise true cevabı döner, aksi takdirde false cevabı dönülür Sürüm: 2.16 Tarih: 25/12/2012 Kod: CAPABILITY_EXPOSURE_PLATFORM_API Sayfa: 82 / 337
usageid Long Evet UsageId bilgisidir. 3.19.1. REST Arayüzü Rest URL: http://172.28.138.129:8000/2/0/verification//queryisredredplus Örnek Rest İstek POST http://172.25.23.74:8100/2/0/verification/queryisredredplus?duration=1&type=dumtype HTTP/1.1 Accept-Encoding: gzip,deflate Content-Type: application/json Authorization: Basic aglsywxamtawmdawmda2ntpiawxhbde5odm= serviceid: :1001000043 User-Agent: Jakarta Commons-HttpClient/3.1 Host: 172.25.23.74:8100 Content-Length: 153 { "enduserid":"acr:286002mjvrv/jvu2uh58/eki20rgbrwe+gct6s162pnq+jeiw5rqzhwk77bt30pmi dvtzhs91vnnb4gorinocf2ldota==", "nickname":null, "usageid":4352 }Örnek Rest Cevap HTTP/1.1 200 OK Content-Type: application/json Content-Length: 81 Server: Jetty(6.1.25) {"result":{"resultcode":0,"resultdesc":"success"},"usageid":4352,"response":true} 3.19.2. SOAP Arayüzü Sürüm: 2.16 Tarih: 25/12/2012 Kod: CAPABILITY_EXPOSURE_PLATFORM_API Sayfa: 83 / 337
Örnek Soap İstek <soapenv:envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:v2="http://v2.soap.verification.capabilityexposure.services.oksijen.com"> <soapenv:header> <v2:authentication v2:user="hilal@1000000065" v2:password="hilal1983" v2:sessionid="" v2:serviceid=":1001000043"/> </soapenv:header> <soapenv:body> <v2:queryisredredplus> <capexsubscriberid> <enduserid>acr:286002mjvrv/jvu2uh58/eki20rgbrwe+gct6s162pnq+jeiw5rqzhwk77bt30pmidvtzhs91v NnB4GOrInoCF2LDoTA==</endUserId> <nickname></nickname> <usageid>151</usageid> </capexsubscriberid> <type>14</type> <duration>2</duration> </v2:queryisredredplus> </soapenv:body> </soapenv:envelope> Örnek Soap Cevap <soapenv:envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/"> <soapenv:body> <ns:queryisredredplusresponse xmlns:ns="http://v2.soap.verification.capabilityexposure.services.oksijen.com"> <return> <resultcode>0</resultcode> <resultdesc>success</resultdesc> <variables xsi:nil="true" xmlns:xsi="http://www.w3.org/2001/xmlschemainstance"/> <response>true</response> <usageid>151</usageid> </return> </ns:queryisredredplusresponse> </soapenv:body> </soapenv:envelope> Sürüm: 2.16 Tarih: 25/12/2012 Kod: CAPABILITY_EXPOSURE_PLATFORM_API Sayfa: 84 / 337
3.20. Abone Adresi Abonenin belirtilen adrese sahip olup olmadığını kontrol eden doğrulama servisidir. İstek Parametreleri Adı Veri Tipi Zorunlu Size Açıklama restcapex Subscribe rid RestCape xsubscrib erid Evet 2.4 de açıklanmıştır. Uygulamada kullanılacak subscriber ın id sidir. city String Evet Şehrin plaka kodu district String Evet İlçe ismi Dönüş Değerleri Adı Veri Tipi Zorunlu Açıklama resultcode long Evet Capex'in döndüğü sonuç değeri resultdescription String Evet Capex'in döndüğü sonuca dair açıklama response boolean Evet Abonelik aktif ve adresi belirtilen parametrelerle örtüşüyorsa true cevabı döner, aksi takdirde false cevabı dönülür usageid Long Evet UsageId bilgisidir. 3.20.1. REST Arayüzü Rest URL: http://172.28.138.129:8000/2/0/verification//queryaddress Örnek Rest İstek POST http://172.25.23.74:8100/2/0/verification/queryaddress?district=dumdist&city=dumcity HTTP/1.1 Accept-Encoding: gzip,deflate Sürüm: 2.16 Tarih: 25/12/2012 Kod: CAPABILITY_EXPOSURE_PLATFORM_API Sayfa: 85 / 337
Content-Type: application/json Authorization: Basic aglsywxamtawmdawmda2ntpiawxhbde5odm= serviceid: :1001000043 User-Agent: Jakarta Commons-HttpClient/3.1 Host: 172.25.23.74:8100 Content-Length: 153 { "enduserid":"acr:286002mjvrv/jvu2uh58/eki20rgbrwe+gct6s162pnq+jeiw5rqzhwk77bt30pmi dvtzhs91vnnb4gorinocf2ldota==", "nickname":null, "usageid":4352 }Örnek Rest Cevap HTTP/1.1 200 OK Content-Type: application/json Content-Length: 81 Server: Jetty(6.1.25) {"result":{"resultcode":0,"resultdesc":"success"},"usageid":4352,"response":true} 3.20.2. SOAP Arayüzü Örnek Soap İstek <soapenv:envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:v2="http://v2.soap.verification.capabilityexposure.services.oksijen.com"> <soapenv:header> <v2:authentication v2:user="hilal@1000000065" v2:password="hilal1983" v2:sessionid="" v2:serviceid=":1001000043"/> </soapenv:header> <soapenv:body> <v2:queryaddress> <capexsubscriberid> <enduserid>acr:286002mjvrv/jvu2uh58/eki20rgbrwe+gct6s162pnq+jeiw5rqzhwk77bt30pmidvtzhs91v NnB4GOrInoCF2LDoTA==</endUserId> Sürüm: 2.16 Tarih: 25/12/2012 Kod: CAPABILITY_EXPOSURE_PLATFORM_API Sayfa: 86 / 337
<nickname></nickname> <usageid>124</usageid> </capexsubscriberid> <city>istanbul</city> <district>beyoglu</district> </v2:queryaddress> </soapenv:body> </soapenv:envelope> Örnek Soap Cevap <soapenv:envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/"> <soapenv:body> <ns:queryaddressresponse xmlns:ns="http://v2.soap.verification.capabilityexposure.services.oksijen.com"> <return> <resultcode>0</resultcode> <resultdesc>success</resultdesc> <variables xsi:nil="true" xmlns:xsi="http://www.w3.org/2001/xmlschemainstance"/> <response>true</response> <usageid>124</usageid> </return> </ns:queryaddressresponse> </soapenv:body> </soapenv:envelope> 3.21. E-Fatura Yeni Katılım Abonenin belirtilen zaman dilimi içerisinde e-fatura aboneliği yaptırıp yaptırmadığını sorgular. İstek Parametreleri Adı Veri Tipi Zorunlu Size Açıklama restcapexsub scriberid RestCape xsubscrib erid Evet 2.4 de açıklanmıştır. Uygulamada kullanılacak subscriber ın id sidir. Sürüm: 2.16 Tarih: 25/12/2012 Kod: CAPABILITY_EXPOSURE_PLATFORM_API Sayfa: 87 / 337
customertype String Evet Müşteri tipi (1:Consumer, 2:Enterprise) duration String Evet Gün cinsinden sorgulanmak istenen süre Dönüş Değerleri Adı Veri Tipi Zorunlu Açıklama resultcode long Evet Capex'in döndüğü sonuç değeri resultdescription String Evet Capex'in döndüğü sonuca dair açıklama queryresponse String Evet Sorgulama sonucunda dönen kod ve açıklama dönülür usageid Long Evet UsageId bilgisidir. 3.21.1. REST Arayüzü Rest URL: http://172.28.138.129:8000/2/0/verification//queryeinvoice Örnek Rest İstek POST http://172.25.23.74:8100/2/0/verification/queryeinvoice?customertype=dumtype&duration=5 HTTP/1.1 Accept-Encoding: gzip,deflate Content-Type: application/json Authorization: Basic aglsywxamtawmdawmda2ntpiawxhbde5odm= serviceid: :1001000043 User-Agent: Jakarta Commons-HttpClient/3.1 Host: 172.25.23.74:8100 Content-Length: 153 { "enduserid":"acr:286002mjvrv/jvu2uh58/eki20rgbrwe+gct6s162pnq+jeiw5rqzhwk77bt30pmi dvtzhs91vnnb4gorinocf2ldota==", Sürüm: 2.16 Tarih: 25/12/2012 Kod: CAPABILITY_EXPOSURE_PLATFORM_API Sayfa: 88 / 337
"nickname":null, "usageid":4352 }Örnek Rest Cevap HTTP/1.1 200 OK Content-Type: application/json; charset=utf-8 Content-Length: 91 Server: Jetty(6.1.25) {"result":{"resultcode":0,"resultdesc":"success"},"usageid":4352,"queryresponse":"103:def "} 3.21.2. SOAP Arayüzü Örnek Soap İstek <soapenv:envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:v2="http://v2.soap.verification.capabilityexposure.services.oksijen.com"> <soapenv:header> <v2:authentication v2:user="hilal@1000000065" v2:password="hilal1983" v2:sessionid="" v2:serviceid=":1001000043"/> </soapenv:header> <soapenv:body> <v2:queryeinvoice> <capexsubscriberid> <enduserid>acr:286002mjvrv/jvu2uh58/eki20rgbrwe+gct6s162pnq+jeiw5rqzhwk77bt30pmidvtzhs91v NnB4GOrInoCF2LDoTA==</endUserId> <nickname xsi:nil="true" xmlns:xsi="http://www.w3.org/2001/xmlschemainstance"/><usageid>4214</usageid> </capexsubscriberid> <customertype>dumtype</customertype> <duration>5</duration> </v2:queryeinvoice> </soapenv:body> </soapenv:envelope> Örnek Soap Cevap Sürüm: 2.16 Tarih: 25/12/2012 Kod: CAPABILITY_EXPOSURE_PLATFORM_API Sayfa: 89 / 337
<soapenv:envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/"> <soapenv:body> <ns:queryeinvoiceresponse xmlns:ns="http://v2.soap.verification.capabilityexposure.services.oksijen.com"> <return> <resultcode>0</resultcode> <resultdesc>success</resultdesc> <variables xsi:nil="true" xmlns:xsi="http://www.w3.org/2001/xmlschemainstance"/> <queryresponse>103:def</queryresponse> <usageid>4214</usageid> </return> </ns:queryeinvoiceresponse> </soapenv:body> </soapenv:envelope> 3.22. FreeZone Durumu Abonenin FreeZone üyesi olup olmadığını kontrol eden doğrulama servisidir. İstek Parametreleri Adı Veri Tipi Zorunlu Size Açıklama restcapex Subscribe rid RestCape xsubscrib erid Evet 2.4 de açıklanmıştır. Uygulamada kullanılacak subscriber ın id sidir. duration int Hayır Aboneliğin sorgusunun çalışacağı zaman süresi (Gün) Dönüş Değerleri Adı Veri Tipi Zorunlu Açıklama resultcode long Evet Capex'in döndüğü sonuç değeri resultdescription String Evet Capex'in döndüğü sonuca dair açıklama response boolean Evet Abonelik aktif ve FreeZone özelliği var ise true cevabı döner, aksi Sürüm: 2.16 Tarih: 25/12/2012 Kod: CAPABILITY_EXPOSURE_PLATFORM_API Sayfa: 90 / 337
takdirde false cevabı dönülür usageid Long Evet UsageId bilgisidir. 3.22.1. REST Arayüzü Rest URL: http://172.28.138.129:8000/2/0/verification//queryisfreezone Örnek Rest İstek POST http://172.25.23.74:8100/2/0/verification/queryisfreezone?duration=5 HTTP/1.1 Accept-Encoding: gzip,deflate Content-Type: application/json Authorization: Basic aglsywxamtawmdawmda2ntpiawxhbde5odm= serviceid: :1001000043 User-Agent: Jakarta Commons-HttpClient/3.1 Host: 172.25.23.74:8100 Content-Length: 153 { "enduserid":"acr:286002mjvrv/jvu2uh58/eki20rgbrwe+gct6s162pnq+jeiw5rqzhwk77bt30pmi dvtzhs91vnnb4gorinocf2ldota==", } "nickname":null, "usageid":4352 Örnek Rest Cevap HTTP/1.1 200 OK Content-Type: application/json Content-Length: 81 Server: Jetty(6.1.25) {"result":{"resultcode":0,"resultdesc":"success"},"usageid":4352,"response":true} Sürüm: 2.16 Tarih: 25/12/2012 Kod: CAPABILITY_EXPOSURE_PLATFORM_API Sayfa: 91 / 337
3.22.2. SOAP Arayüzü Örnek Soap İstek <soapenv:envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:v2="http://v2.soap.verification.capabilityexposure.services.oksijen.com"> <soapenv:header> <v2:authentication v2:user="hilal@1000000065" v2:password="hilal1983" v2:sessionid="" v2:serviceid=":1001000043"/> </soapenv:header> <soapenv:body> <v2:queryisfreezone> <capexsubscriberid> <enduserid>acr:286002mjvrv/jvu2uh58/eki20rgbrwe+gct6s162pnq+jeiw5rqzhwk77bt30pmidvtzhs91v NnB4GOrInoCF2LDoTA==</endUserId> <nickname/> <usageid/> </capexsubscriberid> <duration>2</duration> </v2:queryisfreezone> </soapenv:body> </soapenv:envelope> Örnek Soap Cevap <soapenv:envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/"> <soapenv:body> <ns:queryisfreezoneresponse xmlns:ns="http://v2.soap.verification.capabilityexposure.services.oksijen.com"> <return> <resultcode>0</resultcode> <resultdesc>success</resultdesc> <variables xsi:nil="true" xmlns:xsi="http://www.w3.org/2001/xmlschemainstance"/> <response>true</response> <usageid>12373</usageid> </return> </ns:queryisfreezoneresponse> Sürüm: 2.16 Tarih: 25/12/2012 Kod: CAPABILITY_EXPOSURE_PLATFORM_API Sayfa: 92 / 337
</soapenv:body> </soapenv:envelope> 3.23. Vergi Numarası Kontrolü Abonenin vergi numarasını doğrulama servisidir. İstek Parametreleri Adı Veri Tipi Zorunlu Size Açıklama restcapex Subscribe rid RestCape xsubscrib erid Evet 2.4 de açıklanmıştır. Uygulamada kullanılacak subscriber ın id sidir. taxid String Evet Sorgulanmak istenen vergi numarası Dönüş Değerleri Adı Veri Tipi Zorunlu Açıklama resultcode long Evet Capex'in döndüğü sonuç değeri resultdescription String Evet Capex'in döndüğü sonuca dair açıklama response boolean Evet Abonelik vergi numarası istektekiyle aynı ise true cevabı döner, aksi takdirde false cevabı dönülür usageid Long Evet UsageId bilgisidir. 3.23.1. REST Arayüzü Rest URL: http://172.28.138.129:8000/2/0/verification//querytaxid Örnek Rest İstek POST http://172.25.23.74:8100/2/0/verification/querytaxid?taxid=dumtaxid HTTP/1.1 Sürüm: 2.16 Tarih: 25/12/2012 Kod: CAPABILITY_EXPOSURE_PLATFORM_API Sayfa: 93 / 337
Accept-Encoding: gzip,deflate Content-Type: application/json Authorization: Basic aglsywxamtawmdawmda2ntpiawxhbde5odm= serviceid: :1001000043 User-Agent: Jakarta Commons-HttpClient/3.1 Host: 172.25.23.74:8100 Content-Length: 153 { "enduserid":"acr:286002mjvrv/jvu2uh58/eki20rgbrwe+gct6s162pnq+jeiw5rqzhwk77bt30pmi dvtzhs91vnnb4gorinocf2ldota==", "nickname":null, "usageid":4352 }Örnek Rest Cevap HTTP/1.1 200 OK Content-Type: application/json Content-Length: 81 Server: Jetty(6.1.25) {"result":{"resultcode":0,"resultdesc":"success"},"usageid":4352,"response":true} 3.23.2. SOAP Arayüzü Örnek Soap İstek <soapenv:envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:v2="http://v2.soap.verification.capabilityexposure.services.oksijen.com"> <soapenv:header> <v2:authentication v2:user="hilal@1000000065" v2:password="hilal1983" v2:sessionid="" v2:serviceid=":1001000043"/> </soapenv:header> <soapenv:body> <v2:querytaxid> <capexsubscriberid> <enduserid>acr:286002mjvrv/jvu2uh58/eki20rgbrwe+gct6s162pnq+jeiw5rqzhwk77bt30pmidvtzhs91v NnB4GOrInoCF2LDoTA==</endUserId> Sürüm: 2.16 Tarih: 25/12/2012 Kod: CAPABILITY_EXPOSURE_PLATFORM_API Sayfa: 94 / 337
<nickname xsi:nil="true" xmlns:xsi="http://www.w3.org/2001/xmlschemainstance"/><usageid>153</usageid> </capexsubscriberid> <taxid>1234567897</taxid> </v2:querytaxid> </soapenv:body> </soapenv:envelope> Örnek Soap Cevap <soapenv:envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/"> <soapenv:body> <ns:querytaxidresponse xmlns:ns="http://v2.soap.verification.capabilityexposure.services.oksijen.com"> <return> <resultcode>0</resultcode> <resultdesc>success</resultdesc> <variables xsi:nil="true" xmlns:xsi="http://www.w3.org/2001/xmlschemainstance"/> <response>true</response> <usageid>153</usageid> </return> </ns:querytaxidresponse> </soapenv:body> </soapenv:envelope> 3.24. Tac Id Sorgulama Abonenin Tac (Type Allocation Code) Id sini sorgulama servisidir. İstek Parametreleri Adı Veri Tipi Zorunlu Size Açıklama restcapex Subscribe rid RestCape xsubscrib erid Evet 2.4 de açıklanmıştır. Uygulamada kullanılacak subscriber ın id sidir. Sürüm: 2.16 Tarih: 25/12/2012 Kod: CAPABILITY_EXPOSURE_PLATFORM_API Sayfa: 95 / 337
Dönüş Değerleri Adı Veri Tipi Zorunlu Açıklama resultcode long Evet Capex'in döndüğü sonuç değeri resultdescription String Evet Capex'in döndüğü sonuca dair açıklama tacid String Evet Abonenin Tac Id sidir. usageid Long Evet UsageId bilgisidir. 3.24.1. REST Arayüzü Rest URL: http://172.28.138.129:8000/2/0/verification/querytacid Örnek Rest İstek POST http://127.0.0.1:8000/2/0/verification/querytacid HTTP/1.1 Accept-Encoding: gzip,deflate Content-Type: application/json Authorization: Basic aglsywxamtawmdawmda2ntpiawxhbde5odm= serviceid: :1001000043 User-Agent: Jakarta Commons-HttpClient/3.1 Host: 127.0.0.1:8000 Content-Length: 74 { "enduserid":"tel:+90542xxxxxxx", "nickname":"seli", "usageid":null } Örnek Rest Cevap HTTP/1.1 200 OK Content-Type: application/json; charset=utf-8 Content-Length: 86 Sürüm: 2.16 Tarih: 25/12/2012 Kod: CAPABILITY_EXPOSURE_PLATFORM_API Sayfa: 96 / 337
Server: Jetty(6.1.25) {"result":{"resultcode":0,"resultdesc":"success"},"usageid":465154,"tacid":"35699601"} 3.24.2. SOAP Arayüzü Örnek Soap İstek <soapenv:envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:v2="http://v2.soap.verification.capabilityexposure.services.oksijen.com"> <soapenv:header> <v2:authentication v2:user="hilal@1000000065" v2:password="hilal1983" v2:sessionid="" v2:serviceid=":1001000043"/> </soapenv:header> <soapenv:body> <v2:querytacid> <capexsubscriberid> <enduserid>tel:+90542xxxxxxx</enduserid> <nickname xsi:nil="true" xmlns:xsi="http://www.w3.org/2001/xmlschemainstance"/><usageid>1535</usageid> </capexsubscriberid> </v2:querytacid> </soapenv:body> </soapenv:envelope> Örnek Soap Cevap <soapenv:envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/"> <soapenv:body> <ns:querytacidresponse xmlns:ns="http://v2.soap.verification.capabilityexposure.services.oksijen.com"> <return> <resultcode>0</resultcode> <resultdesc>success</resultdesc> <variables xsi:nil="true" xmlns:xsi="http://www.w3.org/2001/xmlschemainstance"/> Sürüm: 2.16 Tarih: 25/12/2012 Kod: CAPABILITY_EXPOSURE_PLATFORM_API Sayfa: 97 / 337
<tacid>35699601</tacid> <usageid>1535</usageid> </return> </ns:querytacidresponse> </soapenv:body> </soapenv:envelope> 3.25. Doğum Günü Sorgulama Abonenin doğum tarihinin verilen tarihler arasında olup olmadığını kontrol eden sorgulama servisidir. İstek Parametreleri Adı Veri Tipi Zorunlu Size Açıklama restcapex Subscribe rid RestCape xsubscrib erid Evet 2.4 de açıklanmıştır. Uygulamada kullanılacak subscriber ın id sidir. startdate String Evet DD.MM Sorgulanmak istenen doğum tarih aralığı başlangıcı enddate String Evet DD.MM Sorgulanmak istenen doğum tarih aralığı sonudur. Örnek: startdate=05.12 ve enddate=17.01 ise enddate daha küçük olduğundan bir sonraki yıl olduğu farz edilir, sistem tarafından startdate=05.12.(xyıl) olarak yorumlanırken enddate=17.01.(x+1 yıl) olarak yorumlanır. Dönüş Değerleri Adı Veri Tipi Zorunlu Açıklama resultcode long Evet Capex'in döndüğü sonuç değeri resultdescription String Evet Capex'in döndüğü sonuca dair açıklama Sürüm: 2.16 Tarih: 25/12/2012 Kod: CAPABILITY_EXPOSURE_PLATFORM_API Sayfa: 98 / 337
response boolean Evet Abonenin doğum tarihi sorgulanan aralıkta ise evet, aksi taktirde hayir cevabı döner. usageid Long Evet UsageId bilgisidir. 3.25.1. REST Arayüzü Rest URL: http://127.0.0.1:8000/2/0/verification/querybirthday Örnek Rest İstek POST http://127.0.0.1:8000/2/0/verification/querybirthday?startdate=11.11&enddate=30.12 HTTP/1.1 Accept-Encoding: gzip,deflate Content-Type: application/json Authorization: Basic aglsywxamtawmdawmda2ntpiawxhbde5odm= serviceid: :1001000002 User-Agent: Jakarta Commons-HttpClient/3.1 Host: 172.25.23.74:8000 Content-Length: 73 { "enduserid":"tel:+90542xxxxxxx", "nickname":null, "usageid":4352 } Örnek Rest Cevap HTTP/1.1 200 OK Content-Type: application/json Content-Length: 82 Server: Jetty(6.1.25) Sürüm: 2.16 Tarih: 25/12/2012 Kod: CAPABILITY_EXPOSURE_PLATFORM_API Sayfa: 99 / 337
{ "result": { "resultcode": 0, "resultdesc": "Success" }, "usageid": 4352, "response": false } 3.25.2. SOAP Arayüzü Örnek Soap İstek <soapenv:envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:v2="http://v2.soap.verification.capabilityexposure.services.oksijen.com"> <soapenv:header> <v2:authentication v2:user="hilal@1000000065" v2:password="hilal1983" v2:sessionid="" v2:serviceid=":1001000043"/> </soapenv:header> <soapenv:body> <v2:querybirthday> <capexsubscriberid> <usageid>12</usageid> <enduserid>tel:+90542xxxxxxx</enduserid> <nickname xsi:nil="true" xmlns:xsi="http://www.w3.org/2001/xmlschemainstance"/> </capexsubscriberid> <startdate>12.12</startdate> <enddate>17.01</enddate> </v2:querybirthday> </soapenv:body> </soapenv:envelope> Sürüm: 2.16 Tarih: 25/12/2012 Kod: CAPABILITY_EXPOSURE_PLATFORM_API Sayfa: 100 / 337
Örnek Soap Cevap <soapenv:envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/"> <soapenv:body> <ns:querybirthdayresponse xmlns:ns="http://v2.soap.verification.capabilityexposure.services.oksijen.com"> <return> <resultcode>0</resultcode> <resultdesc>success</resultdesc> <variables xsi:nil="true" xmlns:xsi="http://www.w3.org/2001/xmlschemainstance"/> <response>true</response> <usageid>12</usageid> </return> </ns:querybirthdayresponse> </soapenv:body> </soapenv:envelope> Sürüm: 2.16 Tarih: 25/12/2012 Kod: CAPABILITY_EXPOSURE_PLATFORM_API Sayfa: 101 / 337
4. SMS API Metodları SMS API metodları aşağıdaki tabloda bulunabilir. Metod Adı REST SOAP Sağlayan Kullanan SMS Gönderimi (OneAPI yöntemi) X X CEP 3. parti servis Ücretlendirerek SMS gönderimi X X CEP 3. parti servis Wap Push Gönderimi (OneAPI yöntemi) X X CEP 3. parti servis Ücretlendirerek Wap Push gönderimi X X CEP 3. parti servis İleti Raporları Toplu Alımı X X CEP 3. parti servis İleti Raporları Alımını Başlatma X X CEP 3. parti servis İleti Raporları Alımını Durdurma X X CEP 3. parti servis İleti Raporu İtme X X 3. parti servis CEP SMS Mesajını Alma X X CEP 3. parti servis SMS Mesaj Alımını Başlatma X X CEP 3. parti servis SMS Mesaj Alımını Durdurma X X CEP 3. parti servis SMS Mesajı İtme X X 3. parti servis CEP Konum Tabanlı Servisler için Abone Maskeleme Geliştirilmiş yeteneklerden birisi de konum takip içeriği sunan servislerde kullanılan abone kimliği maskeleme özelliğidir. Sürüm: 2.16 Tarih: 25/12/2012 Kod: CAPABILITY_EXPOSURE_PLATFORM_API Sayfa: 102 / 337
CEP Friend Finder 05425444444 Takip 05455888888 SMS from opaquea «Takip opaqueb» SMS «05455888888 şu anda Dolmabahçe de» SMS «acr:opaqueb şu anda Dolmabahçe de» CEP takip servislerine özel abone kimliği maskeleme özelliği sunmaktadır. Maskeleme hem kullanıcılar tarafından atılan mesajlarda; hem de üçüncü parti uygulamalardan CEP e yapılan SMS Gönderme (OneApi) isteklerinde yapılmaktadır. Kullanıcı tarafından atılan mesajlarda, mesajın içeriği <takip anahtar kelimesi> <msisdn> formatında olmalıdır. Örneğin: takip 0542xxxxxxx. CEP bu mesajı üçüncü parti uygulamalara çıkarırken <takip anahtar kelimesi> <opaque id> olarak çıkarır. Örnek: takip acr:ct6s Ct6S162pnQ+jEiw5RQZhW162==. Üçüncü parti uygulamaları <opaque id> kısmını aboneyi tanımlayan belirteç değerinde (enduserid) kullanabilir. Maskeleme süreci ve hata durumları ile ilgili kullanıcıya notifikasyon mesajları atılır. Sms Gönderme (OneApi) isteklerinde ise %<opaque b>% <message text> şeklinde olan mesaj içeriğini CEP <msisdn> <message text> olarak değiştirir. Yani maskelemesi çözülmek istenen abone belirteci %<opaque b>% şeklinde girilmelidir. Örnek: %acr:ct6s Ct6S162pnQ+jEiw5RQZhW162==% Dolmabahçe de.. CEP bu mesajı 0542xxxxxxx Dolmabahçe de. şeklinde çevirip kulanıcıya atacaktır. Maskeleme çözümleme işleminde bir sorun olursa ilgili hata kodu belirtilir. 4.1. SMS Gönderimi (OneAPI yöntemi) Uygulama SMS gönderiminde kullanılır. İletim raporu isteyip istemediğini parametre olarak belirtebilir, varsayılan hali uygulamanın iletim rapor istemediği yönündedir. Uygulamaya requestid dönülür, uygulama bu Id ile iletim raporu sorgusu yapabilir. Eğer istek sonucu başarısız ise kullanıcıya başarısız olma sebebini açıklayan bir sonuç döner. İstek Parametreleri Adı Veri Tipi Zorunlu Açıklama restsmsoutboun dparameters RestSmsOutboundPa rameters E Sms gönderilirken kullanılacak parametreler. Sürüm: 2.16 Tarih: 25/12/2012 Kod: CAPABILITY_EXPOSURE_PLATFORM_API Sayfa: 103 / 337
RestSmsOutboundParameters Parametre Veri Tipi Zorunlu Boyut Açıklama senderaddress String E 2.7.3'de açiklanmistir. restcapexsubscriberid List<RestCapexSubscriberId> E Max. 50 adres alabilir. Uygulamanın SenderAddress i, PathParam olarak verilir Kısa mesaj gönderilecek olan abonenin restcapexsubscriberid si, FormParam olarak verilir. message String E 1530 byte SMS ile gönderilecek olan mesaj içeriği, FormParam olarak verilir. senderaddress String E 2.7.3'de açiklanmistir. Uygulamanın SenderAddress si, FormParam olarak verilir. clientcorrelator String H 30 byte Ardarda birden fazla istek yapılmasını önler, FormParam olarak verilir. notifyurl String H 512 byte Gelen iletim raporlarını uygulamaya iletmek için kullanılacak olan URL'dir, FormParam olarak verilir. sendername String H 2.7.4'de açılanmıştır. Uygulamanın SenderName i, FormParam olarak verilir. receiptrequest Boolean H - İletim raporu talep edilip edilmediğini ifade eder, varsayılan değeri false'dur. FormParam olarak verilir. requestchannel String H 3 byte Default SMS Dönüş Değerleri Parametre Veri Tipi Açıklama Sürüm: 2.16 Tarih: 25/12/2012 Kod: CAPABILITY_EXPOSURE_PLATFORM_API Sayfa: 104 / 337
requestid String Başarılı ise requestid, hata durumlarında ERROR dönülür. Error information String Sorgu sonucunun başarısız olduğu durumda dönülür Error messageid String Sorgu başarısızsa hata kodunu içerir Error text String Hata açıklaması yer alır. restcapexsubscriberidlist List<RestCapexSubscriberId> Uygulamada kullanılan subscriber id nin listesidir. 4.1.1. REST Arayüzü REST URL http://127.0.0.1:8000/2/0/smsmessaging/outbound/{senderaddress}/requests Örnek Rest İstek POST http://127.0.0.1:8000/2/0/smsmessaging/outbound/131971/requests HTTP/1.1 Accept-Encoding: gzip,deflate Content-Type: application/json Authorization: Basic c3vsdgfuqdewmdawmdawnji6u3vsdgfumzu= serviceid: :1001000162 User-Agent: Jakarta Commons-HttpClient/3.1 Host: 127.0.0.1:8000 Content-Length: 513 {"restcapexsubscriberid":[{"enduserid":"tel:+90542xxxxxxx","nickname":"","usageid":3},{"e nduserid":"tel:+90542xxxxxxx","nickname":"","usageid":59}],"message":"hi","senderaddressp aram":"131971","clientcorrelator":"41872694","notifyurl":"https://172.28.138.59:9443/dene me/myservlet","sendername":"vodafone","receiptrequestparam":"true","messagetype":"","requ estchannel":"web"} Örnek Rest Cevap: HTTP/1.1 201 Created Content-Type: application/json Location: http://127.0.0.1:8000/2/0/smsmessaging/outbound/131971/requests/sdf113391362991 Content-Length: 268 Server: Jetty(6.1.25) { "restcapexsubscriberidlist": [ Sürüm: 2.16 Tarih: 25/12/2012 Kod: CAPABILITY_EXPOSURE_PLATFORM_API Sayfa: 105 / 337
{ "usageid": 3, "nickname": "", "enduserid": "tel:+90542xxxxxxx" }, { "usageid": 59, "nickname": "", "enduserid": "tel:+90542xxxxxxx" } ], "resourcereference": {"resourceurl": "developer.vodafone.com/2/0/smsmessaging/outbound/131971/requests/sdf113391362991"} } 4.1.2. SOAP Arayüzü Örnek Soap İstek <soapenv:envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:v2="http://v2.soap.sms.capabilityexposure.services.oksijen.com"> <soapenv:header> <v2:authentication v2:user="sultan@1000000062" v2:password="password" v2:sessionid="" v2:serviceid=":1001000162"/> </soapenv:header> <soapenv:body> <v2:sendsms> <!--1 or more repetitions:--> <capexsubscriberidlist> <enduserid>tel:+90542xxxxxxx</enduserid> <nickname></nickname> <usageid>888</usageid> </capexsubscriberidlist> Sürüm: 2.16 Tarih: 25/12/2012 Kod: CAPABILITY_EXPOSURE_PLATFORM_API Sayfa: 106 / 337
<sendername></sendername> <senderaddress>131971</senderaddress> <message>hi</message> <clientcorrelator></clientcorrelator> <notifyurl></notifyurl> <messagetype></messagetype> <receiptrequest></receiptrequest> <requestchannel></requestchannel> </v2:sendsms> </soapenv:body> </soapenv:envelope> Örnek Soap Cevap: <soapenv:envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/"> <soapenv:body> <ns:sendsmsresponse xmlns:ns="http://v2.soap.sms.capabilityexposure.services.oksijen.com"> <return> <resultcode>0</resultcode> <resultdesc>success</resultdesc> <variables xsi:nil="true" xmlns:xsi="http://www.w3.org/2001/xmlschemainstance"/> <capexsubscriberidlist> <enduserid>tel:+90542xxxxxxx</enduserid> <nickname/> <usageid>888</usageid> </capexsubscriberidlist> <requestid>sdf113384816371</requestid> </return> </ns:sendsmsresponse> </soapenv:body> </soapenv:envelope> Sürüm: 2.16 Tarih: 25/12/2012 Kod: CAPABILITY_EXPOSURE_PLATFORM_API Sayfa: 107 / 337
4.2. Ücretlendirerek SMS gönderimi Ücret bilgisi de eklenerek sms gönderilir. Sms gönderim ücreti dışında bir de içerik ücretlendirmesi yapılır. Abone onayı kullanımında Mesaj başına Ücret bilgisi (amount) SOAP ta BigDecimal formatında olduğundan String ten BigDecimal e dönüştürülmesi önerilir. Diğer Java tiplerinden dönüşüm yapıldığında Java kaynaklı sorun oluşabilir, bkz. http://docs.oracle.com/javase/1.5.0/docs/api/java/math/bigdecimal.html#bigdecimal(double). İstek Parametreleri Adı Veri Tipi Zorunlu Açıklama restsmsoutboun drequestparame ters RestSmsOutboundRe questparameters E Sms gönderilirken kullanılacak parametreler. RestSmsOutboundRequestParameters Parametre Veri Tipi Zorunlu Size Açıklama senderaddress String E 2.7.3'te açiklanmistir. restcapexsubscriberid List<RestCapexSubscriberId> E 50 adres alabilir Uygulamanın SenderAddress i, PathParam olarak verilir Kısa emsaj gönderilecek olan abonenin RestCapexSubscriberId si, FormParam olarak verilir. message String E 1532 byte SMS ile gönderilecek olan mesaj içeriği, FormParam olarak verilir. senderaddress String E 2.7.3'te açiklanmistir. Uygulamanın SenderAddress i, FormParam olarak verilir. clientcorrelator String H 30 byte Ardarda birden fazla istek yapılmasını önler, FormParam olarak verilir. notifyurl String H 512 byte Gelen iletim raporlarını uygulamaya iletmek için Sürüm: 2.16 Tarih: 25/12/2012 Kod: CAPABILITY_EXPOSURE_PLATFORM_API Sayfa: 108 / 337
kullanılacak olan URL'dir, FormParam olarak verilir. sendername String H - Uygulamanın SenderName i, FormParam olarak verilir. receiptrequest Boolean H - İletim raporu talep edilip edilmediğini ifade eder, varsayılan değeri false'dur.formparam olarak verilir. messagetype String H - Mesajın tipini ifade eder, FormParam olarak verilir. description String E 20 byte Ücretlendirme sebebi/açıklaması, olarak verilir. FormParam code String E 20 byte Ücretlendirmede kullanılacak olan kod, FormParam olarak verilir. amount Double E - Kullanıcının ücretlindirileceği miktar, FormParam olarak verilir. currency String H 3 byte Ücretlendirmede kullanılacak olan para birimi.(try) FormParam olarak verilir. requestchannel String H 3 byte Default SMS Dönüş Değerleri Parametre Veri Tipi Açıklama requestid String Başarılı ise requestid, hata durumlarında ERROR dönülür. Error information String Sorgu sonucunun başarısız olduğu durumda dönülür Error messageid String Sorgu başarısıza hata kodunu içerir Sürüm: 2.16 Tarih: 25/12/2012 Kod: CAPABILITY_EXPOSURE_PLATFORM_API Sayfa: 109 / 337
Error text String Hata açıklaması yer alır. restcapexsubscriberid List<RestCapexSubscriberId> Uygulamada kullanılan subscriber id sinin listesidir. 4.2.1. REST Arayüzü Rest URL: http://127.0.0.1:8000/2/0/smsmessaging/outbound/{senderaddress}/requests/sendandcharge Örnek Rest İstek POST http://127.0.0.1:8000/2/0/smsmessaging/outbound/131971/requests/sendandcharge HTTP/1.1 Accept-Encoding: gzip,deflate Content-Type: application/json Authorization: Basic c3vsdgfuqdewmdawmdawnji6u3vsdgfumzu= serviceid: :1001000162 User-Agent: Jakarta Commons-HttpClient/3.1 Host: 127.0.0.1:8000 Content-Length: 497 { "restsmsoutboundparameters": {"restcapexsubscriberid":[{"enduserid":"tel:+90542xxxxxxx","nickname":"","usageid":3},{"e nduserid":"tel:+90542xxxxxxx","nickname":"","usageid":59}],"message":"hi","senderaddressp aram":"131971","notifyurl":"https://172.28.138.59:9443/deneme/myservlet","sendername":"su ltan","receiptrequestparam":"true","messagetype":"","requestchannel":"web"}, "restsmsoutboundchargeinfo": {"chargedescription":"heyy","code":"3333","amount":"2","currency":"try"} } Örnek Rest Cevap: HTTP/1.1 201 Created Content-Type: application/json Location: http://127.0.0.1:8000/2/0/smsmessaging/outbound/131971/requests/sendandcharge/sdf11339136 6721 Content-Length: 268 Server: Jetty(6.1.25) { Sürüm: 2.16 Tarih: 25/12/2012 Kod: CAPABILITY_EXPOSURE_PLATFORM_API Sayfa: 110 / 337
"restcapexsubscriberidlist": [ ], }, } { "usageid": 3, "nickname": "", "enduserid": "tel:+90542xxxxxxx" { "usageid": 59, "nickname": "", "enduserid": "tel:+90542xxxxxxx" "resourcereference": {"resourceurl": "developer.vodafone.com/2/0/smsmessaging/outbound/131971/requests/sdf113391366721"} } 4.2.2. SOAP Arayüzü Örnek Soap İstek <soapenv:envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:v2="http://v2.soap.sms.capabilityexposure.services.oksijen.com"> <soapenv:header> <v2:authentication v2:user="user@1000000062" v2:password="password" v2:sessionid="" v2:serviceid=":1001000162"/> </soapenv:header> <soapenv:body> <v2:sendsmswithcharge> <!--1 or more repetitions:--> <capexsubscriberidlist> <enduserid>tel:+90542xxxxxxx</enduserid> <nickname></nickname> <usageid>56</usageid> </capexsubscriberidlist> Sürüm: 2.16 Tarih: 25/12/2012 Kod: CAPABILITY_EXPOSURE_PLATFORM_API Sayfa: 111 / 337
<sendername></sendername> <senderaddress>131971</senderaddress> <charging> <!--1 or more repetitions:--> <description>seli</description> <currency>try</currency> <amount>2</amount> <code>3333</code> </charging> <message>sms mt charge</message> <clientcorrelator></clientcorrelator> <notifyurl>http://172.28.138.168:8088/mocksmsnotificationv2astaskservicesoap11binding</no tifyurl> <messagetype></messagetype> <receiptrequest>true</receiptrequest> <requestchannel>web</requestchannel> </v2:sendsmswithcharge> </soapenv:body> </soapenv:envelope> </soapenv:envelope>örnek Soap Cevap: <soapenv:envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/"> <soapenv:body> <ns:sendsmswithchargeresponse xmlns:ns="http://v2.soap.sms.capabilityexposure.services.oksijen.com"> <return> <resultcode>0</resultcode> <resultdesc>success</resultdesc> Sürüm: 2.16 Tarih: 25/12/2012 Kod: CAPABILITY_EXPOSURE_PLATFORM_API Sayfa: 112 / 337
<variables xsi:nil="true" xmlns:xsi="http://www.w3.org/2001/xmlschemainstance"/> <capexsubscriberidlist> <enduserid>tel:+90542xxxxxxx</enduserid> <nickname/> <usageid>56</usageid> </capexsubscriberidlist> <requestid>sdf113391321451</requestid> </return> </ns:sendsmswithchargeresponse> </soapenv:body> </soapenv:envelope> 4.3. Wap Push Gönderimi (OneAPI yöntemi) WapPush olarak gönderilecek olan URL'i ayrıca belirterek WapPush atılabilir. Uygulama iletim raporu isteyip istemediğini de belirtebilir. Aynı anda birden fazla kullanıcıya aynı Wappush'u göndermek mümkündür. İstek Parametreleri Adı Veri Tipi Zorunlu Açıklama restsmsoutboun dwappushparam eters RestSmsOutboundW appushparameters E Wappush gönderilirken kullanılacak parametreler. RestSmsOutboundWappushParameters Parametre Veri Tipi Zorunlu Size Açıklama senderaddress String E 2.7.3'te açiklanmistir. Uygulamanın PathParam olarak verilir SenderAddress i, restcapexsubscriberid List< RestCapexSubscriberId > E Max. 50 adres alabilir. WapPush gönderilmek istenen abonenin RestCapexSubscriberId si message String E 1532 byte WapPush ile gönderilecek olan mesaj içeriği Sürüm: 2.16 Tarih: 25/12/2012 Kod: CAPABILITY_EXPOSURE_PLATFORM_API Sayfa: 113 / 337
senderaddress String E 2.7.3'te açiklanmistir. Uygulamanın FormParam olarak verilir. SenderAddress i, clientcorrelator String H 30 byte Ardarda birden fazla istek yapılmasını önler notifyurl String H 512 byte Gelen iletim raporlarını uygulamaya iletmek için kullanılacak olan URL'dir sendername String H - Uygulamanın SenderName i, alphanumeric bir değerdir wappushurl String E 1532 byte wappush'un içerdigi URL'dir receiptrequest String H 3 byte Default SMS Dönüş Değerleri Parametre Veri Tipi Açıklama requestid String Abonenin cevabını eşleştirmek için Id donulur, hata durumlarında ERROR dönülür. Error information String Sorgu sonucunun başarısız olduğu durumda dönülür Error messageid String Sorgu başarısıza hata kodunu içerir Error text String Hata açıklaması yer alır. restcapexsubscriberid List<RestCapexSubscriberId> Uygulamada kullanılan subscriber id sinin listesidir. 4.3.1. REST Arayüzü Rest URL http://127.0.0.1:8000/2/0/smsmessaging/outbound/{senderaddress}/requests/wappush Örnek Rest İstek POST http://127.0.0.1:8000/2/0/smsmessaging/outbound/131971/requests/wappush HTTP/1.1 Accept-Encoding: gzip,deflate Content-Type: application/json Authorization: Basic c3vsdgfuqdewmdawmdawnji6u3vsdgfumzu= Sürüm: 2.16 Tarih: 25/12/2012 Kod: CAPABILITY_EXPOSURE_PLATFORM_API Sayfa: 114 / 337
serviceid: :1001000162 User-Agent: Jakarta Commons-HttpClient/3.1 Host: 127.0.0.1:8000 Content-Length: 513 {"restcapexsubscriberid":[{"enduserid":"tel:+90542xxxxxxx","nickname":"","usageid":473},{ "enduserid":"tel:+90542xxxxxxx","nickname":"","usageid":579}],"message":"hi","senderaddre ssparam":"131971","clientcorrelator":"41872694","notifyurl":"https://172.28.138.59:9443/d eneme/myservlet","sendername":"vodafone","receiptrequest":"true","requestchannel":"web"} Örnek Rest Cevap: HTTP/1.1 201 Created Content-Type: application/json Location: http://127.0.0.1:8000/2/0/smsmessaging/outbound/131971/requests/sdf113391362991 Content-Length: 268 Server: Jetty(6.1.25) { "restcapexsubscriberidlist": [ ], }, } { "usageid": 473, "nickname": "", "enduserid": "tel:+90542xxxxxxx" { "usageid": 579, "nickname": "", "enduserid": "tel:+90542xxxxxxx" "resourcereference": {"resourceurl": "developer.vodafone.com/2/0/smsmessaging/outbound/131971/requests/wappush/sdf113391362991 "} } Sürüm: 2.16 Tarih: 25/12/2012 Kod: CAPABILITY_EXPOSURE_PLATFORM_API Sayfa: 115 / 337
4.3.2. SOAP Arayüzü Örnek Soap İstek <soapenv:envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:v2="http://v2.soap.sms.capabilityexposure.services.oksijen.com"> <soapenv:header> <v2:authentication v2:user="user@1000000062" v2:password="password" v2:sessionid="" v2:serviceid=":1001000162"/> </soapenv:header> <soapenv:body> <v2:sendwappush> <!--1 or more repetitions:--> <capexsubscriberidlist> <enduserid>tel:+90542xxxxxxx</enduserid> <nickname></nickname> <usageid></usageid> </capexsubscriberidlist> <sendername></sendername> <senderaddress>131971</senderaddress> <wappushurl>http://bla.com</wappushurl> <message>wappush</message> <clientcorrelator></clientcorrelator> <notifyurl></notifyurl> <messagetype></messagetype> <receiptrequest>true</receiptrequest> <requestchannel>web</requestchannel> </v2:sendwappush> </soapenv:body> </soapenv:envelope> Sürüm: 2.16 Tarih: 25/12/2012 Kod: CAPABILITY_EXPOSURE_PLATFORM_API Sayfa: 116 / 337
Örnek Soap Cevap: <soapenv:envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/"> <soapenv:body> <ns:sendwappushresponse xmlns:ns="http://v2.soap.sms.capabilityexposure.services.oksijen.com"> <return> <resultcode>0</resultcode> <resultdesc>success</resultdesc> <variables xsi:nil="true" xmlns:xsi="http://www.w3.org/2001/xmlschemainstance"/> <capexsubscriberidlist> <enduserid>tel:+90542xxxxxxx</enduserid> <nickname/> <usageid>12743</usageid> </capexsubscriberidlist> <requestid>sdf113391335911</requestid> </return> </ns:sendwappushresponse> </soapenv:body> </soapenv:envelope> 4.4. Ücretlendirerek Wap Push gönderimi WapPush olarak gönderilecek olan URL'i ayrıca belirterek WapPush atılabilir. Ücret bilgisi de eklenerek WapPush gönderilebilir, böylece kullanıcı almış olduğu WapPush mesajının içeriği için de ücretlendirilimiş olur. Ücret bilgisi (amount) SOAP ta BigDecimal formatında olduğundan String ten BigDecimal e dönüştürülmesi önerilir. Diğer Java tiplerinden dönüşüm yapıldığında Java kaynaklı sorun oluşabilir, bkz. http://docs.oracle.com/javase/1.5.0/docs/api/java/math/bigdecimal.html#bigdecimal(double). İstek Parametreleri Adı Veri Tipi Zorunlu Açıklama restsmsoutboun dwappushreque RestSmsOutboundW appushrequestpara E Wappush gönderilirken kullanılacak parametreler. Sürüm: 2.16 Tarih: 25/12/2012 Kod: CAPABILITY_EXPOSURE_PLATFORM_API Sayfa: 117 / 337
stparameters meters RestSmsOutboundWappushRequestParameters Parametre Veri Tipi Zorunlu mu?(e/h) Size Açıklama senderaddress String E 2.7.3'te açiklanmistir. Uygulamanın SenderAddress i, PathParam olarak verilir restcapexsubscriberid List<RestCapexSubscriberId > E 50 adres alabilir. WapPush gönderilmek istenen abonenin RestCapexSubscriberId si message String E 1532 byte WapPush ile gönderilecek olan mesaj içeriği senderaddress String E 2.7.3'te açiklanmistir. Uygulamanın SenderAddress i, FormParam olarak verilir. clientcorrelator String H 30 byte Ardarda birden fazla istek yapılmasını önler notifyurl String H 512 byte Gelen iletim raporlarını uygulamaya iletmek için kullanılacak olan URL'dir sendername String H - Uygulamanın SenderName i, alphanumeric bir değerdir wappushurl String E 1532 byte wappush'un içerdigi URL'dir receiptrequest Boolean E - İletim raporu talep edilip edilmediğini ifade eder, varsayılan değeri false'dur. description String E 20 byte Ücretlendirme sebebi/açıklaması code String H 20 byte Ücretlendirmede kullanılacak olan kod amount Double E - Kullanıcının ücretlindirileceği miktar Sürüm: 2.16 Tarih: 25/12/2012 Kod: CAPABILITY_EXPOSURE_PLATFORM_API Sayfa: 118 / 337
currency String H 3 byte Ücretlendirmede kullanılacak olan para birimi, TRY requestchannel String H 3 byte Default SMS Dönüş Değerleri Parametre Veri Tipi Açıklama requestid String Abonenin cevabını eşleştirmek için Id donulur, hata durumlarında ERROR dönülür. Error information String Sorgu sonucunun başarısız olduğu durumda dönülür Error messageid String Sorgu başarısıza hata kodunu içerir Error text String Hata açıklaması yer alır restcapexsubscriberidlist List<RestCapexSubscriberId> Uygulamada kullanılan subscriber id sinin listesidir. 4.4.1. REST Arayüzü Rest URL http://127.0.0.1:8000/2/0/smsmessaging/outbound/{senderaddress}/requests/wappush/sendand Charge Örnek Rest İstek POST http://127.0.0.1:8000/2/0/smsmessaging/outbound/131971/requests/sendandcharge HTTP/1.1 Accept-Encoding: gzip,deflate Content-Type: application/json Authorization: Basic c3vsdgfuqdewmdawmdawnji6u3vsdgfumzu= serviceid: :1001000162 User-Agent: Jakarta Commons-HttpClient/3.1 Host: 127.0.0.1:8000 Content-Length: 497 Sürüm: 2.16 Tarih: 25/12/2012 Kod: CAPABILITY_EXPOSURE_PLATFORM_API Sayfa: 119 / 337
{ "restsmsoutboundwappushparameters": {"restcapexsubscriberid":[{"enduserid":"tel:+90542xxxxxxx","nickname":"","usageid":3},{"e nduserid":"tel:+90542xxxxxxx","nickname":"","usageid":59}],"message":"haydaa","senderaddr essparam":"131971","notifyurl":"https://172.28.138.59:9443/deneme/myservlet","sendername" :"vodafone","receiptrequest":"true","requestchannel":"web"}, "restsmsoutboundwappushcharginginfoparameters": {"chargedescription":"heyy","code":"3333","amount":"2","currency":"try"} } Örnek Rest Cevap: HTTP/1.1 201 Created Content-Type: application/json Location: http://127.0.0.1:8000/2/0/smsmessaging/outbound/131971/requests/sendandcharge/sdf11339136 6721 Content-Length: 268 Server: Jetty(6.1.25) { "restcapexsubscriberidlist": [ ], }, } { "usageid": 3, "nickname": "", "enduserid": "tel:+90542xxxxxxx" { "usageid": 59, "nickname": "", "enduserid": "tel:+90542xxxxxxx" "resourcereference": {"resourceurl": "developer.vodafone.com/2/0/smsmessaging/outbound/131971/requests/sdf113391366721"} } Sürüm: 2.16 Tarih: 25/12/2012 Kod: CAPABILITY_EXPOSURE_PLATFORM_API Sayfa: 120 / 337
4.4.2. SOAP Arayüzü Örnek Soap İstek <soapenv:envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:v2="http://v2.soap.sms.capabilityexposure.services.oksijen.com"> <soapenv:header> <v2:authentication v2:user="sultan@1000000062" v2:password="password" v2:sessionid="" v2:serviceid=":1001000162"/> </soapenv:header> <soapenv:body> <v2:sendwappushwithcharge> <!--1 or more repetitions:--> <capexsubscriberidlist> <enduserid>tel:+90542xxxxxxx</enduserid> <nickname></nickname> <usageid>574</usageid> </capexsubscriberidlist> <sendername></sendername> <charging> <!--1 or more repetitions:--> <description></description> <currency></currency> <amount></amount> <code></code> </charging> <message>hi</message> <receiptrequest></receiptrequest> <senderaddress>131971</senderaddress> Sürüm: 2.16 Tarih: 25/12/2012 Kod: CAPABILITY_EXPOSURE_PLATFORM_API Sayfa: 121 / 337
<clientcorrelator>corre</clientcorrelator> <notifyurl></notifyurl> <messagetype></messagetype> <wappushurl>http://localhost</wappushurl> <requestchannel></requestchannel> </v2:sendwappushwithcharge> </soapenv:body> </soapenv:envelope> </soapenv:envelope> Örnek Soap Cevap: <soapenv:envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/"> <soapenv:body> <ns:sendwappushwithchargeresponse xmlns:ns="http://v2.soap.sms.capabilityexposure.services.oksijen.com"> <return> <resultcode>0</resultcode> <resultdesc>success</resultdesc> <variables xsi:nil="true" xmlns:xsi="http://www.w3.org/2001/xmlschemainstance"/> <capexsubscriberidlist> <enduserid>tel:+90542xxxxxxx</enduserid> <nickname/> <usageid>574</usageid> </capexsubscriberidlist> <requestid>sdf113384827901</requestid> </return> </ns:sendwappushwithchargeresponse> </soapenv:body> </soapenv:envelope> 4.5. İletim Raporları Alımı Atılmış olan SMSlerin iletim raporları sorgulanablir. Sürüm: 2.16 Tarih: 25/12/2012 Kod: CAPABILITY_EXPOSURE_PLATFORM_API Sayfa: 122 / 337
İstek Parametereleri Parametre Veri Tipi Zorunlu Size Açıklama senderaddress String E 2.7.3'te açiklanmistir. Uygulamanın SenderAddress'i, PathParam olarak verilir requestidentifier String E 30 byte sendsms veya sendwappush sonucu uygulamaya dönülen requestid, PathParam olarak verilir. Dönüş Değerleri Parametre Veri Tipi Açıklama deliveryinfo List<RestDeli veryinfo> Başarılı ise Mesajların listesi dönülür, hata durumlarında ERROR dönülür. resourceurl String Bu mesajın referans URL'ini belirtir, uygulama mesajın durumunu bu linkten takip edebilir. Alındı Bilgisi (Delivery Info) Parametre Veri Tipi Açıklama address String Mesajın gönderilmiş olduğu son kullanıcınnın EndUserId sidir. deliverystatus String Mesajın iletilip iletilmediğini gösteren durumunu ifade eder deliveryreasoncode Integer Mesajın iletilememsi durumunda sorunun sebebini belirtir,başarılı ise değeri sıfır. usageid Long UsageId bilgisidir. 4.5.1. REST Arayüzü Rest URL: http://127.0.0.1:8000/2/0/smsmessaging/outbound/{senderaddress}/requests/{requestidentifier}/d eliveryinfos Sürüm: 2.16 Tarih: 25/12/2012 Kod: CAPABILITY_EXPOSURE_PLATFORM_API Sayfa: 123 / 337
Örnek Rest İstek GET http://127.0.0.1:8000/2/0/smsmessaging/outbound/131971/requests/sdf113385454451/deliveryi nfos HTTP/1.1 Accept-Encoding: gzip,deflate Authorization: Basic c3vsdgfuqdewmdawmdawnji6u3vsdgfumzu= serviceid: :1001000162 User-Agent: Jakarta Commons-HttpClient/3.1 Host: 127.0.0.1:8000 Örnek Rest Cevap: HTTP/1.1 200 OK Content-Type: application/json Content-Length: 364 Server: Jetty(6.1.25) {"deliveryinfolist": { "resourceurl": "developer.vodafone.com/2/0/smsmessaging/outbound/131971/requests/sdf113391366721/deliver yinfos", }} "deliveryinfo": [ ] }, } { "address": "tel:+90542xxxxxxx", "deliverystatus": "DeliveredToTerminal", "usageid": 3, "deliveryreasoncode": 0 { "address": "tel:+90542xxxxxxx", "deliverystatus": "DeliveredToTerminal", "usageid": 59, "deliveryreasoncode": 0 Sürüm: 2.16 Tarih: 25/12/2012 Kod: CAPABILITY_EXPOSURE_PLATFORM_API Sayfa: 124 / 337
4.5.2. SOAP Arayüzü Örnek Soap İstek <soapenv:envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:v2="http://v2.soap.sms.capabilityexposure.services.oksijen.com"> <soapenv:header> <v2:authentication v2:user="user@1000000062" v2:password="password" v2:sessionid="" v2:serviceid=":1001000162"/> </soapenv:header> <soapenv:body> <v2:getsmsdeliverystatus> <requestidentifier>sdf113391321451</requestidentifier> <senderaddress>131971</senderaddress> </v2:getsmsdeliverystatus> </soapenv:body> </soapenv:envelope> Örnek Soap Cevap: <soapenv:envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/"> <soapenv:body> <ns:getsmsdeliverystatusresponse xmlns:ns="http://v2.soap.sms.capabilityexposure.services.oksijen.com"> <return> <resultcode>0</resultcode> <resultdesc>success</resultdesc> <variables xsi:nil="true" xmlns:xsi="http://www.w3.org/2001/xmlschemainstance"/> <deliveryinformationlist> <address>tel:+90542xxxxxxx</address> <chargereferencecode>2389206</chargereferencecode> <deliveryreasoncode>0</deliveryreasoncode> <deliverystatus>deliveredtoterminal</deliverystatus> <usageid>56</usageid> Sürüm: 2.16 Tarih: 25/12/2012 Kod: CAPABILITY_EXPOSURE_PLATFORM_API Sayfa: 125 / 337
</deliveryinformationlist> </return> </ns:getsmsdeliverystatusresponse> </soapenv:body> </soapenv:envelope> 4.6. İletim Raporları Alımını Başlatma Uygulama iletim raporları için kendi URL'ini kayıt ettirir. Eğer SMS gönderirken herhangi bir notifyurl verilmezse, iletim raporu geldiğinde uygulamanın kayıt ettirmiş olduğu bu notifyurl kullanılarak onay mesajının cevabı uygulamaya iletilir. İstek Parametereleri Parametre Veri Tipi Zorunlu Açıklama senderaddress String E Uygulamanın SenderAddress i, PathParam olarak verilir notifyurl String E İletim raporlarını uygulamaya çıkabilmek için URLdir, FormParam olarak verilir. callbackdata String H Uygulamanın kaydolurken eklediği, cevabı dönerken aynen cevabın içine eklememmizi beklediği bir veridir, FormParam olarak verilir. clientcorrelator String H İki kez ardarda aynı isteği yapmayı engeller, FormParam olarak verilir. usageid Long E UsageId bilgisidir. Dönüş Değerleri Parametre Veri Tipi Açıklama subscriptionid long Başarılı ise kaydolduğı Id dönülür, hata durumlarında ERROR dönülür. Error information String Sorgu sonucunun başarısız olduğu durumda dönülür Sürüm: 2.16 Tarih: 25/12/2012 Kod: CAPABILITY_EXPOSURE_PLATFORM_API Sayfa: 126 / 337
Error messageid String Sorgu başarısızsa hata kodunu içerir Error text String Hata açıklaması yer alır usageid Long UsageId bilgisidir. 4.6.1. REST Arayüzü Rest URL: http://127.0.0.1:8000/2/0/smsmessaging/outbound/{senderaddress}/subscriptions Örnek Rest İstek POST http://127.0.0.1:8000/2/0/smsmessaging/outbound/131971/subscriptions HTTP/1.1 Accept-Encoding: gzip,deflate Content-Type: application/x-www-form-urlencoded Authorization: Basic c3vsdgfuqdewmdawmdawnji6u3vsdgfumzu= serviceid: :1001000162 User-Agent: Jakarta Commons-HttpClient/3.1 Host: 127.0.0.1:8000 Content-Length: 53 notifyurl=https://172.28.138.59:9443/deneme/myservlet Örnek Rest Cevap: FAIL HTTP/1.1 400 Bad Request Content-Type: application/json Transfer-Encoding: chunked Server: Jetty(6.1.25) { "policyexception": null, "serviceexception": { "messageid": "SVC0001", "text": "A service error occurred. Error code is %1", "variables": "69:Invalid url.", usageid :85 Sürüm: 2.16 Tarih: 25/12/2012 Kod: CAPABILITY_EXPOSURE_PLATFORM_API Sayfa: 127 / 337
} } SUCCESS HTTP/1.1 201 Created Content-Type: application/json Location: http://127.0.0.1:8000/2/0/smsmessaging/outbound/131971/subscriptions/sdf113391372531 Content-Length: 241 Server: Jetty(6.1.25) { "usageid": 12748, "deliveryreceiptsubscription": { "resourceurl": "developer.vodafone.com/2/0/smsmessaging/outbound/subscriptions/sdf113391372531", } } "callbackreference": { } "callbackdata": null, "notifyurl": "https://172.28.138.59:9443/deneme/myservlet" 4.6.2. SOAP Arayüzü Örnek Soap İstek <soapenv:envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:v2="http://v2.soap.sms.capabilityexposure.services.oksijen.com"> <soapenv:header> <v2:authentication v2:user="user@1000000062" v2:password="password" v2:sessionid="" v2:serviceid=":1001000162"/> </soapenv:header> <soapenv:body> <v2:startdeliveryreceiptnotification> Sürüm: 2.16 Tarih: 25/12/2012 Kod: CAPABILITY_EXPOSURE_PLATFORM_API Sayfa: 128 / 337
<usageid>4546</usageid><clientcorrelator xsi:nil="true" xmlns:xsi="http://www.w3.org/2001/xmlschema-instance"/> <callbackdata xsi:nil="true" xmlns:xsi="http://www.w3.org/2001/xmlschemainstance"/> <notifyurl>http://172.28.138.168:8088/mocksmsnotificationv2astaskservicesoap11binding</no tifyurl> <senderaddress>131971</senderaddress> </v2:startdeliveryreceiptnotification> </soapenv:body> </soapenv:envelope> Örnek Soap Cevap: FAIL <soapenv:envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/"> <soapenv:body> <ns:startdeliveryreceiptnotificationresponse xmlns:ns="http://soap.sms.capabilityexposure.services.oksijen.com"> <return> <resultcode>78</resultcode> <resultdesc>duplicate subscription. Subscription exists with id %1</resultDesc> <variables>sdf113261023062</variables> <id xsi:nil="true" xmlns:xsi="http://www.w3.org/2001/xmlschema-instance"/> <usageid>4546</usageid> </return> </ns:startdeliveryreceiptnotificationresponse> </soapenv:body> </soapenv:envelope> SUCCESS <soapenv:envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/"> <soapenv:body> <ns:startdeliveryreceiptnotificationresponse xmlns:ns="http://v2.soap.sms.capabilityexposure.services.oksijen.com"> <return> <resultcode>0</resultcode> <resultdesc>success</resultdesc> Sürüm: 2.16 Tarih: 25/12/2012 Kod: CAPABILITY_EXPOSURE_PLATFORM_API Sayfa: 129 / 337
<variables xsi:nil="true" xmlns:xsi="http://www.w3.org/2001/xmlschemainstance"/> <id>sdf113391330301</id> <usageid>4546</usageid> </return> </ns:startdeliveryreceiptnotificationresponse> </soapenv:body> </soapenv:envelope> 4.7. İletim Raporları Alımını Durdurma Uygulama iletim raporları için daha önce kaydettirmiş olduğu URL'i iptal ettirebilir. İptal ettirebilmesi için kaydolurken uygulamaya dönülen "subscriptionid" ile uygulama iptal isteği gönderilmelidir. İstek Parametereleri Parametre Veri Tipi Zorunlu Size Açıklama subsid String E 30 byte İletim raporları için kayıt yaptırırken uygulamaya dönülmüş olan subscriptionid usageid Long E UsageId bilgisidir. Dönüş Değerleri Parametre Veri Tipi Açıklama usageid Long UsageId bilgisidir. 4.7.1. REST Arayüzü Rest URL: http://127.0.0.1.8000/2/0/smsmessaging/outbound/subscriptions/{subsid} Sürüm: 2.16 Tarih: 25/12/2012 Kod: CAPABILITY_EXPOSURE_PLATFORM_API Sayfa: 130 / 337
Örnek Rest İstek DELETE http://127.0.0.1:8000/2/0/smsmessaging/outbound/subscriptions/sdf113391372531?usageid=34 HTTP/1.1 Accept-Encoding: gzip,deflate Authorization: Basic c3vsdgfuqdewmdawmdawnji6u3vsdgfumzu= serviceid: :1001000162 User-Agent: Jakarta Commons-HttpClient/3.1 Host: 127.0.0.1:8000 Örnek Rest Cevap: HTTP/1.1 200 OK Content-Type: application/json Content-Length: 14 Server: Jetty(6.1.25) {"usageid":34} 4.7.2. SOAP Arayüzü Örnek Soap İstek <soapenv:envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:v2="http://v2.soap.sms.capabilityexposure.services.oksijen.com"> <soapenv:header> <v2:authentication v2:user="user@1000000062" v2:password="password" v2:sessionid="" v2:serviceid=":1001000162"/> </soapenv:header> <soapenv:body> <v2:stopdeliveryreceiptnotification> <subsid>sdf113391330301</subsid> <usageid>23</usageid> </v2:stopdeliveryreceiptnotification> </soapenv:body> </soapenv:envelope> Sürüm: 2.16 Tarih: 25/12/2012 Kod: CAPABILITY_EXPOSURE_PLATFORM_API Sayfa: 131 / 337
Örnek Soap Cevap: <soapenv:envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/"> <soapenv:body> <ns:stopdeliveryreceiptnotificationresponse xmlns:ns="http://v2.soap.sms.capabilityexposure.services.oksijen.com"> <return> <resultcode>0</resultcode> <resultdesc>success</resultdesc> <variables xsi:nil="true" xmlns:xsi="http://www.w3.org/2001/xmlschemainstance"/> <usageid>23</usageid> </return> </ns:stopdeliveryreceiptnotificationresponse> </soapenv:body> </soapenv:envelope> 4.8. İletim Raporu İtme Uygulamanın kendisine gelen iletim raporlarını alabilmesi için sağlaması gereken servistir. Rest yada Soap olabilir. Soap Wsdl'i SmsNotificationV2.wsdl olarak attachments altında bulunabilir. Örnek Rest İstek: POST http://3rdpartyservice:6666/getsmsdelivery HTTP/1.1 Accept-Encoding: gzip,deflate User-Agent: Jakarta Commons-HttpClient/3.1 Host: localhost:8000 Content-Length: 116 Content-Type: application/json { "deliveryinfonotification": { "callbackdata": "ExamplecallbackDt", "deliveryinfo": { "address": "tel:+90542xxxxxxx", "deliverystatus":"deliveryimpossible", Sürüm: 2.16 Tarih: 25/12/2012 Kod: CAPABILITY_EXPOSURE_PLATFORM_API Sayfa: 132 / 337
"deliveryreasoncode": "150", usageid :35} } } } Örnek Soap İstek: <?xml version="1.0"?> <S:Envelope xmlns:s="http://schemas.xmlsoap.org/soap/envelope/"> <S:Body> <ns2:notifydeliveryreceipt xmlns:ns2="http://soap.notification.sms.capabilityexposure.services.oksijen.com"> <messageid>sdf113264388841</messageid> <deliverystatus> <address>tel:+90542xxxxxxx</address> <deliverystatus>deliveredtoterminal</deliverystatus> <deliveryreasoncode>0</deliveryreasoncode> <usageid>35</usageid> </deliverystatus> </ns2:notifydeliveryreceipt> </S:Body> </S:Envelope> 4.9. SMS Mesajını Alma Son kullanıcıdan gelen SMSleri uygulamaya çıkarır. Eğer kaydolmuş bir URL mevcut ise her gelen iletim raporu uygulamaya push edilir. Eğer istek sonucu başarısız ise kullanıcıya başarısız olma sebebini açıklayan bir sonuç döner. İstek Parametereleri Parametre Veri Tipi Zorunlu Size Açıklama registrationid String E 30 byte Uygulamanın RegistrationId i. PathParam olarak verilir maxbatchsize int E - Uygulama bir kerede dönülecek maximum mesaj miktarını belirtir, QueryParam olarak verilir. Sürüm: 2.16 Tarih: 25/12/2012 Kod: CAPABILITY_EXPOSURE_PLATFORM_API Sayfa: 133 / 337
Dönüş Değerleri Parametre Veri Tipi Açıklama inboundsmsmessage List<RestInboundSMSMessage> Başarılı ise Mesajların listesi dönülür, hata durumlarında ERROR dönülür. numberofmessagesinthisbatch int Başarılı ise üstteki listenin içinde kaç mesaj olduğu dönülür, hata durumlarında ERROR dönülür. totalnumberofpendingmessages int Başarılı ise geriye kalan mesajların sayısı dönülür, hata durumlarında ERROR dönülür. resourceurl String Mesajlara ulaşılabilecek URL (rest için geçerli) Error information String Sorgu sonucunun başarısız olduğu durumda dönülür Error messageid String Sorgu başarısızsa hata kodunu içerir Error text String Hata açıklaması yer alır. Inbound SMS Message Tipi Parametre Veri Tipi Açıklama datetime long İsteğin yapıldığı tarih message String Mesaj içeriği messageid long Mesaj Id senderaddress String Onay isteğinde bulunan uygulamanın(kullanıcının) adresi resourceurl String Bu mesaja ait URL (rest için geçerli) restcapexsubscriberid RestCapexSubscriberId Uygulamada kullanılacak subscriber ın id sidir. Sürüm: 2.16 Tarih: 25/12/2012 Kod: CAPABILITY_EXPOSURE_PLATFORM_API Sayfa: 134 / 337
4.9.1. REST Arayüzü Rest URL: http://127.0.0.1:8000/2/0/smsmessaging/inbound/registrations/{registrationid}/messages Örnek Rest İstek GET http://localhost:8000/2/0/smsmessaging/inbound/registrations/23/messages?maxbatchsize=23 HTTP/1.1 Accept-Encoding: gzip,deflate Authorization: Basic c3vsdgfuqdewmdawmdawnji6u3vsdgfumtizna== serviceid: :2001000001 User-Agent: Jakarta Commons-HttpClient/3.1 Host: localhost:8000 Örnek Rest Cevap: HTTP/1.1 200 OK Content-Type: application/json Transfer-Encoding: chunked Server: Jetty(6.1.25) { "resourceurl":"developer.vodafone.com/2/0/smsmessaging/inbound/registrations/23/messages", "inboundsmsmessage": [ {"message":"hayri","resourceurl":"developer.vodafone.com/2/0/smsmessaging/inbound/registr ations/23/messages/sdf11318079270694", "messageid":"sdf11318079270694","senderaddress":"90543xxxxxxx","datetime":1318082074155," restcapexsubscriberid":{"enduserid":"tel:+90542xxxxxxx","nickname":"","usageid":3}}, {"message":"hayri","resourceurl":"developer.vodafone.com/1/smsmessaging/inbound/registrat ions/23/messages/sdf11318079270695", "messageid":"sdf11318079270695","senderaddress":"90543xxxxxxx","datetime":1318082083693," restcapexsubscriberid":{"enduserid":"tel:+90542xxxxxxx","nickname":"","usageid":4}}, {"message":"hayri","resourceurl":"developer.vodafone.com/1/smsmessaging/inbound/registrat ions/23/messages/sdf11318079270696", Sürüm: 2.16 Tarih: 25/12/2012 Kod: CAPABILITY_EXPOSURE_PLATFORM_API Sayfa: 135 / 337
"messageid":"sdf11318079270696","senderaddress":"90543xxxxxxx","datetime":1318082091668," restcapexsubscriberid":{"enduserid":"tel:+90542xxxxxxx","nickname":"","usageid":5}} } ], "numberofmessagesinthisbatch":3, "totalnumberofpendingmessages":0, 4.9.2. SOAP Arayüzü Örnek Soap İstek <soapenv:envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:v2="http://v2.soap.sms.capabilityexposure.services.oksijen.com"> <soapenv:header> <v2:authentication v2:user="user@companyid" v2:password="password" v2:sessionid="" v2:serviceid=":serviceid"/> </soapenv:header> <soapenv:body> <v2:getreceivedsms> <registrationid>131971</registrationid> <maxbatchsize>3</maxbatchsize> </v2:getreceivedsms> </soapenv:body> </soapenv:envelope> Örnek Soap Cevap: <soapenv:envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/"> <soapenv:body> <ns:getreceivedsmsresponse xmlns:ns="http://v2.soap.sms.capabilityexposure.services.oksijen.com"> <return> <resultcode>0</resultcode> <resultdesc>success</resultdesc> <variables xsi:nil="true" xmlns:xsi="http://www.w3.org/2001/xmlschemainstance"/> <numberofmessagesinthisbatch>1</numberofmessagesinthisbatch> <smslist> Sürüm: 2.16 Tarih: 25/12/2012 Kod: CAPABILITY_EXPOSURE_PLATFORM_API Sayfa: 136 / 337
<datetime>2012-01-10t13:00:39.000+02:00</datetime> <capexsubscriberid> <enduserid>131971</enduserid> <nickname xsi:nil="true" xmlns:xsi="http://www.w3.org/2001/xmlschemainstance"/> <usageid>12573</usageid> </capexsubscriberid> <message>send corporate</message> <messageid>sdf113261932401</messageid> <senderaddress>tel:+90542xxxxxxx</senderaddress> </smslist> <totalnumberofpendingmessages>0</totalnumberofpendingmessages> </return> </ns:getreceivedsmsresponse> </soapenv:body> </soapenv:envelope> 4.10. SMS Mesaj Alımını Başlatma Uygulama kendisine gelen SMSleri alabilmek için bir URL vererek kaydolur. Son kullanıcıdan gelen SMSler de bu URL kullanılarak uygulamaya gönderilir. İstek Parametereleri Parametre Veri Tipi Zorunlu mu?(e/h) Açıklama senderaddress String E Uygulamanın SenderAddress i, PathParam olarak verilir notifyurl String E Uygulamaya mesajları cıkabileceğimiz URLdir, FormParam olarak verilir. notificationformat String E Uygulamaya mesajları formatıdır, FormParam olarak verilir. callbackdata String H Uygulamanın kaydolurken eklediği, cevabı dönerken aynen cevabın içine eklememmizi beklediği bir veridir, FormParam olarak verilir. clientcorrelator String H İki kez ardarda aynı isteği yapmayı engeller, FormParam olarak verilir. usageid Long E UsageId bilgisidir. Sürüm: 2.16 Tarih: 25/12/2012 Kod: CAPABILITY_EXPOSURE_PLATFORM_API Sayfa: 137 / 337
Dönüş Değerleri Parametre Veri Tipi Açıklama subscriptionid String Başarılı ise kaydolduğı Id dönülür, hata durumlarında ERROR dönülür. Error information String Sorgu sonucunun başarısız olduğu durumda dönülür Error messageid String Sorgu başarısızsa hata kodunu içerir Error text String Hata açıklaması yer alır. usageid Long UsageId bilgisidir. 4.10.1. REST Arayüzü Rest URL: http://127.0.0.1:8000/2/0/smsmessaging/inbound/subscriptions Örnek Rest İstek POST http://127.0.0.1:8000/2/0/smsmessaging/inbound/subscriptions HTTP/1.1 Accept-Encoding: gzip,deflate Content-Type: application/x-www-form-urlencoded Authorization: Basic c3vsdgfuqdewmdawmdawnji6u3vsdgfumzu= serviceid: :serviceid User-Agent: Jakarta Commons-HttpClient/3.1 Host: 127.0.0.1:8000 Content-Length: 80 destinationaddress=131971¬ifyurl=https://172.28.138.59:9443/deneme/myservlet Örnek Rest Cevap: HTTP/1.1 201 Created Content-Type: application/json Location: http://127.0.0.1:8000/2/0/smsmessaging/inbound/subscriptions/sdf113389906371 Content-Length: 127 Sürüm: 2.16 Tarih: 25/12/2012 Kod: CAPABILITY_EXPOSURE_PLATFORM_API Sayfa: 138 / 337
Server: Jetty(6.1.25) { "usageid": 12544, "resourcereference": {"resourceurl": "developer.vodafone.com/2/0/messaging/inbound/subscriptions/sdf113389906371"} } } 4.10.2. SOAP Arayüzü Örnek Soap İstek <soapenv:envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:v2="http://v2.soap.sms.capabilityexposure.services.oksijen.com"> <soapenv:header> <v2:authentication v2:user="user@companyid" v2:password="password" v2:sessionid="" v2:serviceid=":serviceid"/> </soapenv:header> <soapenv:body> <v2:startsmsnotification> <clientcorrelator></clientcorrelator> <callbackdata></callbackdata> <notifyurl>http://dfdfd</notifyurl> <destinationaddress>131971</destinationaddress> <usageid>23</usageid> </v2:startsmsnotification> </soapenv:body> </soapenv:envelope> Örnek Soap Cevap: Sürüm: 2.16 Tarih: 25/12/2012 Kod: CAPABILITY_EXPOSURE_PLATFORM_API Sayfa: 139 / 337
<soapenv:envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/"> <soapenv:body> <ns:startsmsnotificationresponse xmlns:ns="http://v2.soap.sms.capabilityexposure.services.oksijen.com"> <return> <resultcode>0</resultcode> <resultdesc>success</resultdesc> <variables xsi:nil="true" xmlns:xsi="http://www.w3.org/2001/xmlschemainstance"/> <id>sdf113391310941</id> <usageid>23</usageid> </return> </ns:startsmsnotificationresponse> </soapenv:body> </soapenv:envelope> 4.11. SMS Mesaj Alımını Durdurma Uygulama, kendisine gelen mesajlar için daha önce kaydettirmiş olduğu URL'i iptal ettirebilir. İstek Parametereleri Parametre Veri Tipi Zorunlu Açıklama subsid String E Gelen mesajlar için kayıt yaptırırken uygulamaya dönülmüş olan subscriptionid usageid Long E UsageId bilgisidir. Dönüş Değerleri Parametre Veri Tipi Açıklama usageid Long UsageId bilgisidir. 4.11.1. REST Arayüzü Rest URL Sürüm: 2.16 Tarih: 25/12/2012 Kod: CAPABILITY_EXPOSURE_PLATFORM_API Sayfa: 140 / 337
http://127.0.0.1.8000/2/0/smsmessaging/inbound/subscriptions/{subsid} Örnek Rest İstek DELETE http://127.0.0.1:8000/2/0/smsmessaging/inbound/subscriptions/sdf113389906371?usageid=2334 HTTP/1.1 Accept-Encoding: gzip,deflate Authorization: Basic c3vsdgfuqdewmdawmdawnji6u3vsdgfumzu= serviceid: :serviceid User-Agent: Jakarta Commons-HttpClient/3.1 Host: 127.0.0.1:8000 Örnek Rest Cevap: HTTP/1.1 200 OK Content-Type: application/json Content-Length: 16 Server: Jetty(6.1.25) {"usageid":2334} 4.11.2. SOAP Arayüzü Örnek Soap İstek <soapenv:envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:v2="http://v2.soap.sms.capabilityexposure.services.oksijen.com"> <soapenv:header> <v2:authentication v2:user="user@companyid" v2:password="password" v2:sessionid="" v2:serviceid=":serviceid"/> </soapenv:header> <soapenv:body> <v2:stopsmsnotification> <subsid>sdf113391310941</subsid> <usageid>23</usageid> Sürüm: 2.16 Tarih: 25/12/2012 Kod: CAPABILITY_EXPOSURE_PLATFORM_API Sayfa: 141 / 337
</v2:stopsmsnotification> </soapenv:body> </soapenv:envelope> Örnek Soap Cevap: FAIL <soapenv:envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/"> <soapenv:body> <v2:stopsmsnotificationresponse xmlns:ns="http://v2.soap.sms.capabilityexposure.services.oksijen.com"> <return> <resultcode>79</resultcode> <resultdesc>subscription not found.</resultdesc> <variables xsi:nil="true" xmlns:xsi="http://www.w3.org/2001/xmlschemainstance"/> <usageid>23</usageid> </return> </v2:stopsmsnotificationresponse> </soapenv:body> </soapenv:envelope> SUCCESS <soapenv:envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/"> <soapenv:body> <ns:stopsmsnotificationresponse xmlns:ns="http://v2.soap.sms.capabilityexposure.services.oksijen.com"> <return> <resultcode>0</resultcode> <resultdesc>success</resultdesc> <variables xsi:nil="true" xmlns:xsi="http://www.w3.org/2001/xmlschemainstance"/> <usageid>23</usageid> </return> </ns:stopsmsnotificationresponse> </soapenv:body> </soapenv:envelope> Sürüm: 2.16 Tarih: 25/12/2012 Kod: CAPABILITY_EXPOSURE_PLATFORM_API Sayfa: 142 / 337
4.12. SMS Mesajı İtme Uygulamanın kendisine gelen MO smsleri alabilmesi için sağlaması gereken servistir. Rest yada Soap olabilir. Soap Wsdl'i SmsNotificationV2.wsdl olarak attachments altında bulunabilir. Örnek Rest İstek: POST http://3rdpartyservice:6666/getsms HTTP/1.1 Accept-Encoding: gzip,deflate User-Agent: Jakarta Commons-HttpClient/3.1 Host: localhost:8000 Content-Length: 116 Content-Type: application/json { "inboundmessagenotification": { "callbackdata": "ExamplecallbackDt", "inboundsmsmessage": { "datetime": "1318082074155", "messageid": "sdf232432423", "message": "Hello world", "senderaddress": "tel:+90542xxxxxxx", "destinationaddress": "2657", "usageid":12550 } } } Örnek Soap İstek: <?xml version="1.0"?> <S:Envelope xmlns:s="http://schemas.xmlsoap.org/soap/envelope/"> <S:Body> <ns2:notifymessagereception xmlns:ns2="http://v2.soap.notification.sms.capabilityexposure.services.oksijen.com"> <message> <callbackdata xmlns:xsi="http://www.w3.org/2001/xmlschema-instance" xsi:nil="true"/> <datetime>2012-01-13t09:34:53.655+02:00</datetime> Sürüm: 2.16 Tarih: 25/12/2012 Kod: CAPABILITY_EXPOSURE_PLATFORM_API Sayfa: 143 / 337
<destinationaddress>131971</destinationaddress> <message>send corporate</message> <messageid>sdf113264400931</messageid> <senderaddress>tel:+90542xxxxxxx</senderaddress> <usageid>12576</usageid> </message> </ns2:notifymessagereception> </S:Body> </S:Envelope> Sürüm: 2.16 Tarih: 25/12/2012 Kod: CAPABILITY_EXPOSURE_PLATFORM_API Sayfa: 144 / 337
5. MMS API MMS API, MMS mesajlarını göndermek ve almak için kullanılanılır. MMS gönderirken, iletim raporu istenip istenmediğini belirtilebilir. Gelen iletim raporları uygulamanın gerekli URL'i belirtmesi durumunda uygulamaya itme yöntemiyle iletilebilir. Ayrıca uygulama ileti raporlarını sorgulayabilir. Gelen iletim raporlarının uygulamaya iletilebilmesi için uygulama URL kaydı yaptırabilir. Uygulama URL kaydını silebilir. Son kullanıcının göndermiş oldugu MMS'leri uygulamaya çıkarabilir veya uygulama kendisine gelmiş olan MMS'leri sorgulayabilir. Gelen MMSlerin uygulamaya çıkarılabilmesi için uygulama URL belirterek gelen MMSler için kayıt yaptırabilir. MMS mesajinin içeriği uygulama tarafından alınabilir.(retrieve mod) Uygulama kendisine gelen MMS'leri alabilmek için belirtmiş oldugu URL kaydını silebilir. Tüm metodlar hem REST hem de SOAP kullanılarak çağırılabilir. Metod Adı REST SOAP Sağlayan Kullanan MMS Gönderimi (OneAPI yöntemi) X X CEP 3. parti servis İletim Durum Raporu alma X X CEP 3. parti servis İletim Raporları Alımını Başlatma X X CEP 3. parti servis İletim Raporları Alımını Durdurma X X CEP 3. parti servis İletim Raporunu İtme X X 3. parti servis CEP MMS Mesajını Alma X X CEP 3. parti servis MMS Mesajının Tamamını Alma X X CEP 3. parti servis MMS Mesaj İletimini Başlatma X X CEP 3. parti servis MMS Mesaj İletimini Durdurma X X CEP 3. parti servis MMS Mesajını İtme X X 3. parti servis CEP Sürüm: 2.16 Tarih: 25/12/2012 Kod: CAPABILITY_EXPOSURE_PLATFORM_API Sayfa: 145 / 337
5.1. MIME format kodlaması MMS gönderimi ve alımı için MIME formatı kullanılmaktadır. MIME format kodlama detayları şu şekildedir: MMS API'de kullanılan MIME multipart mesajı birkaç parçadan oluşur: Request icin root structure (InboundMMSMessage ya da OutboundMMSMessage), JSON ya da from url-encoded format şeklindedir. Bu kısımda adresses,subject, priority vb... gibi alanlar bulunur. Multimedya içerikler ya da eklentiler, HTTP request ya da response'da linkler şeklinde ya da MIME body parts şeklinde bulunurlar. Her birinin düz metin ya da diğer MIME tipleri şeklinde (resim, video vb...) içeriği olabilir. Birden fazla multipart body part içeren mesajlar için, RFC2388'de belirtildiği üzere multipart/formdata kullanılır. Detayı şu şekilde : Yukarıda belirtildiği üzere Root fields, MIME body ile bir form field : Content-Disposition: form-data; name= root-fields Content-Type: <application/json or application/x-www-form-urlencoded> Multimedya içerikler(text, resim, video) şu iki şekilde bulunabilir : Mesajda sadace 1 içerik olması durumunda, MIME body şu şekilde : Content-Disposition: form-data; name= attachments, filename= <Name of the message content> Content-Type:<Corresponding Content-Type> Mesajda 1'den fazla içerik olması durumunda, MIME şu şekilde : Content-Disposition: form-data; name= attachments Content-Type: multipart/mixed mesajdaki her bir içerik için ise subpart şeklinde aşağıda belirtilen şekilde eklenir : Content-Disposition:attachment; filename= <Name of the message content> Content-Type: <Corresponding Content-Type> Tum HTTP body ve subpart'lar icin, diğer belirtilmeyen parametreler de eklenebilir. (Content- Description, Content-Transfer-Encoding) Text harici binary içerik gönderilmesi durumunda içeriğin base64 olarak kodlanmasi gerekmektedir. Bu tür içerikler gönderildiğinde Content-Transfer-Encoding parametresinin base64 değeri ile gönderilmesi zorunludur. Sürüm: 2.16 Tarih: 25/12/2012 Kod: CAPABILITY_EXPOSURE_PLATFORM_API Sayfa: 146 / 337
5.2. MMS Gönderimi (OneAPI yöntemi) Uygulama MMS gönderiminde kullanılır. İletim raporu isteyip istemediğini parametre olarak belirtebilir, varsayılan hali uygulamanın iletim rapor istemediği yönündedir. Uygulamaya requestid dönülür, uygulama bu requestid ile iletim raporu sorgusu yapabilir. Eğer istek sonucu başarısız ise kullanıcıya başarısız olma sebebini açıklayan bir sonuç döner. İstek Parametereleri Parametre Veri Tipi Zorunlu Size Açıklama senderaddress String E 2.7.3'te açiklanmistir. address List<String> E 50 adres alabilir. Uygulamanın SenderAddress i, PathParam olarak verilir MMS mesaji gönderilecek olan abonenin(1 ya da 1'den fazla) EndUserId si. message String E 1532 byte MMS ile gönderilecek olan text mesaj içeriği. subject String H 60 byte MMS mesajının konu başlıgını ifade eder. senderaddress String E 2.7.3'te açiklanmistir. Uygulamanın SenderAddress i FormParam olarak verilir clientcorrelator String H 30 byte Uygulama ile Capex arasinda iletişim problemi olmasi durumunda aynı mesajın tekrar gönderiminin engellenmesi için kullanılır. notifyurl String H 512 byte Gelen iletim raporlarını uygulamaya iletmek için bu isteğe özel kullanılacak olan URL'dir, sendername String H - Uygulamanın SenderName i, alphanumeric bir değerdir receiptrequest Boolean H - İletim raporu talep edilip edilmediğini ifade eder, varsayılan değeri false'dur. priority String H 7 byte Mesajın önceliğini ifade eder. Sürüm: 2.16 Tarih: 25/12/2012 Kod: CAPABILITY_EXPOSURE_PLATFORM_API Sayfa: 147 / 337
Varsayılan değeri Normal. requestchannel String H 3 byte Default MMS restcapexsubscriberidlist RestCapexSubscriberId[] Evet 2.4 de açıklanmıştır. Uygulamada subscriber ın id sidir. kullanılacak Dönüş Değerleri Parametre Veri Tipi Açıklama requestid String Başarılı ise requestid, hata durumlarında ERROR dönülür. Error information String Sorgu sonucunun başarısız olduğu durumda dönülür Error messageid String Sorgu başarısızsa hata kodunu içerir Error text String Hata açıklaması yer alır. restcapexsubscriberidlist RestCapexSubscriberId[] Evet Uygulamada kullanılacak subscriber ın id sidir. 5.2.1. REST Arayüzü Rest URL: http://127.0.0.1:8000/2/0/messaging/outbound/{senderaddress}/requests Örnek Rest İstek POST http://127.0.0.1:8000/2/0/messaging/outbound/131971/requests HTTP/1.1 Accept-Encoding: gzip,deflate Content-Type: multipart/form-data; boundary="----=_part_1_29114999.1340001781498" MIME-Version: 1.0 Authorization: User-Agent: Jakarta Commons-HttpClient/3.1 Host: 127.0.0.1:8000 Content-Length: 158 ------=_Part_1_29114999.1340001781498 Sürüm: 2.16 Tarih: 25/12/2012 Kod: CAPABILITY_EXPOSURE_PLATFORM_API Sayfa: 148 / 337
Content-Type: multipart/form-data Content-Transfer-Encoding: 8bit senderaddress=131971&restcapexsubscriberid=address=tel:+90542xxxxxxx usageid=8 nickname =&message=hello+world%21&clientcorrelator=¬ifyurl=https%3a%2f%2flocalhost%3a9443%2fden eme%2fmyservlet&sendername=capexapp&callbackdata= ------=_Part_1_29114999.1340001781498 Content-Type: image/jpeg Content-Transfer-Encoding: base64 Content-Disposition: form-data; name="mmstest.jpg" mmstest.jpg base64 encoded binary image data... ------=_Part_1_29114999.1340001781498 Örnek Rest Cevap: HTTP/1.1 201 Created Content-Type: application/json Location: http://localhost:8000/2/0/messaging/outbound/131971/requests/sdf11318840887361 Content-Length: 135 Server: Jetty(6.1.25) { "restcapexsubscriberidlist": [ { "usageid": 8, "nickname": "", "enduserid": "tel:+90542xxxxxxx" } ], "resourcereference": { "resourceurl":"developer.vodafone.com/2/0/messaging/outbound/131971/requests/sdf113188408 87361" } } Sürüm: 2.16 Tarih: 25/12/2012 Kod: CAPABILITY_EXPOSURE_PLATFORM_API Sayfa: 149 / 337
5.2.2. SOAP Arayüzü Örnek Soap İstek <soapenv:envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:v2="http://v2.soap.mms.capabilityexposure.services.oksijen.com"> <soapenv:header> <v2:authentication v2:user="sultan@1000000062" v2:password="password" v2:sessionid="" v2:serviceid=":1001000162"/> </soapenv:header> <soapenv:body> <v2:sendmessage> <!--1 or more repetitions:--> <capexsubscriberidlist> <enduserid>tel:+90542xxxxxxx</enduserid> <nickname></nickname> <usageid>35</usageid> </capexsubscriberidlist> <sendername></sendername> <senderaddress>131971</senderaddress> <subject>sultan</subject> <attachments> <mmsattachmentlist> <!--Zero or more repetitions:--> <mmsattachment> <contenttransferencoding>base64</contenttransferencoding> <data>/9j/4aaqskzjrgabaqeayabgaad/4qhsrxhpzgaatu0akgaaaagabveaaaqaaaabaaaaafebaamaaaabaae AAFECAAEAAAGAAAAASlEDAAEAAAABfwAAAFEEAAEAAAABfwAAAAAAAADY6vXk8PjGxsVtcnb8xyfOybLW4upQUlP+ +OevusKNuNXz8/PK1d2UlpYdHiD1+f3W3OGcoqb7/f7+12rOqkXW6fW8wcT5+/2lp6j/7sX/9Nqy0OX/1Fv/6Kv/+ /DluDXs7Ozh7vj+3oinxt3/67nOwZ/5yDbc7Pb+2nn+/v7nvEDu9vv/5JxCirr2yEb5+fju26vi6e7S0c6tpouEho igrlsie1jc3nzkosxeq2hntilzrclr9ppeymsblyjqxffs5phtt2npuoxu8/e3m07d2oa+vr3//fj1zfiqh3llztd x9vr9/v7n8vn8/pzwvstswurr2t6rsltgzjbesztp5pp//vzp4ozdscy2x9d/8c0+qehjsnrzpsrr38kyn6tj4uci j5v3gixarhzgotg5pkcdjknr5vtt5/xy+pzf7fff7veikjw6pwvao1w2sqr/0ebb6/bbv3ezbpxv48jq5dvz6ttyq Sürüm: 2.16 Tarih: 25/12/2012 Kod: CAPABILITY_EXPOSURE_PLATFORM_API Sayfa: 150 / 337
h+sky+wnwhenzemunxs5vqaaad/////////2wbdaaibaqibaqicagicagicawudawmdawyebamfbwyhbwcgbwcicq sjcagkcachcg0kcgsmdawmbwkodw0mdgsmdaz/2wbdaqicagmdawydawymcacidawmdawmdawmdawmdawmdawmdaw MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAz/wAARCAAcAIsDASIAAhEBAxEB/8QAHwAAAQUBAQEBAQEAAAAA AAAAAAECAwQFBgcICQoL/8QAtRAAAgEDAwIEAwUFBAQAAAF9AQIDAAQRBRIhMUEGE1FhByJxFDKBkaEII0KxwRVS0 fakm2jyggkkfhcygroljicokso0nty3odk6q0rfrkdisuptvfvwv1hzwmnkzwznaglqc3r1dnd4exqdhiwgh4ijip KTlJWWl5iZmqKjpKWmp6ipqrKztLW2t7i5usLDxMXGx8jJytLT1NXW19jZ2uHi4+Tl5ufo6erx8vP09fb3+Pn6/8Q AHwEAAwEBAQEBAQEBAQAAAAAAAAECAwQFBgcICQoL/8QAtREAAgECBAQDBAcFBAQAAQJ3AAECAxEEBSExBhJBUQdh crmimoeifekrobhbcsmzuvavynlrchyknoel8rcygromjygpkju2nzg5okneruzhselku1rvvldywvpjzgvmz2hpa nn0dxz3ehl6gooehyahiimkkpoulzaxmjmaoqokpaanqkmqsro0tba3ulm6wspexcbhymnk0tpu1dbx2nna4upk5e bn6onq8vp09fb3+pn6/9oadambaairaxeapwd9k4pj34k8ufdu68a6cna0rwosh2u0e9tjrq4uosbsbeciaf8rtub s715zxw1p/wantv+legqxvji9nhhu4vf+xbcrobeieajzccwduvfazjnfeqfdvubc/sn/aak0yt/jzu30zlszgcgt mkgf+bqn6va+jhgvxvi18bvhmj6jr+ox1lpvra63pwkzxclvyht5ldonheeetsl1j9qt7gt9smanfmhyumgvazinp H5zXyqsv3NGMbR1XO5OWsusklFWi/dbcrp2VtsqnOll9LGxbc6m77WS27avffRW6j/itdfAr4LXN/GmrR6Dq+lQvd Xi6Dc3FxfafGgLNPPHBveONQpLPIqoArEkAEjovDnxX8c6F4+s/CVxrfh67jv0Z9M1TUNPkeS7Chf3UnlSovmDk5A AYdsgkt/Z9nm1bTLXwjZ+DdH07wNPZS215/ZujmG0uVaJlLNIUtocOeNttFcLz98Llq+fbXx9LY/DjTNMnv2vNb+H mspokl2zves7a1ufs63bycezwhjuo03qcivic/js4vryxhzztuivksac4xsugptl4fpdatste6svztp38ffnkdwhi ZNuMXJNvVW897eW1vQ+zDY/Ej/oK+B//BXdf/JFH2H4j4/5Cvgj/wAFd1/8kV+bv/BwL8UdW+MOhfDT4MeHpfGqax f2wrfes5l8l+h9r1u7tz9lsxxrxjfzqtsle+sxnmxdlcl9lo5lyobh/ae/4kveov20/wbk74owhhhfa9j8mtc/zru vijrbxlnds62bvuldxbv7k3zzlgry5rolc7q5hlyqa/mq8x7e5yttyr7kfgknbq/m/vz+nx2l4j/9bxwr/wccu6/+ SKPsPxHz/wAhXwR/4K7r/wCSK/NvQf8AgsN8SJf2X9FvPDMXhuDxxdXWq22neCrvwvLqGsaXpui2sAu21SWfV9Pto pmm1tcgqs7vhvirel2r5jch+3b/amfi/ih+29/wth+ouo6lj8pvanhltfhfo19rwk6xb3n5rgstrmh22on7hcjcwx wrri8fujpbz+flbmv7vgaxtjfyr7knuo/zp72frb9h+jh/aeffbh/gruv/ajio+xfej/ok+b//aav3x/yrxwna/wd BXT4la3+07418H+FfDnhvxtot5oHi298B3L2w0BLvVNAuorSWymnlv53njaeQxtcPa2UYeMiMzKXkj8y8T/8ABcr4 tabznothb4c1xxlpdqynct9v8h6l4fbrdvpifwrpx2ka2oo3pcwmvsymskevhy27qdqvg57sx8q+5aqux9p/ez9of sxxi/6cvgj/amfd1/8ajfbsfiqp+yr4i/8abxdf/jffnx8xp+ct3xf+fgr+ophmw8da78zpaeu3uanspce0mm+itj h0xt9vkulgutatusfigpqrstlftdmjjkjkl7146/4koary/wdbnz4e/grsnf0y11z4laf4ve0tdsndtn0sfxzrket XUibXNvbG83uRtLCLGU3bg1OX8q+5CdOH8z+9n0b9h+JH/QV8Ef8Agruv/kik+xfEj/oK+B//AAV3X/yRX50ap+3j 8afjd+1df/s/3fij4baJ4t8K+LLtbTxtpNtq1jolxFa+H9PuZbWexi1NJZ7iR9XlIgN4Ej+xO5Ej24LYvhH/AIK2f Glvg5rN54Qtfh8mifBv4N/8J1qx8SR6nrN/4qbTdU13TblLe++1RsEu4dFW4hupkmceeGdZvMyh7SX8q+5B7KP8z+ 9n6ZfYfiR/0FPBH/gruv8A5Io+w/Ej/oK+CP8AwV3X/wAkV+Zn7Sf7bnjz9rrQfAfiCPUPAfh74cWH7R/hPwtD4an s7hve8slj4lsglqs6f15iwvo/nw3+y58ho5poocvf8o/8fnf2h9b/agrvit8arj4sadphguw8d6t4o8nxgovaj/z9 7azJHBY3UcGrT3V5uVpDKxttPaF4PLKEuGVe0l/KvuH7KP8AM/vZ+kF1D8Sra3eRL/wVcMgyI1025Uv7Am44/WvK9 f8a+clngv4baxpofi8ppfiptm8u9t4mdrqxgvzsxb2spvhka4yv6h8h/eni+h4cayph134buffxv21b9at5rftlyy MUSJZpJJCFjKKWZvnZWYKgYIv5Uf8ABSSQTftseOnHRprU/wDknBX0XD2VUswrSo4hWSV7rR7pfqfM8SZxVy2hGvh ndt2aeq2bv+b96s/djxfcpwx0/wagt6vrq6l4wt4lft7y202a7t7h7yarsholbhgo3btp+zhjvvdxfibrhihxxphi Lw/qdn4V8baJZXWkajaaxpslxi3neF5MwCWEswktkMbltoDMQGDFW+vq4j4u/A7wz8UrIzavpySXcC4juomMU8f0d ea/kommmxuyv1mwu1vrxsvm2rxktwk10acpweu7tt0t+gzhwo4on9uxmeel0wzw3xrstnntz40+l+j6545ugh8sei /EvjdJEPmQaheJb6ZgnlWs7cRW7qOg82N3xn5jkk878PPDp8TeMtO8P6PpOr3emacy3t/dabotzLY4UgJDG8UZjOM n5qcnrgahh0tyfsfeeb3wnl1jrt5cj5evxqlyjww4weor3nwf4j0rwhpcwok2unlbj0wncz+p71+ecn+gmbszanm3 FWL+seyfNCnFyceZaptyS0T1UVFK9teh9FmXEOGeElhMrpez51ZyaV7dUrPrtds8JttL0q08ZyeJI/B2qp4kmsI9K l1zfct0l6wzjkeso3abyn5iwssrwho0nixayxzz+k/blwbooiarplj8j7ky03xtol0fu7sdwjjhbqnllnczy2syc2 CyQvNeXcjRsCrPdTsQTI5P1XRX799fj/J+P/APzz+zpfz/AIf8E+RPGn7M/wAK/iRrz6r4i+Cuha/qck9tcteaj8O zdttlbrmo2klywpbdejmsbzyikhca1f4l/zx+enjodsyty+b3h3votb0r+wtms8+hhnrp2n+x5f2oepany7fz8vll hnvgmcv9guufxofyfj/wb/2fp+f8p+cfh3ih9md4y+itq8sag/wg0yhw/fttdwuq6vh8pa19flcqizmwr7rvnl+xe WEodX8pNwYKBXOfs3/sMfDD9mf4HeFfAenfD/VPEOn+D4XgsL7XvBputQCtfRX/AM0i2aLxdW9rKNqr89pbvy8asP usil9ehe/j+p8awa/s+drc/wch/bpk3x38aphv8u9rkvpe/wah9m8r3c2pr6zjnqngb7yr76ogo3jui0lsxm6wxrr rj94jgiggkajvid8kti8b/ag9+g1nohipwx4yudlxrre20rwetdp9qqhehitrizltflvfccn4xj2/lsi4r6sop/x4 /wan4/8aaf/z8/5/w/4j8e/bt/gnz8ifg78f9u8cxpw1u/g2ha9qqa3qcpitwklzb3l4kevvhilskxis4rhdbeijb BGihSQu5mJ9Zvfh54T1Kz1G3ufhw1xb6xoieGr+KTwXO6X2lIJQmnyg2+HtVE84ELZjHnSYX52z9O0UljoLaH4/8A by+b3n+h/bpkvuv2efhprpxbtxbefbzsbvxvg1syazn8p2k1bdbsjlbetm28wggson4/m+ro1k4kghn/donwx/tvx VqX/CmdH/ALR8d2z2fiW6/wCFfN53iGB8b4rx/s264RsDKylgcDIr63op/X4fyfj/AMAX9nz/AJ/w/wCCeFN4rusH bovip27knbvqsftjiah4kcvnr4x/8esveh7spxj1pxtdagmis66yp9hmyezaqrregfaidfuukzocsk++qk6cpnlfd S58MuVvS++hzYnIMPioqGK95LW22p//2Q==</data> <mmscontenttype>image/jpg</mmscontenttype> Sürüm: 2.16 Tarih: 25/12/2012 Kod: CAPABILITY_EXPOSURE_PLATFORM_API Sayfa: 151 / 337
<name>testimage.jpg</name> </mmsattachment> </mmsattachmentlist> </attachments> <clientcorrelator>ccmms.2086131952253432</clientcorrelator> <notifyurl>http://172.28.138.50:8088/mockmmsnotificationv2soap11binding</notifyurl> <priority xsi:nil="true" xmlns:xsi="http://www.w3.org/2001/xmlschema-instance"/> <receiptrequest>true</receiptrequest> </v2:sendmessage> </soapenv:body> </soapenv:envelope> Örnek Rest Cevap: <soapenv:envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/"> <soapenv:body> <ns:sendmessageresponse xmlns:ns="http://v2.soap.mms.capabilityexposure.services.oksijen.com"> <return> <resultcode>0</resultcode> <resultdesc>success</resultdesc> <variables xsi:nil="true" xmlns:xsi="http://www.w3.org/2001/xmlschemainstance"/> <requestid>sdf113263717871</requestid> <capexsubscriberidlist> <enduserid>tel:+90542xxxxxxx</enduserid> <nickname/> <usageid>35</usageid> </capexsubscriberidlist> </return> </ns:sendmessageresponse> </soapenv:body> </soapenv:envelope> Sürüm: 2.16 Tarih: 25/12/2012 Kod: CAPABILITY_EXPOSURE_PLATFORM_API Sayfa: 152 / 337
5.3. İletim Durum Raporu alma Atılmış olan MMSlerin iletim raporları sorgulanablir. İstek Parametereleri Parametre Veri Tipi Zorunlu Size Açıklama senderaddress String E 2.7.3'te açiklanmistir. Uygulamanın SenderAddress i, PathParam olarak verilir requestidentifier String E 30 byte sendmms cevabında dönülen requestidentifier parametresinin değeridir. PathParam olarak verilir. Dönüş Değerleri Parametre Veri Tipi Açıklama deliveryinfo List<RestDeliveryInfo> Başarılı ise Mesajların listesi dönülür, hata durumlarında ERROR dönülür. resourceurl String Bu mesajın referans URL'ini belirtir, uygulama mesajın durumunu bu linkten takip edebilir. Delivery Info Tipi Parametre Veri Tipi Açıklama address String Mesajın gönderilmiş olduğu son kullanıcının EndUserId sidir. deliverystatus String Mesajın iletilip iletilmediğini gösteren durumunu ifade eder deliveryreasoncode Integer Mesajın iletilememsi durumunda sorunun sebebini belirtir,başarılı ise değeri sıfır. usageid Long UsageId bilgisidir. 5.3.1. REST Arayüzü Rest URL: Sürüm: 2.16 Tarih: 25/12/2012 Kod: CAPABILITY_EXPOSURE_PLATFORM_API Sayfa: 153 / 337
http://127.0.0.1:8000/2/0/messaging/outbound/{senderaddress}/requests/{requestidentifier}/delive ryinfos Örnek Rest İstek GET http://127.0.0.1:8000/2/0/messaging/outbound/131971/requests/sdf113384794141/deliveryinfo s HTTP/1.1 Accept-Encoding: gzip,deflate Authorization: Basic c3vsdgfuqdewmdawmdawnji6u3vsdgfumzu= serviceid: :1001000162 User-Agent: Jakarta Commons-HttpClient/3.1 Host: 127.0.0.1:8000 Örnek Rest Cevap: HTTP/1.1 200 OK Content-Type: application/json Content-Length: 238 Server: Jetty(6.1.25) { "deliveryinfolist": { "resourceurl":"developer.vodafone.com/2/0/messaging/outbound/131971/requests/sdf113188408 87361/deliveryInfos", } "deliveryinfo": [{ ]}, "address":"tel:+90543xxxxxxx", "deliverystatus":"deliveryimpossible", "deliveryreasoncode": "150", "usageid":1658} 5.3.2. SOAP Arayüzü Örnek Soap İstek Sürüm: 2.16 Tarih: 25/12/2012 Kod: CAPABILITY_EXPOSURE_PLATFORM_API Sayfa: 154 / 337
<soapenv:envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:v2="http://v2.soap.mms.capabilityexposure.services.oksijen.com"> <soapenv:header> <v2:authentication v2:user="sultan@1000000062" v2:password="password" v2:sessionid="" v2:serviceid=":1001000162"/> </soapenv:header> <soapenv:body> <v2:getmessagedeliverystatus> <requestidentifier>sdf113385490371</requestidentifier> <senderaddress>131971</senderaddress> </v2:getmessagedeliverystatus> </soapenv:body> </soapenv:envelope> Örnek Soap Cevap: <soapenv:envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/"> <soapenv:body> <ns:getmessagedeliverystatusresponse xmlns:ns="http://v2.soap.mms.capabilityexposure.services.oksijen.com"> <return> <resultcode>0</resultcode> <resultdesc>success</resultdesc> <variables xsi:nil="true" xmlns:xsi="http://www.w3.org/2001/xmlschemainstance"/> <deliveryinformationlist> <address>tel:+90542xxxxxxx</address> <deliveryreasoncode>0</deliveryreasoncode> <deliverystatus>deliveredtonetwork</deliverystatus> <usageid>35</usageid> </deliveryinformationlist> </return> </ns:getmessagedeliverystatusresponse> </soapenv:body> </soapenv:envelope> Sürüm: 2.16 Tarih: 25/12/2012 Kod: CAPABILITY_EXPOSURE_PLATFORM_API Sayfa: 155 / 337
5.4. İletim Raporları Alımını Başlatma Uygulama iletim raporları için kendi URL'ini kayıt ettirir. Eğer MMS gönderirken herhangi bir notifyurl verilmezse, iletim raporu geldiğinde uygulamanın kayıt ettirmiş olduğu bu notifyurl kullanılarak onay mesajının cevabı uygulamaya iletilir. İstek Parametereleri Parametre Veri Tipi Zorunlu Size Açıklama senderaddress String E 2.7.3'te açiklanmistir. Uygulamanın SenderAddress i, PathParam olarak verilir notifyurl String E 512 byte İletim raporlarını uygulamaya çıkabilmek için URLdir, FormParam olarak verilir. callbackdata String H 50 byte Uygulamanın kaydolurken eklediği, cevabı dönerken aynen cevabın içine eklememimizi beklediği bir veridir, FormParam olarak verilir. clientcorrelator String H 30 byte Uygulama ile Capex arasinda iletişim problemi olmasi durumunda aynı kayıt isteğinin tekrar yapılmasının engellenmesi için kullanılır. FormParam olarak verilir. usageid Long E UsageId bilgisidir. Dönüş Değerleri Parametre Veri Tipi Açıklama subscriptionid long Başarılı ise kaydolduğı Id dönülür, hata durumlarında ERROR dönülür. Error information String Sorgu sonucunun başarısız olduğu durumda dönülür Error messageid String Sorgu başarısızsa hata kodunu içerir Error text String Hata açıklaması yer alır. usageid Long UsageId bilgisidir. 5.4.1. REST Arayüzü Rest URL: Sürüm: 2.16 Tarih: 25/12/2012 Kod: CAPABILITY_EXPOSURE_PLATFORM_API Sayfa: 156 / 337
http://127.0.0.1:8000/2/0/messaging/outbound/{senderaddress}/subscriptions Örnek Rest İstek POST http://127.0.0.1:8000/2/0/messaging/outbound/131971/subscriptions HTTP/1.1 Accept-Encoding: gzip,deflate Content-Type: application/x-www-form-urlencoded Authorization: Basic c3vsdgfuqdewmdawmdawnji6u3vsdgfumzu= serviceid: :1001000162 User-Agent: Jakarta Commons-HttpClient/3.1 Host: 127.0.0.1:8000 Content-Length: 33 notifyurl=http://www.vodafone.com Örnek Rest Cevap: HTTP/1.1 201 Created Content-Type: application/json Location: http://127.0.0.1:8000/2/0/messaging/outbound/131971/subscriptions/sdf113400044521 Content-Length: 222 Server: Jetty(6.1.25) { "usageid": 465029, "deliveryreceiptsubscription": { "resourceurl": "developer.vodafone.com/2/0/messaging/outbound/subscriptions/sdf113400044521", } } "callbackreference": { } "callbackdata": null, "notifyurl": "http://www.vodafone.com" 5.4.2. SOAP Arayüzü Örnek Soap İstek Sürüm: 2.16 Tarih: 25/12/2012 Kod: CAPABILITY_EXPOSURE_PLATFORM_API Sayfa: 157 / 337
<soapenv:envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:v2="http://v2.soap.mms.capabilityexposure.services.oksijen.com"> <soapenv:header> <v2:authentication v2:user="sultan@1000000062" v2:password="password" v2:sessionid="" v2:serviceid=":1001000162"/> </soapenv:header> <soapenv:body> <v2:startdeliveryreceiptnotification> <clientcorrelator></clientcorrelator> <callbackdata></callbackdata> <notifyurl>http://172.28.138.50:8088/mockmmsnotificationv2soap11binding</notifyurl> <senderaddress>131971</senderaddress> <usageid></usageid> </v2:startdeliveryreceiptnotification> </soapenv:body> </soapenv:envelope> Örnek Soap Cevap: <soapenv:envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/"> <soapenv:body> <ns:startdeliveryreceiptnotificationresponse xmlns:ns="http://v2.soap.mms.capabilityexposure.services.oksijen.com"> <return> <resultcode>0</resultcode> <resultdesc>success</resultdesc> <variables xsi:nil="true" xmlns:xsi="http://www.w3.org/2001/xmlschemainstance"/> <id>sdf113263719231</id> </return> </ns:startdeliveryreceiptnotificationresponse> </soapenv:body> </soapenv:envelope> Sürüm: 2.16 Tarih: 25/12/2012 Kod: CAPABILITY_EXPOSURE_PLATFORM_API Sayfa: 158 / 337
5.5. İletim Raporları Alımını Durdurma Uygulama iletim raporları için daha önce kaydettirmiş olduğu URL'i iptal ettirebilir. İptal ettirebilmesi için kaydolurken uygulamaya dönülen "subscriptionid" ile uygulama iptal isteği gönderilmelidir. İstek Parametereleri Parametre Veri Tipi Zorunlu Size Açıklama subsid String E 30 byte İletim raporları için kayıt yaptırırken uygulamaya dönülmüş olan subscriptionid usageid Long E UsageId bilgisidir. Dönüş Değerleri Parametre Veri Tipi Açıklama usageid Long UsageId bilgisidir. 5.5.1. REST Arayüzü Rest URL: http://127.0.0.1.8000/2/0/messaging/outbound/subscriptions/{subscriptionid} Örnek Rest İstek DELETE http://127.0.0.1:8000/2/0/messaging/outbound/subscriptions/sdf113400051491 HTTP/1.1 Accept-Encoding: gzip,deflate Authorization: Basic c3vsdgfuqdewmdawmdawnji6u3vsdgfumzu= serviceid: :1001000162 User-Agent: Jakarta Commons-HttpClient/3.1 Host: 127.0.0.1:8000 Örnek Rest Cevap: HTTP/1.1 200 OK Sürüm: 2.16 Tarih: 25/12/2012 Kod: CAPABILITY_EXPOSURE_PLATFORM_API Sayfa: 159 / 337
Content-Type: application/json Content-Length: 18 Server: Jetty(6.1.25) {"usageid":465038} 5.5.2. SOAP Arayüzü Örnek Soap İstek <soapenv:envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:v2="http://v2.soap.mms.capabilityexposure.services.oksijen.com"> <soapenv:header> <v2:authentication v2:user="sultan@1000000062" v2:password="password" v2:sessionid="" v2:serviceid=":1001000162"/> </soapenv:header> <soapenv:body> <v2:stopdeliveryreceiptnotification> <subsid>sdf113400044521</subsid> <usageid></usageid> </v2:stopdeliveryreceiptnotification> </soapenv:body> </soapenv:envelope> Örnek Soap Cevap: <soapenv:envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/"> <soapenv:body> <ns:stopdeliveryreceiptnotificationresponse xmlns:ns="http://v2.soap.mms.capabilityexposure.services.oksijen.com"> <return> <resultcode>0</resultcode> <resultdesc>success</resultdesc> <variables xsi:nil="true" xmlns:xsi="http://www.w3.org/2001/xmlschemainstance"/> <usageid>465034</usageid> </return> </ns:stopdeliveryreceiptnotificationresponse> </soapenv:body> </soapenv:envelope> Sürüm: 2.16 Tarih: 25/12/2012 Kod: CAPABILITY_EXPOSURE_PLATFORM_API Sayfa: 160 / 337
5.6. İletim Raporunu İtme Uygulamanın kendisine gelen iletim raporlarını alabilmesi için sağlaması gereken servistir. Rest yada Soap olabilir. Soap Wsdl'i MmsNotificationV2.wsdl olarak attachments altında bulunabilir. 5.6.1. SOAP Arayüzü Örnek Soap Istek: Host: 127.0.0.1:8088 Content-Length: 412 SOAPAction: "urn:notifydeliveryreceipt" User-Agent: JAX-WS RI 2.1.6 in JDK 6 Connection: keep-alive Accept: text/xml, multipart/related, text/html, image/gif, image/jpeg, *; q=.2, */*; q=.2 Content-Type: text/xml;charset="utf-8" <?xml version="1.0"?> <S:Envelope xmlns:s="http://schemas.xmlsoap.org/soap/envelope/"> <S:Body> <ns2:notifydeliveryreceipt xmlns:ns2="http://soap.notification.mms.capabilityexposure.services.oksijen.com"> <messageid>sdf11323156597515</messageid> <deliverystatus> <address>tel:+90542xxxxxxx</address> <deliveryreasoncode>150</deliveryreasoncode> <deliverystatus>deliveryimpossible</deliverystatus> <usageid>35</ usageid > </deliverystatus> </ns2:notifydeliveryreceipt> </S:Body> </S:Envelope> Sürüm: 2.16 Tarih: 25/12/2012 Kod: CAPABILITY_EXPOSURE_PLATFORM_API Sayfa: 161 / 337
5.6.2. REST Arayüzü Örnek Rest Istek: POST http://3rdpartyservice:6666/getussddelivery HTTP/1.1 Accept-Encoding: gzip,deflate User-Agent: Jakarta Commons-HttpClient/3.1 Host: localhost:8000 Content-Length: 158 Content-Type: application/json { "deliveryinfonotification": { "deliveryinfo": { "address": "tel:+90542xxxxxxx", "deliverystatus": "DeliveredToTerminal", "deliveryreasoncode": "0", usageid :35 } } } 5.7. MMS Mesajını Alma Son kullanıcıdan gelen MMSleri uygulamaya çıkarır. Eğer kaydolmuş bir URL mevcut ise her gelen iletim raporu uygulamaya push edilir. MMS mesajında bulunan eklentiler ayri bir API cağrısı ile alınabılir. Eğer istek sonucu başarısız ise kullanıcıya başarısız olma sebebini açıklayan bir sonuç döner. İstek Parametereleri Parametre Veri Tipi Zorunlu Size Açıklama registrationid String E 30 byte Uygulamanın RegistrationId i PathParam olarak verilir maxbatchsize int E - Uygulamaya bir kerede dönülecek maximum mesaj miktarını belirtir, QueryParam olarak verilir. Sürüm: 2.16 Tarih: 25/12/2012 Kod: CAPABILITY_EXPOSURE_PLATFORM_API Sayfa: 162 / 337
Dönüş Değerleri InboundMessage listesi içeren bir inboundmessagelist nesnesi döner. Parametre Veri Tipi Açıklama inboundmessage List<inboundMessage> Bakınız Tablo3 resourceurl String Bu mesajın referans URL'ini belirtir. Bu bilgiyi kullanarak mesajın tamamı (eklentiler dahil) alınabilir. InboundMessage veri tipi Parametre Veri Tipi Açıklama destinationaddress String Uygulamanın SenderAddress i messageid String Mesajı belirten unique Id'sidir. Mesaja iliskin eklentiler bu id kullanılarak alınabilir. message String MMS ile gönderilecek olan mesaj içeriğidir. senderaddress String Mesaj gonderimini yapan son kullanıcının EndUserId'si datetime String Mesajın alındığı tarih bilgisi (YYYY-MM-DDTHH:MM:SS formatında örnek :2010-11-19T12:00:00) inboundmmsmessage inboundmmsmessage Bakınız alttaki tablo InboundMMSMessage veri tipi Parametre Veri Tipi Açıklama subject String MMS mesajının subject bilgisi. usageid Long UsageId bilgisidir. 5.7.1. REST Arayüzü Rest URL: http://127.0.0.1:8000/2/0/messaging/inbound/registrations/{registrationid}/messages Sürüm: 2.16 Tarih: 25/12/2012 Kod: CAPABILITY_EXPOSURE_PLATFORM_API Sayfa: 163 / 337
Örnek Rest İstek GET http://127.0.0.1:8000/2/0/messaging/inbound/registrations/131971/messages?maxbatchsize=1 HTTP/1.1 Accept-Encoding: gzip,deflate Authorization: Basic c3vsdgfuqdewmdawmdawnji6u3vsdgfumzu= serviceid: :1001000162 User-Agent: Jakarta Commons-HttpClient/3.1 Host: 127.0.0.1:8000 Örnek Rest Cevap: HTTP/1.1 200 OK Content-Type: application/json Content-Length: 480 Server: Jetty(6.1.25) { "inboundmessagelist": { "resourceurl":"developer.vodafone.com/2/0/messaging/inbound/registrations/131971/messages ", "numberofmessagesinthisbatch":1, "totalnumberofpendingmessages":0, "inboundmessage": [ { "resourceurl":"developer.vodafone.com/2/0/messaging/inbound/registrations/131971/messages /sdf11318487875787", "messageid":"sdf11318487875787", "senderaddress":"tel:+90542xxxxxxx", "datetime":"2011-10-13t10:14:42", "destinationaddress":"4459", "usageid":4687 "inboundmmsmessage": { Sürüm: 2.16 Tarih: 25/12/2012 Kod: CAPABILITY_EXPOSURE_PLATFORM_API Sayfa: 164 / 337
} "subject":"lets go party!" } ] } } 5.7.2. SOAP Arayüzü Örnek Soap İstek <soapenv:envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:v2="http://v2.soap.sms.capabilityexposure.services.oksijen.com"> <soapenv:header> <v2:authentication v2:user="sultan@1000000062" v2:password="password" v2:sessionid="" v2:serviceid=":1001000162"/> </soapenv:header> <soapenv:body> <v2:getreceivedsms> <registrationid>131971</registrationid> <maxbatchsize>2</maxbatchsize> </v2:getreceivedsms> </soapenv:body> </soapenv:envelope> Örnek Soap Cevap: <soapenv:envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/"> <soapenv:body> <ns:getreceivedsmsresponse xmlns:ns="http://v2.soap.sms.capabilityexposure.services.oksijen.com"> <return> <resultcode>0</resultcode> <resultdesc>success</resultdesc> <variables xsi:nil="true" xmlns:xsi="http://www.w3.org/2001/xmlschemainstance"/> <mmslist> <datetime>2011-11-27t13:25:39.000+02:00</datetime> <destinationaddress>4459</destinationaddress> <format>mms</format> Sürüm: 2.16 Tarih: 25/12/2012 Kod: CAPABILITY_EXPOSURE_PLATFORM_API Sayfa: 165 / 337
<message xsi:nil="true" xmlns:xsi="http://www.w3.org/2001/xmlschemainstance"/> <messageidentifier>sdf11322387157032</messageidentifier> <priority xsi:nil="true" xmlns:xsi="http://www.w3.org/2001/xmlschemainstance"/> <senderaddress>tel:+90543xxxxxxx</senderaddress> <subject>test</subject> <usageid>1</usageid> </mmslist> <mmslist> <datetime>2011-11-27t13:25:39.000+02:00</datetime> <destinationaddress>4459</destinationaddress> <format>mms</format> <message xsi:nil="true" xmlns:xsi="http://www.w3.org/2001/xmlschemainstance"/> <messageidentifier>sdf11322387157027</messageidentifier> <priority xsi:nil="true" xmlns:xsi="http://www.w3.org/2001/xmlschemainstance"/> <senderaddress>tel:+90543xxxxxxx</senderaddress> <subject>test picture+text+sound</subject> <usageid>2</usageid> </mmslist> <mmslist> <datetime>2012-01-10t10:49:57.000+02:00</datetime> <destinationaddress>4459</destinationaddress> <format>mms</format> <message xsi:nil="true" xmlns:xsi="http://www.w3.org/2001/xmlschemainstance"/> <messageidentifier>sdf113261853981</messageidentifier> <priority xsi:nil="true" xmlns:xsi="http://www.w3.org/2001/xmlschemainstance"/> <senderaddress>tel:+90543xxxxxxx</senderaddress> <subject>lets go party!</subject> <usageid>3</usageid> </mmslist> <mmslist> <datetime>2012-01-10t10:50:13.000+02:00</datetime> <destinationaddress>4459</destinationaddress> <format>mms</format> Sürüm: 2.16 Tarih: 25/12/2012 Kod: CAPABILITY_EXPOSURE_PLATFORM_API Sayfa: 166 / 337
<message xsi:nil="true" xmlns:xsi="http://www.w3.org/2001/xmlschemainstance"/> <messageidentifier>sdf113261854131</messageidentifier> <priority xsi:nil="true" xmlns:xsi="http://www.w3.org/2001/xmlschemainstance"/> <senderaddress>tel:+90543xxxxxxx</senderaddress> <subject>lets go party!</subject> <usageid>4</usageid> </mmslist> <mmslist> <datetime>2012-01-10t10:51:41.000+02:00</datetime> <destinationaddress>4459</destinationaddress> <format>mms</format> <message xsi:nil="true" xmlns:xsi="http://www.w3.org/2001/xmlschemainstance"/> <messageidentifier>sdf113261855011</messageidentifier> <priority xsi:nil="true" xmlns:xsi="http://www.w3.org/2001/xmlschemainstance"/> <senderaddress>tel:+90543xxxxxxx</senderaddress> <subject>lets go party!</subject> <usageid>5</usageid> </mmslist> <mmslist> <datetime>2012-01-10t10:52:26.000+02:00</datetime> <destinationaddress>4459</destinationaddress> <format>mms</format> <message xsi:nil="true" xmlns:xsi="http://www.w3.org/2001/xmlschemainstance"/> <messageidentifier>sdf113261855461</messageidentifier> <priority xsi:nil="true" xmlns:xsi="http://www.w3.org/2001/xmlschemainstance"/> <senderaddress>tel:+90543xxxxxxx</senderaddress> <subject>lets go party!</subject> <usageid>6</usageid> </mmslist> <numberofmessagesinthisbatch>6</numberofmessagesinthisbatch> <totalnumberofpendingmessages>0</totalnumberofpendingmessages> </return> </ns:getreceivedmessagesresponse> Sürüm: 2.16 Tarih: 25/12/2012 Kod: CAPABILITY_EXPOSURE_PLATFORM_API Sayfa: 167 / 337
</soapenv:body> </soapenv:envelope> 5.8. MMS Mesajının Tamamını Alma Uygulamaya gonderilmiş olan bir MMS mesajını eklentileriyle beraber uygulamaya çıkarır. Eğer istek sonucu başarısız ise kullanıcıya başarısız olma sebebini açıklayan bir sonuç döner. İstek Parametereleri Parametre Veri Tipi Zorunlu Size Açıklama registrationid String E 30 byte Uygulamanın RegistrationId'si, PathParam olarak verilir resformat String E 4 byte Dönüş içeriğinin tipini belirtir (şu an sadece JSON desteklenmektedir), QueryParam olarak verilir. Dönüş Değerleri Dönüş multipart/form-data tipindedir. Mesajın detay bilgileri (JSON formatinda) bir boundary ile eklentilerden ayrı olarak bulunur. InboundMessage nesnesinin alanları aşağıdadır : Parametre Veri Tipi Açıklama destinationaddress String Uygulamanın SenderAddress i messageid String Mesajı belirten unique Id'sidir. Mesaja iliskin eklentiler bu id kullanılarak alınabilir. message String SMS ile gönderilecek olan mesaj içeriğidir. senderaddress String Son kullanıcının EndUserId'si. resourceurl String Mesaja ait link bilgisi. Bu bilgiyi kullanarak mesajın tamamı (eklentiler dahil) alınabilir. datetime String Mesajın alındığı tarih bilgisi Sürüm: 2.16 Tarih: 25/12/2012 Kod: CAPABILITY_EXPOSURE_PLATFORM_API Sayfa: 168 / 337
inboundmmsmessage inboundmmsmessage Bakınız Tablo4 Attachment List<Attachment> Mesajdaki eklentiler. InboundMMSMessage Parametre Veri Tipi Açıklama subject String MMS mesajinin subject bilgisi. 5.8.1. REST Arayüzü Rest URL: http://127.0.0.1:8000/2/0/messaging/inbound/registrations/{registrationid}/messages/{msgid} Örnek Rest İstek GET http://127.0.0.1:8000/2/0/messaging/inbound/registrations/2200/messages/sdf11318487875787?resformat=json HTTP/1.1 Authorization: Basic ZXJheUAxMDAwMDAwMDY1Okhla3RvcjEyMzQ= serviceid: :2001000061 Accept: application/json Cache-Control: no-cache Pragma: no-cache User-Agent: Java/1.6.0_25 Host: localhost:8000 Connection: keep-alive Örnek Rest Cevap: HTTP/1.1 200 OK Content-Type: multipart/form-data; boundary=boundary_4_24532118_1319087732681 MIME-Version: 1.0 Transfer-Encoding: chunked Server: Jetty(6.1.25) Sürüm: 2.16 Tarih: 25/12/2012 Kod: CAPABILITY_EXPOSURE_PLATFORM_API Sayfa: 169 / 337
--Boundary_4_24532118_1319087732681 Content-Disposition: multipart/form-data; name="root-fields" Content-Type: application/json { "inboundmessage": { "senderaddress":"tel:+90543xxxxxxx", "resourceurl":"developer.vodafone.com/2/0/messaging/inbound/registrations/2200/messages/s df11318487875787", } } "inboundmmsmessage": { "subject":"lets go party!" }, "datetime":"2011-10-13t10:14:42", "destinationaddress":"4459", "messageid":"sdf11318487875787" --Boundary_4_24532118_1319087732681 Content-Disposition: attachments; filename="image.gif" Content-Type: image/gif Content-Transfer-Encoding: base64 GIF89a base64 encoded data 5.8.2. SOAP Arayüzü Örnek Soap İstek <soap:envelope xmlns:soap="http://www.w3.org/2003/05/soap-envelope" xmlns:soap1="http://v2.soap.mms.capabilityexposure.services.oksijen.com"> <v2:authentication v2:user="sultan@1000000062" v2:password="password" v2:sessionid="" v2:serviceid=":1001000162"/> </soapenv:header> </soap:header> Sürüm: 2.16 Tarih: 25/12/2012 Kod: CAPABILITY_EXPOSURE_PLATFORM_API Sayfa: 170 / 337
<soap:body> <soap1:getfullmessage> <registrationid>131971</registrationid> <messageid>sdf113261855461</messageid> </soap1:getfullmessage> </soap:body> </soap:envelope> Örnek Soap Cevap: <soapenv:envelope xmlns:soapenv="http://www.w3.org/2003/05/soap-envelope"> <soapenv:body> <ns:getfullmessageresponse xmlns:ns="http://soap.mms.capabilityexposure.services.oksijen.com"> <return> <resultcode>0</resultcode> <resultdesc>success</resultdesc> <variables xsi:nil="true" xmlns:xsi="http://www.w3.org/2001/xmlschemainstance"/> <mmsattachments> <mmsattachmentlist> <mmsattachment> <contenttransferencoding xsi:nil="true" xmlns:xsi="http://www.w3.org/2001/xmlschema-instance"/> <data>.lets go party!</data> <mmscontenttype>text/plain</mmscontenttype> <name>text0000.txt</name> </mmsattachment> <mmsattachment> <contenttransferencoding>base64</contenttransferencoding> <data>r0lgodlhoabsaozpakfs9p1lovfp7qkecbba4gvxeocqcher36an7gdb+ </data>... gcg9difkd8iy7hblafrjej07xinsi4g0pbaa7 <mmscontenttype>image/gif</mmscontenttype> <name>image.gif</name> </mmsattachment> <mmsattachment> <contenttransferencoding>base64</contenttransferencoding> Sürüm: 2.16 Tarih: 25/12/2012 Kod: CAPABILITY_EXPOSURE_PLATFORM_API Sayfa: 171 / 337
<data>iyfbtviknb8uigeoama+... HfQLF1rYzFOI3Y7rGtB8H4z5wNK0XX3MDAfLNrAPhU7C5BiWCVzXm5Hw33dUA </data> <mmscontenttype>audio/amr</mmscontenttype> <name>sound.amr</name> </mmsattachment> </mmsattachmentlist> <smil xsi:nil="true" xmlns:xsi="http://www.w3.org/2001/xmlschemainstance"/> </mmsattachments> <mmsmessage> <datetime>2012-01-10t10:52:26.051+02:00</datetime> <destinationaddress>4459</destinationaddress> <format>mms</format> <message xsi:nil="true" xmlns:xsi="http://www.w3.org/2001/xmlschemainstance"/> <messageidentifier>sdf113261855461</messageidentifier> <priority xsi:nil="true" xmlns:xsi="http://www.w3.org/2001/xmlschemainstance"/> <senderaddress>tel:+90543xxxxxxx</senderaddress> <subject>lets go party!</subject> </mmsmessage> </return> </ns:getfullmessageresponse> </soapenv:body> </soapenv:envelope> 5.9. MMS Mesaj İletimini Başlatma Uygulama kendisine gelen MMSleri alabilmek için bir URL vererek kaydolur. Son kullanıcıdan gelen MMSler de bu URL kullanılarak uygulamaya gönderilir. İstek Parametereleri Parametre Veri Tipi Zorunlu Size Açıklama senderaddress String E 2.7.3'te Uygulamanın SenderAddress i, PathParam olarak Sürüm: 2.16 Tarih: 25/12/2012 Kod: CAPABILITY_EXPOSURE_PLATFORM_API Sayfa: 172 / 337
açiklanmistir. verilir notifyurl String E 512 byte Uygulamaya mesajların push edilecegi URLdir, FormParam olarak verilir. notificationformat String E - Uygulamaya mesajları formatıdır, FormParam olarak verilir. callbackdata String H 50 byte Uygulamanın kaydolurken eklediği, cevabı dönerken aynen cevabın içine eklememizi beklediği bir veridir, FormParam olarak verilir. clientcorrelator String H 30 byte İki kez ardarda aynı isteği yapmayı engeller, FormParam olarak verilir. usageid Long E UsageId bilgisidir. Dönüş Değerleri Parametre Veri Tipi Açıklama subscriptionid long Başarılı ise kaydolduğı Id dönülür, hata durumlarında ERROR dönülür. Error information String Sorgu sonucunun başarısız olduğu durumda dönülür Error messageid String Sorgu başarısızsa hata kodunu içerir Error text String Hata açıklaması yer alır. usageid Long UsageId bilgisidir. 5.9.1. REST Arayüzü Rest URL: http://127.0.0.1:8000/2/0/messaging/inbound/subscriptions Örnek Rest İstek POST http://127.0.0.1:8000/2/0/messaging/inbound/subscriptions HTTP/1.1 Accept-Encoding: gzip,deflate Content-Type: application/x-www-form-urlencoded Sürüm: 2.16 Tarih: 25/12/2012 Kod: CAPABILITY_EXPOSURE_PLATFORM_API Sayfa: 173 / 337
Authorization: Basic c3vsdgfuqdewmdawmdawnji6u3vsdgfumzu= serviceid: :1001000162 User-Agent: Jakarta Commons-HttpClient/3.1 Host: 127.0.0.1:8000 Content-Length: 74 destinationaddress=tel%3a%2b90542xxxxxxx¬ifyurl=http://www.vodafone.com Örnek Rest Cevap: HTTP/1.1 201 Created Content-Type: application/json Location: http://127.0.0.1:8000/2/0/messaging/inbound/subscriptions/sdf113400066321 Content-Length: 131 Server: Jetty(6.1.25) { "usageid": 465039, "resourcereference": {"resourceurl": "developer.vodafone.com/2/0/messaging/inbound/subscriptions/sdf113400066321"} } 5.9.2. SOAP Arayüzü Örnek Soap İstek <soapenv:envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:v2="http://v2.soap.mms.capabilityexposure.services.oksijen.com"> <soapenv:header> <v2:authentication v2:user="sultan@1000000062" v2:password="password" v2:sessionid="" v2:serviceid=":1001000162"/> </soapenv:header> <soapenv:body> <v2:startmessagenotification> <clientcorrelator></clientcorrelator> Sürüm: 2.16 Tarih: 25/12/2012 Kod: CAPABILITY_EXPOSURE_PLATFORM_API Sayfa: 174 / 337
<callbackdata></callbackdata> <notifyurl>http://localhost</notifyurl> <capexsubscriberid> <enduserid>131971</enduserid> <nickname></nickname> <usageid></usageid> </capexsubscriberid> </v2:startmessagenotification> </soapenv:body> </soapenv:envelope> Örnek Soap Cevap: <soapenv:envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/"> <soapenv:body> <ns:startmessagenotificationresponse xmlns:ns="http://v2.soap.mms.capabilityexposure.services.oksijen.com"> <return> <resultcode>0</resultcode> <resultdesc>success</resultdesc> <variables xsi:nil="true" xmlns:xsi="http://www.w3.org/2001/xmlschemainstance"/> <id>sdf113400068101</id> <usageid>465042</usageid> </return> </ns:startmessagenotificationresponse> </soapenv:body> </soapenv:envelope> 5.10. MMS Mesaj İletimini Durdurma Uygulama, kendisine gelen MMS mesajları için daha önce kaydettirmiş olduğu URL'i iptal ettirebilir. İstek Parametereleri Sürüm: 2.16 Tarih: 25/12/2012 Kod: CAPABILITY_EXPOSURE_PLATFORM_API Sayfa: 175 / 337
Parametre Veri Tipi Zorunlu Size Açıklama subsid String E 30 byte Onay servisleri için kayıt yaptırırken uygulamaya dönülmüş olan subscriptionid usageid Long E UsageId bilgisidir. Dönüş Değerleri Parametre Veri Tipi Açıklama usageid Long UsageId bilgisidir. 5.10.1. REST Arayüzü Rest URL: http://127.0.0.1.8000/2/0/messaging/inbound/subscriptions/{subsid} Örnek Rest İstek DELETE http://127.0.0.1:8000/2/0/messaging/inbound/subscriptions/sdf113400068101 HTTP/1.1 Accept-Encoding: gzip,deflate Authorization: Basic c3vsdgfuqdewmdawmdawnji6u3vsdgfumzu= serviceid: :1001000162 User-Agent: Jakarta Commons-HttpClient/3.1 Host: 127.0.0.1:8000 Örnek Rest Cevap: HTTP/1.1 200 OK Content-Type: application/json Content-Length: 18 Server: Jetty(6.1.25) {"usageid":465045} Sürüm: 2.16 Tarih: 25/12/2012 Kod: CAPABILITY_EXPOSURE_PLATFORM_API Sayfa: 176 / 337
5.10.2. SOAP Arayüzü Örnek Soap İstek <soapenv:envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:v2="http://v2.soap.mms.capabilityexposure.services.oksijen.com"> <soapenv:header> <v2:authentication v2:user="sultan@1000000062" v2:password="sultan35" v2:sessionid="" v2:serviceid=":1001000162"/> </soapenv:header> <soapenv:body> <v2:stopmessagenotification> <subsid>sdf113400066321</subsid> <usageid></usageid> </v2:stopmessagenotification> </soapenv:body> </soapenv:envelope> Örnek Soap Cevap: <soapenv:envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/"> <soapenv:body> <ns:stopmessagenotificationresponse xmlns:ns="http://v2.soap.mms.capabilityexposure.services.oksijen.com"> <return> <resultcode>0</resultcode> <resultdesc>success</resultdesc> <variables xsi:nil="true" xmlns:xsi="http://www.w3.org/2001/xmlschemainstance"/> <usageid>465041</usageid> </return> </ns:stopmessagenotificationresponse> </soapenv:body> </soapenv:envelope> Sürüm: 2.16 Tarih: 25/12/2012 Kod: CAPABILITY_EXPOSURE_PLATFORM_API Sayfa: 177 / 337
5.11. MMS Mesajını İtme Uygulamanın kendisine gelen MO MMS mesajlarını alabilmesi için sağlaması gereken servistir. REST ya da SOAP olabilir. Soap Wsdl'i MmsNotificationV2.wsdl olarak attachments altında bulunabilir. Örnek Rest İstek: { "inboundmessagenotification": { "inboundmessage": { "senderaddress":"tel:+90543xxxxxxx", "resourceurl":"developer.vodafone.com\/2/0\/messaging\/inbound\/registrations\/131971\/me ssages\/sdf113263776701", usageid :35, "inboundmmsmessage": { "subject":"lets go party!" }, "destinationaddress":"4459", "link": { "rel":"subscription", "href":"developer.vodafone.com\/2/0\/messaging\/inbound\/subscriptions\/sdf113263776561" }, "messageid":"sdf113263776701" } } } Örnek Soap İstek: Host: 127.0.0.1:8088 Content-Length: 632 SOAPAction: "urn:notifymessagereception" User-Agent: JAX-WS RI 2.1.6 in JDK 6 Sürüm: 2.16 Tarih: 25/12/2012 Kod: CAPABILITY_EXPOSURE_PLATFORM_API Sayfa: 178 / 337
Connection: keep-alive Accept: text/xml, multipart/related, text/html, image/gif, image/jpeg, *; q=.2, */*; q=.2 Content-Type: text/xml;charset="utf-8" <?xml version="1.0"?> <S:Envelope xmlns:s="http://schemas.xmlsoap.org/soap/envelope/"> <S:Body> <ns2:notifymessagereception xmlns:ns2="http://v2.soap.notification.mms.capabilityexposure.services.oksijen.com"> <message> <messageidentifier>sdf11323156597518</messageidentifier> <destinationaddress>4459</destinationaddress> <senderaddress>tel:+90543xxxxxxx</senderaddress> <subject>lets go to party!</subject> <priority>default</priority> <message xmlns:xsi="http://www.w3.org/2001/xmlschema-instance" xsi:nil="true"/> <format>mms</format> <datetime>2011-12-06t09:49:21.107+02:00</datetime> <usageid>35</ usageid > </message> </ns2:notifymessagereception> </S:Body> </S:Envelope> Sürüm: 2.16 Tarih: 25/12/2012 Kod: CAPABILITY_EXPOSURE_PLATFORM_API Sayfa: 179 / 337
6. USSD API Metodları 3rd parti servislerin aboneye USSD mesajları gönderebilmeleri amacıyla hazırlanmış API metodlarıdır. Metod Adı REST SOAP Sağlayan Kullanan USSD Mesaj Gönderimi X X CEP 3. parti servis İletim Raporunu Alma X X CEP 3. parti servis İletim Raporu Alımınını Başlatma X X CEP 3. parti servis İletim Raporu Alımınını Durdurma X X CEP 3. parti servis İletim Raporunu İtme X X 3. parti servis CEP 6.1. USSD Mesaj Gönderimi Uygulamadan USSD gönderiminde kullanılır. İletim raporu isteyip istemediğini parametre olarak belirtebilir, varsayılan hali uygulamanın iletim rapor istemediği yönündedir. Uygulamaya requestid dönülür, uygulama bu Id ile iletim raporu sorgusu yapabilir. Eğer istek sonucu başarısız ise kullanıcıya başarısız olma sebebini açıklayan bir sonuç döner. İstek Parametereleri Parametre Veri Tipi Zorunlu Size Açıklama senderaddress String E 20 byte Uygulamanın SenderAddress i, PathParam olarak verilir address RestCapexSubscriberId E 20 byte Mesaj gönderilecek olan abonenin Idsidir. message String E 69 karakter Gönderilecek olan mesaj içeriği clientcorrelator String H 30 byte Ardarda birden fazla istek yapılmasını önler notifyurl String H 512 byte Gelen iletim raporlarını uygulamaya iletmek için kullanılacak olan URL'dir verilir. Sürüm: 2.16 Tarih: 25/12/2012 Kod: CAPABILITY_EXPOSURE_PLATFORM_API Sayfa: 180 / 337
sendername String H 12 byte Uygulamanın SenderName i receiptrequest Boolean H 5 byte İletim raporu talep edilip edilmediğini ifade eder, varsayılan değeri false'dur. requestchannel String H 3 byte Default USSD RestCapexSubscriberId Parametre Veri Tipi Zorunlu Size Açıklama enduserid String E 20 byte Uygulamanın EndUserid si usageid Long H Mesaj gönderilecek olan abonenin usageidsidir. Boş gelmesi durumunda yenisi generate edilip response un içinde döner. nickname String H Mesaj gönderilecek olan abonenin nickname ini ifade eder. Şu anda sadece lokasyon servisleri bu şekilde çalışır. Dönüş Değerleri Parametre Veri Tipi Açıklama requestid String Başarılı ise requestid, hata durumlarında ERROR dönülür. CapexSubscriberId String USSD gönderilecek olan abonenin Idsidir. Error information String Sorgu sonucunun başarısız olduğu durumda dönülür Error messageid String Sorgu başarısıza hata kodunu içerir Error text String Hata açıklaması yer alır. 6.1.1. REST Arayüzü Rest URL: http://127.0.0.1:8000/2/0/ussdmessaging/outbound/{senderaddress}/requests Sürüm: 2.16 Tarih: 25/12/2012 Kod: CAPABILITY_EXPOSURE_PLATFORM_API Sayfa: 181 / 337
Örnek Rest İstek POST http://127.0.0.1:8000/2/0/ussdmessaging/outbound/131971/requests/ HTTP/1.1 Accept-Encoding: gzip,deflate Content-Type: application/json Authorization: Basic c2vsaw1lqdewmdawmdawnjy6u2vsateymzq= serviceid: :1001000008 User-Agent: Jakarta Commons-HttpClient/3.1 Host: 127.0.0.1:8000 Content-Length: 252 { "restsubscriberid": {"enduserid":"tel:+90542xxxxxxx","nickname":"seli","usageid":"89"}, } "message": "send ussd rest v2", "senderaddress": "131971", "receiptrequest": "true", "notifyurl":"http://blaaa", "requestchannel":"ussd" Örnek Rest Cevap: HTTP/1.1 201 Created Content-Type: application/json Location: http://127.0.0.1:8000/2/0/ussdmessaging/outbound/131971/requests/sdf113387199001 Content-Length: 210 Server: Jetty(6.1.25) { "restcapexsubscriberid": { "usageid": 89, "nickname": "seli", "enduserid": "tel:+90542xxxxxxx" }, Sürüm: 2.16 Tarih: 25/12/2012 Kod: CAPABILITY_EXPOSURE_PLATFORM_API Sayfa: 182 / 337
"resourcereference": {"resourceurl": "developer.vodafone.com/2/0/ussdmessaging/outbound/131971/requests/sdf113387199001"} } Örnek Rest Cevap: FAIL HTTP/1.1 400 Bad Request Content-Type: application/json Content-Length: 177 Server: Jetty(6.1.25) { "policyexception": null, "serviceexception": { "messageid": "SVC0001", "text": "A service error occurred. Error code is %1", "variables": "52:Missing authorization info.", "usageid": 89 } } 6.1.2. SOAP Arayüzü Örnek Soap İstek <soapenv:envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:v2="http://v2.soap.ussd.capabilityexposure.services.oksijen.com"> <soapenv:header> <v2:authentication v2:user="selime@1000000066" v2:password="seli1234" v2:sessionid="" v2:serviceid=":1001000008"/> </soapenv:header> <soapenv:body> <v2:sendussd> <address> <usageid>999</usageid> <enduserid>tel:+90542xxxxxxx</enduserid> <nickname>seli</nickname> Sürüm: 2.16 Tarih: 25/12/2012 Kod: CAPABILITY_EXPOSURE_PLATFORM_API Sayfa: 183 / 337
</address> <sendername xsi:nil="true" xmlns:xsi="http://www.w3.org/2001/xmlschemainstance"/> <senderaddress>131971</senderaddress> <message>test ussd soap v2</message> <receiptrequest>true</receiptrequest> <notifyurl>http://localhost:8088/mockussdnotificationastaskservicesoap12binding</notifyur L> <clientcorrelator xsi:nil="true" xmlns:xsi="http://www.w3.org/2001/xmlschemainstance"/> <requestchannel>ussd</requestchannel> </v2:sendussd> </soapenv:body> </soapenv:envelope> Örnek Soap Cevap: <soapenv:envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/"> <soapenv:body> <ns:sendussdresponse xmlns:ns="http://v2.soap.ussd.capabilityexposure.services.oksijen.com"> <return> <resultcode>0</resultcode> <resultdesc>success</resultdesc> <variables xsi:nil="true" xmlns:xsi="http://www.w3.org/2001/xmlschemainstance"/> <capexsubscriberidlist> <enduserid>tel:+90542xxxxxxx</enduserid> <nickname>seli</nickname> <usageid>999</usageid> </capexsubscriberidlist> <requestid>sdf113385462181</requestid> </return> </ns:sendussdresponse> Sürüm: 2.16 Tarih: 25/12/2012 Kod: CAPABILITY_EXPOSURE_PLATFORM_API Sayfa: 184 / 337
</soapenv:body> </soapenv:envelope> 6.2. İletim Raporunu Alma Atılmış olan mesajların iletim raporları sorgulanablir. İstek Parametereleri Parametre Veri Tipi Zorunlu Size Açıklama senderaddress String E 20 byte requestidentifier String E 30 byte Uygulamanın SenderAddress i, PathParam olarak verilir SendUssd sonucu uygulamaya dönülmüş olan requestid, PathParam olarak verilir. Dönüş Değerleri Parametre Veri Tipi Açıklama deliveryinfo List<RestDeliveryInfo> Başarılı ise Mesajların listesi dönülür, hata durumlarında ERROR dönülür. resourceurl String Bu mesajın referans URL'ini belirtir, uygulama mesajın durumunu bu linkten takip edebilir. DeliveryInfo nesnesinin içeriği şu şekildedir: Parametre Veri Tipi Açıklama address String Mesajın gönderilmiş olduğu son kullanıcının EndUserId sidir. deliverystatus String Mesajın iletilip iletilmediğini gösteren durumunu ifade eder deliveryreasoncode Integer Mesajın iletilememsi durumunda sorunun sebebini belirtir,başarılı ise değeri sıfır. usageid Long USSD gönderimi esnasında verilmiş olan usageid bigisidir Sürüm: 2.16 Tarih: 25/12/2012 Kod: CAPABILITY_EXPOSURE_PLATFORM_API Sayfa: 185 / 337
6.2.1. REST Arayüzü Rest URL: http://127.0.0.1:8000/2/0/ussdmessaging/outbound/{senderaddress}/requests/{requestidentifier}/ deliveryinfos Örnek Rest İstek GET http://127.0.0.1:8000/2/0/ussdmessaging/outbound/131971/requests/sdf113387199001/delivery Infos HTTP/1.1 Accept-Encoding: gzip,deflate Authorization: Basic c2vsaw1lqdewmdawmdawnjy6u2vsateymzq= serviceid: :1001000008 User-Agent: Jakarta Commons-HttpClient/3.1 Host: 127.0.0.1:8000 Örnek Rest Cevap: HTTP/1.1 200 OK Content-Type: application/json Content-Length: 260 Server: Jetty(6.1.25) {"deliveryinfolist": { "resourceurl": "developer.vodafone.com/2/0/ussdmessaging/outbound/131971/requests/sdf113387199001/delive ryinfos", }} "deliveryinfo": [ { }] "address": "tel:+90542xxxxxxx", "deliverystatus": "DeliveredToTerminal", "usageid": 89, "deliveryreasoncode": 0 Sürüm: 2.16 Tarih: 25/12/2012 Kod: CAPABILITY_EXPOSURE_PLATFORM_API Sayfa: 186 / 337
6.2.2. SOAP Arayüzü Örnek Soap İstek <soapenv:envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:v2="http://v2.soap.ussd.capabilityexposure.services.oksijen.com"> <soapenv:header> <v2:authentication v2:user="selime@1000000066" v2:password="seli1234" v2:sessionid="" v2:serviceid=":1001000008"/> </soapenv:header> <soapenv:body> <v2:querydeliverystatus> <requestidentifier>sdf113387205801</requestidentifier> <senderaddress>131971</senderaddress> </v2:querydeliverystatus> </soapenv:body> </soapenv:envelope> Örnek Soap Cevap: <soapenv:envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/"> <soapenv:body> <ns:querydeliverystatusresponse xmlns:ns="http://v2.soap.ussd.capabilityexposure.services.oksijen.com"> <return> <resultcode>0</resultcode> <resultdesc>success</resultdesc> <variables xsi:nil="true" xmlns:xsi="http://www.w3.org/2001/xmlschemainstance"/> <deliveryinformationlist> <address>tel:+90542xxxxxxx</address> <chargereferencecode xsi:nil="true" xmlns:xsi="http://www.w3.org/2001/xmlschema-instance"/> <deliveryreasoncode>0</deliveryreasoncode> <deliverystatus>deliveredtoterminal</deliverystatus> <usageid>5555</usageid> </deliveryinformationlist> </return> </ns:querydeliverystatusresponse> </soapenv:body> Sürüm: 2.16 Tarih: 25/12/2012 Kod: CAPABILITY_EXPOSURE_PLATFORM_API Sayfa: 187 / 337
</soapenv:envelope> 6.3. İletim Raporu Alımınını Başlatma Uygulama iletim raporları için kendi URL'ini kayıt ettirir. Eğer USSD gönderirken herhangi bir notifyurl verilmezse, iletim raporu geldiğinde uygulamanın kayıt ettirmiş olduğu bu notifyurl kullanılarak onay mesajının cevabı uygulamaya iletilir. İstek Parametereleri Parametre Veri Tipi Zorunlu Size Açıklama senderaddress String E 20 byte notifyurl String E 512 byte callbackdata String H 50 byte clientcorrelator String H 30 byte Uygulamanın SenderAddress i, PathParam olarak verilir İletim raporlarını uygulamaya çıkabilmek için kullanılacak olan URLdir, FormParam olarak verilir. Uygulamanın kaydolurken eklediği, cevabı dönerken aynen cevabın içine eklememizi beklediği bir veridir, FormParam olarak verilir. İki kez ardarda aynı isteği yapmayı engeller, FormParam olarak verilir. usageid Long H Akışı bağlamak istediğimiz usageid verilmelidir. Dönüş Değerleri Parametre Veri Tipi Açıklama subscriptionid long Başarılı ise kaydolduğu Id dönülür, hata durumlarında ERROR dönülür. usageid Long Input parametresi oalrak verilmiş olan veya verilmediyse yeni üretilmiş olan usageid Error information String Sorgu sonucunun başarısız olduğu durumda dönülür Error messageid String Sorgu başarısızsa hata kodunu içerir Error text String Hata açıklaması yer alır. Sürüm: 2.16 Tarih: 25/12/2012 Kod: CAPABILITY_EXPOSURE_PLATFORM_API Sayfa: 188 / 337
6.3.1. REST Arayüzü Rest URL: http://127.0.0.1:8000/2/0/ussdmessaging/outbound/{senderaddress}/subscriptions Örnek Rest İstek POST http://127.0.0.1:8000/2/0/ussdmessaging/outbound/131971/subscriptions HTTP/1.1 Accept-Encoding: gzip,deflate Content-Type: application/x-www-form-urlencoded Authorization: Basic c2vsaw1lqdewmdawmdawnjy6u2vsateymzq= serviceid: :1001000008 User-Agent: Jakarta Commons-HttpClient/3.1 Host: 127.0.0.1:8000 Content-Length: 22 notifyurl=http://www.vodafone.com Örnek Rest Cevap: HTTP/1.1 201 Created Content-Type: application/json Location: http://127.0.0.1:8000/2/0/ussdmessaging/outbound/131971/subscriptions/sdf113387203401 Content-Length: 215 Server: Jetty(6.1.25) { "usageid": 464988, "deliveryreceiptsubscription": { "resourceurl": "developer.vodafone.com/2/0/ussdmessaging/outbound/subscriptions/sdf113387203401", } "callbackreference": { } "callbackdata": null, "notifyurl": "http://blaaa" Sürüm: 2.16 Tarih: 25/12/2012 Kod: CAPABILITY_EXPOSURE_PLATFORM_API Sayfa: 189 / 337
} 6.3.2. SOAP Arayüzü Örnek Soap İstek <soapenv:envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:v2="http://v2.soap.ussd.capabilityexposure.services.oksijen.com"> <soapenv:header> <v2:authentication v2:user="selime@1000000066" v2:password="seli1234" v2:sessionid="" v2:serviceid=":1001000008"/> </soapenv:header> <soapenv:body> <v2:startdeliveryreceiptnotification> <senderaddress>131971</senderaddress> <notifyurl>http://localhost:8088//mockussdnotificationastaskservicesoap11binding</notifyu rl> <callbackdata></callbackdata> <clientcorrelator>34</clientcorrelator> <usageid>766</usageid> </v2:startdeliveryreceiptnotification> </soapenv:body> </soapenv:envelope> Örnek Soap Cevap: FAIL <soapenv:envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/"> <soapenv:body> <ns:startdeliveryreceiptnotificationresponse xmlns:ns="http://v2.soap.ussd.capabilityexposure.services.oksijen.com"> <return> <resultcode>69</resultcode> <resultdesc>invalid url.</resultdesc> Sürüm: 2.16 Tarih: 25/12/2012 Kod: CAPABILITY_EXPOSURE_PLATFORM_API Sayfa: 190 / 337
<variables xsi:nil="true" xmlns:xsi="http://www.w3.org/2001/xmlschemainstance"/> <id xsi:nil="true" xmlns:xsi="http://www.w3.org/2001/xmlschema-instance"/> <usageid>766</usageid> </return> </ns:startdeliveryreceiptnotificationresponse> </soapenv:body> </soapenv:envelope> SUCCESS <soapenv:envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/"> <soapenv:body> <ns:startdeliveryreceiptnotificationresponse xmlns:ns="http://v2.soap.ussd.capabilityexposure.services.oksijen.com"> <return> <resultcode>0</resultcode> <resultdesc>success</resultdesc> <variables xsi:nil="true" xmlns:xsi="http://www.w3.org/2001/xmlschemainstance"/> <id>sdf113387161201</id> <usageid>766</usageid> </return> </ns:startdeliveryreceiptnotificationresponse> </soapenv:body> </soapenv:envelope> 6.4. İletim Raporu Alımınını Durdurma Uygulama iletim raporları için daha önce kaydettirmiş olduğu URL'i iptal ettirebilir. İptal ettirebilmesi için kaydolurken uygulamaya dönülen "subscriptionid" ile uygulama iptal isteği gönderilmelidir. İstek Parametereleri Parametre Veri Tipi Zorunlu Size Açıklama subsid String E 30 byte İletim raporları için kayıt yaptırırken uygulamaya dönülmüş olan subscriptionid usageid Long H Akış takibi açısından subscription başlatırken verilen usageid ile aynı Sürüm: 2.16 Tarih: 25/12/2012 Kod: CAPABILITY_EXPOSURE_PLATFORM_API Sayfa: 191 / 337
olması beklenir. Dönüş Değerleri Parametre Veri Tipi Açıklama usageid Long Parametre oalrak verilmiş olan veya yeni verilmemiş ise yeni üretilmiş olan usageid bilgisi dönülür. 6.4.1. REST Arayüzü Rest URL: http://127.0.0.1.8000/2/0/ussdmessaging/outbound/subscriptions/{subsid} Örnek Rest İstek DELETE http://127.0.0.1:8000/2/0/ussdmessaging/outbound/subscriptions/sdf113387203401 HTTP/1.1 Accept-Encoding: gzip,deflate Authorization: Basic c2vsaw1lqdewmdawmdawnjy6u2vsateymzq= serviceid: :1001000008 User-Agent: Jakarta Commons-HttpClient/3.1 Host: 127.0.0.1:8000 Örnek Rest Cevap: HTTP/1.1 200 OK Content-Type: application/json Content-Length: 18 Server: Jetty(6.1.25) {"usageid":464989} 6.4.2. SOAP Arayüzü Örnek Soap İstek <soapenv:envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:v2="http://v2.soap.ussd.capabilityexposure.services.oksijen.com"> Sürüm: 2.16 Tarih: 25/12/2012 Kod: CAPABILITY_EXPOSURE_PLATFORM_API Sayfa: 192 / 337
<soapenv:header> <v2:authentication v2:user="selime@1000000066" v2:password="seli1234" v2:sessionid="" v2:serviceid=":1001000008"/> </soapenv:header> <soapenv:body> <v2:stopdeliveryreceiptnotification> <subsid>sdf113387161201</subsid> <usageid>766</usageid> </v2:stopdeliveryreceiptnotification> </soapenv:body> </soapenv:envelope> Örnek Soap Cevap: <soapenv:envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/"> <soapenv:body> <ns:stopdeliveryreceiptnotificationresponse xmlns:ns="http://v2.soap.ussd.capabilityexposure.services.oksijen.com"> <return> <resultcode>0</resultcode> <resultdesc>success</resultdesc> <variables xsi:nil="true" xmlns:xsi="http://www.w3.org/2001/xmlschemainstance"/> <usageid>766</usageid> </return> </ns:stopdeliveryreceiptnotificationresponse> </soapenv:body> </soapenv:envelope> 6.5. İletim Raporunu İtme Uygulamanın kendisine gelen iletim raporlarını alabilmesi için sağlaması gereken servistir. REST ya da SOAP olabilir. Soap Wsdl'i UssdResponseNotification.wsdl olarak attachments altında bulunabilir. Sürüm: 2.16 Tarih: 25/12/2012 Kod: CAPABILITY_EXPOSURE_PLATFORM_API Sayfa: 193 / 337
6.5.1. SOAP Arayüzü Örnek Soap Istek: Host: 172.28.138.168:8088 Content-Length: 576 SOAPAction: "urn:notifydeliveryreceipt" User-Agent: JAX-WS RI 2.1.7-b01- Connection: keep-alive Accept: text/xml, multipart/related, text/html, image/gif, image/jpeg, *; q=.2, */*; q=.2 Content-Type: text/xml;charset="utf-8" <?xml version='1.0' encoding='utf-8'?> <S:Envelope xmlns:s="http://schemas.xmlsoap.org/soap/envelope/"> <S:Body> <ns2:notifydeliveryreceipt xmlns:ns2="http://v2.notification.ussd.capabilityexposure.services.oksijen.com"> <messageid>sdf113393952131</messageid> <deliverystatus> <address>tel:+90542xxxxxxx</address> <callbackdata xmlns:xsi="http://www.w3.org/2001/xmlschema-instance" xsi:nil="true"/> <deliveryreasoncode>0</deliveryreasoncode> <deliverystatus>deliveredtoterminal</deliverystatus> <usageid>34</usageid> </deliverystatus> </ns2:notifydeliveryreceipt> </S:Body> </S:Envelope> 6.5.2. REST Arayüzü Örnek Rest Istek: POST http://3rdpartyservice:6666/getussddelivery HTTP/1.1 Accept-Encoding: gzip,deflate User-Agent: Jakarta Commons-HttpClient/3.1 Host: localhost:8000 Content-Length: 158 Sürüm: 2.16 Tarih: 25/12/2012 Kod: CAPABILITY_EXPOSURE_PLATFORM_API Sayfa: 194 / 337
Content-Type: application/json {"deliveryinfonotification": {"deliveryinfo": {"address": "tel:+90542xxxxxxx", "deliveryreasoncode":0, "deliverystatus":"deliveredtoterminal", "usageid":89 } } } Sürüm: 2.16 Tarih: 25/12/2012 Kod: CAPABILITY_EXPOSURE_PLATFORM_API Sayfa: 195 / 337
7. Konum ve Coğrafi Bilgi API Metodları Lokasyon apisi web uygulamalarının Vodafone networkündeki bir mobil cihazın yerinin sorgulanması için kullanılır. Bir ya da birden fazla kullanıcı numarası verilerek enlem,boylam olarak konum öğrenilebilir. REST ve SOAP olarak açılmış bir servistir. Bu API grubuyla açılan metodlar şu şekildedir: Metod Adı REST SOAP Sağlayan Kullanan Konum Sorgusu X X CEP 3. parti servis Grup Konum Sorgusu X X CEP 3. parti servis Adres Sorgusu X X CEP 3. parti servis İlgi Noktası (POI) sorgulama X X CEP 3. parti servis Rota Sorgulama X X CEP 3. parti servis 7.1. Konum Sorgusu Vodafone kullanıcının numarası verilerek bulunduğu koordinatlar öğrenilir. Eğer istek sonucu başarısız ise 3. paritye başarısız olma sebebini açıklayan bir sonuç döner. İstek Parametereleri Parametre Veri Tipi Zorunl u Size Açıklama address List <RestCapexSubscriberId> E 30 adet adres alabilir. Lokasyonu bulunmak istenen abonelerin listesi requester RestLocationSubscriberI d H Lokasyonu almak isteyen abonenin ID si Sürüm: 2.16 Tarih: 25/12/2012 Kod: CAPABILITY_EXPOSURE_PLATFORM_API Sayfa: 196 / 337
requestedaccuracy int H - Metre cinsinden istenen hassasiyet değeri acceptableaccurac y int H - Metre cinsinden istenen hassasiyet değeri maximumage int H - Metre cinsinden istenen hassasiyet değeri responsetime int H - Metre cinsinden istenen hassasiyet değeri tolerance int E - NoDelay,LowDelay,DelayToleran t RestCapexSubscriberId Parametre Veri Tipi Zorunlu Size Açıklama enduserid String E 20 byte Lokasyonu alınmak istenen abonenin EndUserid si usageid Long H Bağlanmak istenen akışa ait usageid bilgisidir. Verilmemesi durumunda yeni akış kabul edildiği için yeni bir usageid üretilip cevapta dönülür. nickname String H Lokasyonu alınmak istenen abonenin nickname ini ifade eder. RestLocationSubscriberId Parametre Veri Tipi Zorunlu Size Açıklama enduserid String E 20 byte Lokasyon isteğinde bulunan abonenin EndUserid si nickname String H Lokasyon isteğinde bulunan nickname ini ifade eder. Dönüş Değerleri Parametre Veri Tipi Açıklama Sürüm: 2.16 Tarih: 25/12/2012 Kod: CAPABILITY_EXPOSURE_PLATFORM_API Sayfa: 197 / 337
address String Abonenin opaqueid si accuracy int Hassasiyet altitude float Yükseklik latitude float Enlem longitude float Boylam timestamp String Sorgu zamanı locationretrievalstatus String Başarılı ise RETRIVED, hata durumlarında ERROR dönülür. usageid Long Akışı bağlamak için dönülen usageid bilgisidir. Error information String Sorgu sonucunun başarısız olduğu durumda dönülür Error messageid String Sorgu başarısızsa hata kodunu içerir Error text String Hata açıklaması yer alır. 7.1.1. REST Arayüzü Rest URL: http://127.0.0.1:8000/3/0/location/queries/location Örnek Rest İstek POST http://127.0.0.1:8000/3/0/location/queries/location?requestedaccuracy=100 HTTP/1.1 Accept-Encoding: gzip,deflate Content-Type: application/json Authorization: Basic c2vsaw1lqdewmdawmdawnjy6u2vsateymzq= serviceid: :1001000008 User-Agent: Jakarta Commons-HttpClient/3.1 Host: 127.0.0.1:8000 Content-Length: 225 { "requester": {"enduserid":"tel:+90542xxxxxxx","nickname":"seli"}, "address": [{"enduserid":"tel:+90543xxxxxxx","nickname":"seli","usageid":45},{"enduserid":"tel:+9054 2xxxxxxx","nickname":"sulti","usageId":46}] Sürüm: 2.16 Tarih: 25/12/2012 Kod: CAPABILITY_EXPOSURE_PLATFORM_API Sayfa: 198 / 337
} Örnek Rest Cevap: HTTP/1.1 200 OK Content-Type: application/json Content-Length: 513 Server: Jetty(6.1.25) {"terminallocation": [ { "address": "tel:+90543xxxxxxx", "currentlocation": { "timestamp": "2012-06-1T14:06:45", "accuracy": 0, "altitude": 0, "latitude": 41.10833, "longitude": 29.034119 }, "usageid": 45, "locationretrievalstatus": "Retrieved", "errorinformation": null }, { "address": "tel:+90542xxxxxxx", "currentlocation": null, "usageid": 46, "locationretrievalstatus": "NotRetrieved", "errorinformation": { "policyexception": null, "serviceexception": { "messageid": "177", "text": "Location consent is rejected.", "variables": null, "usageid": 46 } Sürüm: 2.16 Tarih: 25/12/2012 Kod: CAPABILITY_EXPOSURE_PLATFORM_API Sayfa: 199 / 337
} } ]} 7.1.2. SOAP Arayüzü Örnek Soap İstek <soapenv:envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:v3="http://v3.soap.location.capabilityexposure.services.oksijen.com"> <soapenv:header> <v3:authentication v3:user="hilal@1000000065" v3:password="hilal1983" v3:sessionid="" v3:serviceid=":1001000043"/> </soapenv:header> <soapenv:body> <v3:getlocation> <requester> <enduserid>acr:286002bcofj7vc8l5zm7afpmp9ujiaz1ijks44gzy72ylz9xkq0cyed+w1l5zaiqdtrj+hkf7l bnc8vgywpj8o8uz9yw==</enduserid> <nickname>eray</nickname> </requester> <address> <usageid>34</usageid> <enduserid>acr:286002mjvrv/jvu2uh58/eki20rgbrwe+gct6s162pnq+jeiw5rqzhwk77bt30pmidv TZhS91vNnB4GOrInoCF2LDoTA==</endUserId> <nickname>hilal</nickname> </address> <requestedaccuracy>45</requestedaccuracy> <maximumage> Sürüm: 2.16 Tarih: 25/12/2012 Kod: CAPABILITY_EXPOSURE_PLATFORM_API Sayfa: 200 / 337
<metric>second</metric> </maximumage> <responsetime> <metric>second</metric> </responsetime> <tolerance>nodelay</tolerance> </v3:getlocation> </soapenv:body> </soapenv:envelope> Örnek Soap Cevap: <soapenv:envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/"> <soapenv:body> <ns:getlocationresponse xmlns:ns="http://v3.soap.location.capabilityexposure.services.oksijen.com"> <return> <resultcode>177</resultcode> <resultdesc>location consent is rejected.</resultdesc> <variables xsi:nil="true" xmlns:xsi="http://www.w3.org/2001/xmlschemainstance"/> <address>acr:286002mjvrv/jvu2uh58/eki20rgbrwe+gct6s162pnq+jeiw5rqzhwk77bt30pmidvtzhs91vnn B4GOrInoCF2LDoTA==</address> <currentlocation> <accuracy>0</accuracy> <altitude xsi:nil="true" xmlns:xsi="http://www.w3.org/2001/xmlschemainstance"/> <latitude>0.0</latitude> <longitude>0.0</longitude> <timestamp xsi:nil="true" xmlns:xsi="http://www.w3.org/2001/xmlschemainstance"/> </currentlocation> <reportstatus>notretrieved</reportstatus> <usageid>34</usageid> </return> Sürüm: 2.16 Tarih: 25/12/2012 Kod: CAPABILITY_EXPOSURE_PLATFORM_API Sayfa: 201 / 337
</ns:getlocationresponse> </soapenv:body> </soapenv:envelope> 7.2. Grup Konum Sorgusu Vodafone kullanıcılarının numarası verilerek bulunduğu koordinatlar öğrenilir. Eğer istek sonucu başarısız ise 3. partiye başarısız olma sebebini açıklayan bir sonuç döner. İstek Parametereleri Parametre Veri Tipi Zoru nlu Size Açıklama address List <RestCapexSubscribe rid> E 30 adet adres alabilir. 7.1 de açıklanmıştır. Lokasyonu bulunmak istenen abonelerin listesi requester RestLocationSubscri berid H 7.1 de açıklanmıştır. Lokasyonu almak isteyen abonenin ID si, requestedacc uracy acceptableac curacy int E - Metre cinsinden istenen hassasiyet değeri int H - Metre cinsinden istenen hassasiyet değeri maximumage int H - Metre cinsinden istenen hassasiyet değeri responsetime int H - Metre cinsinden istenen hassasiyet değeri tolerance int E - NoDelay,LowDelay,DelayTo lerant Dönüş Değerleri Sürüm: 2.16 Tarih: 25/12/2012 Kod: CAPABILITY_EXPOSURE_PLATFORM_API Sayfa: 202 / 337
Parametre Veri Tipi Açıklama address String Abonenin opaqueid si accuracy int Hassasiyet altitude float Yükseklik latitude float Enlem longitude float Boylam timestamp String Sorgu zamanı locationretrievalstatus String Başarılı ise RETRIVED, hata durumlarında ERROR dönülür. usageid Long Akışı bağlamak için dönülen usageid bilgisidir. Error information String Sorgu sonucunun başarısız olduğu durumda dönülür Error messageid String Sorgu başarısızsa hata kodunu içerir 7.2.1. REST Arayüzü 7.1.1 ile aynı method çağrılır. 7.2.2. SOAP Arayüzü Örnek Soap İstek <soapenv:envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:v3="http://v3.soap.location.capabilityexposure.services.oksijen.com"> <soapenv:header> <v3:authentication v3:user="sultan@1000000062" v3:password="sultan35" v3:sessionid="" v3:serviceid=":1001000162"/> </soapenv:header> <soapenv:body> <v3:getlocationforgroup> <requester> <enduserid>tel:+90542xxxxxxx</enduserid> Sürüm: 2.16 Tarih: 25/12/2012 Kod: CAPABILITY_EXPOSURE_PLATFORM_API Sayfa: 203 / 337
<nickname xsi:nil="true" xmlns:xsi="http://www.w3.org/2001/xmlschemainstance"/> </requester> <!--1 or more repetitions:--> <address> <enduserid>tel:+90542xxxxxxx</enduserid> <nickname xsi:nil="true" xmlns:xsi="http://www.w3.org/2001/xmlschemainstance"/> <usageid>45</usageid> </address> <address> <enduserid>tel:+90542xxxxxxx</enduserid> <nickname xsi:nil="true" xmlns:xsi="http://www.w3.org/2001/xmlschemainstance"/> <usageid>45</usageid> </address> <requestedaccuracy>12</requestedaccuracy> <maximumage> <metric>second</metric> </maximumage> <responsetime> <metric>second</metric> </responsetime> <tolerance>nodelay</tolerance> </v3:getlocationforgroup> </soapenv:body> Sürüm: 2.16 Tarih: 25/12/2012 Kod: CAPABILITY_EXPOSURE_PLATFORM_API Sayfa: 204 / 337
</soapenv:envelope> Örnek Soap Cevap: <soapenv:envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/"> <soapenv:body> <ns:getlocationforgroupresponse xmlns:ns="http://v3.soap.location.capabilityexposure.services.oksijen.com"> <return> <resultcode>0</resultcode> <resultdesc>success</resultdesc> <variables xsi:nil="true" xmlns:xsi="http://www.w3.org/2001/xmlschemainstance"/> <location> <resultcode>0</resultcode> <resultdesc>success</resultdesc> <variables xsi:nil="true" xmlns:xsi="http://www.w3.org/2001/xmlschemainstance"/> <address>tel:+90542xxxxxxx</address> <currentlocation> <accuracy>0</accuracy> <altitude xsi:nil="true" xmlns:xsi="http://www.w3.org/2001/xmlschemainstance"/> <latitude>41.10833</latitude> <longitude>29.034119</longitude> <timestamp>2012-06-12t13:42:52.000+03:00</timestamp> </currentlocation> <reportstatus>retrieved</reportstatus> <usageid>45</usageid> </location> <location> <resultcode>171</resultcode> <resultdesc>waiting For Location Consent</resultDesc> <variables xsi:nil="true" xmlns:xsi="http://www.w3.org/2001/xmlschemainstance"/> <address>tel:+90542xxxxxxx</address> <currentlocation> <accuracy>0</accuracy> <altitude xsi:nil="true" xmlns:xsi="http://www.w3.org/2001/xmlschemainstance"/> Sürüm: 2.16 Tarih: 25/12/2012 Kod: CAPABILITY_EXPOSURE_PLATFORM_API Sayfa: 205 / 337
<latitude>0.0</latitude> <longitude>0.0</longitude> <timestamp xsi:nil="true" xmlns:xsi="http://www.w3.org/2001/xmlschemainstance"/> </currentlocation> <reportstatus>waitingforconsent</reportstatus> <usageid>45</usageid> </location> </return> </ns:getlocationforgroupresponse> </soapenv:body> </soapenv:envelope> 7.3. Konum Onayının Durum Bilgisini Sorgulama Kullanıcı girdi olarak isteği yapan kişinin adresini (servis lokasyon sorguluyorsa boş bırakılır) ve istekde bulunulan kişinin adresini verir, sonucunda onayın durum bilgisi kullanıcıya döner. Bunun yanında sonuç değeri de kullanıcıya döndürülür, başarılı veya başarısız şeklinde. Eğer istek sonucu başarısız ise kullanıcıya başarısız olma sebebini açıklayan bir sonuç döner. İstek Parametereleri Parametre Veri Tipi Zorunlu Size Açıklama requester RestlocationSubscriberId H 7.1 de açıklanmıştır. requested RestCapexSubscriberId E 7.1de açıklanmıştır. Lokasyonu almak isteyen abonenin ID sidir Lokasyonu bulunmak istenen abonelerin CapexSubscriberId sidir listesi Dönüş Değerleri Parametre Veri Tipi Açıklama Sürüm: 2.16 Tarih: 25/12/2012 Kod: CAPABILITY_EXPOSURE_PLATFORM_API Sayfa: 206 / 337
content String YES, NO ve NO_CONSENT olabilir. Onayın durumunu belirtir. requested String Lokasyonu bulunmak istenen abonenin adresi. requester String Lokasyonu almak isteyen abonenin EndUserId si (servis olması durumunda boştur) requesternickname String Lokasyonu almak isteyen abonenin takma adı. usageid Long Bu bilgi girdi olarak verilmediyse yeni bir akış olduğu farz edilip yeni bir usageid üretilip dönülür. Error messageid String Sorgu başarısızsa hata kodunu içerir Error text String Hata açıklaması yer alır. 7.3.1. REST Arayüzü Rest URL: http://127.0.0.1:8000/2/0/consent/location/requests/query Örnek Rest İstek POST http://172.25.23.74:8100/2/0/consent/location/requests/query HTTP/1.1 Accept-Encoding: gzip,deflate Content-Type: application/json Authorization: Basic c3vsdgfuqdewmdawmdawnji6u3vsdgfumzu= serviceid: :1001000162 User-Agent: Jakarta Commons-HttpClient/3.1 Host: 172.25.23.74:8100 Content-Length: 161 { "requester": {"enduserid":"tel:+90542xxxxxxx","nickname":"eray"}, "address": {"enduserid":"tel:+90542xxxxxxx","nickname":"seli","usageid":46} } Örnek Rest Cevap: HTTP/1.1 200 OK Sürüm: 2.16 Tarih: 25/12/2012 Kod: CAPABILITY_EXPOSURE_PLATFORM_API Sayfa: 207 / 337
Content-Type: application/json Content-Length: 125 Server: Jetty(6.1.25) { "content": "YES", "usageid": 46, "requester": "tel:+90542xxxxxxx", "requested": "tel:+90542xxxxxxx", "requesternickname": "eray" } 7.3.2. SOAP Arayüzü Örnek Soap İstek <soap:envelope xmlns:soap="http://www.w3.org/2003/05/soap-envelope" xmlns:v2="http://v2.soap.location.consent.capabilityexposure.services.oksijen.com"> <soap:header> <v2:authentication v2:user="sultan@1000000062" v2:password="sultan35" v2:sessionid="" v2:serviceid=":1001000162"/> </soap:header> <soap:body> <v2:querylocationconsentresponse> <requester> <enduserid>tel:+90542xxxxxxx</enduserid> <nickname>eray</nickname> </requester> <requested> <usageid>46</usageid> <enduserid>tel:+90542xxxxxxx</enduserid> <nickname>seli</nickname> Sürüm: 2.16 Tarih: 25/12/2012 Kod: CAPABILITY_EXPOSURE_PLATFORM_API Sayfa: 208 / 337
</requested> </v2:querylocationconsentresponse> </soap:body> </soap:envelope> Örnek Soap Cevap: <soapenv:envelope xmlns:soapenv="http://www.w3.org/2003/05/soap-envelope"> <soapenv:body> <ns:querylocationconsentresponseresponse xmlns:ns="http://v2.soap.location.consent.capabilityexposure.services.oksijen.com"> <return> <resultcode>0</resultcode> <resultdesc>success</resultdesc> <variables xsi:nil="true" xmlns:xsi="http://www.w3.org/2001/xmlschemainstance"/> <content>yes</content> <requested>tel:+90542xxxxxxx</requested> <requester>tel:+90542xxxxxxx</requester> <requesternickname>eray</requesternickname> <usageid>46</usageid> </return> </ns:querylocationconsentresponseresponse> </soapenv:body> </soapenv:envelope> 7.4. Event Alımınını Başlatma Uygulama iletim raporlar,sms,mms yada lokasyon raporları için kendi URL'ini kayıt ettirir. Hangi tip event ile ilgilendiğini eventtype parametresi ile belirtir. İstek Parametereleri Parametre Veri Tipi Zorunlu Size Açıklama Sürüm: 2.16 Tarih: 25/12/2012 Kod: CAPABILITY_EXPOSURE_PLATFORM_API Sayfa: 209 / 337
eventtype int E INCOMING SMS(1), INCOMING MMS(2), OUTGOING SMS_DELIVERY(3), OUTGOING_MMS_DELIVERY(4), OUTGOING_USSD_DELIVERY(5), AOC_RESPONSE(6), LOCATION(7); notifyurl String E 512 byte İletim raporlarını uygulamaya çıkabilmek için kullanılacak olan URLdir, FormParam olarak verilir. callbackdata String H 50 byte Uygulamanın kaydolurken eklediği, cevabı dönerken aynen cevabın içine eklememizi beklediği bir veridir, FormParam olarak verilir. usageid Long H 2.3 te anlatılmıştır. Akışı bağlamak için gerekli olan usageid Dönüş Değerleri Parametre Veri Tipi Açıklama subscriptionid long Başarılı ise kaydolduğu Id dönülür, hata durumlarında ERROR dönülür. usageid Long Bu bilgi girdi olarak verilmediyse yeni bir akış olduğu farz edilip yeni bir usageid üretilip dönülür. Error messageid String Sorgu başarısızsa hata kodunu içerir Error text String Hata açıklaması yer alır. 7.4.1. REST Arayüzü Rest URL: http://127.0.0.1:8000/2/0/eventnotification/subscriptions Örnek Rest İstek POST http://172.25.23.74:8100/2/0/eventnotification/subscriptions HTTP/1.1 Sürüm: 2.16 Tarih: 25/12/2012 Kod: CAPABILITY_EXPOSURE_PLATFORM_API Sayfa: 210 / 337
Accept-Encoding: gzip,deflate Content-Type: application/x-www-form-urlencoded Authorization: Basic c3vsdgfuqdewmdawmdawnji6u3vsdgfumzu= serviceid: :1001000162 User-Agent: Jakarta Commons-HttpClient/3.1 Host: 172.25.23.74:8100 Content-Length: 76 notifyurl=https://172.28.138.59:9443/deneme/myservlet&eventtype=7&usageid=23 Örnek Rest Cevap: FAIL HTTP/1.1 400 Bad Request Content-Type: application/json Content-Length: 177 Server: Jetty(6.1.25) { "policyexception": null, "serviceexception": { "messageid": "SVC0001", "text": "A service error occurred. Error code is %1", "variables": "52:Missing authorization info.", "usageid": 23 } } SUCCESS HTTP/1.1 201 Created Content-Type: application/json Location: http://127.0.0.1:8000/2/0/eventnotification/subscriptions/sdf113384837491 Content-Length: 127 Server: Jetty(6.1.25) { "usageid": 23, Sürüm: 2.16 Tarih: 25/12/2012 Kod: CAPABILITY_EXPOSURE_PLATFORM_API Sayfa: 211 / 337
"resourcereference": {"resourceurl": "developer.vodafone.com/2/0/eventnotification/subscriptions/sdf113395032571"} } 7.4.2. SOAP Arayüzü Örnek Soap İstek <soapenv:envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:v2="http://v2.soap.notification.capabilityexposure.service.oksijen.com"> <soapenv:header> <v2:authentication v2:user="sultan@1000000062" v2:password="sultan35" v2:sessionid="" v2:serviceid=":1001000162"/> </soapenv:header> <soapenv:body> <v2:startnotification> <callbackdata></callbackdata> <notifyurl>http://172.28.138.168:8088/mockcapexeventv2soap11binding</notifyurl> <eventtype>7</eventtype> <usageid>3434</usageid> </v2:startnotification> </soapenv:body> </soapenv:envelope> Örnek Soap Cevap: <soapenv:envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/"> <soapenv:body> <ns:startnotificationresponse xmlns:ns="http://v2.soap.notification.capabilityexposure.service.oksijen.com"> <return> <resultcode>0</resultcode> <resultdesc>success</resultdesc> <variables xsi:nil="true" xmlns:xsi="http://www.w3.org/2001/xmlschemainstance"/> <id>sdf113395065771</id> Sürüm: 2.16 Tarih: 25/12/2012 Kod: CAPABILITY_EXPOSURE_PLATFORM_API Sayfa: 212 / 337
<usageid>3434</usageid> </return> </ns:startnotificationresponse> </soapenv:body> </soapenv:envelope> 7.5. Event Alımınını Durdurma Uygulama iletim raporları için daha önce kaydettirmiş olduğu URL'i iptal ettirebilir. İptal ettirebilmesi için kaydolurken uygulamaya dönülen "subscriptionid" ile uygulama iptal isteği gönderilmelidir. İstek Parametereleri Parametre Veri Tipi Zorunlu Size Açıklama subsid String E 30 byte Event alımı için kayıt yaptırırken uygulamaya dönülmüş olan subscriptionid usageid Long H Akış takibi açısından subscription başlatırken verilen usageid ile aynı olması beklenir. Dönüş Değerleri Parametre Veri Tipi Açıklama usageid Long Parametre oalrak verilmiş olan veya yeni verilmemiş ise yeni üretilmiş olan usageid bilgisi dönülür. 7.5.1. REST Arayüzü Rest URL: http://127.0.0.1:8000/2/0/eventnotification/subscriptions/{subscriptionid} Sürüm: 2.16 Tarih: 25/12/2012 Kod: CAPABILITY_EXPOSURE_PLATFORM_API Sayfa: 213 / 337
Örnek Rest İstek DELETE http://127.0.0.1:8000/2/0/eventnotification/subscriptions/ sdf113384837491?usageid=23 HTTP/1.1 Accept-Encoding: gzip,deflate Authorization: Basic c2vsaw1lqdewmdawmdawnjy6u2vsateymzq= serviceid: :1001000008 User-Agent: Jakarta Commons-HttpClient/3.1 Host: 127.0.0.1:8000 Örnek Rest Cevap TTP/1.1 200 OK Content-Type: application/json Content-Length: 14 Server: Jetty(6.1.25) {"usageid":23} 7.5.2. SOAP Arayüzü Örnek Soap İstek <soapenv:envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:v2="http://v2.soap.notification.capabilityexposure.service.oksijen.com"> <soapenv:header> <v2:authentication v2:user="sultan@1000000062" v2:password="sultan35" v2:sessionid="" v2:serviceid=":1001000162"/> </soapenv:header> <soapenv:body> <v2:stopnotification> <subsid>sdf113395065771</subsid> <usageid>3434</usageid> </v2:stopnotification> </soapenv:body> </soapenv:envelope> Sürüm: 2.16 Tarih: 25/12/2012 Kod: CAPABILITY_EXPOSURE_PLATFORM_API Sayfa: 214 / 337
Örnek Soap Cevap: <soapenv:envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/"> <soapenv:body> <ns:stopnotificationresponse xmlns:ns="http://v2.soap.notification.capabilityexposure.service.oksijen.com"> <return> <resultcode>0</resultcode> <resultdesc>success</resultdesc> <variables xsi:nil="true" xmlns:xsi="http://www.w3.org/2001/xmlschemainstance"/> <usageid>3434</usageid> </return> </ns:stopnotificationresponse> </soapenv:body> </soapenv:envelope> 7.6. Konum Onay Sonucunu İtme Uygulamanın onay mesajlarının cevaplarını alabilmesi için sağlaması gereken servistir. Rest yada Soap olabilir. Soap Wsdl'i EventNotificationV2.wsdl dir. 7.6.1. SOAP Arayüzü Örnek Soap İstek: <?xml version='1.0' encoding='utf-8'?> <S:Envelope xmlns:s="http://schemas.xmlsoap.org/soap/envelope/"> <S:Body> <ns2:notifyevent xmlns:ns2="http://v2.notification.capexevent.capabilityexposure.services.oksijen.com"> <parameters> <aparty>tel:+90542xxxxxxx</aparty> <apartytype xmlns:xsi="http://www.w3.org/2001/xmlschema-instance" xsi:nil="true"/> <bparty>tel:+90542xxxxxxx</bparty> <bpartytype xmlns:xsi="http://www.w3.org/2001/xmlschema-instance" xsi:nil="true"/> Sürüm: 2.16 Tarih: 25/12/2012 Kod: CAPABILITY_EXPOSURE_PLATFORM_API Sayfa: 215 / 337
<callbackdata xmlns:xsi="http://www.w3.org/2001/xmlschema-instance" xsi:nil="true"/> </parameters> </ns2:notifyevent> </S:Body> </S:Envelope> <content>yes</content> <eventtype>7</eventtype> <time>1339396558507</time> <usageid>45</usageid> 7.6.2. REST Arayüzü Örnek Rest İstek: {"consentresponsenotification": {"response": {"content":"yes", "requested":"tel:+90542xxxxxxx", "time":1339503930765, "requester":"tel:+90542xxxxxxx", "requestednickname":"seli", "eventtype":7, "requesternickname":"eray", "usageid":46 } } } 7.7. Adres Sorgusu Kullanıcı girdi olarak koordinatlarını verir, sonucunda bulunduğu adres kullanıcıya döner. Bunun yanında sonuç değeri de kullanıcıya döndürülür, başarılı veya başarısız şeklinde. Eğer istek sonucu başarısız ise kullanıcıya başarısız olma sebebini açıklayan bir sonuç döner. İstek Parametereleri Sürüm: 2.16 Tarih: 25/12/2012 Kod: CAPABILITY_EXPOSURE_PLATFORM_API Sayfa: 216 / 337
Parametre Veri Tipi Zorunlu Açıklama X Double E Enlem koordinatını belirtir Y Double E Boylam koordinatını belirtir usageid Long H Akışı bağlamak için gerekli olan usageid Dönüş Değerleri Parametre Veri Tipi Açıklama address String Kullanıcının bulunduğu adresi döner ResultCode int Sorgu sonucunun başarılı veya başarısız olduğunu gösterir. ResultDesc String Sorgu sonucunun başarılı veya başarısız olduğunu gösterir. Başarılı ise SUCCESS, başarısız ise hata açıklaması yer alır. usageid Long Bu bilgi girdi oalrak verilmediyse yeni bir akış olduğu farz edilip yeni bir usageid üretilip dönülür. 7.7.1. SOAP Arayüzü Örnek Soap İstek: <soapenv:envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:v3="http://v3.soap.poi.capabilityexposure.services.oksijen.com"> <soapenv:header> <v3:authentication v3:user="selime@1000000066" v3:password="seli1234" v3:sessionid="" v3:serviceid=":1001000008"/> </soapenv:header> <soapenv:body> <v3:getaddress> <x>41.104838</x> <y>29.033432</y> <usageid>3</usageid> </v3:getaddress> </soapenv:body> </soapenv:envelope> Sürüm: 2.16 Tarih: 25/12/2012 Kod: CAPABILITY_EXPOSURE_PLATFORM_API Sayfa: 217 / 337
Örnek Soap Cevap: <soapenv:envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/"> <soapenv:body> <ns:getaddressresponse xmlns:ns="http://v3.soap.poi.capabilityexposure.services.oksijen.com"> <return> <resultcode>0</resultcode> <resultdesc>success</resultdesc> <variables xsi:nil="true" xmlns:xsi="http://www.w3.org/2001/xmlschemainstance"/> <address>turkiye, ISTANBUL, SARIYER, RESITPASA MAH.</address> <usageid>3</usageid> </return> </ns:getaddressresponse> </soapenv:body> </soapenv:envelope> 7.7.2. REST Arayüzü Rest URL: http://127.0.0.1:8000/3/0/poi/address Örnek Rest İstek: GET http://127.0.0.1:8000/3/0/poi/address?usageid=23&y=29.033432&x=41.104838 HTTP/1.1 Accept-Encoding: gzip,deflate Authorization: Basic c2vsaw1lqdewmdawmdawnjy6u2vsateymzq= serviceid: :1001000008 User-Agent: Jakarta Commons-HttpClient/3.1 Host: 127.0.0.1:8000 Örnek Rest Cevap: HTTP/1.1 200 OK Content-Type: application/json Content-Length: 124 Server: Jetty(6.1.25) { Sürüm: 2.16 Tarih: 25/12/2012 Kod: CAPABILITY_EXPOSURE_PLATFORM_API Sayfa: 218 / 337
"address": "TURKIYE, ISTANBUL, SARIYER, RESITPASA MAH.", "usageid": 23, "resultcode": 0, "variables": null, "resultdesc": "Success" } 7.8. İlgi Noktası (POI) sorgulama Koordinat ve kategori listesi ile verilen noktaya en yakın kategorilerin bilgilerini elde edebilirsiniz. Girdi olarak kullanıcının koordinatlarını verilir, sonucunda bulunduğu adres kullanıcıya döner. Bunun yanında sonuç degeri de kullanıcıya döndürülür, başarılı veya başarısız şeklinde. Eğer istek sonucu başarısız ise kullanıcıya başarısız olma sebebini açıklayan bir sonuç döner. İstek Parametereleri Parametre Veri Tipi Zorunlu Açıklama X Double E Enlem koordinatını belirtir Y Double E Boylam koordinatını belirtir category StringArray E Kullanıcının ilgilendiği kategori listesi Örnek: ezcaneler,hastane. Kategori listesinin tamamı Ek C de belirtilmiştir. radius int H Poi listesinin bulunmasını istediğimiz yarıçap Örnek: 2 km yarıçapındaki poileri getir poicount int E Dönen listede görmek istediğimiz poi sayısı usageid Long H Akışı bağlamak için gerekli olan usageid Dönüş Değerleri Parametre Veri Tipi Açıklama address String Kullanıcının bulunduğu adresi döner PoiList Object POI listesi dönülür. Bu listenin içerisinde şu değerler yer alır: address Sürüm: 2.16 Tarih: 25/12/2012 Kod: CAPABILITY_EXPOSURE_PLATFORM_API Sayfa: 219 / 337
city country county description distance district latitude longtitude note placename placetype street telno ResultCode int Sorgu sonucunun başarılı veya başarısız olduğunu gösterir. ResultDesc String Sorgu sonucunun başarılı veya başarısız olduğunu gösterir.başarılı ise SUCCESS, başarısız ise hata açıklaması yer alır. usageid Long Bu bilgi girdi oalrak verilmediyse yeni bir akış olduğu farz edilip yeni bir usageid üretilip dönülür. 7.8.1. SOAP Arayüzü Örnek Soap İstek: <soapenv:envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:v3="http://v3.soap.poi.capabilityexposure.services.oksijen.com"> <soapenv:header> <v3:authentication v3:user="selime@1000000066" v3:password="seli1234" v3:sessionid="" v3:serviceid=":1001000008"/> </soapenv:header> <soapenv:body> <v3:getpoifromxy> <x>41.104838</x> <y>29.033432</y> <!--1 or more repetitions:--> <category>hastane</category> <radius>2000</radius> <poicount>2</poicount> <usageid>11</usageid> Sürüm: 2.16 Tarih: 25/12/2012 Kod: CAPABILITY_EXPOSURE_PLATFORM_API Sayfa: 220 / 337
</v3:getpoifromxy> </soapenv:body> </soapenv:envelope> Örnek Soap Cevap: <soapenv:envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/"> <soapenv:body> <ns:getpoifromxyresponse xmlns:ns="http://v3.soap.poi.capabilityexposure.services.oksijen.com"> <return> <resultcode>0</resultcode> <resultdesc>success</resultdesc> <variables xsi:nil="true" xmlns:xsi="http://www.w3.org/2001/xmlschemainstance"/> <poilist> <address>istanbul, Sariyer, Baltalimani Mh., Metin Sabanci Baltalimani Kemik Hastaliklari</address> <city>istanbul</city> <country>turkiye</country> <county>sariyer</county> <description xsi:nil="true" xmlns:xsi="http://www.w3.org/2001/xmlschemainstance"/> <distance>1902.31590496728</distance> <district>baltalimani Mh.</district> <latitude>29.053385</latitude> <longtitude>41.096738</longtitude> <note xsi:nil="true" xmlns:xsi="http://www.w3.org/2001/xmlschemainstance"/> <placename>metin Sabanci Baltalimani Kemik Hastaliklari Egitim Ve Arastirma Hastanesi</placeName> <placetype>hastane</placetype> <street/> <telno>2123237075</telno> </poilist> <poilist> <address>istanbul, Sariyer, Istinye Mh., Istinye Cd.</address> <city>istanbul</city> <country>turkiye</country> <county>sariyer</county> Sürüm: 2.16 Tarih: 25/12/2012 Kod: CAPABILITY_EXPOSURE_PLATFORM_API Sayfa: 221 / 337
<description xsi:nil="true" xmlns:xsi="http://www.w3.org/2001/xmlschemainstance"/> <distance>2165.98061685496</distance> <district>istinye Mh.</district> <latitude>29.055569</latitude> <longtitude>41.114841</longtitude> <note xsi:nil="true" xmlns:xsi="http://www.w3.org/2001/xmlschemainstance"/> <placename>istinye Devlet Hastanesi</placeName> <placetype>hastane</placetype> <street/> <telno>2122774912</telno> </poilist> <usageid>11</usageid> </return> </ns:getpoifromxyresponse> </soapenv:body> </soapenv:envelope> 7.8.2. REST Arayüzü Rest URL: http://127.0.0.1:8000/3/0/poi/poixy Örnek Rest İstek: GET http://127.0.0.1:8000/3/0/poi/poixy?category=eczane&usageid=34&y=29.033432&radius=2000&x= 41.104838&poicount=2 HTTP/1.1 Accept-Encoding: gzip,deflate Authorization: Basic c2vsaw1lqdewmdawmdawnjy6u2vsateymzq= serviceid: :1001000008 User-Agent: Jakarta Commons-HttpClient/3.1 Host: 127.0.0.1:8000 Örnek Rest Cevap: HTTP/1.1 200 OK Content-Type: application/json Content-Length: 731 Sürüm: 2.16 Tarih: 25/12/2012 Kod: CAPABILITY_EXPOSURE_PLATFORM_API Sayfa: 222 / 337
Server: Jetty(6.1.25) { "resultcode": 0, "poilist": [ { "address": "Istanbul, Sariyer, Pinar Mh., Istinye Park AVM", "country": "Turkiye", "description": null, "city": "Istanbul", "county": "Sariyer", "district": "Pinar Mh.", "distance": 606.124295240923, "telno": null, "note": null, "placename": "Istinye Park Ecz.", "placetype": "eczane", "street": "", "latitude": 29.03215, "longtitude": 41.110209 }, { "address": "Istanbul, Sariyer, Resitpasa Mh., Tuncay Artun Cd.", "country": "Turkiye", "description": null, "city": "Istanbul", "county": "Sariyer", "district": "Resitpasa Mh.", "distance": 866.01336126486, "telno": "2122779225", "note": null, "placename": "Doga Ecz.", "placetype": "eczane", "street": "", "latitude": 29.040681, Sürüm: 2.16 Tarih: 25/12/2012 Kod: CAPABILITY_EXPOSURE_PLATFORM_API Sayfa: 223 / 337
"longtitude": 41.110383 } ], "usageid": 34, "resultdesc": "Success", "variables": null } 7.9. Rota Sorgulama İki noktanın koordinatı verilip yol tarifi alınabilir. İki noktanın koordinatının yanı sıra opsiyonel başka parametreler de girdi olarak verilmelidir ki kullanıcıya rota listesi ve koordinatlar döndürülsün. Bunun yanında başarılı veya başarısız şeklinde sonuç degeri de kullanıcıya döndürülür. Eğer istek sonucu başarısız ise kullanıcıya başarısız olma sebebini açıklayan bir sonuç döner. İstek Parametereleri Parametre Veri Tipi Zorunlu Açıklama positiononelats Double E Başlangıç noktasının enlem koordinatını belirtir positiononelongs Double E Başlangıç noktasının boylam koordinatını belirtir positiontwolats Double E Bitiş noktasının enlem koordinatını belirtir positiontwolongs Double E Bitiş noktasının boylam koordinatını belirtir route_preference String H Tercihe göre en hızlı veya en kısa yolu seçerek tarif verir. FASTEST(varsayılan) veya SHORTEST değerleri verilebilir road_ preference String H Tercihe göre otoyol veya tali yol seçilebilir. HIGHWAY(varsayılan) ve LOCAL değerleri verilebilir return_driving_directions Boolean H Yol tarifinin döndürülüp döndürülmeyeceğine karar verilir. Eğer TRUE olarka girdi verilirse tek tek rota tarif edilir. distance_unit String H Tercih edilen uzaklık birimi belirtilebilir. MILE(varsayılan), KM, METER değerlerini alabilir. time_unit String H Tercih edilen zaman birimi belirtilebilir. MINUTE(varsayılan), HOUR, SECOND değerlerini alabilir Sürüm: 2.16 Tarih: 25/12/2012 Kod: CAPABILITY_EXPOSURE_PLATFORM_API Sayfa: 224 / 337
return_route_geometry Boolean H Kullanıcının koordinatları görmek isteyip istemediğine göre değişir. TRUE ise koordinatlar dönüş değerleri arasında yer alır. usageid Long H Akışı bağlamak için gerekli olan usageid Dönüş Değerleri Parametre Veri Tipi Açıklama coordinates String Başlangıç ve bitiş noktası arasındaki her bir noktanın koordinatları döndürülür. RouteList Object Route listesi dönülür. Bu listenin içerisinde her bir tarif için şu değerler yer alır: sequence instruction distance time time double Verilen iki nokta arasını optimum alış zamanı time_unit String Zaman birimi distance double Verilen iki nokta arasının birbirine uzaklığı distance_unit String Uzaklık birimi step_count long Yol tarifinin kaç adımdan oluştuğu bilgisi ResultCode int Sorgu sonucunun başarılı veya başarısız olduğunu gösterir. ResultDesc String Sorgu sonucunu başarılı veya başarısız olduğunu gösterir. Başarılı ise SUCCESS, başarısız ise hata açıklaması yer alır. usageid Long Bu bilgi girdi oalrak verilmediyse yeni bir akış olduğu farz edilip yeni bir usageid üretilip dönülür. 7.9.1. SOAP Arayüzü Örnek Soap İstek: <soapenv:envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:v3="http://v3.soap.poi.capabilityexposure.services.oksijen.com"> <soapenv:header> Sürüm: 2.16 Tarih: 25/12/2012 Kod: CAPABILITY_EXPOSURE_PLATFORM_API Sayfa: 225 / 337
<v3:authentication v3:user="selime@1000000066" v3:password="seli1234" v3:sessionid="" v3:serviceid=":1001000008"/> </soapenv:header> <soapenv:body> <v3:getroute> <positiononelats>41.104838</positiononelats> <positiononelongs>29.033432</positiononelongs> <positiontwolats>41.104858</positiontwolats> <positiontwolongs>29.033540</positiontwolongs> <route_preference>fastest</route_preference> <road_preference>local</road_preference> <return_driving_directions>true</return_driving_directions> <distance_unit>km</distance_unit> <time_unit>minute</time_unit> <return_route_geometry>true</return_route_geometry> <usageid>22</usageid> </v3:getroute> </soapenv:body> </soapenv:envelope> Örnek Soap Cevap <soapenv:envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/"> <soapenv:body> <ns:getrouteresponse xmlns:ns="http://v3.soap.poi.capabilityexposure.services.oksijen.com"> <return> <resultcode>0</resultcode> <resultdesc>success</resultdesc> <variables xsi:nil="true" xmlns:xsi="http://www.w3.org/2001/xmlschemainstance"/> Sürüm: 2.16 Tarih: 25/12/2012 Kod: CAPABILITY_EXPOSURE_PLATFORM_API Sayfa: 226 / 337
<coordinates>29.031978161325593,41.10392844637262 29.03265288,41.10284997 29.033037,41.10272703 29.03340312,41.10275304 29.03434596,41.10321996 29.03340312,41.10275304 29.033037,41.10272703 29.03265288,41.10284997 29.03199954923409,41.1038942597481</coordinates> <distance>1.3448634033203124</distance> <distanceunit>km</distanceunit> <routesegmentlist> <distance>0.30592495727539065</distance> <instruction>start out on İTÜ Maslak Kampüsü (Going Southeast)</instruction> <sequence>1</sequence> <time>0.6373436609903972</time> </routesegmentlist> <routesegmentlist> <distance>0.3019384765625</distance> <instruction>make a U-TURN onto İTÜ Maslak Kampüsü (Going Northwest)</instruction> <sequence>2</sequence> <time>0.6290384928385416</time> </routesegmentlist> <stepcount>2</stepcount> <time>2.8017987569173175</time> <timeunit>minute</timeunit> <usageid>22</usageid> </return> </ns:getrouteresponse> </soapenv:body> </soapenv:envelope> 7.9.2. REST Arayüzü Rest URL: http://127.0.0.1:8000/3/0/poi/route Örnek Rest İstek: GET http://127.0.0.1:8000/3/0/poi/route?positiononelongs=29.033432&return_driving_directions= true&distance_unit=km&return_route_geometry=true&route_preference=fastest&positiontwolong s=29.033540&usageid=3&positiontwolats=41.104858&positiononelats=41.104838&time_unit=minut E HTTP/1.1 Accept-Encoding: gzip,deflate Sürüm: 2.16 Tarih: 25/12/2012 Kod: CAPABILITY_EXPOSURE_PLATFORM_API Sayfa: 227 / 337
Authorization: Basic c2vsaw1lqdewmdawmdawnjy6u2vsateymzq= serviceid: :1001000008 User-Agent: Jakarta Commons-HttpClient/3.1 Host: 127.0.0.1:8000 Örnek Rest Cevap: HTTP/1.1 200 OK Content-Type: application/json Content-Length: 720 Server: Jetty(6.1.25) { "time": 2.8017987569173175, "resultcode": 0, "coordinates": "29.031978161325593,41.10392844637262 29.03265288,41.10284997 29.033037,41.10272703 29.03340312,41.10275304 29.03434596,41.10321996 29.03340312,41.10275304 29.033037,41.10272703 29.03265288,41.10284997 29.03199954923409,41.1038942597481", "routesegmentlist": [ ], }, } { "time": 0.6373436609903972, "sequence": 1, "distance": 0.30592495727539065, "instruction": "Start out on İTÜ Maslak Kampüsü (Going Southeast)" { "time": 0.6290384928385416, "sequence": 2, "distance": 0.3019384765625, "instruction": "Make a U-TURN onto İTÜ Maslak Kampüsü (Going Northwest)" "stepcount": 2, "distance": 1.3448634033203124, "distanceunit": "km", "timeunit": "minute", "usageid": 3, Sürüm: 2.16 Tarih: 25/12/2012 Kod: CAPABILITY_EXPOSURE_PLATFORM_API Sayfa: 228 / 337
"resultdesc": "Success" } Sürüm: 2.16 Tarih: 25/12/2012 Kod: CAPABILITY_EXPOSURE_PLATFORM_API Sayfa: 229 / 337
8. Ücretlendirme API Metodları Charge Api, son kullanıcıları sizin uygulamanızı ya da içeriğinizi kullandıkları için ücretlendirmenizi sağlar. Verilen parametrelere ve miktara göre ücretlendirme yapar. Herhangi bir iletişim hatasında kullanıcıyı iki kez ücretlendirmeyi önlemek için clientcorrelator parametresini kullanır. İkinci kez aynı clientcorrelator ile işlem yapılırsa, hata dönülür. Rest ve soap ile açılmış bir servistir. MDP API üzerinden sağlanan Ücretlendirme Bildirimi İtme, CEP APIleri üzerinden sağlanmaya başladığında buradan kaldırılacaktır. Metod Adı REST SOAP Sağlayan Kullanan Ücretlendirme X X CEP 3. parti servis Abone Onaylı Ücretlendirme X X CEP 3. parti servis Ödeme Sonucu Sorgulama X X CEP 3. parti servis İade X X CEP 3. parti servis Ücretlendirme Bildirimi İtme X 3. parti servis CEP 8.1. Ücretlendirme Verilen parametrelere ve miktara göre son kullanıcıya ücretlendirme yapar. Düzgün bir request e response olarak; amounttransaction, transactionoperationstatus ve diğer bilgileri alır. Eğer bir hata varsa, hatayı açıklayan bir dönüş alır. Parametrelerin detaylı açıklaması aşağıdadır. İstek Parametreleri Parametre Veri Tipi Zorunlu Size Açıklama restcapexsubscriberid RestCapexSubscriberId Evet 2.4 de açıklanmıştır. restcapexsubscriberid Sürüm: 2.16 Tarih: 25/12/2012 Kod: CAPABILITY_EXPOSURE_PLATFORM_API Sayfa: 230 / 337
transactionoperationstatus String E 20 byte İstenen transactionstatus u belirtir. (Bu durumda Charged ) description String E 20 byte Maximum 60 karakter girilebilir.satılan ürün ile ilgili assetname bilgisidir.faturada gösterilmez, raporlamada kullanılır. currency String E 3 byte Para birimi (Bu durumda TRY ) amount Double H - Ücretlendirilen para miktarı. referencecode String E 20 byte Her event e göre eşsizdir (unique), operatörle third party nin yapılan ücretlendirmeleri karşılaştırabilmesini sağlar. clientcorrelator String H 30 byte Herhangi bir iletişim hatasında kullanıcıyı iki kez ücretlendirmeyi önlemek için clientcorrelator parametresini kullanır. İkinci kez aynı clientcorrelator u görürse iç tarafta işlem yapmadan cevap döner. code String E 20 byte Servis yaratılırken bir price plan tanımlanır. Bu price plan a göre ücretlendir denilebilir. channel String E 20 byte Kullanıcı etkileşimi kaynağı. "SMS", "MMS", "USSD", "WAP", "IVR", "WEB", "MH" ve "BULK" değerlerini alabilir. Dönüş Değerleri Parametre Veri Tipi Açıklama clientcorrelator String Request teki parametreyi aynen döndürür. enduserid String Request teki parametreyi aynen döndürür. Sürüm: 2.16 Tarih: 25/12/2012 Kod: CAPABILITY_EXPOSURE_PLATFORM_API Sayfa: 231 / 337
amount Double Request teki parametreyi aynen döndürür. currency String Request teki parametreyi aynen döndürür. description String Request teki parametreyi aynen döndürür. referencecode String Request teki parametreyi aynen döndürür. transactionoperationstatus String Request teki parametreyi aynen döndürür. totalamountcharged String Ücretlendirilen toplam miktarı döndürür. serverreferencecode String Bu charge transaction ının Vodafone tarafında tanımlayan id değeridir. resourceurl String Request url ile birlikte transactionid'yi belirten değerdir. usageid Long Evet UsageId bilgisidir. 8.1.1. REST Arayüzü Rest URL: http://localhost:8000/2/0/payment//transactions/amount Örnek Rest İstek: POST http://172.25.23.74:8100/2/0/payment/transactions/amount?channel=sms¤cy=try&transac tionoperationstatus=charged&description=dumdesc&referencecode=94456&code=1015 HTTP/1.1 Accept-Encoding: gzip,deflate Content-Type: application/json Authorization: Basic aglsywxamtawmdawmda2ntpiawxhbde5odm= serviceid: :1001000043 User-Agent: Jakarta Commons-HttpClient/3.1 Host: 172.25.23.74:8100 Content-Length: 151 { "enduserid":"acr:286002mjvrv/jvu2uh58/eki20rgbrwe+gct6s162pnq+jeiw5rqzhwk77bt30pmi dvtzhs91vnnb4gorinocf2ldota==", "nickname":null, Sürüm: 2.16 Tarih: 25/12/2012 Kod: CAPABILITY_EXPOSURE_PLATFORM_API Sayfa: 232 / 337
"usageid":356 } Örnek Rest Cevap: HTTP/1.1 201 Created Content-Type: application/json Location: http://172.25.23.74:8100/2/0/payment/transactions/amount/2543861 Content-Length: 568 Server: Jetty(6.1.25) {"amounttransaction": { "resourceurl": "developer.vodafone.com/2/0/payment/acr:286002mjvrv/jvu2uh58/eki20rgbrwe+gct6s162pnq+jeiw 5RQZhWK77bT30PMIdVTZhS91vNnB4GOrInoCF2LDoTA==/transactions/amount/2543861", "usageid": 356, "enduserid": "acr:286002mjvrv/jvu2uh58/eki20rgbrwe+gct6s162pnq+jeiw5rqzhwk77bt30pmidvtzhs91vnnb4gorino CF2LDoTA==", }} "referencecode": "94456", "serverreferencecode": "2543861", "paymentamount": { }, "totalamountcharged": 1.1, "charginginformation": { } "description": "dumdesc", "currency": "TRY", "amount": 0 "clientcorrelator": null, "transactionoperationstatus": "charged" 8.1.2. SOAP Arayüzü Örnek Soap İstek: <soap:envelope xmlns:soap="http://www.w3.org/2003/05/soap-envelope" xmlns:v2="http://v2.soap.charge.capabilityexposure.services.oksijen.com"> <soap:header> Sürüm: 2.16 Tarih: 25/12/2012 Kod: CAPABILITY_EXPOSURE_PLATFORM_API Sayfa: 233 / 337
<v2:authentication v2:user="hilal@1000000065" v2:password="hilal1983" v2:sessionid="" v2:serviceid=":1001000043"/> </soap:header> <soap:body> <v2:chargeamount> <chargeinfo> <amount>5</amount><capexsubscriberid> <enduserid>acr:286002mjvrv/jvu2uh58/eki20rgbrwe+gct6s162pnq+jeiw5rqzhwk77bt30pmidvtzhs91v NnB4GOrInoCF2LDoTA==</endUserId> <nickname xsi:nil="true" xmlns:xsi="http://www.w3.org/2001/xmlschemainstance"/><usageid>3532</usageid> </capexsubscriberid> <channel>sms</channel> <clientcorrelator xsi:nil="true" xmlns:xsi="http://www.w3.org/2001/xmlschemainstance"/> <code>1015</code> <currency>try</currency> <description>dummydesc</description> <referencecode>51235</referencecode> </chargeinfo> </v2:chargeamount> </soap:body> </soap:envelope> Örnek Soap Cevap: <soapenv:envelope xmlns:soapenv="http://www.w3.org/2003/05/soap-envelope"> <soapenv:body> <ns:chargeamountresponse xmlns:ns="http://v2.soap.charge.capabilityexposure.services.oksijen.com"> <return> <resultcode>0</resultcode> <resultdesc>success</resultdesc> Sürüm: 2.16 Tarih: 25/12/2012 Kod: CAPABILITY_EXPOSURE_PLATFORM_API Sayfa: 234 / 337
<variables xsi:nil="true" xmlns:xsi="http://www.w3.org/2001/xmlschemainstance"/> <enduserid>acr:286002mjvrv/jvu2uh58/eki20rgbrwe+gct6s162pnq+jeiw5rqzhwk77bt30pmidvtzhs91v NnB4GOrInoCF2LDoTA==</endUserId> <referencecode>51235</referencecode> <serverreferencecode>2526730</serverreferencecode> <totalamountcharged>1.1</totalamountcharged> <usageid>3532</usageid> </return> </ns:chargeamountresponse> </soapenv:body> </soapenv:envelope> 8.2. Ödeme Sonucu Sorgulama TransactionId ve enduserid yi kullanarak transaction u sorgulamaya yarar. Eğer bir hata varsa, hatayı açıklayan bir dönüş alır. İstek Parametreleri Parametre Veri Tipi Zorunlu Size Açıklama enduserid String E 2.2'de açiklanmistir. Uygulama çalışma haklarına göre msisdn, T.C kimlik no veya opaqueid olabilir transactionid String E 20 byte Transaction un id sini yani referencecode unu belirtir. Dönüş Değerleri Parametre Veri Tipi Açıklama chargingtransactiondate String Trancastion un date ini döndürür. Formatı YYYYmmDDhhMM enduserid String Charge edilmiş enduserid yi döndürür. referencecode String Her event e göre eşsizdir (unique), operatörle third party nin yapılan ücretlendirmeleri karşılaştırabilmesini sağlar. serverreferencecode String Bu charge transaction ının Vodafone tarafında tanımlayan id Sürüm: 2.16 Tarih: 25/12/2012 Kod: CAPABILITY_EXPOSURE_PLATFORM_API Sayfa: 235 / 337
değeridir statuscode int Sorgulanan transaction un status unu döndürür. statusdescription String statuscode un açıklamasıdır. resultcode int Yapılan sorgunun sonucunu döndürür. resultdesc String resultcode un açıklamasıdır. usageid Long UsageId bilgisidir. 8.2.1. REST Arayüzü Rest URL: http://localhost:8000/2/0/payment/{enduserid}/transactions/amount/{transactionid} Örnek Rest İstek: GET http://172.25.23.74:8100/2/0/payment/transactions/amount/51235?enduserid=acr%3a286002mjvr v%2fjvu2uh58%2feki20rgbrwe%2bgct6s162pnq%2bjeiw5rqzhwk77bt30pmidvtzhs91vnnb4gorinocf2ldot A%3D%3D HTTP/1.1 Accept-Encoding: gzip,deflate Authorization: Basic aglsywxamtawmdawmda2ntpiawxhbde5odm= serviceid: :1001000043 User-Agent: Jakarta Commons-HttpClient/3.1 Host: 172.25.23.74:8100 Örnek Rest Cevap: HTTP/1.1 200 OK Content-Type: application/json Content-Length: 340 Server: Jetty(6.1.25) { "result": { }, "resultcode": 0, "resultdesc": "Success" "paymentresponse": { "statuscode": 0, Sürüm: 2.16 Tarih: 25/12/2012 Kod: CAPABILITY_EXPOSURE_PLATFORM_API Sayfa: 236 / 337
"usageid": 3532, "enduserid": "acr:286002mjvrv/jvu2uh58/eki20rgbrwe+gct6s162pnq+jeiw5rqzhwk77bt30pmidvtzhs91vnnb4gorino CF2LDoTA==", } } "referencecode": "51235", "chargingtransactiondate": "201206131619", "serverreferencecode": "2526730", "statusdescription": "Success" 8.2.2. SOAP Arayüzü Örnek Soap İstek: <soap:envelope xmlns:soap="http://www.w3.org/2003/05/soap-envelope" xmlns:v2="http://v2.soap.charge.capabilityexposure.services.oksijen.com"> <soap:header> <v2:authentication v2:user="hilal@1000000065" v2:password="hilal1983" v2:sessionid="" v2:serviceid=":1001000043"/> </soap:header> <soap:body> <v2:querypaymentresult> <enduserid>acr:286002mjvrv/jvu2uh58/eki20rgbrwe+gct6s162pnq+jeiw5rqzhwk77bt30pmidvtzhs91v NnB4GOrInoCF2LDoTA==</endUserId> <referencecode>51235</referencecode> </v2:querypaymentresult> </soap:body> </soap:envelope> Örnek Soap Cevap: <soapenv:envelope xmlns:soapenv="http://www.w3.org/2003/05/soap-envelope"> <soapenv:body> <ns:querypaymentresultresponse xmlns:ns="http://v2.soap.charge.capabilityexposure.services.oksijen.com"> <return> <resultcode>0</resultcode> <resultdesc>success</resultdesc> <variables xsi:nil="true" xmlns:xsi="http://www.w3.org/2001/xmlschemainstance"/> Sürüm: 2.16 Tarih: 25/12/2012 Kod: CAPABILITY_EXPOSURE_PLATFORM_API Sayfa: 237 / 337
<paymentresponse> <chargingtransactiondate>201206131619</chargingtransactiondate> <enduserid>acr:286002mjvrv/jvu2uh58/eki20rgbrwe+gct6s162pnq+jeiw5rqzhwk77bt30pmidvtzhs91v NnB4GOrInoCF2LDoTA==</endUserId> <referencecode>51235</referencecode> <serverreferencecode>2526730</serverreferencecode> <statuscode>0</statuscode> <statusdescription>success</statusdescription> <usageid>3532</usageid> </paymentresponse> </return> </ns:querypaymentresultresponse> </soapenv:body> </soapenv:envelope> 8.3. Ödeme Sonuçlarını Liste Olarak Sorgulama Verilen parametrelere göre, yapılan ücretlendirmelerin listesini döner. İstek Parametreleri Parametre Veri Tipi Zorunlu Açıklama starttdate String E Sorgu başlangıç zamanını belirten String değer. Formatı: yyyymmddhhmm enddate String E Sorgu bitiş zamanını belirten String değer. Formatı: yyyymmddhhmm lastrownum Numeric E Hangi kayıttan başlanarak kayıtların çekileceğini belirtir Dönüş Değerleri Parametre Veri Tipi Açıklama paymentresults Object Sorgu kriterine uyan kayıtların listesi. lastrownum Numeric En son gönderilen transactionın rowid si Sürüm: 2.16 Tarih: 25/12/2012 Kod: CAPABILITY_EXPOSURE_PLATFORM_API Sayfa: 238 / 337
RemainingRecords String Sorgu kriterine uyan gönderilmeyen kayıt sayısı. Bu kayıtlar LastQueryDate ten itibaren tekrar sorgulanarak alınabilir resultcode String Durum kodu, numara. Tablodaki degerlerden biri. resultdescription String Durum kodu açıklaması 8.3.1. REST Arayüzü Rest URL: http://localhost:8000/2/0/payment/{enduserid}/transactions/amount/{transactionid} Örnek Rest İstek: GET http://172.25.23.74:8100/2/0/payment/transactions/query/listofpaymentresults?startdate=20 1010101010&lastRowNum=0&endDate=210010101010 HTTP/1.1 Accept-Encoding: gzip,deflate Authorization: Basic c3vsdgfuqdewmdawmdawnji6u3vsdgfumzu= serviceid: :1001000162 User-Agent: Jakarta Commons-HttpClient/3.1 Host: 172.25.23.74:8100 Örnek Rest Cevap: HTTP/1.1 200 OK Content-Type: application/json Content-Length: 1100 Server: Jetty(6.1.25) { "result": { "resultcode": 0, "resultdesc": "Success" }, "paymentresult": [ { "statuscode": 0, Sürüm: 2.16 Tarih: 25/12/2012 Kod: CAPABILITY_EXPOSURE_PLATFORM_API Sayfa: 239 / 337
"usageid": 12506, "enduserid": "tel:+90542xxxxxxx", "referencecode": "6868", "chargingtransactiondate": "201206061121", "serverreferencecode": "2341356", "statusdescription": "Success" }, { "statuscode": 0, "usageid": 12511, "enduserid": "tel:+90542xxxxxxx", "referencecode": "68468", "chargingtransactiondate": "201206061324", "serverreferencecode": "2343531", "statusdescription": "Success" }, { "statuscode": 150, "usageid": 12513, "enduserid": "tel:+90542xxxxxxx", "referencecode": "684684", "chargingtransactiondate": "201206061327", "serverreferencecode": null, "statusdescription": "Subscriber charge failed" }, { "statuscode": 150, "usageid": 12515, "enduserid": "tel:+90542xxxxxxx", "referencecode": "3", "chargingtransactiondate": "201206061331", "serverreferencecode": null, "statusdescription": "Subscriber charge failed" }, { "statuscode": 0, "usageid": 12521, Sürüm: 2.16 Tarih: 25/12/2012 Kod: CAPABILITY_EXPOSURE_PLATFORM_API Sayfa: 240 / 337
"enduserid": "tel:+90542xxxxxxx", "referencecode": "23", "chargingtransactiondate": "201206061413", "serverreferencecode": "2344419", "statusdescription": "Success" } ], "lastrownum": 0, "remainingrecords": 0 } 8.3.2. SOAP Arayüzü Örnek Soap İstek: <soap:envelope xmlns:soap="http://www.w3.org/2003/05/soap-envelope" xmlns:v2="http://v2.soap.charge.capabilityexposure.services.oksijen.com"> <soap:header> <v2:authentication v2:user="hilal@1000000065" v2:password="hilal1983" v2:sessionid="" v2:serviceid=":1001000043"/> </soap:header> <soap:body> <v2:querylistofpaymentresults> <startdate>200010101010</startdate> <enddate>202010101010</enddate> <lastrownum>0</lastrownum> </v2:querylistofpaymentresults> </soap:body> </soap:envelope> Örnek Soap Cevap: <soapenv:envelope xmlns:soapenv="http://www.w3.org/2003/05/soap-envelope"> <soapenv:body> <ns:querylistofpaymentresultsresponse xmlns:ns="http://v2.soap.charge.capabilityexposure.services.oksijen.com"> <return> <resultcode>0</resultcode> <resultdesc>success</resultdesc> <variables xsi:nil="true" xmlns:xsi="http://www.w3.org/2001/xmlschemainstance"/> Sürüm: 2.16 Tarih: 25/12/2012 Kod: CAPABILITY_EXPOSURE_PLATFORM_API Sayfa: 241 / 337
<lastrownum>50</lastrownum> <paymentresults> <chargingtransactiondate>201204121008</chargingtransactiondate> <enduserid>acr:286002mjvrv/jvu2uh58/eki20rgbrwe+gct6s162pnq+jeiw5rqzhwk77bt30pmidvtzhs91v NnB4GOrInoCF2LDoTA==</endUserId> <referencecode>40</referencecode> <serverreferencecode>316279</serverreferencecode> <statuscode>0</statuscode> <statusdescription>success</statusdescription> <usageid>0</usageid> </paymentresults> <paymentresults> <chargingtransactiondate>201204121030</chargingtransactiondate> <enduserid>acr:286002mjvrv/jvu2uh58/eki20rgbrwe+gct6s162pnq+jeiw5rqzhwk77bt30pmidvtzhs91v NnB4GOrInoCF2LDoTA==</endUserId> <referencecode>41</referencecode> <serverreferencecode>316418</serverreferencecode> <statuscode>0</statuscode> <statusdescription>success</statusdescription> <usageid>0</usageid> </paymentresults> <paymentresults> <chargingtransactiondate>201204121031</chargingtransactiondate> <enduserid>acr:286002mjvrv/jvu2uh58/eki20rgbrwe+gct6s162pnq+jeiw5rqzhwk77bt30pmidvtzhs91v NnB4GOrInoCF2LDoTA==</endUserId> <referencecode>43</referencecode> <serverreferencecode xsi:nil="true" xmlns:xsi="http://www.w3.org/2001/xmlschema-instance"/> <statuscode>151</statuscode> <statusdescription>company charge failed</statusdescription> <usageid>0</usageid> </paymentresults> <paymentresults> <chargingtransactiondate>201204121031</chargingtransactiondate> <enduserid>acr:286002mjvrv/jvu2uh58/eki20rgbrwe+gct6s162pnq+jeiw5rqzhwk77bt30pmidvtzhs91v NnB4GOrInoCF2LDoTA==</endUserId> Sürüm: 2.16 Tarih: 25/12/2012 Kod: CAPABILITY_EXPOSURE_PLATFORM_API Sayfa: 242 / 337
<referencecode>44</referencecode> <serverreferencecode xsi:nil="true" xmlns:xsi="http://www.w3.org/2001/xmlschema-instance"/> <statuscode>151</statuscode> <statusdescription>company charge failed</statusdescription> <usageid>0</usageid> </paymentresults> <paymentresults> <chargingtransactiondate>201204121033</chargingtransactiondate> <enduserid>acr:286002mjvrv/jvu2uh58/eki20rgbrwe+gct6s162pnq+jeiw5rqzhwk77bt30pmidvtzhs91v NnB4GOrInoCF2LDoTA==</endUserId> <referencecode>454</referencecode> <serverreferencecode xsi:nil="true" xmlns:xsi="http://www.w3.org/2001/xmlschema-instance"/> <statuscode>148</statuscode> <statusdescription>not enough credit</statusdescription> <usageid>0</usageid> </paymentresults> <paymentresults> <chargingtransactiondate>201204121034</chargingtransactiondate> <enduserid>acr:286002mjvrv/jvu2uh58/eki20rgbrwe+gct6s162pnq+jeiw5rqzhwk77bt30pmidvtzhs91v NnB4GOrInoCF2LDoTA==</endUserId> <referencecode>474</referencecode> <serverreferencecode>316459</serverreferencecode> <statuscode>0</statuscode> <statusdescription>success</statusdescription> <usageid>0</usageid> </paymentresults> <paymentresults> <chargingtransactiondate>201204121036</chargingtransactiondate> <enduserid>acr:286002mjvrv/jvu2uh58/eki20rgbrwe+gct6s162pnq+jeiw5rqzhwk77bt30pmidvtzhs91v NnB4GOrInoCF2LDoTA==</endUserId> <referencecode>894</referencecode> <serverreferencecode xsi:nil="true" xmlns:xsi="http://www.w3.org/2001/xmlschema-instance"/> <statuscode>151</statuscode> <statusdescription>company charge failed</statusdescription> Sürüm: 2.16 Tarih: 25/12/2012 Kod: CAPABILITY_EXPOSURE_PLATFORM_API Sayfa: 243 / 337
<usageid>0</usageid> </paymentresults> <paymentresults> <chargingtransactiondate>201204121036</chargingtransactiondate> <enduserid>acr:286002mjvrv/jvu2uh58/eki20rgbrwe+gct6s162pnq+jeiw5rqzhwk77bt30pmidvtzhs91v NnB4GOrInoCF2LDoTA==</endUserId> <referencecode>824</referencecode> <serverreferencecode>316479</serverreferencecode> <statuscode>0</statuscode> <statusdescription>success</statusdescription> <usageid>0</usageid> </paymentresults> <remainingrecords>22</remainingrecords> </return> </ns:querylistofpaymentresultsresponse> </soapenv:body> </soapenv:envelope> 8.4. İade Verilen parametrelere ve miktara göre son kullanıcıya geri ödeme yapar. Refund'da "amount" parametresi geçersizdir, "code" parametresine göre geri ödeme yapılır. Eğer işlemde bir hata varsa, hatayı açıklayan bir dönüş alır. Parametrelerin detaylı açıklaması aşağıdadır. Description alanına aşağıdaki bilgilerin girilmesi önerilir: 1)"Aboneden ücretlendirme onayı istenmemiş. " 2)"Abone ücretlendirmeyi onaylamamış." 3)"İçerik gönderilememiş." 4)"İçerik indirilememiş." 5)"İptal onayına rağmen ücretlendirilmiş." 6)"Black list kaydı var, ücretlendirme onayı yok " Sürüm: 2.16 Tarih: 25/12/2012 Kod: CAPABILITY_EXPOSURE_PLATFORM_API Sayfa: 244 / 337
7)"Diğer." İstek Parametereleri Parametre Veri Tipi Zorunlu Size Açıklama restcapexsubscriberid RestCapexSubscriberId Evet 2.4 de açıklanmıştır. restcapexsubscriberid transactionoperationstatus String E 20 byte İstenen transactionstatus u belirtir. (Bu durumda refunded ) description String E 20 byte Son kullanıcı tarafından okunabilir bir metin. Bu sayede kullanıcı neden ücretlendirildiğini kolayca görebilir. currency String E 3 byte Para birimi (Bu durumda TRY ) amount Double H - Ücretlendirilen para miktarı. referencecode String E 20 byte Her event e göre eşsizdir (unique), operatörle third party nin yapılan geri ödemeleri karşılaştırabilmesini sağlar. clientcorrelator String H 30 byte Herhangi bir iletişim hatasında kullanıcıyı iki kez ücretlendirmeyi önlemek için clientcorrelator parametresini kullanır. İkinci kez aynı clientcorrelator u görürse iç tarafta işlem yapmadan cevap döner. code String E 20 byte Servis yaratılırken bir price plan tanımlanır. Bu price plan a göre ücretlendir denilebilir. originalserverreferencecode String E 20 byte Refund edilmek istenen Sürüm: 2.16 Tarih: 25/12/2012 Kod: CAPABILITY_EXPOSURE_PLATFORM_API Sayfa: 245 / 337
charge transaction ının Vodafone tarafında tanımlayan id değeridir channel String H 20 byte Kullanıcı etkileşimi kaynağı. "SMS", "MMS", "USSD", "WAP", "IVR", "WEB", "MH" ve "BULK" değerlerini alabilir. Dönüş Değerleri Parametre Veri Tipi Açıklama clientcorrelator String Request teki parametreyi aynen döndürür. enduserid String Request teki parametreyi aynen döndürür. amount Double Request teki parametreyi aynen döndürür. currency String Request teki parametreyi aynen döndürür. description String Request teki parametreyi aynen döndürür. referencecode String Request teki parametreyi aynen döndürür. transactionoperationstatus String Request teki parametreyi aynen döndürür. totalamountrefunded String Geri ödenen toplam miktarı döndürür. originalserverreferencecode String Bu charge transaction ının Vodafone tarafında tanımlayan id değeridir. resourceurl String Request url ile birlikte transactionid'yi belirten değerdir. usageid Long UsageId bilgisidir. 8.4.1. REST Arayüzü Rest URL: http://localhost:8000/2/0/payment/{enduserid}/transactions/amount Sürüm: 2.16 Tarih: 25/12/2012 Kod: CAPABILITY_EXPOSURE_PLATFORM_API Sayfa: 246 / 337
Örnek Rest İstek: POST http://172.25.23.74:8100/2/0/payment/transactions/amount?channel=sms¤cy=try&transac tionoperationstatus=refunded&description=dumdesc&referencecode=5123512&originalserverrefe rencecode=2543861&code=1015 HTTP/1.1 Accept-Encoding: gzip,deflate Content-Type: application/json Authorization: Basic aglsywxamtawmdawmda2ntpiawxhbde5odm= serviceid: :1001000043 User-Agent: Jakarta Commons-HttpClient/3.1 Host: 172.25.23.74:8100 Content-Length: 151 { "enduserid":"acr:286002mjvrv/jvu2uh58/eki20rgbrwe+gct6s162pnq+jeiw5rqzhwk77bt30pmi dvtzhs91vnnb4gorinocf2ldota==", } "nickname":null, "usageid":356 Örnek Rest Cevap: HTTP/1.1 201 Created Content-Type: application/json Location: http://172.25.23.74:8100/2/0/payment/transactions/amount/2543861 Content-Length: 580 Server: Jetty(6.1.25) {"amounttransaction": { "resourceurl": "developer.vodafone.com/2/0/payment/acr:286002mjvrv/jvu2uh58/eki20rgbrwe+gct6s162pnq+jeiw 5RQZhWK77bT30PMIdVTZhS91vNnB4GOrInoCF2LDoTA==/transactions/amount/2543861", "usageid": 356, "enduserid": "acr:286002mjvrv/jvu2uh58/eki20rgbrwe+gct6s162pnq+jeiw5rqzhwk77bt30pmidvtzhs91vnnb4gorino CF2LDoTA==", "referencecode": "5123512", "paymentamount": { "totalamountrefunded": 1.1, "charginginformation": { Sürüm: 2.16 Tarih: 25/12/2012 Kod: CAPABILITY_EXPOSURE_PLATFORM_API Sayfa: 247 / 337
"description": "dumdesc", "currency": "TRY", "amount": 0 } }, "clientcorrelator": null, "originalserverreferencecode": "2543861", "transactionoperationstatus": "refunded" }} 8.4.2. SOAP Arayüzü Örnek Soap İstek: <soap:envelope xmlns:soap="http://www.w3.org/2003/05/soap-envelope" xmlns:v2="http://v2.soap.charge.capabilityexposure.services.oksijen.com"> <soap:header> <v2:authentication v2:user="hilal@1000000065" v2:password="hilal1983" v2:sessionid="" v2:serviceid=":1001000043"/> </soap:header> <soap:body> <v2:refund> <chargeinfo> <capexsubscriberid> <enduserid>acr:286002mjvrv/jvu2uh58/eki20rgbrwe+gct6s162pnq+jeiw5rqzhwk77bt30pmidvtzhs91v NnB4GOrInoCF2LDoTA==</endUserId> <nickname xsi:nil="true" xmlns:xsi="http://www.w3.org/2001/xmlschemainstance"/><usageid>423</usageid> </capexsubscriberid> <channel>sms</channel> <clientcorrelator xsi:nil="true" xmlns:xsi="http://www.w3.org/2001/xmlschemainstance"/> Sürüm: 2.16 Tarih: 25/12/2012 Kod: CAPABILITY_EXPOSURE_PLATFORM_API Sayfa: 248 / 337
<code>1015</code> <currency>try</currency> <description>dumdesc</description> <referencecode>65314</referencecode> <serverreferencecode>2526730</serverreferencecode> </chargeinfo> </v2:refund> </soap:body> </soap:envelope> Örnek Soap Cevap: <soapenv:envelope xmlns:soapenv="http://www.w3.org/2003/05/soap-envelope"> <soapenv:body> <ns:refundresponse xmlns:ns="http://v2.soap.charge.capabilityexposure.services.oksijen.com"> <return> <resultcode>0</resultcode> <resultdesc>success</resultdesc> <variables xsi:nil="true" xmlns:xsi="http://www.w3.org/2001/xmlschemainstance"/> <enduserid>acr:286002mjvrv/jvu2uh58/eki20rgbrwe+gct6s162pnq+jeiw5rqzhwk77bt30pmidvtzhs91v NnB4GOrInoCF2LDoTA==</endUserId> <referencecode>65314</referencecode> <serverreferencecode>2526730</serverreferencecode> <totalamountrefunded>1.1</totalamountrefunded> <usageid>423</usageid> </return> </ns:refundresponse> </soapenv:body> </soapenv:envelope> 8.5. Ücretlendirme Bildirimi İtme [PartyCallService.sendChargeNotification] 3. Parti servisi gerçekleşen ücretlendirmelerle ilgili bilgilendirmek amaçlı sistem tarafından çağırılan metottur. Sürüm: 2.16 Tarih: 25/12/2012 Kod: CAPABILITY_EXPOSURE_PLATFORM_API Sayfa: 249 / 337
İstek Parametreleri Adı Veri Tipi Zorunlu Açıklama serviceid String Evet Servis belirteci contentid String Evet İçerik belirteci subscriberid String Evet Abone belirteci usagetid String Hayır İsteğin SDF çağında tekil belirteci chargetype String Evet Ücretlendirmenin tipi Event, Subscription, Commitment_Penalty_Fee operationtype String Evet Ücretlendirme operasyonunun tipi Charge, Partial_Charge, Refund amount String Evet Ücretlendirme Miktarı Dönüş Değerleri Parametre Veri Tipi Zorunlu Açıklama resultcode int E Sorgu sonucunun başarılı veya başarısız olduğunu gösterir. 0:fail, 1:success resultstring String H Brief description of the error occurred. Required if result is FAIL. 8.5.1. SOAP Arayüzü Örnek SOAP İstek: <soap:envelope xmlns:soap="http://www.w3.org/2003/05/soap-envelope" xmlns:v2="http://v2.call.party.webservice.xpp.mdp.services.oksijen.com""> <soap:header/> <soap:body> Sürüm: 2.16 Tarih: 25/12/2012 Kod: CAPABILITY_EXPOSURE_PLATFORM_API Sayfa: 250 / 337
<v2:sendchargenotification> <serviceid>10000000001</serviceid> <contentid>1</contentid> <subscriberid>90542xxxxxxx</ subscriberid > <usageid>123</usageid> <chargetype>event</chargetype> <operationtype>charge</operationtype> <amount>10</amount> </v2:sendchargenotification> </soap:body> </soap:envelope> Örnek cevap: <soapenv:envelope xmlns:soapenv="http://www.w3.org/2003/05/soap-envelope"> <soapenv:body> <ns2:sendchargenotificationresponse xmlns:ns2="http://v2.call.party.webservice.xpp.mdp.services.oksijen.com""> <return> <resultcode>1</resultcode> <resultdescription>success</resultdescription> </return> </ns2:sendchargenotificationresponse> </soapenv:body> </soapenv:envelope> Sürüm: 2.16 Tarih: 25/12/2012 Kod: CAPABILITY_EXPOSURE_PLATFORM_API Sayfa: 251 / 337
9. Mobil Ödeme API Metodları Mobil abone API metodları geri uyumluluk gerekçeleriyle diğer API metodlarından farklı bir işleyişe sahiptir. Bu bölümde anlatılan bilgileri bu çerçevede değerlendirmek gerekir. Metod Adı REST SOAP Sağlayan Kullanan Abone Bilgisi Sorgulama X X CEP 3. parti servis Ücretlendirme X X CEP 3. parti servis Ödeme Durum Bilgisi Sorgulama X X CEP 3. parti servis Toplu Ödeme Durum Bilgisi Sorgulama X X CEP 3. parti servis 9.1. Kimlik Denetimi 9.1.1. Username/Password Bütün isteklerde, gelen soap request in header ında USERNAME/PASSWORD verilmelidir. Username/password bilgisine göre company id belirlenir. <soap:header> <aut:usernamepassword aut:user="companyuser@compnayid" aut:password="mypass"/> </soap:header> 9.1.2. ServiceId Vodafone tarafından firmanın servisine atanacak maksimum 10 haneli numara. Bütün metod çağrılarına input parametresi olarak verilmelidir. Aşağıda her metod için ayrıca açıklanmayacaktır. 9.2. Abone Bilgisi Sorgulama Abone tipi ve ödeme türü bilgilerinin sorgulanabildiği metoddur. İstek Parametreleri Sürüm: 2.16 Tarih: 25/12/2012 Kod: CAPABILITY_EXPOSURE_PLATFORM_API Sayfa: 252 / 337
Parametre Veri Tipi Zorunlu Size Açıklama enduserid string E tel:+ ile baslayan 12 haneli telefon numarasi Dönüş Değerleri Parametre Veri Tipi Açıklama brand String Abone tipi 1:prepaid, 2:postpaid customertype String 1:Bireysel, 2:Kurumsal resultcode integer Durum kodu tablodaki değerlerden birisi resultdescription String Durum kodu açıklaması 9.2.1. SOAP Arayüzü Örnek Soap İstek <soapenv:envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:aut="authentication" xmlns:mob="http://mobilepayment.services.oksijen.com"> <soapenv:header> <aut:usernamepassword aut:user="testuser@testcompany" aut:password="testpassword"/> </soapenv:header> <soapenv:body> <mob:getsubscriberinfo> <serviceid>825428482</serviceid> <enduserid>tel:+90543xxxxxxx</enduserid> </mob:getsubscriberinfo> </soapenv:body> </soapenv:envelope> Örnek Soap Cevap <soapenv:envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/"> <soapenv:body> <ns:getsubscriberinforesponse xmlns:ns="http://mobilepayment.services.oksijen.com"> <return> <resultcode>0</resultcode> <resultdesc>success</resultdesc> Sürüm: 2.16 Tarih: 25/12/2012 Kod: CAPABILITY_EXPOSURE_PLATFORM_API Sayfa: 253 / 337
<brand>1</brand> <customertype>2</customertype> </return> </ns:getsubscriberinforesponse> </soapenv:body> </soapenv:envelope> 9.3. Ücretlendirme Aboneyi ücretlendirmek amacıyla kullanılan metoddur. İstek Parametreleri Parametre Veri Tipi Zorunlu Açıklama enduserid String E tel:+ ile baslayan 12 haneli telefon numarasi. Örnek: tel:+ 90543xxxxxxx ReferenceCode String E Maksimum 32 karakterden olusan alfanümerik deger. Firma tarafindan her charge islemi basina unique olarak verilmeli. Ayni firmaya ait ayni reference code lu ikinci bir istek gelirse, hata dönülür. OnBehalfOf String H Ürünü satılan firma ismi. Maksimum 64 karakter olabilir : Örnek: Migros PurchaseCategoryCode String E 10 haneli içerik tipi. Kisit yok. SubscriptionStartDate String H Abonelikli bir ücretlendirme ise abonelik baslangiç tarihi. Abonelik baslangiç tarihi abonenin aktivasyon tarihinden önceyse, ödeme kabul edilmez. Formati: yyyymmddhhmm Curency String E TRY Amount Float E Sıfırdan büyük numerik bir deger olmalı. Verilen değer kuruş cinsinden olmali. ChannelType: String E Aşağidaki string değerlerinden biri olmalı SMS : "SM" MMS : "MM" IVR : "IV" USSD: "US" WEB : "WE" Sürüm: 2.16 Tarih: 25/12/2012 Kod: CAPABILITY_EXPOSURE_PLATFORM_API Sayfa: 254 / 337
WAP : "WA" SalesType Integer E Aşağıdaki sayı değerlerinden biri olmalı ONETIME : 0 WEEKLY : 1 TWO_WEEKLY: 2 MONTHLY : 3 Description String E Satın alınan ürün ile iligili ürün açiklaması. Faturada gösterileceğinden maksimum 17 karakterden oluşabilir. Dönüş Değerleri Parametre Veri Tipi Açıklama enduserid String İstekte gelen değer aynen geçirilir referencecode String İstekte gelen değer aynen geçirilir serverreferencecode String Mobil ödeme sisteminin charge transaction nina atadığı maksimum 32 karakterden olusan id amount String İstekte gelen değer aynen geçirilir currency String TRY description String İstekte gelen değer aynen geçirilir totalamountcharged String Charge başarılı ise amount değeri ile aynıdır, charge gerçekleşmezse 0 geçilir, ResultCode a hata kodu set edilir. resultcode String Durum kodu, numara. Tablodaki değerlerden biri. resultdescription String Durum kodu açıklaması 9.3.1. SOAP Arayüzü Örnek Soap İstek <soapenv:envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:aut="authentication" xmlns:mob="http://mobilepayment.services.oksijen.com"> <soapenv:header> <aut:usernamepassword aut:user="testuser@testcompany" aut:password="testpassword"/> Sürüm: 2.16 Tarih: 25/12/2012 Kod: CAPABILITY_EXPOSURE_PLATFORM_API Sayfa: 255 / 337
</soapenv:header> <soapenv:body> <mob:chargeamount> <serviceid>825428482</serviceid> <enduserid>tel:+90542xxxxxxx</enduserid> <charge> <amount>500</amount> <channel>sm</channel> <currency>try</currency> <description>urun</description> <onbehalfof>satıcıfirma</onbehalfof> <purchasecategorycode>10006</purchasecategorycode> <salestype>1</salestype> <subscriptionstartdate>201101012345</subscriptionstartdate> </charge> <referencecode>968439</referencecode> </mob:chargeamount> </soapenv:body> </soapenv:envelope> Örnek Soap Cevap <soapenv:envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/"> <soapenv:body> <ns:chargeamountresponse xmlns:ns="http://mobilepayment.services.oksijen.com"> <return> <resultcode>0</resultcode> <resultdesc>success</resultdesc> <enduserid>tel:+90542xxxxxxx</enduserid> <paymentamount> <amount>500.0</amount> <currency>try</currency> <description>urun</description> <totalamountcharged>500.0</totalamountcharged> </paymentamount> <referencecode>968439</referencecode> <serverreferencecode>mop11305120284542</serverreferencecode> </return> </ns:chargeamountresponse> Sürüm: 2.16 Tarih: 25/12/2012 Kod: CAPABILITY_EXPOSURE_PLATFORM_API Sayfa: 256 / 337
</soapenv:body> </soapenv:envelope> 9.4. Ödeme Durum Bilgisi Sorgulama Yapılan ödeme isteğinin durumunu sorgulamak amacıyla kullanılan metoddur. İstek Parametreleri Parametre Veri Tipi Zorunlu Açıklama enduserid String E tel:+ ile başlayan 12 haneli telefon numarasi. Örnek: tel:+ 90543xxxxxxx ReferenceCode String E Maksimum 32 karakterden oluşan alfanümerik değer. Dönüş değerleri Parametre Veri Tipi Açıklama enduserid String İstekte gelen değer aynen geçirilir referencecode String İstekte gelen değer aynen geçirilir serverreferencecode String Mobil ödeme sisteminin charge transaction nına atadığı maksimum 32 karakterden oluşan id statuscode String Transaction durum kodu, Tablodaki değerlerden biri.resultcode success ise kayıt başarı ile alınmıştır ve statuscode daki değer transactionın durumunu verir. ResultCode success değilse, kayıt çekilirken hata olmuştur yada kayıt bulunamamıştır, statuscode değeri gerçersizdir statusdescription String Transaction Durum Kodu açıklaması chargingtransactiondate String Ücretlendirme işleminin gerçekleştirildiği tarih resultcode String Durum kodu, numara. Tablodaki degerlerden biri. resultdescription String Durum kodu açıklaması Sürüm: 2.16 Tarih: 25/12/2012 Kod: CAPABILITY_EXPOSURE_PLATFORM_API Sayfa: 257 / 337
9.4.1. SOAP Arayüzü Örnek Soap İstek <soapenv:envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:aut="authentication" xmlns:mob="http://mobilepayment.services.oksijen.com"> <soapenv:header> <aut:usernamepassword aut:user="testuser@testcompany" aut:password="testpassword"/> </soapenv:header> <soapenv:body> <mob:querypaymentresult> <serviceid>825428482</serviceid> <enduserid>tel:+90542xxxxxxx</enduserid> <referencecode>968439</referencecode> </mob:querypaymentresult> </soapenv:body> </soapenv:envelope> Örnek Soap Cevap <soapenv:envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/"> <soapenv:body> <ns:querypaymentresultresponse xmlns:ns="http://mobilepayment.services.oksijen.com"> <return> <resultcode>0</resultcode> <resultdesc xsi:nil="true" xmlns:xsi="http://www.w3.org/2001/xmlschemainstance"/> <paymentresponse> <chargingtransactiondate>201105111643</chargingtransactiondate> <enduserid>tel:+90542xxxxxxx</enduserid> <referencecode>968439</referencecode> <serverreferencecode>mop11305120284542</serverreferencecode> <statuscode>0</statuscode> <statusdescription>success</statusdescription> </paymentresponse> </return> </ns:querypaymentresultresponse> </soapenv:body> </soapenv:envelope> Sürüm: 2.16 Tarih: 25/12/2012 Kod: CAPABILITY_EXPOSURE_PLATFORM_API Sayfa: 258 / 337
9.5. Toplu Ödeme Durum Bilgisi Sorgulama Bir seferde gönderilecek kayıt sayısı limit=50 ile sınırlıdır. Verilen zaman aralığında limit değerinden daha fazla kayıt varsa, RemainingRecords parametresi kaç kayıt olduğu bilgisini içerir. Gönderilen son kaydın rowcount bilgisi RowNumId de verilir. Bir sonraki sorguda rowid olarak bu değer verilerek, kalan kayıtlar da çekilebilir. Bu durumda bir önceki sorgulama sonucu en son gelen değer, bir sonraki sorguda tekrar gelecektir. Bu durumda beklenenden fazla kayıt gelmesi normaldir. İstek Parametreleri Parametre Veri Tipi Zorunlu Açıklama starttdate String E Sorgu başlangıç zamanını belirten String değer. Formatı: yyyymmddhhmm enddate String E Sorgu bitiş zamanını belirten String değer. Formatı: yyyymmddhhmm lastrownum Numeric E Hangi kayıttan başlanarak kayıtların çekileceğini belirtir Dönüş Değerleri Parametre Veri Tipi Açıklama paymentresult String Sorgu kriterine uyan kayıtların listesi. Bir önceki bölüm dönüş değerlerinde açıklanmıştır. lastrownum Numeric En son gönderilen transactionın rowid si RemainingRecords String Sorgu kriterine uyan gönderilmeyen kayıt sayısı. Bu kayıtlar LastQueryDate ten itibaren tekrar sorgulanarak alınabilir resultcode String Durum kodu, numara. Tablodaki degerlerden biri. resultdescription String Durum kodu açıklaması 9.5.1. SOAP Arayüzü Örnek Soap İstek <soapenv:envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:aut="authentication" xmlns:mob="http://mobilepayment.services.oksijen.com"> <soapenv:header> Sürüm: 2.16 Tarih: 25/12/2012 Kod: CAPABILITY_EXPOSURE_PLATFORM_API Sayfa: 259 / 337
<aut:usernamepassword aut:user="testuser@testcompany" aut:password="testpassword"/> </soapenv:header> <soapenv:body> <mob:querylistofpaymentresults> <serviceid>825428482</serviceid> <startdate>201105110000</startdate> <enddate>201105111830</enddate> <lastrownum>0</lastrownum> </mob:querylistofpaymentresults> </soapenv:body> </soapenv:envelope> Örnek Soap Cevap <soapenv:envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/"> <soapenv:body> <ns:querylistofpaymentresultsresponse xmlns:ns="http://mobilepayment.services.oksijen.com"> <return> <resultcode>0</resultcode> <resultdesc>success</resultdesc> <lastrownum>0</lastrownum> <paymentresult> <chargingtransactiondate>201105111641</chargingtransactiondate> <enduserid>90543xxxxxxx</enduserid> <referencecode>?</referencecode> <serverreferencecode>mop11305120284535</serverreferencecode> <statuscode>23</statuscode> <statusdescription>general system error!</statusdescription> </paymentresult> <paymentresult> <chargingtransactiondate>201105111641</chargingtransactiondate> <enduserid>90543xxxxxxx</enduserid> <referencecode>9999</referencecode> <serverreferencecode>mop11305120284537</serverreferencecode> <statuscode>23</statuscode> <statusdescription>general system error!</statusdescription> </paymentresult> <paymentresult> Sürüm: 2.16 Tarih: 25/12/2012 Kod: CAPABILITY_EXPOSURE_PLATFORM_API Sayfa: 260 / 337
<chargingtransactiondate>201105111642</chargingtransactiondate> <enduserid>90543xxxxxxx</enduserid> <referencecode>968438</referencecode> <serverreferencecode>mop11305120284540</serverreferencecode> <statuscode>23</statuscode> <statusdescription>general system error!</statusdescription> </paymentresult> <paymentresult> <chargingtransactiondate>201105111643</chargingtransactiondate> <enduserid>90542xxxxxxx</enduserid> <referencecode>968439</referencecode> <serverreferencecode>mop11305120284542</serverreferencecode> <statuscode>0</statuscode> <statusdescription>success</statusdescription> </paymentresult> <remainingrecords>0</remainingrecords> </return> </ns:querylistofpaymentresultsresponse> </soapenv:body> </soapenv:envelope> Sürüm: 2.16 Tarih: 25/12/2012 Kod: CAPABILITY_EXPOSURE_PLATFORM_API Sayfa: 261 / 337
10. Abone Onayı API Metodları Bu API grubu metodları abone onayı istenmesi ve onay isteğinin sonuçlarının alınabilmesi için kullanılan metodlardır. Metod Adı REST SOAP Sağlayan Kullanan Ücretlendirme Onayı İsteme X X CEP 3. parti servis Onay İstek Sonuçlarını Alma X X CEP 3. parti servis Onay İstek Sonuçları Alımını Başlatma X X CEP 3. parti servis Onay İstek Sonuçları Alımını Durdurma X X CEP 3. parti servis Onay Sonucu İtme X X CEP 3. parti servis 10.1. İçerik Bazlı Ücretlendirme Onayı İsteme Ücretlendirme onayı almak için kullanılır. Herhangi bir ücretlendirme işlemi yapılmadan önce uygulama kullanıcıya onay mesajı gönderebilir. Kullanıcının cevabı da uygulamaya iletir. Eğer istek sonucu başarısız ise uygulamaya başarısız olma sebebini açıklayan bir sonuç döner. Her Mesaj ve Toplu Onay İçerikleri İçeriklerde, ücretlendirme onayı olarak iki özel tip vardır: Her Mesaj ve Toplu Onay.. Toplu Onay, toplam X ücretlendirilmeyi ifade eder (tekil ücretlendirmede alt üst sınır yoktur.)., Her Mesaj: Ücretlendirme başına sınırı belirtir (toplam sınır yoktur). Bu iki ücretlendirme onayı ile çalışılmak istendiğinde, ilk olarak yapılması gereken ana içeriğe ilgili içerik tanımlamaktır. İlgili içeriğin ücret onay tipi Gerek Yok olmalı, ücret planı sıfır ücretlü abonelik olmalıdır. Bu onay tipiyle çalışmak isteyen üçüncü partiler, önce onay alıp daha sonra da ilgili içeriğe abonelik başlatmalıdır. Bundan sonra ana içerik satışı yapılabilir. İki onay tipinde de üst limit olarak MtLimit vardır. Mt limit her ücretlendirek sms gönderimi yapıldığında bir düşer, yani toplam yapılabilecek max ücretlendirerek sms gönderimi sayısıdır. Normal ücretlendirme metodu kullanımında MtLimit düşmez. Sürüm: 2.16 Tarih: 25/12/2012 Kod: CAPABILITY_EXPOSURE_PLATFORM_API Sayfa: 262 / 337
İçerik satışıyla ilgili örnek verilmesi gerekirse: Her Mesaj: 3 tl ücretlendirme olanağı olan Her Mesaj içeriği, MtLimit i 15 ise, 15 kere 3 tl lik ücretlendirme yapabilir. Toplu Onay: 25 tl ücretlendirme olanağı olan Toplu Onay içeriği, MtLimit i 15 ise, 15 kere - toplamı 25 tl yi aşmayacak şekilde istediği şekilde ücretlendirme yapabilir. Örnek ücretlendirme serisi : 10tl-2tl-0tl-0tl-0tl- 1tl-1tl-0tl-1tl İstek Parametereleri Parametre Veri Tipi Zorunlu Size Açıklama senderaddress String E Ücretlendirmek isteyen uygulamanın SenderAddress i restcapexsubscriberid RestCapexSubscriberId Evet 2.4 de açıklanmıştır. Uygulamada subscriber ın id sidir. kullanılacak contentid String E Ücretlendirilmesi için onay alınacak içeriği belirtir. notifyurl String H 512 Byte Onay cevabı alındığında uygulamaya bu cevabı çıkmak için kullanılacak URL clientcorrelator String H 30 Byte İki kez ardarda aynı isteği yapmayı önler subscriptionkey String H Bir içeriğe birden fazla abonelik yapılmasını sağlar. Dönüş Değerleri Parametre Veri Tipi Açıklama requestid Long Abonenin cevabını eşleştirmek için Id dönülür, hata durumlarında ERROR dönülür. Error information String Sorgu sonucunun başarısız olduğu durumda dönülür Error messageid String Sorgu başarısıza hata kodunu içerir Sürüm: 2.16 Tarih: 25/12/2012 Kod: CAPABILITY_EXPOSURE_PLATFORM_API Sayfa: 263 / 337
Error text String Hata açıklaması yer alır. usageid Long UsageId bilgisidir. 10.1.1. REST Arayüzü Rest URL: http://127.0.0.1.8000/2/0/consent/requests/contentbasedconsent Örnek Rest İstek POST http://172.25.23.74:8000/2/0/consent/requests/contentbasedconsent?subscriptionkey=seli&se nderaddress=131971&contentid=1234¬ifyurl=https%3a%2f%2f172.24.76.114%3a9443%2fdeneme%2 FMyservlet%20 HTTP/1.1 Accept-Encoding: gzip,deflate Content-Type: application/json Authorization: Basic aglsywxamtawmdawmda2ntpiawxhbde5odm= serviceid: :1001000043 User-Agent: Jakarta Commons-HttpClient/3.1 Host: 172.25.23.74:8000 Content-Length: 145 { "enduserid":"acr:286002vjytc0/sohbrwrhubqb2im16uotqazvb7hta+e9zkzhafb3sevxu2k2ylwxvaj3tqu AOwWm9RpxjeIeoWO33tA==", "nickname":"", "usageid":55 } Örnek Rest Cevap: HTTP/1.1 201 Created Content-Type: application/json Location: http://172.25.23.74:8000/2/0/consent/requests/contentbasedconsent/sdf113439762181 Content-Length: 129 Server: Jetty(6.1.25) Sürüm: 2.16 Tarih: 25/12/2012 Kod: CAPABILITY_EXPOSURE_PLATFORM_API Sayfa: 264 / 337
{ "usageid": 55, "responsereceiptsubscription": {"resourceurl": "developer.vodafone.com/2/0/consent/requests/charge/sdf113439762181"} } 10.1.2. SOAP Arayüzü Örnek Soap İstek <soapenv:envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:v2="http://v2.soap.charge.consent.capabilityexposure.services.oksijen.com"> <soapenv:header> <v2:authentication v2:user="hilal@1000000065" v2:password="hilal1983" v2:sessionid="" v2:serviceid=":1001000043"/> </soapenv:header> <soapenv:body> <v2:sendcontentbasedchargingconsent> <senderaddress>131971</senderaddress> <capexsubscriberid> <enduserid>acr:286002vjytc0/sohbrwrhubqb2im16uotqazvb7hta+e9zkzhafb3sevxu2k2ylwxvaj3tquao wwm9rpxjeieowo33ta==</enduserid> <nickname></nickname> <usageid>78</usageid> </capexsubscriberid> <contentid>1234</contentid> <notifyurl>http://172.24.76.84:8088/mockconsentresponsenotificationv2soap11binding</notif yurl> <clientcorrelator></clientcorrelator> <subscriptionkey>seli</subscriptionkey> </v2:sendcontentbasedchargingconsent> Sürüm: 2.16 Tarih: 25/12/2012 Kod: CAPABILITY_EXPOSURE_PLATFORM_API Sayfa: 265 / 337
</soapenv:body> </soapenv:envelope> Örnek Soap Cevap: soapenv:envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/"> <soapenv:body> <ns:sendcontentbasedchargingconsentresponse xmlns:ns="http://v2.soap.charge.consent.capabilityexposure.services.oksijen.com"> <return> <resultcode>0</resultcode> <resultdesc>success</resultdesc> <variables xsi:nil="true" xmlns:xsi="http://www.w3.org/2001/xmlschemainstance"/> <id>sdf113439067191</id> <usageid xsi:nil="true" xmlns:xsi="http://www.w3.org/2001/xmlschemainstance"/> </return> </ns:sendcontentbasedchargingconsentresponse> </soapenv:body> </soapenv:envelope> 10.2. Onay İsteme Onay almak için kullanılır. Uygulama kullanıcıya onay mesajı gönderebilir. Kullanıcının cevabı da uygulamaya iletir. Genel onay alma api si olarak düşünülebilir. Eğer istek sonucu başarısız ise uygulamaya başarısız olma sebebini açıklayan bir sonuç döner. İstek Parametereleri Parametre Veri Tipi Zorunlu Size Açıklama senderaddress String E Uygulamanın SenderAddress i restcapexsubscriberid RestCapexSubscriberId Evet 2.4 de açıklanmıştır. Uygulamada subscriber ın id sidir. kullanılacak message String E Onay almak için atılacak mesaj. EVET %uniqueaocid% içermelidir. notifyurl String H 512 Byte Onay cevabı alındığında uygulamaya bu cevabı çıkmak için kullanılacak Sürüm: 2.16 Tarih: 25/12/2012 Kod: CAPABILITY_EXPOSURE_PLATFORM_API Sayfa: 266 / 337
URL clientcorrelator String H 30 Byte İki kez ardarda aynı isteği yapmayı önler Dönüş Değerleri Parametre Veri Tipi Açıklama requestid Long Abonenin cevabını eşleştirmek için Id dönülür, hata durumlarında ERROR dönülür. Error information String Sorgu sonucunun başarısız olduğu durumda dönülür Error messageid String Sorgu başarısıza hata kodunu içerir Error text String Hata açıklaması yer alır. usageid Long UsageId bilgisidir. 10.2.1. REST Arayüzü Rest URL: http://127.0.0.1.8000/2/0/consent/requests/ Örnek Rest İstek POST http://172.25.23.74:8000/2/0/consent/requests/?message=basic%20aoc%20rest%20v2%20evet%20% 25uniqueAocId%25&senderAddress=131971¬ifyURL=https%3A%2F%2F172.24.76.114%20%3A9443%2Fd eneme%2fmyservlet%20 HTTP/1.1 Accept-Encoding: gzip,deflate Accept: application/json Content-Type: application/json Authorization: Basic aglsywxamtawmdawmda2ntpiawxhbde5odm= serviceid: :1001000043 User-Agent: Jakarta Commons-HttpClient/3.1 Host: 172.25.23.74:8000 Content-Length: 149 { "enduserid":"acr:286002vjytc0/sohbrwrhubqb2im16uotqazvb7hta+e9zkzhafb3sevxu2k2ylwxvaj3tqu AOwWm9RpxjeIeoWO33tA==", Sürüm: 2.16 Tarih: 25/12/2012 Kod: CAPABILITY_EXPOSURE_PLATFORM_API Sayfa: 267 / 337
"nickname":"seli", "usageid":55 } Örnek Rest Cevap: HTTP/1.1 201 Created Content-Type: application/json Location: http://172.25.23.74:8000/2/0/consent/requests/sdf113439753561 Content-Length: 129 Server: Jetty(6.1.25) { "usageid": 55, "responsereceiptsubscription": {"resourceurl": "developer.vodafone.com/2/0/consent/requests/charge/sdf113439753561"} } 10.2.2. SOAP Arayüzü Örnek Soap İstek < soapenv:envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:v2="http://v2.soap.charge.consent.capabilityexposure.services.oksijen.com"> <soapenv:header> <v2:authentication v2:user="hilal@1000000065" v2:password="hilal1983" v2:sessionid="" v2:serviceid=":1001000043"/> </soapenv:header> <soapenv:body> <v2:sendconsent> <senderaddress>131971</senderaddress> <capexsubscriberid> <usageid>232</usageid> <enduserid>acr:286002vjytc0/sohbrwrhubqb2im16uotqazvb7hta+e9zkzhafb3sevxu2k2ylwxva j3tquaowwm9rpxjeieowo33ta==</enduserid> Sürüm: 2.16 Tarih: 25/12/2012 Kod: CAPABILITY_EXPOSURE_PLATFORM_API Sayfa: 268 / 337
<nickname xsi:nil="true" xmlns:xsi="http://www.w3.org/2001/xmlschemainstance"/> </capexsubscriberid> <message>deneme entegrasyon aoc EVET %uniqueaocid%</message> <notifyurl>http://172.24.76.84:8088/mockconsentresponsenotificationv2soap11binding</notif yurl> <clientcorrelator xsi:nil="true" xmlns:xsi="http://www.w3.org/2001/xmlschemainstance"/> </v2:sendconsent> </soapenv:body> </soapenv:envelope> Örnek Soap Cevap: <soapenv:envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/"> <soapenv:body> <ns:sendconsentresponse xmlns:ns="http://v2.soap.charge.consent.capabilityexposure.services.oksijen.com"> <return> <resultcode>0</resultcode> <resultdesc>success</resultdesc> <variables xsi:nil="true" xmlns:xsi="http://www.w3.org/2001/xmlschemainstance"/> <id>sdf113439061721</id> <usageid xsi:nil="true" xmlns:xsi="http://www.w3.org/2001/xmlschemainstance"/> </return> </ns:sendconsentresponse> </soapenv:body> </soapenv:envelope> 10.3. Onay Sorgulama Uygulamaya onay mesajlarının o anki durumunu döner. İstek Parametereleri Parametre Veri Tipi Zorunlu Açıklama Sürüm: 2.16 Tarih: 25/12/2012 Kod: CAPABILITY_EXPOSURE_PLATFORM_API Sayfa: 269 / 337
resultcode int E Sorgulama isteğinin sonuç kodu Dönüş Değerleri Parametre Veri Tipi Açıklama messageid long Mesaj Id consentresponsestatus String INITIAL, EXPIRED, POSITIVE, NEGATIVE ve ERROR değerlerini döner. destinationenduserid String Onay isteğinin gönderildiği abone relatedcontent String İlgili içerik belirteci requestid String İstek belirtecidir. subscriptionid long Abonelikli içerik olan contentid veya ilgil içerik için abonelik id sidir. subscriptionkey String Abonelikli içerik olan contentid veya ilgil içerik için abonelik anahtarıdır totalamountleft long Kalan ücretlendirilebilecek miktar resultdesc String Sorgulama isteğinin sonuç açıklaması variables String Sorgulama isteğinin sonuç ek bilgileri content String Ücretlendirme için onayı istenen içerik usageid Long UsageId bilgisidir clientcorrelator String İki kez ardarda aynı isteği yapmayı önler mtlimitleft int Mt limit bilgisidir recordtime Long Onay isteği yapıldığı zamandır 10.3.1. REST Arayüzü Rest URL: http://127.0.0.1:8000/2/0/consent/requests/query/{requestid} HTTP/1.1 Örnek Rest İstek Sürüm: 2.16 Tarih: 25/12/2012 Kod: CAPABILITY_EXPOSURE_PLATFORM_API Sayfa: 270 / 337
GET http://172.25.23.74:8000/2/0/consent/requests/query/sdf113439762181 HTTP/1.1 Accept-Encoding: gzip,deflate Authorization: Basic aglsywxamtawmdawmda2ntpiawxhbde5odm= serviceid: :1001000043 User-Agent: Jakarta Commons-HttpClient/3.1 Host: 172.25.23.74:8000 Örnek Rest Cevap: HTTP/1.1 200 OK Content-Type: application/json Content-Length: 381 Server: Jetty(6.1.25) { "content": "1234", "subscriptionid": null, "requestid": "sdf113439762181", "usageid": 55, "subscriptionkey": "seli", "clientcorrelator": null, "consentresponsestatus": "POSITIVE", "recordtime": 1343976218951, "destinationenduserid": "acr:286002vjytc0/sohbrwrhubqb2im16uotqazvb7hta+e9zkzhafb3sevxu2k2ylwxvaj3tquaowwm9rpxjei eowo33ta==", } "relatedcontent": "5555", "mtlimitleft": 13, "totalamountleft": 0 10.3.2. SOAP Arayüzü Örnek Soap İstek soapenv:envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:v2="http://v2.soap.charge.consent.capabilityexposure.services.oksijen.com"> <soapenv:header> <v2:authentication v2:user="hilal@1000000065" v2:password="hilal1983" v2:sessionid="" v2:serviceid=":1001000043"/> Sürüm: 2.16 Tarih: 25/12/2012 Kod: CAPABILITY_EXPOSURE_PLATFORM_API Sayfa: 271 / 337
</soapenv:header> <soapenv:body> <v2:queryconsent> <requestid>sdf113328514211</requestid> </v2:queryconsent> </soapenv:body> </soapenv:envelope> Örnek Soap Cevap: <soapenv:envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/"> <soapenv:body> <ns:queryconsentresponse xmlns:ns="http://v2.soap.charge.consent.capabilityexposure.services.oksijen.com"> <return> <resultcode>0</resultcode> <resultdesc>success</resultdesc> <variables xsi:nil="true" xmlns:xsi="http://www.w3.org/2001/xmlschemainstance"/> <clientcorrelator xsi:nil="true" xmlns:xsi="http://www.w3.org/2001/xmlschemainstance"/> <consentresponsestatus>positive</consentresponsestatus> <content xsi:nil="true" xmlns:xsi="http://www.w3.org/2001/xmlschemainstance"/> <destinationenduserid>acr:286002mjvrv/jvu2uh58/eki20rgbrwe+gct6s162pnq+jeiw5rqzhwk77bt30p MIdVTZhS91vNnB4GOrInoCF2LDoTA==</destinationEndUserId> <mtlimitleft>0</mtlimitleft> <recordtime>1332851421905</recordtime> <relatedcontent xsi:nil="true" xmlns:xsi="http://www.w3.org/2001/xmlschemainstance"/> <requestid>sdf113328514211</requestid> <subscriptionid xsi:nil="true" xmlns:xsi="http://www.w3.org/2001/xmlschemainstance"/> <subscriptionkey xsi:nil="true" xmlns:xsi="http://www.w3.org/2001/xmlschemainstance"/> <totalamountleft>0.0</totalamountleft> <usageid>0</usageid> </return> </ns:queryconsentresponse> </soapenv:body> Sürüm: 2.16 Tarih: 25/12/2012 Kod: CAPABILITY_EXPOSURE_PLATFORM_API Sayfa: 272 / 337
</soapenv:envelope> 10.4. Onay İstek Sonuçları Alımını Başlatma Uygulama onay mesajları için kendi URL'ini kayıt ettirir. Eğer onay mesajını gönderirken herhangi bir notifyurl verilmezse, onay mesajının cevabı geldiğinde uygulamanın kayıt ettirmiş olduğu bu notifyurl kullanılarak onay mesajının cevabı uygulamaya iletilir. İstek Parametereleri Parametre Veri Tipi Zorunlu Açıklama senderaddress String E Uygulamanın SenderAddress i notifyurl String E Uygulamaya mesajları cıkabileceğimiz URLdir clientcorrelator String H İki kez ardarda aynı isteği yapmayı engeller usageid Long E UsageId bilgisidir. Dönüş Değerleri Parametre Veri Tipi Açıklama subscriptionid String Başarılı ise kaydolduğı Id dönülür, hata durumlarında ERROR dönülür. Error information String Sorgu sonucunun başarısız olduğu durumda dönülür Error messageid String Sorgu başarısızsa hata kodunu içerir Error text String Hata açıklaması yer alır. usageid Long UsageId bilgisidir. 10.4.1. REST Arayüzü Rest URL: http://127.0.0.1.8000/2/0/consent/{senderaddress}/subscriptions Örnek Rest İstek Sürüm: 2.16 Tarih: 25/12/2012 Kod: CAPABILITY_EXPOSURE_PLATFORM_API Sayfa: 273 / 337
POST http://172.25.23.74:8000/2/0/consent/131971/subscriptions HTTP/1.1 Accept-Encoding: gzip,deflate Content-Type: application/x-www-form-urlencoded Authorization: Basic aglsywxamtawmdawmda2ntpiawxhbde5odm= serviceid: :1001000043 User-Agent: Jakarta Commons-HttpClient/3.1 Host: 172.25.23.74:8000 Content-Length: 20 notifyurl=http://bla Örnek Rest Cevap: HTTP/1.1 201 Created Content-Type: application/json Location: http://127.0.0.1.8000/2/0/consent/131971/subscriptions/sdf113389872691 Content-Length: 117 Server: Jetty(6.1.25) { "usageid": 12533, "resourcereference": {"resourceurl": "developer.vodafone.com/2/0/consent/subscriptions/sdf113389872691"} } 10.4.2. SOAP Arayüzü Örnek Soap İstek <soapenv:envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:v2="http://v2.soap.charge.consent.capabilityexposure.services.oksijen.com"> <soapenv:header> <v2:authentication v2:user="hilal@1000000065" v2:password="hilal1983" v2:sessionid="" v2:serviceid=":1001000043"/> </soapenv:header> <soapenv:body> <v2:startconsentsubscription> Sürüm: 2.16 Tarih: 25/12/2012 Kod: CAPABILITY_EXPOSURE_PLATFORM_API Sayfa: 274 / 337
<senderaddress>131971</senderaddress> <notifyurl>http://localhost:8088/mockconsentresponsenotificationv2soap11binding</notifyur L> <clientcorrelator></clientcorrelator> <usageid>34</usageid> </v2:startconsentsubscription> </soapenv:body> </soapenv:envelope> Örnek Soap Cevap: <soapenv:envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/"> <soapenv:body> <ns:startconsentsubscriptionresponse xmlns:ns="http://v2.soap.charge.consent.capabilityexposure.services.oksijen.com"> <return> <resultcode>0</resultcode> <resultdesc>success</resultdesc> <variables xsi:nil="true" xmlns:xsi="http://www.w3.org/2001/xmlschemainstance"/> <id>sdf113438005601</id> <usageid>34</usageid> </return> </ns:startconsentsubscriptionresponse> </soapenv:body> </soapenv:envelope> 10.5. Onay İstek Sonuçları Alımını Durdurma Uygulama onay mesajları için daha önce kaydettirmiş olduğu URL'i iptal ettirebilir. İptal ettirebilmesi için kaydolurken uygulamaya dönülen "subscriptionid" ile uygulama iptal isteği gönderilmelidir. İstek Parametreleri Sürüm: 2.16 Tarih: 25/12/2012 Kod: CAPABILITY_EXPOSURE_PLATFORM_API Sayfa: 275 / 337
Parametre Veri Tipi Zorunlu Açıklama subsid String E Onay servisleri için kayıt yaptırırken uygulamaya dönülmüş olan subscriptionid usageid Long E UsageId bilgisidir. Dönüş Değerleri Parametre Veri Tipi Açıklama usageid Long UsageId bilgisidir. 10.5.1. REST Arayüzü Rest URL: http://127.0.0.1.8000/2/0/consent/subscriptions/{subsid} Örnek Rest İstek DELETE http://172.25.23.74:8000/2/0/consent/subscriptions/sdf113439116811?usageid=2343 HTTP/1.1 Accept-Encoding: gzip,deflate Authorization: Basic aglsywxamtawmdawmda2ntpiawxhbde5odm= serviceid: :1001000043 User-Agent: Jakarta Commons-HttpClient/3.1 Host: 172.25.23.74:8000 Örnek Rest Cevap: HTTP/1.1 200 OK Content-Type: application/json Content-Length: 16 Server: Jetty(6.1.25) {"usageid":2343} Sürüm: 2.16 Tarih: 25/12/2012 Kod: CAPABILITY_EXPOSURE_PLATFORM_API Sayfa: 276 / 337
10.5.2. SOAP Arayüzü Örnek Soap İstek <soapenv:envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:v2="http://v2.soap.charge.consent.capabilityexposure.services.oksijen.com"> <soapenv:header> <v2:authentication v2:user="hilal@1000000065" v2:password="hilal1983" v2:sessionid="" v2:serviceid=":1001000043"/> </soapenv:header> <soapenv:body> <v2:stopsubscribtiontonotificatons> <usageid>34</usageid><subsid>sdf113438005601</subsid> </v2:stopsubscribtiontonotificatons> </soapenv:body> </soapenv:envelope> Örnek Soap Cevap: <soapenv:envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/"> <soapenv:body> <ns:stopsubscribtiontonotificatonsresponse xmlns:ns="http://v2.soap.charge.consent.capabilityexposure.services.oksijen.com"> <return> <resultcode>0</resultcode> <resultdesc>success</resultdesc> <variables xsi:nil="true" xmlns:xsi="http://www.w3.org/2001/xmlschemainstance"/> <usageid>34</usageid> </return> </ns:stopsubscribtiontonotificatonsresponse> </soapenv:body> </soapenv:envelope> 10.6. Onay Sonucu İtme Uygulamanın onay mesajlarının cevaplarını alabilmesi için sağlaması gereken servistir. Rest yada Soap olabilir. Soap Wsdl'i ConsentResponseNotificationV2.wsdl olarak attachments altında bulunabilir. Sürüm: 2.16 Tarih: 25/12/2012 Kod: CAPABILITY_EXPOSURE_PLATFORM_API Sayfa: 277 / 337
10.6.1. SOAP Arayüzü Örnek Soap İstek: <?xml version='1.0' encoding='utf-8'?><s:envelope xmlns:s="http://schemas.xmlsoap.org/soap/envelope/"> <S:Body> <ns2:notifyconsent xmlns:ns2="http://v2.charge.consent.notification.capabilityexposure.services.oksijen.com" > <consent> <clientcorrelator xmlns:xsi="http://www.w3.org/2001/xmlschema-instance" xsi:nil="true"/> <consentresponsestatus>positive</consentresponsestatus> <content>1234</content> <destinationenduserid>acr:286002vjytc0/sohbrwrhubqb2im16uotqazvb7hta+e9zkzhafb3sevxu2k2yl wxvaj3tquaowwm9rpxjeieowo33ta==</destinationenduserid> <mtlimitleft>13</mtlimitleft> <recordtime>1343906720012</recordtime> <relatedcontent xmlns:xsi="http://www.w3.org/2001/xmlschema-instance" xsi:nil="true"/> <requestid>sdf113439067191</requestid> <subscriptionid xmlns:xsi="http://www.w3.org/2001/xmlschema-instance" xsi:nil="true"/> <subscriptionkey>seli</subscriptionkey> <totalamountleft>0.0</totalamountleft> <usageid>78</usageid> </consent></ns2:notifyconsent> </S:Body></S:Envelope> 10.6.2. REST Arayüzü Örnek Rest İstek: Response: {"consentresponsenotification":{"response":{"subscriptionkey":"seli","content":"1234","re la tedcontent":"5555","mtlimitleft":13,"clientcorrelator":null,"requestid":"sdf113439762181","consentresponsestatus":"positive","totalamountleft":0. 0,"recordTime":1343976218951,"subscriptionId":null,"usageId":55,"destinationEndUserId":"a cr:286002vjytc0\/sohbrwrhubqb2im16uotqazvb7hta+e9zkzhafb 3sevxU2K2yLwXvaj3TQuAOwWm9RpxjeIeoWO33tA=="}}} Sürüm: 2.16 Tarih: 25/12/2012 Kod: CAPABILITY_EXPOSURE_PLATFORM_API Sayfa: 278 / 337
11. Abonelik API Metodları Abonelikli servisler verildiğinde, abone bilgisi ile ilgili sair işlem değişikliklerinden (msisdn değişikliği, abonelik iptal, abonelik yenileme gibi) ya da partial charge notification'larından haberdar olmak için bu api kullanılarak abonelikler capex'e bildirilmelidir. Notification eventleri hala MDP'nin api'leri üzerinden alınmaktadır (Abonelik Uyarısı Gönderme ve MSISDN Değişimi Bildirimi). Bu API lerin CEP üzerinden sağlanıp bu dokümana eklendiğinde eklendiğinde MDP kısmları kaldırılacaktır. Metod Adı REST SOAP Sağlayan Kullanan Abonelik Yaratma X X CEP 3. parti servis Onaylı Abonelik Yaratma X X CEP 3. parti servis Abonelik İptali X X CEP 3. parti servis Abonelik Uyarısı Gönderme X 3. parti servis CEP MSISDN Değişimi Bildirimi X 3. parti servis CEP 11.1. Abonelik Yaratma Yeni bir abonelik yaratıldığında capex sistemine bu metod ile abonelik bildirilir. İstek Parametreleri Parametre Tip Zorunlu Size Açıklama restcapexsubscriberid RestCapexSubscriberId Evet 2.4 de açıklanmıştır. Uygulamada kullanılacak subscriber ın id sidir. contentid String E 20 Byte Hangi content'e abonelik yapılacağı. Content tanımları servicecard guisi üzerinden yapılır assetname String E 20 Byte İçerik bilgisi, faturada gösterilecek bilgidir. Örneğin:KuzuKuzu.amr Sürüm: 2.16 Tarih: 25/12/2012 Kod: CAPABILITY_EXPOSURE_PLATFORM_API Sayfa: 279 / 337
channel String E Abonelik kanallarından biri: SMS,MMS,USSD,WEB,IVR,WAP,MH,BULK subscriptionkey String E Bir içeriğe birden fazla abonelik yapılmasını sağlar. Dönüş Değerleri Parametre Tip Açıklama subscriptionid String Aboneliği gösteren unique id değeri usageid Long UsageId bilgisidir. 11.1.1. REST Arayüzü Rest Url http://127.0.0.1:8000/2/0/subscriberoperations//subscriptions Örnek Rest İstek POST http://127.0.0.1:8000/2/0/subscriberoperations/subscriptions?channel=sms&contentid=9876&a ssetname=kuzukuzu.amr HTTP/1.1 Accept-Encoding: gzip,deflate Content-Type: application/json Authorization: Basic c3vsdgfuqdewmdawmdawnji6u3vsdgfumzu= serviceid: :1001000162 User-Agent: Jakarta Commons-HttpClient/3.1 Host: 172.25.23.74:8100 Content-Length: 68 {"enduserid":"tel:+90542xxxxxxx","usageid":"23","nickname":""} Örnek Rest Cevap HTTP/1.1 201 Created Sürüm: 2.16 Tarih: 25/12/2012 Kod: CAPABILITY_EXPOSURE_PLATFORM_API Sayfa: 280 / 337
Content-Type: application/json Location: http://127.0.0.1:8000/2/0/subscriberoperations/subscriptions/10016166 Content-Length: 120 Server: Jetty(6.1.25) { "usageid": 23, "resourcereference": {"resourceurl": "developer.vodafone.com/2/0/subscriberoperations/subscriptions/10016166"} } 11.1.2. SOAP Arayüzü Örnek Soap İstek POST http://localhost:8080/services/subscriberoperationsservicev2.subscriberoperationsservicev 2HttpSoap11Endpoint/ HTTP/1.1 Accept-Encoding: gzip,deflate Content-Type: text/xml;charset=utf-8 SOAPAction: "urn:createsubscription" Authorization: Basic c3vsdgfuqdewmdawmdawnji6u3vsdgfumzu= serviceid: serviceid User-Agent: Jakarta Commons-HttpClient/3.1 Host: localhost:8080 Content-Length: 884 <soapenv:envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:v2="http://v2.soap.subscriberoperations.capabilityexposure.services.oksijen.com"> <soapenv:header> <v2:authentication v2:user="user@companyid" v2:password="password" v2:sessionid="" v2:serviceid=":serviceid"/> </soapenv:header> <soapenv:body> <v2:createsubscription> <capexsubscriberid> <enduserid>tel:+90542xxxxxxx</enduserid> <nickname></nickname> Sürüm: 2.16 Tarih: 25/12/2012 Kod: CAPABILITY_EXPOSURE_PLATFORM_API Sayfa: 281 / 337
<usageid></usageid> </capexsubscriberid> <contentid>9876</contentid> <assetname>kuzukuzu.amr</assetname> <channel>sms</channel> <subscriptionkey></subscriptionkey> </v2:createsubscription> </soapenv:body> </soapenv:envelope> Örnek Soap Cevap HTTP/1.1 200 OK Content-Type: text/xml; charset=utf-8 Transfer-Encoding: chunked Server: Jetty(6.1.25) <?xml version='1.0' encoding='utf-8'?> <soapenv:envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/"> <soapenv:body> <ns:createsubscriptionresponse xmlns:ns="http://v2.soap.subscriberoperations.capabilityexposure.services.oksijen.com"> <return><resultcode>0</resultcode> <resultdesc>success</resultdesc> <variables xmlns:xsi="http://www.w3.org/2001/xmlschema-instance" xsi:nil="true" /><subscriptionid>10016027</subscriptionid> <usageid>464920</usageid> </return> </ns:createsubscriptionresponse> </soapenv:body> </soapenv:envelope> Sürüm: 2.16 Tarih: 25/12/2012 Kod: CAPABILITY_EXPOSURE_PLATFORM_API Sayfa: 282 / 337
11.2. Abonelik İptali Servis tarafından abonelik sonlandırıldığında capex sistemine bu metod ile abonelik bildirilir. İstek Parametreleri Parametre Tip Zorunlu Size Açıklama subscriptionid String E Abonelik yaratıldığında sistemden dönülen id channel String E Abonelik iptalinin yapıldığı kanal (SMS,MMS,USSD,WEB,IVR,WAP,MH,BULK) cause String H 50byte Raporlamada kullanılır. immediately Boolean H Abonelik süresi dolmadan aboneliği iptal etmek için kullanılır. Default değeri:true usageid Long E UsageId bilgisidir. Dönüş Değerleri Parametre Tip Açıklama usageid Long UsageId bilgisidir. 11.2.1. REST Arayüzü Rest Url http://127.0.0.1:8000/2/0/subscriberoperations//subscriptions/{subscriptionid} Örnek Rest İstek DELETE http://127.0.0.1:8000/2/0/subscriberoperations/subscriptions/10016030?channel=sms&cause=i ptal&usageid=3 HTTP/1.1 Accept-Encoding: gzip,deflate Authorization: Basic c3vsdgfuqdewmdawmdawnji6u3vsdgfumzu= serviceid: : serviceid Sürüm: 2.16 Tarih: 25/12/2012 Kod: CAPABILITY_EXPOSURE_PLATFORM_API Sayfa: 283 / 337
User-Agent: Jakarta Commons-HttpClient/3.1 Host: 127.0.0.1:8000 Örnek Rest Cevap HTTP/1.1 200 OK Content-Type: application/json Content-Length: 13 Server: Jetty(6.1.25) {"usageid":3} 11.2.2. SOAP Arayüzü Örnek Soap İstek POST http://localhost:8080/services/subscriberoperationsservicev2.subscriberoperationsservicev 2HttpSoap11Endpoint/ HTTP/1.1 Accept-Encoding: gzip,deflate Content-Type: text/xml;charset=utf-8 SOAPAction: "urn:cancelsubscription" Authorization: Basic c3vsdgfuqdewmdawmdawnji6u3vsdgfumzu= serviceid: serviceid User-Agent: Jakarta Commons-HttpClient/3.1 Host: localhost:8080 Content-Length: 689 <soapenv:envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:v2="http://v2.soap.subscriberoperations.capabilityexposure.services.oksijen.com"> <soapenv:header> <v2:authentication v2:user="user@companyid" v2:password="password" v2:sessionid="" v2:serviceid=":serviceid"/> </soapenv:header> <soapenv:body> <v2:cancelsubscription> <subscriptionid>10016026</subscriptionid> <cause>iptal</cause> <immediately></immediately> <channel>sms</channel> Sürüm: 2.16 Tarih: 25/12/2012 Kod: CAPABILITY_EXPOSURE_PLATFORM_API Sayfa: 284 / 337
<usageid></usageid> </v2:cancelsubscription> </soapenv:body> </soapenv:envelope> Örnek Soap Cevap HTTP/1.1 200 OK Content-Type: text/xml; charset=utf-8 Transfer-Encoding: chunked Server: Jetty(6.1.25) <?xml version='1.0' encoding='utf-8'?> <soapenv:envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/"> <soapenv:body> <ns:cancelsubscriptionresponse xmlns:ns="http://v2.soap.subscriberoperations.capabilityexposure.services.oksijen.com"> <return><resultcode>0</resultcode> <resultdesc>success</resultdesc> <variables xmlns:xsi="http://www.w3.org/2001/xmlschema-instance" xsi:nil="true" /> <usageid>464919</usageid> </return></ns:cancelsubscriptionresponse> </soapenv:body> </soapenv:envelope> 11.3. Abonelik Uyarısı Gönderme [PartyCallService.sendSubscriptionNotify] 3. parti servis geliştirici tarafından açılan ve CEP in gerçekleşen abonelik bilgilerini iletmek amacıyla kullanacağı metoddur. İstek Parametreleri Parametre Tip Zorunlu Açıklama newstate String E State of subscription. Sürüm: 2.16 Tarih: 25/12/2012 Kod: CAPABILITY_EXPOSURE_PLATFORM_API Sayfa: 285 / 337
UNKNOWN, ACTIVATE, DEACTIVATE, RENEWAL, SUSPEND, CHANGE_MSISDN ACTIVATE: Subscription is active. Content delivery is allowed. DEACTIVATE: Permanent problem with the subscription. Content delivery is not allowed. SUSPEND: Temporary problem with the subscription. Content delivery is not allow till the subscription passes to ACTIVE state. RENEWAL: Subscription is renewed. Content delivery is allowed. subscriptionid String E Abonelik yaratıldığında sistemden dönülen id subscriberid String E Abonenin MSISDN/Opaque Id ya da TCKNo su serviceid String E Service belirteci contentid String E İçerik belirteci Dönüş Değerleri Adı Veri Tipi Zorunlu Açıklama resultcode long Evet Dönen sonuç değeri, 0:fail, 1:success resultdescription String Hayır Döndüğü sonuca dair açıklama, hata varsa mecburi alan 11.3.1. SOAP Arayüzü Örnek Soap İstek <soap:envelope xmlns:soap="http://www.w3.org/2003/05/soap-envelope" xmlns:ser="http://services.pp.mdp.services.oksijen.com"> <soap:header/> <soap:body> <ser:sendsubscriptionnotify> <newstate>passive</newstate> <subscriptionid>3</subscriptionid> <subscriberid>90542xxxxxxx</subscriberid> <serviceid>1000000185</serviceid> <contentid>1212121212</contentid> </ser:sendsubscriptionnotify> </soap:body> </soap:envelope> Sürüm: 2.16 Tarih: 25/12/2012 Kod: CAPABILITY_EXPOSURE_PLATFORM_API Sayfa: 286 / 337
Örnek Soap Cevap <soapenv:envelope xmlns:soapenv="http://www.w3.org/2003/05/soap-envelope"> <soapenv:body> <ns2:sendsubscriptionnotifyresponse xmlns:ns2="http://ws.apache.org/axis2"> <return> <resultcode>1</resultcode> </return> </ns2:sendsubscriptionnotifyresponse> </soapenv:body> </soapenv:envelope> 11.4. MSISDN Değişimi Bildirimi [PartyCallService.sendChangeMsisdnNotify] 3. parti servis geliştirici tarafından açılan ve CEP in gerçekleşen MSISDN değişiklik bilgilerini iletmek amacıyla kullanacağı metoddur. İstek Parametreleri Parametre Tip Zorunlu Açıklama newsubscriberid String E Abonenin yeni MSISDN/Opaque Id ya da TCKNo su oldsubscriberid String E Abonenin eski MSISDN/Opaque Id ya da TCKNo su Dönüş Değerleri Adı Veri Tipi Zorunlu Açıklama resultcode long Evet Dönen sonuç değeri, 0:fail, 1:success resultdescription String Hayır Döndüğü sonuca dair açıklama, hata varsa mecburi alan 11.4.1. SOAP Arayüzü Örnek Soap İstek <soap:envelope xmlns:soap="http://www.w3.org/2003/05/soap-envelope" xmlns:ser="http://services.pp.mdp.services.oksijen.com"> <soap:header/> <soap:body> Sürüm: 2.16 Tarih: 25/12/2012 Kod: CAPABILITY_EXPOSURE_PLATFORM_API Sayfa: 287 / 337
<ser:sendchangemsisdnnotify> <newsubscriberid>90543xxxxxxx</newsubscriberid> <oldsubscriberid>90543xxxxxxx</oldsubscriberid> </ser:sendchangemsisdnnotify> </soap:body> </soap:envelope> Örnek Soap Cevap <soap:envelope xmlns:soap="http://www.w3.org/2003/05/soap-envelope" xmlns:ser="http://services.pp.mdp.services.oksijen.com"> <soap:header/> <soap:body> <ser:sendchangemsisdnnotifyresponse> <return> <resultcode>1</resultcode> <resultdescription>success</resultdescription> </return> </ser:sendchangemsisdnnotifyresponse> </soap:body> </soap:envelope> Sürüm: 2.16 Tarih: 25/12/2012 Kod: CAPABILITY_EXPOSURE_PLATFORM_API Sayfa: 288 / 337
12. Kimlik Denetimi API Metodları Authentication API Servisi uygulamalar arası session paylaşımı için kullanılan bir servistir. Session, Online Self Servislerininde(OSS) kullandığı SSO sistemi üzerinde yaratılmaktadır. Session zaman aşımına uğrayana kadar ya da bir uygulama tarafından sonlandırılana kadar ayakta kalır. Geçerlilik ve bilgi alma amaçlı fonksiyonlar kullanılarak session ömrü uzatılır ve dönüş değerleri ile çeşitli işlevler yerine getirilir. Session yaratma TokenId kullanılarak session geçerlilik kontrolü TokenId kullanılarak session'a ait bilgilerin alınması TokenId kullanılarak session'ın sonlandırılması Rest ve SOAP desteği mevcuttur. Konfigurasyona göre Online Self Servis tarafından yaratılan tokenid ile çalışma imkanı vardır. Bir uygulama tarafından yaratılan tokenid, diğer uygulamalara da geçirilebilir ve uygulamalar arası session paylaşımı gerçekleştirilebilir. Metod Adı REST SOAP Sağlayan Kullanan Seans Yaratma X X CEP 3. parti servis Seans Kontrolü X X CEP 3. parti servis Seans Bitirme X X CEP 3. parti servis Seans Bilgisi Alma X X CEP 3. parti servis 12.1. Seans Yaratma Online Self Servis entegrasyonu ya da uygulamalar arası session paylaşmak için kullanılabilecek bir SSO token üretilmesi için kullanılır. Girdi olarak EndUserIdentifier ve şifre alır, çıktı olarak aktif session bilgisi alma ve kontrol etme amacıyla kullanılacak tokenid döndürülür. İstek Parametreleri Adı Veri Tipi orunlu Size Açıklama restcapexsubscriberid RestCapexSubscriberId Evet 2.4 de açıklanmıştır. restcapexsubscriberid Sürüm: 2.16 Tarih: 25/12/2012 Kod: CAPABILITY_EXPOSURE_PLATFORM_API Sayfa: 289 / 337
password String Evet enduserid ile ifade edilen abonenin SSO şifresi Dönüş Değerleri Adı Veri Tipi Zorunlu Açıklama resultcode long Evet Capex'in döndüğü sonuç değeri resultdescription String Evet Capex'in döndüğü sonuca dair açıklama tokenid String Hayır SSO sisteminde başarılı senaryoda üretilen 40 karakter uzunluğundaki değer timeout long Hayır SSO sisteminde başarılı senaryoda üretilmiş oturumun zaman aşım süresi (Saniye cinsinden) 12.1.1. REST Arayüzü Rest Url http://172.28.138.129:8000/{version}/authentication/session Örnek Rest İstek POST http://127.0.0.1:8000/2/0/authentication/session?password=11111111 HTTP/1.1 Accept-Encoding: gzip,deflate Content-Type: application/json Authorization: Basic aglsywxamtawmdawmda2ntpiawxhbde5odm= serviceid: :1001000043 User-Agent: Jakarta Commons-HttpClient/3.1 Host: 127.0.0.1:8000 Content-Length: 156 { "enduserid":"acr:286002mjvrv/jvu2uh58/eki20rgbrwe+gct6s162pnq+jeiw5rqzhwk77bt30pmi dvtzhs91vnnb4gorinocf2ldota==", "nickname":"seli", Sürüm: 2.16 Tarih: 25/12/2012 Kod: CAPABILITY_EXPOSURE_PLATFORM_API Sayfa: 290 / 337
"usageid":null } Örnek Rest Cevap HTTP/1.1 201 Created Content-Type: application/json Content-Length: 125 Server: Jetty(6.1.25) { "timeout": 300, "tokenid": "71feac56-a889-497e-a114-a20803bec2bd", "resultcode": 0, "usageid": 12235, "resultdescription": "Success" } 12.1.2. SOAP Arayüzü Örnek Soap İstek <soapenv:envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:v2="http://v2.soap.authentication.capabilityexposure.services.oksijen.com"> <soapenv:header> <v2:authentication v2:user="hilal@1000000065" v2:password="hilal1983" v2:sessionid="" v2:serviceid=":1001000043"/> </soapenv:header> <soapenv:body> <v2:createsession> <capexsubscriberid> <enduserid>acr:286002mjvrv/jvu2uh58/eki20rgbrwe+gct6s162pnq+jeiw5rqzhwk77bt30pmidvtzhs91v NnB4GOrInoCF2LDoTA==</endUserId> <nickname></nickname> </capexsubscriberid> <password>11111111</password> </v2:createsession> </soapenv:body> Sürüm: 2.16 Tarih: 25/12/2012 Kod: CAPABILITY_EXPOSURE_PLATFORM_API Sayfa: 291 / 337
</soapenv:envelope> Örnek Soap Cevap <soapenv:envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/"> <soapenv:body> <ns:createsessionresponse xmlns:ns="http://v2.soap.authentication.capabilityexposure.services.oksijen.com"> <return> <resultcode>0</resultcode> <resultdescription>success</resultdescription> <usageid>13022</usageid> <timeout>900</timeout> <tokenid>b2326cbf-3bd8-41c2-a008-5150cb1ab9d8</tokenid> </return> </ns:createsessionresponse> </soapenv:body> </soapenv:envelope> 12.2. Seans Kontrolü Daha önceden yaratılmış bir SSO token'ının geçerliliğini kontrol eder. Geçerlilik kontrolü zaman aşımı kontrolünü de içermektedir. SSO'da belirtilen süre içinde bir aktivite gerçekleşmeyen session otomatik olarak zaman aşımına uğrar ve silinir. İstek Parametreleri Adı Veri Tipi Zorunlu Size Açıklama tokenid String Evet createsession ile yaratılmış olan ve session'ı ifade eden tokenid değeri usageid Long Hayır UsageId bilgisidir. Dönüş Değerleri Adı Veri Tipi Zorunlu Açıklama resultcode long Evet Capex'in döndüğü sonuç değeri Sürüm: 2.16 Tarih: 25/12/2012 Kod: CAPABILITY_EXPOSURE_PLATFORM_API Sayfa: 292 / 337
resultdescription String Evet Capex'in döndüğü sonuca dair açıklama insession boolean Hayır Session halen geçerli ise true döner usageid Long Evet UsageId bilgisidir. 12.2.1. REST Arayüzü Rest Url http://172.28.138.129:8000/{version}/authentication/session/{tokenid} Örnek Rest İstek GET http://127.0.0.1:8000/2/0/authentication/session/a9d9dfa6-9975-41a8-8ef5- d00357f0e062?usageid=5 HTTP/1.1 Accept-Encoding: gzip,deflate Authorization: Basic aglsywxamtawmdawmda2ntpiawxhbde5odm= serviceid: :1001000043 User-Agent: Jakarta Commons-HttpClient/3.1 Host: 127.0.0.1:8000 Örnek Rest Cevap HTTP/1.1 200 OK Content-Type: application/json Content-Length: 75 Server: Jetty(6.1.25) { "insession": true, "resultcode": 0, "usageid": 5, "resultdescription": "Success" } 12.2.2. SOAP Arayüzü Örnek Soap İstek Sürüm: 2.16 Tarih: 25/12/2012 Kod: CAPABILITY_EXPOSURE_PLATFORM_API Sayfa: 293 / 337
<soapenv:envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:v2="http://v2.soap.authentication.capabilityexposure.services.oksijen.com"> <soapenv:header> <v2:authentication v2:user="hilal@1000000065" v2:password="hilal1983" v2:sessionid="" v2:serviceid=":1001000043"/> </soapenv:header> <soapenv:body> <v2:checksession> <tokenid>b2326cbf-3bd8-41c2-a008-5150cb1ab9d8</tokenid> <usageid>123</usageid> </v2:checksession> </soapenv:body> </soapenv:envelope> Örnek Soap Cevap <soapenv:envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/"> <soapenv:body> <ns:checksessionresponse xmlns:ns="http://v2.soap.authentication.capabilityexposure.services.oksijen.com"> <return> <resultcode>0</resultcode> <resultdescription>success</resultdescription> <usageid>123</usageid> <insession>true</insession> </return> </ns:checksessionresponse> </soapenv:body> </soapenv:envelope> 12.3. Seans Bitirme Varolan bir SSO token'ın yok edilmesi için kullanılır. Uygulama, işi bittiği zaman session'ı zaman aşımını beklenmeden yok etmek isterse bu metod kullanılır. İstek Parametreleri Sürüm: 2.16 Tarih: 25/12/2012 Kod: CAPABILITY_EXPOSURE_PLATFORM_API Sayfa: 294 / 337
Adı Veri Tipi Zorunlu Size Açıklama tokenid String Evet createsession ile yaratılmış olan ve session'ı ifade eden tokenid değeri usageid Long Hayır UsageId bilgisidir. Dönüş Değerleri Adı Veri Tipi Zorunlu Açıklama resultcode long Evet Capex'in döndüğü sonuç değeri resultdescription String Evet Capex'in döndüğü sonuca dair açıklama usageid Long Evet UsageId bilgisidir. 12.3.1. REST Arayüzü Rest Url http://172.28.138.129:8000/{version}/authentication/session/{tokenid} Örnek Rest İstek DELETE http://127.0.0.1:8000/2/0/authentication/session/a9d9dfa6-9975-41a8-8ef5- d00357f0e062?usageid=1 HTTP/1.1 Accept-Encoding: gzip,deflate Authorization: Basic aglsywxamtawmdawmda2ntpiawxhbde5odm= serviceid: :1001000043 User-Agent: Jakarta Commons-HttpClient/3.1 Host: 127.0.0.1:8000 Örnek Rest Cevap HTTP/1.1 200 OK Content-Type: application/json Content-Length: 58 Server: Jetty(6.1.25) Sürüm: 2.16 Tarih: 25/12/2012 Kod: CAPABILITY_EXPOSURE_PLATFORM_API Sayfa: 295 / 337
{ "resultcode": 0, "usageid": 1, "resultdescription": "Success" } 12.3.2. SOAP Arayüzü Örnek Soap İstek <soapenv:envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:v2="http://v2.soap.authentication.capabilityexposure.services.oksijen.com"> <soapenv:header> <v2:authentication v2:user="hilal@1000000065" v2:password="hilal1983" v2:sessionid="" v2:serviceid=":1001000043"/> </soapenv:header> <soapenv:body> <v2:endsession> <tokenid>b2326cbf-3bd8-41c2-a008-5150cb1ab9d8</tokenid> <usageid>1231</usageid> </v2:endsession> </soapenv:body> </soapenv:envelope> Örnek Soap Cevap <soapenv:envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/"> <soapenv:body> <ns:endsessionresponse xmlns:ns="http://v2.soap.authentication.capabilityexposure.services.oksijen.com"> <return> <resultcode>0</resultcode> <resultdescription>success</resultdescription> <usageid>1231</usageid> </return> </ns:endsessionresponse> </soapenv:body> </soapenv:envelope> Sürüm: 2.16 Tarih: 25/12/2012 Kod: CAPABILITY_EXPOSURE_PLATFORM_API Sayfa: 296 / 337
12.4. Seans Bilgisi Alma Yaratılmış olan bir SSO token'a ait izin verilmiş abone bilgilerinin alınması için kullanılır. Bu bilgiler session'ı yaratan EndUserIdentifier, prepaid/postpaid, bireysel/kurumsal gibi aboneliği ifade eden bilgiler olup müşteri bilgilerini içermez. İstek Parametreleri Adı Veri Tipi Zorunlu Size Açıklama tokenid String Evet createsession ile yaratılmış olan ve session'ı ifade eden tokenid değeri usageid Long Hayır UsageId bilgisidir. Dönüş Değerleri Adı Veri Tipi Zorunlu Açıklama resultcode long Evet Capex'in döndüğü sonuç değeri resultdescription String Evet Capex'in döndüğü sonuca dair açıklama enduserid String Hayır Session'ın hangi kullanıcıya ait olduğu bilgisi startdate String Hayır Aboneliğin başlangıç tarihi profile String Hayır Abone profili (CR, BA, U, M) customerid String Hayır Abone customerid bilgisi. Bir customerid'ye baglı birden fazla hat olabilir customertype String Hayır Müşteri tipi bilgisi (B:Bireysel, K:Kurumsal) email String Hayır Abone email bilgisi usageid Long Evet UsageId bilgisidir. 12.4.1. REST Arayüzü Rest Url http://172.28.138.129:8000/{version}/authentication/session/{tokenid} Sürüm: 2.16 Tarih: 25/12/2012 Kod: CAPABILITY_EXPOSURE_PLATFORM_API Sayfa: 297 / 337
Örnek Rest İstek GET http://127.0.0.1:8000/2/0/authentication/session/c255a880-4b40-4bcc-a74b- 10e68334bc92/info?usageId=145 HTTP/1.1 Accept-Encoding: gzip,deflate Authorization: Basic aglsywxamtawmdawmda2ntpiawxhbde5odm= serviceid: :1001000043 User-Agent: Jakarta Commons-HttpClient/3.1 Host: 127.0.0.1:8000 Örnek Rest Cevap HTTP/1.1 200 OK Content-Type: application/json Content-Length: 279 Server: Jetty(6.1.25) { "startdate": "2011-12-28 15:34:28.0", "profile": "M", "email": null, "enduserid": "acr:286002mjvrv/jvu2uh58/eki20rgbrwe+gct6s162pnq+jeiw5rqzhwk77bt30pmidvtzhs91vnnb4gorino CF2LDoTA==", } "customertype": "B", "customerid": "32962648", "resultcode": 0, "usageid": 145, "resultdescription": "Success" 12.4.2. SOAP Arayüzü Örnek Soap İstek <soapenv:envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:v2="http://v2.soap.authentication.capabilityexposure.services.oksijen.com"> <soapenv:header> <v2:authentication v2:user="hilal@1000000065" v2:password="hilal1983" v2:sessionid="" v2:serviceid=":1001000043"/> </soapenv:header> <soapenv:body> Sürüm: 2.16 Tarih: 25/12/2012 Kod: CAPABILITY_EXPOSURE_PLATFORM_API Sayfa: 298 / 337
<v2:getsessioninfo> <tokenid>b2326cbf-3bd8-41c2-a008-5150cb1ab9d8</tokenid> <usageid>25</usageid> </v2:getsessioninfo> </soapenv:body> </soapenv:envelope> Örnek Soap Cevap <soapenv:envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/"> <soapenv:body> <ns:getsessioninforesponse xmlns:ns="http://v2.soap.authentication.capabilityexposure.services.oksijen.com"> <return> <resultcode>0</resultcode> <resultdescription>success</resultdescription> <usageid>25</usageid> <customerid>32962648</customerid> <customertype>b</customertype> <email xsi:nil="true" xmlns:xsi="http://www.w3.org/2001/xmlschema-instance"/> <enduserid>acr:286002mjvrv/jvu2uh58/eki20rgbrwe+gct6s162pnq+jeiw5rqzhwk77bt30pmidvtzhs91v NnB4GOrInoCF2LDoTA==</endUserId> <profile>m</profile> <startdate>2011-12-28 15:34:28.0</startDate> </return> </ns:getsessioninforesponse> </soapenv:body> </soapenv:envelope> Sürüm: 2.16 Tarih: 25/12/2012 Kod: CAPABILITY_EXPOSURE_PLATFORM_API Sayfa: 299 / 337
13. Kullanım Bilgisi API Metodları Capex kullanıcıları kullandıkları tüm api lerin kullanım log u için gethistory servisini kullanır. Çeşitli parametreler ve sınırlar verip tüm api lerinin tarihsel logları elde edilebilir. Hem REST hem SOAP olarak açılmış bir servistir. 13.1. Kullanım Bilgisi Kullanıcı girdi olarak başlangıç ve bitiş tarihlerini verir, sonucunda tarihsel loglar kullanıcıya döner. Girdi olarak başlangıç ve bitiş tarihiyle birlikte, opsiyonel olarak direction, api_method, originator gibi aşağıdaki tabloda detaylı açıklanan diğer kısıtlayıcı inputlar verebilir. Bunun yanında sonuç degeri de kullanıcıya döndürülür, başarılı veya başarısız şeklinde. Eğer istek sonucu başarısız ise kullanıcıya başarısız olma sebebini açıklayan bir sonuç döner. İstek Parametereleri Parametre Veri Tipi Zorunlu Size Açıklama startdate String E 12 karakter enddate String E 12 karakter originator String H 20 karakter direction String H 20 karakter apimethod String H 128 karakter İstenen aralığın başlangıç zamanını belirtir. Formatı yyyymmddhhmm şeklinde olmalı. İstenen aralığın bitiş zamanını belirtir. Formatı yyyymmddhhmm şeklinde olmalıdır. Kullanılan api ye yapılan isteğin kaynağını belirtir. APPLICATION, NETWORK ve PORTAL_TEST değerlerini alabilir. Yapılan isteğin yönünü belirtir. TO_APP ve TO_SUBSCRIBER değerlerini alabilir. Yapılan isteğin api metodunu belirtir. Alabileceği değerler: "AUTH.CREATE_SESSION", "AUTH.CHECK_SESSION", "AUTH.GET_SESSION_INFO", "AUTH.END_SESSION", "CHRG.CHARGE", "CHRG.CHARGE_WITH_AOC", "CHRG.REFUND", "CHRG.QUERY_LIST_OF_PAYMENT_RESULTS", Sürüm: 2.16 Tarih: 25/12/2012 Kod: CAPABILITY_EXPOSURE_PLATFORM_API Sayfa: 300 / 337
"CHRG.QUERY_PAYMENT_RESULT", "CONSENT.SEND_CHARGE_CONSENT", "CONSENT.SEND_LOCATION_CONSENT", "CONSENT.GET_RECEIVED_CONSENT_RESPONSES", "CONSENT.SUBSCRIBE_TO_CONSENT_NOTIFICATIONS", "CONSENT.STOP_SUBSCRIPTION_TO_CONSENT_NOTIFICATIONS", "CONSENT.PUSH_CONSENT_RESPONSE","LOC.GET_LOC", "POI.GET_POI_XY", "POI.GET_POI_ADDRESS", "POI.GET_ROUTE", SMS.SEND_SMS", SMS.SEND_SMS_CHARGE", SMS.SEND_WAP_PUSH", SMS.SEND_WAP_PUSH_CHARGE", SMS.GET_SMS_DELIVERY_STATUS, SMS.GET_RECEIVED_MSG, SMS.PUSH_DELIVERY_STATUS, "SMS.SUBSCRIBE_TO_DELIVERY_NOTIFICATIONS, "SMS.STOP_DELIVERY_NOTIFICATIONS", "SMS.START_NOTIFICATIONS", "SMS.STOP_NOTIFICATIONS", "MMS.SEND", "MMS.GET_DELIVERY_STATUS", "MMS.SUBSCRIBE_TO_DELIVERY_NOTIFICATIONS", "MMS.STOP_DELIVERY_NOTIFICATIONS", MMS.PUSH_DELIVERY_STATUS,"MMS.GET_RECEIVED_MSG", "MMS.START_NOTIFICATIONS", "MMS.STOP_NOTIFICATIONS", "SUBSOP.CREATE", "SUBSOP.CREATE_WITH_AOC", "SUBSOP.CANCEL", "PMS.GET_SUBSCRIBER_INFO", "PMS.CHECK_BALANCE", "PMS.DIRECT_LOAD", "PMS.DIRECT_LOAD_WITH_VOUCHER", Sürüm: 2.16 Tarih: 25/12/2012 Kod: CAPABILITY_EXPOSURE_PLATFORM_API Sayfa: 301 / 337
"PMS.PREDEFINED_LOAD", "PMS.PREDEFINED_LOAD_WITH_VOUCHER", "USSD.SEND_USSD", "USSD. SUBSCRIBE_TO_DELIVERY_NOTIFICATIONS", "USSD. STOP_DELIVERY_NOTIFICATIONS", "USSD.PUSH_DELIVERY_STATUS", "VERIFICATION.QUERY_ADDRESS, "VERIFICATION.QUERY_SEGMENT", "VERIFICATION.QUERY_PACKAGE", "VERIFICATION.QUERY_CAMPAIGN, "VERIFICATION.QUERY_OPTION", "VERIFICATION.QUERY_IS_MALE", "VERIFICATION.QUERY_TCKNO_VERIFIED", "VERIFICATION.QUERY_AGE", "VERIFICATION.QUERY_IS_INDIVIDUAL", "VERIFICATION.QUERY_CREDIT_AMOUNT", "VERIFICATION.QUERY_BILL_TOPUP_AMOUNT", "VERIFICATION.QUERY_OPTIN", "VERIFICATION.QUERY_ACTIVE_DATA_USER", "VERIFICATION.QUERY_ACTIVE_STATUS", "VERIFICATION.QUERY_CANCEL_STATUS", "VERIFICATION.QUERY_MNP_IN", "VERIFICATION.QUERY_IS_POSTPAID", "VERIFICATION.QUERY_IS_PREPAID", "VERIFICATION.QUERY_IS_EBILLING", "VERIFICATION.QUERY_IS_RED_REDPLUS" "VERIFICATION.QUERY_EINVOICE" enduserid String H 400 karakter result String H 20 karakter enduserid yi belirtir,2.4 de açıklanmıştır. Api isteklerinin result code unu belirtir. (string formatında). lastrownum int H sonsuz Dönen response un başlaması gereken satır sayısını belirtir. (Sistem kendi içinde belirlediği bir parametreye bağlı olarak kısıtlı sayıda bir dönüş yaptığı için, dönecek yeni response un başlaması gereken satır sayısını belirtir.) Dönüş Değerleri Sürüm: 2.16 Tarih: 25/12/2012 Kod: CAPABILITY_EXPOSURE_PLATFORM_API Sayfa: 302 / 337
Parametre Veri Tipi Zorunlu Açıklama resultcode int E Sorgu sonucunun başarılı veya başarısız olduğunu gösterir. resultdesc String E Sorgu sonucunu başarılı veya başarısız olduğunu gösterir. Başarılı ise SUCCESS, başarısız ise hata açıklaması yer alır. apienddate String H Yapılan api isteğinin bitiş (cevap) zamanını verir. Formatı yyyymmddhhmm şeklindedir. apimethod String H Yapılan isteğin api metodunu belirtir. Alabileceği değerler input bölümündeki apimethod la aynıdır. apistartdate String H Yapılan api isteğinin başlangıç (istek) zamanını verir. Formatı yyyymmddhhmm şeklindedir. direction String H Yapılan isteğin yönünü belirtir. TO_APP ve TO_SUBSCRIBER değerlerini alabilir. enduserid String H enduserid yi belirtir. 2.4 de açıklanmıştır. originator String H Kullanılan api ye yapılan isteğin kaynağını belirtir. APPLICATION, NETWORK ve PORTAL_TEST değerlerini alabilir. request String H Yapılan request in içeriğini gösterir. response String H Yapılan isteğe karşı dönülen response u içerir. result String H Api nin yaptığı isteğin sonucunun kodunu belirtir. (Bu isteğin döndüğü resultcode ile paralel düşünülebilir.) resultdescription String H Api nin yaptığı isteğin sonucunun açıklamasını belirtir. (Bu isteğin döndüğü resultdesc ile paralel düşünülebilir.) lastrownum int E Dönen response un en son dönen satır sayısını belirtir. (Sistem kendi içinde belirlediği bir parametreye bağlı olarak kısıtlı sayıda bir dönüş yaptığı için, dönecek yeni response un başlaması gereken satır sayısını belirtir.) remainingrecords int E Dönen response ta, cevap olarak dönülmeyen fakat verilen parametrelere uyan, kalan isteklerin sayısını verir. 13.1.1. SOAP Arayüzü Soap wsdl URL: Sürüm: 2.16 Tarih: 25/12/2012 Kod: CAPABILITY_EXPOSURE_PLATFORM_API Sayfa: 303 / 337
http://localhost:8080/services/com.oksijen.services.capabilityexposure.gethistory.gethistoryservi ce?wsdl Örnek Soap İstek: <soapenv:envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:get="http://gethistory.capabilityexposure.services.oksijen.com"> <soapenv:header> <Authentication:usernamePassword Authentication:user="hilal@yalcin" Authentication:password="Selime1234" Authentication:serviceid=":666666" xmlns:authentication="authentication"/> </soapenv:header> <soapenv:body> <get:gethistory> <startdate>200010101010</startdate> <enddate>201108231415</enddate> <!Optional-> <originator>network</originator> <!Optional-> <direction>to_app</direction> <!Optional-> <apimethod>sms.receive</apimethod> <!Optional-> <enduserid>tel:+90543xxxxxxx</enduserid> <!Optional-> <result>0</result> <!Optional-> <lastrownum>1</lastrownum> </get:gethistory> </soapenv:body> </soapenv:envelope> Örnek Soap Cevap: <soapenv:envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/"> <soapenv:body> <ns:gethistoryresponse xmlns:ns="http://gethistory.capabilityexposure.services.oksijen.com"> <return> <resultcode>0</resultcode> <resultdesc>success</resultdesc> Sürüm: 2.16 Tarih: 25/12/2012 Kod: CAPABILITY_EXPOSURE_PLATFORM_API Sayfa: 304 / 337
<gethistorydetaillist> <apienddate>201108230908</apienddate> <apimethod>sms.receive</apimethod> <apistartdate>201108230908</apistartdate> <direction>to_app</direction> <enduserid>tel:+90543xxxxxxx</enduserid> <originator>network</originator> <request>{"inboundmessagenotification":{"inboundsmsmessage": "message":"hello world","senderaddress":"tel:+90543xxxxxxx","datetime":1314079680478,"destinationaddress": "90543xxxxxxx5","messageId":"sdf11314010065243"} }}</request> <response xsi:nil="true" xmlns:xsi="http://www.w3.org/2001/xmlschemainstance"/> <result>0</result> <resultdescription>success</resultdescription> </gethistorydetaillist> <lastrownum>0</lastrownum> <remainingrecords>0</remainingrecords> </return> </ns:gethistoryresponse> </soapenv:body> </soapenv:envelope> 13.1.2. REST Arayüzü Rest URL: http://localhost:8000/{version}/history/gethistoryresults Örnek Rest İstek: GET http://localhost:8000/1/history/gethistoryresults?direction=to_app&enduserid=tel%3a%2b905 43xxxxxxx&startDate=200010101010&apiMethod=SMS.RECEIVE&lastRowNum=0&originator=NETWORK&en ddate=201108231415 HTTP/1.1 Accept-Encoding: gzip,deflate Authorization: Basic aglsywxaewfsy2luolnlbgltzteymzq= serviceid: :666666 User-Agent: Jakarta Commons-HttpClient/3.1 Host: localhost:8000 Sürüm: 2.16 Tarih: 25/12/2012 Kod: CAPABILITY_EXPOSURE_PLATFORM_API Sayfa: 305 / 337
Örnek Rest Cevap: HTTP/1.1 200 OK Content-Type: application/json Transfer-Encoding: chunked Server: Jetty(6.1.25) { "lastrownum": 0, "remainingrecords": 0, "gethistorydetaillist": [ { "originator": "NETWORK", "result": "{\"inboundmessagenotification\":{\"inboundsmsmessage\": {\"message\":\"hello world\",\"senderaddress\":\"tel:+90543xxxxxxx\",\"datetime\":1314079680478,\"destinationa ddress\":\"90543xxxxxxx5\",\"messageid\":\"sdf11314010065243\"} }}", }, "response": null, "request": null, "direction": "TO_APP", "resultdescription": null, "enduserid": "tel:+90543xxxxxxx", "apistartdate": "201108230908", "apienddate": "201108230908", "apimethod": "SMS.RECEIVE", "isdummy": 0 { "originator": "NETWORK", "result": "{\"inboundmessagenotification\":{\"inboundsmsmessage\": {\"message\":\"hello world\",\"senderaddress\":\"tel:+90543xxxxxxx\",\"datetime\":1314095912831,\"destinationa ddress\":\"90543xxxxxxx5\",\"messageid\":\"sdf11314010065244\"} }}", "response": null, "request": null, "direction": "TO_APP", "resultdescription": null, "enduserid": "tel:+90543xxxxxxx", "apistartdate": "201108231338", Sürüm: 2.16 Tarih: 25/12/2012 Kod: CAPABILITY_EXPOSURE_PLATFORM_API Sayfa: 306 / 337
"apienddate": "201108231338", "apimethod": "SMS.RECEIVE", }, { "originator": "NETWORK", "result": "{\"inboundmessagenotification\":{\"inboundsmsmessage\": {\"message\":\"hello world\",\"senderaddress\":\"tel:+90543xxxxxxx\",\"datetime\":1314096907860,\"destinationa ddress\":\"90543xxxxxxx5\",\"messageid\":\"sdf11314010065245\"} }}", } ], } "response": null, "request": null, "direction": "TO_APP", "resultdescription": null, "enduserid": "tel:+90543xxxxxxx", "apistartdate": "201108231355", "apienddate": "201108231355", "apimethod": "SMS.RECEIVE", "resultcode": 0, "resultdesc": "Success" Sürüm: 2.16 Tarih: 25/12/2012 Kod: CAPABILITY_EXPOSURE_PLATFORM_API Sayfa: 307 / 337
14. Provizyon API Metodları Bu api ile 3. parti şirketlere kampanya / promosyon verme imkanı tanımaktadır. Verilecek promosyonun/kampnayanın tanımının önceden KAMPANYA YÖNETİM SİSTEMİ üzerinden tanımlanmış olması gerekmektedir. Hem soap hem rest ile kullanılabilir. Soap için wsdl'e (PmsService.wsdl) attachments kısmından ulaşabilirsiniz. Metod Adı REST SOAP Sağlayan Kullanan Abone Bilgisi Alma X X CEP 3. parti servis Bakiye Kontrolü X X CEP 3. parti servis Doğrudan Yükleme X X CEP 3. parti servis Kupon ile Doğrudan Yükleme X X CEP 3. parti servis Ön Tanımla Yükleme X X CEP 3. parti servis Ön Tanımla Kuponlu Yükleme X X CEP 3. parti servis 14.1. Abone Bilgisi Alma Abone numarasının; geçerli bir numara olup olmadığı, geçerli bir numara ise birim bilgisinin (Faturalı, Faturasız-YTL, Faturasız-Kontor) sorgulanması için kullanılan işlemdir. İstek Parametreleri Parametre Tip Zorunlu mu?(e/h) Açıklama restcapexsubscriberid RestCapexSubscriberId Evet 2.4 de açıklanmıştır. Dönüş Değerleri Parametre Tip Açıklama subscribertype String Abone tipi Faturasız ise YTL ya da KNT(kontör); Faturalı ise PST(postpaid) Sürüm: 2.16 Tarih: 25/12/2012 Kod: CAPABILITY_EXPOSURE_PLATFORM_API Sayfa: 308 / 337
usageid Long Evet UsageId bilgisidir. 14.1.1. REST Arayüzü Rest Url http://127.0.0.1:8000/2/0/pms/subscriberinfo Örnek Rest İstek POST http://127.0.0.1:8000/2/0/pms/subscriberinfo HTTP/1.1 Accept-Encoding: gzip,deflate Content-Type: application/json Authorization: Basic aglsywxamtawmdawmda2ntpiawxhbde5odm= serviceid: :1001000043 User-Agent: Jakarta Commons-HttpClient/3.1 Host: 127.0.0.1:8000 Content-Length: 151 { "enduserid":"acr:286002mjvrv/jvu2uh58/eki20rgbrwe+gct6s162pnq+jeiw5rqzhwk77bt30pmi dvtzhs91vnnb4gorinocf2ldota==", } "nickname": null, "usageid":3 Örnek Rest Cevap HTTP/1.1 200 OK Content-Type: application/json Content-Length: 63 Server: Jetty(6.1.25) {"usageid":3,"subscriberinforesponse":{"subscribertype":"pst"}} 14.1.2. SOAP Arayüzü Örnek Soap İstek <soapenv:envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:v2="http://v2.soap.pms.capabilityexposure.services.oksijen.com"> Sürüm: 2.16 Tarih: 25/12/2012 Kod: CAPABILITY_EXPOSURE_PLATFORM_API Sayfa: 309 / 337
<soapenv:header> <v2:authentication v2:user="hilal@1000000065" v2:password="hilal1983" v2:sessionid="" v2:serviceid=":1001000043"/> </soapenv:header> <soapenv:body> <v2:subscriberinfo> <capexsubscriberid> <enduserid>acr:286002mjvrv/jvu2uh58/eki20rgbrwe+gct6s162pnq+jeiw5rqzhwk77bt30pmidvtzhs91v NnB4GOrInoCF2LDoTA==</endUserId> <nickname/> <usageid>15</usageid> </capexsubscriberid> </v2:subscriberinfo> </soapenv:body> </soapenv:envelope> Örnek Soap Cevap <soapenv:envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/"> <soapenv:body> <ns:subscriberinforesponse xmlns:ns="http://v2.soap.pms.capabilityexposure.services.oksijen.com"> <return> <resultcode>0</resultcode> <resultdesc>success</resultdesc> <variables xsi:nil="true" xmlns:xsi="http://www.w3.org/2001/xmlschemainstance"/> <subscriberinforesponse> <subscribertype>pst</subscribertype> </subscriberinforesponse> <usageid>15</usageid> </return> </ns:subscriberinforesponse> </soapenv:body> </soapenv:envelope> Sürüm: 2.16 Tarih: 25/12/2012 Kod: CAPABILITY_EXPOSURE_PLATFORM_API Sayfa: 310 / 337
14.2. Bakiye Kontrolü Kampanya ve hediye türüne göre bakiye bilgilerinin sorgulaması için kullanılır. İstek Parametreleri Parametre Tip Zorunlu Açıklama campaign long E Kampanya kodu, reason code gifttype int E Hediye tipi 1:Voice 2:SMS 3:Data usageid Long H UsageId bilgisidir. Dönüş Değerleri Parametre Tip Zorunlu Açıklama giftunit int E Hediye birimi 1:TL 2:Kontör 2:Dakika 4:Adet 5:Byte amount double E Miktar usageid Long E UsageId bilgisidir. 14.2.1. REST Arayüzü Rest Url http://127.0.0.1:8000/2/0/pms/checkbalance Örnek Rest İstek GET http://127.0.0.1:8000/2/0/pms/checkbalance?usageid=1215&gifttype=1&campaign=388 HTTP/1.1 Accept-Encoding: gzip,deflate Authorization: Basic aglsywxamtawmdawmda2ntpiawxhbde5odm= serviceid: :1001000043 User-Agent: Jakarta Commons-HttpClient/3.1 Host: 127.0.0.1:8000 Sürüm: 2.16 Tarih: 25/12/2012 Kod: CAPABILITY_EXPOSURE_PLATFORM_API Sayfa: 311 / 337
Örnek Rest Cevap HTTP/1.1 200 OK Content-Type: application/json Content-Length: 67 Server: Jetty(6.1.25) {"usageid":1215,"balanceresponse":{"amount":977341.0,"giftunit":3}} 14.2.2. SOAP Arayüzü Örnek Soap İstek <soapenv:envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:v2="http://v2.soap.pms.capabilityexposure.services.oksijen.com"> <soapenv:header> <v2:authentication v2:user="hilal@1000000065" v2:password="hilal1983" v2:sessionid="" v2:serviceid=":1001000043"/> </soapenv:header> <soapenv:body> <v2:checkbalance> <campaign>388</campaign> <gifttype>1</gifttype> <usageid>7</usageid> </v2:checkbalance> </soapenv:body> </soapenv:envelope> Örnek Soap Cevap <soapenv:envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/"> <soapenv:body> <ns:checkbalanceresponse xmlns:ns="http://v2.soap.pms.capabilityexposure.services.oksijen.com"> <return> <resultcode>0</resultcode> <resultdesc>success</resultdesc> <variables xsi:nil="true" xmlns:xsi="http://www.w3.org/2001/xmlschemainstance"/> <balance> Sürüm: 2.16 Tarih: 25/12/2012 Kod: CAPABILITY_EXPOSURE_PLATFORM_API Sayfa: 312 / 337
<amount>978311.0</amount> <giftunit>3</giftunit> </balance> <usageid>7</usageid> </return> </ns:checkbalanceresponse> </soapenv:body> </soapenv:envelope> 14.3. Doğrudan Yükleme Belirtilen kampanya kapsamında, belirtilen hediye tip ve miktarlarının belirtilen aboneye yükleme talebinin iletilmesi için kullanılır. İstek Parametreleri Parametre Tip Zorunlu Açıklama restcapexsubscriberid RestCapexSubscriberId E 2.4 de açıklanmıştır. campaign long E Kampanya kodu, reason code transactionid String E İşlem numarası giftlist List<RestPmsGift> E Hediye listesi Hediye Parametreleri Parametre Tip Zorunlu Açıklama gifttype int E Hediye tipi 1:Voice 2:SMS 3:Data giftunit int H Hediye birimi 1:TL 2:Kontör 2:Dakika 4:Adet 5:Byte amount double E Miktar usageid Long E UsageId bilgisidir. Vodafone tarafından sizin kampanyaya özel varsayılan birimleri kullan seçeneği seçilmiş ise hediye birimini girmediğiniz durumda varsayılan değer kullanılacaktır. Sürüm: 2.16 Tarih: 25/12/2012 Kod: CAPABILITY_EXPOSURE_PLATFORM_API Sayfa: 313 / 337
Success durumunda usageid dönülür, fail durumunda service ya da policy exception dönülür. Dönüş Parametreleri Parametre Tip Zorunlu Açıklama usageid Long Evet UsageId bilgisidir. 14.3.1. REST Arayüzü Rest Url http://127.0.0.1:8000/2/0/pms/directload Örnek Rest İstek POST http://127.0.0.1:8000/2/0/pms/directload?transactionid=21312&campaign=389 HTTP/1.1 Accept-Encoding: gzip,deflate Content-Type: application/json Authorization: Basic aglsywxamtawmdawmda2ntpiawxhbde5odm= serviceid: :1001000043 User-Agent: Jakarta Commons-HttpClient/3.1 Host: 127.0.0.1:8000 Content-Length: 247 { "restcapexsubscriberid":{ "enduserid":"acr:286002mjvrv/jvu2uh58/eki20rgbrwe+gct6s162pnq+jeiw5rqzhwk77bt30pmi dvtzhs91vnnb4gorinocf2ldota==", } "nickname":null, "usageid":null}, "giftlist":[{"amount":"1","gifttype":"3","giftunit":"5"}] Örnek Rest Cevap HTTP/1.1 200 OK Content-Type: application/json Sürüm: 2.16 Tarih: 25/12/2012 Kod: CAPABILITY_EXPOSURE_PLATFORM_API Sayfa: 314 / 337
Content-Length: 17 Server: Jetty(6.1.25) {"usageid":12279} 14.3.2. SOAP Arayüzü Örnek Soap İstek soapenv:envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:v2="http://v2.soap.pms.capabilityexposure.services.oksijen.com"> <soapenv:header> <v2:authentication v2:user="hilal@1000000065" v2:password="hilal1983" v2:sessionid="" v2:serviceid=":1001000043"/> </soapenv:header> <soapenv:body> <v2:directload> <capexsubscriberid> <enduserid>acr:286002mjvrv/jvu2uh58/eki20rgbrwe+gct6s162pnq+jeiw5rqzhwk77bt30pmidvtzhs91v NnB4GOrInoCF2LDoTA==</endUserId> <nickname/> <usageid>14</usageid> </capexsubscriberid> <campaign>389</campaign> <!--1 or more repetitions:--> <gift> <amount>3</amount> <gifttype>3</gifttype> <giftunit>5</giftunit> </gift> <transactionid>1</transactionid> </v2:directload> </soapenv:body> </soapenv:envelope> Örnek Soap Cevap Sürüm: 2.16 Tarih: 25/12/2012 Kod: CAPABILITY_EXPOSURE_PLATFORM_API Sayfa: 315 / 337
<soapenv:envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/"> <soapenv:body> <ns:directloadresponse xmlns:ns="http://v2.soap.pms.capabilityexposure.services.oksijen.com"> <return> <resultcode>0</resultcode> <resultdesc>success</resultdesc> <variables xsi:nil="true" xmlns:xsi="http://www.w3.org/2001/xmlschemainstance"/> <usageid>14</usageid> </return> </ns:directloadresponse> </soapenv:body> </soapenv:envelope> 14.4. Kupon ile Doğrudan Yükleme Belirtilen şifre destekli kampanya kapsamında, belirtilen hediye tip ve miktarlarının belirtilen aboneye, Vodafone tarafından önceden üretilen şifre ile, yükleme talebinin iletilmesi için kullanılır. Burada şifre tanımlatma işleminin Vodafone tarafına önceden bildirilmesi gerekir. (Bu şifrelerin daha önce Vodafone dan talep edilerek, marka kapağına basım v.s. gibi işlemlerin yapılması gerekebilir) İstek Parametreleri Parametre Tip Zorunlu Açıklama restcapexsubscriberid RestCapexSubscriberId E 2.4 de açıklanmıştır. campaign long E Kampanya kodu, reason code voucher String E Şifre transactionid String E İşlem numarası giftlist List<RestPmsGift> E Hediye listesi Hediye parametreleri Parametre Tip Zorunlu Açıklama Sürüm: 2.16 Tarih: 25/12/2012 Kod: CAPABILITY_EXPOSURE_PLATFORM_API Sayfa: 316 / 337
gifttype int E Hediye tipi 1:Voice 2:SMS 3:Data giftunit int H Hediye birimi 1:TL 2:Kontör 2:Dakika 4:Adet 5:Byte amount double E Miktar usageid Long E UsageId bilgisidir. Vodafone tarafından sizin kampanyaya özel varsayılan birimleri kullan seçeneği seçilmiş ise hediye birimini girmediğiniz durumda varsayılan değer kullanılacaktır. Dönüş Değerleri Success durumunda usageid dönülür, fail durumunda service ya da policy exception dönülür. Dönüş Parametreleri Parametre Tip Zorunlu Açıklama usageid Long Evet UsageId bilgisidir. 14.4.1. REST Arayüzü Rest Url http://127.0.0.1:8000/2/0/pms/directloadwithvoucher Örnek Rest İstek POST http://127.0.0.1:8000/2/0/pms/directloadwithvoucher?transactionid=321312&voucher=qyrssdbo 1C0HHOQS&campaign=390 HTTP/1.1 Accept-Encoding: gzip,deflate Content-Type: application/json Authorization: Basic aglsywxamtawmdawmda2ntpiawxhbde5odm= serviceid: :1001000043 User-Agent: Jakarta Commons-HttpClient/3.1 Host: 127.0.0.1:8000 Content-Length: 247 Sürüm: 2.16 Tarih: 25/12/2012 Kod: CAPABILITY_EXPOSURE_PLATFORM_API Sayfa: 317 / 337
{ "restcapexsubscriberid":{ "enduserid":"acr:286002mjvrv/jvu2uh58/eki20rgbrwe+gct6s162pnq+jeiw5rqzhwk77bt30pmi dvtzhs91vnnb4gorinocf2ldota==", } "nickname":null, "usageid":null}, "giftlist":[{"amount":"1","gifttype":"3","giftunit":"5"}] Örnek Rest Cevap HTTP/1.1 200 OK Content-Type: application/json Content-Length: 17 Server: Jetty(6.1.25) {"usageid":12288} 14.4.2. SOAP Arayüzü Örnek Soap İstek <soapenv:envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:v2="http://v2.soap.pms.capabilityexposure.services.oksijen.com"> <soapenv:header> <v2:authentication v2:user="hilal@1000000065" v2:password="hilal1983" v2:sessionid="" v2:serviceid=":1001000043"/> </soapenv:header> <soapenv:body> <v2:directloadwithvoucher> <capexsubscriberid> <enduserid>acr:286002mjvrv/jvu2uh58/eki20rgbrwe+gct6s162pnq+jeiw5rqzhwk77bt30pmidvtzhs91v NnB4GOrInoCF2LDoTA==</endUserId> <nickname/> <usageid>14</usageid> </capexsubscriberid> <campaign>390</campaign> Sürüm: 2.16 Tarih: 25/12/2012 Kod: CAPABILITY_EXPOSURE_PLATFORM_API Sayfa: 318 / 337
<!--1 or more repetitions:--> <gift> <amount>1</amount> <gifttype>3</gifttype> <giftunit>5</giftunit> </gift> <transactionid>123</transactionid> <voucher>grgqnny7983l9aa0</voucher> </v2:directloadwithvoucher> </soapenv:body> </soapenv:envelope> Örnek Soap Cevap <soapenv:envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/"> <soapenv:body> <ns:directloadwithvoucherresponse xmlns:ns="http://v2.soap.pms.capabilityexposure.services.oksijen.com"> <return> <resultcode>0</resultcode> <resultdesc>success</resultdesc> <variables xsi:nil="true" xmlns:xsi="http://www.w3.org/2001/xmlschemainstance"/> <usageid>14</usageid> </return> </ns:directloadwithvoucherresponse> </soapenv:body> </soapenv:envelope> 14.5. Ön Tanımla Yükleme Belirtilen kampanya kapsamında, önceden Vodafone tarafında belirtilen hediye, tip ve miktarlarının belirtilen aboneye yükleme talebinin iletilmesi için kullanılır. İstek Parametreleri Parametre Tip Zorunlu Açıklama Sürüm: 2.16 Tarih: 25/12/2012 Kod: CAPABILITY_EXPOSURE_PLATFORM_API Sayfa: 319 / 337
restcapexsubscriberid RestCapexSubscriberId E 2.4 de açıklanmıştır. campaign long E Kampanya kodu, reason code transactionid String E İşlem numarası Dönüş Değerleri Success durumunda usageid dönülür, fail durumunda service ya da policy exception dönülür. Dönüş Parametreleri Parametre Tip Zorunlu Açıklama usageid Long Evet UsageId bilgisidir. 14.5.1. REST Arayüzü Rest Url http://127.0.0.1:8000/2/0/pms/predefinedload Örnek Rest İstek POST http://127.0.0.1:8000/2/0/pms/predefinedload?transactionid=1524&campaign=388 HTTP/1.1 Accept-Encoding: gzip,deflate Content-Type: application/json Authorization: Basic aglsywxamtawmdawmda2ntpiawxhbde5odm= serviceid: :1001000043 User-Agent: Jakarta Commons-HttpClient/3.1 Host: 127.0.0.1:8000 Content-Length: 154 { "enduserid":"acr:286002mjvrv/jvu2uh58/eki20rgbrwe+gct6s162pnq+jeiw5rqzhwk77bt30pmi dvtzhs91vnnb4gorinocf2ldota==", "nickname":null, "usageid":null Sürüm: 2.16 Tarih: 25/12/2012 Kod: CAPABILITY_EXPOSURE_PLATFORM_API Sayfa: 320 / 337
} Örnek Rest Cevap HTTP/1.1 200 OK Content-Type: application/json Content-Length: 17 Server: Jetty(6.1.25) {"usageid":12292} 14.5.2. SOAP Arayüzü Örnek Soap İstek <soapenv:envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:v2="http://v2.soap.pms.capabilityexposure.services.oksijen.com"> <soapenv:header> <v2:authentication v2:user="hilal@1000000065" v2:password="hilal1983" v2:sessionid="" v2:serviceid=":1001000043"/> </soapenv:header> <soapenv:body> <v2:predefinedload> <capexsubscriberid> <enduserid>acr:286002mjvrv/jvu2uh58/eki20rgbrwe+gct6s162pnq+jeiw5rqzhwk77bt30pmidvtzhs91v NnB4GOrInoCF2LDoTA==</endUserId> <nickname/> <usageid>15</usageid> </capexsubscriberid> <campaign>388</campaign> <transactionid>124</transactionid> </v2:predefinedload> </soapenv:body> </soapenv:envelope> Sürüm: 2.16 Tarih: 25/12/2012 Kod: CAPABILITY_EXPOSURE_PLATFORM_API Sayfa: 321 / 337
Örnek Soap Cevap <soapenv:envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/"> <soapenv:body> <ns:predefinedloadresponse xmlns:ns="http://v2.soap.pms.capabilityexposure.services.oksijen.com"> <return> <resultcode>0</resultcode> <resultdesc>success</resultdesc> <variables xsi:nil="true" xmlns:xsi="http://www.w3.org/2001/xmlschemainstance"/> <usageid>15</usageid> </return> </ns:predefinedloadresponse> </soapenv:body> </soapenv:envelope> 14.6. Ön Tanımla Kuponlu Yükleme Belirtilen kampanya kapsamında, önceden Vodafone tarafında belirtilen hediye, tip ve miktarlarının, Vodafone tarafından önceden üretilen şifre ile, belirtilen aboneye yükleme talebinin iletilmesi için kullanılır. İstek Parametreleri Parametre Tip Zorunlu Açıklama restcapexsubscriberid RestCapexSubscriberId E 2.4 de açıklanmıştır. campaign long E Kampanya kodu, reason code voucher String E Şifre transactionid String E İşlem numarası Dönüş Değerleri Success durumunda usageid dönülür, fail durumunda service ya da policy exception dönülür. Dönüş Parametreleri Sürüm: 2.16 Tarih: 25/12/2012 Kod: CAPABILITY_EXPOSURE_PLATFORM_API Sayfa: 322 / 337
Parametre Tip Zorunlu Açıklama usageid Long Evet UsageId bilgisidir. 14.6.1. REST Arayüzü Rest Url http://127.0.0.1:8000/2/0/pms/predefinedloadwithvoucher Örnek Rest İstek POST http://127.0.0.1:8000/2/0/pms/predefinedloadwithvoucher?transactionid=53141&voucher=rh7d2 8MMSP4C&campaign=391 HTTP/1.1 Accept-Encoding: gzip,deflate Content-Type: application/json Authorization: Basic aglsywxamtawmdawmda2ntpiawxhbde5odm= serviceid: :1001000043 User-Agent: Jakarta Commons-HttpClient/3.1 Host: 127.0.0.1:8000 Content-Length: 175 { "enduserid":"acr:286002mjvrv/jvu2uh58/eki20rgbrwe+gct6s162pnq+jeiw5rqzhwk77bt30pmi dvtzhs91vnnb4gorinocf2ldota==", } "nickname":null, "usageid":null Örnek Rest Cevap HTTP/1.1 200 OK Content-Type: application/json Content-Length: 17 Server: Jetty(6.1.25) {"usageid":12297} Sürüm: 2.16 Tarih: 25/12/2012 Kod: CAPABILITY_EXPOSURE_PLATFORM_API Sayfa: 323 / 337
14.6.2. SOAP Arayüzü Örnek Soap İstek <soapenv:envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:v2="http://v2.soap.pms.capabilityexposure.services.oksijen.com"> <soapenv:header> <v2:authentication v2:user="hilal@1000000065" v2:password="hilal1983" v2:sessionid="" v2:serviceid=":1001000043"/> </soapenv:header> <soapenv:body> <v2:predefinedloadwithvoucher> <capexsubscriberid> <enduserid>acr:286002mjvrv/jvu2uh58/eki20rgbrwe+gct6s162pnq+jeiw5rqzhwk77bt30pmidvtzhs91v NnB4GOrInoCF2LDoTA==</endUserId> <nickname/> <usageid>124</usageid> </capexsubscriberid> <campaign>391</campaign> <transactionid>124</transactionid> <voucher>k3w3ldj13ovq630o</voucher> </v2:predefinedloadwithvoucher> </soapenv:body> </soapenv:envelope> Örnek Soap Cevap <soapenv:envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/"> <soapenv:body> <ns:predefinedloadwithvoucherresponse xmlns:ns="http://v2.soap.pms.capabilityexposure.services.oksijen.com"> <return> <resultcode>0</resultcode> <resultdesc>success</resultdesc> <variables xsi:nil="true" xmlns:xsi="http://www.w3.org/2001/xmlschemainstance"/> <usageid>124</usageid> </return> Sürüm: 2.16 Tarih: 25/12/2012 Kod: CAPABILITY_EXPOSURE_PLATFORM_API Sayfa: 324 / 337
</ns:predefinedloadwithvoucherresponse> </soapenv:body> </soapenv:envelope> Sürüm: 2.16 Tarih: 25/12/2012 Kod: CAPABILITY_EXPOSURE_PLATFORM_API Sayfa: 325 / 337
15. Ek A POI Kategori Listesi İSİM acilservis akaryakitistasyonu alisverismerkezi alisveris_diger antikkentler anit apartotel aracmuayaneistasyonu aritmatesisi askerialan askeriegitimkurumu askerilojman askerisosyaltesis ayakkabi_terlik agackesmeveislemealani bankaatm bankasubesi barlar basketbol_voleybolsahasi belediyebaskanligi KATEGORİ acil servis akaryakıt istasyonu alışveriş merkezi alışveriş/diğer antik kentler anıt apart otel araç muayane istasyonu arıtma tesisi askeri alan askeri eğitim kurumu askeri lojman askeri sosyal tesis ayakkabı/terlik ağaç kesme ve işleme alanı banka atm banka şubesi bar basketbol/voleybol sahası belediye başkanlığı Sürüm: 2.16 Tarih: 25/12/2012 Kod: CAPABILITY_EXPOSURE_PLATFORM_API Sayfa: 326 / 337
belediyebaskanligivebirimleri beyazesya bilgisayar_yazilim bisikletbakim_tamirhane bisikletsaticilari bovling buzpateni bufe buyukmagazalar buyukelcilik_konsolosluk camiler cemevi cezaevi dag demiryolu_diger denizfeneri denizyolu_diger derimagazasi dernek_vakif dershane dinitesisler_diger dinlenmetesisi dispanser diyalizmerkezi belediye başkanlığı ve birimleri beyaz eşya bilgisayar/yazılım bisiklet bakım/tamirhane bisiklet satıcıları bovling buz pateni büfe büyük mağazalar büyükelçilik/konsolosluk cami cemevi cezaevi dağ demiryolu/diğer deniz feneri denizyolu/diğer deri mağazası dernek/vakıf dershane dini tesisler/diğer dinlenme tesisi dispanser diyaliz merkezi Sürüm: 2.16 Tarih: 25/12/2012 Kod: CAPABILITY_EXPOSURE_PLATFORM_API Sayfa: 327 / 337
disklinigi dondurmaci dogalgaz dogalgazidaresi durakminibus durakotobus duraktaksi dishatlarperonu eczane elektrikidaresi elektronikaletlerservis_bakim emniyet enerjiuretim_dagitim_diger egitimkurumlari_diger eglenceparklari eglenceyerleri_diger fabrika fastfood fidanlik_tohumluk finansalkurumlar_diger fuarmerkezi futbolsahasi firin_pastane gar diş kliniği dondurmacı doğalgaz doğalgaz idaresi durak (minibüs) durak (otobüs) durak (taksi) dış hatlar peronu eczane elektrik idaresi elektronik aletler servis/bakım emniyet enerji üretim, dağıtım/diğer eğitim kurumları/diğer eğlence parkları eğlence yerleri/diğer fabrika fast food fidanlık, tohumluk finansal kurumlar/diğer fuar merkezi futbol sahası fırın/pastane gar Sürüm: 2.16 Tarih: 25/12/2012 Kod: CAPABILITY_EXPOSURE_PLATFORM_API Sayfa: 328 / 337
gazino_gecekulubu gecit giyimmagazasi gise golfsahasi gidasatisnoktalari gidasatis_bufe hal halkekmekbufesi halici hamam hastane havaalani havayolufirmalari havayolu_diger hayvanpazari hayvanatbahcesi helikopterpisti hipodrom ilgicekicinoktalar ilkogretimokulu iskele iskeledenizotobusu iskeleferibot gazino/gece kulubü geçit giyim mağazası gişe golf sahası gıda satış noktaları gıda satış/büfe hal halk ekmek büfesi halıcı hamam hastane havaalanı havayolu firmaları havayolu/diğer hayvan pazarı hayvanat bahçesi helikopter pisti hipodrom ilgi çekici noktalar ilköğretim okulu iskele iskele (deniz otobüsü) iskele (feribot) Sürüm: 2.16 Tarih: 25/12/2012 Kod: CAPABILITY_EXPOSURE_PLATFORM_API Sayfa: 329 / 337
iskelesehiricihatlar itfaiye ichatlarperonu ichatlar_dishatlarperonu ismerkezivehanlar kafe kale kamping_gunubirlik kamyon_tirparki kaplica karayolu_diger kargolar katliotopark kayakmerkezi kaymakamlik kilise kitap_kirtasiye konser_operasalonu kooperatif_site kres_gunduzbakimevi kuruyemisci kultur_kongremerkezi kultureltesisler_diger kutuphane iskele (şehiriçi hatlar) itfaiye iç hatlar peronu iç hatlar/dış hatlar peronu iş merkezi ve hanlar kafe kale kamping/günübirlik kamyon/tır parkı kaplıca karayolu/diğer kargo şirketleri katlı otopark kayak merkezi kaymakamlık kilise kitap/kırtasiye konser/opera salonu kooperatif/site kreş/gündüz bakımevi kuruyemişçi kültür/kongre merkezi kültürel tesisler/diğer kütüphane Sürüm: 2.16 Tarih: 25/12/2012 Kod: CAPABILITY_EXPOSURE_PLATFORM_API Sayfa: 330 / 337
kiraathane kirmiziisikkamerasi laboratuvar_goruntuleme liman lojistik_nakliyat lojman lokanta_denizurunleri lokanta_evyemekleri lokanta_hint lokanta_italyan lokanta_kebap lokanta_kofte-izgara lokanta_kucuk lokanta_meksika lokanta_pide-lahmacun lokanta_restoran lokanta_rus lokanta_sakatat lokanta_sandwich lokanta_vejeteryan lokanta_yoreselyemekler lokanta_cin-japon lpgistasyonu madencikarmaveislemealani kıraathane kırmızı işık kamerası laboratuvar/görüntüleme liman lojistik/nakliyat lojman lokanta/deniz ürünleri lokanta/ev yemekleri lokanta/hint lokanta/italyan lokanta/kebap lokanta/köfte-izgara lokanta/küçük lokanta/meksika lokanta/pide-lahmacun lokanta/restoran lokanta/rus lokanta/sakatat lokanta/sandwich lokanta/vejeteryan lokanta/yöresel yemekler lokanta/çin-japon lpg istasyonu maden çıkarma ve işleme alanı Sürüm: 2.16 Tarih: 25/12/2012 Kod: CAPABILITY_EXPOSURE_PLATFORM_API Sayfa: 331 / 337
mahkeme manzaraliyerler magara medikal medya mesirealani meslekodasi metroistasyonu mevki mezarlikhiristiyan mezarlikmusevi mezarlikmusluman millipark misafirhane_egitimvedinlenmetesisleri mobilyaci motosikletbakim_tamirhane motosikletsaticilari muayenehane muhtarlik muzeler noter optik ormanlikalanlar ortaogretimokulu mahkeme manzaralı yerler mağara medikal medya mesire alanı meslek odası metro istasyonu mevki mezarlık (hıristiyan) mezarlık (musevi) mezarlık (müslüman) milli park misafirhane, eğitim ve dinlenme tesisleri mobilyacı motosiklet bakım/tamirhane motosiklet satıcıları muayenehane muhtarlık müze noter optik ormanlık alanlar ortaöğretim okulu Sürüm: 2.16 Tarih: 25/12/2012 Kod: CAPABILITY_EXPOSURE_PLATFORM_API Sayfa: 332 / 337
otel otobakim_tamirhane otokiralama otokiralamaparkalani otokurtarma otolastik otosaticilari otoyetkilisaticilari otoyetkiliservisleri otoyikama otobusfirmalari otogar otoparkacikgenel otoparkacikozel otoparkkapali outlet oyuncakci pansiyon pazaralani pizza plaj poliklinik poliskarakolu postane otel oto bakım/tamirhane oto kiralama oto kiralama park alanı oto kurtarma oto lastik oto satıcıları oto yetkili satıcıları oto yetkili servisleri oto yıkama otobüs firmaları otogar otopark (açık) genel otopark (açık) özel otopark (kapalı) outlet oyuncakçı pansiyon pazar alanı pizza plaj poliklinik poliskarakolu postane Sürüm: 2.16 Tarih: 25/12/2012 Kod: CAPABILITY_EXPOSURE_PLATFORM_API Sayfa: 333 / 337
radar resmikurum resmikurum_diger sanayisitesi sanayitesisi sanayiveuretimalanlari_diger sarayvekasirlar saglikkurumlari_diger sendika sera serbestbolge sergisalonu simitci sinagog sinema sitalani siviltoplumorgutleri_diger siyasiparti sosyalamaclikurumlar_diger sosyalyardimkurumlari spormerkezi sporsalonu sportesisi sportesisleri_diger radar resmi kurum resmi kurum/diğer sanayi sitesi sanayi tesisi sanayi ve üretim alanları/diğer saray ve kasırlar sağlık kurumları/diğer sendika sera serbest bölge sergi salonu simitçi sinagog sinema sit alanı sivil toplum örgütleri/diğer siyasi parti sosyal amaçlı kurumlar/diğer sosyal yardım kurumları spor merkezi spor salonu spor tesisi spor tesisleri/diğer Sürüm: 2.16 Tarih: 25/12/2012 Kod: CAPABILITY_EXPOSURE_PLATFORM_API Sayfa: 334 / 337
stadyum sudeposu suidaresi suparki su_kanalizasyon_cop_diger sucu surucukursu sinirkapisi tarihieser tarihiveturistiktesisler_diger tarimsaluretimalanlari_diger tatilkoyu tekelbayi teleferik telekom telekomunikasyon telekomunikasyon_diger teniskortu tersane ticaretalanlari_diger tiyatrolar toptanticaretalani trafikisiklari trafo stadyum su deposu su idaresi su parkı su, kanalizasyon, çöp/diğer sucu sürücü kursu sınır kapısı tarihi eser tarihi ve turistik tesisler/diğer tarımsal üretim alanları/diğer tatil köyü tekel bayi teleferik telekom telekomünikasyon telekomünikasyon/diğer tenis kortu tersane ticaret alanları/diğer tiyatro toptan ticaret alanı trafik işıkları trafo Sürüm: 2.16 Tarih: 25/12/2012 Kod: CAPABILITY_EXPOSURE_PLATFORM_API Sayfa: 335 / 337
tramvayistasyonu trenistasyonu_sehirici trenistasyonu_sehirlerarasi turizmdanisma turizmfirmalari turkuevi umumituvalet vergidairesi vericiistasyonu veteriner yapimarketleri yarispisti yatlimani yedekparcaci yeme-icmeyerleri_diger yesilalan yurtlar yuksekokul_akademi yuzmehavuzu zabita zincirmarketler carsivepasajlar caybahcesi ciftlik tramvay istasyonu tren istasyonu/şehiriçi tren istasyonu/şehirlerarası turizm danışma turizm firmaları türkü evi umumi tuvalet vergi dairesi verici istasyonu veteriner yapı marketleri yarış pisti yat limanı yedek parçacı yeme-içme yerleri/diğer yeşil alan yurt yüksek okul/akademi yüzme havuzu zabıta zincir marketler çarşı ve pasajlar çay bahçesi çiftlik Sürüm: 2.16 Tarih: 25/12/2012 Kod: CAPABILITY_EXPOSURE_PLATFORM_API Sayfa: 336 / 337
cicekcilik cocukbahcesi cocukgiyimmagazasi onemlinoktalar_diger universite universite_bolum sarkuteri sirketler vodafone Telekomünikasyon KizilayMobil KizilaySabit poliskarakolu çiçekçilik çocuk bahçesi çocuk giyim mağazası önemli noktalar/diğer üniversite üniversite/bölüm şarküteri şirketler vodafone Telekomünikasyon KizilayMobil KizilaySabit karakol Sürüm: 2.16 Tarih: 25/12/2012 Kod: CAPABILITY_EXPOSURE_PLATFORM_API Sayfa: 337 / 337