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