Ugrás a tartalomra
kassza

Kérés

kassza.invoices.getPdf(reference: InvoiceReference, options?: { signal?: AbortSignal }): Promise<InvoicePdf>

A kassza xmlszamlapdf XML-t küld az action-szamla_agent_pdf form mezőben. A bizonylatot egyetlen hivatkozással azonosítod. Ha szöveget adsz át, azt a kassza számlaszámnak veszi:

const peldany = await kassza.invoices.getPdf('WEB-2026-128')

A bizonylat azonosítása#

type InvoiceReference =
  | string
  | { readonly invoiceNumber: string }
  | { readonly orderNumber: string }
  | { readonly externalId: string }
HivatkozásXML elemMikor használd?
'WEB-2026-128' vagy { invoiceNumber }szamlaszamHa eltároltad a bizonylat számát. Ez mindig pontosan egy bizonylatot jelöl.
{ orderNumber }rendelesSzamHa csak a saját rendelésazonosítód van meg. Több azonos rendelésszámú bizonylat közül a legutóbbit kapod.
{ externalId }szamlaKulsoAzonHa a kiállításkor megadtad az externalId mezőt. Enélkül ezzel nem található meg a bizonylat.
const szamlaszamAlapjan = await kassza.invoices.getPdf({ invoiceNumber: 'WEB-2026-128' })
const rendelesAlapjan = await kassza.invoices.getPdf({ orderNumber: 'REND-1001' })
const kulsoAzonAlapjan = await kassza.invoices.getPdf({ externalId: 'webshop-1001' })

A hivatkozáson kívül a kassza csak a hitelesítést (szamlaagentkulcs, vagy felhasznalo és jelszo) írja az XML-be. A valaszVerzio elem értéke mindig 2, így a Számlázz.hu XML-ben válaszol, benne a base64 kódolású PDF-fel.

Szabályok#

  • Pontosan egy hivatkozást adj meg. Üres szövegnél, üres értéknél vagy egyszerre több kulcsnál (például invoiceNumber és orderNumber együtt) a kassza validation hibát dob, és kérést nem küld. Az értékek elejéről és végéről a szóközöket levágja.
  • Rendelésszám alapján a legutóbb kiállított bizonylatot kapod. Ha egy rendeléshez díjbekérő és az abból készült számla is tartozik, a számlát kapod vissza. Egy korábbi bizonylathoz a számlaszámával hivatkozz.
  • A lekérdezés nem hoz létre semmit, ezért a kassza hálózati hibánál, 5xx válasznál, időtúllépésnél és karbantartásnál magától újrapróbálja, alapból háromszor. Lásd Amit a kassza újrapróbál.
  • A második paraméterben saját AbortSignal-t adhatsz, lásd Időkorlát és megszakítás.
const idokorlattal = await kassza.invoices.getPdf('WEB-2026-128', {
  signal: AbortSignal.timeout(5_000),
})
Oldal szerkesztéseUtoljára frissítve: