Coduri Eroare

Această secțiune oferă o referință comprehensivă a tuturor codurilor de eroare care pot fi returnate de driverul FisCool. Înțelegerea acestor coduri este crucială pentru construirea integrărilor robuste și implementarea gestionării corecte a erorilor.

Format Răspuns Eroare

Toate API-urile returnează erorile într-un format JSON consistent:

{
  "status": 500,                    // Cod eroare specific aplicației
  "error": "Lipsă hârtie în imprimantă."  // Mesaj eroare prietenos utilizatorului (de obicei română)
}

Notă: Codurile de stare HTTP din antete urmează convențiile REST, în timp ce câmpul status din corpul JSON oferă clasificarea erorilor specifice aplicației.

Erori Aplicație (1000-1999)

Aceste erori apar la nivelul aplicației, înainte de comunicarea cu dispozitivul sau în timpul procesării interne.

Cod Tip Eroare Descriere Stare HTTP Cauze Comune
400 Config Eroare configurație în cerere sau setare dispozitiv 400 Bad Request Configurație dispozitiv invalidă, parametri malformați
404 DeviceNotFound Dispozitivul specificat nu poate fi găsit 404 Not Found Device_id invalid, dispozitiv neConfigurat, dispozitiv deconectat
1000 Internal A apărut o eroare internă de server 500 Internal Server Error Erori runtime neașteptate, defecțiuni sistem
1001 Persistence Eroare citire din sau scriere pe disc 500 Internal Server Error Erori sistem fișiere, probleme permisiuni, disc plin
1002 Serialization Eroare serializare sau deserializare date 500 Internal Server Error Erori parsare JSON, probleme format date
1003 ApiServer Eroare server API HTTP 500 Internal Server Error Erori framework Rocket, probleme pornire server
1004 Connection Eroare conexiune înainte de comunicarea cu dispozitivul 503 Service Unavailable Conexiune TCP eșuată, port serial indisponibil, probleme rețea
1005 Internet Problemă conectivitate rețea sau internet 502 Bad Gateway Conexiune internet pierdută, rezolvare DNS eșuată
1006 Update Eroare în timpul procesului de actualizare 503 Service Unavailable Server actualizare indisponibil, fișiere actualizare corupte
1007 SecretDataCorrupted Datele secrete au fost compromise 500 Internal Server Error Corupție fișier configurație, breșă securitate
1008 Unlicensed Dispozitivul nu este licențiat 403 Forbidden Licență expirată, cheie licență invalidă
1009 LicenseCorruption Datele licenței au fost compromise 403 Forbidden Corupție fișier licență, breșă securitate
1010 Network Eroare rețea generală 502 Bad Gateway Timeout rețea, conexiune resetată
1011 Crypto Eroare operațiune criptografică 500 Internal Server Error Criptare/decriptare eșuată, probleme chei
1012 LicenseCheckFailed Verificarea online a licenței a eșuat 503 Service Unavailable Server licență indisponibil, probleme rețea
1013 StartupError Eroare în timpul pornirii aplicației 500 Internal Server Error Inițializare serviciu eșuată, probleme dependențe
1014 NotSupported Operațiunea nu este suportată de dispozitiv 501 Not Implemented Funcționalitate nedisponibilă pe modelul dispozitivului, operațiune nesuportată

Erori Dispozitive Fiscale (500-599)

Aceste erori sunt raportate de dispozitivele fiscale și reprezintă probleme hardware, de stare sau operaționale.

Erori Hardware și Stare (500-519)

Cod Eroare Mesaj Română Rezoluție
500 NoPaper Lipsă hârtie în imprimantă. Încărcați rola de hârtie, verificați calea hârtiei
501 NearPaperEnd Rola de hârtie este aproape goală. Înlocuiți rola de hârtie în curând
502 CoverOpen Capacul imprimantei este deschis. Închideți capacul dispozitivului corespunzător
503 PrinterMechanismFailure Eroare mecanică imprimantă. Verificați obstrucțiile mecanice, necesită service
504 CutterError Eroare la tăietorul de hârtie. Îndepărtați blocajul hârtiei, verificați mecanismul tăietor
505 DeviceBusy Dispozitivul este ocupat. Încercați din nou. Așteptați și reîncercați, verificați operațiunile în curs
506 ClockError Eroare ceas intern dispozitiv. Sincronizați ora dispozitivului, verificați bateria internă
507 LowBattery Baterie descărcată. Conectați la alimentare, înlocuiți bateria backup
508 GeneralDeviceError Eroare generală dispozitiv Verificați conexiunea dispozitivului, reporniți dispozitivul
509 GeneralDeviceErrorMessage Mesaj eroare specific dispozitivului Consultați manualul dispozitivului pentru eroarea specifică

Erori Memorie Fiscală și Jurnal Electronic (520-529)

Cod Eroare Mesaj Română Rezoluție
520 FiscalMemoryFull Memoria fiscală este plină. Necesară înlocuirea dispozitivului, contactați autoritățile fiscale
521 FiscalMemoryError Eroare citire/scriere memorie fiscală. Necesită service, posibilă defecțiune hardware
522 FiscalMemoryNearFull Memoria fiscală este aproape plină. Planificați înlocuirea dispozitivului, monitorizați utilizarea
523 EJFull Jurnalul electronic este plin. Exportați și arhivați datele EJ, curățați dacă posibil
524 EJError Eroare jurnal electronic. Verificați starea EJ, poate fi necesar service
525 EJNearFull Jurnalul electronic este aproape plin. Exportați datele EJ regulat, monitorizați spațiul

Erori Operaționale (530-549)

Cod Eroare Mesaj Română Rezoluție
530 ReceiptOpen Există deja un bon fiscal deschis. Anulați-l sau finalizați-l. Anulați sau finalizați bonul curent
531 ReceiptNotOpen Niciun bon fiscal deschis pentru această operațiune. Deschideți un bon nou înainte de a adăuga articole
532 DayClosed Raportul Z a fost deja emis. Deschideți o nouă zi fiscală. Așteptați ziua fiscală următoare sau deschideți zi nouă
533 DayNotClosed Ziua fiscală nu este închisă (Raport Z neemis). Tipăriți raportul Z pentru a închide ziua fiscală
534 DailyLimitReached Limită zilnică atinsă Tipăriți raportul Z, așteptați ziua fiscală următoare
535 TimeNeedsSync Data/ora dispozitivului necesită sincronizare. Sincronizați ora dispozitivului cu ora sistemului
536 CashLow Fonduri insuficiente în casă pentru extragere. Adăugați numerar în sertar sau reduceți suma retragerii
537 InvalidAmount Sumă invalidă pentru operațiune (ex: zero). Folosiți sumă validă mai mare decât zero
538 NotFiscalized Dispozitivul nu este fiscalizat. Fiscalizați dispozitivul prin tehnician autorizat
539 DailyReportingRequired Este necesară emiterea raportului Z. Tipăriți raportul Z obligatoriu
540 InvalidVatRate Cotă TVA invalidă sau inactivă pe dispozitiv. Folosiți cotă TVA validă configurată pe dispozitiv
541 OperationNotPermitted Operațiune nepermisă în starea curentă. Verificați starea dispozitivului și secvența operațiunilor
542 BlockingPeriodActive Dispozitiv blocat temporar (ex: 24h fără comunicare). Mențineți comunicarea regulată, urmați procedura de deblocare
543 TooManyArticlesOnReceipt Prea multe articole pe bonul fiscal. Împărțiți tranzacția în mai multe bonuri
544 ZNeeded Este necesar să se tipărească raportul Z. Tipăriți raportul Z înainte de a continua

Erori Comandă și Sintaxă (550-559)

Cod Eroare Mesaj Română Rezoluție
550 InvalidCommand Comandă invalidă pentru dispozitiv. Folosiți comenzi suportate pentru acest model de dispozitiv
551 InvalidSyntaxOrParam Sintaxă sau parametru invalid pentru comandă. Verificați formatul și valorile parametrilor
552 WrongOperatorPassword Parolă operator incorectă. Folosiți parola corectă de operator
599 Other Eroare specifică dispozitivului cu codul original Consultați manualul dispozitivului pentru codul specific de eroare

Erori Terminal POS (600-619)

Aceste erori sunt specifice operațiunilor terminalelor POS și procesării cardurilor.

Cod Eroare Mesaj Română Rezoluție
600 PosDeclinedGeneric Tranzacție POS refuzată. Verificați validitatea cardului, încercați metodă de plată diferită
601 PosDeclinedInsufficientFunds Tranzacție POS refuzată: Fonduri insuficiente. Clientul trebuie să folosească alt card sau metodă de plată
602 PosDeclinedCardExpired Tranzacție POS refuzată: Card expirat. Clientul trebuie să folosească un card valid, neexpirat
603 PosDeclinedIncorrectPin Tranzacție POS refuzată: PIN incorect. Clientul ar trebui să reîncerce cu PIN-ul corect
604 PosTransactionCancelled Tranzacție POS anulată. Tranzacția a fost anulată de utilizator sau sistem
605 PosTimeoutWaitingResponse Tranzacție POS eșuată: Timp de așteptare răspuns depășit. Verificați conexiunea terminalului, reîncercați tranzacția
606 PosCommunicationError Eroare de comunicație cu terminalul POS. Verificați conexiunea și cablurile terminalului
607 PosTransactionReversed Tranzacție POS inversată (ex: refuz semnătură). Tranzacția a fost inversată din cauza refuzului semnăturii sau altă problemă
608 PosDeclinedByTerminal Tranzacție POS refuzată de terminal (eroare locală). Terminalul a detectat eroare locală, verificați starea terminalului
609 PosSettlementFailed Închiderea de zi POS (settlement) a eșuat. Verificați conexiunea terminalului, reîncercați închiderea
610 PosInvalidResponseData Răspuns invalid de la terminalul POS. Verificați firmware-ul terminalului, contactați suportul
611 PosOperationFailed Operațiune POS eșuată Verificați detaliile erorii pentru motivul specific al eșecului

Erori Imprimantă (2000-2999)

Aceste erori apar când se folosește subsistemul de tipărire pentru operațiuni de tipărire non-fiscală.

Cod Eroare Descriere Rezoluție
2001 PrinterNotFound Imprimanta specificată nu poate fi găsită Verificați instalarea și conexiunea imprimantei
2002 Tauri A apărut o eroare în framework-ul Tauri Verificați jurnalele aplicației, reporniți aplicația
2003 HtmlRendering Eroare redare conținut HTML pentru tipărire Verificați validitatea șablonului HTML, instalați fonturile necesare
2004 PrintJob Eroare cu executarea lucrării de tipărire Verificați starea imprimantei, disponibilitatea hârtiei
2005 Resource Resursa necesară nu poate fi găsită Verificați căile resurselor, verificați permisiunile fișierelor

Bune Practici Gestionare Erori

Pentru Dezvoltatorii de Aplicații

  • Intervale Coduri Stare: Folosiți intervalele codurilor de eroare pentru a categoriza tipurile de erori:
    • 400, 404: Erori client/configurație - corectați cererea
    • 1000-1999: Erori aplicație - verificați starea sistemului
    • 500-599: Erori dispozitiv - verificați starea dispozitivului
    • 600-619: Erori POS - gestionați starea tranzacției
    • 2000+: Erori imprimantă - verificați setarea imprimantei
  • Logică Reîncercare: Implementați logica de reîncercare corespunzătoare:
    • Erori temporare (505, 1004, 1005): Sigur să reîncercați cu întârziere
    • Erori stare (530, 531, 532): Corectați starea înainte de reîncercare
    • Erori configurație (400, 404, 1008): Nu reîncercați fără a corecta problema
  • Mesaje Utilizator: Folosiți mesajele de eroare în română pentru afișarea către utilizatorul final
  • Jurnalizare: Jurnalizați întotdeauna atât codul de eroare cât și contextul complet al erorii

Scenarii Comune de Erori

Erori Flux Tipărire Bonuri
// Verificați starea dispozitivului înainte de a începe
GET /devices/{device_id}

// Erori comune de secvență:
530 (ReceiptOpen) → Anulați bonul existent mai întâi
531 (ReceiptNotOpen) → Inițializați bonul înainte de a adăuga articole
537 (InvalidAmount) → Validați că sumele sunt > 0
544 (ZNeeded) → Tipăriți raportul Z înainte de a continua
Probleme Conexiune Dispozitiv
// Progresie eroare conexiune:
404 (DeviceNotFound) → Dispozitiv neConfigurat
1004 (Connection) → Conexiune rețea/serială eșuată
505 (DeviceBusy) → Dispozitivul răspunde dar este ocupat
508 (GeneralDeviceError) → Comunicația cu dispozitivul stabilită dar a apărut eroare
Gestionarea Tranzacțiilor POS
// Gestionarea erorilor POS:
600-603 → Problemă card/plată - necesară acțiunea clientului
604 → Tranzacție anulată - nu este necesară acțiune suplimentară
605-606 → Problemă comunicație - reîncercarea este posibilă
609 → Închiderea eșuată - verificați starea terminalului

Testarea Integrării

Testați gestionarea erorilor pentru aceste scenarii critice:

  • Deconectarea dispozitivului în timpul operațiunii
  • Condiții lipsă hârtie
  • Secvențe invalide de bonuri
  • Eșecuri comunicație terminal POS
  • Cerințe raport Z
  • Eșecuri validare licență