Open BKirev opened 2 months ago
Не би трябвало да работи нормално? След ъпдейта на КАТ се промени модела на целия отговор..
Отделно от това се говореше, че при проверка онлайн ще се броят за връчени всички глоби и фишове, затова просто реших че автоматична проверка на всеки Х минути не е много добра идея.
Прилагам примерните формати:
Стар формат | Нов формат |
---|---|
Ако действително при наличие на глоби те не се броят на връчени, предполагам е дошло време за пренаписване както на библиотеката, така и на интеграцията.
Единственото което ми трябва са примерни JSONs от КАТ. Нямам идея какво са UnitGroup: 1
и UnitGroup: 2
. Предполагам са глоби за скорост и глоби за паркиране, но трябва да се провери.
Бих се радвал да отвориш следния адрес, като замениш EGN_GOES_HERE
и SUMPS_GOES_HERE
с твоите данни, след което да качиш отговора тук (естествено след редактиране на всякакви лични данни)
https://e-uslugi.mvr.bg/api/Obligations/AND?obligatedPersonType=1&additinalDataForObligatedPersonType=1&mode=1&obligedPersonIdent=EGN_GOES_HERE&drivingLicenceNumber=SUMPS_GOES_HERE
Оттам нататък ще видим какво мога да направя.
Здравей!
Под 'работи нормално', имах предвид, че получавам response. Не съм се изразил правилно.
Отделно от това се говореше, че при проверка онлайн ще се броят за връчени всички глоби и фишове, затова просто реших че автоматична проверка на всеки Х минути не е много добра идея.
Да се надяваме, че няма да решат да имплементират нещо подобно, тъй като някой може да реши да направи "услуга" на друг човек или група от хора. Въпреки че са необходими лични данни(ЕГН, рег. номер на автомобил/СУМПС) за проверката, знаем колко "добре" се пазят.
Макар че тази
"expirationDate": "2024-08-27T23:59:59",
"obligationDate": "2024-08-27T00:00:00",
част изглежда малко плашеща, понеже не съм я забелязвал до момента. Утре ще разберем дали всъщност прави нещо или само 'плаши гаргите', което е по-вероятно.
Ето и response с новия формат и стари(невръчени) фишове:
{
"obligationsData": [
{
"unitGroup": 1,
"errorNoDataFound": false,
"errorReadingData": false,
"obligations": [
{
"status": 0,
"amount": 50,
"discountAmount": 35,
"bankName": "БНБ",
"bic": "BNBGBGSD",
"iban": "BG64BNBG96613100147701",
"paymentReason": "ЕЛ.ФИШ СЕРИЯ K XXXXXXX 08.10.2022",
"pepCin": "epayments_ais_client_521007bd-xxxx-xxxx-xxxx-xxxxxxxxxxx",
"expirationDate": "2024-08-27T23:59:59",
"obligationDate": "2024-08-27T00:00:00",
"obligationIdentifier": "KAT|TICKET|xxxxxxxx",
"type": 2,
"serviceID": 349,
"additionalData": {
"discount": "30",
"documentType": "TICKET",
"documentSeries": "K",
"documentNumber": "XXXXXXX",
"documentIdentifier": "xxxxxxxx",
"amount": "50",
"issueDate": "2022-10-08",
"obligedPersonIdent": "**********",
"obligedPersonIdentType": "person",
"vehicleNumber": "X XXXX XX",
"breachDate": "2022-07-17",
"breachOfOrder": "чл. 21, ал. 2, от ЗДвП"
},
"andSourceId": 1
},
{
"status": 0,
"amount": 50,
"discountAmount": 35,
"bankName": "БНБ",
"bic": "BNBGBGSD",
"iban": "BG64BNBG96613100147701",
"paymentReason": "ЕЛ.ФИШ СЕРИЯ K xxxxxxxx 18.10.2023",
"pepCin": "epayments_ais_client_521007bd-xxxx-xxxx-xxxx-xxxxxxxxxxx",
"expirationDate": "2024-08-27T23:59:59",
"obligationDate": "2024-08-27T00:00:00",
"obligationIdentifier": "KAT|TICKET|xxxxxxxx",
"type": 2,
"serviceID": 349,
"additionalData": {
"discount": "30",
"documentType": "TICKET",
"documentSeries": "K",
"documentNumber": "xxxxxxxx",
"documentIdentifier": "xxxxxxxx",
"amount": "50",
"issueDate": "2023-10-18",
"obligedPersonIdent": "**********",
"obligedPersonIdentType": "person",
"vehicleNumber": "XXXXXXX",
"breachDate": "2023-09-19",
"breachOfOrder": "чл. 21, ал. 2, от ЗДвП"
},
"andSourceId": 1
}
]
},
{
"unitGroup": 2,
"errorNoDataFound": false,
"errorReadingData": false,
"obligations": []
}
]
}
Ето нещо набързо, което се надявам да помогне за py_kat_bulgaria, съответно и за тази интеграция: https://github.com/Nedevski/py_kat_bulgaria/pull/3
ПП: Не handle-вам "unitGroup": 2 към момента, защото нямам представа какво ще има там. Но определено трябва да се погледне, защото в текущия си вид pull заявката върши работа само за "unitGroup": 1
Прегледах PR-а, но мисля че библиотеката ще иска малко по-сериозно преправяне.
Относно unitGroup: 2
- теорията ми е че там отиват фишовете за неправилно паркиране, но докато не намеря човек с такъв фиш не мога да съм сигурен. Не искам да започвам нищо преди да съм сигурен, защото ако съм прав ще може да се връщат по-подробни резултати, включително в HomeAssistant.
В момента се опитвам да събера колкото мога повече JSONs от различни хора с нарушения, отворил съм issue в основната библиотека и ги слагам там, включително твоя.
Отделно от това с предишното им API имаше проблеми и падаше по 5-10 пъти на ден за по няколко минути. За тази цел имам един отделен проект който преди бях оставил няколко седмици да върви и да записва получените данни на всеки 5 мин. Това е за да се подсигури библиотеката спрямо очаквани грешки, в старата версия имаше 2 различни.
Ех, чак ме хвана яд сега, защото през месец-два ми пишат фишове, че спирам пред гаража(тротоар, общинска земя). Ще се постарая да намеря и аз някой с такъв фиш, за да видя JSON response-а. В най-лошия случай ще се прежаля за поредния фиш за неправилно паркиране.
Здравейте!
Тествах py_kat_bulgaria и изглежда, че работи нормално към момента.
Относно
Фиша е "проверяван" многократно както през уеб интерфейса, така и през скрипт. Както се вижда, отстъпката си остава.
Има ли нещо друго, което възпрепятства работата на интеграцията?