Örnek 9
Senaryo :
Özel okul aylık ücretlerinin tutulduğu excel dosyasından cari ve tutar bilgilerini alıp, borç dekontu oluşturalım.
Ö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) columns = ['carikartkodu', 'borc'] reader = csv.reader(open("OzelOkulAylikUcretleri.csv", "rb"), delimiter=';') next(reader, None) cariler = map(lambda row: dict(zip(columns, row)), reader) postBody = {"sis_numara_getir" : {"session_id": sessionID, "firma_kodu": firma_kodu, "donem_kodu": donem_kodu, "table_name": "scf_carihesap_fisi", "column_name" : "fisno" } } wsResult = callWs(wsAdresMain + 'sis/json', postBody) fisno = wsResult['result']['kod'] print '%s' % fisno fisTarihi = raw_input('Lüften fiş tarihini giriniz: ') aciklama = raw_input("Lütfen açıklama giriniz: ") cariFisKalemleri = [] for cari in cariler: cariFisKalemleri.append({ "_key_scf_carikart": {"carikartkodu": cari['carikartkodu']}, "_key_sis_doviz": {"adi": "TL"}, "_key_sis_doviz_raporlama": {"adi": "TL"}, "alacak": "0.00", "borc": float(cari['borc']), "dovizkuru": "1.00", "raporlamadovizkuru": "1.00", "aciklama": aciklama, "vade": "2023-05-26" }) postBody = {"scf_carihesap_fisi_ekle" : {"session_id": sessionID, "firma_kodu": firma_kodu, "donem_kodu": donem_kodu, "kart": { "_key_sis_sube": {"subekodu": "BE003"}, "aciklama1": aciklama, "fisno": fisno, "m_kalemler": cariFisKalemleri, "saat": "10:38:29", "tarih": fisTarihi, "turu": "BD" } } } wsResult = callWs(wsAdresMain + 'scf/json', postBody) pprint(wsResult)