Files
taxcom/taxcom.py

89 lines
5.2 KiB
Python
Raw Permalink Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

import json, filecmp, shutil, requests
from datetime import datetime
from pathlib import Path
from time import sleep
from icecream import ic
ic.disable()
ID = [ ('9961440300763405','030c75c2-2f29-11eb-119f-0cc47ab40806','Волгоград_Энгельса'),
('9961440300902043','d4fff292-2f2a-11eb-119f-0cc47ab40806','Волжский_Ленина'),
#Смена ФН ('9961440300763218','ee3baf4d-d98d-11e6-b191-e83935b036c7','Новороссийск'),
('7381440900835933','ee3baf4d-d98d-11e6-b191-e83935b036c7','Новороссийск'),
#Смена ФН ('9961440300757955','147c9228-3d13-11ef-94eb-8a456ecaea20','Крымск_Синева'),
('7381440900836042','147c9228-3d13-11ef-94eb-8a456ecaea20','Крымск_Синева'),
('9961440300902580','33bbe69c-2f2b-11eb-119f-0cc47ab40806','Камышин_Некрасова'),
#Исправлен ID ('9961440300763398','b4280c16-2629-11e9-993e-f06a44526bea','Краснодарривокзальная'),
('7381440900836108','b50bc5a3-12e1-11e5-9265-e83935b036c7','Краснодарривокзальная'),
#Закрыто ('9961440300757958','b50bc59a-12e1-11e5-9265-e83935b036c7','Новошахтинск_Ленина'),
('9961440300515155','e33636ce-2f29-11eb-119f-0cc47ab40806','Волгоград_Авиаторов'),
#Смена ФН ('9961440300763613','691807dd-2629-11e9-993e-f06a44526bea','Волгоград_Еременко'),
('7381440900834264','691807dd-2629-11e9-993e-f06a44526bea','Волгоград_Еременко'),
#Закрыто ('9961440300763285','b4280c16-2629-11e9-993e-f06a44526bea','Волжский_Мира'),
#Закрыто ('9961440300763668','7c52db0c-2629-11e9-993e-f06a44526bea','Волгоград_Рабоче_Крестьянская'),
('9961440300902408','13f3b7e6-2f2a-11eb-119f-0cc47ab40806','Волгоград_Аллея_Героев'),
('7381440800374463','ad06d608-b690-11ed-87bd-0cc47ab40806','Самара_Кирова_виваленде')
]
while True:
CurDate = datetime.date(datetime.now())
prevDate = datetime.date(datetime.now())
try:
for fn, salepoint, kassa in ID:
ic(fn, salepoint)
headers = {
"Content-Type": "application/json",
"Integrator-ID": "BFFFC47E-38BB-4845-8399-7C2F5AB11A3C"
}
data = {
"Login": "kassa@ip-tr.ru",
"Password": "123456"
}
result = requests.post('https://api-lk-ofd.taxcom.ru/API/v2/Login', headers=headers, data=json.dumps(data), timeout=(20, 240))
sessionToken = result.json()['sessionToken']
headers = {
"Content-Type":"application/json",
"Session-Token": f"{sessionToken}"
}
ic(result.text)
ic(sessionToken)
try:
result = requests.get(f"https://api-lk-ofd.taxcom.ru/API/v2/ShiftList?fn={fn}&begin={prevDate}T00:00:00&end={CurDate}T23:59:59", headers=headers, timeout=(20, 240))
shiftNumber = result.json()['records'][0]['shiftNumber']
fnFactoryNumber = result.json()['records'][0]['fnFactoryNumber']
ic(result.text)
except:
ic()
continue
try:
result = requests.get(f'https://api-lk-ofd.taxcom.ru/API/v2/DocumentList?fn={fn}&shift={shiftNumber}&type=3', headers=headers, timeout=(20, 240))
ic(result.text)
cheks = result.json()['records']
except:
ic()
requests.get(f'https://api.telegram.org/bot5374522720:AAGoNUYCEyJ-7-bSAQPT7aV_W2GWcinnkQU/sendMessage?parse_mode=HTML&chat_id=394151541&text=<b>Taxcom:</b>\nЧека нет')
continue
with open('check', 'w', encoding='utf-8') as f:
f.write(str(cheks))
if Path('check').is_file():
if Path(kassa).is_file():
if filecmp.cmp('check', kassa):
print(f'{kassa} -- Новые чеки отсутствуют')
continue
shutil.copy('check', kassa)
Path('check').unlink()
data = {"salepoint": salepoint,
"res": str(cheks)}
data = json.dumps(data, ensure_ascii=False).encode('utf-8')
print(kassa)
result = requests.post('https://1c.maverik.ru/bso_maverik/hs/exchange/saveTaxcomDocs', data=data, allow_redirects=False, auth=('robot', 's38*Cqy2L*PB'), timeout=(10, 120))
# result = requests.post('http://10.15.0.3/bso_maverik/hs/exchange/saveTaxcomDocs', data=data, allow_redirects=False, auth=('robot', 's38*Cqy2L*PB'), timeout=(10, 120))
print(result.text)
print('#################')
except Exception as e:
requests.get(f'https://api.telegram.org/bot5374522720:AAGoNUYCEyJ-7-bSAQPT7aV_W2GWcinnkQU/sendMessage?parse_mode=HTML&chat_id=394151541&text=<b>Taxcom:</b>\n{e}')
print('#################')
print('#################')
print('#################')
sleep(120)