@kreiseck/kasseneck-api 1.5.1 → 1.7.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.
- package/CHANGELOG.md +78 -0
- package/README.md +119 -3
- package/dist/cjs/client/aufrufe.d.ts +3 -3
- package/dist/cjs/client/aufrufe.js +17 -0
- package/dist/cjs/index.d.ts +1 -1
- package/dist/cjs/inventory/api.d.ts +10 -2
- package/dist/cjs/inventory/api.js +8 -1
- package/dist/cjs/inventory/endpunkte.d.ts +2 -1
- package/dist/cjs/inventory/endpunkte.js +2 -1
- package/dist/cjs/inventory/index.d.ts +5 -3
- package/dist/cjs/inventory/index.js +15 -3
- package/dist/cjs/inventory/lesen.d.ts +7 -1
- package/dist/cjs/inventory/lesen.js +75 -0
- package/dist/cjs/inventory/schreiben.d.ts +23 -1
- package/dist/cjs/inventory/schreiben.js +18 -9
- package/dist/cjs/inventory/typen.d.ts +156 -2
- package/dist/cjs/inventory/varianten.d.ts +67 -0
- package/dist/cjs/inventory/varianten.js +150 -0
- package/dist/cjs/inventory/vertrag.d.ts +40 -5
- package/dist/cjs/inventory/vertrag.js +51 -3
- package/dist/cjs/inventory/webhook.d.ts +5 -2
- package/dist/cjs/inventory/webhook.js +8 -2
- package/dist/cjs/models/cashregister.d.ts +21 -0
- package/dist/cjs/models/cashregister.js +20 -0
- package/dist/cjs/models/index.d.ts +1 -1
- package/dist/cjs/stored/vokabular.d.ts +1 -1
- package/dist/cjs/stored/vokabular.js +1 -1
- package/dist/cjs/version.d.ts +1 -1
- package/dist/cjs/version.js +1 -1
- package/dist/esm/client/aufrufe.d.ts +3 -3
- package/dist/esm/client/aufrufe.js +17 -0
- package/dist/esm/index.d.ts +1 -1
- package/dist/esm/inventory/api.d.ts +10 -2
- package/dist/esm/inventory/api.js +8 -1
- package/dist/esm/inventory/endpunkte.d.ts +2 -1
- package/dist/esm/inventory/endpunkte.js +2 -1
- package/dist/esm/inventory/index.d.ts +5 -3
- package/dist/esm/inventory/index.js +4 -2
- package/dist/esm/inventory/lesen.d.ts +7 -1
- package/dist/esm/inventory/lesen.js +74 -0
- package/dist/esm/inventory/schreiben.d.ts +23 -1
- package/dist/esm/inventory/schreiben.js +13 -10
- package/dist/esm/inventory/typen.d.ts +156 -2
- package/dist/esm/inventory/varianten.d.ts +67 -0
- package/dist/esm/inventory/varianten.js +142 -0
- package/dist/esm/inventory/vertrag.d.ts +40 -5
- package/dist/esm/inventory/vertrag.js +50 -2
- package/dist/esm/inventory/webhook.d.ts +5 -2
- package/dist/esm/inventory/webhook.js +9 -3
- package/dist/esm/models/cashregister.d.ts +21 -0
- package/dist/esm/models/cashregister.js +20 -0
- package/dist/esm/models/index.d.ts +1 -1
- package/dist/esm/stored/vokabular.d.ts +1 -1
- package/dist/esm/stored/vokabular.js +1 -1
- 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 +31 -6
- package/fixtures/v3/antworten/belege.json +1 -1
- package/fixtures/v3/antworten/belegmail.json +1 -1
- package/fixtures/v3/antworten/kasse-belege.json +1 -1
- package/fixtures/v3/antworten/kasse.json +2 -2
- package/fixtures/v3/antworten/lager.json +2396 -4
- package/fixtures/v3/antworten/rechnungen.json +1 -1
- package/fixtures/v3/antworten/storno.json +1 -1
- package/fixtures/v3/stored/belege.json +1 -1
- package/fixtures/v3/stored/kasse.json +2 -2
- package/fixtures/v3/stored/rechnungen.json +1 -1
- package/fixtures/v3/v3-vokabular.json +151 -6
- package/fixtures/v3/zahlbetrag-faelle.json +1 -1
- package/package.json +1 -1
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* Der Vertrag der Lager-API (Backend Stufe 5a lesen, 5b schreiben und
|
|
3
|
-
* reservieren) als Daten: Endpunkte, Wertkataloge, Ereignisse, Fehler- und
|
|
3
|
+
* reservieren, 5c Varianten) als Daten: Endpunkte, Wertkataloge, Ereignisse, Fehler- und
|
|
4
4
|
* Hinweiscodes, englisch wie am Draht `/v3`.
|
|
5
5
|
*
|
|
6
6
|
* Quelle ist der Vertrags-Export des Backends (`fixtures/v3/v3-vokabular.json`):
|
|
@@ -11,8 +11,8 @@
|
|
|
11
11
|
* und `warningCodes.inventory`. `test/inventory.test.ts` haelt jede Liste
|
|
12
12
|
* deckungsgleich mit dieser Datei; nichts hier wird geraten.
|
|
13
13
|
*/
|
|
14
|
-
/** Die
|
|
15
|
-
export declare const INVENTORY_ENDPOINTS: readonly ["getArticle", "listArticles", "lookupArticleByCode", "listLocations", "getStock", "listStock", "listStockMovements", "createWebhook", "updateWebhook", "deleteWebhook", "listWebhooks", "sendWebhookTest", "rotateWebhookSecret", "listWebhookDeliveries", "createArticle", "updateArticle", "deactivateArticle", "receiveGoods", "transferStock", "recordStockLoss", "changeStockCondition", "reverseStockMovement", "createReservation", "extendReservation", "releaseReservation", "getReservation", "listReservations"];
|
|
14
|
+
/** Die 32 Endpunkte (14 aus 5a, 13 aus 5b, 5 aus 5c), in der Reihenfolge von `endpoints.public`. */
|
|
15
|
+
export declare const INVENTORY_ENDPOINTS: readonly ["getArticle", "listArticles", "lookupArticleByCode", "listLocations", "getStock", "listStock", "listStockMovements", "createWebhook", "updateWebhook", "deleteWebhook", "listWebhooks", "sendWebhookTest", "rotateWebhookSecret", "listWebhookDeliveries", "createArticle", "updateArticle", "deactivateArticle", "receiveGoods", "transferStock", "recordStockLoss", "changeStockCondition", "reverseStockMovement", "createReservation", "extendReservation", "releaseReservation", "getReservation", "listReservations", "createVariantGroup", "updateVariantGroup", "getVariantGroup", "listVariantGroups", "addVariant"];
|
|
16
16
|
export type InventoryEndpoint = (typeof INVENTORY_ENDPOINTS)[number];
|
|
17
17
|
/** Art eines Standorts (Katalog `STANDORT_TYP`). */
|
|
18
18
|
export declare const LOCATION_TYPES: readonly ["warehouse", "store", "vehicle", "other"];
|
|
@@ -52,8 +52,12 @@ export type WebhookDeliveryStatus = (typeof WEBHOOK_DELIVERY_STATUSES)[number];
|
|
|
52
52
|
* wie `getReservation`, mit dem Status danach: `reservation.released` und
|
|
53
53
|
* `reservation.redeemed` kommen bei jeder wirksamen Freigabe bzw. Einloesung,
|
|
54
54
|
* auch einer teilweisen (dann bleibt der Status `active`).
|
|
55
|
+
* `variant_group.created` und `variant_group.updated` (seit 1.6.0) tragen die
|
|
56
|
+
* Variantengruppe wie `getVariantGroup`; `updated` kommt nur bei einer aussen
|
|
57
|
+
* sichtbaren Aenderung (neuer Wert, neue oder stillgelegte Variante, Name,
|
|
58
|
+
* Vorgaben, Stilllegen der Gruppe).
|
|
55
59
|
*/
|
|
56
|
-
export declare const INVENTORY_WEBHOOK_EVENTS: readonly ["stock.changed", "stock.below_minimum", "article.created", "article.updated", "article.deactivated", "reservation.expired", "reservation.released", "reservation.redeemed"];
|
|
60
|
+
export declare const INVENTORY_WEBHOOK_EVENTS: readonly ["stock.changed", "stock.below_minimum", "article.created", "article.updated", "article.deactivated", "reservation.expired", "reservation.released", "reservation.redeemed", "variant_group.created", "variant_group.updated"];
|
|
57
61
|
export type InventoryWebhookEventType = (typeof INVENTORY_WEBHOOK_EVENTS)[number];
|
|
58
62
|
/**
|
|
59
63
|
* Die Felder der Huelle jeder Zustellung, in der Reihenfolge am Draht. Statt
|
|
@@ -81,8 +85,21 @@ export declare const INVENTORY_LIST_LIMIT_MAX = 200;
|
|
|
81
85
|
* [inventoryShortfalls]), `code_taken` und `external_id_taken` (mit `field` und
|
|
82
86
|
* `articleId` des Artikels, dem der Code gehoert), `stock_kind_locked`,
|
|
83
87
|
* `reservation_not_found`, `reservation_not_active` …
|
|
88
|
+
*
|
|
89
|
+
* Seit 1.6.0 dahinter die Codes der Variantengruppen: `variant_group_not_found`
|
|
90
|
+
* (unbekannte Kennung), `variant_already_exists` (die Kombination gibt es in der
|
|
91
|
+
* Gruppe schon, dann mit `articleId` der bestehenden Variante, oder sie steht
|
|
92
|
+
* zweimal in `variants[]`; jeweils mit `field`),
|
|
93
|
+
* `invalid_variant_attributes` (ein Merkmal fehlt, ist unbekannt oder sein Wert
|
|
94
|
+
* steht nicht in der Werteliste; `field` und `errors[]`),
|
|
95
|
+
* `variant_group_inactive` (stillgelegte Gruppe: kein `addVariant`, keine
|
|
96
|
+
* Aenderung ausser erneutem Stilllegen) und `variant_limit` (mehr als
|
|
97
|
+
* [VARIANT_GROUP_ACTIVE_MAX] aktive Varianten je Gruppe). Wiederverwendet:
|
|
98
|
+
* `too_many_positions` traegt bei Varianten `field` (`variants`,
|
|
99
|
+
* `createMatrix` bzw. `externalIds` bei `addVariant`): die Anfrage braeuchte
|
|
100
|
+
* mehr Schreibvorgaenge, als in einen Vorgang passen; geschrieben wurde nichts.
|
|
84
101
|
*/
|
|
85
|
-
export declare const INVENTORY_ERROR_CODES: readonly ["validation", "invalid_cursor", "article_not_found", "webhook_not_found", "webhook_limit", "invalid_webhook_url", "event_not_subscribed", "webhook_inactive", "inventory_api_not_enabled", "module_inactive", "rate_limited", "server_error", "idempotency_key_required", "idempotency_conflict", "location_not_found", "location_inactive", "invalid_location", "invalid_locations", "invalid_transfer", "operation_not_found", "already_reversed", "reversal_not_possible", "reversal_not_supported", "exceeds_stock", "no_positions", "too_many_positions", "invalid_step", "invalid_quantity", "invalid_amount", "invalid_price", "negative_value", "invalid_reason", "note_required", "withdrawal_type_required", "invalid_method", "invalid_stock_kind", "invalid_minimum", "invalid_dimensions", "weight_missing", "invalid_landed_cost", "invalid_distribution", "landed_costs_mismatch", "return_totals_mismatch", "lot_not_found", "invalid_serial", "serial_required", "serial_not_allowed", "serial_already_exists", "serial_not_in_stock", "code_taken", "external_id_taken", "group_not_found", "revenue_group_not_found", "stock_kind_locked", "article_inactive", "invalid_position", "invalid_condition", "reason_required", "insufficient_available", "reservation_not_found", "reservation_not_active"];
|
|
102
|
+
export declare const INVENTORY_ERROR_CODES: readonly ["validation", "invalid_cursor", "article_not_found", "webhook_not_found", "webhook_limit", "invalid_webhook_url", "event_not_subscribed", "webhook_inactive", "inventory_api_not_enabled", "module_inactive", "rate_limited", "server_error", "idempotency_key_required", "idempotency_conflict", "location_not_found", "location_inactive", "invalid_location", "invalid_locations", "invalid_transfer", "operation_not_found", "already_reversed", "reversal_not_possible", "reversal_not_supported", "exceeds_stock", "no_positions", "too_many_positions", "invalid_step", "invalid_quantity", "invalid_amount", "invalid_price", "negative_value", "invalid_reason", "note_required", "withdrawal_type_required", "invalid_method", "invalid_stock_kind", "invalid_minimum", "invalid_dimensions", "weight_missing", "invalid_landed_cost", "invalid_distribution", "landed_costs_mismatch", "return_totals_mismatch", "lot_not_found", "invalid_serial", "serial_required", "serial_not_allowed", "serial_already_exists", "serial_not_in_stock", "code_taken", "external_id_taken", "group_not_found", "revenue_group_not_found", "stock_kind_locked", "article_inactive", "invalid_position", "invalid_condition", "reason_required", "insufficient_available", "reservation_not_found", "reservation_not_active", "variant_group_not_found", "variant_already_exists", "invalid_variant_attributes", "variant_group_inactive", "variant_limit"];
|
|
86
103
|
export type InventoryErrorCode = (typeof INVENTORY_ERROR_CODES)[number];
|
|
87
104
|
/**
|
|
88
105
|
* Codes, die Anmeldung und Rand auf jedem Lager-Aufruf erzeugen koennen,
|
|
@@ -134,3 +151,21 @@ export declare const INVENTORY_IDEMPOTENCY_KEY_MAX = 120;
|
|
|
134
151
|
/** Kuerzeste und laengste Haltedauer einer Reservierung in Minuten (`expiresInMinutes`, 30 Tage). */
|
|
135
152
|
export declare const RESERVATION_MINUTES_MIN = 5;
|
|
136
153
|
export declare const RESERVATION_MINUTES_MAX = 43200;
|
|
154
|
+
/**
|
|
155
|
+
* Grenzen einer Variantengruppe, wie das Backend sie prueft. Das Paket prueft
|
|
156
|
+
* sie **nicht** vor dem Senden: der Server darf sie anheben, ohne dass eine
|
|
157
|
+
* aeltere Paketversion dann faelschlich abweist. Wer darueber liegt, bekommt
|
|
158
|
+
* `validation` (Merkmale, Werte, Matrix, `variants[]`) bzw. `variant_limit`.
|
|
159
|
+
*
|
|
160
|
+
* - [VARIANT_ATTRIBUTES_MAX] Merkmale je Gruppe (Schluessel `^[a-z0-9_]{1,32}$`,
|
|
161
|
+
* eindeutig; `__…__` ist reserviert),
|
|
162
|
+
* - [VARIANT_VALUES_MAX] Werte je Merkmal (je 1–30 Zeichen, eindeutig ohne
|
|
163
|
+
* Gross/Klein),
|
|
164
|
+
* - [VARIANT_MATRIX_MAX] Kombinationen bei `createMatrix: true` und hoechstens
|
|
165
|
+
* so viele Eintraege in `variants[]` je Anfrage,
|
|
166
|
+
* - [VARIANT_GROUP_ACTIVE_MAX] aktive Varianten je Gruppe.
|
|
167
|
+
*/
|
|
168
|
+
export declare const VARIANT_ATTRIBUTES_MAX = 3;
|
|
169
|
+
export declare const VARIANT_VALUES_MAX = 30;
|
|
170
|
+
export declare const VARIANT_MATRIX_MAX = 100;
|
|
171
|
+
export declare const VARIANT_GROUP_ACTIVE_MAX = 250;
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
/**
|
|
3
3
|
* Der Vertrag der Lager-API (Backend Stufe 5a lesen, 5b schreiben und
|
|
4
|
-
* reservieren) als Daten: Endpunkte, Wertkataloge, Ereignisse, Fehler- und
|
|
4
|
+
* reservieren, 5c Varianten) als Daten: Endpunkte, Wertkataloge, Ereignisse, Fehler- und
|
|
5
5
|
* Hinweiscodes, englisch wie am Draht `/v3`.
|
|
6
6
|
*
|
|
7
7
|
* Quelle ist der Vertrags-Export des Backends (`fixtures/v3/v3-vokabular.json`):
|
|
@@ -13,8 +13,8 @@
|
|
|
13
13
|
* deckungsgleich mit dieser Datei; nichts hier wird geraten.
|
|
14
14
|
*/
|
|
15
15
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
16
|
-
exports.RESERVATION_MINUTES_MAX = exports.RESERVATION_MINUTES_MIN = exports.INVENTORY_IDEMPOTENCY_KEY_MAX = exports.RESERVATION_STATUSES = exports.LANDED_COST_ALLOCATIONS = exports.LANDED_COST_TYPES = exports.WITHDRAWAL_TYPES = exports.STOCK_LOSS_REASONS = exports.STOCK_KINDS = exports.INVENTORY_WARNING_CODES = exports.INVENTORY_REQUEST_ERROR_CODES = exports.INVENTORY_ERROR_CODES = exports.INVENTORY_LIST_LIMIT_MAX = exports.INVENTORY_WEBHOOK_LIMIT = exports.INVENTORY_WEBHOOK_ENVELOPE_FIELDS = exports.INVENTORY_WEBHOOK_EVENTS = exports.WEBHOOK_DELIVERY_STATUSES = exports.STOCK_CHANGE_CAUSES = exports.STOCK_CONDITIONS = exports.STOCK_MOVEMENT_SOURCES = exports.STOCK_MOVEMENT_TYPES = exports.LOCATION_TYPES = exports.INVENTORY_ENDPOINTS = void 0;
|
|
17
|
-
/** Die
|
|
16
|
+
exports.VARIANT_GROUP_ACTIVE_MAX = exports.VARIANT_MATRIX_MAX = exports.VARIANT_VALUES_MAX = exports.VARIANT_ATTRIBUTES_MAX = exports.RESERVATION_MINUTES_MAX = exports.RESERVATION_MINUTES_MIN = exports.INVENTORY_IDEMPOTENCY_KEY_MAX = exports.RESERVATION_STATUSES = exports.LANDED_COST_ALLOCATIONS = exports.LANDED_COST_TYPES = exports.WITHDRAWAL_TYPES = exports.STOCK_LOSS_REASONS = exports.STOCK_KINDS = exports.INVENTORY_WARNING_CODES = exports.INVENTORY_REQUEST_ERROR_CODES = exports.INVENTORY_ERROR_CODES = exports.INVENTORY_LIST_LIMIT_MAX = exports.INVENTORY_WEBHOOK_LIMIT = exports.INVENTORY_WEBHOOK_ENVELOPE_FIELDS = exports.INVENTORY_WEBHOOK_EVENTS = exports.WEBHOOK_DELIVERY_STATUSES = exports.STOCK_CHANGE_CAUSES = exports.STOCK_CONDITIONS = exports.STOCK_MOVEMENT_SOURCES = exports.STOCK_MOVEMENT_TYPES = exports.LOCATION_TYPES = exports.INVENTORY_ENDPOINTS = void 0;
|
|
17
|
+
/** Die 32 Endpunkte (14 aus 5a, 13 aus 5b, 5 aus 5c), in der Reihenfolge von `endpoints.public`. */
|
|
18
18
|
exports.INVENTORY_ENDPOINTS = [
|
|
19
19
|
'getArticle',
|
|
20
20
|
'listArticles',
|
|
@@ -43,6 +43,11 @@ exports.INVENTORY_ENDPOINTS = [
|
|
|
43
43
|
'releaseReservation',
|
|
44
44
|
'getReservation',
|
|
45
45
|
'listReservations',
|
|
46
|
+
'createVariantGroup',
|
|
47
|
+
'updateVariantGroup',
|
|
48
|
+
'getVariantGroup',
|
|
49
|
+
'listVariantGroups',
|
|
50
|
+
'addVariant',
|
|
46
51
|
];
|
|
47
52
|
/** Art eines Standorts (Katalog `STANDORT_TYP`). */
|
|
48
53
|
exports.LOCATION_TYPES = ['warehouse', 'store', 'vehicle', 'other'];
|
|
@@ -116,6 +121,10 @@ exports.WEBHOOK_DELIVERY_STATUSES = ['delivered', 'pending', 'failed', 'dropped'
|
|
|
116
121
|
* wie `getReservation`, mit dem Status danach: `reservation.released` und
|
|
117
122
|
* `reservation.redeemed` kommen bei jeder wirksamen Freigabe bzw. Einloesung,
|
|
118
123
|
* auch einer teilweisen (dann bleibt der Status `active`).
|
|
124
|
+
* `variant_group.created` und `variant_group.updated` (seit 1.6.0) tragen die
|
|
125
|
+
* Variantengruppe wie `getVariantGroup`; `updated` kommt nur bei einer aussen
|
|
126
|
+
* sichtbaren Aenderung (neuer Wert, neue oder stillgelegte Variante, Name,
|
|
127
|
+
* Vorgaben, Stilllegen der Gruppe).
|
|
119
128
|
*/
|
|
120
129
|
exports.INVENTORY_WEBHOOK_EVENTS = [
|
|
121
130
|
'stock.changed',
|
|
@@ -126,6 +135,8 @@ exports.INVENTORY_WEBHOOK_EVENTS = [
|
|
|
126
135
|
'reservation.expired',
|
|
127
136
|
'reservation.released',
|
|
128
137
|
'reservation.redeemed',
|
|
138
|
+
'variant_group.created',
|
|
139
|
+
'variant_group.updated',
|
|
129
140
|
];
|
|
130
141
|
/**
|
|
131
142
|
* Die Felder der Huelle jeder Zustellung, in der Reihenfolge am Draht. Statt
|
|
@@ -153,6 +164,19 @@ exports.INVENTORY_LIST_LIMIT_MAX = 200;
|
|
|
153
164
|
* [inventoryShortfalls]), `code_taken` und `external_id_taken` (mit `field` und
|
|
154
165
|
* `articleId` des Artikels, dem der Code gehoert), `stock_kind_locked`,
|
|
155
166
|
* `reservation_not_found`, `reservation_not_active` …
|
|
167
|
+
*
|
|
168
|
+
* Seit 1.6.0 dahinter die Codes der Variantengruppen: `variant_group_not_found`
|
|
169
|
+
* (unbekannte Kennung), `variant_already_exists` (die Kombination gibt es in der
|
|
170
|
+
* Gruppe schon, dann mit `articleId` der bestehenden Variante, oder sie steht
|
|
171
|
+
* zweimal in `variants[]`; jeweils mit `field`),
|
|
172
|
+
* `invalid_variant_attributes` (ein Merkmal fehlt, ist unbekannt oder sein Wert
|
|
173
|
+
* steht nicht in der Werteliste; `field` und `errors[]`),
|
|
174
|
+
* `variant_group_inactive` (stillgelegte Gruppe: kein `addVariant`, keine
|
|
175
|
+
* Aenderung ausser erneutem Stilllegen) und `variant_limit` (mehr als
|
|
176
|
+
* [VARIANT_GROUP_ACTIVE_MAX] aktive Varianten je Gruppe). Wiederverwendet:
|
|
177
|
+
* `too_many_positions` traegt bei Varianten `field` (`variants`,
|
|
178
|
+
* `createMatrix` bzw. `externalIds` bei `addVariant`): die Anfrage braeuchte
|
|
179
|
+
* mehr Schreibvorgaenge, als in einen Vorgang passen; geschrieben wurde nichts.
|
|
156
180
|
*/
|
|
157
181
|
exports.INVENTORY_ERROR_CODES = [
|
|
158
182
|
'validation',
|
|
@@ -216,6 +240,11 @@ exports.INVENTORY_ERROR_CODES = [
|
|
|
216
240
|
'insufficient_available',
|
|
217
241
|
'reservation_not_found',
|
|
218
242
|
'reservation_not_active',
|
|
243
|
+
'variant_group_not_found',
|
|
244
|
+
'variant_already_exists',
|
|
245
|
+
'invalid_variant_attributes',
|
|
246
|
+
'variant_group_inactive',
|
|
247
|
+
'variant_limit',
|
|
219
248
|
];
|
|
220
249
|
/**
|
|
221
250
|
* Codes, die Anmeldung und Rand auf jedem Lager-Aufruf erzeugen koennen,
|
|
@@ -289,3 +318,22 @@ exports.INVENTORY_IDEMPOTENCY_KEY_MAX = 120;
|
|
|
289
318
|
/** Kuerzeste und laengste Haltedauer einer Reservierung in Minuten (`expiresInMinutes`, 30 Tage). */
|
|
290
319
|
exports.RESERVATION_MINUTES_MIN = 5;
|
|
291
320
|
exports.RESERVATION_MINUTES_MAX = 43_200;
|
|
321
|
+
// ---- Varianten (Backend Stufe 5c, seit 1.6.0) -----------------------------------
|
|
322
|
+
/**
|
|
323
|
+
* Grenzen einer Variantengruppe, wie das Backend sie prueft. Das Paket prueft
|
|
324
|
+
* sie **nicht** vor dem Senden: der Server darf sie anheben, ohne dass eine
|
|
325
|
+
* aeltere Paketversion dann faelschlich abweist. Wer darueber liegt, bekommt
|
|
326
|
+
* `validation` (Merkmale, Werte, Matrix, `variants[]`) bzw. `variant_limit`.
|
|
327
|
+
*
|
|
328
|
+
* - [VARIANT_ATTRIBUTES_MAX] Merkmale je Gruppe (Schluessel `^[a-z0-9_]{1,32}$`,
|
|
329
|
+
* eindeutig; `__…__` ist reserviert),
|
|
330
|
+
* - [VARIANT_VALUES_MAX] Werte je Merkmal (je 1–30 Zeichen, eindeutig ohne
|
|
331
|
+
* Gross/Klein),
|
|
332
|
+
* - [VARIANT_MATRIX_MAX] Kombinationen bei `createMatrix: true` und hoechstens
|
|
333
|
+
* so viele Eintraege in `variants[]` je Anfrage,
|
|
334
|
+
* - [VARIANT_GROUP_ACTIVE_MAX] aktive Varianten je Gruppe.
|
|
335
|
+
*/
|
|
336
|
+
exports.VARIANT_ATTRIBUTES_MAX = 3;
|
|
337
|
+
exports.VARIANT_VALUES_MAX = 30;
|
|
338
|
+
exports.VARIANT_MATRIX_MAX = 100;
|
|
339
|
+
exports.VARIANT_GROUP_ACTIVE_MAX = 250;
|
|
@@ -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 (
|
|
43
|
-
*
|
|
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
|
*
|
|
@@ -65,10 +65,13 @@ function kaputt(grund) {
|
|
|
65
65
|
* Liest eine Zustellung als typisiertes Ereignis. Vorher die Signatur pruefen
|
|
66
66
|
* ([verifyInventoryWebhookSignature]).
|
|
67
67
|
*
|
|
68
|
-
* - Ein Ereignis, das diese Paketversion nicht kennt (
|
|
69
|
-
*
|
|
68
|
+
* - Ein Ereignis, das diese Paketversion nicht kennt (eines einer spaeteren
|
|
69
|
+
* Stufe), ergibt `null`: mit 2xx antworten und uebergehen.
|
|
70
70
|
* - `reservation.expired|released|redeemed` tragen die Reservierung wie
|
|
71
71
|
* `getReservation`, mit dem Status nach dem Vorgang (seit 1.5.0).
|
|
72
|
+
* - `variant_group.created|updated` tragen die Gruppe wie `getVariantGroup`
|
|
73
|
+
* (seit 1.6.0). Zwei Zustellungen koennen sich ueberholen: den Stand nur
|
|
74
|
+
* uebernehmen, wenn `data.updatedAt` neuer ist als der gespeicherte.
|
|
72
75
|
* - Ein Rumpf, der keine Huelle ist, oder eine Bruchzahl in einer Menge wirft
|
|
73
76
|
* `KasseneckValidationError` (`scope: 'response'`).
|
|
74
77
|
*
|
|
@@ -110,6 +113,9 @@ function parseInventoryWebhookEvent(rawBody) {
|
|
|
110
113
|
case 'reservation.released':
|
|
111
114
|
case 'reservation.redeemed':
|
|
112
115
|
return { ...huelle, type: huelle.type, data: (0, lesen_js_1.reservierung)(ort, data) };
|
|
116
|
+
case 'variant_group.created':
|
|
117
|
+
case 'variant_group.updated':
|
|
118
|
+
return { ...huelle, type: huelle.type, data: (0, lesen_js_1.variantengruppe)(ort, data) };
|
|
113
119
|
default:
|
|
114
120
|
return { ...huelle, type: huelle.type, data: (0, lesen_js_1.artikel)(ort, data) };
|
|
115
121
|
}
|
|
@@ -38,8 +38,23 @@ export interface Cashregister {
|
|
|
38
38
|
signatureId?: string;
|
|
39
39
|
/** Lager-Standort der Kasse (Lager-Kern Stufe 2); fehlt = Standard-Standort des Betriebs. */
|
|
40
40
|
stockLocationId?: string;
|
|
41
|
+
/**
|
|
42
|
+
* Eigene Abmelde-Werte dieser Kasse; fehlt, wenn die Kasse keine eigenen hat
|
|
43
|
+
* (dann gelten die Werte des Betriebs).
|
|
44
|
+
*/
|
|
45
|
+
autoLogout?: CashregisterAutoLogout;
|
|
41
46
|
onboarding: CashregisterOnboarding;
|
|
42
47
|
}
|
|
48
|
+
/**
|
|
49
|
+
* Automatisches Abmelden an der Kasse. Beide Felder sind einzeln optional: der
|
|
50
|
+
* Server sendet nur, was die Kasse selbst gesetzt hat.
|
|
51
|
+
*/
|
|
52
|
+
export interface CashregisterAutoLogout {
|
|
53
|
+
/** Abmeldung nach Leerlauf in Minuten; `0` = aus. */
|
|
54
|
+
autoLogoutMinutes?: 0 | 1 | 5 | 15 | 30;
|
|
55
|
+
/** Nach jedem Verkauf abmelden. */
|
|
56
|
+
logoutAfterSale?: boolean;
|
|
57
|
+
}
|
|
43
58
|
/**
|
|
44
59
|
* Stand der Inbetriebnahme (RKSV): Kasse bei FinanzOnline registriert,
|
|
45
60
|
* Startbeleg erzeugt, Startbeleg uebermittelt. Die drei Kennzeichen entscheiden
|
|
@@ -61,9 +76,15 @@ export interface CashregisterPayload {
|
|
|
61
76
|
create_time?: string | null;
|
|
62
77
|
signature_id?: string | null;
|
|
63
78
|
stockLocationId?: string | null;
|
|
79
|
+
autoLogout?: CashregisterAutoLogoutPayload | null;
|
|
64
80
|
token?: string | null;
|
|
65
81
|
onboarding?: CashregisterOnboardingPayload | null;
|
|
66
82
|
}
|
|
83
|
+
/** `autoLogout` am Draht `/v3`; die Namen sind dieselben wie am Modell. */
|
|
84
|
+
export interface CashregisterAutoLogoutPayload {
|
|
85
|
+
autoLogoutMinutes?: number | null;
|
|
86
|
+
logoutAfterSale?: boolean | null;
|
|
87
|
+
}
|
|
67
88
|
/**
|
|
68
89
|
* `onboarding` am Draht `/v3` (fixtures/v3/antworten/kasse.json): der
|
|
69
90
|
* Startbeleg heisst dort `start_receipt_*`. Die inneren Namen
|
|
@@ -17,6 +17,7 @@ function fromCashregisterPayload(payload, id) {
|
|
|
17
17
|
...(payload.token ? { token: payload.token } : {}),
|
|
18
18
|
...(payload.signature_id ? { signatureId: payload.signature_id } : {}),
|
|
19
19
|
...(payload.stockLocationId ? { stockLocationId: payload.stockLocationId } : {}),
|
|
20
|
+
...autoLogoutFeld(payload.autoLogout),
|
|
20
21
|
onboarding: {
|
|
21
22
|
cashboxRegistered: ob.cashbox_registered === true,
|
|
22
23
|
startReceiptCreated: ob.start_receipt_created === true,
|
|
@@ -27,6 +28,25 @@ function fromCashregisterPayload(payload, id) {
|
|
|
27
28
|
},
|
|
28
29
|
};
|
|
29
30
|
}
|
|
31
|
+
const AUTO_LOGOUT_MINUTEN = new Set([0, 1, 5, 15, 30]);
|
|
32
|
+
/**
|
|
33
|
+
* `autoLogout` gibt es nur, wenn die Nutzlast mindestens einen lesbaren Wert
|
|
34
|
+
* traegt. Eine Minutenzahl ausserhalb von 0/1/5/15/30 wird verworfen statt
|
|
35
|
+
* durchgereicht (ein neuer Server-Wert soll die Kasse nicht unlesbar machen).
|
|
36
|
+
*/
|
|
37
|
+
function autoLogoutFeld(roh) {
|
|
38
|
+
if (roh === null || roh === undefined || typeof roh !== 'object') {
|
|
39
|
+
return {};
|
|
40
|
+
}
|
|
41
|
+
const wert = {};
|
|
42
|
+
if (typeof roh.autoLogoutMinutes === 'number' && AUTO_LOGOUT_MINUTEN.has(roh.autoLogoutMinutes)) {
|
|
43
|
+
wert.autoLogoutMinutes = roh.autoLogoutMinutes;
|
|
44
|
+
}
|
|
45
|
+
if (typeof roh.logoutAfterSale === 'boolean') {
|
|
46
|
+
wert.logoutAfterSale = roh.logoutAfterSale;
|
|
47
|
+
}
|
|
48
|
+
return Object.keys(wert).length === 0 ? {} : { autoLogout: wert };
|
|
49
|
+
}
|
|
30
50
|
/**
|
|
31
51
|
* Ein Zeitfeld, das es nur gibt, wenn die Nutzlast einen lesbaren Zeitstempel
|
|
32
52
|
* traegt. `null` (der Normalfall aus `isoTs`) und unlesbarer Unsinn ergeben
|
|
@@ -7,7 +7,7 @@ export { type PaymentErrorCode, PAYMENT_ERROR_CODES, isPaymentErrorCode, payment
|
|
|
7
7
|
export { type ReceiptEmailErrorCode, type ReceiptEmailVia, RECEIPT_EMAIL_ERROR_CODES, RECEIPT_EMAIL_SEND_ERROR_CODES, type ReceiptEmailSendErrorCode, RECEIPT_EMAIL_VIAS, isReceiptEmailErrorCode, receiptEmailErrorCode, isReceiptEmailError, receiptEmailFieldErrors, type ReceiptEmailFieldError, } from './receipt-email.js';
|
|
8
8
|
export { type ReceiptErrorCode, type ReceiptFieldError, RECEIPT_ERROR_CODES, isReceiptErrorCode, receiptErrorCode, isReceiptError, receiptFieldErrors, } from './receipt-errors.js';
|
|
9
9
|
export { type ReceiptCompany, type ReceiptCompanyPayload, fromReceiptCompanyPayload, receiptCompanyTaxInfo, } from './receipt-company.js';
|
|
10
|
-
export { type Cashregister, type CashregisterOnboarding, type CashregisterPayload, type CashregisterOnboardingPayload, fromCashregisterPayload, } from './cashregister.js';
|
|
10
|
+
export { type Cashregister, type CashregisterOnboarding, type CashregisterPayload, type CashregisterOnboardingPayload, type CashregisterAutoLogout, type CashregisterAutoLogoutPayload, fromCashregisterPayload, } from './cashregister.js';
|
|
11
11
|
export { type ReceiptSummary, type ReceiptSummaryPayload, fromReceiptSummaryPayload, type ZeroKind, ZERO_KINDS, isZeroKind } from './receipt-summary.js';
|
|
12
12
|
export { type ReportMonth, reportMonthFromDate, previousReportMonth, nextReportMonth, reportMonthKey, reportMonthReadable, } from './report-month.js';
|
|
13
13
|
export { type StripeUrlSession, type StripeUrlSessionPayload, toStripeUrlSessionPayload, fromStripeUrlSessionPayload, } from './stripe-url-session.js';
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/** Fingerabdruck des Vertrags-Exports, aus dem diese Datei stammt (`_quelle.sha256`). */
|
|
2
|
-
export declare const VOKABULAR_QUELLE = "
|
|
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 {
|
|
@@ -4,7 +4,7 @@
|
|
|
4
4
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
5
5
|
exports.KATALOGE = exports.ARTIKEL_FELDER = exports.SCHEMAS = exports.VOKABULAR_QUELLE = void 0;
|
|
6
6
|
/** Fingerabdruck des Vertrags-Exports, aus dem diese Datei stammt (`_quelle.sha256`). */
|
|
7
|
-
exports.VOKABULAR_QUELLE = "
|
|
7
|
+
exports.VOKABULAR_QUELLE = "6e6eae018f1e84116d3942cbfd35bc2d5d6f5c5e5551823c7ed88f15ed407744";
|
|
8
8
|
/** Schema je Endpunkt (aussen -> innen) und Wertverweise auf die Kataloge. */
|
|
9
9
|
exports.SCHEMAS = {
|
|
10
10
|
"getReceipt": {
|
package/dist/cjs/version.d.ts
CHANGED
package/dist/cjs/version.js
CHANGED
|
@@ -13,7 +13,7 @@
|
|
|
13
13
|
* umhuellt, muss ihn weiterhin absetzen koennen.
|
|
14
14
|
*/
|
|
15
15
|
import type { TransportBodyFields, TransportCallOptions } from './transport.js';
|
|
16
|
-
export declare const ALL_CALLS: readonly ["activateCashregister", "cancelInvoice", "cancelReceipt", "createCreditNote", "createCustomer", "createCustomerCashregister", "createPartnerCustomer", "checkPartnerCustomerEmail", "createPartnerWebhook", "createPaymentLinkStripe", "createPrintJob", "createReceipt", "deletePartnerWebhook", "downloadDailyReport", "downloadReport", "endRegisterSession", "financeWebService", "generateFullReceiptId", "getCustomer", "getCustomerCredentials", "getCustomerSignatureStatus", "getFirstReceiptDate", "getInvoice", "getInvoicePdf", "getInvoiceSetupStatus", "getInvoiceXml", "getKasseSettings", "getPartnerCustomer", "getPartnerInfo", "getPrintJob", "getReceipt", "getReportV2", "hobexPayApi", "hobexRefundApi", "issueInvoice", "listCustomerCashregisters", "listInvoices", "listBrands", "listMyArticleGroups", "listMyArticles", "listMyCashregisters", "listMyPrinters", "listMyReceipts", "listMyStock", "listMyStockLocations", "listMyTipRecipients", "listPartnerCustomers", "listPartnerWebhookDeliveries", "listPartnerWebhooks", "listRegisterUsersForDevice", "listRegisterSessionsForDevice", "pairRegisterDevice", "recordInvoicePayment", "registerPinLogin", "registerUserLogin", "renewRegisterSession", "reportCustomerContract", "requestCustomerSignature", "searchCustomers", "sendPartnerCustomerFonLink", "sendPartnerWebhookTest", "sendReceiptEmail", "setMyCashregisterStockLocation", "setMyKasseLogo", "setMyKasseSettings", "setMyRegisterDeviceSettings", "stripeCaptureIntent", "unpairRegisterDevice", "rotatePartnerWebhookSecret", "updateCustomer", "updatePartnerWebhook", "getArticle", "listArticles", "lookupArticleByCode", "listLocations", "getStock", "listStock", "listStockMovements", "createWebhook", "updateWebhook", "deleteWebhook", "listWebhooks", "sendWebhookTest", "rotateWebhookSecret", "listWebhookDeliveries", "createArticle", "updateArticle", "deactivateArticle", "receiveGoods", "transferStock", "recordStockLoss", "changeStockCondition", "reverseStockMovement", "createReservation", "extendReservation", "releaseReservation", "getReservation", "listReservations"];
|
|
16
|
+
export declare const ALL_CALLS: readonly ["activateCashregister", "cancelInvoice", "cancelReceipt", "createCreditNote", "createCustomer", "createCustomerCashregister", "createPartnerCustomer", "checkPartnerCustomerEmail", "createPartnerWebhook", "createPaymentLinkStripe", "createPrintJob", "createReceipt", "deletePartnerWebhook", "downloadDailyReport", "downloadReport", "endRegisterSession", "financeWebService", "generateFullReceiptId", "getCustomer", "getCustomerCredentials", "getCustomerSignatureStatus", "getFirstReceiptDate", "getInvoice", "getInvoicePdf", "getInvoiceSetupStatus", "getInvoiceXml", "getKasseSettings", "getPartnerCustomer", "getPartnerInfo", "getPrintJob", "getReceipt", "getReportV2", "hobexPayApi", "hobexRefundApi", "issueInvoice", "listCustomerCashregisters", "listInvoices", "listBrands", "listMyArticleGroups", "listMyArticles", "listMyCashregisters", "listMyPrinters", "listMyReceipts", "listMyStock", "listMyStockLocations", "listMyTipRecipients", "listPartnerCustomers", "listPartnerWebhookDeliveries", "listPartnerWebhooks", "listRegisterUsersForDevice", "listRegisterSessionsForDevice", "pairRegisterDevice", "recordInvoicePayment", "registerPinLogin", "registerUserLogin", "renewRegisterSession", "reportCustomerContract", "requestCustomerSignature", "searchCustomers", "sendPartnerCustomerFonLink", "sendPartnerWebhookTest", "sendReceiptEmail", "setMyCashregisterStockLocation", "setMyKasseLogo", "setMyKasseSettings", "setMyRegisterDeviceSettings", "stripeCaptureIntent", "unpairRegisterDevice", "rotatePartnerWebhookSecret", "updateCustomer", "updatePartnerWebhook", "getArticle", "listArticles", "lookupArticleByCode", "listLocations", "getStock", "listStock", "listStockMovements", "createWebhook", "updateWebhook", "deleteWebhook", "listWebhooks", "sendWebhookTest", "rotateWebhookSecret", "listWebhookDeliveries", "createArticle", "updateArticle", "deactivateArticle", "receiveGoods", "transferStock", "recordStockLoss", "changeStockCondition", "reverseStockMovement", "createReservation", "extendReservation", "releaseReservation", "getReservation", "listReservations", "createVariantGroup", "updateVariantGroup", "getVariantGroup", "listVariantGroups", "addVariant"];
|
|
17
17
|
export type ApiCall = typeof ALL_CALLS[number];
|
|
18
18
|
/**
|
|
19
19
|
* Die oeffentlichen Endpunkte unter `/v3` (`https://api.kasseneck.at/v3/<name>`),
|
|
@@ -21,7 +21,7 @@ export type ApiCall = typeof ALL_CALLS[number];
|
|
|
21
21
|
* (`fixtures/v3/v3-vokabular.json`, `endpoints.public`, umbenannt nach
|
|
22
22
|
* `names`). Ein Test haelt beide Listen deckungsgleich.
|
|
23
23
|
*/
|
|
24
|
-
export declare const PUBLIC_CALLS: readonly ["createReceipt", "getReceipt", "cancelReceipt", "sendReceiptEmail", "generateFullReceiptId", "downloadReceipt", "getFirstReceiptDate", "getReportV2", "downloadReport", "downloadDailyReport", "createPaymentLinkStripe", "stripeCaptureIntent", "hobexPayApi", "hobexRefundApi", "hobexGetStatus", "financeWebService", "listMyTipRecipients", "getPartnerInfo", "createPartnerCustomer", "checkPartnerCustomerEmail", "listPartnerCustomers", "getPartnerCustomer", "sendPartnerCustomerFonLink", "createPartnerWebhook", "updatePartnerWebhook", "deletePartnerWebhook", "listPartnerWebhooks", "sendPartnerWebhookTest", "rotatePartnerWebhookSecret", "listPartnerWebhookDeliveries", "requestCustomerSignature", "getCustomerSignatureStatus", "createCustomerCashregister", "activateCashregister", "listCustomerCashregisters", "getCustomerCredentials", "reportCustomerContract", "getPartnerBilling", "getPartnerBillingMonth", "createCustomer", "getCustomer", "updateCustomer", "searchCustomers", "issueInvoice", "cancelInvoice", "createCreditNote", "getInvoice", "listInvoices", "getInvoicePdf", "getInvoiceXml", "getInvoiceSetupStatus", "listBrands", "recordInvoicePayment", "createInvoiceItem", "updateInvoiceItem", "withdrawInvoiceItem", "getInvoiceItem", "listInvoiceItems", "setCustomerMandate", "revokeCustomerMandate", "getArticle", "listArticles", "lookupArticleByCode", "listLocations", "getStock", "listStock", "listStockMovements", "createWebhook", "updateWebhook", "deleteWebhook", "listWebhooks", "sendWebhookTest", "rotateWebhookSecret", "listWebhookDeliveries", "createArticle", "updateArticle", "deactivateArticle", "receiveGoods", "transferStock", "recordStockLoss", "changeStockCondition", "reverseStockMovement", "createReservation", "extendReservation", "releaseReservation", "getReservation", "listReservations"];
|
|
24
|
+
export declare const PUBLIC_CALLS: readonly ["createReceipt", "getReceipt", "cancelReceipt", "sendReceiptEmail", "generateFullReceiptId", "downloadReceipt", "getFirstReceiptDate", "getReportV2", "downloadReport", "downloadDailyReport", "createPaymentLinkStripe", "stripeCaptureIntent", "hobexPayApi", "hobexRefundApi", "hobexGetStatus", "financeWebService", "listMyTipRecipients", "getPartnerInfo", "createPartnerCustomer", "checkPartnerCustomerEmail", "listPartnerCustomers", "getPartnerCustomer", "sendPartnerCustomerFonLink", "createPartnerWebhook", "updatePartnerWebhook", "deletePartnerWebhook", "listPartnerWebhooks", "sendPartnerWebhookTest", "rotatePartnerWebhookSecret", "listPartnerWebhookDeliveries", "requestCustomerSignature", "getCustomerSignatureStatus", "createCustomerCashregister", "activateCashregister", "listCustomerCashregisters", "getCustomerCredentials", "reportCustomerContract", "getPartnerBilling", "getPartnerBillingMonth", "createCustomer", "getCustomer", "updateCustomer", "searchCustomers", "issueInvoice", "cancelInvoice", "createCreditNote", "getInvoice", "listInvoices", "getInvoicePdf", "getInvoiceXml", "getInvoiceSetupStatus", "listBrands", "recordInvoicePayment", "createInvoiceItem", "updateInvoiceItem", "withdrawInvoiceItem", "getInvoiceItem", "listInvoiceItems", "setCustomerMandate", "revokeCustomerMandate", "getArticle", "listArticles", "lookupArticleByCode", "listLocations", "getStock", "listStock", "listStockMovements", "createWebhook", "updateWebhook", "deleteWebhook", "listWebhooks", "sendWebhookTest", "rotateWebhookSecret", "listWebhookDeliveries", "createArticle", "updateArticle", "deactivateArticle", "receiveGoods", "transferStock", "recordStockLoss", "changeStockCondition", "reverseStockMovement", "createReservation", "extendReservation", "releaseReservation", "getReservation", "listReservations", "createVariantGroup", "updateVariantGroup", "getVariantGroup", "listVariantGroups", "addVariant"];
|
|
25
25
|
/**
|
|
26
26
|
* Die Endpunkte des Kassenwegs (`https://kasse.kasseneck.at/api/v3/<name>`,
|
|
27
27
|
* Web-Kasse: gleicher Ursprung `/api/v3`), in der Reihenfolge von
|
|
@@ -49,7 +49,7 @@ export type PosCall = typeof POS_CALLS[number];
|
|
|
49
49
|
* [ALL_CALLS], [PUBLIC_CALLS] und [POS_CALLS] steht entweder hier oder in
|
|
50
50
|
* [CALLS_WITHOUT_EFFECT] (Waechter `test/ausgang-einordnung.test.ts`).
|
|
51
51
|
*/
|
|
52
|
-
export declare const UNKNOWN_OUTCOME_CALLS: readonly ["activateCashregister", "cancelInvoice", "cancelReceipt", "changeStockCondition", "createArticle", "createCreditNote", "createCustomer", "createCustomerCashregister", "createInvoiceItem", "createPartnerCustomer", "createPartnerWebhook", "createPrintJob", "createReceipt", "createReservation", "createWebhook", "deactivateArticle", "deletePartnerWebhook", "deleteWebhook", "extendReservation", "financeWebService", "hobexPayApi", "hobexRefundApi", "issueInvoice", "pairRegisterDevice", "receiveGoods", "recordInvoicePayment", "recordStockLoss", "releaseReservation", "reportCustomerContract", "requestCustomerSignature", "reverseStockMovement", "revokeCustomerMandate", "rotatePartnerWebhookSecret", "rotateWebhookSecret", "sendPartnerCustomerFonLink", "sendPartnerWebhookTest", "sendReceiptEmail", "sendWebhookTest", "setCustomerMandate", "setMyCashregisterStockLocation", "setMyKasseLogo", "setMyKasseSettings", "setMyRegisterDeviceSettings", "stripeCaptureIntent", "transferStock", "unpairRegisterDevice", "updateArticle", "updateCustomer", "updateInvoiceItem", "updatePartnerWebhook", "updateWebhook", "withdrawInvoiceItem"];
|
|
52
|
+
export declare const UNKNOWN_OUTCOME_CALLS: readonly ["activateCashregister", "addVariant", "cancelInvoice", "cancelReceipt", "changeStockCondition", "createArticle", "createCreditNote", "createCustomer", "createCustomerCashregister", "createInvoiceItem", "createPartnerCustomer", "createPartnerWebhook", "createPrintJob", "createReceipt", "createReservation", "createVariantGroup", "createWebhook", "deactivateArticle", "deletePartnerWebhook", "deleteWebhook", "extendReservation", "financeWebService", "hobexPayApi", "hobexRefundApi", "issueInvoice", "pairRegisterDevice", "receiveGoods", "recordInvoicePayment", "recordStockLoss", "releaseReservation", "reportCustomerContract", "requestCustomerSignature", "reverseStockMovement", "revokeCustomerMandate", "rotatePartnerWebhookSecret", "rotateWebhookSecret", "sendPartnerCustomerFonLink", "sendPartnerWebhookTest", "sendReceiptEmail", "sendWebhookTest", "setCustomerMandate", "setMyCashregisterStockLocation", "setMyKasseLogo", "setMyKasseSettings", "setMyRegisterDeviceSettings", "stripeCaptureIntent", "transferStock", "unpairRegisterDevice", "updateArticle", "updateCustomer", "updateInvoiceItem", "updatePartnerWebhook", "updateVariantGroup", "updateWebhook", "withdrawInvoiceItem"];
|
|
53
53
|
/** Warum ein Aufruf keine Wirkung hat, die ein Zeitlimit offen lassen koennte. */
|
|
54
54
|
export type CallWithoutEffectReason = 'read' | 'repeatable';
|
|
55
55
|
/**
|
|
@@ -99,6 +99,12 @@ export const ALL_CALLS = [
|
|
|
99
99
|
'releaseReservation',
|
|
100
100
|
'getReservation',
|
|
101
101
|
'listReservations',
|
|
102
|
+
// Lager-API Varianten (Stufe 5c, ./inventory)
|
|
103
|
+
'createVariantGroup',
|
|
104
|
+
'updateVariantGroup',
|
|
105
|
+
'getVariantGroup',
|
|
106
|
+
'listVariantGroups',
|
|
107
|
+
'addVariant',
|
|
102
108
|
];
|
|
103
109
|
/**
|
|
104
110
|
* Die oeffentlichen Endpunkte unter `/v3` (`https://api.kasseneck.at/v3/<name>`),
|
|
@@ -199,6 +205,12 @@ export const PUBLIC_CALLS = [
|
|
|
199
205
|
'releaseReservation',
|
|
200
206
|
'getReservation',
|
|
201
207
|
'listReservations',
|
|
208
|
+
// Lager-API Varianten (Backend Stufe 5c), umhuellt in `./inventory`.
|
|
209
|
+
'createVariantGroup',
|
|
210
|
+
'updateVariantGroup',
|
|
211
|
+
'getVariantGroup',
|
|
212
|
+
'listVariantGroups',
|
|
213
|
+
'addVariant',
|
|
202
214
|
];
|
|
203
215
|
/**
|
|
204
216
|
* Die Endpunkte des Kassenwegs (`https://kasse.kasseneck.at/api/v3/<name>`,
|
|
@@ -257,6 +269,7 @@ export const POS_CALLS = [
|
|
|
257
269
|
*/
|
|
258
270
|
export const UNKNOWN_OUTCOME_CALLS = [
|
|
259
271
|
'activateCashregister',
|
|
272
|
+
'addVariant',
|
|
260
273
|
'cancelInvoice',
|
|
261
274
|
'cancelReceipt',
|
|
262
275
|
'changeStockCondition',
|
|
@@ -270,6 +283,7 @@ export const UNKNOWN_OUTCOME_CALLS = [
|
|
|
270
283
|
'createPrintJob',
|
|
271
284
|
'createReceipt',
|
|
272
285
|
'createReservation',
|
|
286
|
+
'createVariantGroup',
|
|
273
287
|
'createWebhook',
|
|
274
288
|
'deactivateArticle',
|
|
275
289
|
'deletePartnerWebhook',
|
|
@@ -306,6 +320,7 @@ export const UNKNOWN_OUTCOME_CALLS = [
|
|
|
306
320
|
'updateCustomer',
|
|
307
321
|
'updateInvoiceItem',
|
|
308
322
|
'updatePartnerWebhook',
|
|
323
|
+
'updateVariantGroup',
|
|
309
324
|
'updateWebhook',
|
|
310
325
|
'withdrawInvoiceItem',
|
|
311
326
|
];
|
|
@@ -361,6 +376,7 @@ export const CALLS_WITHOUT_EFFECT = Object.freeze({
|
|
|
361
376
|
getReportV2: 'read',
|
|
362
377
|
getReservation: 'read',
|
|
363
378
|
getStock: 'read',
|
|
379
|
+
getVariantGroup: 'read',
|
|
364
380
|
hobexGetStatus: 'read',
|
|
365
381
|
listArticles: 'read',
|
|
366
382
|
listBrands: 'read',
|
|
@@ -384,6 +400,7 @@ export const CALLS_WITHOUT_EFFECT = Object.freeze({
|
|
|
384
400
|
listReservations: 'read',
|
|
385
401
|
listStock: 'read',
|
|
386
402
|
listStockMovements: 'read',
|
|
403
|
+
listVariantGroups: 'read',
|
|
387
404
|
listWebhookDeliveries: 'read',
|
|
388
405
|
listWebhooks: 'read',
|
|
389
406
|
lookupArticleByCode: 'read',
|
package/dist/esm/index.d.ts
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
export { ReceiptType, type ReceiptTypeKey, VatRate, type VatRateKey, KeckPaymentMethod, type KeckPaymentMethodKey, CreditCardProvider, type CreditCardProviderKey, VoucherType, type VoucherTypeKey, VoucherAction, type VoucherActionKey, StripeLinkMode, type StripeLinkModeKey, } from './enums/index.js';
|
|
2
|
-
export { type ReceiptItem, type ReceiptItemPayload, type ReceiptItemPayloadRead, toReceiptItemPayload, fromReceiptItemPayload, receiptItemTotalCents, receiptItemIsValid, negateReceiptItem, type TipRecipient, isTipItem, type Voucher, type VoucherPayload, toVoucherPayload, fromVoucherPayload, voucherIsValid, type Receipt, type RegistrationInfo, type ReceiptPayload, type ReceiptPayloadRead, toReceiptPayload, fromReceiptPayload, receiptSubSumCents, receiptSumCents, type CancellationOf, type CancellationItem, type Cancellation, type CancellationReason, type CancellationErrorCode, type CancellationStatus, type ReturnDisposition, RETURN_DISPOSITIONS, CANCELLATION_REASONS, CANCELLATION_STATUSES, CANCELLATION_ERROR_CODES, CANCELLATION_RESERVATION_MS, isCancellationReason, isReturnDisposition, isCancellationErrorCode, cancellationErrorCode, isCancellationError, cancellationFieldErrors, type CancellationFieldError, type ReceiptPayment, type ReceiptPaymentPayload, type ReceiptPaymentInput, fromReceiptPaymentPayload, toReceiptPaymentPayload, type PaymentErrorCode, PAYMENT_ERROR_CODES, isPaymentErrorCode, paymentErrorCode, isPaymentError, paymentFieldErrors, type PaymentFieldError, type ReceiptEmailErrorCode, type ReceiptEmailVia, RECEIPT_EMAIL_ERROR_CODES, RECEIPT_EMAIL_SEND_ERROR_CODES, type ReceiptEmailSendErrorCode, RECEIPT_EMAIL_VIAS, isReceiptEmailErrorCode, receiptEmailErrorCode, isReceiptEmailError, receiptEmailFieldErrors, type ReceiptEmailFieldError, type ReceiptErrorCode, type ReceiptFieldError, RECEIPT_ERROR_CODES, isReceiptErrorCode, receiptErrorCode, isReceiptError, receiptFieldErrors, remainingQuantities, type ReceiptCompany, type ReceiptCompanyPayload, fromReceiptCompanyPayload, receiptCompanyTaxInfo, type Cashregister, type CashregisterOnboarding, type CashregisterPayload, type CashregisterOnboardingPayload, fromCashregisterPayload, type ReceiptSummary, type ReceiptSummaryPayload, fromReceiptSummaryPayload, type ZeroKind, ZERO_KINDS, isZeroKind, type ReportMonth, reportMonthFromDate, previousReportMonth, nextReportMonth, reportMonthKey, reportMonthReadable, type StripeUrlSession, type StripeUrlSessionPayload, toStripeUrlSessionPayload, fromStripeUrlSessionPayload, type HobexReceipt, type HobexReceiptPayload, toHobexReceiptPayload, fromHobexReceiptPayload, hobexReceiptToCardPaymentData, hobexReceiptNeedsSignature, } from './models/index.js';
|
|
2
|
+
export { type ReceiptItem, type ReceiptItemPayload, type ReceiptItemPayloadRead, toReceiptItemPayload, fromReceiptItemPayload, receiptItemTotalCents, receiptItemIsValid, negateReceiptItem, type TipRecipient, isTipItem, type Voucher, type VoucherPayload, toVoucherPayload, fromVoucherPayload, voucherIsValid, type Receipt, type RegistrationInfo, type ReceiptPayload, type ReceiptPayloadRead, toReceiptPayload, fromReceiptPayload, receiptSubSumCents, receiptSumCents, type CancellationOf, type CancellationItem, type Cancellation, type CancellationReason, type CancellationErrorCode, type CancellationStatus, type ReturnDisposition, RETURN_DISPOSITIONS, CANCELLATION_REASONS, CANCELLATION_STATUSES, CANCELLATION_ERROR_CODES, CANCELLATION_RESERVATION_MS, isCancellationReason, isReturnDisposition, isCancellationErrorCode, cancellationErrorCode, isCancellationError, cancellationFieldErrors, type CancellationFieldError, type ReceiptPayment, type ReceiptPaymentPayload, type ReceiptPaymentInput, fromReceiptPaymentPayload, toReceiptPaymentPayload, type PaymentErrorCode, PAYMENT_ERROR_CODES, isPaymentErrorCode, paymentErrorCode, isPaymentError, paymentFieldErrors, type PaymentFieldError, type ReceiptEmailErrorCode, type ReceiptEmailVia, RECEIPT_EMAIL_ERROR_CODES, RECEIPT_EMAIL_SEND_ERROR_CODES, type ReceiptEmailSendErrorCode, RECEIPT_EMAIL_VIAS, isReceiptEmailErrorCode, receiptEmailErrorCode, isReceiptEmailError, receiptEmailFieldErrors, type ReceiptEmailFieldError, type ReceiptErrorCode, type ReceiptFieldError, RECEIPT_ERROR_CODES, isReceiptErrorCode, receiptErrorCode, isReceiptError, receiptFieldErrors, remainingQuantities, type ReceiptCompany, type ReceiptCompanyPayload, fromReceiptCompanyPayload, receiptCompanyTaxInfo, type Cashregister, type CashregisterOnboarding, type CashregisterPayload, type CashregisterOnboardingPayload, type CashregisterAutoLogout, type CashregisterAutoLogoutPayload, fromCashregisterPayload, type ReceiptSummary, type ReceiptSummaryPayload, fromReceiptSummaryPayload, type ZeroKind, ZERO_KINDS, isZeroKind, type ReportMonth, reportMonthFromDate, previousReportMonth, nextReportMonth, reportMonthKey, reportMonthReadable, type StripeUrlSession, type StripeUrlSessionPayload, toStripeUrlSessionPayload, fromStripeUrlSessionPayload, type HobexReceipt, type HobexReceiptPayload, toHobexReceiptPayload, fromHobexReceiptPayload, hobexReceiptToCardPaymentData, hobexReceiptNeedsSignature, } from './models/index.js';
|
|
3
3
|
export { type AuthCredentials, type KasseneckAuth, type ApiKeyAuthOptions, type RegisterUserAuthOptions, apiKeyAuth, registerUserAuth, DEFAULT_BASE_URL, POS_BASE_URL, DEFAULT_TIMEOUT_MS, type HttpResponseLike, type HttpRequestInit, type FetchLike, type TransportOptions, type TransportBodyFields, type TransportCallOptions, type KasseneckTransport, type KasseneckBinaryTransport, ALL_CALLS, type ApiCall, PUBLIC_CALLS, POS_CALLS, UNKNOWN_OUTCOME_CALLS, type PublicCall, type PosCall, createTransport, createBinaryTransport, KasseneckApiError, KasseneckAuthError, KasseneckHttpError, KasseneckNetworkError, KasseneckValidationError, type ValidationScope, type KasseneckError, type HttpFailureReason, type CauseDigest, type ErrorOutcome, CLIENT_ERROR_CODES, type ClientErrorCode, isKasseneckApiError, isKasseneckAuthError, isKasseneckHttpError, isKasseneckNetworkError, isKasseneckValidationError, isOutcomeUnknown, type ReceiptCommonOptions, type SellReceiptOptions, type TipOptions, type TipRecipientShare, type CancelReceiptOptions, type CancelReceiptResult, type ReceiptWithCompany, sellReceipt, sellReceiptWithCompany, paymentsExpectedCents, cardRefundReference, receiptLayoutFromResult, cancelReceipt, zeroReceipt, getReceipt, getReceiptWithCompany, generateFullReceiptId, getFirstReceiptDate, listMyReceipts, type ListMyReceiptsOptions, type ReceiptList, type ReceiptListStats, listMyCashregisters, checkVoucherCombinationError, type SendReceiptEmailOptions, type SendReceiptEmailResult, sendReceiptEmail, downloadDailyReport, downloadMonthlyReport, getReportV2, type ReportV2, type ReportV2Metadata, type ReportV2Options, type CashboxStatus, type SignatureStatus, getCashboxStatus, getSignatureStatus, type KasseneckApi, createKasseneckApi, } from './client/index.js';
|
|
4
4
|
export { type ReceiptDueTip, type ReceiptDueTipRecipient, type ReceiptDueOptions, type ReceiptDueBuckets, type ReceiptDueBreakdown, type ReceiptDueErrorReason, receiptDueCents, receiptDueBreakdown, ReceiptDueError, RECEIPT_DUE_ERROR_REASONS, isReceiptDueError, } from './receipt/due.js';
|
|
5
5
|
export { parseServerTimeStamp, toViennaWallClock, type ViennaWallClock } from './vienna-time.js';
|
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* Fassade ueber den Aufrufen der Lager-API (lesen, Webhooks, schreiben,
|
|
3
|
-
* reservieren): Schluessel einmal binden, dann rufen. Wie [createInvoiceApi] bewusst keine Klasse; die Aufrufe sind freie
|
|
3
|
+
* reservieren, Varianten): Schluessel einmal binden, dann rufen. Wie [createInvoiceApi] bewusst keine Klasse; die Aufrufe sind freie
|
|
4
4
|
* Funktionen (endpunkte.ts) und bleiben einzeln importierbar.
|
|
5
5
|
*/
|
|
6
6
|
import { type FetchLike } from '../client/transport.js';
|
|
7
|
-
import type { Article, ChangeStockConditionRequest, CreateArticleRequest, CreateReservationRequest, DeactivateArticleRequest, ExtendReservationRequest, GoodsReceiptPreview, GoodsReceiptPreviewRequest, ReceiveGoodsRequest, RecordStockLossRequest, ReleaseReservationRequest, Reservation, ReservationListQuery, ReservationPage, ReverseStockMovementRequest, StockOperation, TransferStockRequest, UpdateArticleRequest, ArticleListQuery, ArticleLookup, ArticlePage, CreateInventoryWebhookOptions, InventoryWebhook, InventoryWebhookDelivery, InventoryWebhookList, InventoryWebhookPatch, InventoryWebhookTestResult, InventoryWebhookWithSecret, Location, StockLevel, StockListQuery, StockMovement, StockMovementPage, StockMovementQuery, StockPage, StockResult } from './typen.js';
|
|
7
|
+
import type { AddVariantRequest, CreateVariantGroupRequest, UpdateVariantGroupRequest, VariantGroup, VariantGroupListQuery, VariantGroupPage, Article, ChangeStockConditionRequest, CreateArticleRequest, CreateReservationRequest, DeactivateArticleRequest, ExtendReservationRequest, GoodsReceiptPreview, GoodsReceiptPreviewRequest, ReceiveGoodsRequest, RecordStockLossRequest, ReleaseReservationRequest, Reservation, ReservationListQuery, ReservationPage, ReverseStockMovementRequest, StockOperation, TransferStockRequest, UpdateArticleRequest, ArticleListQuery, ArticleLookup, ArticlePage, CreateInventoryWebhookOptions, InventoryWebhook, InventoryWebhookDelivery, InventoryWebhookList, InventoryWebhookPatch, InventoryWebhookTestResult, InventoryWebhookWithSecret, Location, StockLevel, StockListQuery, StockMovement, StockMovementPage, StockMovementQuery, StockPage, StockResult } from './typen.js';
|
|
8
8
|
import type { InventoryWebhookEventType } from './vertrag.js';
|
|
9
9
|
export interface InventoryClientOptions {
|
|
10
10
|
/** `api_key` des Kontos (`kr_live_…` / `kr_test_…`). Gehoert auf einen Server. */
|
|
@@ -57,5 +57,13 @@ export interface InventoryClient {
|
|
|
57
57
|
getReservation(reservationId: string): Promise<Reservation>;
|
|
58
58
|
listReservations(query?: ReservationListQuery): Promise<ReservationPage>;
|
|
59
59
|
iterateReservations(query?: ReservationListQuery): AsyncGenerator<Reservation, void, undefined>;
|
|
60
|
+
createVariantGroup(request: CreateVariantGroupRequest): Promise<VariantGroup>;
|
|
61
|
+
/** Name, Vorgaben, neue Werte; oder `active: false` (Gruppe und alle Varianten stilllegen, endgueltig). */
|
|
62
|
+
updateVariantGroup(request: UpdateVariantGroupRequest): Promise<VariantGroup>;
|
|
63
|
+
/** Eine Variante mehr; Antwort: der Artikel wie `createArticle`. */
|
|
64
|
+
addVariant(request: AddVariantRequest): Promise<Article>;
|
|
65
|
+
getVariantGroup(variantGroupId: string): Promise<VariantGroup>;
|
|
66
|
+
listVariantGroups(query?: VariantGroupListQuery): Promise<VariantGroupPage>;
|
|
67
|
+
iterateVariantGroups(query?: VariantGroupListQuery): AsyncGenerator<VariantGroup, void, undefined>;
|
|
60
68
|
}
|
|
61
69
|
export declare function createInventoryClient(options: InventoryClientOptions): InventoryClient;
|
|
@@ -1,12 +1,13 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* Fassade ueber den Aufrufen der Lager-API (lesen, Webhooks, schreiben,
|
|
3
|
-
* reservieren): Schluessel einmal binden, dann rufen. Wie [createInvoiceApi] bewusst keine Klasse; die Aufrufe sind freie
|
|
3
|
+
* reservieren, Varianten): Schluessel einmal binden, dann rufen. Wie [createInvoiceApi] bewusst keine Klasse; die Aufrufe sind freie
|
|
4
4
|
* Funktionen (endpunkte.ts) und bleiben einzeln importierbar.
|
|
5
5
|
*/
|
|
6
6
|
import { createTransport } from '../client/transport.js';
|
|
7
7
|
import { inventoryKeyAuth } from './auth.js';
|
|
8
8
|
import { createWebhook, deleteWebhook, getArticle, getStock, iterateArticles, iterateStock, iterateStockMovements, listArticles, listLocations, listStock, listStockMovements, listWebhookDeliveries, listWebhooks, lookupArticleByCode, rotateWebhookSecret, sendWebhookTest, updateWebhook, } from './endpunkte.js';
|
|
9
9
|
import { changeStockCondition, createArticle, createReservation, deactivateArticle, extendReservation, getReservation, iterateReservations, listReservations, previewGoodsReceipt, receiveGoods, recordStockLoss, releaseReservation, reverseStockMovement, transferStock, updateArticle, } from './schreiben.js';
|
|
10
|
+
import { addVariant, createVariantGroup, getVariantGroup, iterateVariantGroups, listVariantGroups, updateVariantGroup, } from './varianten.js';
|
|
10
11
|
export function createInventoryClient(options) {
|
|
11
12
|
const rufen = createTransport({
|
|
12
13
|
auth: inventoryKeyAuth({ apiKey: options.apiKey }),
|
|
@@ -47,5 +48,11 @@ export function createInventoryClient(options) {
|
|
|
47
48
|
getReservation: (id) => getReservation(rufen, id),
|
|
48
49
|
listReservations: (q) => listReservations(rufen, q),
|
|
49
50
|
iterateReservations: (q) => iterateReservations(rufen, q),
|
|
51
|
+
createVariantGroup: (r) => createVariantGroup(rufen, r),
|
|
52
|
+
updateVariantGroup: (r) => updateVariantGroup(rufen, r),
|
|
53
|
+
addVariant: (r) => addVariant(rufen, r),
|
|
54
|
+
getVariantGroup: (id) => getVariantGroup(rufen, id),
|
|
55
|
+
listVariantGroups: (q) => listVariantGroups(rufen, q),
|
|
56
|
+
iterateVariantGroups: (q) => iterateVariantGroups(rufen, q),
|
|
50
57
|
};
|
|
51
58
|
}
|
|
@@ -1,7 +1,8 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* Die Aufrufe der Lager-API: Artikel, Standorte, Bestand und Bewegungen
|
|
3
3
|
* lesen, Konto-Webhooks verwalten (Backend Stufe 5a). Die schreibenden
|
|
4
|
-
* Aufrufe (Stufe 5b) stehen in `schreiben.ts
|
|
4
|
+
* Aufrufe (Stufe 5b) stehen in `schreiben.ts`, die Variantengruppen (Stufe 5c)
|
|
5
|
+
* in `varianten.ts`; beide teilen die Helfer hier.
|
|
5
6
|
*
|
|
6
7
|
* Jede Funktion nimmt den Transport als ersten Parameter und ist einzeln
|
|
7
8
|
* importierbar; die Fassade [createInventoryClient] bindet ihn nur einmal.
|
|
@@ -1,7 +1,8 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* Die Aufrufe der Lager-API: Artikel, Standorte, Bestand und Bewegungen
|
|
3
3
|
* lesen, Konto-Webhooks verwalten (Backend Stufe 5a). Die schreibenden
|
|
4
|
-
* Aufrufe (Stufe 5b) stehen in `schreiben.ts
|
|
4
|
+
* Aufrufe (Stufe 5b) stehen in `schreiben.ts`, die Variantengruppen (Stufe 5c)
|
|
5
|
+
* in `varianten.ts`; beide teilen die Helfer hier.
|
|
5
6
|
*
|
|
6
7
|
* Jede Funktion nimmt den Transport als ersten Parameter und ist einzeln
|
|
7
8
|
* importierbar; die Fassade [createInventoryClient] bindet ihn nur einmal.
|
|
@@ -2,7 +2,8 @@
|
|
|
2
2
|
* `@kreiseck/kasseneck-api/inventory` – die Lager-API: Artikel, Standorte,
|
|
3
3
|
* Bestand und Lagerprotokoll lesen, Konto-Webhooks verwalten und eingehende
|
|
4
4
|
* Zustellungen pruefen (Backend Stufe 5a); Artikel anlegen und aendern,
|
|
5
|
-
* Bestand buchen und Ware reservieren (Stufe 5b, seit 1.5.0)
|
|
5
|
+
* Bestand buchen und Ware reservieren (Stufe 5b, seit 1.5.0);
|
|
6
|
+
* Variantengruppen (Stufe 5c, seit 1.6.0).
|
|
6
7
|
*
|
|
7
8
|
* Ein eigener Unterpfad wie `invoice`: der `api_key` eines Kontos gehoert auf
|
|
8
9
|
* einen **Server** (etwa das Backend eines Online-Shops) und soll nicht
|
|
@@ -16,6 +17,7 @@ export { inventoryKeyAuth, type InventoryKeyAuthOptions } from './auth.js';
|
|
|
16
17
|
export { isInventoryError, isInventoryErrorCode, inventoryErrorCode, inventoryFieldErrors, inventoryRetryAfterSec, inventoryShortfalls, isInventoryWarningCode, type InventoryApiErrorCode, type InventoryFieldError, } from './fehler.js';
|
|
17
18
|
export { createWebhook, deleteWebhook, getArticle, getStock, iterateArticles, iterateStock, iterateStockMovements, listArticles, listLocations, listStock, listStockMovements, listWebhookDeliveries, listWebhooks, lookupArticleByCode, rotateWebhookSecret, sendWebhookTest, updateWebhook, } from './endpunkte.js';
|
|
18
19
|
export { changeStockCondition, createArticle, createReservation, deactivateArticle, extendReservation, getReservation, iterateReservations, listReservations, previewGoodsReceipt, receiveGoods, recordStockLoss, releaseReservation, reverseStockMovement, transferStock, updateArticle, } from './schreiben.js';
|
|
20
|
+
export { addVariant, createVariantGroup, getVariantGroup, iterateVariantGroups, listVariantGroups, updateVariantGroup, } from './varianten.js';
|
|
19
21
|
export { verifyInventoryWebhookSignature, parseInventoryWebhookEvent, WEBHOOK_SIGNATURE_HEADER, WEBHOOK_EVENT_HEADER, WEBHOOK_DELIVERY_HEADER, WEBHOOK_TOLERANCE_SEC, type VerifyInventoryWebhookOptions, } from './webhook.js';
|
|
20
|
-
export type { Article, ArticleInput, ArticleListQuery, ArticleLookup, ArticlePage, ChangeStockConditionRequest, CreateArticleRequest, CreateInventoryWebhookOptions, CreateReservationRequest, DeactivateArticleRequest, ExtendReservationRequest, GoodsReceiptItem, GoodsReceiptPreview, GoodsReceiptPreviewLine, GoodsReceiptPreviewRequest, InventoryShortfall, InventoryWarning, InventoryWebhook, InventoryWebhookDelivery, InventoryWebhookEnvelope, InventoryWebhookEvent, InventoryWebhookList, InventoryWebhookPatch, InventoryWebhookTestDelivery, InventoryWebhookTestResult, InventoryWebhookWithSecret, LandedCost, Location, LocationAddress, ReceiveGoodsRequest, RecordStockLossRequest, ReleaseReservationItem, ReleaseReservationRequest, Reservation, ReservationItem, ReservationItemInput, ReservationListQuery, ReservationPage, ReverseStockMovementRequest, StockBelowMinimumEventData, StockChangedEventData, StockItem, StockLevel, StockListQuery, StockMovement, StockMovementLot, StockMovementPage, StockMovementQuery, StockMovementSourceRef, StockOperation, StockPage, StockResult, StockValue, TransferStockRequest, UpdateArticleRequest, } from './typen.js';
|
|
21
|
-
export { INVENTORY_ENDPOINTS, INVENTORY_ERROR_CODES, INVENTORY_REQUEST_ERROR_CODES, INVENTORY_WEBHOOK_EVENTS, INVENTORY_WEBHOOK_ENVELOPE_FIELDS, INVENTORY_WEBHOOK_LIMIT, INVENTORY_LIST_LIMIT_MAX, LOCATION_TYPES, STOCK_MOVEMENT_TYPES, STOCK_MOVEMENT_SOURCES, STOCK_CONDITIONS, STOCK_CHANGE_CAUSES, WEBHOOK_DELIVERY_STATUSES, INVENTORY_WARNING_CODES, STOCK_KINDS, STOCK_LOSS_REASONS, WITHDRAWAL_TYPES, LANDED_COST_TYPES, LANDED_COST_ALLOCATIONS, RESERVATION_STATUSES, INVENTORY_IDEMPOTENCY_KEY_MAX, RESERVATION_MINUTES_MIN, RESERVATION_MINUTES_MAX, type InventoryEndpoint, type InventoryErrorCode, type InventoryRequestErrorCode, type InventoryWebhookEventType, type LocationType, type StockMovementType, type StockMovementSource, type StockCondition, type StockChangeCause, type WebhookDeliveryStatus, type InventoryWarningCode, type StockKind, type StockLossReason, type WithdrawalType, type LandedCostType, type LandedCostAllocation, type ReservationStatus, } from './vertrag.js';
|
|
22
|
+
export type { AddVariantRequest, Article, ArticleInput, ArticleListQuery, ArticleLookup, ArticlePage, ChangeStockConditionRequest, CreateArticleRequest, CreateInventoryWebhookOptions, CreateReservationRequest, CreateVariantGroupRequest, DeactivateArticleRequest, ExtendReservationRequest, GoodsReceiptItem, GoodsReceiptPreview, GoodsReceiptPreviewLine, GoodsReceiptPreviewRequest, InventoryShortfall, InventoryWarning, InventoryWebhook, InventoryWebhookDelivery, InventoryWebhookEnvelope, InventoryWebhookEvent, InventoryWebhookList, InventoryWebhookPatch, InventoryWebhookTestDelivery, InventoryWebhookTestResult, InventoryWebhookWithSecret, LandedCost, Location, LocationAddress, ReceiveGoodsRequest, RecordStockLossRequest, ReleaseReservationItem, ReleaseReservationRequest, Reservation, ReservationItem, ReservationItemInput, ReservationListQuery, ReservationPage, ReverseStockMovementRequest, StockBelowMinimumEventData, StockChangedEventData, StockItem, StockLevel, StockListQuery, StockMovement, StockMovementLot, StockMovementPage, StockMovementQuery, StockMovementSourceRef, StockOperation, StockPage, StockResult, StockValue, TransferStockRequest, UpdateArticleRequest, UpdateVariantGroupRequest, VariantAttribute, VariantGroup, VariantGroupDefaults, VariantGroupDefaultsInput, VariantGroupListQuery, VariantGroupMember, VariantGroupPage, VariantInput, } from './typen.js';
|
|
23
|
+
export { INVENTORY_ENDPOINTS, INVENTORY_ERROR_CODES, INVENTORY_REQUEST_ERROR_CODES, INVENTORY_WEBHOOK_EVENTS, INVENTORY_WEBHOOK_ENVELOPE_FIELDS, INVENTORY_WEBHOOK_LIMIT, INVENTORY_LIST_LIMIT_MAX, LOCATION_TYPES, STOCK_MOVEMENT_TYPES, STOCK_MOVEMENT_SOURCES, STOCK_CONDITIONS, STOCK_CHANGE_CAUSES, WEBHOOK_DELIVERY_STATUSES, INVENTORY_WARNING_CODES, STOCK_KINDS, STOCK_LOSS_REASONS, WITHDRAWAL_TYPES, LANDED_COST_TYPES, LANDED_COST_ALLOCATIONS, RESERVATION_STATUSES, INVENTORY_IDEMPOTENCY_KEY_MAX, RESERVATION_MINUTES_MIN, RESERVATION_MINUTES_MAX, VARIANT_ATTRIBUTES_MAX, VARIANT_VALUES_MAX, VARIANT_MATRIX_MAX, VARIANT_GROUP_ACTIVE_MAX, type InventoryEndpoint, type InventoryErrorCode, type InventoryRequestErrorCode, type InventoryWebhookEventType, type LocationType, type StockMovementType, type StockMovementSource, type StockCondition, type StockChangeCause, type WebhookDeliveryStatus, type InventoryWarningCode, type StockKind, type StockLossReason, type WithdrawalType, type LandedCostType, type LandedCostAllocation, type ReservationStatus, } from './vertrag.js';
|