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)