JSON reprezentujący rekordy w pamięci fiskalnej jest dość rozbudowany, stąd jego parsowanie może być na początku kłopotliwe. Dla przykładu przeanalizujemy rekordy zwracane przez API /raporty/events/dobowy.

W odpowiedzi otrzymujemy identyfikator tasku, a następnie jego status sprawdzamy za pomocą RESTpoint:

  • GET /tasks/get/<identyfikator taska>
  • GET/tasks/list

W momencie gdy “inprogress” zmieni wartość na “false”, wówczas metoda zwraca pełen wynik, przykładowo:

W powyższej odpowiedzi widzimy 2 raporty dobowe (lista results[] zawiera dwa obiekty JSON). Każdy obiekt posiada atrybut “sections“. W pamięci fiskalnej rekordy złożone są z sekcji, stąd odpowiedź to odzwierciedla. Raporty dobowe są one złożone z 3 sekcji. Ponieważ w request użyte zostało “mergeSections=true“, PosnetServer połączył 3 sekcje w jeden obiekt JSON, aby ułatwić analizę wyników. Jeśli w request ustawione zostanie “mergeSections=false, wówczas lista “sections” będzie zawsze zawierała 3 dokumenty JSON będące dokładnym odwzorowaniem sekcji z pamięci fiskalnej.

Każdy z obiektów w liście results[] posiada zestaw atrybutów:

  • type – typ rekordu w pamięci fiskalnej. W przypadku listy raportów dobowych wartość będzie zawsze taka sama: “raport_dobowy”, ale w przypadku /raporty/events/custom, który zwraca rożne zdarzenia, atrybut może mieć następujące wartości: raport_dobowy, fiskalizacja, zerowanie, zmiana_ptu, readonly_state, zmiana_waluty, ustawienie_przekazu_danych, adres_podatnika, aktualizacja, nieudana_aktualizacja, tryb_serwisowy,wymiana_pamieci, kasowanie_alg_weryfikujacego, zrodlo_aktualizacji, zmiana_daty_czasu, wymiana_klucza_publicznego, przeglad_techniczny, blad_pamieci_chronionej, awaria_zasilania, utrata_ciaglosci_dokumentow, blad_weryfikacji, pamiec_chroniona_pelna, pamiec_fiskalna_pelna, odlaczenie_mechanizmu_drukujacego, odlaczenie_wyswietlacza_nabywcy, brak_przekazu_klucza_publicznego, reserved, qrcode, zmiana_harmonogramu_polaczen
  • number – numer raportu dobowego. Widzimy tu dwa raporty dobowe, jeden o numerze 83 , drugi o numerze 84
  • dateReportStart, dateReportEnd – zakres raportu dobowego (daty od i do). Wartości podane są w UTC,
  • ptu.0, ptu.1, ptu.2, ptu.3, ptu.4 itd. – stawki VAT dla każdego indeksu. Zwyczajowo indeks 0 reprezentuje stawkę A, czyli 23%, indeks 1 stawkę B 8% itd. Wartości te są reprezentowane jako liczby całkowite, w taki sposób ze dwie najmłodsze cyfry reprezentują cześć ułamkową, czyli “ptu.0″=2300 oznacza, że stawka na indeksie 0 ma wartość 23.00 %. Wartość “-1” oznacza stawkę VAT zwolnioną, a wartość “-2” oznacza ze pod tym indeksem nie zaprogramowano żadnej stawki VAT,
  • waPa.0, waPa.1, waPa.2, waPa.3 itd. – wartość sprzedaży na paragonach dla każdej ze stawek,
  • waFv.0, waFv.1, waPa.2, waPa.3 itd. – wartość sprzedaży na fakturach dla każdej ze stawek,
  • paragonCount – ilość wystawionych paragonów,
  • paragonCancelledCount – ilość anulowanych paragonów,
  • paragonCancelledAmount – wartość anulowanych paragonów,
  • invoiceCount – ilość wystawionych faktur
  • invoiceCancelledCount – ilość anulowanych faktur
  • invoiceCancelledAmount – wartość anulowanych faktur
  • ticketsCount – liczba wystawionych biletów
  • foreignTicketsCount – liczba biletów zagranicznych
  • dbChangesCount – liczba zmian w bazie towarowej
  • nonfiscalPrintoutsCount – ilość wydruków niefiskalnych
  • unsuccessfulTransfersCount – liczba nieudanych prób przekazu od ostatniego raportu dobowego
  • malfunctionCount – liczba awarii
  • programmingLCount – liczba programowań (L)
  • programmingOCount – liczba programowań (O)
  • ptuChange – ilość zmian stawek PTU
  • date – data raportu w UTC
  • uniq – unikalny numer drukarki fiskalnej
  • cashNumber – zaprogramowany numer kasy
  • cashier – zaprogramowany domyślny kasjer
  • taxid – zaprogramowany numer NIP
  • currency – waluta, praktycznie zawsze PLN jeśli kasa jest zarejestrowana na terytorium Polski.

Share This

What's your reaction?
0Smile0Lol0Wow0Love0Sad0Angry

Leave a comment