Nyugta leadása egyszerű API-n
A saját rendszerednek nem kell pénztárgép-protokollt, soros kapcsolatot vagy helyszíni hibakezelést fejlesztenie. Leadja a feladatot, eltárolja a feladatId-t, majd lekérdezi az eredményt.
Pénztárgép-kapcsolat fejlesztési teher nélkül
Kész szolgáltatás szoftverfejlesztő cégeknek, akik gyorsan szeretnék összekötni saját rendszerüket Sam4s NR-330 pénztárgéppel. Egyszerű feladatleadás, lekérdezhető nyomtatási állapot, helyszíni Pénztárgép vezérlő és kevesebb egyedi hardveres hibakeresés.
Így készül el a nyugta
Tipikusan pár másodperc a leadástól a nyugtáigkulsoAzonosito: "WEB-10432"
NYUGTA
0012/00034 2026.10.03. 14:32 Kávé 2×5001 000 Készpénz1 000 ÖSSZESEN1 000A feladat életútja GET /api/v1/nyugta/{feladatId}
be mappába – a vezérlő csak a teljesen kiírt fájlt veszi át.
GET /api/v1/terminalok
Szolgáltatás
A fejlesztőcsapatodnak elég a feladatleadási és állapotlekérdezési szerződéshez igazodnia. A helyszíni Pénztárgép vezérlő kezeli a Sam4s NR-330 sajátosságait, a kapcsolat állapotát és a nyomtatási eredmény visszajelzését.
A saját rendszerednek nem kell pénztárgép-protokollt, soros kapcsolatot vagy helyszíni hibakezelést fejlesztenie. Leadja a feladatot, eltárolja a feladatId-t, majd lekérdezi az eredményt.
A Pénztárgép vezérlő a boltban fut, figyeli az új feladatokat, ellenőrzi a pénztárgép állapotát, majd elvégzi a nyomtatást a Sam4s NR-330-on.
Ha az API-hívás nem megoldható, a küldő program egy JSON fájlt tesz a figyelt mappába. A Pénztárgép vezérlő csak a teljesen kiírt fájlt veszi át, így nem dolgozik félig elkészült adatokból.
A bizonylatnyomtatás érvényes licenchez kötött. Ha a licenc nincs rendben, vagy a pénztárgép átmenetileg nem elérhető, a feladat várakozó állapotban marad, és a helyzet rendezése után magától lefut — de nem korlátlan ideig: a várakozó feladat alapértelmezés szerint két óra után lejárt állapotba kerül, és akkor sem nyomtatódik ki, ha a bolt később helyreáll.
Add meg a saját rendelésszámodat kulsoAzonosito néven, és a szerver ugyanarra a kulcsra nem hoz létre második feladatot: a már meglévőt adja vissza. Így a hálózati hibára elszálló leadás bátran újraküldhető — enélkül a vak ismétlés második nyugtát nyomtathat.
Ha a vevő elállt vagy rossz terminálra adtad le, a még át nem vett feladat egyetlen hívással visszavonható — nem kell a lejáratot kivárni. A hívás idempotens: ha a válasz elveszett, megismételheted. Átvétel után már nincs visszaút, egy elkészült bizonylatot csak sztornó javít.
A végállapotokról a szerver értesítést küld a saját https végpontodra, aláírva és a kulsoAzonosito-val együtt, így nem kell háttérfeladatot építeni minden rendeléshez. Egy ritka egyeztető lekérdezés azért kell: a kiszállítást a szerver egy óra után feladja.
A számla ugyanazon a végponton megy, mint a nyugta, de két engedély kell hozzá: az előfizetésben a Számla kapcsoló, és magán a pénztárgépen is be kell kapcsolni a funkciót. Ha az első hiányzik, a vezérlő nincs_engedely hibával áll meg; ha a második, a bizonylatot a gép utasítja el.
Feladattípusok
Ugyanaz az endpoint kezeli a nyugtát, sztornót, visszárut, egyszerűsített számlát, pénzmozgást, napnyitást, napi zárást, állapotot és megszakítást.
Kiválasztott típus
Alap bizonylat tétellel, fizetéssel, opcionális nyomtatott azonosítóval.
{"tipus":"nyugta","kulsoAzonosito":"WEB-10432","tetelek":[{"arunev":"Kave","ar":500,"mennyiseg":2}],"fizetesek":[{"fizetoeszkoz":1,"ertek":1000}]}Fejlesztői integráció
A leadás nem egyszerű mellékhatásként kezelendő, hanem állapotváltásként a saját rendszeredben. A feladatId lesz a horgony a rendelés és a későbbi nyugtaszám között, a kulsoAzonosito pedig azt biztosítja, hogy egy megismételt leadásból ne legyen második nyugta.
curl -X POST "https://pelda.hu/nyugtaszerver/api/v1/nyugta" \
-H "Authorization: Bearer nyk_..." \
-H "Content-Type: application/json" \
-d '{"tipus":"nyugta","kulsoAzonosito":"WEB-10432","tetelek":[{"arunev":"Kave","ar":500,"mennyiseg":2}],"fizetesek":[{"fizetoeszkoz":1,"ertek":1000}]}'
# 202 Accepted
{ "feladatId": "6c1f0c8e-...-9b2a", "allapot": "var", "terminal": "A31500001" }
# ugyanaz a kulcs masodszor: 200, es UGYANAZ a feladatId
{ "feladatId": "6c1f0c8e-...-9b2a", "allapot": "var", "ismetelt": true }
Megbízhatóság
Adóügyi bizonylatnál a kimaradt nyugta pótolható, a véletlenül duplán kinyomtatott viszont nem vonható vissza. A nehezét ezért megépítettük — a te oldaladon nem kell újra megoldani.
Add meg a saját rendelésszámodat, és ugyanarra a kulcsra nem keletkezik második nyugta. A hálózati hiba utáni újrapróbálkozás így biztonságos — nem kell körülötte védelmi kódot írnod.
A rendszer nem mond „kész”-t olyasmire, amiről nem tud: külön állapot szól arról, ha a kimenetel bizonytalan, és arról is, ha a szerver zárta le. A te kódodnak nem kell találgatnia.
A pénteken leadott nyugta nem jön ki hétfőn a nyomtatóból. Ha a bolti gép nem veszi át időben, a szerver lezárja a feladatot — bizonylat nem készül utólag, a hátad mögött.
Amíg a vezérlő nem vette át, egy hívással törölheted a feladatot. Utána a válasz megnevezi, miért nem lehet — nem egy általános hibakódot kapsz, amiből neked kell kitalálnod a teendőt.
A mezőszintű részletek — fizetési sorrend, tiltott karakterek, hosszkorlátok, hibakódok — a fejlesztői dokumentációban vannak, példákkal és döntési táblákkal.
A webalkalmazás vagy fájlküldő létrehozza a nyugta, számla vagy állapot feladatot, a saját rendelésszámával mint kulsoAzonosito.
A nyugtaszerver eltárolja, a fájl alapú út pedig a be mappában várakoztatja. A webes feladat innen még visszavonható.
A Pénztárgép vezérlő csak akkor vesz át munkát, ha elérhető a pénztárgép és rendben van a licenc.
A PTG lánc validál, küld, választ értelmez, majd visszaírja a nyugtaszámot vagy a hibát.
A végállapotról webhook értesítés megy a te végpontodra; lekérdezéssel is megtudható. Ha a vezérlő a határidőig nem vette át, a feladat lejárt lesz, és bizonylat nem készül.
Kapcsolat
Írj vagy hívj, ha szoftverfejlesztőként Sam4s NR-330 pénztárgép-kapcsolatot szeretnél beépíteni kevesebb saját fejlesztési munkával.