Kliens beállítása
A kasszát a createKassza() függvénnyel hozod létre. Egy folyamatban (process) elég egyszer létrehozni és újrahasznosítani, így a session cookie is megmarad a hívások között.
Opciók#
| Opció | Típus | Alapérték | Leírás |
|---|---|---|---|
agentKey | string | SZAMLAZZ_AGENT_KEY | Az Agent kulcs. Csak kisbetűs lehet. |
username, password | string | – | Régi hitelesítés Agent kulcs helyett. |
defaults.invoice | InvoiceDefaults | {} | Minden számlára érvényes alapértékek. |
defaults.receipt | ReceiptDefaults | {} | Minden nyugtára érvényes alapértékek. |
cookieStore | CookieStore | false | memóriában | A session cookie tárolója. false kikapcsolja. |
timeoutMs | number | 60000 | Egy kérés időkorlátja milliszekundumban. |
maxAttempts | number | 3 | Próbálkozások száma biztonságos műveleteknél, legfeljebb 5. |
retryDelayMs | number | 1000 | Az első újrapróbálás előtti várakozás, utána duplázódik. |
fetch | typeof fetch | globalThis.fetch | Egyedi fetch, például proxyhoz vagy teszthez. |
endpoint | string | https://www.szamlazz.hu/szamla/ | Az Agent címe. |
hooks | SzamlazzHooks | – | Naplózási események, lásd lent. |
Alapértelmezések számlára#
A defaults.invoice mezői akkor érvényesülnek, ha a hívásban nem adod meg őket. A hívásban megadott érték mindig felülírja az alapértéket.
| Mező | Leírás |
|---|---|
prefix | Számlaszám előtag, például WEB |
paymentDueInDays | Fizetési határidő napokban a kelttől |
paymentMethod | Fizetési mód, például átutalás |
currency, exchangeBank | Pénznem és árfolyamot jegyző bank |
language | A számla nyelve |
template | Számlasablon |
eInvoice, downloadPdf | E-számla és PDF letöltés |
sendEmail | Küldjön-e értesítőt, ha a vevőnek van e-mail címe |
seller | Bank, bankszámla, válaszcím, e-mail tárgy és szöveg, aláíró |
simpleItems, euVat, logoExtra, aggregator, guardian, articleIdentifierInvoice | Speciális beállítások |
Alapértelmezések nyugtára#
| Mező | Leírás |
|---|---|
prefix | Nyugta előtag, csak nagybetű és szám |
paymentMethod | Fizetési mód, nyugtánál nincs beépített alapértéke |
currency, exchangeRate, exchangeBank | Pénznem és árfolyam |
downloadPdf, template | PDF letöltés és PDF sablon |
unit | Alapértelmezett mennyiségi egység |
customerLedgerId | Vevő főkönyvi azonosító |
Időkorlát és megszakítás#
Minden metódus utolsó, opcionális paramétere egy { signal } objektum. A saját AbortSignal-od és a kliens timeoutMs beállítása közül az hat, amelyik előbb lejár.
Időtúllépésnél timeout kategóriájú hibát kapsz. Ha te szakítod meg a kérést, a signal eredeti oka dobódik tovább.
Hookok#
A hookokkal naplózhatod és mérheted a Számla Agent hívásokat. A hookok soha nem kapják meg az Agent kulcsot és az XML tartalmát. Futtatható példát a Hálózat és biztonság oldalon találsz.
Serverless és edge#
Serverless függvényekben minden hideg indítás új memóriát kap, ezért a memóriában tárolt session cookie elveszhet. Ilyenkor adj meg közös tárolót a cookieStore opcióval, lásd a Munkamenet oldalt.