Örnek 12
Senaryo :
Firmadaki bir stok karta, bir url üzerinden çekeceğimiz resmi ekleyelim.
Örnekler diadevdays sunucusu üzerinde çalışmaktadır.
Örnek Kod (python):
# coding=utf-8 import simplejson import treq 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: pprint("Login yapilamadi!") exit(0) stokKartKodu = raw_input("Stok kodunu giriniz: ") stokListeleBody = {"scf_stokkart_listele" : {"session_id": sessionID, "firma_kodu": firma_kodu, "donem_kodu": donem_kodu, "filters":[{"field": "stokkartkodu", "operator": "=", "value": stokKartKodu}], "sorts": [], "params": {"selectedcolumns": ["_key", "stokkartkodu"]}, "limit": 1, "offset": 0 } } stokListeleResponse = callWs(wsAdresMain + 'scf/json', stokListeleBody) pprint(stokListeleResponse) if stokListeleResponse.get('code') != '200': print("Stok bulunamadi!") exit(0) resimURL = raw_input("Eklemek istediginiz resim urlini giriniz: ") print("Resim url: ", resimURL) resimData = urllib2.urlopen(resimURL).read() dosyaEkleBody = {"sis_aws_dosya_ekle" : {"session_id": sessionID, "firma_kodu": firma_kodu, "donem_kodu": donem_kodu, "kart": {"kayitturu": "scf_stokkart", "_key_kayit": stokListeleResponse['result'][0]['_key'], "order_id": 1, "ext": "PNG", "base64data": base64.b64encode(resimData) } } } dosyaEkleResponse = callWs(wsAdresMain + 'sis/json', dosyaEkleBody) pprint(dosyaEkleResponse)