İçindekiler

Ö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)