Örnek 7
Senaryo :
Otelde konaklayan misafirlerin bilgilerini internet takip cihazına gönderelim.
Örnekler diadevdays sunucusu üzerinde çalışmaktadır.
Örnek Kod (python):
# coding=utf-8 import simplejson import base64 import urllib2 from datetime import datetime from pprint import pprint import csv wsAdresMain = 'https://diadevdays.ws.dia.com.tr/api/v3/' firma_kodu = 4 donem_kodu = 1 apikey = "773f9085-9dc8-4f50-b34d-f7b56da33b5f" def callWs(wsAdres, postBody): try: postBody = simplejson.dumps(postBody, cls=simplejson.JSONEncoder) req = urllib2.Request(wsAdres, data=postBody, headers={"Content-Type": "application/json"}) content = urllib2.urlopen(req).read() except Exception, e: print("Exception: {}".format(repr(e))) wsResult = simplejson.loads(content) return wsResult loginBody = {"login" : {"username": "ws", "password": "ws", "disconnect_same_user": True, "lang": "tr", "params": {"apikey": apikey} } } loginResult = callWs(wsAdresMain + 'sis/json', loginBody) sessionID = loginResult['msg'] if not sessionID: print("Login yapilamadi") exit(0) postBody = {"ote_misafirkarti_listele" : {"session_id": sessionID, "firma_kodu": firma_kodu, "donem_kodu": donem_kodu, "filters": [{"field": "sonrezdurum", "operator": "=", "value": "K"}], "sorts": "", "params": {"selectedcolumns": ["adi", "soyadi", "serino", "tckimlikno"]}, "limit": 10, "offset": 0 } } misafirler = callWs(wsAdresMain + 'ote/json', postBody) misafirler = misafirler['result'] dosyaAdi = raw_input('Kaydedilecek dosyanın adını giriniz: ') with open('%s.csv' % dosyaAdi, 'w') as csvfile: fieldNames = ['adi', 'soyadi', 'serino', 'tckimlikno'] writer = csv.DictWriter(csvfile, fieldnames=fieldNames) writer.writeheader() for misafir in misafirler: misafir = {k: unicode(v).encode("utf-8") for k,v in misafir.iteritems()} writer.writerow(misafir)