osos web servisleri kullanımı
Transkript
osos web servisleri kullanımı
OSOS WEB SERVİSLERİ KULLANIMI 21.12.2015 İçindekiler 1. Amaç .......................................................................................................................................2 2. Kapsam ...................................................................................................................................2 3. Login İşlemleri .........................................................................................................................2 4. Web Servis Sorgu ve Cevap Örnekleri ......................................................................................3 5. 4.1. Veri Gönderim Fonksiyonu...............................................................................................3 4.2. Veri Alış Fonksiyonu .........................................................................................................4 4.3. OSOS Sayaç Bilgilendirmesi ..............................................................................................5 NOTLAR ...................................................................................................................................5 1 1. Amaç Bu dokümanın amacı OSOS Veri Paylaşımı Projesi kapsamında geliştirilen web servislerin nasıl kullanılacağına ilişkin örneklerin EDAŞ’lar ile paylaşılmasıdır. 2. Kapsam OSOS veri paylaşımı projesinin ilk aşaması kapsamında geliştirilen web servislere ait örnek sorgu ve yanıtlar doküman kapsamında ele alınmıştır. Geliştirilen web servisler şu şekildedir: Veri Gönderme Web Servisi (Set Metodu) Veri Okuma Web Servisi (Get Metodu) OSOS Kapsamı Bilgilendirmesi Web Servisi (Get Metodu) 3. Login İşlemleri Bütün web servislerde kullanmak üzere login işlemleri şu şekilde gerçekleştirilir: CAS üzerinden “service ticket” alınması gerekir. Ticket alınırken yapılacak isteğin “header name”i “Content-Type”, “value” ise “application/x-www-form-urlencoded” olmalıdır. CAS üzerinden alınan service ticket get metotları için http header'ına eklenmelidir. HTTP Header'ın “name” alanı “Service-Key”, “value” alanı CAS'tan alınan service ticket gelmelidir. Get metotları için örnek gösterim aşağıdaki gibidir: ◦ name: Service-Key ◦ value:ST-32-GYYkyetc7PJssurJnKZc-cas01.epias.com.tr CAS üzerinde oluşturulan “Service Ticket” ın geçerlilik süresi 30sn'dir. CAS üzerinden ST almak için DGPYS kullanıcı bilgilerini aşağıdaki gibi göndermeniz gerekmektedir. ◦ Post metotları için CAS üzerinden alınan service ticket request header'ına eklenmelidir. Örnek gösterim aşağıdaki gibidir: ◦ "header":[ {"key": "Service-Key", cas02.epias.com.tr"} ] "value": CAS'tan service ticket almak için şu adres kullanılacaktır: ◦ username=*****&password=****** https://cas.epias.com.tr/cas/v1/tickets CAS'tan service ticket alırken kullanılacak servis: ◦ https://cas.epias.com.tr 2 "ST-21-00EjLldcoRcEVGVM5Sgz- 4. Web Servis Sorgu ve Cevap Örnekleri Bu bölümde web servislerin kullanımına ilişkin örnek sorgu kodları ve geri dönüşlerine dair örnekler verilmiştir. 4.1. Veri Gönderim Fonksiyonu Web servis bağlantı web/rest/ososData/ URL (test sistemi): https://osos-test.epias.com.tr/osos- Web servis bağlantı URL (gerçek sistem):https://osos.epias.com.tr/osos-web/rest/ososData/ Yukarıdaki URL kullanılarak HTTP POST isteği yapılmalıdır. Yapılacak olan işlem için iki adet header kullanılacaktır: Service Ticket request'in header kısmına eklenmelidir. (Login kısmında belirtildiği şekliyle kullanılmalıdır.) HTTP Header'ın “name” alanı “Content-Type”, “value” alanı ise “application/json” olmalıdır. Mesajlaşmadaki tarih formatı "yyyy-MM-dd'T'HH:mmZ" şeklinde olacaktır. Örnek İstek { "header":[ {"key": "Service-Key", "value": "ST-29-tDipvkkHEJJfzbtOgr22cas02.epias.com.tr"} ], "body": { "ososDataTypeList": [ { "eic": "40Z00000XXXXXXXX", "meteringTime": "2015-02-14T09:40+0200", "meteringPoint": 1, "period": 15, "meteringType": 1, "generationAmount": 1254.63, "consumptionAmount": 369857.36 } 3 ]} } Örnek Cevap { "resultCode": "0", "resultDescription": "Isleminiz basariyla tamamlanmistir.", "body": null } Veri yükleme sırasında karşılaşılacak hatalar ve açıklamaları dönen yanıt içerisinde yer alacaktır. 4.2. Veri Alış Fonksiyonu Web servis örnek bağlantı URL (test sistemi): "https://osos-test.epias.com.tr/ososweb/rest/osos/getOSOSData?eic=40Z00000XXXXXXXX&startTime=2015-0214T09:40%2B0100" Web servis örnek bağlantı URL (gerçek sistem): "https://osos.epias.com.tr/ososweb/rest/osos/getOSOSData?eic=40Z00000XXXXXXXX&startTime=2015-0214T09:40%2B0100" URL'deki startTime değişkenindeki “%2B” artı (+) işaretine karşılık gelen HTTP gösterimidir. Yapacağınız isteğe dönen örnek cevap aşağıdaki gibidir: {"resultCode":"0","resultDescription":"OK","body":{"ososDataTypeList":[{"eic":"40Z00000 XXXXXXXX","meteringTime":"2015-0214T09:40+0200","meteringPoint":1,"period":15,"meteringType":1,"generationAmount":11 11,"consumptionAmount":222,"timeZone":"+0200","recordTime":"2015-1218T09:54+0100"}]}} 4 4.3. OSOS Sayaç Bilgilendirmesi Web servis bağlantı URL (test sistemi): https://osos-test.epias.com.tr/ososweb/rest/ososConfig/ Web servis bağlantı URL (gerçek sistem): https://osos.epias.com.tr/ososweb/rest/ososConfig/ Yukarıdaki URL kullanılarak HTTP GET isteği yapılmalıdır. 4.3.1. Organizasyona Ait Tüm Sayaçların Veri Gönderim Şeklinin Okunması Servis ticket'ın gönderilmesi sonucunda sisteme kayıtlı OSOS ölçüm noktalarının hangi periyotla veri göndermesi gerektiği bilgisi gönderilir. Yapılan “request”e dönen “response” örneği şu şekildedir: {"resultCode":"0","resultDescription":"OK","body":{"ososDataConfigTypeList":[{"eic": "40Z00000XXXXXXXX","period":15,"meterType":"URETIM","balanceType":"NORMAL"} ]}} ◦ 40Z00000XXXXXXXX EIC koduna ait veri 15 dk'lik periyotlarla gönderilmelidir. Üretim birimi dengeleme birimi olmayan bir tesistir. {"eic":"40Z00000XXXXXXXX","period":15,"meterType":"URETIM","balanceType":"DEN GELEME_BIRIMI"} ◦ 40Z00000XXXXXXXX EIC koduna ait veri 15 dk'lik periyotlarla gönderilmelidir. Üretim birimi dengeleme birimi olan bir tesistir. NOT: Test süreci tamamlanmadan önce organizasyona ait EIC kodu bilgisi ile tek bir ölçüm noktasına ait sorgulama yapma özelliği eklenecektir. 5. NOTLAR URL adreslerin sadece test sistemi için aktiftir. Gerçek sistemin 1 Ocak 2016 tarihi itibariyle devreye alınması planlanmaktadır. Test ortamının daha esnek olabilmesi açısından zaman kontrolleri yapılmamıştır. Test sırasında karşılaşılacak hatalar ve öneriler için geri dönüş beklenmektedir. 5