Turkcell Push Server Turkcell Push Server Turkcell Push Server. TurkcellPushServer. API Dokümanı V1.0

Benzer belgeler
Doküman JETSMS XML Mesaj Đşlemleri Yardım Dokümanı Tarih Sürüm 1.1.0

Mobil uygulama kullanıcı kılavuzu

Google Cloud Print Kılavuzu

1. Sertifika istenmesi

MİLLİ EĞİTİM BAKANLIĞI YENİ EPOSTA SİSTEMİ HAKKINDA MEB

XMail. Kurulum ve Senkronizasyon Ayarları Rehberi

AUTODESK PORTALI İÇİN AKADEMİK HESAP OLUŞTURULMASI

CİSCO ANY CONNECT UYGULAMASI İLE İÇ KAYNAKLARA ERİŞİMİ KLAVUZU

Windows Live ID ve parolanızı giriniz.

İÇİNDEKİLER. Amaç. Ürün / Servis Tanımı Ürün / Servis Özellikleri... 2 Standartlar Ve Kısıtlar... 2 Sistemin Özellikleri...

Sol tarafta yer alan Click here to activate your account linkini seçiniz.

AİLE İÇİ PAYLAŞIM AYARLARINI AÇMA

FortiGate Sertifika Yönetimi. v4.00-build /02

Bireysel İnternet Şubesi

AKINSOFT Franchise Server 2 Yardım Dokümanı

Web Server Sunucu Loglarının K-Komşu Algoritması ile İ ncelenmesi

"Şirket" Sunucusu ve Başarı Mobile Arasındaki HTTP Veri Aktarımı için Etkileşim Teknik Protokolü

Wolvox Kapı Ekranı. AKINSOFT Wolvox Kapı Ekranı Yardım Dosyası. Doküman Versiyon :

E-Birlik İhracat. Basitleştirilmiş Gümrük Hattı. Uygulaması - KULLANICI KILAVUZU -

dmags Türkiye nin En Büyük Dijital Dergi Mağazası

Useroam Cloud Kurulum Rehberi

Exchange Server 2013 Kurulum Sonrası Yapılandırmalar

CHECKSMART VALİZ TAKİP SİSTEMİ

MERSİN ÜNİVERSİTESİ AKADEMİK PERSONEL BİLGİ SİSTEMİ

WEB E-POSTA AYARLARI. Outlook 2003 Ayarı ( Resimli Anlatım )

Mobil Uygulama Kullanma Kılavuzu

Türk Telekom Güvenlik Güvenli Aile(Safe Family) Ürünü Kurulum Kılavuzu

Bölüm 1 / Mobil Uygulama Hakkında

NicProxy Registrar AWBS Modül Kurulumu Versiyon 1.0

PERKON PDKS Kurulum ve hızlı başlangıç rehberi

MIRACLE DATA WORKS KURULUM DOKÜMANI

Almanya Mail Hesabı ile Outlook Kurulumu

NicProxy Registrar WHMCS Modül Kurulumu Versiyon 1.0

LOGO için Online Mutabakat Kullanım Kılavuzu

TC KİMLİK NO SMS GÖNDERİM SOAP API

Web Formlar ve Sayfalar Arasında Bilgi Gönderme. BATML İnternet Programcılığı 1

TOBB2B. Kullanım Kılavuzu. TOBB2B Kullanım Kılavuzu. Türkiye Odalar ve Borsalar Birliği

Sccm console u açalım ve güncelleştirmelere göz atalım.

Google Cloud Print Kılavuzu

LOGO için Online Mutabakat Kullanım Kılavuzu

Bireysel İnternet Şubesi

IOF Eventor için Sporcu Kılavuzu

BitTorrent İstemci Kullanımı

Bu Kitap Kime Hitap Eder? 2 Kitapta Nelerden Bahsedilmiştir? 3 Kitabı Takip Edebilmek için Nelere İhtiyaç Duyacaksınız?

2000 li yıllardan itibaren teknolojinin hızlı gelişiminden belki de en büyük payı alan akıllı telefon ve tabletler gibi kablosuz iletişim olanağı

İçindekiler. Tarih:

Arabulucuların başvuru, dosya kabul-ret ve teslim işlemleri başta olmak üzere tüm işlemlerini elektronik ortamda yapmaları sağlanmıştır.

[Type text] Başvuru Kılavuzu

GOLDMESAJ SMS API DÖKÜMANI

Google Chrome Kullanıyorsanız; Microsoft Internet Explorer Kullanıyorsanız;

Virtualaze Unify Kurulumu

Internet Programming II. Elbistan Meslek Yüksek Okulu Bahar Yarıyılı

ÇANKAYA ÜNİVERSİTESİ WEBMAIL KULLANIM KLAVUZU

Primavera ve Doküman Yönetim Sistemi

TC KİMLİK NO SMS GÖNDERİM XML API

SMS interconnecion APi S DOKÜMANI

Coslat Monitor (Raporcu)

MOKA ÖDEME SERVİSİ BAYİ İŞLEMLERİ ENTEGRASYON DOKÜMANI

AXA GO KULLANIM KILAVUZU

CHECKPOINT VPN KULLANIM KILAVUZU

SMSEXPLORER XML API. XML API KILAVUZU v.1.0

Internet Programming II. Elbistan Meslek Yüksek Okulu Bahar Yarıyılı

SIMMAG Kullanım Kılavuzu. Adem Ayhan Karmış. Ana Ekran

Turnitin Kullanım Klavuzu (Öğretim Üyesi)

MOBILEPAX XML PRODUCT API KULLANIM ŞEKLİ

Mac OS İşletim Sisteminde E-imza İşlemleri

Flow Kullanım Klavuzu Mart 2014

Emerald Insight dan en iyi şekilde yararlanma rehberi

E-Posta Yönetimi. E-Posta Açma, Silme ve Yönetim Kılavuzu

MISSION WI-FI KURULUM KILAVUZU

Siteye girişte kullanıcı adı ve parola soran bir ekran karşına gelecektir.

BEYOND: Two Souls BEYOND Touch Uygulaması

Birtel İletişim Teknolojileri

MOKA ÖDEME SERVİSİ IFRAME ENTEGRASYON DOKÜMANI

MOBILEPAX SOAP PRODUCT API KULLANIM ŞEKLİ

COPA TOUCH LINE SPLİT KLİMA WiFi UYGULAMASI KULLANIM KILAVUZU. WiFi Klima Uygulamasını cep telefonunuza indirmek için QR kodu okutun.

BEUN VPN Hizmeti. VPN Nedir?

WebInstaller. 1. Kurulum Đçin Gereksinimler

Cambridge LMS e Başlama- Öğrenciler

Global Haberleşme API Kullanıcı Notları

Uzaktan Eğitim Programlarına Giriş Kılavuzu

MOBILEPAX ENTERPRISE API (WEB SERVİS)


Resimdeki alandan tarih aralığı belirterek de (testlerin hasta hesabına aktarıldığı tarihi baz alır). İstek yapılan hasta listesine ulaşabilirsiniz.

Tel : 0(532) Web : E-Posta : info@kayikcioglugrup.com. İLETİ PAKETİ API (Entegrason) Dökümanı

MÜ DAD ONLİ NE Ü YELİ K

8. HAFTA KBT204 İNTERNET PROGRAMCILIĞI II. Öğr.Gör. Hakan YILMAZ.

Submit metodu birden fazla numaraya aynı içerikli kısa mesaj gönderimi için kullanılmaktadır.

MS Outlook Programında İmzamatik Kullanımı

Ev aletinizi geleceğe bağlayın. Quick Start Guide

EÜTF Ö.D.E.M. KULLANICI KILAVUZU

TALİMAT. Doküman No: PT Yayın Tarihi: Revizyon Tarihi: -- Revizyon No: -- Sayfa 1 / 6

1 GİRİŞ 1 Bu Kitap Kime Hitap Eder? 2 Kitapta Nelerden Bahsedilmiştir? 3 Kitabı Takip Edebilmek için Nelere İhtiyaç Duyacaksınız?

NET SPACE ve Yenilikler

INTERRA SIP SERVER KULLANIM KLAVUZU

ÜSKÜDAR ÜNVERSİTESİ EBYS KULLANIM KILAVUZU

AGÜ UIS ÖĞRENCİ DERS PROGRAMI HAZIRLAMA KILAVUZU

Transkript:

Turkcell Push Server Turkcell Push Server TurkcellPushServer API Dokümanı V1.0 Turkcell İletişim Hizmetleri A.Ş. 2014

GİRİŞ: Turkcell Push Server, Android, IOS ya da WindowsPhone temelli cihazlar için uygulama geliştirenlere, müşteriler ile iletişimde yeni bir kanal açmak amacıyla geliştirilmiştir. Uygulamalarınızı Turkcell Push Server a entegre ederek, Apple Push Notification Server (APNS), Google Cloud Messaging (GCM) ve Microsoft Push Notification Server (MPNS) sunucularına aynı anda ve çok daha kısa sürede kolayca erişebilirsiniz. Bu sayede, kullanıcılarınıza API üzerinden ya da Turkcell Push Server web ekranları üzerinden push notifikasyon mesajı göndererek, uygulama kullanım oranlarınızı belirgin bir şekilde artırmak mümkün. Push Notifikasyon mesajlarının doğasında cihaza erişimin %100 olmayacağı varsayımı vardır, bu nedenle diğer tüm Push Notification sunucularında olduğu gibi, Turkcell Push Server da, uygulamalara Push Notification mesajlarının ulaşmasını garanti ETMEZ. 1. PUSH SERVER GENEL TANIMI: 1.1. Kapsam Sunucu temelli bir mesaj, ya da PushServer yönetim ekranlarında hazırlanan bir mesaj, mobil cihaza ulaştırılmak üzere PushServer a iletilebilir. PushServer, mesajı kendisine daha önce kayıt olmuş bulunan cihaza notifikasyon mesajı olarak iletir. 1.2. BAŞLANGIÇ: ANDROID: Android cihazlara erişim için, GCM (Google Cloud Messaging) altyapısını kullanmaktadır. Uygulamanızı Turkcell Push Server ile entegre edebilmek için GCM Api Key değerini önceden oluşturmuş olmanız gerekmektedir. GCM kullanımı için, uygulamanın yüklü olduğu cihaz ya Android 4.0.4 ve üzeri bir versiyonda olmalı, ya da bir gmail hesabı ile eşleştirilmiş olmalıdır. Google Kurulumu Google Cloud Messaging (GCM) Turkcell Push Server ın Android cihazlara bildirim mesajını iletmek için kullandığı altyapıdır.. Google da API Key yaratma. Turkcell Push Server da bir Android uygulama tanımlamak için, öncelikle Google dan bir API Key almanız gerekecektir. Adımlar: 1. Google API Console a gidin. Push Server 2

2. Projenizi yaratın: 3. GCM özelliğini aktive edin. 4. Bir API Key yaratın Google Cloud Messaging for Android yazan yere tıklayın. A. Google APIs sayfasına yönleneceksiniz. Burada API Access e tıklayın. B. API Key yaratmak için Create a new Server key... ibaresine tıklayın. C. Herhangi bir IP adresi belirtmeden, Create tıklayın. Push Server 3

D. Sunucu uygulamanızda kullanmak üzere bu API Key bilgisini saklayın. ios: IOS temelli cihazların servisten mesaj alabilmesi için, hem cihazın, hem de mesajı alacak uygulamanın, notifikasyon alma ayarının açık olması gerekmektedir. Uygulama ilk kurulduğunda, kendisini PushServer a tanıtacak ve notifikasyon mesajlarını alabilir hale getirecektir. Bu aşamadan sonra uygulamanın Apple sunucularından aldığı token ile IOS temelli cihaza notifikasyon mesajı gönderilebilecektir. Push Server 4

Production ve Development Uygulamaları Turkcell Push Server üzerinde bir ios uygulama yaratırken, uygulamanızın development, yani Apple test sunucularına giden ya da production, yani Apple production sunucularına giden olduğunu belirlemeniz gerekmektedir.apple, bu iki sunucudaki verileri ayrı olarak tutmaktadır. Yani, uygulamanızın development/sandbox olarak Apple dan aldığı bir token, production ortamında geçersiz olacaktır. Uygulamanızı development provisioning profile olarak geliştiriyor iseniz, Turkcell Push Server da yaratacağınız ios uygulama ayarlarında, test olarak seçim yapmalısınız. Sonrasında, development Push SSL sertifikasını yüklemelisiniz. Distribution provisioning profile (ad-hoc distribution, ya da itunes App Store) kullanan uygulamalarınız için ise production Push SSL sertifikasını kullanmalısınız. Uygulama tarafındaki ayarlar: ios uygulamanızı Turkcell Push Server a entegre etmeden önce ios Developer Program. Üyeliğinizin bulunması ve Apple tarafında ilerletmeniz gereken bazı adımlar bulunuyor. Bir ios Developer sertifikanız var ise, uygulamanızın push notification mesajlarını alması için, aşağıdaki ayarları yapmalısınız. Temel ayarlar yapıldıktan sonra, uygulamanız Turkcell Push Server ile iletişime hazır hale gelecektir. Push SSL Sertifikanızı, Apple Push Notification sunucuları ile iletişime geçmek için kullanıyor olacağız. Private Key iniz, bizim sunucularımızda güvenli bir şekilde saklanacaktır, ve Apple, kimlik dorğulaması için public key bilgisini kullanacaktır. Uygulamayı bulma: Apple Developer Members Center, içerisinde, ios Apps altındaki Identifiers bölümünde geçerek uygulamanızı buradaki uygulama listesinde konumlandırın. Henüz bir AppID kayıt ettirmediyzeniz, + sembolüne tıklayarak formu doldurun ve Push Notifications kutucuğunun seçili olduğuna emin olun. Push Server 5

Uygulama detaylarında Push Notifications alanında yeşil ve sarı iki durum bildirimi göreceksiniz. Settings butonuna tıklayarak devam edin. (Not: Settings butonu Edit olarak görünüyor ise,daha önce push notification ayarlarını zaten yapmış olabilirsiniz) Sertifika dosyasını indirme Development ya da Production Push SSL Sertifikasını oluşturmak için, Settings/(Edit) e tıklauın ve oluşturacağınız sertifikayı seçin: Push Server 6

Create Certificate butonuna tıkladıktan sonra, Add ios Certificate yardım talimatlarını göreceksiniz. Talimatları takip ederek Continue butonuna tıklayın. Signing request sertifikasını kullanarak, APNS Push SSL sertifikasını oluşturun. Download butonu görüntülendiğinde, artık sertifikanızı indirebilirsiniz (Sayfayı yenilemeniz gerekebilir). İndirdiğiniz sertifikayı açtığınızda, Keychain Access içerisinde My Certificates altında sertifikanzı görüntüleyebiliyor olmalısınız. Görüntülenmiyor ise Certificates altında bulunup bulunmadığını kontrol edebilirsiniz.. Push Server 7

Sertifika yenileme Development ya da Production Push SSL sertifikanızı yenilemek için,sertifikanızı ilk kez oluşturuyormuş gibi yukarıdaki adımları takip edebilirsiniz.daha önceki sertifikanızı revoke etmeniz gerekmez.aynı anda iki production sertifikası bulunabilir, böylece siz yenisini sisteme yükleyene kadar eskisi de geçerli olabilecektir. Sertifika.p12 dosyasını alma Keychain Access e eklediğiniz sertifikanıza tıklayın ve File -> Export Items... menüsünü seçin. Category menüsünde sol altta bulunan My Certifiates i seçtiğinize emin olun. My Certificates seçili değilse, sertifikanızı.p12 dosyası olarak oluşturamazsınız. Push Server 8

When saving the file, use the Personal Information Exchange (.p12) format. 2. İŞLEVLER (REST API): 2.1. Cihazı PushServer a tanıtma: [GET] /PushServerLT/rest/registerdevice/<appId>/<token> PushServer dan hizmet almak isteyen IOS uygulamalar, uygulamanın yüklenmesinin ardından, push notification alma onayı için Apple sunucularından token alır ve, API yardımıyla, token bilgisini PushServer a iletir. http://pushserver.turkcell.com.tr/pushserverlt/rest/registerdevice/<appid>/<token> şeklinde bir istek göndererek, ilgili cihazın (token), ilgili uygulamaya (appid) push alabilmek üzere kayıt olmasını sağlar. Push Server 9

CustomID ile OPT-IN: Request e, opsiyonel olarak customid parametresi eklenebilir. Bu sayede, daha sonra API üzerinden push gönderirken, token değil de, servis kullanıcısı tarafından belirlenen başka bir tanımlayıcı olan customid kullanarak push notification gönderilebilecektir. http://pushserver.turkcell.com.tr/pushserverlt/rest/registerdevice/<appid>/<token>?customid=x xx Cihaz bilgilerini de göndererek OPT-IN (Opsiyonel): Cihaz kayıt olurken istenirse opsiyonel cihaz tanımlayıcı parametreler de gönderilerek daha sonra bu tanımlara göre segmentasyon yaılabilir. http://pushserver.turkcell.com.tr/pushserverlt/rest/registerdevice/<appid>/<token>?devicemod el=xxx&osversion=4.2&genericparam=test Parametre Adı appid token customid (opsiyonel) devicemodel (ops.) osversion (ops.) genericparam(ops.) Tanım Hangi uygulama için kayıt olunduğunu belirten ID. (PushServer tarafında daha önce tanımlanmış olmalı) APNS (Apple PushNotificaton Server) tarafından alınmış olmalı. BU PARAMETRE, INCREMENTAL YA DA KOLAYCA TAHMIN EDILEBILEN BIR DEGER TAŞIMAMALIDIR. Token a ek bir tanımlayıcı ID ile register olarak, yine bu ID üzerinden push atılabilmesini sağlayan parametre. (Ör: bir cihazı birden çok authenticate olmuş kullanıcının kullanbildiği durumlarda, kullanıcının değişmesi durumunda yeni bir kayıt göndermek üzere kullanılabilir) Kayıt olurken, cihazın modeli de iletilebilir (iphone4, iphone5 vs.. gibi) Daha sonra push mesajı gönderirken cihaz bazlı filtreleme yapılabilir. Kayıt olurken, cihazdaki işletim sistemi versiyonu iletilebilir. (ios4.1, ios6.1.3.. vs gibi) Daha sonra push mesajı gönderirken işletim sistemi bazlı filtreleme yapılabilir. Kayıt olurken, herhangi başka tanımlayıcı parametre iletilebilir (ör: resolution768x480 vs..) Başarılı istek: Bu istekten dönen cevap (Response) OK ise, cihaz başarı ile PushServer a kayıt olmuştur. Hata Mesajları: Hata Mesajı ERROR: invalid token Anlamı Gönderilen token parametresi geçersiz. (64 karakter olmalı) Push Server 10

NOK : TOKEN EXISTS ERROR: invalid AppId Zaten kayıt olmuş, var olan bir token ile kayıt yapılıyor. Uygulama ID si, PushServer tarafından tanınmıyor. Var olmayan bir uygulamaya kayıt yapılamaz. 2.2. IOS Cihazı kaldırma (OPT-OUT): [GET] /PushServerLT/rest/unregisterdevice/<appId>/<token> Uygulamanın ayarlarının artık push notifikasyon mesajı almak istemediği şeklinde değişmesi durumunda, bu servis çağrılarak, kaydının silinmesi gerekecektir. 2.3. ANDROID Cihazı PushServer a tanıtma (OPT-IN): [GET] /PushServerLT/rest/registerdeviceGCM/<appId>/<registerId> PushServer dan hizmet almak isteyen Android uygulamalar, uygulamanın yüklenmesinin ardından, push notification alma onayı için Google GCM sunucularından registrationid alır ve, API yardımıyla, token bilgisini PushServer a iletir. http://pushserver.turkcell.com.tr/pushserverlt/rest/registerdevicegcm/<appid>/<registerid> şeklinde bir istek göndererek, ilgili cihazın (registerid), ilgili uygulamaya (appid) push alabilmek üzere kayıt olmasını sağlar. CustomID ile OPT-IN: Request e, opsiyonel olarak customid parametresi eklenebilir. Bu sayede, daha sonra API üzerinden push gönderirken, token değil de, servis kullanıcısı tarafından belirlenen başka bir tanımlayıcı olan customid kullanarak push notification gönderilebilecektir. http://pushserver.turkcell.com.tr/pushserverlt/rest/registerdevicegcm/<appid>/<registerid>?cu stomid=xxx Cihaz bilgilerini de göndererek OPT-IN (Opsiyonel): Cihaz kayıt olurken istenirse opsiyonel cihaz tanımlayıcı parametreler de gönderilerek daha sonra bu tanımlara göre segmentasyon yaılabilir. http://pushserver.turkcell.com.tr/pushserverlt/rest/registerdevicegcm/<appid>/<registerid>?de vicemodel=xxx&osversion=4.2&genericparam=test Parametre Adı appid registerid Tanım Hangi uygulama için kayıt olunduğunu belirten ID. (PushServer tarafında daha önce tanımlanmış olmalı) GCM den alınmış olan cihaz-uygulama tanımlayıcısı. Push Server 11

key customid (opsiyonel) devicemodel (ops.) osversion (ops.) genericparam(ops.) sha256(appid+registerid+secret_key) şeklinde oluşturulmalıdır. (SECRET_KEY = PushServer da tanımlı olan güvenlik sözcüğü) BU PARAMETRE, INCREMENTAL YA DA KOLAYCA TAHMIN EDILEBILEN BIR DEGER TAŞIMAMALIDIR. Token dışında bir tanımlayıcı ID ile register olarak, yine bu ID üzerinden push atılabilmesini sağlayan parametre. (Ör: bir cihazı birden çok authenticate olmuş kullanıcının kullanbildiği durumlarda, kullanıcının değişmesi durumunda yeni bir kayıt göndermek üzere kullanılabilir) Kayıt olurken, cihazın modeli de iletilebilir (Samsung Galaxy S4, HTC One vs.. gibi) Daha sonra push mesajı gönderirken cihaz bazlı filtreleme yapılabilir. Kayıt olurken, cihazdaki işletim sistemi versiyonu iletilebilir. (Android4.1.2, Androdi2.1.3.. vs gibi) Daha sonra push mesajı gönderirken işletim sistemi bazlı filtreleme yapılabilir. Kayıt olurken, herhangi başka tanımlayıcı parametre iletilebilir (ör: resolution768x480 vs..) Başarılı istek: Bu istekten dönen cevap (Response) OK ise, cihaz başarı ile PushServer a kayıt olmuştur. Hata Mesajları: Hata Mesajı ERROR: invalid token NOK : TOKEN EXISTS ERROR: invalid AppId Anlamı Gönderilen registerid parametresi geçersiz. Zaten kayıt olmuş, var olan bir registerid ile kayıt yapılıyor. Uygulama ID si, PushServer tarafından tanınmıyor. Var olmayan bir uygulamaya kayıt yapılamaz. 2.4. ANDROID Cihazı kaldırma (OPT-OUT): [GET] /PushServerLT/rest/unregisterGcm/<appId>/<registerId> Uygulamanın ayarlarının artık push notifikasyon mesajı almak istemediği şeklinde değişmesi durumunda, bu servis çağrılarak, kaydının silinmesi gerekecektir. 2.5. Windows Phone Cihazı PushServer a tanıtma (OPT-IN): [GET] /PushServerLT/rest/registerdeviceWns/<appId>?uri=<URI> Push Server 12

PushServer dan hizmet almak isteyen WindowsPhone uygulamalar, uygulamanın yüklenmesinin ardından, push notification alma onayı için WindowsNotificationServer (WNS) sunucularından URI alır ve, API yardımıyla, URI bilgisini PushServer a iletir. http://pushserver.turkcell.com.tr/pushserverlt/rest/registerdevicewns/<appid>?uri=<uri> şeklinde bir istek göndererek, ilgili cihazın (URI), ilgili uygulamaya (appid) push alabilmek üzere kayıt olmasını sağlar. CustomID ile OPT-IN: Request e, opsiyonel olarak customid parametresi eklenebilir. Bu sayede, daha sonra API üzerinden push gönderirken, token değil de, servis kullanıcısı tarafından belirlenen başka bir tanımlayıcı olan customid kullanarak push notification gönderilebilecektir. http://pushserver.turkcell.com.tr/pushserverlt/rest/registerdevicewns/<appid>?uri=<uri>&cu stomid=xxx Cihaz bilgilerini de göndererek OPT-IN (Opsiyonel): Cihaz kayıt olurken istenirse opsiyonel cihaz tanımlayıcı parametreler de gönderilerek daha sonra bu tanımlara göre segmentasyon yaılabilir. http://pushserver.turkcell.com.tr/pushserverlt/rest/registerdevicewns/<appid>?uri=<uri>&de vicemodel=xxx&osversion=4.2&genericparam=test Parametre Adı appid URI customid (opsiyonel) devicemodel (ops.) osversion (ops.) genericparam(ops.) Tanım Hangi uygulama için kayıt olunduğunu belirten ID. (PushServer tarafında daha önce tanımlanmış olmalı) WNS den alınmış olan cihaz-uygulama tanımlayıcısı. Token dışında bir tanımlayıcı ID ile register olarak, yine bu ID üzerinden push atılabilmesini sağlayan parametre. (Ör: bir cihazı birden çok authenticate olmuş kullanıcının kullanbildiği durumlarda, kullanıcının değişmesi durumunda yeni bir kayıt göndermek üzere kullanılabilir) Kayıt olurken, cihazın modeli de iletilebilir (Nokia Lumia 920, HTC 8S vs.. gibi) Daha sonra push mesajı gönderirken cihaz bazlı filtreleme yapılabilir. Kayıt olurken, cihazdaki işletim sistemi versiyonu iletilebilir. (WP8.0.0, WP8.1.3.. vs gibi) Daha sonra push mesajı gönderirken işletim sistemi bazlı filtreleme yapılabilir. Kayıt olurken, herhangi başka tanımlayıcı parametre iletilebilir (ör: resolution768x480 vs..) Push Server 13

Başarılı istek: Bu istekten dönen cevap (Response) OK ise, cihaz başarı ile PushServer a kayıt olmuştur. Hata Mesajları: Hata Mesajı ERROR: invalid URI NOK : TOKEN EXISTS ERROR: invalid AppId Anlamı Gönderilen URI parametresi geçersiz. Zaten kayıt olmuş, var olan bir registerid ile kayıt yapılıyor. Uygulama ID si, PushServer tarafından tanınmıyor. Var olmayan bir uygulamaya kayıt yapılamaz. 2.6 WindowsPhone Cihazı kaldırma (OPT-OUT): [GET] /PushServerLT/rest/unregisterWns/<appId>?uri=<URI> Uygulamanın ayarlarının artık push notifikasyon mesajı almak istemediği şeklinde değişmesi durumunda, bu servis çağrılarak, kaydının silinmesi gerekecektir. 2.7 KATEGORİLENDİRME: Kategori Listesini alma: [GET]/PushServerLT/rest/getCategoryList/<appId>.<key> Uygulamanın ayarlarında, kullanıcıya bazı kategorilerde push almak istediğine dair seçenek sunulması durumunda, bu API kullanılarak, O uygulama için tanımlı olan tüm kategorilerin listesi alınabilir. Response: ["cinema","entertainment","news","sports"] Cihazın (kullanıcının) push almak istediği kategoriyi bildirme: [GET]/PushServerLT/rest/setAllowedCategory/<appId>.<key>?token=<token>&c ategoryname=<kategori adı> Uygulamanın ayarlarında, kullanıcıya bazı kategorilerde push almak istediğine dair seçenek sunulması durumunda, bu API kullanılarak, kullanıcının seçtiği kategorileri PushServer a bildirilebilir, daha sonra yalnızca belirtilen kategorileri seçenler filtrelenerek push gönderme yapılabilir. Response: {"resultcode":"_0000"} Push Server 14

Cihazın (kullanıcının) push almak istemediği kategoriyi bildirme: [GET]/PushServerLT/rest/unsetAllowedCategory/<appId>.<key>?token=<token> &categoryname=<kategori adı> Uygulamanın ayarlarında, kullanıcıya bazı kategorilerde push almak istediğine dair seçenek sunulması durumunda, bu API kullanılarak, kullanıcının daha once seçtiği kategoriden vazgeçmesi durumunda seçtikleri listesinden kaldrıma isteğini PushServer a bildirilebilir. Response: {"resultcode":"_0000"} Cihazın (kullanıcının) push almak istediği kategorileri listeleme: [GET]/PushServerLT/rest/getAllowedCategories/<appId>.<key>?token=<token> Uygulamanın ayarlarında, kullanıcıya bazı kategorilerde push almak istediğine dair seçenek sunulması durumunda, bu API kullanılarak, kullanıcının hangi kategorileri seçtiği bilgisi alınabilir. Response: ["cinema","entertainment","news","sports"] 1. PUSH NOTIFIKASYON GONDERME (API YARDIMIYLA) Push notifikasyon mesajı göndermek için "/sendpushwmsisdn/<appid>.<key> "/sendpushwtoken/<appid>.<key> "/sendpushwcustomid/<appid>.<key> API lerinden biri kullanılmalıdır. 4.1. MessageParam Nesnesi: Field Name Field Type Max Length M/O Description key String 254 M Key to send in payload value String 254 M Value to send in payload. 4.2. Message Nesnesi: Push Server 15

Field Name Field Type Max Length M/O Description content String 254 O The text message in the push notification params MessageParam OBJECT O Extra parameters, to send Push Notification including payload parameters. destinations List<String> OBJECT M TOKEN (REGISTER_ID, URI) or MSIDN OR CustomID list to send Push Notifications to. scheduleddate date 14 O Schedule a push notification to send later, scheduledate must be filled. 4.3. TOKEN (RegisterID) kullanarak gönderme: Mobil uygulamanın, PushServer a register olurken gönderdiği token değeri (Android uygulama için registerid), yine aynı uygulamaya push notifikasyon mesajı gönderirken de kullanılacak ise, bu API kullanılmalıdır. 4.3.1. API Tanımı: No Interface Item Description 1 REST-HTTP-Method POST 2 REST-URI-Fragment /rest/sendpushwtoken/{appid.key} 3 HTTP Response Refer to HTTP s response status code 4.3.2. Input Değerleri: No Parameter Type M/O Param Type Max Length Description 1 appid String M path 32 Appliation ID 2 key String M path 32 Sha256(appId+securityKey) 3 message Message M json Sizeof(Message) Message Meta Data 4.3.3. Response Değeri: No Parameter Type M/O Max Length Description 1 pushresponse json M Sizeof(pushResponse) json formatted String, of PushResponse object. Push Server 16

4.3.4. Örnek: No. Request/Response Example 1 HTTP Request POST /rest/sendpushwtoken/{appid.key} HTTP/1.1 Content Type: application/json; charset=utf-8 { "destinations":["token1", token2 ], "content":"deneme mesajı", "scheduledddate":"2012-11-02t15:37:58+0200"} Ör2: { "destinations":["token"], "content":"deneme mesajı", "params":[{"key":"url","value":"http://turkcell.com.tr/push"}] } 2 HTTP Response HTTP/1.1 200 Accepted Content Type: application/json; charset=utf-8 { bacthid :11023, resultcode: 0000, unknowndevicelist :[ 05304556726 ] } 4.4. MSISDN kullanarak gönderme: Mobil uygulamanın, PushServer a register olurken, RADIUS üzerinden alınan MSISDN değeri, uygulamaya push notifikasyon mesajı gönderirken kullanılacak ise, bu API kullanılmalıdır. UYARI: Uygulama, register olurken,3g değil de Wi-fi üzerinden gelmiş ise, MSISDN bilgisi alınamamış olabilir. 4.4.1. API Tanımı: No Interface Item Description 1 REST-HTTP-Method POST 2 REST-URI-Fragment /rest/sendpushwmsisdn/{appid.key} 3 HTTP Response Refer to HTTP s response status code 4.4.2. Input Değerleri: No Parameter Type M/O Param Type Max Length Description 1 appid String M path 32 Appliation ID Push Server 17

No Parameter Type M/O Param Type Max Length Description 2 key String M path 32 Sha256(appId+securityKey) 3 message Message M json Sizeof(Message) Message Meta Data 4.4.3. Response Değeri: No Parameter Type M/O Max Length Description 1 pushresponse json M Sizeof(pushResponse) json formatted String, of PushResponse object. 4.4.4. Örnek: No. Request/Response Example 1 HTTP Request POST /rest/sendpushwmsisdn/{appid.key} HTTP/1.1 Content Type: application/json; charset=utf-8 {"async":false, "destinations":["05304556753", 05304556726 ], "content":"deneme mesajı", "scheduleddate":"2012-11-02t15:37:58+0200"} Ör2: Ör2: { "destinations":["msisdn"], "content":"deneme mesajı", "params":[{"key":"url","value":"http://turkcell.com.tr/push"}] } 2 HTTP Response HTTP/1.1 200 Accepted Content Type: application/json; charset=utf-8 { bacthid :11023, resultcode: 0000, unknowndevicelist :[ 05304556726 ] } 4.5. CustomID kullanarak gönderme: Mobil uygulamanın, PushServer a register olurken Opsiyonel olan CustomId parametresi ile istek yapılmış ve uygulamaya push notifikasyon mesajı gönderirken de bu değer kullanılacak ise, bu API kullanılmalıdır. Push Server 18

4.5.1. API Tanımı: No Interface Item Description 1 REST-HTTP-Method POST 2 REST-URI-Fragment /rest/sendpushwcustomid/{appid.key} 3 HTTP Response Refer to HTTP s response status code 4.5.2. Input Değerleri: No Parameter Type M/O Param Type Max Length Description 1 appid String M path 32 Appliation ID 2 key String M path 32 Sha256(appId+securityKey) 3 message Message M json Sizeof(Message) Message Meta Data 4.5.3. Response Değeri: No Parameter Type M/O Max Length Description 1 pushresponse json M Sizeof(pushResponse) json formatted String, of PushResponse object. 4.5.4. Örnek: No. Request/Response Example 1 HTTP Request POST /rest/group/{appid.key} HTTP/1.1 Content Type: application/json; charset=utf-8 {"async":false, "destinations":["customid123", customid456 ], "content":"deneme mesajı", "createddate":"2012-11-02t15:37:58+0200"} Ör2: Ör2: { "destinations":["customid"], "content":"deneme mesajı", "params":[{"key":"url","value":"http://turkcell.com.tr/push"}] } 2 HTTP Response HTTP/1.1 202 Accepted Content Type: application/json; charset=utf-8 Push Server 19

No. Request/Response Example { bacthid :11023, resultcode: 0000, unknowndevicelist :[ 05304556726 ] } 4.6. TOPLU (Tüm Cihazlara) gönderme: Uygulamanın, tüm kayıtlı cihazlarına push notifikasyon mesajı gönderilecek ise, bu API kullanılmalıdır. 4.6.1. API Tanımı: No Interface Item Description 1 REST-HTTP-Method POST 2 REST-URI-Fragment /rest/sendpushtoalldevices/<appid>.<key>?categoryname=<category> ( categoryname ops.) 3 HTTP Response Refer to HTTP s response status code 4.6.2. Input Değerleri: No Parameter Type M/O Param Type Max Length Description 1 appid String M path 32 Appliation ID 2 key String M path 32 Sha256(appId+securityKey) 3 categoryname String O path 32 To filter devicelist by CategoryName (categoryname sent to server, via setallowedcategory API) 4 message Message M json Sizeof(Message) Message Meta Data 4.6.3. Response Değeri: No Parameter Type M/O Max Length Description 1 pushresponse json M Sizeof(pushResponse) json formatted String, of PushResponse object. Push Server 20

4.6.4. Örnek: No. Request/Respons e Example 1 HTTP Request POST /rest/group/{appid.key} HTTP/1.1 Content Type: application/json; charset=utf-8 {"async":false, "params":[{"value":"url","key":"http://turkcell.com.tr/push" }], "content":"deneme mesajı", "scheduleddate":"2012-11-02t15:37:58+0200"} 2 HTTP Response HTTP/1.1 202 Accepted Content Type: application/json; charset=utf-8 { bacthid :11023, resultcode: 0000} 5. GÖNDERİLMİŞ PUSH NOTIFIKASYONLARIN LİSTESİNİ ALMA: [GET]/PushServerLT/rest/getMessageHistory/<appId>.<key>/<page>.<pageS ize> (Ör: http://pushserver.turkcell.com.tr/pushserverlt/rest/getmessagehistory/05 a77e0031870e30a84ee7e75f66417e.c36df89c8183c31a5d9ed5674a81bdb6 1f181009608316e02edf26d6f49da665/1.10 ) No Parameter Type M/O Param Type Max Length Description 1 appid String M path 32 Appliation ID 2 key String M path 32 Sha256(appId+securityKey) 3 page Integer M path - Starting point of all messages to include in message list 4 pagesize Integer M path - Size of List Items Push Server 21

5.1.1. Response Değeri: No Parameter Type M/O Max Length Description 1 Message Array json M Sizeof(MessageArray) json formatted String, Array of Message object. 5.1.2. Örnek: No. Request/Response Example 1 HTTP Request GET /rest/getmessagehistory/<appid>.<key>/<page>.<pagesize> HTTP/1.1 2 HTTP Response HTTP/1.1 202 Accepted Content Type: application/json; charset=utf-8 {"messagehistories":[]} 6. SONUÇ/HATA KODLARI No ResultCode Description 1 0000 Operation succeeded 2 1001 System exception (should be retried) 3 1002 Mandatory parameter is null (Message content is incomplete) 4 2001 AppId does not exist 5 2002 Invalid Key 6 2003 No device found. Message is canceled. 7 2004 Scheduled message is successfully defined. 8 2005 No test device found. 9 2006 Message Type is not selected. 10 2007 Parameter count is not numeric. 11 2008 Device or Registration is not found. 12 2009 Category is not found 13 2010 Category is already set for the device. Push Server 22

Push Server 23