@revenexx/sdk 0.0.2 → 0.0.5

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 (90) hide show
  1. package/dist/cjs/sdk.js +13496 -3442
  2. package/dist/cjs/sdk.js.map +1 -1
  3. package/dist/esm/sdk.js +13467 -3443
  4. package/dist/esm/sdk.js.map +1 -1
  5. package/dist/iife/sdk.js +13496 -3442
  6. package/package.json +1 -1
  7. package/src/client.ts +1 -1
  8. package/src/enums/address-type.ts +4 -0
  9. package/src/enums/cart-export-format.ts +4 -0
  10. package/src/enums/cart-io-apply-mode.ts +5 -0
  11. package/src/enums/cart-io-direction.ts +4 -0
  12. package/src/enums/cart-io-entity.ts +4 -0
  13. package/src/enums/cart-io-format.ts +4 -0
  14. package/src/enums/cart-item-type.ts +5 -0
  15. package/src/enums/channel-status.ts +4 -0
  16. package/src/enums/channel-type.ts +7 -0
  17. package/src/enums/contact-role.ts +6 -0
  18. package/src/enums/contact-status.ts +5 -0
  19. package/src/enums/location-type.ts +6 -0
  20. package/src/enums/market-status.ts +4 -0
  21. package/src/enums/order-comment-visibility.ts +4 -0
  22. package/src/enums/order-item-type.ts +5 -0
  23. package/src/enums/order-payment-status.ts +9 -0
  24. package/src/enums/organization-status.ts +4 -0
  25. package/src/enums/page-status.ts +5 -0
  26. package/src/enums/payment-fee-type.ts +5 -0
  27. package/src/enums/payment-method-kind.ts +4 -0
  28. package/src/enums/price-entry-type.ts +4 -0
  29. package/src/enums/price-list-status.ts +4 -0
  30. package/src/enums/shipping-method-matrix-basis.ts +6 -0
  31. package/src/enums/shipping-method-pricing-type.ts +5 -0
  32. package/src/index.ts +30 -0
  33. package/src/models.ts +5628 -410
  34. package/src/services/apps.ts +154 -154
  35. package/src/services/avatars.ts +57 -57
  36. package/src/services/carts.ts +739 -104
  37. package/src/services/channels.ts +147 -19
  38. package/src/services/customers.ts +801 -69
  39. package/src/services/greetings.ts +18 -18
  40. package/src/services/inventories.ts +1278 -0
  41. package/src/services/locale.ts +16 -16
  42. package/src/services/markets.ts +373 -75
  43. package/src/services/messaging.ts +273 -273
  44. package/src/services/orders.ts +1648 -0
  45. package/src/services/pages.ts +2317 -0
  46. package/src/services/payments.ts +1334 -0
  47. package/src/services/prices.ts +1036 -0
  48. package/src/services/products.ts +1836 -272
  49. package/src/services/search.ts +24 -24
  50. package/src/services/shipping.ts +956 -0
  51. package/src/services/sites.ts +116 -116
  52. package/src/services/storage.ts +72 -72
  53. package/src/services/tokens.ts +14 -14
  54. package/types/enums/address-type.d.ts +4 -0
  55. package/types/enums/cart-export-format.d.ts +4 -0
  56. package/types/enums/cart-io-apply-mode.d.ts +5 -0
  57. package/types/enums/cart-io-direction.d.ts +4 -0
  58. package/types/enums/cart-io-entity.d.ts +4 -0
  59. package/types/enums/cart-io-format.d.ts +4 -0
  60. package/types/enums/cart-item-type.d.ts +5 -0
  61. package/types/enums/channel-status.d.ts +4 -0
  62. package/types/enums/channel-type.d.ts +7 -0
  63. package/types/enums/contact-role.d.ts +6 -0
  64. package/types/enums/contact-status.d.ts +5 -0
  65. package/types/enums/location-type.d.ts +6 -0
  66. package/types/enums/market-status.d.ts +4 -0
  67. package/types/enums/order-comment-visibility.d.ts +4 -0
  68. package/types/enums/order-item-type.d.ts +5 -0
  69. package/types/enums/order-payment-status.d.ts +9 -0
  70. package/types/enums/organization-status.d.ts +4 -0
  71. package/types/enums/page-status.d.ts +5 -0
  72. package/types/enums/payment-fee-type.d.ts +5 -0
  73. package/types/enums/payment-method-kind.d.ts +4 -0
  74. package/types/enums/price-entry-type.d.ts +4 -0
  75. package/types/enums/price-list-status.d.ts +4 -0
  76. package/types/enums/shipping-method-matrix-basis.d.ts +6 -0
  77. package/types/enums/shipping-method-pricing-type.d.ts +5 -0
  78. package/types/index.d.ts +30 -0
  79. package/types/models.d.ts +5470 -404
  80. package/types/services/carts.d.ts +271 -12
  81. package/types/services/channels.d.ts +54 -2
  82. package/types/services/customers.d.ts +295 -12
  83. package/types/services/inventories.d.ts +440 -0
  84. package/types/services/markets.d.ts +123 -6
  85. package/types/services/orders.d.ts +590 -0
  86. package/types/services/pages.d.ts +792 -0
  87. package/types/services/payments.d.ts +480 -0
  88. package/types/services/prices.d.ts +384 -0
  89. package/types/services/products.d.ts +646 -32
  90. package/types/services/shipping.d.ts +351 -0
@@ -0,0 +1,1648 @@
1
+ import { Service } from '../service';
2
+ import { RevenexxException, Client, type Payload, UploadProgress } from '../client';
3
+ import type { Models } from '../models';
4
+
5
+ import { OrderCommentVisibility } from '../enums/order-comment-visibility';
6
+ import { OrderPaymentStatus } from '../enums/order-payment-status';
7
+
8
+ export class Orders {
9
+ client: Client;
10
+
11
+ constructor(client: Client) {
12
+ this.client = client;
13
+ }
14
+
15
+ /**
16
+ *
17
+ * @throws {RevenexxException}
18
+ * @returns {Promise<{}>}
19
+ */
20
+ ordersList(): Promise<{}> {
21
+
22
+ const apiPath = '/v1/orders';
23
+ const apiPayload: Payload = {};
24
+ const uri = new URL(this.client.config.endpoint + apiPath);
25
+
26
+ const apiHeaders: { [header: string]: string } = {
27
+ }
28
+
29
+ return this.client.call(
30
+ 'get',
31
+ uri,
32
+ apiHeaders,
33
+ apiPayload
34
+ );
35
+ }
36
+
37
+ /**
38
+ *
39
+ * @throws {RevenexxException}
40
+ * @returns {Promise<{}>}
41
+ */
42
+ ordersNumberRangesList(): Promise<{}> {
43
+
44
+ const apiPath = '/v1/orders/number-ranges';
45
+ const apiPayload: Payload = {};
46
+ const uri = new URL(this.client.config.endpoint + apiPath);
47
+
48
+ const apiHeaders: { [header: string]: string } = {
49
+ }
50
+
51
+ return this.client.call(
52
+ 'get',
53
+ uri,
54
+ apiHeaders,
55
+ apiPayload
56
+ );
57
+ }
58
+
59
+ /**
60
+ *
61
+ * @param {string} params.code - Range key drawn by the app ('order', 'delivery', 'return') — unique per tenant.
62
+ * @param {string} params.channelId -
63
+ * @param {number} params.counter - Current counter value (default 0) — the next number draws counter+step.
64
+ * @param {object} params.metadata - Free-form metadata.
65
+ * @param {number} params.padding - Zero-padding width of the counter (default 6).
66
+ * @param {number} params.positionStep - Position numbering increment for order items (default 10).
67
+ * @param {string} params.prefix - Default ''.
68
+ * @param {number} params.step - Counter increment per drawn number (default 1).
69
+ * @param {string} params.suffix - Default ''.
70
+ * @throws {RevenexxException}
71
+ * @returns {Promise<Models.NumberRange>}
72
+ */
73
+ ordersNumberRangesCreate(params: { code: string, channelId?: string, counter?: number, metadata?: object, padding?: number, positionStep?: number, prefix?: string, step?: number, suffix?: string }): Promise<Models.NumberRange>;
74
+ /**
75
+ *
76
+ * @param {string} code - Range key drawn by the app ('order', 'delivery', 'return') — unique per tenant.
77
+ * @param {string} channelId -
78
+ * @param {number} counter - Current counter value (default 0) — the next number draws counter+step.
79
+ * @param {object} metadata - Free-form metadata.
80
+ * @param {number} padding - Zero-padding width of the counter (default 6).
81
+ * @param {number} positionStep - Position numbering increment for order items (default 10).
82
+ * @param {string} prefix - Default ''.
83
+ * @param {number} step - Counter increment per drawn number (default 1).
84
+ * @param {string} suffix - Default ''.
85
+ * @throws {RevenexxException}
86
+ * @returns {Promise<Models.NumberRange>}
87
+ * @deprecated Use the object parameter style method for a better developer experience.
88
+ */
89
+ ordersNumberRangesCreate(code: string, channelId?: string, counter?: number, metadata?: object, padding?: number, positionStep?: number, prefix?: string, step?: number, suffix?: string): Promise<Models.NumberRange>;
90
+ ordersNumberRangesCreate(
91
+ paramsOrFirst: { code: string, channelId?: string, counter?: number, metadata?: object, padding?: number, positionStep?: number, prefix?: string, step?: number, suffix?: string } | string,
92
+ ...rest: [(string)?, (number)?, (object)?, (number)?, (number)?, (string)?, (number)?, (string)?]
93
+ ): Promise<Models.NumberRange> {
94
+ let params: { code: string, channelId?: string, counter?: number, metadata?: object, padding?: number, positionStep?: number, prefix?: string, step?: number, suffix?: string };
95
+
96
+ if ((paramsOrFirst && typeof paramsOrFirst === 'object' && !Array.isArray(paramsOrFirst))) {
97
+ params = (paramsOrFirst || {}) as { code: string, channelId?: string, counter?: number, metadata?: object, padding?: number, positionStep?: number, prefix?: string, step?: number, suffix?: string };
98
+ } else {
99
+ params = {
100
+ code: paramsOrFirst as string,
101
+ channelId: rest[0] as string,
102
+ counter: rest[1] as number,
103
+ metadata: rest[2] as object,
104
+ padding: rest[3] as number,
105
+ positionStep: rest[4] as number,
106
+ prefix: rest[5] as string,
107
+ step: rest[6] as number,
108
+ suffix: rest[7] as string
109
+ };
110
+ }
111
+
112
+ const code = params.code;
113
+ const channelId = params.channelId;
114
+ const counter = params.counter;
115
+ const metadata = params.metadata;
116
+ const padding = params.padding;
117
+ const positionStep = params.positionStep;
118
+ const prefix = params.prefix;
119
+ const step = params.step;
120
+ const suffix = params.suffix;
121
+
122
+ if (typeof code === 'undefined') {
123
+ throw new RevenexxException('Missing required parameter: "code"');
124
+ }
125
+
126
+ const apiPath = '/v1/orders/number-ranges';
127
+ const apiPayload: Payload = {};
128
+ if (typeof channelId !== 'undefined') {
129
+ apiPayload['channel_id'] = channelId;
130
+ }
131
+ if (typeof code !== 'undefined') {
132
+ apiPayload['code'] = code;
133
+ }
134
+ if (typeof counter !== 'undefined') {
135
+ apiPayload['counter'] = counter;
136
+ }
137
+ if (typeof metadata !== 'undefined') {
138
+ apiPayload['metadata'] = metadata;
139
+ }
140
+ if (typeof padding !== 'undefined') {
141
+ apiPayload['padding'] = padding;
142
+ }
143
+ if (typeof positionStep !== 'undefined') {
144
+ apiPayload['position_step'] = positionStep;
145
+ }
146
+ if (typeof prefix !== 'undefined') {
147
+ apiPayload['prefix'] = prefix;
148
+ }
149
+ if (typeof step !== 'undefined') {
150
+ apiPayload['step'] = step;
151
+ }
152
+ if (typeof suffix !== 'undefined') {
153
+ apiPayload['suffix'] = suffix;
154
+ }
155
+ const uri = new URL(this.client.config.endpoint + apiPath);
156
+
157
+ const apiHeaders: { [header: string]: string } = {
158
+ 'content-type': 'application/json',
159
+ }
160
+
161
+ return this.client.call(
162
+ 'post',
163
+ uri,
164
+ apiHeaders,
165
+ apiPayload
166
+ );
167
+ }
168
+
169
+ /**
170
+ *
171
+ * @throws {RevenexxException}
172
+ * @returns {Promise<{}>}
173
+ */
174
+ ordersNumberRangesDefaults(): Promise<{}> {
175
+
176
+ const apiPath = '/v1/orders/number-ranges/defaults';
177
+ const apiPayload: Payload = {};
178
+ const uri = new URL(this.client.config.endpoint + apiPath);
179
+
180
+ const apiHeaders: { [header: string]: string } = {
181
+ }
182
+
183
+ return this.client.call(
184
+ 'post',
185
+ uri,
186
+ apiHeaders,
187
+ apiPayload
188
+ );
189
+ }
190
+
191
+ /**
192
+ *
193
+ * @param {string} params.id -
194
+ * @throws {RevenexxException}
195
+ * @returns {Promise<{}>}
196
+ */
197
+ ordersNumberRangesDelete(params: { id: string }): Promise<{}>;
198
+ /**
199
+ *
200
+ * @param {string} id -
201
+ * @throws {RevenexxException}
202
+ * @returns {Promise<{}>}
203
+ * @deprecated Use the object parameter style method for a better developer experience.
204
+ */
205
+ ordersNumberRangesDelete(id: string): Promise<{}>;
206
+ ordersNumberRangesDelete(
207
+ paramsOrFirst: { id: string } | string
208
+ ): Promise<{}> {
209
+ let params: { id: string };
210
+
211
+ if ((paramsOrFirst && typeof paramsOrFirst === 'object' && !Array.isArray(paramsOrFirst))) {
212
+ params = (paramsOrFirst || {}) as { id: string };
213
+ } else {
214
+ params = {
215
+ id: paramsOrFirst as string
216
+ };
217
+ }
218
+
219
+ const id = params.id;
220
+
221
+ if (typeof id === 'undefined') {
222
+ throw new RevenexxException('Missing required parameter: "id"');
223
+ }
224
+
225
+ const apiPath = '/v1/orders/number-ranges/{id}'.replace('{id}', id);
226
+ const apiPayload: Payload = {};
227
+ const uri = new URL(this.client.config.endpoint + apiPath);
228
+
229
+ const apiHeaders: { [header: string]: string } = {
230
+ }
231
+
232
+ return this.client.call(
233
+ 'delete',
234
+ uri,
235
+ apiHeaders,
236
+ apiPayload
237
+ );
238
+ }
239
+
240
+ /**
241
+ *
242
+ * @param {string} params.id -
243
+ * @throws {RevenexxException}
244
+ * @returns {Promise<Models.NumberRange>}
245
+ */
246
+ ordersNumberRangesGet(params: { id: string }): Promise<Models.NumberRange>;
247
+ /**
248
+ *
249
+ * @param {string} id -
250
+ * @throws {RevenexxException}
251
+ * @returns {Promise<Models.NumberRange>}
252
+ * @deprecated Use the object parameter style method for a better developer experience.
253
+ */
254
+ ordersNumberRangesGet(id: string): Promise<Models.NumberRange>;
255
+ ordersNumberRangesGet(
256
+ paramsOrFirst: { id: string } | string
257
+ ): Promise<Models.NumberRange> {
258
+ let params: { id: string };
259
+
260
+ if ((paramsOrFirst && typeof paramsOrFirst === 'object' && !Array.isArray(paramsOrFirst))) {
261
+ params = (paramsOrFirst || {}) as { id: string };
262
+ } else {
263
+ params = {
264
+ id: paramsOrFirst as string
265
+ };
266
+ }
267
+
268
+ const id = params.id;
269
+
270
+ if (typeof id === 'undefined') {
271
+ throw new RevenexxException('Missing required parameter: "id"');
272
+ }
273
+
274
+ const apiPath = '/v1/orders/number-ranges/{id}'.replace('{id}', id);
275
+ const apiPayload: Payload = {};
276
+ const uri = new URL(this.client.config.endpoint + apiPath);
277
+
278
+ const apiHeaders: { [header: string]: string } = {
279
+ }
280
+
281
+ return this.client.call(
282
+ 'get',
283
+ uri,
284
+ apiHeaders,
285
+ apiPayload
286
+ );
287
+ }
288
+
289
+ /**
290
+ *
291
+ * @param {string} params.id -
292
+ * @param {string} params.channelId -
293
+ * @param {string} params.code - Range key drawn by the app ('order', 'delivery', 'return') — unique per tenant.
294
+ * @param {number} params.counter - Current counter value (default 0) — the next number draws counter+step.
295
+ * @param {object} params.metadata - Free-form metadata.
296
+ * @param {number} params.padding - Zero-padding width of the counter (default 6).
297
+ * @param {number} params.positionStep - Position numbering increment for order items (default 10).
298
+ * @param {string} params.prefix - Default ''.
299
+ * @param {number} params.step - Counter increment per drawn number (default 1).
300
+ * @param {string} params.suffix - Default ''.
301
+ * @throws {RevenexxException}
302
+ * @returns {Promise<Models.NumberRange>}
303
+ */
304
+ ordersNumberRangesUpdate(params: { id: string, channelId?: string, code?: string, counter?: number, metadata?: object, padding?: number, positionStep?: number, prefix?: string, step?: number, suffix?: string }): Promise<Models.NumberRange>;
305
+ /**
306
+ *
307
+ * @param {string} id -
308
+ * @param {string} channelId -
309
+ * @param {string} code - Range key drawn by the app ('order', 'delivery', 'return') — unique per tenant.
310
+ * @param {number} counter - Current counter value (default 0) — the next number draws counter+step.
311
+ * @param {object} metadata - Free-form metadata.
312
+ * @param {number} padding - Zero-padding width of the counter (default 6).
313
+ * @param {number} positionStep - Position numbering increment for order items (default 10).
314
+ * @param {string} prefix - Default ''.
315
+ * @param {number} step - Counter increment per drawn number (default 1).
316
+ * @param {string} suffix - Default ''.
317
+ * @throws {RevenexxException}
318
+ * @returns {Promise<Models.NumberRange>}
319
+ * @deprecated Use the object parameter style method for a better developer experience.
320
+ */
321
+ ordersNumberRangesUpdate(id: string, channelId?: string, code?: string, counter?: number, metadata?: object, padding?: number, positionStep?: number, prefix?: string, step?: number, suffix?: string): Promise<Models.NumberRange>;
322
+ ordersNumberRangesUpdate(
323
+ paramsOrFirst: { id: string, channelId?: string, code?: string, counter?: number, metadata?: object, padding?: number, positionStep?: number, prefix?: string, step?: number, suffix?: string } | string,
324
+ ...rest: [(string)?, (string)?, (number)?, (object)?, (number)?, (number)?, (string)?, (number)?, (string)?]
325
+ ): Promise<Models.NumberRange> {
326
+ let params: { id: string, channelId?: string, code?: string, counter?: number, metadata?: object, padding?: number, positionStep?: number, prefix?: string, step?: number, suffix?: string };
327
+
328
+ if ((paramsOrFirst && typeof paramsOrFirst === 'object' && !Array.isArray(paramsOrFirst))) {
329
+ params = (paramsOrFirst || {}) as { id: string, channelId?: string, code?: string, counter?: number, metadata?: object, padding?: number, positionStep?: number, prefix?: string, step?: number, suffix?: string };
330
+ } else {
331
+ params = {
332
+ id: paramsOrFirst as string,
333
+ channelId: rest[0] as string,
334
+ code: rest[1] as string,
335
+ counter: rest[2] as number,
336
+ metadata: rest[3] as object,
337
+ padding: rest[4] as number,
338
+ positionStep: rest[5] as number,
339
+ prefix: rest[6] as string,
340
+ step: rest[7] as number,
341
+ suffix: rest[8] as string
342
+ };
343
+ }
344
+
345
+ const id = params.id;
346
+ const channelId = params.channelId;
347
+ const code = params.code;
348
+ const counter = params.counter;
349
+ const metadata = params.metadata;
350
+ const padding = params.padding;
351
+ const positionStep = params.positionStep;
352
+ const prefix = params.prefix;
353
+ const step = params.step;
354
+ const suffix = params.suffix;
355
+
356
+ if (typeof id === 'undefined') {
357
+ throw new RevenexxException('Missing required parameter: "id"');
358
+ }
359
+
360
+ const apiPath = '/v1/orders/number-ranges/{id}'.replace('{id}', id);
361
+ const apiPayload: Payload = {};
362
+ if (typeof channelId !== 'undefined') {
363
+ apiPayload['channel_id'] = channelId;
364
+ }
365
+ if (typeof code !== 'undefined') {
366
+ apiPayload['code'] = code;
367
+ }
368
+ if (typeof counter !== 'undefined') {
369
+ apiPayload['counter'] = counter;
370
+ }
371
+ if (typeof metadata !== 'undefined') {
372
+ apiPayload['metadata'] = metadata;
373
+ }
374
+ if (typeof padding !== 'undefined') {
375
+ apiPayload['padding'] = padding;
376
+ }
377
+ if (typeof positionStep !== 'undefined') {
378
+ apiPayload['position_step'] = positionStep;
379
+ }
380
+ if (typeof prefix !== 'undefined') {
381
+ apiPayload['prefix'] = prefix;
382
+ }
383
+ if (typeof step !== 'undefined') {
384
+ apiPayload['step'] = step;
385
+ }
386
+ if (typeof suffix !== 'undefined') {
387
+ apiPayload['suffix'] = suffix;
388
+ }
389
+ const uri = new URL(this.client.config.endpoint + apiPath);
390
+
391
+ const apiHeaders: { [header: string]: string } = {
392
+ 'content-type': 'application/json',
393
+ }
394
+
395
+ return this.client.call(
396
+ 'put',
397
+ uri,
398
+ apiHeaders,
399
+ apiPayload
400
+ );
401
+ }
402
+
403
+ /**
404
+ *
405
+ * @param {Models.OrderItemCreateRequest[]} params.items - The order positions (at most 500).
406
+ * @param {object} params.billingAddress - Frozen billing address.
407
+ * @param {object} params.buyer - Frozen buyer snapshot (name, email, …).
408
+ * @param {string} params.cartId - Source cart (the carts.order hand-over).
409
+ * @param {string} params.channelId -
410
+ * @param {string} params.contactId - Ordering customer contact.
411
+ * @param {string} params.currency - ISO 4217 code (default EUR).
412
+ * @param {string} params.customerOrderNumber - The buyer's own order/PO number.
413
+ * @param {number} params.grandTotal - Override — computed as subtotal + shipping + tax when omitted.
414
+ * @param {string} params.marketId -
415
+ * @param {object} params.metadata - Free-form metadata.
416
+ * @param {string} params.organizationId - B2B organization.
417
+ * @param {object} params.payment - Frozen payment snapshot — a known 'payment.status' seeds payment_status (otherwise 'open').
418
+ * @param {object} params.shipping - Frozen shipping snapshot — 'shipping.price' seeds shipping_total.
419
+ * @param {object} params.shippingAddress - Frozen shipping address.
420
+ * @param {number} params.shippingTotal - Shipping total (fallback when 'shipping.price' is absent).
421
+ * @param {object} params.userData - Free-form user data.
422
+ * @throws {RevenexxException}
423
+ * @returns {Promise<Models.OrderDetail>}
424
+ */
425
+ ordersPlace(params: { items: Models.OrderItemCreateRequest[], billingAddress?: object, buyer?: object, cartId?: string, channelId?: string, contactId?: string, currency?: string, customerOrderNumber?: string, grandTotal?: number, marketId?: string, metadata?: object, organizationId?: string, payment?: object, shipping?: object, shippingAddress?: object, shippingTotal?: number, userData?: object }): Promise<Models.OrderDetail>;
426
+ /**
427
+ *
428
+ * @param {Models.OrderItemCreateRequest[]} items - The order positions (at most 500).
429
+ * @param {object} billingAddress - Frozen billing address.
430
+ * @param {object} buyer - Frozen buyer snapshot (name, email, …).
431
+ * @param {string} cartId - Source cart (the carts.order hand-over).
432
+ * @param {string} channelId -
433
+ * @param {string} contactId - Ordering customer contact.
434
+ * @param {string} currency - ISO 4217 code (default EUR).
435
+ * @param {string} customerOrderNumber - The buyer's own order/PO number.
436
+ * @param {number} grandTotal - Override — computed as subtotal + shipping + tax when omitted.
437
+ * @param {string} marketId -
438
+ * @param {object} metadata - Free-form metadata.
439
+ * @param {string} organizationId - B2B organization.
440
+ * @param {object} payment - Frozen payment snapshot — a known 'payment.status' seeds payment_status (otherwise 'open').
441
+ * @param {object} shipping - Frozen shipping snapshot — 'shipping.price' seeds shipping_total.
442
+ * @param {object} shippingAddress - Frozen shipping address.
443
+ * @param {number} shippingTotal - Shipping total (fallback when 'shipping.price' is absent).
444
+ * @param {object} userData - Free-form user data.
445
+ * @throws {RevenexxException}
446
+ * @returns {Promise<Models.OrderDetail>}
447
+ * @deprecated Use the object parameter style method for a better developer experience.
448
+ */
449
+ ordersPlace(items: Models.OrderItemCreateRequest[], billingAddress?: object, buyer?: object, cartId?: string, channelId?: string, contactId?: string, currency?: string, customerOrderNumber?: string, grandTotal?: number, marketId?: string, metadata?: object, organizationId?: string, payment?: object, shipping?: object, shippingAddress?: object, shippingTotal?: number, userData?: object): Promise<Models.OrderDetail>;
450
+ ordersPlace(
451
+ paramsOrFirst: { items: Models.OrderItemCreateRequest[], billingAddress?: object, buyer?: object, cartId?: string, channelId?: string, contactId?: string, currency?: string, customerOrderNumber?: string, grandTotal?: number, marketId?: string, metadata?: object, organizationId?: string, payment?: object, shipping?: object, shippingAddress?: object, shippingTotal?: number, userData?: object } | Models.OrderItemCreateRequest[],
452
+ ...rest: [(object)?, (object)?, (string)?, (string)?, (string)?, (string)?, (string)?, (number)?, (string)?, (object)?, (string)?, (object)?, (object)?, (object)?, (number)?, (object)?]
453
+ ): Promise<Models.OrderDetail> {
454
+ let params: { items: Models.OrderItemCreateRequest[], billingAddress?: object, buyer?: object, cartId?: string, channelId?: string, contactId?: string, currency?: string, customerOrderNumber?: string, grandTotal?: number, marketId?: string, metadata?: object, organizationId?: string, payment?: object, shipping?: object, shippingAddress?: object, shippingTotal?: number, userData?: object };
455
+
456
+ if ((paramsOrFirst && typeof paramsOrFirst === 'object' && !Array.isArray(paramsOrFirst) && ('items' in paramsOrFirst || 'billingAddress' in paramsOrFirst || 'buyer' in paramsOrFirst || 'cartId' in paramsOrFirst || 'channelId' in paramsOrFirst || 'contactId' in paramsOrFirst || 'currency' in paramsOrFirst || 'customerOrderNumber' in paramsOrFirst || 'grandTotal' in paramsOrFirst || 'marketId' in paramsOrFirst || 'metadata' in paramsOrFirst || 'organizationId' in paramsOrFirst || 'payment' in paramsOrFirst || 'shipping' in paramsOrFirst || 'shippingAddress' in paramsOrFirst || 'shippingTotal' in paramsOrFirst || 'userData' in paramsOrFirst))) {
457
+ params = (paramsOrFirst || {}) as { items: Models.OrderItemCreateRequest[], billingAddress?: object, buyer?: object, cartId?: string, channelId?: string, contactId?: string, currency?: string, customerOrderNumber?: string, grandTotal?: number, marketId?: string, metadata?: object, organizationId?: string, payment?: object, shipping?: object, shippingAddress?: object, shippingTotal?: number, userData?: object };
458
+ } else {
459
+ params = {
460
+ items: paramsOrFirst as Models.OrderItemCreateRequest[],
461
+ billingAddress: rest[0] as object,
462
+ buyer: rest[1] as object,
463
+ cartId: rest[2] as string,
464
+ channelId: rest[3] as string,
465
+ contactId: rest[4] as string,
466
+ currency: rest[5] as string,
467
+ customerOrderNumber: rest[6] as string,
468
+ grandTotal: rest[7] as number,
469
+ marketId: rest[8] as string,
470
+ metadata: rest[9] as object,
471
+ organizationId: rest[10] as string,
472
+ payment: rest[11] as object,
473
+ shipping: rest[12] as object,
474
+ shippingAddress: rest[13] as object,
475
+ shippingTotal: rest[14] as number,
476
+ userData: rest[15] as object
477
+ };
478
+ }
479
+
480
+ const items = params.items;
481
+ const billingAddress = params.billingAddress;
482
+ const buyer = params.buyer;
483
+ const cartId = params.cartId;
484
+ const channelId = params.channelId;
485
+ const contactId = params.contactId;
486
+ const currency = params.currency;
487
+ const customerOrderNumber = params.customerOrderNumber;
488
+ const grandTotal = params.grandTotal;
489
+ const marketId = params.marketId;
490
+ const metadata = params.metadata;
491
+ const organizationId = params.organizationId;
492
+ const payment = params.payment;
493
+ const shipping = params.shipping;
494
+ const shippingAddress = params.shippingAddress;
495
+ const shippingTotal = params.shippingTotal;
496
+ const userData = params.userData;
497
+
498
+ if (typeof items === 'undefined') {
499
+ throw new RevenexxException('Missing required parameter: "items"');
500
+ }
501
+
502
+ const apiPath = '/v1/orders/place';
503
+ const apiPayload: Payload = {};
504
+ if (typeof billingAddress !== 'undefined') {
505
+ apiPayload['billing_address'] = billingAddress;
506
+ }
507
+ if (typeof buyer !== 'undefined') {
508
+ apiPayload['buyer'] = buyer;
509
+ }
510
+ if (typeof cartId !== 'undefined') {
511
+ apiPayload['cart_id'] = cartId;
512
+ }
513
+ if (typeof channelId !== 'undefined') {
514
+ apiPayload['channel_id'] = channelId;
515
+ }
516
+ if (typeof contactId !== 'undefined') {
517
+ apiPayload['contact_id'] = contactId;
518
+ }
519
+ if (typeof currency !== 'undefined') {
520
+ apiPayload['currency'] = currency;
521
+ }
522
+ if (typeof customerOrderNumber !== 'undefined') {
523
+ apiPayload['customer_order_number'] = customerOrderNumber;
524
+ }
525
+ if (typeof grandTotal !== 'undefined') {
526
+ apiPayload['grand_total'] = grandTotal;
527
+ }
528
+ if (typeof items !== 'undefined') {
529
+ apiPayload['items'] = items;
530
+ }
531
+ if (typeof marketId !== 'undefined') {
532
+ apiPayload['market_id'] = marketId;
533
+ }
534
+ if (typeof metadata !== 'undefined') {
535
+ apiPayload['metadata'] = metadata;
536
+ }
537
+ if (typeof organizationId !== 'undefined') {
538
+ apiPayload['organization_id'] = organizationId;
539
+ }
540
+ if (typeof payment !== 'undefined') {
541
+ apiPayload['payment'] = payment;
542
+ }
543
+ if (typeof shipping !== 'undefined') {
544
+ apiPayload['shipping'] = shipping;
545
+ }
546
+ if (typeof shippingAddress !== 'undefined') {
547
+ apiPayload['shipping_address'] = shippingAddress;
548
+ }
549
+ if (typeof shippingTotal !== 'undefined') {
550
+ apiPayload['shipping_total'] = shippingTotal;
551
+ }
552
+ if (typeof userData !== 'undefined') {
553
+ apiPayload['user_data'] = userData;
554
+ }
555
+ const uri = new URL(this.client.config.endpoint + apiPath);
556
+
557
+ const apiHeaders: { [header: string]: string } = {
558
+ 'content-type': 'application/json',
559
+ }
560
+
561
+ return this.client.call(
562
+ 'post',
563
+ uri,
564
+ apiHeaders,
565
+ apiPayload
566
+ );
567
+ }
568
+
569
+ /**
570
+ *
571
+ * @param {string} params.id -
572
+ * @throws {RevenexxException}
573
+ * @returns {Promise<Models.OrderDetail>}
574
+ */
575
+ ordersGet(params: { id: string }): Promise<Models.OrderDetail>;
576
+ /**
577
+ *
578
+ * @param {string} id -
579
+ * @throws {RevenexxException}
580
+ * @returns {Promise<Models.OrderDetail>}
581
+ * @deprecated Use the object parameter style method for a better developer experience.
582
+ */
583
+ ordersGet(id: string): Promise<Models.OrderDetail>;
584
+ ordersGet(
585
+ paramsOrFirst: { id: string } | string
586
+ ): Promise<Models.OrderDetail> {
587
+ let params: { id: string };
588
+
589
+ if ((paramsOrFirst && typeof paramsOrFirst === 'object' && !Array.isArray(paramsOrFirst))) {
590
+ params = (paramsOrFirst || {}) as { id: string };
591
+ } else {
592
+ params = {
593
+ id: paramsOrFirst as string
594
+ };
595
+ }
596
+
597
+ const id = params.id;
598
+
599
+ if (typeof id === 'undefined') {
600
+ throw new RevenexxException('Missing required parameter: "id"');
601
+ }
602
+
603
+ const apiPath = '/v1/orders/{id}'.replace('{id}', id);
604
+ const apiPayload: Payload = {};
605
+ const uri = new URL(this.client.config.endpoint + apiPath);
606
+
607
+ const apiHeaders: { [header: string]: string } = {
608
+ }
609
+
610
+ return this.client.call(
611
+ 'get',
612
+ uri,
613
+ apiHeaders,
614
+ apiPayload
615
+ );
616
+ }
617
+
618
+ /**
619
+ *
620
+ * @param {string} params.id -
621
+ * @param {object} params.billingAddress -
622
+ * @param {object} params.buyer -
623
+ * @param {string} params.customerOrderNumber -
624
+ * @param {object} params.metadata - Free-form metadata.
625
+ * @param {object} params.shippingAddress -
626
+ * @param {object} params.userData - Free-form user data.
627
+ * @throws {RevenexxException}
628
+ * @returns {Promise<Models.Order>}
629
+ */
630
+ ordersUpdate(params: { id: string, billingAddress?: object, buyer?: object, customerOrderNumber?: string, metadata?: object, shippingAddress?: object, userData?: object }): Promise<Models.Order>;
631
+ /**
632
+ *
633
+ * @param {string} id -
634
+ * @param {object} billingAddress -
635
+ * @param {object} buyer -
636
+ * @param {string} customerOrderNumber -
637
+ * @param {object} metadata - Free-form metadata.
638
+ * @param {object} shippingAddress -
639
+ * @param {object} userData - Free-form user data.
640
+ * @throws {RevenexxException}
641
+ * @returns {Promise<Models.Order>}
642
+ * @deprecated Use the object parameter style method for a better developer experience.
643
+ */
644
+ ordersUpdate(id: string, billingAddress?: object, buyer?: object, customerOrderNumber?: string, metadata?: object, shippingAddress?: object, userData?: object): Promise<Models.Order>;
645
+ ordersUpdate(
646
+ paramsOrFirst: { id: string, billingAddress?: object, buyer?: object, customerOrderNumber?: string, metadata?: object, shippingAddress?: object, userData?: object } | string,
647
+ ...rest: [(object)?, (object)?, (string)?, (object)?, (object)?, (object)?]
648
+ ): Promise<Models.Order> {
649
+ let params: { id: string, billingAddress?: object, buyer?: object, customerOrderNumber?: string, metadata?: object, shippingAddress?: object, userData?: object };
650
+
651
+ if ((paramsOrFirst && typeof paramsOrFirst === 'object' && !Array.isArray(paramsOrFirst))) {
652
+ params = (paramsOrFirst || {}) as { id: string, billingAddress?: object, buyer?: object, customerOrderNumber?: string, metadata?: object, shippingAddress?: object, userData?: object };
653
+ } else {
654
+ params = {
655
+ id: paramsOrFirst as string,
656
+ billingAddress: rest[0] as object,
657
+ buyer: rest[1] as object,
658
+ customerOrderNumber: rest[2] as string,
659
+ metadata: rest[3] as object,
660
+ shippingAddress: rest[4] as object,
661
+ userData: rest[5] as object
662
+ };
663
+ }
664
+
665
+ const id = params.id;
666
+ const billingAddress = params.billingAddress;
667
+ const buyer = params.buyer;
668
+ const customerOrderNumber = params.customerOrderNumber;
669
+ const metadata = params.metadata;
670
+ const shippingAddress = params.shippingAddress;
671
+ const userData = params.userData;
672
+
673
+ if (typeof id === 'undefined') {
674
+ throw new RevenexxException('Missing required parameter: "id"');
675
+ }
676
+
677
+ const apiPath = '/v1/orders/{id}'.replace('{id}', id);
678
+ const apiPayload: Payload = {};
679
+ if (typeof billingAddress !== 'undefined') {
680
+ apiPayload['billing_address'] = billingAddress;
681
+ }
682
+ if (typeof buyer !== 'undefined') {
683
+ apiPayload['buyer'] = buyer;
684
+ }
685
+ if (typeof customerOrderNumber !== 'undefined') {
686
+ apiPayload['customer_order_number'] = customerOrderNumber;
687
+ }
688
+ if (typeof metadata !== 'undefined') {
689
+ apiPayload['metadata'] = metadata;
690
+ }
691
+ if (typeof shippingAddress !== 'undefined') {
692
+ apiPayload['shipping_address'] = shippingAddress;
693
+ }
694
+ if (typeof userData !== 'undefined') {
695
+ apiPayload['user_data'] = userData;
696
+ }
697
+ const uri = new URL(this.client.config.endpoint + apiPath);
698
+
699
+ const apiHeaders: { [header: string]: string } = {
700
+ 'content-type': 'application/json',
701
+ }
702
+
703
+ return this.client.call(
704
+ 'put',
705
+ uri,
706
+ apiHeaders,
707
+ apiPayload
708
+ );
709
+ }
710
+
711
+ /**
712
+ *
713
+ * @param {string} params.id -
714
+ * @param {string} params.externalRef - The fulfilling system's order reference (e.g. the ERP order number).
715
+ * @throws {RevenexxException}
716
+ * @returns {Promise<Models.Order>}
717
+ */
718
+ ordersAcknowledge(params: { id: string, externalRef?: string }): Promise<Models.Order>;
719
+ /**
720
+ *
721
+ * @param {string} id -
722
+ * @param {string} externalRef - The fulfilling system's order reference (e.g. the ERP order number).
723
+ * @throws {RevenexxException}
724
+ * @returns {Promise<Models.Order>}
725
+ * @deprecated Use the object parameter style method for a better developer experience.
726
+ */
727
+ ordersAcknowledge(id: string, externalRef?: string): Promise<Models.Order>;
728
+ ordersAcknowledge(
729
+ paramsOrFirst: { id: string, externalRef?: string } | string,
730
+ ...rest: [(string)?]
731
+ ): Promise<Models.Order> {
732
+ let params: { id: string, externalRef?: string };
733
+
734
+ if ((paramsOrFirst && typeof paramsOrFirst === 'object' && !Array.isArray(paramsOrFirst))) {
735
+ params = (paramsOrFirst || {}) as { id: string, externalRef?: string };
736
+ } else {
737
+ params = {
738
+ id: paramsOrFirst as string,
739
+ externalRef: rest[0] as string
740
+ };
741
+ }
742
+
743
+ const id = params.id;
744
+ const externalRef = params.externalRef;
745
+
746
+ if (typeof id === 'undefined') {
747
+ throw new RevenexxException('Missing required parameter: "id"');
748
+ }
749
+
750
+ const apiPath = '/v1/orders/{id}/acknowledge'.replace('{id}', id);
751
+ const apiPayload: Payload = {};
752
+ if (typeof externalRef !== 'undefined') {
753
+ apiPayload['external_ref'] = externalRef;
754
+ }
755
+ const uri = new URL(this.client.config.endpoint + apiPath);
756
+
757
+ const apiHeaders: { [header: string]: string } = {
758
+ 'content-type': 'application/json',
759
+ }
760
+
761
+ return this.client.call(
762
+ 'post',
763
+ uri,
764
+ apiHeaders,
765
+ apiPayload
766
+ );
767
+ }
768
+
769
+ /**
770
+ *
771
+ * @param {string} params.id -
772
+ * @param {string} params.cancelledBy - Acting user/system.
773
+ * @param {string} params.reason -
774
+ * @throws {RevenexxException}
775
+ * @returns {Promise<Models.Order>}
776
+ */
777
+ ordersCancel(params: { id: string, cancelledBy?: string, reason?: string }): Promise<Models.Order>;
778
+ /**
779
+ *
780
+ * @param {string} id -
781
+ * @param {string} cancelledBy - Acting user/system.
782
+ * @param {string} reason -
783
+ * @throws {RevenexxException}
784
+ * @returns {Promise<Models.Order>}
785
+ * @deprecated Use the object parameter style method for a better developer experience.
786
+ */
787
+ ordersCancel(id: string, cancelledBy?: string, reason?: string): Promise<Models.Order>;
788
+ ordersCancel(
789
+ paramsOrFirst: { id: string, cancelledBy?: string, reason?: string } | string,
790
+ ...rest: [(string)?, (string)?]
791
+ ): Promise<Models.Order> {
792
+ let params: { id: string, cancelledBy?: string, reason?: string };
793
+
794
+ if ((paramsOrFirst && typeof paramsOrFirst === 'object' && !Array.isArray(paramsOrFirst))) {
795
+ params = (paramsOrFirst || {}) as { id: string, cancelledBy?: string, reason?: string };
796
+ } else {
797
+ params = {
798
+ id: paramsOrFirst as string,
799
+ cancelledBy: rest[0] as string,
800
+ reason: rest[1] as string
801
+ };
802
+ }
803
+
804
+ const id = params.id;
805
+ const cancelledBy = params.cancelledBy;
806
+ const reason = params.reason;
807
+
808
+ if (typeof id === 'undefined') {
809
+ throw new RevenexxException('Missing required parameter: "id"');
810
+ }
811
+
812
+ const apiPath = '/v1/orders/{id}/cancel'.replace('{id}', id);
813
+ const apiPayload: Payload = {};
814
+ if (typeof cancelledBy !== 'undefined') {
815
+ apiPayload['cancelled_by'] = cancelledBy;
816
+ }
817
+ if (typeof reason !== 'undefined') {
818
+ apiPayload['reason'] = reason;
819
+ }
820
+ const uri = new URL(this.client.config.endpoint + apiPath);
821
+
822
+ const apiHeaders: { [header: string]: string } = {
823
+ 'content-type': 'application/json',
824
+ }
825
+
826
+ return this.client.call(
827
+ 'post',
828
+ uri,
829
+ apiHeaders,
830
+ apiPayload
831
+ );
832
+ }
833
+
834
+ /**
835
+ *
836
+ * @param {string} params.id -
837
+ * @throws {RevenexxException}
838
+ * @returns {Promise<{}>}
839
+ */
840
+ ordersCommentsList(params: { id: string }): Promise<{}>;
841
+ /**
842
+ *
843
+ * @param {string} id -
844
+ * @throws {RevenexxException}
845
+ * @returns {Promise<{}>}
846
+ * @deprecated Use the object parameter style method for a better developer experience.
847
+ */
848
+ ordersCommentsList(id: string): Promise<{}>;
849
+ ordersCommentsList(
850
+ paramsOrFirst: { id: string } | string
851
+ ): Promise<{}> {
852
+ let params: { id: string };
853
+
854
+ if ((paramsOrFirst && typeof paramsOrFirst === 'object' && !Array.isArray(paramsOrFirst))) {
855
+ params = (paramsOrFirst || {}) as { id: string };
856
+ } else {
857
+ params = {
858
+ id: paramsOrFirst as string
859
+ };
860
+ }
861
+
862
+ const id = params.id;
863
+
864
+ if (typeof id === 'undefined') {
865
+ throw new RevenexxException('Missing required parameter: "id"');
866
+ }
867
+
868
+ const apiPath = '/v1/orders/{id}/comments'.replace('{id}', id);
869
+ const apiPayload: Payload = {};
870
+ const uri = new URL(this.client.config.endpoint + apiPath);
871
+
872
+ const apiHeaders: { [header: string]: string } = {
873
+ }
874
+
875
+ return this.client.call(
876
+ 'get',
877
+ uri,
878
+ apiHeaders,
879
+ apiPayload
880
+ );
881
+ }
882
+
883
+ /**
884
+ *
885
+ * @param {string} params.id -
886
+ * @param {string} params.body -
887
+ * @param {string} params.author -
888
+ * @param {OrderCommentVisibility} params.visibility - Default 'internal'.
889
+ * @throws {RevenexxException}
890
+ * @returns {Promise<Models.OrderComment>}
891
+ */
892
+ ordersCommentsCreate(params: { id: string, body: string, author?: string, visibility?: OrderCommentVisibility }): Promise<Models.OrderComment>;
893
+ /**
894
+ *
895
+ * @param {string} id -
896
+ * @param {string} body -
897
+ * @param {string} author -
898
+ * @param {OrderCommentVisibility} visibility - Default 'internal'.
899
+ * @throws {RevenexxException}
900
+ * @returns {Promise<Models.OrderComment>}
901
+ * @deprecated Use the object parameter style method for a better developer experience.
902
+ */
903
+ ordersCommentsCreate(id: string, body: string, author?: string, visibility?: OrderCommentVisibility): Promise<Models.OrderComment>;
904
+ ordersCommentsCreate(
905
+ paramsOrFirst: { id: string, body: string, author?: string, visibility?: OrderCommentVisibility } | string,
906
+ ...rest: [(string)?, (string)?, (OrderCommentVisibility)?]
907
+ ): Promise<Models.OrderComment> {
908
+ let params: { id: string, body: string, author?: string, visibility?: OrderCommentVisibility };
909
+
910
+ if ((paramsOrFirst && typeof paramsOrFirst === 'object' && !Array.isArray(paramsOrFirst))) {
911
+ params = (paramsOrFirst || {}) as { id: string, body: string, author?: string, visibility?: OrderCommentVisibility };
912
+ } else {
913
+ params = {
914
+ id: paramsOrFirst as string,
915
+ body: rest[0] as string,
916
+ author: rest[1] as string,
917
+ visibility: rest[2] as OrderCommentVisibility
918
+ };
919
+ }
920
+
921
+ const id = params.id;
922
+ const body = params.body;
923
+ const author = params.author;
924
+ const visibility = params.visibility;
925
+
926
+ if (typeof id === 'undefined') {
927
+ throw new RevenexxException('Missing required parameter: "id"');
928
+ }
929
+ if (typeof body === 'undefined') {
930
+ throw new RevenexxException('Missing required parameter: "body"');
931
+ }
932
+
933
+ const apiPath = '/v1/orders/{id}/comments'.replace('{id}', id);
934
+ const apiPayload: Payload = {};
935
+ if (typeof author !== 'undefined') {
936
+ apiPayload['author'] = author;
937
+ }
938
+ if (typeof body !== 'undefined') {
939
+ apiPayload['body'] = body;
940
+ }
941
+ if (typeof visibility !== 'undefined') {
942
+ apiPayload['visibility'] = visibility;
943
+ }
944
+ const uri = new URL(this.client.config.endpoint + apiPath);
945
+
946
+ const apiHeaders: { [header: string]: string } = {
947
+ 'content-type': 'application/json',
948
+ }
949
+
950
+ return this.client.call(
951
+ 'post',
952
+ uri,
953
+ apiHeaders,
954
+ apiPayload
955
+ );
956
+ }
957
+
958
+ /**
959
+ *
960
+ * @param {string} params.id -
961
+ * @throws {RevenexxException}
962
+ * @returns {Promise<{}>}
963
+ */
964
+ ordersEventsList(params: { id: string }): Promise<{}>;
965
+ /**
966
+ *
967
+ * @param {string} id -
968
+ * @throws {RevenexxException}
969
+ * @returns {Promise<{}>}
970
+ * @deprecated Use the object parameter style method for a better developer experience.
971
+ */
972
+ ordersEventsList(id: string): Promise<{}>;
973
+ ordersEventsList(
974
+ paramsOrFirst: { id: string } | string
975
+ ): Promise<{}> {
976
+ let params: { id: string };
977
+
978
+ if ((paramsOrFirst && typeof paramsOrFirst === 'object' && !Array.isArray(paramsOrFirst))) {
979
+ params = (paramsOrFirst || {}) as { id: string };
980
+ } else {
981
+ params = {
982
+ id: paramsOrFirst as string
983
+ };
984
+ }
985
+
986
+ const id = params.id;
987
+
988
+ if (typeof id === 'undefined') {
989
+ throw new RevenexxException('Missing required parameter: "id"');
990
+ }
991
+
992
+ const apiPath = '/v1/orders/{id}/events'.replace('{id}', id);
993
+ const apiPayload: Payload = {};
994
+ const uri = new URL(this.client.config.endpoint + apiPath);
995
+
996
+ const apiHeaders: { [header: string]: string } = {
997
+ }
998
+
999
+ return this.client.call(
1000
+ 'get',
1001
+ uri,
1002
+ apiHeaders,
1003
+ apiPayload
1004
+ );
1005
+ }
1006
+
1007
+ /**
1008
+ *
1009
+ * @param {string} params.id -
1010
+ * @param {string} params.reason - Why the order is blocked (shown on the shipping guard).
1011
+ * @throws {RevenexxException}
1012
+ * @returns {Promise<Models.Order>}
1013
+ */
1014
+ ordersHold(params: { id: string, reason?: string }): Promise<Models.Order>;
1015
+ /**
1016
+ *
1017
+ * @param {string} id -
1018
+ * @param {string} reason - Why the order is blocked (shown on the shipping guard).
1019
+ * @throws {RevenexxException}
1020
+ * @returns {Promise<Models.Order>}
1021
+ * @deprecated Use the object parameter style method for a better developer experience.
1022
+ */
1023
+ ordersHold(id: string, reason?: string): Promise<Models.Order>;
1024
+ ordersHold(
1025
+ paramsOrFirst: { id: string, reason?: string } | string,
1026
+ ...rest: [(string)?]
1027
+ ): Promise<Models.Order> {
1028
+ let params: { id: string, reason?: string };
1029
+
1030
+ if ((paramsOrFirst && typeof paramsOrFirst === 'object' && !Array.isArray(paramsOrFirst))) {
1031
+ params = (paramsOrFirst || {}) as { id: string, reason?: string };
1032
+ } else {
1033
+ params = {
1034
+ id: paramsOrFirst as string,
1035
+ reason: rest[0] as string
1036
+ };
1037
+ }
1038
+
1039
+ const id = params.id;
1040
+ const reason = params.reason;
1041
+
1042
+ if (typeof id === 'undefined') {
1043
+ throw new RevenexxException('Missing required parameter: "id"');
1044
+ }
1045
+
1046
+ const apiPath = '/v1/orders/{id}/hold'.replace('{id}', id);
1047
+ const apiPayload: Payload = {};
1048
+ if (typeof reason !== 'undefined') {
1049
+ apiPayload['reason'] = reason;
1050
+ }
1051
+ const uri = new URL(this.client.config.endpoint + apiPath);
1052
+
1053
+ const apiHeaders: { [header: string]: string } = {
1054
+ 'content-type': 'application/json',
1055
+ }
1056
+
1057
+ return this.client.call(
1058
+ 'post',
1059
+ uri,
1060
+ apiHeaders,
1061
+ apiPayload
1062
+ );
1063
+ }
1064
+
1065
+ /**
1066
+ *
1067
+ * @param {string} params.id -
1068
+ * @param {Models.OrderCancelPosition[]} params.positions -
1069
+ * @param {string} params.cancelledBy - Acting user/system.
1070
+ * @param {string} params.reason -
1071
+ * @throws {RevenexxException}
1072
+ * @returns {Promise<Models.Order>}
1073
+ */
1074
+ ordersItemsCancel(params: { id: string, positions: Models.OrderCancelPosition[], cancelledBy?: string, reason?: string }): Promise<Models.Order>;
1075
+ /**
1076
+ *
1077
+ * @param {string} id -
1078
+ * @param {Models.OrderCancelPosition[]} positions -
1079
+ * @param {string} cancelledBy - Acting user/system.
1080
+ * @param {string} reason -
1081
+ * @throws {RevenexxException}
1082
+ * @returns {Promise<Models.Order>}
1083
+ * @deprecated Use the object parameter style method for a better developer experience.
1084
+ */
1085
+ ordersItemsCancel(id: string, positions: Models.OrderCancelPosition[], cancelledBy?: string, reason?: string): Promise<Models.Order>;
1086
+ ordersItemsCancel(
1087
+ paramsOrFirst: { id: string, positions: Models.OrderCancelPosition[], cancelledBy?: string, reason?: string } | string,
1088
+ ...rest: [(Models.OrderCancelPosition[])?, (string)?, (string)?]
1089
+ ): Promise<Models.Order> {
1090
+ let params: { id: string, positions: Models.OrderCancelPosition[], cancelledBy?: string, reason?: string };
1091
+
1092
+ if ((paramsOrFirst && typeof paramsOrFirst === 'object' && !Array.isArray(paramsOrFirst))) {
1093
+ params = (paramsOrFirst || {}) as { id: string, positions: Models.OrderCancelPosition[], cancelledBy?: string, reason?: string };
1094
+ } else {
1095
+ params = {
1096
+ id: paramsOrFirst as string,
1097
+ positions: rest[0] as Models.OrderCancelPosition[],
1098
+ cancelledBy: rest[1] as string,
1099
+ reason: rest[2] as string
1100
+ };
1101
+ }
1102
+
1103
+ const id = params.id;
1104
+ const positions = params.positions;
1105
+ const cancelledBy = params.cancelledBy;
1106
+ const reason = params.reason;
1107
+
1108
+ if (typeof id === 'undefined') {
1109
+ throw new RevenexxException('Missing required parameter: "id"');
1110
+ }
1111
+ if (typeof positions === 'undefined') {
1112
+ throw new RevenexxException('Missing required parameter: "positions"');
1113
+ }
1114
+
1115
+ const apiPath = '/v1/orders/{id}/items/cancel'.replace('{id}', id);
1116
+ const apiPayload: Payload = {};
1117
+ if (typeof cancelledBy !== 'undefined') {
1118
+ apiPayload['cancelled_by'] = cancelledBy;
1119
+ }
1120
+ if (typeof positions !== 'undefined') {
1121
+ apiPayload['positions'] = positions;
1122
+ }
1123
+ if (typeof reason !== 'undefined') {
1124
+ apiPayload['reason'] = reason;
1125
+ }
1126
+ const uri = new URL(this.client.config.endpoint + apiPath);
1127
+
1128
+ const apiHeaders: { [header: string]: string } = {
1129
+ 'content-type': 'application/json',
1130
+ }
1131
+
1132
+ return this.client.call(
1133
+ 'post',
1134
+ uri,
1135
+ apiHeaders,
1136
+ apiPayload
1137
+ );
1138
+ }
1139
+
1140
+ /**
1141
+ *
1142
+ * @param {string} params.id -
1143
+ * @param {OrderPaymentStatus} params.status - The new payment dimension value.
1144
+ * @param {string} params.paymentId - Reference into the payment system — merged into the order's payment snapshot.
1145
+ * @throws {RevenexxException}
1146
+ * @returns {Promise<Models.Order>}
1147
+ */
1148
+ ordersPaymentStatusUpdate(params: { id: string, status: OrderPaymentStatus, paymentId?: string }): Promise<Models.Order>;
1149
+ /**
1150
+ *
1151
+ * @param {string} id -
1152
+ * @param {OrderPaymentStatus} status - The new payment dimension value.
1153
+ * @param {string} paymentId - Reference into the payment system — merged into the order's payment snapshot.
1154
+ * @throws {RevenexxException}
1155
+ * @returns {Promise<Models.Order>}
1156
+ * @deprecated Use the object parameter style method for a better developer experience.
1157
+ */
1158
+ ordersPaymentStatusUpdate(id: string, status: OrderPaymentStatus, paymentId?: string): Promise<Models.Order>;
1159
+ ordersPaymentStatusUpdate(
1160
+ paramsOrFirst: { id: string, status: OrderPaymentStatus, paymentId?: string } | string,
1161
+ ...rest: [(OrderPaymentStatus)?, (string)?]
1162
+ ): Promise<Models.Order> {
1163
+ let params: { id: string, status: OrderPaymentStatus, paymentId?: string };
1164
+
1165
+ if ((paramsOrFirst && typeof paramsOrFirst === 'object' && !Array.isArray(paramsOrFirst))) {
1166
+ params = (paramsOrFirst || {}) as { id: string, status: OrderPaymentStatus, paymentId?: string };
1167
+ } else {
1168
+ params = {
1169
+ id: paramsOrFirst as string,
1170
+ status: rest[0] as OrderPaymentStatus,
1171
+ paymentId: rest[1] as string
1172
+ };
1173
+ }
1174
+
1175
+ const id = params.id;
1176
+ const status = params.status;
1177
+ const paymentId = params.paymentId;
1178
+
1179
+ if (typeof id === 'undefined') {
1180
+ throw new RevenexxException('Missing required parameter: "id"');
1181
+ }
1182
+ if (typeof status === 'undefined') {
1183
+ throw new RevenexxException('Missing required parameter: "status"');
1184
+ }
1185
+
1186
+ const apiPath = '/v1/orders/{id}/payment-status'.replace('{id}', id);
1187
+ const apiPayload: Payload = {};
1188
+ if (typeof paymentId !== 'undefined') {
1189
+ apiPayload['payment_id'] = paymentId;
1190
+ }
1191
+ if (typeof status !== 'undefined') {
1192
+ apiPayload['status'] = status;
1193
+ }
1194
+ const uri = new URL(this.client.config.endpoint + apiPath);
1195
+
1196
+ const apiHeaders: { [header: string]: string } = {
1197
+ 'content-type': 'application/json',
1198
+ }
1199
+
1200
+ return this.client.call(
1201
+ 'post',
1202
+ uri,
1203
+ apiHeaders,
1204
+ apiPayload
1205
+ );
1206
+ }
1207
+
1208
+ /**
1209
+ *
1210
+ * @param {string} params.id -
1211
+ * @param {Models.OrderReturnPosition[]} params.positions -
1212
+ * @param {object} params.metadata - Free-form metadata.
1213
+ * @param {string} params.reason -
1214
+ * @throws {RevenexxException}
1215
+ * @returns {Promise<Models.OrderReturn>}
1216
+ */
1217
+ ordersReturn(params: { id: string, positions: Models.OrderReturnPosition[], metadata?: object, reason?: string }): Promise<Models.OrderReturn>;
1218
+ /**
1219
+ *
1220
+ * @param {string} id -
1221
+ * @param {Models.OrderReturnPosition[]} positions -
1222
+ * @param {object} metadata - Free-form metadata.
1223
+ * @param {string} reason -
1224
+ * @throws {RevenexxException}
1225
+ * @returns {Promise<Models.OrderReturn>}
1226
+ * @deprecated Use the object parameter style method for a better developer experience.
1227
+ */
1228
+ ordersReturn(id: string, positions: Models.OrderReturnPosition[], metadata?: object, reason?: string): Promise<Models.OrderReturn>;
1229
+ ordersReturn(
1230
+ paramsOrFirst: { id: string, positions: Models.OrderReturnPosition[], metadata?: object, reason?: string } | string,
1231
+ ...rest: [(Models.OrderReturnPosition[])?, (object)?, (string)?]
1232
+ ): Promise<Models.OrderReturn> {
1233
+ let params: { id: string, positions: Models.OrderReturnPosition[], metadata?: object, reason?: string };
1234
+
1235
+ if ((paramsOrFirst && typeof paramsOrFirst === 'object' && !Array.isArray(paramsOrFirst))) {
1236
+ params = (paramsOrFirst || {}) as { id: string, positions: Models.OrderReturnPosition[], metadata?: object, reason?: string };
1237
+ } else {
1238
+ params = {
1239
+ id: paramsOrFirst as string,
1240
+ positions: rest[0] as Models.OrderReturnPosition[],
1241
+ metadata: rest[1] as object,
1242
+ reason: rest[2] as string
1243
+ };
1244
+ }
1245
+
1246
+ const id = params.id;
1247
+ const positions = params.positions;
1248
+ const metadata = params.metadata;
1249
+ const reason = params.reason;
1250
+
1251
+ if (typeof id === 'undefined') {
1252
+ throw new RevenexxException('Missing required parameter: "id"');
1253
+ }
1254
+ if (typeof positions === 'undefined') {
1255
+ throw new RevenexxException('Missing required parameter: "positions"');
1256
+ }
1257
+
1258
+ const apiPath = '/v1/orders/{id}/return'.replace('{id}', id);
1259
+ const apiPayload: Payload = {};
1260
+ if (typeof metadata !== 'undefined') {
1261
+ apiPayload['metadata'] = metadata;
1262
+ }
1263
+ if (typeof positions !== 'undefined') {
1264
+ apiPayload['positions'] = positions;
1265
+ }
1266
+ if (typeof reason !== 'undefined') {
1267
+ apiPayload['reason'] = reason;
1268
+ }
1269
+ const uri = new URL(this.client.config.endpoint + apiPath);
1270
+
1271
+ const apiHeaders: { [header: string]: string } = {
1272
+ 'content-type': 'application/json',
1273
+ }
1274
+
1275
+ return this.client.call(
1276
+ 'post',
1277
+ uri,
1278
+ apiHeaders,
1279
+ apiPayload
1280
+ );
1281
+ }
1282
+
1283
+ /**
1284
+ *
1285
+ * @param {string} params.id -
1286
+ * @param {string} params.rid -
1287
+ * @param {string} params.resolution - How the return was settled (refund, replacement, …).
1288
+ * @throws {RevenexxException}
1289
+ * @returns {Promise<Models.OrderReturn>}
1290
+ */
1291
+ ordersReturnsComplete(params: { id: string, rid: string, resolution?: string }): Promise<Models.OrderReturn>;
1292
+ /**
1293
+ *
1294
+ * @param {string} id -
1295
+ * @param {string} rid -
1296
+ * @param {string} resolution - How the return was settled (refund, replacement, …).
1297
+ * @throws {RevenexxException}
1298
+ * @returns {Promise<Models.OrderReturn>}
1299
+ * @deprecated Use the object parameter style method for a better developer experience.
1300
+ */
1301
+ ordersReturnsComplete(id: string, rid: string, resolution?: string): Promise<Models.OrderReturn>;
1302
+ ordersReturnsComplete(
1303
+ paramsOrFirst: { id: string, rid: string, resolution?: string } | string,
1304
+ ...rest: [(string)?, (string)?]
1305
+ ): Promise<Models.OrderReturn> {
1306
+ let params: { id: string, rid: string, resolution?: string };
1307
+
1308
+ if ((paramsOrFirst && typeof paramsOrFirst === 'object' && !Array.isArray(paramsOrFirst))) {
1309
+ params = (paramsOrFirst || {}) as { id: string, rid: string, resolution?: string };
1310
+ } else {
1311
+ params = {
1312
+ id: paramsOrFirst as string,
1313
+ rid: rest[0] as string,
1314
+ resolution: rest[1] as string
1315
+ };
1316
+ }
1317
+
1318
+ const id = params.id;
1319
+ const rid = params.rid;
1320
+ const resolution = params.resolution;
1321
+
1322
+ if (typeof id === 'undefined') {
1323
+ throw new RevenexxException('Missing required parameter: "id"');
1324
+ }
1325
+ if (typeof rid === 'undefined') {
1326
+ throw new RevenexxException('Missing required parameter: "rid"');
1327
+ }
1328
+
1329
+ const apiPath = '/v1/orders/{id}/returns/{rid}/complete'.replace('{id}', id).replace('{rid}', rid);
1330
+ const apiPayload: Payload = {};
1331
+ if (typeof resolution !== 'undefined') {
1332
+ apiPayload['resolution'] = resolution;
1333
+ }
1334
+ const uri = new URL(this.client.config.endpoint + apiPath);
1335
+
1336
+ const apiHeaders: { [header: string]: string } = {
1337
+ 'content-type': 'application/json',
1338
+ }
1339
+
1340
+ return this.client.call(
1341
+ 'post',
1342
+ uri,
1343
+ apiHeaders,
1344
+ apiPayload
1345
+ );
1346
+ }
1347
+
1348
+ /**
1349
+ *
1350
+ * @param {string} params.id -
1351
+ * @param {string} params.rid -
1352
+ * @param {object} params.data - Request body
1353
+ * @throws {RevenexxException}
1354
+ * @returns {Promise<Models.OrderReturn>}
1355
+ */
1356
+ ordersReturnsReceive(params: { id: string, rid: string, data: object }): Promise<Models.OrderReturn>;
1357
+ /**
1358
+ *
1359
+ * @param {string} id -
1360
+ * @param {string} rid -
1361
+ * @param {object} data - Request body
1362
+ * @throws {RevenexxException}
1363
+ * @returns {Promise<Models.OrderReturn>}
1364
+ * @deprecated Use the object parameter style method for a better developer experience.
1365
+ */
1366
+ ordersReturnsReceive(id: string, rid: string, data: object): Promise<Models.OrderReturn>;
1367
+ ordersReturnsReceive(
1368
+ paramsOrFirst: { id: string, rid: string, data: object } | string,
1369
+ ...rest: [(string)?, (object)?]
1370
+ ): Promise<Models.OrderReturn> {
1371
+ let params: { id: string, rid: string, data: object };
1372
+
1373
+ if ((paramsOrFirst && typeof paramsOrFirst === 'object' && !Array.isArray(paramsOrFirst))) {
1374
+ params = (paramsOrFirst || {}) as { id: string, rid: string, data: object };
1375
+ } else {
1376
+ params = {
1377
+ id: paramsOrFirst as string,
1378
+ rid: rest[0] as string,
1379
+ data: rest[1] as object
1380
+ };
1381
+ }
1382
+
1383
+ const id = params.id;
1384
+ const rid = params.rid;
1385
+ const data = params.data;
1386
+
1387
+ if (typeof id === 'undefined') {
1388
+ throw new RevenexxException('Missing required parameter: "id"');
1389
+ }
1390
+ if (typeof rid === 'undefined') {
1391
+ throw new RevenexxException('Missing required parameter: "rid"');
1392
+ }
1393
+ if (typeof data === 'undefined') {
1394
+ throw new RevenexxException('Missing required parameter: "data"');
1395
+ }
1396
+
1397
+ const apiPath = '/v1/orders/{id}/returns/{rid}/receive'.replace('{id}', id).replace('{rid}', rid);
1398
+ const apiPayload: Payload = {};
1399
+ if (typeof data !== 'undefined') {
1400
+ Object.assign(apiPayload, data);
1401
+ }
1402
+ const uri = new URL(this.client.config.endpoint + apiPath);
1403
+
1404
+ const apiHeaders: { [header: string]: string } = {
1405
+ 'content-type': 'application/json',
1406
+ }
1407
+
1408
+ return this.client.call(
1409
+ 'post',
1410
+ uri,
1411
+ apiHeaders,
1412
+ apiPayload
1413
+ );
1414
+ }
1415
+
1416
+ /**
1417
+ *
1418
+ * @param {string} params.id -
1419
+ * @param {string} params.rid -
1420
+ * @param {string} params.reason - Fallback for 'resolution'.
1421
+ * @param {string} params.resolution - Why the return was rejected.
1422
+ * @throws {RevenexxException}
1423
+ * @returns {Promise<Models.OrderReturn>}
1424
+ */
1425
+ ordersReturnsReject(params: { id: string, rid: string, reason?: string, resolution?: string }): Promise<Models.OrderReturn>;
1426
+ /**
1427
+ *
1428
+ * @param {string} id -
1429
+ * @param {string} rid -
1430
+ * @param {string} reason - Fallback for 'resolution'.
1431
+ * @param {string} resolution - Why the return was rejected.
1432
+ * @throws {RevenexxException}
1433
+ * @returns {Promise<Models.OrderReturn>}
1434
+ * @deprecated Use the object parameter style method for a better developer experience.
1435
+ */
1436
+ ordersReturnsReject(id: string, rid: string, reason?: string, resolution?: string): Promise<Models.OrderReturn>;
1437
+ ordersReturnsReject(
1438
+ paramsOrFirst: { id: string, rid: string, reason?: string, resolution?: string } | string,
1439
+ ...rest: [(string)?, (string)?, (string)?]
1440
+ ): Promise<Models.OrderReturn> {
1441
+ let params: { id: string, rid: string, reason?: string, resolution?: string };
1442
+
1443
+ if ((paramsOrFirst && typeof paramsOrFirst === 'object' && !Array.isArray(paramsOrFirst))) {
1444
+ params = (paramsOrFirst || {}) as { id: string, rid: string, reason?: string, resolution?: string };
1445
+ } else {
1446
+ params = {
1447
+ id: paramsOrFirst as string,
1448
+ rid: rest[0] as string,
1449
+ reason: rest[1] as string,
1450
+ resolution: rest[2] as string
1451
+ };
1452
+ }
1453
+
1454
+ const id = params.id;
1455
+ const rid = params.rid;
1456
+ const reason = params.reason;
1457
+ const resolution = params.resolution;
1458
+
1459
+ if (typeof id === 'undefined') {
1460
+ throw new RevenexxException('Missing required parameter: "id"');
1461
+ }
1462
+ if (typeof rid === 'undefined') {
1463
+ throw new RevenexxException('Missing required parameter: "rid"');
1464
+ }
1465
+
1466
+ const apiPath = '/v1/orders/{id}/returns/{rid}/reject'.replace('{id}', id).replace('{rid}', rid);
1467
+ const apiPayload: Payload = {};
1468
+ if (typeof reason !== 'undefined') {
1469
+ apiPayload['reason'] = reason;
1470
+ }
1471
+ if (typeof resolution !== 'undefined') {
1472
+ apiPayload['resolution'] = resolution;
1473
+ }
1474
+ const uri = new URL(this.client.config.endpoint + apiPath);
1475
+
1476
+ const apiHeaders: { [header: string]: string } = {
1477
+ 'content-type': 'application/json',
1478
+ }
1479
+
1480
+ return this.client.call(
1481
+ 'post',
1482
+ uri,
1483
+ apiHeaders,
1484
+ apiPayload
1485
+ );
1486
+ }
1487
+
1488
+ /**
1489
+ *
1490
+ * @param {string} params.id -
1491
+ * @param {string} params.carrier -
1492
+ * @param {object} params.metadata - Free-form metadata.
1493
+ * @param {string} params.number - Delivery note number — drawn from the 'delivery' range when omitted.
1494
+ * @param {Models.OrderShipmentPosition[]} params.positions - Omitted = every position with open quantity, in full.
1495
+ * @param {string} params.shippedAt - Defaults to now.
1496
+ * @param {string} params.trackingCode -
1497
+ * @param {string} params.trackingUrl -
1498
+ * @throws {RevenexxException}
1499
+ * @returns {Promise<{}>}
1500
+ */
1501
+ ordersShip(params: { id: string, carrier?: string, metadata?: object, number?: string, positions?: Models.OrderShipmentPosition[], shippedAt?: string, trackingCode?: string, trackingUrl?: string }): Promise<{}>;
1502
+ /**
1503
+ *
1504
+ * @param {string} id -
1505
+ * @param {string} carrier -
1506
+ * @param {object} metadata - Free-form metadata.
1507
+ * @param {string} number - Delivery note number — drawn from the 'delivery' range when omitted.
1508
+ * @param {Models.OrderShipmentPosition[]} positions - Omitted = every position with open quantity, in full.
1509
+ * @param {string} shippedAt - Defaults to now.
1510
+ * @param {string} trackingCode -
1511
+ * @param {string} trackingUrl -
1512
+ * @throws {RevenexxException}
1513
+ * @returns {Promise<{}>}
1514
+ * @deprecated Use the object parameter style method for a better developer experience.
1515
+ */
1516
+ ordersShip(id: string, carrier?: string, metadata?: object, number?: string, positions?: Models.OrderShipmentPosition[], shippedAt?: string, trackingCode?: string, trackingUrl?: string): Promise<{}>;
1517
+ ordersShip(
1518
+ paramsOrFirst: { id: string, carrier?: string, metadata?: object, number?: string, positions?: Models.OrderShipmentPosition[], shippedAt?: string, trackingCode?: string, trackingUrl?: string } | string,
1519
+ ...rest: [(string)?, (object)?, (string)?, (Models.OrderShipmentPosition[])?, (string)?, (string)?, (string)?]
1520
+ ): Promise<{}> {
1521
+ let params: { id: string, carrier?: string, metadata?: object, number?: string, positions?: Models.OrderShipmentPosition[], shippedAt?: string, trackingCode?: string, trackingUrl?: string };
1522
+
1523
+ if ((paramsOrFirst && typeof paramsOrFirst === 'object' && !Array.isArray(paramsOrFirst))) {
1524
+ params = (paramsOrFirst || {}) as { id: string, carrier?: string, metadata?: object, number?: string, positions?: Models.OrderShipmentPosition[], shippedAt?: string, trackingCode?: string, trackingUrl?: string };
1525
+ } else {
1526
+ params = {
1527
+ id: paramsOrFirst as string,
1528
+ carrier: rest[0] as string,
1529
+ metadata: rest[1] as object,
1530
+ number: rest[2] as string,
1531
+ positions: rest[3] as Models.OrderShipmentPosition[],
1532
+ shippedAt: rest[4] as string,
1533
+ trackingCode: rest[5] as string,
1534
+ trackingUrl: rest[6] as string
1535
+ };
1536
+ }
1537
+
1538
+ const id = params.id;
1539
+ const carrier = params.carrier;
1540
+ const metadata = params.metadata;
1541
+ const number = params.number;
1542
+ const positions = params.positions;
1543
+ const shippedAt = params.shippedAt;
1544
+ const trackingCode = params.trackingCode;
1545
+ const trackingUrl = params.trackingUrl;
1546
+
1547
+ if (typeof id === 'undefined') {
1548
+ throw new RevenexxException('Missing required parameter: "id"');
1549
+ }
1550
+
1551
+ const apiPath = '/v1/orders/{id}/ship'.replace('{id}', id);
1552
+ const apiPayload: Payload = {};
1553
+ if (typeof carrier !== 'undefined') {
1554
+ apiPayload['carrier'] = carrier;
1555
+ }
1556
+ if (typeof metadata !== 'undefined') {
1557
+ apiPayload['metadata'] = metadata;
1558
+ }
1559
+ if (typeof number !== 'undefined') {
1560
+ apiPayload['number'] = number;
1561
+ }
1562
+ if (typeof positions !== 'undefined') {
1563
+ apiPayload['positions'] = positions;
1564
+ }
1565
+ if (typeof shippedAt !== 'undefined') {
1566
+ apiPayload['shipped_at'] = shippedAt;
1567
+ }
1568
+ if (typeof trackingCode !== 'undefined') {
1569
+ apiPayload['tracking_code'] = trackingCode;
1570
+ }
1571
+ if (typeof trackingUrl !== 'undefined') {
1572
+ apiPayload['tracking_url'] = trackingUrl;
1573
+ }
1574
+ const uri = new URL(this.client.config.endpoint + apiPath);
1575
+
1576
+ const apiHeaders: { [header: string]: string } = {
1577
+ 'content-type': 'application/json',
1578
+ }
1579
+
1580
+ return this.client.call(
1581
+ 'post',
1582
+ uri,
1583
+ apiHeaders,
1584
+ apiPayload
1585
+ );
1586
+ }
1587
+
1588
+ /**
1589
+ *
1590
+ * @param {string} params.id -
1591
+ * @param {object} params.data - Request body
1592
+ * @throws {RevenexxException}
1593
+ * @returns {Promise<Models.Order>}
1594
+ */
1595
+ ordersUnhold(params: { id: string, data: object }): Promise<Models.Order>;
1596
+ /**
1597
+ *
1598
+ * @param {string} id -
1599
+ * @param {object} data - Request body
1600
+ * @throws {RevenexxException}
1601
+ * @returns {Promise<Models.Order>}
1602
+ * @deprecated Use the object parameter style method for a better developer experience.
1603
+ */
1604
+ ordersUnhold(id: string, data: object): Promise<Models.Order>;
1605
+ ordersUnhold(
1606
+ paramsOrFirst: { id: string, data: object } | string,
1607
+ ...rest: [(object)?]
1608
+ ): Promise<Models.Order> {
1609
+ let params: { id: string, data: object };
1610
+
1611
+ if ((paramsOrFirst && typeof paramsOrFirst === 'object' && !Array.isArray(paramsOrFirst))) {
1612
+ params = (paramsOrFirst || {}) as { id: string, data: object };
1613
+ } else {
1614
+ params = {
1615
+ id: paramsOrFirst as string,
1616
+ data: rest[0] as object
1617
+ };
1618
+ }
1619
+
1620
+ const id = params.id;
1621
+ const data = params.data;
1622
+
1623
+ if (typeof id === 'undefined') {
1624
+ throw new RevenexxException('Missing required parameter: "id"');
1625
+ }
1626
+ if (typeof data === 'undefined') {
1627
+ throw new RevenexxException('Missing required parameter: "data"');
1628
+ }
1629
+
1630
+ const apiPath = '/v1/orders/{id}/unhold'.replace('{id}', id);
1631
+ const apiPayload: Payload = {};
1632
+ if (typeof data !== 'undefined') {
1633
+ Object.assign(apiPayload, data);
1634
+ }
1635
+ const uri = new URL(this.client.config.endpoint + apiPath);
1636
+
1637
+ const apiHeaders: { [header: string]: string } = {
1638
+ 'content-type': 'application/json',
1639
+ }
1640
+
1641
+ return this.client.call(
1642
+ 'post',
1643
+ uri,
1644
+ apiHeaders,
1645
+ apiPayload
1646
+ );
1647
+ }
1648
+ }