@kreiseck/kasseneck-api 1.5.1 → 1.6.0

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.
Files changed (66) hide show
  1. package/CHANGELOG.md +66 -0
  2. package/README.md +119 -3
  3. package/dist/cjs/client/aufrufe.d.ts +3 -3
  4. package/dist/cjs/client/aufrufe.js +17 -0
  5. package/dist/cjs/inventory/api.d.ts +10 -2
  6. package/dist/cjs/inventory/api.js +8 -1
  7. package/dist/cjs/inventory/endpunkte.d.ts +2 -1
  8. package/dist/cjs/inventory/endpunkte.js +2 -1
  9. package/dist/cjs/inventory/index.d.ts +5 -3
  10. package/dist/cjs/inventory/index.js +15 -3
  11. package/dist/cjs/inventory/lesen.d.ts +7 -1
  12. package/dist/cjs/inventory/lesen.js +75 -0
  13. package/dist/cjs/inventory/schreiben.d.ts +23 -1
  14. package/dist/cjs/inventory/schreiben.js +18 -9
  15. package/dist/cjs/inventory/typen.d.ts +156 -2
  16. package/dist/cjs/inventory/varianten.d.ts +67 -0
  17. package/dist/cjs/inventory/varianten.js +150 -0
  18. package/dist/cjs/inventory/vertrag.d.ts +40 -5
  19. package/dist/cjs/inventory/vertrag.js +51 -3
  20. package/dist/cjs/inventory/webhook.d.ts +5 -2
  21. package/dist/cjs/inventory/webhook.js +8 -2
  22. package/dist/cjs/stored/vokabular.d.ts +1 -1
  23. package/dist/cjs/stored/vokabular.js +1 -1
  24. package/dist/cjs/version.d.ts +1 -1
  25. package/dist/cjs/version.js +1 -1
  26. package/dist/esm/client/aufrufe.d.ts +3 -3
  27. package/dist/esm/client/aufrufe.js +17 -0
  28. package/dist/esm/inventory/api.d.ts +10 -2
  29. package/dist/esm/inventory/api.js +8 -1
  30. package/dist/esm/inventory/endpunkte.d.ts +2 -1
  31. package/dist/esm/inventory/endpunkte.js +2 -1
  32. package/dist/esm/inventory/index.d.ts +5 -3
  33. package/dist/esm/inventory/index.js +4 -2
  34. package/dist/esm/inventory/lesen.d.ts +7 -1
  35. package/dist/esm/inventory/lesen.js +74 -0
  36. package/dist/esm/inventory/schreiben.d.ts +23 -1
  37. package/dist/esm/inventory/schreiben.js +13 -10
  38. package/dist/esm/inventory/typen.d.ts +156 -2
  39. package/dist/esm/inventory/varianten.d.ts +67 -0
  40. package/dist/esm/inventory/varianten.js +142 -0
  41. package/dist/esm/inventory/vertrag.d.ts +40 -5
  42. package/dist/esm/inventory/vertrag.js +50 -2
  43. package/dist/esm/inventory/webhook.d.ts +5 -2
  44. package/dist/esm/inventory/webhook.js +9 -3
  45. package/dist/esm/stored/vokabular.d.ts +1 -1
  46. package/dist/esm/stored/vokabular.js +1 -1
  47. package/dist/esm/version.d.ts +1 -1
  48. package/dist/esm/version.js +1 -1
  49. package/fixtures/hobex-hps-codes.json +1 -1
  50. package/fixtures/invoice-api.schema.json +1 -1
  51. package/fixtures/invoice-texts.json +1 -1
  52. package/fixtures/pos-texts.json +1 -1
  53. package/fixtures/surface.json +31 -6
  54. package/fixtures/v3/antworten/belege.json +1 -1
  55. package/fixtures/v3/antworten/belegmail.json +1 -1
  56. package/fixtures/v3/antworten/kasse-belege.json +1 -1
  57. package/fixtures/v3/antworten/kasse.json +2 -2
  58. package/fixtures/v3/antworten/lager.json +2396 -4
  59. package/fixtures/v3/antworten/rechnungen.json +1 -1
  60. package/fixtures/v3/antworten/storno.json +1 -1
  61. package/fixtures/v3/stored/belege.json +1 -1
  62. package/fixtures/v3/stored/kasse.json +2 -2
  63. package/fixtures/v3/stored/rechnungen.json +1 -1
  64. package/fixtures/v3/v3-vokabular.json +151 -6
  65. package/fixtures/v3/zahlbetrag-faelle.json +1 -1
  66. package/package.json +1 -1
@@ -39,10 +39,13 @@ export declare function verifyInventoryWebhookSignature(secret: string | readonl
39
39
  * Liest eine Zustellung als typisiertes Ereignis. Vorher die Signatur pruefen
40
40
  * ([verifyInventoryWebhookSignature]).
41
41
  *
42
- * - Ein Ereignis, das diese Paketversion nicht kennt (etwa `variant_group.*`
43
- * einer spaeteren Stufe), ergibt `null`: mit 2xx antworten und uebergehen.
42
+ * - Ein Ereignis, das diese Paketversion nicht kennt (eines einer spaeteren
43
+ * Stufe), ergibt `null`: mit 2xx antworten und uebergehen.
44
44
  * - `reservation.expired|released|redeemed` tragen die Reservierung wie
45
45
  * `getReservation`, mit dem Status nach dem Vorgang (seit 1.5.0).
46
+ * - `variant_group.created|updated` tragen die Gruppe wie `getVariantGroup`
47
+ * (seit 1.6.0). Zwei Zustellungen koennen sich ueberholen: den Stand nur
48
+ * uebernehmen, wenn `data.updatedAt` neuer ist als der gespeicherte.
46
49
  * - Ein Rumpf, der keine Huelle ist, oder eine Bruchzahl in einer Menge wirft
47
50
  * `KasseneckValidationError` (`scope: 'response'`).
48
51
  *
@@ -15,7 +15,7 @@
15
15
  */
16
16
  import { KasseneckValidationError } from '../client/errors.js';
17
17
  import { verifyWebhookSignature as pruefeSignatur } from '../partner/webhook-signatur.js';
18
- import { artikel, bestandGeaendert, objekt, reservierung, unterMindestbestand } from './lesen.js';
18
+ import { artikel, bestandGeaendert, objekt, reservierung, unterMindestbestand, variantengruppe } from './lesen.js';
19
19
  import { INVENTORY_WEBHOOK_EVENTS } from './vertrag.js';
20
20
  export { WEBHOOK_SIGNATURE_HEADER, WEBHOOK_EVENT_HEADER, WEBHOOK_DELIVERY_HEADER, WEBHOOK_TOLERANCE_SEC, } from '../partner/webhook-signatur.js';
21
21
  /**
@@ -56,10 +56,13 @@ function kaputt(grund) {
56
56
  * Liest eine Zustellung als typisiertes Ereignis. Vorher die Signatur pruefen
57
57
  * ([verifyInventoryWebhookSignature]).
58
58
  *
59
- * - Ein Ereignis, das diese Paketversion nicht kennt (etwa `variant_group.*`
60
- * einer spaeteren Stufe), ergibt `null`: mit 2xx antworten und uebergehen.
59
+ * - Ein Ereignis, das diese Paketversion nicht kennt (eines einer spaeteren
60
+ * Stufe), ergibt `null`: mit 2xx antworten und uebergehen.
61
61
  * - `reservation.expired|released|redeemed` tragen die Reservierung wie
62
62
  * `getReservation`, mit dem Status nach dem Vorgang (seit 1.5.0).
63
+ * - `variant_group.created|updated` tragen die Gruppe wie `getVariantGroup`
64
+ * (seit 1.6.0). Zwei Zustellungen koennen sich ueberholen: den Stand nur
65
+ * uebernehmen, wenn `data.updatedAt` neuer ist als der gespeicherte.
63
66
  * - Ein Rumpf, der keine Huelle ist, oder eine Bruchzahl in einer Menge wirft
64
67
  * `KasseneckValidationError` (`scope: 'response'`).
65
68
  *
@@ -101,6 +104,9 @@ export function parseInventoryWebhookEvent(rawBody) {
101
104
  case 'reservation.released':
102
105
  case 'reservation.redeemed':
103
106
  return { ...huelle, type: huelle.type, data: reservierung(ort, data) };
107
+ case 'variant_group.created':
108
+ case 'variant_group.updated':
109
+ return { ...huelle, type: huelle.type, data: variantengruppe(ort, data) };
104
110
  default:
105
111
  return { ...huelle, type: huelle.type, data: artikel(ort, data) };
106
112
  }
@@ -1,5 +1,5 @@
1
1
  /** Fingerabdruck des Vertrags-Exports, aus dem diese Datei stammt (`_quelle.sha256`). */
2
- export declare const VOKABULAR_QUELLE = "d351a778c02888291e325068f96156ad1346859f6ff97bae27f91089e9619e8c";
2
+ export declare const VOKABULAR_QUELLE = "6e6eae018f1e84116d3942cbfd35bc2d5d6f5c5e5551823c7ed88f15ed407744";
3
3
  /** Schema-Notation des Vertrags: Blatt 'aussen': 'innen', Objekt { __: 'innen', ... }, Liste [ { __: 'innen', ... } ]. */
4
4
  export type SchemaEintrag = string | SchemaObjekt | readonly [SchemaObjekt];
5
5
  export interface SchemaObjekt {
@@ -1,7 +1,7 @@
1
1
  // Erzeugt von scripts/stored-vokabular.mjs aus fixtures/v3/v3-vokabular.json.
2
2
  // Nicht von Hand aendern: test/stored.test.ts vergleicht mit dem Vertrag.
3
3
  /** Fingerabdruck des Vertrags-Exports, aus dem diese Datei stammt (`_quelle.sha256`). */
4
- export const VOKABULAR_QUELLE = "d351a778c02888291e325068f96156ad1346859f6ff97bae27f91089e9619e8c";
4
+ export const VOKABULAR_QUELLE = "6e6eae018f1e84116d3942cbfd35bc2d5d6f5c5e5551823c7ed88f15ed407744";
5
5
  /** Schema je Endpunkt (aussen -> innen) und Wertverweise auf die Kataloge. */
6
6
  export const SCHEMAS = {
7
7
  "getReceipt": {
@@ -4,4 +4,4 @@
4
4
  * Client-Version, Nachtrag §6). Ein Test haelt sie gleich mit `package.json`;
5
5
  * beim Anheben der Version beide Stellen aendern.
6
6
  */
7
- export declare const PACKAGE_VERSION = "1.5.1";
7
+ export declare const PACKAGE_VERSION = "1.6.0";
@@ -4,4 +4,4 @@
4
4
  * Client-Version, Nachtrag §6). Ein Test haelt sie gleich mit `package.json`;
5
5
  * beim Anheben der Version beide Stellen aendern.
6
6
  */
7
- export const PACKAGE_VERSION = '1.5.1';
7
+ export const PACKAGE_VERSION = '1.6.0';
@@ -1,5 +1,5 @@
1
1
  {
2
- "version": "1.5.1",
2
+ "version": "1.6.0",
3
3
  "measuredOn": {
4
4
  "tid": "3600335",
5
5
  "hpsVersion": "1.10.0",
@@ -2,7 +2,7 @@
2
2
  "$schema": "https://json-schema.org/draft/2020-12/schema",
3
3
  "title": "Kasseneck Rechnungs-API",
4
4
  "version": 2,
5
- "package": "1.5.1",
5
+ "package": "1.6.0",
6
6
  "endpoints": {
7
7
  "createCustomer": {
8
8
  "request": {
@@ -1,5 +1,5 @@
1
1
  {
2
- "version": "1.5.1",
2
+ "version": "1.6.0",
3
3
  "languages": [
4
4
  "de",
5
5
  "en"
@@ -1,5 +1,5 @@
1
1
  {
2
- "version": "1.5.1",
2
+ "version": "1.6.0",
3
3
  "messages": {
4
4
  "network.no_connection": {
5
5
  "text": "Keine Verbindung zum Server. Bitte die Internetverbindung prüfen und erneut versuchen."
@@ -1,5 +1,5 @@
1
1
  {
2
- "version": "1.5.1",
2
+ "version": "1.6.0",
3
3
  "baseUrls": {
4
4
  "public": "https://api.kasseneck.at/v3",
5
5
  "pos": "https://kasse.kasseneck.at/api/v3"
@@ -81,7 +81,12 @@
81
81
  "extendReservation",
82
82
  "releaseReservation",
83
83
  "getReservation",
84
- "listReservations"
84
+ "listReservations",
85
+ "createVariantGroup",
86
+ "updateVariantGroup",
87
+ "getVariantGroup",
88
+ "listVariantGroups",
89
+ "addVariant"
85
90
  ],
86
91
  "pos": [
87
92
  "cancelReceipt",
@@ -202,7 +207,12 @@
202
207
  "extendReservation",
203
208
  "releaseReservation",
204
209
  "getReservation",
205
- "listReservations"
210
+ "listReservations",
211
+ "createVariantGroup",
212
+ "updateVariantGroup",
213
+ "getVariantGroup",
214
+ "listVariantGroups",
215
+ "addVariant"
206
216
  ],
207
217
  "pos": [
208
218
  "pairRegisterDevice",
@@ -237,6 +247,7 @@
237
247
  },
238
248
  "unknownOutcomeCalls": [
239
249
  "activateCashregister",
250
+ "addVariant",
240
251
  "cancelInvoice",
241
252
  "cancelReceipt",
242
253
  "changeStockCondition",
@@ -250,6 +261,7 @@
250
261
  "createPrintJob",
251
262
  "createReceipt",
252
263
  "createReservation",
264
+ "createVariantGroup",
253
265
  "createWebhook",
254
266
  "deactivateArticle",
255
267
  "deletePartnerWebhook",
@@ -286,6 +298,7 @@
286
298
  "updateCustomer",
287
299
  "updateInvoiceItem",
288
300
  "updatePartnerWebhook",
301
+ "updateVariantGroup",
289
302
  "updateWebhook",
290
303
  "withdrawInvoiceItem"
291
304
  ],
@@ -1070,7 +1083,12 @@
1070
1083
  "extendReservation",
1071
1084
  "releaseReservation",
1072
1085
  "getReservation",
1073
- "listReservations"
1086
+ "listReservations",
1087
+ "createVariantGroup",
1088
+ "updateVariantGroup",
1089
+ "getVariantGroup",
1090
+ "listVariantGroups",
1091
+ "addVariant"
1074
1092
  ],
1075
1093
  "inventoryErrorCodes": [
1076
1094
  "validation",
@@ -1133,7 +1151,12 @@
1133
1151
  "reason_required",
1134
1152
  "insufficient_available",
1135
1153
  "reservation_not_found",
1136
- "reservation_not_active"
1154
+ "reservation_not_active",
1155
+ "variant_group_not_found",
1156
+ "variant_already_exists",
1157
+ "invalid_variant_attributes",
1158
+ "variant_group_inactive",
1159
+ "variant_limit"
1137
1160
  ],
1138
1161
  "inventoryRequestErrorCodes": [
1139
1162
  "account_not_found",
@@ -1182,7 +1205,9 @@
1182
1205
  "article.deactivated",
1183
1206
  "reservation.expired",
1184
1207
  "reservation.released",
1185
- "reservation.redeemed"
1208
+ "reservation.redeemed",
1209
+ "variant_group.created",
1210
+ "variant_group.updated"
1186
1211
  ],
1187
1212
  "landedCostAllocations": [
1188
1213
  "value",
@@ -2,7 +2,7 @@
2
2
  "_hinweis": "Vertrags-Export /v3, erzeugt aus den echten Handlern (npm run vertrag:v3 in functions/ und functions-kasse/). Nicht von Hand pflegen.",
3
3
  "_quelle": {
4
4
  "sha256": "61892b91e6a8a0f273dcfdeb63809d92d98fb837a3c0baa782f03b29dd3b8b7a",
5
- "inputsSha256": "b9dd3d819a4be22c35a201a788e7fcf947d90b6af7d9e41d3d74be3b48f8aa8e",
5
+ "inputsSha256": "8490315ac4059c3b26274649b8c3323295b26a6422a02da3a3cc241338cc797b",
6
6
  "backendPackage": "@kreiseck/kasseneck-api@0.33.0",
7
7
  "inputs": [
8
8
  "docs/api/fehlercodes.json",
@@ -2,7 +2,7 @@
2
2
  "_hinweis": "Vertrags-Export /v3, erzeugt aus den echten Handlern (npm run vertrag:v3 in functions/ und functions-kasse/). Nicht von Hand pflegen.",
3
3
  "_quelle": {
4
4
  "sha256": "265bcf3e14cdea33ec3c4df399eb487d40c0d7793ee23d2ee12bcf664bcad550",
5
- "inputsSha256": "b9dd3d819a4be22c35a201a788e7fcf947d90b6af7d9e41d3d74be3b48f8aa8e",
5
+ "inputsSha256": "8490315ac4059c3b26274649b8c3323295b26a6422a02da3a3cc241338cc797b",
6
6
  "backendPackage": "@kreiseck/kasseneck-api@0.33.0",
7
7
  "inputs": [
8
8
  "docs/api/fehlercodes.json",
@@ -2,7 +2,7 @@
2
2
  "_hinweis": "Vertrags-Export /v3, erzeugt aus den echten Handlern (npm run vertrag:v3 in functions/ und functions-kasse/). Nicht von Hand pflegen.",
3
3
  "_quelle": {
4
4
  "sha256": "aad7147db385e4a6d88ba5fb59d24c04e7e1f01195778aa70ccdc68fb90adcd7",
5
- "inputsSha256": "b9dd3d819a4be22c35a201a788e7fcf947d90b6af7d9e41d3d74be3b48f8aa8e",
5
+ "inputsSha256": "8490315ac4059c3b26274649b8c3323295b26a6422a02da3a3cc241338cc797b",
6
6
  "backendPackage": "@kreiseck/kasseneck-api@0.33.0",
7
7
  "inputs": [
8
8
  "docs/api/fehlercodes.json",
@@ -4,7 +4,7 @@
4
4
  "default": {
5
5
  "sha256": "bf1e7c100e328517c72d5badf31904183efe22d1fddec308e2fe2722068854bc",
6
6
  "head": [],
7
- "inputsSha256": "3a500a9049bc0b7b3955d14e4df69e7c690270bdd6a31071c2ef50f08a9b30cb",
7
+ "inputsSha256": "10b8007647d9d9ba2a1c904b320f1ad5a97f66ab2ae3f4511ba18bfcbd616dea",
8
8
  "backendPackage": "@kreiseck/kasseneck-api@0.33.0",
9
9
  "inputs": [
10
10
  "functions-kasse/test/unit/fixtures/kassen-welt.js",
@@ -24,7 +24,7 @@
24
24
  "channel",
25
25
  "note"
26
26
  ],
27
- "inputsSha256": "d1a29138f9bfdb32a861df2bc101f5be672e182c1387aa4f8f1786ab8de8fcc1",
27
+ "inputsSha256": "35cb1bb7c33a3eb238dd7a4a38ef604df1170e108afb3a8800fbf17ea6d3a3cb",
28
28
  "backendPackage": "@kreiseck/kasseneck-api@0.14.0",
29
29
  "inputs": [
30
30
  "functions-kasse/gemeinsam/api-rand.js",