S
- POST /api/v1/transactions/cancelDocument
funkcija, otkazivanje transakcije se šalje fiskalnoj službi i tamo pohranjuje. Koristi se za odustajanje od transakcije prije dovršetka. Na primjer:
- kupac želi kupiti neke artikle u trgovini
- blagajnik započinje skeniranje artikala (POS šalje PUT /api/v1/transactions/createDocument)
- kupac primijeti da je izgubio novčanik i ne može obaviti kupnju
- blagajnik prekida transakciju i briše sve skenirane artikle (POS šalje POST /api/v1/transactions/cancelDocument kako bi zatvorio transakciju koja je otvorena korištenjem PUT /api/v1/transactions/createDocument)
Rezultat
Ako je obrada uspješna (200), odgovarajući klijent fiskalne usluge odgovara s fiscalResponse i sprema napuštanje transakcije.
Upotreba
- Svaki put kada se dokument zatvori u sustavu elektroničkog evidentiranja (blagajni) poništavanjem.
Preduvjeti
-
cancelDocument mora biti prethodno pozvan pozivom krajnje točke PUT /api/v1/transactions/createDocument
- Podaci iz odgovora metode createDocument moraju biti integrirani u JSON strukturu metode cancelDocument. Pogledajte sljedeći odjeljak.
Proces prijenosa
Kao što je opisano, za otkazivanje dokumenta (cancelDocument) potreban je prethodni postupak stvaranja dokumenta (createDocument). Odgovor (fiscalResponse) postupka createDocument sadrži sljedeća polja:
"fiscalisationDocumentNumber": 0,
"fiscalisationDocumentRevision": 0,
"fiscalDocumentStartTime": 0,
Informacije u tim poljima moraju biti sadržane u JSON strukturi koja se šalje s metodom cancelDocument. Ta polja sadrže vrijednosti koje generira obavezni fiskalni hardver (tehnički sigurnosni uređaj "TSE" u Njemačkoj) i koriste se za povezivanje transakcija.
Pažnja: Imajte na umu sljedeće posebne značajke:
fiscalResponse od createDocument vraća polja fiscalisationDocumentNumber i fiscalisationDocumentRevision. U cancelDocumentu, međutim, ta se polja moraju proslijediti s
"fiscalDocumentNumber": 24,
"fiscalDocumentRevision": 1,
bez "isation"! Imajte na umu i sljedeće: Ako transakcija nije započela
Primjer:
Sljedeći primjer prikazuje jednostavnu potvrdu za Njemačku (documentType = [0] = potvrda), koja se šalje na krajnju točku POST /api/v1/transactions/cancelDocument.
{
"uniqueClientId": "c1062c55-57c4-4ed2-9c53-aff1762326a4",
"documentGuid": "7d4a7761-e9e9-4759-8591-ed147a581da4",
"documentId": "HAM01-00010329",
"documentNumber": "00010329",
"createDate": "2023-04-18T21:34:45",
"bookDate": "2023-04-18T21:34:46",
"cancellationDocument": false,
"isTraining": false,
"documentType": 0,
"user": {
"id": "1234",
"caption": "1234"
},
"fiscalDocumentNumber": 2853,
"fiscalDocumentStartTime": 1681803100,
"fiscalDocumentRevision": 1,
"Positions": [
{
"positionNumber": 0,
"netValue": 10.66,
"grossvalue": 12.90,
"taxValue": 2.24,
"quantity": 1,
"itemId": "1101202930050",
"itemCaption": "Pizza Margherita",
"cancellationPosition": "false",
"type": "0",
"businessTransactionType": 0,
"vatPercent": 19,
"vatIdentification": 1,
}
],
"Payments": [
{
"Amount": 12.90,
"paymentType": "cash",
"uniqueReadablePaymentIdentifier": "Cash",
"caption": "Bar+Euro",
"currencyIsoCode": "EUR"
}
]
}
Primjer minimalnih informacija za cancelDocument:
{
"uniqueClientId": "c1062c55-57c4-4ed2-9c53-aff1762326a4",
"documentGuid": "{bdf8b5e9-5634-4c02-afad-543a7c480111}",
"documentId": "100001",
"documentNumber": "00002",
"createDate": "2022-12-22T10:06:03",
"bookDate": "2022-12-22T10:06:03",
"user": {
"id": "1234",
"caption": "1234"
},
"fiscalDocumentNumber": 2938,
"fiscalDocumentStartTime": "1671699962",
"fiscalDocumentRevision": 1
}
}
fiscalResponse
fiscalResponse za cancelDocument treba pohraniti u bazu podataka POS-a radi referenciranja.
fiscalResponse sadrži:
- opće informacije
- informacije specifične za državu
Primjer fiscalResponse:
{
"fiscalCountry": "[0] = Germany",
"fiscalisationDocumentNumber": 52,
"fiscalisationDocumentRevision": 2,
"fiscalDocumentStartTime": 1674819139,
"processStartTime": 0,
"errorDescription": null,
"cashRegisterId": "00345-00345",
"signature": "pCeGi98gNNhshcGJkbw0DwtSzuJkaawON8l5QwsFDEaDHOyYK2aNVO4ZAlpkYYnub7oxM/2R1/KB36UzmOQwew==",
"userMessage": null,
"printMessage": "***Test***",
"requestTime": "2023-01-27T12:34:21.3088836+01:00",
"requestCompletionTime": "2023-01-27T12:34:22.4379009+01:00",
"AdditionalFields": {
"QrCodeDataString": "V0;00345-00345;Kassenbeleg-V1;Beleg^13.90_0.00_0.00_0.00_0.00^13.90:Unbar;52;197;2023-01-27T11:32:19.000Z;2023-01-27T11:34:20.000Z;ecdsa-plain-SHA256;unixTime;pCeGi98gNNhshcGJkbw0DwtSzuJkaawON8l5QwsFDEaDHOyYK2aNVO4ZAlpkYYnub7oxM/2R1/KB36UzmOQwew==;BNHckCuXF2fEktIp8qwtnMLLgvpJDX6wEOqFENlHXZpekBHxHniQh9gbigjWS9UbCwZSrOTJTMK7WiV5owAfXkk=",
"TransactionStartTime": 1674819139,
"TransactionEndTime": 1674819260,
"ProcessData": "Beleg^13.90_0.00_0.00_0.00_0.00^13.90:Unbar",
"ProcessType": "Kassenbeleg-V1",
"TseSerial": "e5f5836a57c50c526d4bed37f18823608f2f44e2c98cab73278a7676c5ea0885",
"TseTimeFormat": "unixTime",
"TseHashAlgorithm": "ecdsa-plain-SHA256",
"TsePublicKey": "BNHckCuXF2fEktIp8qwtnMLLgvpJDX6wEOqFENlHXZpekBHxHniQh9gbigjWS9UbCwZSrOTJTMK7WiV5owAfXkk=",
"TseSignatureCounter": 197,
"TseCertificate": "MIIB0jCCAVmgAwIBAgIhAOX1g2pXxQxSbUvtN/GII2CPL0TiyYyrcyeKdnbF6giFMAoGCCqGSM49BAMDMDExFTATBgNVBAoTDGZpc2thbHkgR21iSDEYMBYGA1UEAxMPZmlza2FseSBUZXN0IENBMB4XDTIyMTAzMDEyMjgzMloXDTIzMTAzMDEyMjgzMlowMjEVMBMGA1UEChMMZmlza2FseSBHbWJIMRkwFwYDVQQDExBmaXNrYWx5IFRlc3QgVFNFMFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAE0dyQK5cXZ8SS0inyrC2cwsuC+kkNfrAQ6oUQ2Uddml6QEfEeeJCH2BuKCNZL1RsLBlKs5MlMwrtaJXmjAB9eSaNBMD8wDgYDVR0PAQH/BAQDAgeAMAwGA1UdEwEB/wQCMAAwHwYDVR0jBBgwFoAUlllBymQBup6ldKGojZVpZtWG5tQwCgYIKoZIzj0EAwMDZwAwZAIwEFsoSON9cIBqA5d9vsGI2jSjDlZxHokDvJ4yBmayvigrDbdhMYe3hw3HyQbO2B/FAjBXSVNbYR6Wg2TVzL9BhCla+tewRDGcs6vnetJ4i3VRtya1+ejt+vRjWnb/RUyo0Uw="
}
}
Opće informacije
Ove se mogu pronaći u zaglavlju fiscalResponse.
Napomena:
- Sadržaj polja "fiscalisationDocumentNumber" mora biti isprintan na dokumentu (DE).
- Sadržaj polja "printMessage" mora biti isprintan na računu.
Informacije specifične za državu
Informacije specifične za pojedinu zemlju nalaze se u području "AdditionalFields" i sadrže podatke koji se moraju ispisati na računu. (npr. QR kod ili alternativno TSE podaci u Njemačkoj).
Molimo pogledajte primjere dokumenata za pojedinu zemlju.
Napomena: Ako se vrijednost "-1" vrati u fiscalResponse od cancelDocument u polju
"fiscalDocumentNumber": -1,
klijent je prepoznao odgovarajući dokument kao nefiskalni.
Odgovor
Mogući odgovori:
| Kod | Opis | Primjer |
| 200 |
Dokument o otkazivanju je uspješno i bez pogrešaka prenesen i spremljen u dokumentStore. |
fiskalniOdgovor |
| 404 |
Njemačka: navedeni broj fiskalnog dokumenta nije pronađen. Transakcija s navedenim brojem fiskalnog dokumenta još nije stvorena (pokrenuta). Rješavanje problema:
|
- |
| 406 |
Prijenosni tip dokumenta nije podržan Rješavanje problema:
|
- |
| 422 |
Sadržaj dokumenta je prazan ili netočan Rješavanje problema:
|
- |
Ovaj je članak automatski preveden.
Komentari
0 komentara
Molimo Prijavite se kako bi ostavili komentar.