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)