From b4b8e1b7c72468d7d2f744414f4de487558b1cf9 Mon Sep 17 00:00:00 2001 From: Andrey Seligenenko Date: Thu, 3 Jul 2025 11:41:30 +0300 Subject: [PATCH] =?UTF-8?q?=D0=9F=D0=BE=D0=BB=D1=83=D1=87=D0=B5=D0=BD?= =?UTF-8?q?=D0=B8=D0=B5=20=D1=87=D0=B5=D0=BA=D0=BE=D0=B2=20=D0=B8=20=D0=B7?= =?UTF-8?q?=D0=B0=D0=B3=D1=80=D1=83=D0=B7=D0=BA=D0=B0=20=D0=B2=201=D0=A1?= =?UTF-8?q?=20=D0=BF=D0=BE=20=D0=B8=D0=B7=D0=B1=D1=80=D0=B0=D0=BD=D0=BD?= =?UTF-8?q?=D0=BE=D0=B9=20=D1=82=D0=BE=D1=87=D0=BA=D0=B5=20=D0=BF=D1=80?= =?UTF-8?q?=D0=BE=D0=B4=D0=B0=D0=B6=20=D0=B8=D0=BB=D0=B8=20=D1=81=D0=BC?= =?UTF-8?q?=D0=B5=D0=BD=D0=B5?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- taxcom_maverik_revers.py | 61 +++++++++++++++++++++++++++++++++++ taxcom_revers.py | 69 ++++++++++++++++++++++++++++++++++++++++ 2 files changed, 130 insertions(+) create mode 100644 taxcom_maverik_revers.py create mode 100644 taxcom_revers.py diff --git a/taxcom_maverik_revers.py b/taxcom_maverik_revers.py new file mode 100644 index 0000000..8a2ac56 --- /dev/null +++ b/taxcom_maverik_revers.py @@ -0,0 +1,61 @@ +import json, requests +from datetime import datetime +from time import sleep + +ID = [ + ('7385440800019283','c9722276-9dce-11ef-86ff-8a456ecaea20','Хабаровск'), + # ('9961440300761252','34dfe5e2-9f7c-11ec-ed95-0cc47ab40806','Комсомольск_на_Амуре'), + # ('7385440800015768','7f8bb0cc-d7a5-11ee-85fe-8a456ecaea20','Береста 6'), + ] + +# while True: +CurDate = datetime(2025,6,13).date() +prevDate = datetime(2025,6,13).date() +try: + for fn, salepoint, kassa in ID: + data = {"salepoint": salepoint} + data = json.dumps(data, ensure_ascii=False).encode('utf8') + # result = requests.post('https://1c.maverik.ru/bso_maverik/hs/exchange/GetTaxcomCredentials', data=data, verify=False, allow_redirects=False, auth=('robot', 's38*Cqy2L*PB')) + print(fn, salepoint) + headers = { + "Content-Type": "application/json", + "Integrator-ID": "BFFFC47E-38BB-4845-8399-7C2F5AB11A3C" + } + data = { + "Login": "myasnikova@maverik.ru", + "Password": "qolabuyi" + } + result = requests.post('https://api-lk-ofd.taxcom.ru/API/v2/Login', headers=headers, data=json.dumps(data), timeout=(20, 240)) + print(result.text) + sessionToken = result.json()['sessionToken'] + headers = { + "Content-Type":"application/json", + "Session-Token": f"{sessionToken}" + } + print('Autorezation') + print(result.text) + try: + print('check 1') + 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)) + print(result.text) + shiftNumber = result.json()['records'][0]['shiftNumber'] + fnFactoryNumber = result.json()['records'][0]['fnFactoryNumber'] + except Exception as e: + print(e) + result = requests.get(f'https://api-lk-ofd.taxcom.ru/API/v2/DocumentList?fn={fn}&shift={shiftNumber}&type=3', headers=headers, timeout=(20, 240)) + # result = requests.get(f'https://api-lk-ofd.taxcom.ru/API/v2/DocumentList?fn={fn}&shift=27&type=3', headers=headers, timeout=(20, 240)) + cheks = result.json()['records'] + print(cheks) + data = {"salepoint": salepoint, + "res": str(cheks)} + data = json.dumps(data, ensure_ascii=False).encode('utf-8') + print(data) + result = requests.post('http://10.15.0.3/bso_maverik/hs/exchange/saveTaxcomDocs', data=data, allow_redirects=False, auth=('robot', 's38*Cqy2L*PB')) + # result = requests.post('https://1c.maverik.ru/bso_maverik/hs/exchange/saveTaxcomDocs', data=data, allow_redirects=False, auth=('robot', 's38*Cqy2L*PB')) + print('1C: ', result.text) + print(fn, salepoint, kassa) +except Exception as e: + print(e) +print('#################') +print('#################') +print('#################') \ No newline at end of file diff --git a/taxcom_revers.py b/taxcom_revers.py new file mode 100644 index 0000000..d80fef2 --- /dev/null +++ b/taxcom_revers.py @@ -0,0 +1,69 @@ +import json, requests +from datetime import datetime +from time import sleep + +# ID = [('7381440900834264','691807dd-2629-11e9-993e-f06a44526bea','Волгоград_Еременко'),] +# ID = [('7381440900835933','ee3baf4d-d98d-11e6-b191-e83935b036c7','Новороссийск'),] +# ID = [('7381440800374463','ad06d608-b690-11ed-87bd-0cc47ab40806','Самара_Кирова_виваленде '),] +# ID = [('7381440900834264','691807dd-2629-11e9-993e-f06a44526bea','Волгоград_Еременко'),] +ID = [('7381440800374463','ad06d608-b690-11ed-87bd-0cc47ab40806','Самара_Кирова_виваленде'),] +# ID = [('7381440900836042','147c9228-3d13-11ef-94eb-8a456ecaea20','Крымск_Синева'),] +# ID = [('9961440300763405','030c75c2-2f29-11eb-119f-0cc47ab40806','Волгоград_Энгельса'),] +# ID = [('7381440900836108','b4280c16-2629-11e9-993e-f06a44526bea','Краснодар_Привокзальная'),] +# ID = [('7381440900836108','b50bc5a3-12e1-11e5-9265-e83935b036c7','Краснодар_Привокзальная'),] + +# while True: +CurDate = datetime(2025,7,2).date() +prevDate = datetime(2025,7,2).date() +try: + # for taxcom in ID: + # fn = taxcom.partition(',')[0] + # salepoint = taxcom.partition(',')[2] + taxcom = ID[0] + fn = taxcom[0] + salepoint = taxcom[1] + data = {"salepoint": salepoint} + data = json.dumps(data, ensure_ascii=False).encode('utf8') + # result = requests.post('https://1c.maverik.ru/bso_maverik/hs/exchange/GetTaxcomCredentials', data=data, verify=False, allow_redirects=False, auth=('robot', 's38*Cqy2L*PB')) + print(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}" + } + print('Autorezation') + print(result.text) + try: + print('check 1') + 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)) + print(result.text) + shiftNumber = result.json()['records'][0]['shiftNumber'] + fnFactoryNumber = result.json()['records'][0]['fnFactoryNumber'] + except Exception as e: + print(e) + result = requests.get(f'https://api-lk-ofd.taxcom.ru/API/v2/DocumentList?fn={fn}&shift={shiftNumber}&type=3', headers=headers, timeout=(20, 240)) + # result = requests.get(f'https://api-lk-ofd.taxcom.ru/API/v2/DocumentList?fn={fn}&shift=133&type=3', headers=headers, timeout=(20, 240)) + cheks = result.json()['records'] + print(cheks) + data = {"salepoint": salepoint, + "res": str(cheks)} + data = json.dumps(data, ensure_ascii=False).encode('utf-8') + print('54') + # print(ID[0]) + result = requests.post('https://1c.maverik.ru/bso_maverik/hs/exchange/saveTaxcomDocs', data=data, allow_redirects=False, auth=('robot', 's38*Cqy2L*PB')) + print(result.text) + print(fn, salepoint, taxcom[2]) +except Exception as e: + print(e) +print('#################') +print('#################') +print('#################') \ No newline at end of file