@kreiseck/kasseneck-api 1.5.0 → 1.5.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +58 -0
- package/README.md +64 -26
- package/dist/cjs/client/aufrufe.d.ts +56 -2
- package/dist/cjs/client/aufrufe.js +168 -1
- package/dist/cjs/client/errors.d.ts +32 -19
- package/dist/cjs/client/errors.js +28 -17
- package/dist/cjs/client/index.d.ts +2 -2
- package/dist/cjs/client/index.js +2 -1
- package/dist/cjs/client/transport.d.ts +27 -1
- package/dist/cjs/client/transport.js +25 -27
- package/dist/cjs/index.d.ts +1 -1
- package/dist/cjs/index.js +3 -2
- package/dist/cjs/inventory/schreiben.d.ts +3 -0
- package/dist/cjs/inventory/schreiben.js +6 -1
- package/dist/cjs/invoice/endpunkte.d.ts +6 -0
- package/dist/cjs/invoice/endpunkte.js +13 -2
- package/dist/cjs/pos/texte.d.ts +11 -6
- package/dist/cjs/pos/texte.js +11 -6
- package/dist/cjs/version.d.ts +1 -1
- package/dist/cjs/version.js +1 -1
- package/dist/esm/client/aufrufe.d.ts +56 -2
- package/dist/esm/client/aufrufe.js +166 -0
- package/dist/esm/client/errors.d.ts +32 -19
- package/dist/esm/client/errors.js +28 -17
- package/dist/esm/client/index.d.ts +2 -2
- package/dist/esm/client/index.js +1 -1
- package/dist/esm/client/transport.d.ts +27 -1
- package/dist/esm/client/transport.js +26 -28
- package/dist/esm/index.d.ts +1 -1
- package/dist/esm/index.js +1 -1
- package/dist/esm/inventory/schreiben.d.ts +3 -0
- package/dist/esm/inventory/schreiben.js +6 -1
- package/dist/esm/invoice/endpunkte.d.ts +6 -0
- package/dist/esm/invoice/endpunkte.js +13 -2
- package/dist/esm/pos/texte.d.ts +11 -6
- package/dist/esm/pos/texte.js +11 -6
- package/dist/esm/version.d.ts +1 -1
- package/dist/esm/version.js +1 -1
- package/fixtures/hobex-hps-codes.json +1 -1
- package/fixtures/invoice-api.schema.json +1 -1
- package/fixtures/invoice-texts.json +1 -1
- package/fixtures/pos-texts.json +1 -1
- package/fixtures/surface.json +55 -1
- package/package.json +1 -1
|
@@ -12,6 +12,12 @@
|
|
|
12
12
|
* **Nicht automatisch wiederholen.** Wer nach einem Zeitlimit erneut
|
|
13
13
|
* ausstellt, tut das mit **demselben** `idempotencyKey`: dann kommt die schon
|
|
14
14
|
* ausgestellte Rechnung zurueck (`replayed: true`) statt einer zweiten.
|
|
15
|
+
* Jeder Aufruf mit Wirkung (ausstellen, stornieren, gutschreiben, Zahlung
|
|
16
|
+
* nachtragen, Kunde anlegen oder aendern) meldet nach Zeitlimit, Netzfehler,
|
|
17
|
+
* HTTP 5xx oder unlesbarer Antwort `outcome: 'unknown'`: er kann gewirkt
|
|
18
|
+
* haben. Mit Schluessel denselben Schluessel erneut senden, ohne Schluessel
|
|
19
|
+
* (`updateCustomer`, `createCustomer` ohne) erst nachlesen. Lesen und der
|
|
20
|
+
* Probelauf (`previewInvoice`) bleiben `'rejected'`.
|
|
15
21
|
*
|
|
16
22
|
* Nach dem Senden wird nichts hart gecastet: fehlt ein zugesagtes Feld, wirft
|
|
17
23
|
* der Aufruf `KasseneckValidationError` mit `scope:'response'`.
|
|
@@ -93,7 +99,10 @@ export async function searchCustomers(transport, search) {
|
|
|
93
99
|
}
|
|
94
100
|
// ---- Rechnungen -------------------------------------------------------------
|
|
95
101
|
export async function issueInvoice(transport, request) {
|
|
96
|
-
const
|
|
102
|
+
const params = nutzlast(request);
|
|
103
|
+
// Ohne Typen kann `dryRun: true` hier ankommen: dann ist es ein Probelauf
|
|
104
|
+
// ohne Wirkung (sonst: `previewInvoice`).
|
|
105
|
+
const daten = await transport('issueInvoice', params, undefined, undefined, { hasEffect: params['dryRun'] !== true });
|
|
97
106
|
const ergebnis = {
|
|
98
107
|
invoice: pflichtObjekt('issueInvoice', daten, 'invoice'),
|
|
99
108
|
replayed: objekt(daten)['replayed'] === true,
|
|
@@ -114,7 +123,9 @@ export async function issueInvoice(transport, request) {
|
|
|
114
123
|
* Probelauf und Ausstellen kann sich der Kunde oder das Konto aendern.
|
|
115
124
|
*/
|
|
116
125
|
export async function previewInvoice(transport, request) {
|
|
117
|
-
|
|
126
|
+
// Ein Probelauf schreibt nichts: nach einem Zeitlimit bleibt er `rejected`,
|
|
127
|
+
// obwohl `issueInvoice` sonst Wirkung hat.
|
|
128
|
+
const daten = await transport('issueInvoice', { ...nutzlast(request), dryRun: true }, undefined, undefined, { hasEffect: false });
|
|
118
129
|
const ergebnis = { preview: pflichtObjekt('issueInvoice', daten, 'preview') };
|
|
119
130
|
const notice = hinweise(daten);
|
|
120
131
|
if (notice)
|
package/dist/esm/pos/texte.d.ts
CHANGED
|
@@ -661,12 +661,17 @@ export interface ErrorRuleDetail {
|
|
|
661
661
|
export declare function findErrorRule(kind: ErrorKind, detail?: ErrorRuleDetail): ErrorRule;
|
|
662
662
|
/**
|
|
663
663
|
* Kassen-Aufrufe mit Wirkung, die sich nach einem Netzfehler nicht gefahrlos
|
|
664
|
-
* wiederholen lassen:
|
|
665
|
-
*
|
|
666
|
-
*
|
|
667
|
-
*
|
|
668
|
-
*
|
|
669
|
-
*
|
|
664
|
+
* wiederholen lassen: Beleg (auch Null- und Startbeleg ueber
|
|
665
|
+
* `createReceipt`), Storno, FinanzOnline, die drei Geldwege, der Druckjob
|
|
666
|
+
* (zweiter Bon) und die Belegmail (zweite Mail). Ob die Anfrage vor dem
|
|
667
|
+
* Abriss schon draussen war, sieht das Paket nicht (fetch wirft in beiden
|
|
668
|
+
* Faellen gleich); darum gilt hier immer der vorsichtige Satz, auch fuer
|
|
669
|
+
* einen Fehler, der vor dem Senden entstand.
|
|
670
|
+
*
|
|
671
|
+
* Seit 1.5.1 fuehrt der Transport jeden Aufruf mit Wirkung als unklar
|
|
672
|
+
* (`UNKNOWN_OUTCOME_CALLS`, eine Obermenge dieser Liste), und
|
|
673
|
+
* [messageOutcome] folgt zuerst ihm. Die Liste bleibt als Vertrag der
|
|
674
|
+
* Kassentexte (`callsWithEffect` in `fixtures/pos-texts.json`) unveraendert.
|
|
670
675
|
*/
|
|
671
676
|
export declare const CALLS_WITH_EFFECT: readonly ["createReceipt", "cancelReceipt", "financeWebService", "hobexPayApi", "hobexRefundApi", "stripeCaptureIntent", "createPrintJob", "sendReceiptEmail"];
|
|
672
677
|
/**
|
package/dist/esm/pos/texte.js
CHANGED
|
@@ -368,12 +368,17 @@ export function findErrorRule(kind, detail = {}) {
|
|
|
368
368
|
}
|
|
369
369
|
/**
|
|
370
370
|
* Kassen-Aufrufe mit Wirkung, die sich nach einem Netzfehler nicht gefahrlos
|
|
371
|
-
* wiederholen lassen:
|
|
372
|
-
*
|
|
373
|
-
*
|
|
374
|
-
*
|
|
375
|
-
*
|
|
376
|
-
*
|
|
371
|
+
* wiederholen lassen: Beleg (auch Null- und Startbeleg ueber
|
|
372
|
+
* `createReceipt`), Storno, FinanzOnline, die drei Geldwege, der Druckjob
|
|
373
|
+
* (zweiter Bon) und die Belegmail (zweite Mail). Ob die Anfrage vor dem
|
|
374
|
+
* Abriss schon draussen war, sieht das Paket nicht (fetch wirft in beiden
|
|
375
|
+
* Faellen gleich); darum gilt hier immer der vorsichtige Satz, auch fuer
|
|
376
|
+
* einen Fehler, der vor dem Senden entstand.
|
|
377
|
+
*
|
|
378
|
+
* Seit 1.5.1 fuehrt der Transport jeden Aufruf mit Wirkung als unklar
|
|
379
|
+
* (`UNKNOWN_OUTCOME_CALLS`, eine Obermenge dieser Liste), und
|
|
380
|
+
* [messageOutcome] folgt zuerst ihm. Die Liste bleibt als Vertrag der
|
|
381
|
+
* Kassentexte (`callsWithEffect` in `fixtures/pos-texts.json`) unveraendert.
|
|
377
382
|
*/
|
|
378
383
|
export const CALLS_WITH_EFFECT = Object.freeze([
|
|
379
384
|
'createReceipt',
|
package/dist/esm/version.d.ts
CHANGED
package/dist/esm/version.js
CHANGED
package/fixtures/pos-texts.json
CHANGED
package/fixtures/surface.json
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
{
|
|
2
|
-
"version": "1.5.
|
|
2
|
+
"version": "1.5.1",
|
|
3
3
|
"baseUrls": {
|
|
4
4
|
"public": "https://api.kasseneck.at/v3",
|
|
5
5
|
"pos": "https://kasse.kasseneck.at/api/v3"
|
|
@@ -235,6 +235,60 @@
|
|
|
235
235
|
"setMyCashregisterStockLocation"
|
|
236
236
|
]
|
|
237
237
|
},
|
|
238
|
+
"unknownOutcomeCalls": [
|
|
239
|
+
"activateCashregister",
|
|
240
|
+
"cancelInvoice",
|
|
241
|
+
"cancelReceipt",
|
|
242
|
+
"changeStockCondition",
|
|
243
|
+
"createArticle",
|
|
244
|
+
"createCreditNote",
|
|
245
|
+
"createCustomer",
|
|
246
|
+
"createCustomerCashregister",
|
|
247
|
+
"createInvoiceItem",
|
|
248
|
+
"createPartnerCustomer",
|
|
249
|
+
"createPartnerWebhook",
|
|
250
|
+
"createPrintJob",
|
|
251
|
+
"createReceipt",
|
|
252
|
+
"createReservation",
|
|
253
|
+
"createWebhook",
|
|
254
|
+
"deactivateArticle",
|
|
255
|
+
"deletePartnerWebhook",
|
|
256
|
+
"deleteWebhook",
|
|
257
|
+
"extendReservation",
|
|
258
|
+
"financeWebService",
|
|
259
|
+
"hobexPayApi",
|
|
260
|
+
"hobexRefundApi",
|
|
261
|
+
"issueInvoice",
|
|
262
|
+
"pairRegisterDevice",
|
|
263
|
+
"receiveGoods",
|
|
264
|
+
"recordInvoicePayment",
|
|
265
|
+
"recordStockLoss",
|
|
266
|
+
"releaseReservation",
|
|
267
|
+
"reportCustomerContract",
|
|
268
|
+
"requestCustomerSignature",
|
|
269
|
+
"reverseStockMovement",
|
|
270
|
+
"revokeCustomerMandate",
|
|
271
|
+
"rotatePartnerWebhookSecret",
|
|
272
|
+
"rotateWebhookSecret",
|
|
273
|
+
"sendPartnerCustomerFonLink",
|
|
274
|
+
"sendPartnerWebhookTest",
|
|
275
|
+
"sendReceiptEmail",
|
|
276
|
+
"sendWebhookTest",
|
|
277
|
+
"setCustomerMandate",
|
|
278
|
+
"setMyCashregisterStockLocation",
|
|
279
|
+
"setMyKasseLogo",
|
|
280
|
+
"setMyKasseSettings",
|
|
281
|
+
"setMyRegisterDeviceSettings",
|
|
282
|
+
"stripeCaptureIntent",
|
|
283
|
+
"transferStock",
|
|
284
|
+
"unpairRegisterDevice",
|
|
285
|
+
"updateArticle",
|
|
286
|
+
"updateCustomer",
|
|
287
|
+
"updateInvoiceItem",
|
|
288
|
+
"updatePartnerWebhook",
|
|
289
|
+
"updateWebhook",
|
|
290
|
+
"withdrawInvoiceItem"
|
|
291
|
+
],
|
|
238
292
|
"enums": {
|
|
239
293
|
"autoLogoutMinutes": [
|
|
240
294
|
0,
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@kreiseck/kasseneck-api",
|
|
3
|
-
"version": "1.5.
|
|
3
|
+
"version": "1.5.1",
|
|
4
4
|
"description": "Austrian fiscal cash register (RKSV) client for JavaScript and TypeScript: signed receipts, cancellations, card payments, receipt printing (ESC/POS), invoices, inventory. RKSV-Registrierkasse für JavaScript und TypeScript.",
|
|
5
5
|
"license": "Apache-2.0",
|
|
6
6
|
"author": "Kreiseck",
|