Open Nedevski opened 2 weeks ago
КАТ са имплементирали и rate limiting след 10 заявки в рамките на минута.
При достигането му се връща нормална HTML страница с toast error message. Предполагам може да се валидира по Content-Type
?
EDIT: Добра шега, държавен сайт да връща Content-Type
headers. Няма никаква информация за върнатия тип на данни, явно ще се проверява просто с проверка дали е валиден JSON. Така или иначе не би трябвало да има проблем за тази грешка, не мисля че някой има нужда от проверка на по-често от 30 мин или час.
// Валидни данни, без глоби
{
"obligationsData": [
{
"unitGroup": 1,
"errorNoDataFound": false,
"errorReadingData": false,
"obligations": []
},
{
"unitGroup": 2,
"errorNoDataFound": false,
"errorReadingData": false,
"obligations": []
}
]
}
// Невалидно ЕГН или номер СУМПС
{
"obligationsData": [
{
"unitGroup": 1,
"errorNoDataFound": true,
"errorReadingData": false,
"obligations": []
},
{
"unitGroup": 2,
"errorNoDataFound": true,
"errorReadingData": false,
"obligations": []
}
]
}
// Два фиша, връчени - липса на преглед и неправилно изпреварване - серия GT
{
"obligationsData": [
{
"unitGroup": 1,
"errorNoDataFound": false,
"errorReadingData": false,
"obligations": [
{
"status": 0,
"amount": 50,
"discountAmount": 50,
"bankName": "\"ОББ\" АД",
"bic": "UBBSBGSF",
"iban": "BG22UBBS88883122944101",
"paymentReason": "ФИШ СЕРИЯ GT 1234*** 29.07.2024",
"pepCin": "epayments_ais_client_{GUID}",
"expirationDate": "2024-08-26T23:59:59",
"obligationDate": "2024-08-26T00:00:00",
"obligationIdentifier": "KAT|TICKET|18646***",
"type": 2,
"serviceID": 349,
"additionalData": {
"isServed": "True",
"discount": "0",
"documentType": "TICKET",
"documentSeries": "GT",
"documentNumber": "3375***",
"documentIdentifier": "17455***",
"amount": "50",
"issueDate": "2024-07-29",
"obligedPersonIdent": "880101****",
"obligedPersonIdentType": "person",
"vehicleNumber": "PВ0000AA",
"breachDate": "2024-07-29",
"breachOfOrder": "чл. 147, ал. 1, от ЗДвП"
},
"andSourceId": 1
},
{
"status": 0,
"amount": 20,
"discountAmount": 16,
"bankName": "\"ОББ\" АД",
"bic": "UBBSBGSF",
"iban": "BG22UBBS88883122944101",
"paymentReason": "ФИШ СЕРИЯ GT 1234*** 24.08.2024",
"pepCin": "epayments_ais_client_{GUID}",
"expirationDate": "2024-08-26T23:59:59",
"obligationDate": "2024-08-26T00:00:00",
"obligationIdentifier": "KAT|TICKET|18912***",
"type": 2,
"serviceID": 349,
"additionalData": {
"isServed": "True",
"discount": "20",
"documentType": "TICKET",
"documentSeries": "GT",
"documentNumber": "3221***",
"documentIdentifier": "13815***",
"amount": "20",
"issueDate": "2024-08-24",
"obligedPersonIdent": "880101****",
"obligedPersonIdentType": "person",
"vehicleNumber": "PВ0000AA",
"breachDate": "2024-08-24",
"breachOfOrder": "чл. 6, т. 1, от ЗДвП"
},
"andSourceId": 1
}
]
},
{
"unitGroup": 2,
"errorNoDataFound": false,
"errorReadingData": false,
"obligations": []
}
]
}
// НЕвръчени глоби за скорост - серия K
{
"obligationsData": [
{
"unitGroup": 1,
"errorNoDataFound": false,
"errorReadingData": false,
"obligations": [
{
"status": 0,
"amount": 100,
"discountAmount": 70,
"bankName": "БНБ",
"bic": "BNBGBGSD",
"iban": "BG64BNBG96613100147701",
"paymentReason": "ЕЛ.ФИШ СЕРИЯ K 0000000 29.03.2024",
"pepCin": "epayments_ais_client_GUID",
"expirationDate": "2024-08-26T23:59:59",
"obligationDate": "2024-08-26T00:00:00",
"obligationIdentifier": "KAT|TICKET|17720000",
"type": 2,
"serviceID": 349,
"additionalData": {
"discount": "30",
"documentType": "TICKET",
"documentSeries": "K",
"documentNumber": "0000000",
"documentIdentifier": "99999999",
"amount": "100",
"issueDate": "2024-03-29",
"obligedPersonIdent": "970101****",
"obligedPersonIdentType": "person",
"vehicleNumber": "PB 0000 АА",
"breachDate": "2024-01-25",
"breachOfOrder": "чл. 21, ал. 1, от ЗДвП"
},
"andSourceId": 1
},
{
"status": 0,
"amount": 200,
"discountAmount": 140,
"bankName": "БНБ",
"bic": "BNBGBGSD",
"iban": "BG64BNBG96613100147701",
"paymentReason": "ЕЛ.ФИШ СЕРИЯ K 0000000 03.04.2024",
"pepCin": "epayments_ais_client_GUID",
"expirationDate": "2024-08-26T23:59:59",
"obligationDate": "2024-08-26T00:00:00",
"obligationIdentifier": "KAT|TICKET|17740000",
"type": 2,
"serviceID": 349,
"additionalData": {
"discount": "30",
"documentType": "TICKET",
"documentSeries": "K",
"documentNumber": "0000000",
"documentIdentifier": "99999999",
"amount": "200",
"issueDate": "2024-04-03",
"obligedPersonIdent": "970101****",
"obligedPersonIdentType": "person",
"vehicleNumber": "PB 0000 АА",
"breachDate": "2022-11-03",
"breachOfOrder": "чл. 21, ал. 1, от ЗДвП"
},
"andSourceId": 1
},
{
"status": 0,
"amount": 100,
"discountAmount": 70,
"bankName": "БНБ",
"bic": "BNBGBGSD",
"iban": "BG64BNBG96613100147701",
"paymentReason": "ЕЛ.ФИШ СЕРИЯ K 0000000 06.04.2024",
"pepCin": "epayments_ais_client_GUID",
"expirationDate": "2024-08-26T23:59:59",
"obligationDate": "2024-08-26T00:00:00",
"obligationIdentifier": "KAT|TICKET|17820000",
"type": 2,
"serviceID": 349,
"additionalData": {
"discount": "30",
"documentType": "TICKET",
"documentSeries": "K",
"documentNumber": "0000000",
"documentIdentifier": "99999999",
"amount": "100",
"issueDate": "2024-04-06",
"obligedPersonIdent": "970101****",
"obligedPersonIdentType": "person",
"vehicleNumber": "PB 0000 АА",
"breachDate": "2023-12-30",
"breachOfOrder": "чл. 21, ал. 1, от ЗДвП"
},
"andSourceId": 1
},
{
"status": 0,
"amount": 50,
"discountAmount": 35,
"bankName": "БНБ",
"bic": "BNBGBGSD",
"iban": "BG64BNBG96613100147701",
"paymentReason": "ЕЛ.ФИШ СЕРИЯ K 0000000 08.04.2024",
"pepCin": "epayments_ais_client_GUID",
"expirationDate": "2024-08-26T23:59:59",
"obligationDate": "2024-08-26T00:00:00",
"obligationIdentifier": "KAT|TICKET|17830000",
"type": 2,
"serviceID": 349,
"additionalData": {
"discount": "30",
"documentType": "TICKET",
"documentSeries": "K",
"documentNumber": "0000000",
"documentIdentifier": "99999999",
"amount": "50",
"issueDate": "2024-04-08",
"obligedPersonIdent": "970101****",
"obligedPersonIdentType": "person",
"vehicleNumber": "PB 0000 АА",
"breachDate": "2023-08-05",
"breachOfOrder": "чл. 21, ал. 1, от ЗДвП"
},
"andSourceId": 1
},
{
"status": 0,
"amount": 50,
"discountAmount": 35,
"bankName": "БНБ",
"bic": "BNBGBGSD",
"iban": "BG64BNBG96613100147701",
"paymentReason": "ЕЛ.ФИШ СЕРИЯ K 0000000 21.04.2024",
"pepCin": "epayments_ais_client_GUID",
"expirationDate": "2024-08-26T23:59:59",
"obligationDate": "2024-08-26T00:00:00",
"obligationIdentifier": "KAT|TICKET|17920000",
"type": 2,
"serviceID": 349,
"additionalData": {
"discount": "30",
"documentType": "TICKET",
"documentSeries": "K",
"documentNumber": "0000000",
"documentIdentifier": "99999999",
"amount": "50",
"issueDate": "2024-04-21",
"obligedPersonIdent": "970101****",
"obligedPersonIdentType": "person",
"vehicleNumber": "PB 0000 АА",
"breachDate": "2023-10-13",
"breachOfOrder": "чл. 21, ал. 1, от ЗДвП"
},
"andSourceId": 1
},
{
"status": 0,
"amount": 100,
"discountAmount": 70,
"bankName": "БНБ",
"bic": "BNBGBGSD",
"iban": "BG64BNBG96613100147701",
"paymentReason": "ЕЛ.ФИШ СЕРИЯ K 0000000 21.04.2024",
"pepCin": "epayments_ais_client_GUID",
"expirationDate": "2024-08-26T23:59:59",
"obligationDate": "2024-08-26T00:00:00",
"obligationIdentifier": "KAT|TICKET|17920000",
"type": 2,
"serviceID": 349,
"additionalData": {
"discount": "30",
"documentType": "TICKET",
"documentSeries": "K",
"documentNumber": "0000000",
"documentIdentifier": "99999999",
"amount": "100",
"issueDate": "2024-04-21",
"obligedPersonIdent": "970101****",
"obligedPersonIdentType": "person",
"vehicleNumber": "PB 0000 АА",
"breachDate": "2023-09-05",
"breachOfOrder": "чл. 21, ал. 2, от ЗДвП"
},
"andSourceId": 1
}
]
},
{
"unitGroup": 2,
"errorNoDataFound": false,
"errorReadingData": false,
"obligations": []
}
]
}
// още НЕвръчени глоби за скорост - серия K
{
"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": []
}
]
}
Ще използвам това issue като дневник за различните отговори, които връщат КАТ.