Ugrás a tartalomra
kassza

Válasz

A send() visszatérési értéke void. Ha hiba nélkül lefut, a Számlázz.hu sikeresnek jelezte a kiküldést. Minden más esetben SzamlazzError-t dob.

await kassza.receipts.send({ receiptNumber: nyugta.number, emails: vevo.email })

Hogyan olvassa a kassza a választ?#

A Számlázz.hu xmlnyugtasendvalasz XML-lel válaszol, három elemmel:

XML elemTípusMit kezd vele a kassza
sikeresbooleanHa true, és nincs hibakód, a send() hiba nélkül visszatér.
hibakodintA SzamlazzError code mezője lesz.
hibauzenetstringA hibaüzenet, [kód] előtaggal, például [7] Hiányzó adat: emailtargy elem.

A kassza a szlahu_error és szlahu_error_code fejlécben, illetve [ERR] kezdetű szöveges válaszban érkező hibát is felismeri. Az xmlagentresponse=DONE szöveges választ sikernek veszi.

Hibák#

KódKategóriaMikor fordul elő?
validationHiányzó nyugtaszám, nincs címzett, vagy hibás e-mail cím. A kérés el sem indul, lásd Kérés.
3authHibás Agent kulcs.
339not_foundNincs ilyen nyugtaszám.
unexpected_responseA válasz se sikert, se hibakódot nem jelez. Nem tudni, kiment-e a levél.
network, timeoutNem tudni, kiment-e a levél.

A nyugta a kiküldés hibájától függetlenül kiállított marad. Ezért a kiküldés hibája általában ne állítsa meg a rendelés feldolgozását, elég naplózni és később kézzel ránézni:

import { isSzamlazzError } from 'kassza'

try {
  await kassza.receipts.send({ receiptNumber: nyugta.number, emails: vevo.email })
} catch (error) {
  if (!isSzamlazzError(error)) throw error
  await kikuldesiHibaMentese(nyugta.number, error.category, error.message)
}
Oldal szerkesztéseUtoljára frissítve: