İçindekiler

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