Örnek 10
Senaryo :
Barkodu okutulan stoğu bulup, sistem parametresindeki fiyat türüne göre fiyatını getirelim.
Ö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 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) barkod = raw_input('Lütfen barkodu okutunuz: ') postBody = {"scf_barkod_okut" : {"session_id": sessionID, "firma_kodu": firma_kodu, "donem_kodu": donem_kodu, "barkodtipi": "BARKOD", "barkodlist": [barkod] } } wsResult = callWs(wsAdresMain + 'scf/json', postBody) stokResult = wsResult['result'][0] postBody = {"scf_fiyat_hazirla" : {"session_id": sessionID, "firma_kodu": firma_kodu, "donem_kodu": donem_kodu, "params": { "islemturu": "FATURA", "fisturu": "2", "kalemturu": "MLZM", "_key_kalemturu": stokResult['stokkart']['_key'], "_key_kalembirim": stokResult['_key_secilibirim'] } } } wsResult = callWs(wsAdresMain + 'scf/json', postBody) fiyatResult = wsResult['result'][0] stokFiyat = fiyatResult['birimfiyat'] print "%s kodlu stoğun fiyatı: %s" % (stokResult['stokkart']['stokkartkodu'], str(stokFiyat))