Closed programozas closed 6 months ago
Kedves @programozas !
A feltett kérdés megválaszolása véleményem szerint nem a jelen PHP csomag fejlesztőjének feladata. Amennyiben kérdése van az API működésével kapcsolatban, úgy a dokumentációt megtalálja itt: https://onlineszamla.nav.gov.hu/dokumentaciok
Jelen PHP csomag az API kommunikácót hivatott segíteni, de az API által adott a tartalomra vonatkozó hibajelzések kezelése nem a feladata.
Az API dokumentáció viszont valóban sokat segíthet a hibaüzenetek megértésében, Tartalmi hibák esetén pedig az API válaszában szerepel a hiba helye is, hogy konkrétan melyik mezővel és értékkel van problémája. Ezeket érdemes elolvasni.
Említette, hogy vannak ügyfelek, akik nem ellenőrzik az adatbeküldést. Ezzel kapcsolatban világosan fogalmaz a dokumentáció, mert azt írja, hogy minden esetben ellenőrizni kell a beküldést és le kell kérdezni a státuszát.
A dokumentációból:
OPERATION_FAILED
Feldolgozási hibák |
# | HTTP válasz | Response body | funcCode | errorCode | requestVersion |
---|---|---|---|---|---|---|
1 | HTTP 500 INTERNAL_SERVER_ERROR | GeneralErrorResponse | ERROR | OPERATION_FAILED | 1.0 |
Hibaeset, teendők | # | Hiba oka | Teendő |
---|---|---|---|
1 | váratlan feldolgozási hiba | Az aszinkron műveletek hibatűrése szerver oldalon biztosított. A szóban forgó hiba csak szinkronhívásoknál jelentkezhet, ilyenkor a műveletet kis idő elteltével meg kell ismételni. Ha az éles rendszerben többszöri próbálkozásra sem sikerül a művelet, fel kell venni a kapcsolatot a NAV helpdeskkel, azonban célszerű előtte tájékozódni, hogy a portál oldalon nincs-e üzemszünettel, üzemzavarral kapcsolatos tájékoztatás. Felhívjuk a figyelmet, hogy a felhasználói teszt rendszerben nincs garantált rendelkezésre állás, ezért kérjük, hogy a tesztrendszer hibáit ne jelentsék be! (A hibakód továbbá akkor is jelentkezhet, ha egy request nem a megfelelő operáció végpontjára van beküldve, például egy sémavalid számla beküldése a /manageInvoice helyett a /queryTaxpayer végpontra történik.) |
Ezzel nem igen lehet mit kezdeni, újra kell próbálni a kommunikációt.
A dokumentációban megtalálható a többi hibakód is.
INVOICE_NUMBER_NOT_UNIQUE
Az invoiceNumber mezőben szereplő számlasorszámon az adózó már teljesített adatszolgáltatást. A számlasorszámnak adózónként egyedinek kell lennie! Ebbe nem számítanak bele a technikailag érvénytelenített számlák, de csak akkor, ha a technikai érvénytelenítést az adózó már jóváhagyta!
Ezesetben nem elegendő csak letiltani az újraküldést, mivel ellenőrizni is kell a már felköldött számlát. A tranzakció ID megszerzéséhez a queryInvoiceData
funkciót használhatja, amivel a számlaszám alapján lekérdezhetők a már beküldött számla adatai (ha beküldésnél valamilyen probléma lépett fel és emiatt nem tudta megszerezni a tranzakció azonosítót).
A másik megoldás a technikai érvénytelenítés lehet, de nem feltétlenül ez a jó eljárás.
És többi problémával így tovább...
@hNczy , köszönöm, hogy válaszoltál! Pontosan így van!
Jövedéki termékekkel foglalkozó ügyfeleink vannak országosan, az ő ügyviteli rendszerüket programozzuk. A nav 2024 1.negyedévre vonatkozóan kiküld egy levelet. A probléma alapvetően hogy bizonyos ügyfelek nem ellenörzik a küldés helyességét. Az internetes rendelkezésre állás ugye nem 100%-os. Természetesen mi növeljük a validálást küldés előtt, valamint lehetőség van a már beküldött adatok lekérdezésére a helyesség ellenörzésére a programunkban. Az eset számot megkapjuk egy táblázatban, viszont jó lenne ha kokretizálnának is egy egy kicsit például számlaszámmal, így sokkal gyorsabb lenne megtalálni hogy melyik számlákat kellene esetleg sztornózni vagy tecnikailag érvényteleníteni
OPERATION_FAILED - Konrétabban hogy mire ? INVOICE_NUMBER_NOT_UNIQUE - Az esetek többségében újraküldi ugynazt a számlaszámot (itt a későbbiekben letiltjuk az újraküldést) INVALID_INVOICE_REFERENCE - Általában az ügyfél figyelmetlensége miatt rossz hivatkozási számot ír MODIFICATION_INDEX_NOT_UNIQUE - Nem jó sorra hivatkozik ? INCORRECT_SUMMARY_DATA_INVOICE_NET_AMOUNT - Kerekítési gond ? INCORRECT_HEAD_DATA_CUSTOMER_TAX_NUMBER - Egy adószámot egyszerű validálni, esetleg abban tudnak segíteni hogy hol lehet elérni a neten egy frissített, érvénnyes adószámlistát ? INCORRECT_HEAD_DATA_CUSTOMER_TAXPAYERID - ? SCHEMA_VIOLATION - Kicsit konkrétabban ?
A segítséget előre is köszönöm !