kılavuzunu - GittiGidiyor API

Transkript

kılavuzunu - GittiGidiyor API
API JAVA CLIENT
Kullanıcı Kılavuzu
VERSİYON 2.1
Proje Lideri - Hazırlayan: Fikret Toydemir
fikret.toydemir@gittigidiyor.com
4/8/2010
GİRİŞ
Bu doküman API için yazılan Java Client kütüphanesinin kullanımını anlatmak ve örnek kod gösterimleri ile
kütüphane üzerinden yazılabilecek kod blokları hakkında fikir vermek amacıyla oluşturulmuştur.
İstemci kütüphanesi 'java-client-2.1.jar' ve 'java-client-2.1-jar-with-dependencies.jar' olmak üzere iki farklı
şekilde yayınlanmıştır. Bunlardan 'java-client-2.1.jar' sadece istemci kütüphanesini içerirken, 'java-client-2.1-jarwith-dependencies.jar' istemci kütüphanesinin bağımlı olduğu kütüphaneleride içermektedir.
Kullanıcı kütüphaneyi 'java-client-2.1-jar-with-dependencies.jar' paketini classpath'ine ekleyerek doğrudan
kullanabileceği gibi, 'java-client-2.1.jar' paketi ile bağımlı olduğu 'jax-ws 2.1.3' kütüphanesini (https://jaxws.dev.java.net/2.1.3/ adresinden indirebilirsiniz) classpath' ine ekleyerek de kullanabilmektedir.
Kütüphanenin Maven projesinde kullanılması durumunda bağımlılık ilişkisinin aşağıdaki gibi tanımlanması
gerekmektedir.
Not: Önce 'java-client-2.1.jar' ı maven repository' e eklemeniz gerekmektedir. mvn install:install-file -Dfile=javaclient-2.1.jar -DgroupId=com.gg.api -DartifactId=java-client -Dversion=2.1 -Dpackaging=jar
SERVİS KULLANIMI ve ÖRNEK KODLAR
Kütüphane, Anonim (Anonymous) ve Bireysel Kullanıcı (Individual) servisleri içermektedir.
API servislerini çağırmada kolaylık sağlamasının yanı sıra, her bir servis çağrımında tekrarlanan authentication
parametrelerinide (apikey, signature, timestamp ve basic authentication username/password) gizlemektedir.
Bu noktada kullanıcı bir defa authentication parametrelerini kütüphane dizine kaydettikten sonra, servis
çağrımlarında gereken authentication parametrelerini girmekle uğraşmamaktadır.
2
İlgili parametreler bu dizinden okunmak ve hesaplanmak amacı ile servis çağrılarına parametre olarak
geçirilmektedir.
Authentication parametrelerini kaydetmek için AuthConfig sınıfından bir nesne yaratılmalı, ardından
ConfigurationManager sınıfı aracılığı ile bu parametreler kütüphane dizinine yazdırılmalıdır.
Yazdırma işlemi için setAuthParameters metodu kullanılmalıdır.
Kütüphanede kullanılacak servisler ServiceProvider sınıfı üzerinden alınabildiği gibi, herhangi bir servisin
singleton nesnesi oluşturularakta servis kullanımı gerçekleştirilebilmektedir.
Aşağıda Anonim ve Bireysel Kullanıcılı servisler için kütüphanenin kullanımına dair örnekler ve ilgili kod
bloklarının çıktıları gösterilmektedir.
NOT : Ekran görüntüleri java-client-2.0.5 üzerinden alınmış olup, java-client-2.1 de farklılıklar aşağıda
belirtilmiştir.
•
DeveloperService metod imzaları(signature) değişmemiş olup, servis “https” yapılmıştır.
•
ProductService metodlarının tamamı itemId ve productId parametreleri dinamik (isteğe bağlı olarak)
kullanılacak şekilde yeniden düzenlenmiştir.
•
ProductService’ e relistProducts metodu eklenmiştir
•
SaleService getSale metodu response nesnesine alıcı bilgileri eklenmiştir.
3
Geliştirici Oluşturmak (DeveloperService - createDeveloper)
Uygulama Yaratmak (ApplicationService - createApplication)
4
Uygulama Listesini Almak (ApplicationService - getApplicationList)
5
6
Şehir Listesini Almak (CityService - getCities)
7
Kategori Bilgisini Almak (CategoryService - getCategory)
8
9
Ürün Girişi Yapmak (ProductService - insertProduct)
10
Ödeme Sepeti Fiyatını Hesaplatmak (ProductService - calculatePriceForShoppingCart)
11
Ürün Fiyatını Ödemek/Satışa Çıkarmak (ProductService - payPrice)
12
Fiyat Güncellemek (ProductService - updatePrice)
Stok Güncellemek (ProductService - updateStock)
13
Ürün Listesini Almak (ProductService - getProducts)
Burada ürün listesi konsol çıktısının uzun olmaması amacıyla ilk döngü ardından “break” bildirimi (statement) ile döngüden
çıkılmıştır.
14
Satış Bilgisini Almak (SaleService - getSale)
15
Kargo Bilgisi Girmek (CargoService - sendCargoInformation)
Mesaj Göndermek (MessageService – sendNewMessage)
16
Gelen Kutusundaki Mesajları Almak (MessageService - getInboxMessages)
17