Kérés
A kassza xmlszamlaxml XML-t küld az action-szamla_agent_xml form mezőben. A számlát háromféleképpen azonosíthatod:
Mezők#
| Mező | XML elem | Alapérték | Leírás |
|---|---|---|---|
reference (szöveg) vagy reference.invoiceNumber | szamlaszam | – | A számla száma. |
reference.orderNumber | rendelesSzam | – | A számla rendelésszáma. Ha több bizonylaton is szerepel, a legutóbbit kapod. |
reference.externalId | szamlaKulsoAzon | – | Külső azonosító. Csak akkor működik, ha kiállításkor megadtad az externalId mezőt. |
query.includePdf | pdf | nincs PDF | true esetén a válasz a számla PDF-jét is tartalmazza. |
options.signal | – | – | AbortSignal, amellyel megszakíthatod a kérést. |
A hivatkozásban pontosan egy kulcs szerepeljen. Üres érték, hiányzó vagy egyszerre több kulcs esetén a kassza validation hibát dob, és kérés nem megy ki.
get vagy find?#
A get() akkor is hibát dob, ha a számla nem létezik: a Számlázz.hu 7-es kódot ad, amelyből not_found kategóriájú SzamlazzError lesz. A find() pontosan ezt az esetet fordítja null-ra, minden más hibát ugyanúgy továbbdob.
Ha a számlának biztosan léteznie kell, például egy mentett számlaszám alapján, a get() a jobb választás. Ha a hiánya is normális eset, használd a find()-ot.
Idempotens számlázás#
A find() a dupla számla elleni védekezés alapja. Számlakészítés előtt nézd meg, van-e már számla a rendelésszámhoz, és bizonytalan hiba után is előbb ezt ellenőrizd, mielőtt újra kiállítanád:
A teljes mintát a Hibakezelés és a Rendelésszám oldal részletezi.
Szabályok#
- Csak a Számlázz.hu-ban kiállított kimenő számlák adatai kérhetők le.
- Rendelésszám alapján mindig a legutóbbi bizonylat jön vissza, ha több is tartozik hozzá.
- Külső azonosítóval csak az a számla kérhető le, amelynél kiállításkor megadtad.
- A lekérés semmit nem módosít, ezért a kassza
maintenance,networkéstimeouthibánál magától újrapróbálja, alapból legfeljebb három próbálkozással. Lásd Amit a kassza újrapróbál.