@revenexx/sdk 0.0.4 → 0.0.6

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 (99) hide show
  1. package/dist/cjs/sdk.js +13491 -6163
  2. package/dist/cjs/sdk.js.map +1 -1
  3. package/dist/esm/sdk.js +13464 -6162
  4. package/dist/esm/sdk.js.map +1 -1
  5. package/dist/iife/sdk.js +13491 -6163
  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-list-kind.ts +4 -0
  24. package/src/enums/order-payment-status.ts +9 -0
  25. package/src/enums/organization-status.ts +4 -0
  26. package/src/enums/page-status.ts +5 -0
  27. package/src/enums/payment-fee-type.ts +5 -0
  28. package/src/enums/payment-method-kind.ts +4 -0
  29. package/src/enums/price-entry-type.ts +4 -0
  30. package/src/enums/price-list-status.ts +4 -0
  31. package/src/enums/shipping-method-matrix-basis.ts +6 -0
  32. package/src/enums/shipping-method-pricing-type.ts +5 -0
  33. package/src/enums/store-asset-request-visibility.ts +4 -0
  34. package/src/enums/visibility.ts +4 -0
  35. package/src/index.ts +28 -2
  36. package/src/models.ts +5309 -1009
  37. package/src/services/apps.ts +154 -154
  38. package/src/services/avatars.ts +57 -57
  39. package/src/services/carts.ts +739 -104
  40. package/src/services/channels.ts +147 -19
  41. package/src/services/customers.ts +809 -69
  42. package/src/services/greetings.ts +18 -18
  43. package/src/services/inventories.ts +620 -65
  44. package/src/services/locale.ts +16 -16
  45. package/src/services/markets.ts +690 -75
  46. package/src/services/messaging.ts +273 -273
  47. package/src/services/orderlists.ts +889 -0
  48. package/src/services/orders.ts +692 -137
  49. package/src/services/pages.ts +661 -155
  50. package/src/services/payments.ts +591 -64
  51. package/src/services/prices.ts +585 -59
  52. package/src/services/products.ts +1908 -272
  53. package/src/services/search.ts +24 -24
  54. package/src/services/shipping.ts +451 -59
  55. package/src/services/sites.ts +116 -116
  56. package/src/services/storage.ts +933 -599
  57. package/src/services/tokens.ts +14 -14
  58. package/types/enums/address-type.d.ts +4 -0
  59. package/types/enums/cart-export-format.d.ts +4 -0
  60. package/types/enums/cart-io-apply-mode.d.ts +5 -0
  61. package/types/enums/cart-io-direction.d.ts +4 -0
  62. package/types/enums/cart-io-entity.d.ts +4 -0
  63. package/types/enums/cart-io-format.d.ts +4 -0
  64. package/types/enums/cart-item-type.d.ts +5 -0
  65. package/types/enums/channel-status.d.ts +4 -0
  66. package/types/enums/channel-type.d.ts +7 -0
  67. package/types/enums/contact-role.d.ts +6 -0
  68. package/types/enums/contact-status.d.ts +5 -0
  69. package/types/enums/location-type.d.ts +6 -0
  70. package/types/enums/market-status.d.ts +4 -0
  71. package/types/enums/order-comment-visibility.d.ts +4 -0
  72. package/types/enums/order-item-type.d.ts +5 -0
  73. package/types/enums/order-list-kind.d.ts +4 -0
  74. package/types/enums/order-payment-status.d.ts +9 -0
  75. package/types/enums/organization-status.d.ts +4 -0
  76. package/types/enums/page-status.d.ts +5 -0
  77. package/types/enums/payment-fee-type.d.ts +5 -0
  78. package/types/enums/payment-method-kind.d.ts +4 -0
  79. package/types/enums/price-entry-type.d.ts +4 -0
  80. package/types/enums/price-list-status.d.ts +4 -0
  81. package/types/enums/shipping-method-matrix-basis.d.ts +6 -0
  82. package/types/enums/shipping-method-pricing-type.d.ts +5 -0
  83. package/types/enums/store-asset-request-visibility.d.ts +4 -0
  84. package/types/enums/visibility.d.ts +4 -0
  85. package/types/index.d.ts +28 -2
  86. package/types/models.d.ts +5170 -1010
  87. package/types/services/carts.d.ts +271 -12
  88. package/types/services/channels.d.ts +54 -2
  89. package/types/services/customers.d.ts +298 -12
  90. package/types/services/inventories.d.ts +225 -11
  91. package/types/services/markets.d.ts +235 -6
  92. package/types/services/orderlists.d.ts +324 -0
  93. package/types/services/orders.d.ts +238 -16
  94. package/types/services/pages.d.ts +190 -6
  95. package/types/services/payments.d.ts +221 -7
  96. package/types/services/prices.d.ts +218 -6
  97. package/types/services/products.d.ts +672 -32
  98. package/types/services/shipping.d.ts +168 -6
  99. package/types/services/storage.d.ts +353 -285
@@ -2,6 +2,8 @@ import { Service } from '../service';
2
2
  import { RevenexxException, Client, type Payload, UploadProgress } from '../client';
3
3
  import type { Models } from '../models';
4
4
 
5
+ import { OrderCommentVisibility } from '../enums/order-comment-visibility';
6
+ import { OrderPaymentStatus } from '../enums/order-payment-status';
5
7
 
6
8
  export class Orders {
7
9
  client: Client;
@@ -18,7 +20,7 @@ export class Orders {
18
20
  ordersList(): Promise<{}> {
19
21
 
20
22
  const apiPath = '/v1/orders';
21
- const payload: Payload = {};
23
+ const apiPayload: Payload = {};
22
24
  const uri = new URL(this.client.config.endpoint + apiPath);
23
25
 
24
26
  const apiHeaders: { [header: string]: string } = {
@@ -28,7 +30,7 @@ export class Orders {
28
30
  'get',
29
31
  uri,
30
32
  apiHeaders,
31
- payload
33
+ apiPayload
32
34
  );
33
35
  }
34
36
 
@@ -40,7 +42,7 @@ export class Orders {
40
42
  ordersNumberRangesList(): Promise<{}> {
41
43
 
42
44
  const apiPath = '/v1/orders/number-ranges';
43
- const payload: Payload = {};
45
+ const apiPayload: Payload = {};
44
46
  const uri = new URL(this.client.config.endpoint + apiPath);
45
47
 
46
48
  const apiHeaders: { [header: string]: string } = {
@@ -50,19 +52,106 @@ export class Orders {
50
52
  'get',
51
53
  uri,
52
54
  apiHeaders,
53
- payload
55
+ apiPayload
54
56
  );
55
57
  }
56
58
 
57
59
  /**
58
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 ''.
59
70
  * @throws {RevenexxException}
60
71
  * @returns {Promise<Models.NumberRange>}
61
72
  */
62
- ordersNumberRangesCreate(): Promise<Models.NumberRange> {
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
+ }
63
125
 
64
126
  const apiPath = '/v1/orders/number-ranges';
65
- const payload: Payload = {};
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
+ }
66
155
  const uri = new URL(this.client.config.endpoint + apiPath);
67
156
 
68
157
  const apiHeaders: { [header: string]: string } = {
@@ -73,7 +162,7 @@ export class Orders {
73
162
  'post',
74
163
  uri,
75
164
  apiHeaders,
76
- payload
165
+ apiPayload
77
166
  );
78
167
  }
79
168
 
@@ -85,7 +174,7 @@ export class Orders {
85
174
  ordersNumberRangesDefaults(): Promise<{}> {
86
175
 
87
176
  const apiPath = '/v1/orders/number-ranges/defaults';
88
- const payload: Payload = {};
177
+ const apiPayload: Payload = {};
89
178
  const uri = new URL(this.client.config.endpoint + apiPath);
90
179
 
91
180
  const apiHeaders: { [header: string]: string } = {
@@ -95,7 +184,7 @@ export class Orders {
95
184
  'post',
96
185
  uri,
97
186
  apiHeaders,
98
- payload
187
+ apiPayload
99
188
  );
100
189
  }
101
190
 
@@ -134,7 +223,7 @@ export class Orders {
134
223
  }
135
224
 
136
225
  const apiPath = '/v1/orders/number-ranges/{id}'.replace('{id}', id);
137
- const payload: Payload = {};
226
+ const apiPayload: Payload = {};
138
227
  const uri = new URL(this.client.config.endpoint + apiPath);
139
228
 
140
229
  const apiHeaders: { [header: string]: string } = {
@@ -144,7 +233,7 @@ export class Orders {
144
233
  'delete',
145
234
  uri,
146
235
  apiHeaders,
147
- payload
236
+ apiPayload
148
237
  );
149
238
  }
150
239
 
@@ -183,7 +272,7 @@ export class Orders {
183
272
  }
184
273
 
185
274
  const apiPath = '/v1/orders/number-ranges/{id}'.replace('{id}', id);
186
- const payload: Payload = {};
275
+ const apiPayload: Payload = {};
187
276
  const uri = new URL(this.client.config.endpoint + apiPath);
188
277
 
189
278
  const apiHeaders: { [header: string]: string } = {
@@ -193,46 +282,110 @@ export class Orders {
193
282
  'get',
194
283
  uri,
195
284
  apiHeaders,
196
- payload
285
+ apiPayload
197
286
  );
198
287
  }
199
288
 
200
289
  /**
201
290
  *
202
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 ''.
203
301
  * @throws {RevenexxException}
204
302
  * @returns {Promise<Models.NumberRange>}
205
303
  */
206
- ordersNumberRangesUpdate(params: { id: string }): Promise<Models.NumberRange>;
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>;
207
305
  /**
208
306
  *
209
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 ''.
210
317
  * @throws {RevenexxException}
211
318
  * @returns {Promise<Models.NumberRange>}
212
319
  * @deprecated Use the object parameter style method for a better developer experience.
213
320
  */
214
- ordersNumberRangesUpdate(id: string): Promise<Models.NumberRange>;
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>;
215
322
  ordersNumberRangesUpdate(
216
- paramsOrFirst: { id: string } | string
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)?]
217
325
  ): Promise<Models.NumberRange> {
218
- let params: { id: string };
326
+ let params: { id: string, channelId?: string, code?: string, counter?: number, metadata?: object, padding?: number, positionStep?: number, prefix?: string, step?: number, suffix?: string };
219
327
 
220
328
  if ((paramsOrFirst && typeof paramsOrFirst === 'object' && !Array.isArray(paramsOrFirst))) {
221
- params = (paramsOrFirst || {}) as { id: string };
329
+ params = (paramsOrFirst || {}) as { id: string, channelId?: string, code?: string, counter?: number, metadata?: object, padding?: number, positionStep?: number, prefix?: string, step?: number, suffix?: string };
222
330
  } else {
223
331
  params = {
224
- id: paramsOrFirst as string
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
225
342
  };
226
343
  }
227
344
 
228
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;
229
355
 
230
356
  if (typeof id === 'undefined') {
231
357
  throw new RevenexxException('Missing required parameter: "id"');
232
358
  }
233
359
 
234
360
  const apiPath = '/v1/orders/number-ranges/{id}'.replace('{id}', id);
235
- const payload: Payload = {};
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
+ }
236
389
  const uri = new URL(this.client.config.endpoint + apiPath);
237
390
 
238
391
  const apiHeaders: { [header: string]: string } = {
@@ -243,19 +396,162 @@ export class Orders {
243
396
  'put',
244
397
  uri,
245
398
  apiHeaders,
246
- payload
399
+ apiPayload
247
400
  );
248
401
  }
249
402
 
250
403
  /**
251
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.
252
445
  * @throws {RevenexxException}
253
446
  * @returns {Promise<Models.OrderDetail>}
447
+ * @deprecated Use the object parameter style method for a better developer experience.
254
448
  */
255
- ordersPlace(): Promise<Models.OrderDetail> {
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
+ }
256
501
 
257
502
  const apiPath = '/v1/orders/place';
258
- const payload: Payload = {};
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
+ }
259
555
  const uri = new URL(this.client.config.endpoint + apiPath);
260
556
 
261
557
  const apiHeaders: { [header: string]: string } = {
@@ -266,7 +562,7 @@ export class Orders {
266
562
  'post',
267
563
  uri,
268
564
  apiHeaders,
269
- payload
565
+ apiPayload
270
566
  );
271
567
  }
272
568
 
@@ -305,7 +601,7 @@ export class Orders {
305
601
  }
306
602
 
307
603
  const apiPath = '/v1/orders/{id}'.replace('{id}', id);
308
- const payload: Payload = {};
604
+ const apiPayload: Payload = {};
309
605
  const uri = new URL(this.client.config.endpoint + apiPath);
310
606
 
311
607
  const apiHeaders: { [header: string]: string } = {
@@ -315,46 +611,89 @@ export class Orders {
315
611
  'get',
316
612
  uri,
317
613
  apiHeaders,
318
- payload
614
+ apiPayload
319
615
  );
320
616
  }
321
617
 
322
618
  /**
323
619
  *
324
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.
325
627
  * @throws {RevenexxException}
326
628
  * @returns {Promise<Models.Order>}
327
629
  */
328
- ordersUpdate(params: { id: string }): Promise<Models.Order>;
630
+ ordersUpdate(params: { id: string, billingAddress?: object, buyer?: object, customerOrderNumber?: string, metadata?: object, shippingAddress?: object, userData?: object }): Promise<Models.Order>;
329
631
  /**
330
632
  *
331
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.
332
640
  * @throws {RevenexxException}
333
641
  * @returns {Promise<Models.Order>}
334
642
  * @deprecated Use the object parameter style method for a better developer experience.
335
643
  */
336
- ordersUpdate(id: string): Promise<Models.Order>;
644
+ ordersUpdate(id: string, billingAddress?: object, buyer?: object, customerOrderNumber?: string, metadata?: object, shippingAddress?: object, userData?: object): Promise<Models.Order>;
337
645
  ordersUpdate(
338
- paramsOrFirst: { id: string } | string
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)?]
339
648
  ): Promise<Models.Order> {
340
- let params: { id: string };
649
+ let params: { id: string, billingAddress?: object, buyer?: object, customerOrderNumber?: string, metadata?: object, shippingAddress?: object, userData?: object };
341
650
 
342
651
  if ((paramsOrFirst && typeof paramsOrFirst === 'object' && !Array.isArray(paramsOrFirst))) {
343
- params = (paramsOrFirst || {}) as { id: string };
652
+ params = (paramsOrFirst || {}) as { id: string, billingAddress?: object, buyer?: object, customerOrderNumber?: string, metadata?: object, shippingAddress?: object, userData?: object };
344
653
  } else {
345
654
  params = {
346
- id: paramsOrFirst as string
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
347
662
  };
348
663
  }
349
664
 
350
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;
351
672
 
352
673
  if (typeof id === 'undefined') {
353
674
  throw new RevenexxException('Missing required parameter: "id"');
354
675
  }
355
676
 
356
677
  const apiPath = '/v1/orders/{id}'.replace('{id}', id);
357
- const payload: Payload = {};
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
+ }
358
697
  const uri = new URL(this.client.config.endpoint + apiPath);
359
698
 
360
699
  const apiHeaders: { [header: string]: string } = {
@@ -365,46 +704,54 @@ export class Orders {
365
704
  'put',
366
705
  uri,
367
706
  apiHeaders,
368
- payload
707
+ apiPayload
369
708
  );
370
709
  }
371
710
 
372
711
  /**
373
712
  *
374
713
  * @param {string} params.id -
714
+ * @param {string} params.externalRef - The fulfilling system's order reference (e.g. the ERP order number).
375
715
  * @throws {RevenexxException}
376
716
  * @returns {Promise<Models.Order>}
377
717
  */
378
- ordersAcknowledge(params: { id: string }): Promise<Models.Order>;
718
+ ordersAcknowledge(params: { id: string, externalRef?: string }): Promise<Models.Order>;
379
719
  /**
380
720
  *
381
721
  * @param {string} id -
722
+ * @param {string} externalRef - The fulfilling system's order reference (e.g. the ERP order number).
382
723
  * @throws {RevenexxException}
383
724
  * @returns {Promise<Models.Order>}
384
725
  * @deprecated Use the object parameter style method for a better developer experience.
385
726
  */
386
- ordersAcknowledge(id: string): Promise<Models.Order>;
727
+ ordersAcknowledge(id: string, externalRef?: string): Promise<Models.Order>;
387
728
  ordersAcknowledge(
388
- paramsOrFirst: { id: string } | string
729
+ paramsOrFirst: { id: string, externalRef?: string } | string,
730
+ ...rest: [(string)?]
389
731
  ): Promise<Models.Order> {
390
- let params: { id: string };
732
+ let params: { id: string, externalRef?: string };
391
733
 
392
734
  if ((paramsOrFirst && typeof paramsOrFirst === 'object' && !Array.isArray(paramsOrFirst))) {
393
- params = (paramsOrFirst || {}) as { id: string };
735
+ params = (paramsOrFirst || {}) as { id: string, externalRef?: string };
394
736
  } else {
395
737
  params = {
396
- id: paramsOrFirst as string
738
+ id: paramsOrFirst as string,
739
+ externalRef: rest[0] as string
397
740
  };
398
741
  }
399
742
 
400
743
  const id = params.id;
744
+ const externalRef = params.externalRef;
401
745
 
402
746
  if (typeof id === 'undefined') {
403
747
  throw new RevenexxException('Missing required parameter: "id"');
404
748
  }
405
749
 
406
750
  const apiPath = '/v1/orders/{id}/acknowledge'.replace('{id}', id);
407
- const payload: Payload = {};
751
+ const apiPayload: Payload = {};
752
+ if (typeof externalRef !== 'undefined') {
753
+ apiPayload['external_ref'] = externalRef;
754
+ }
408
755
  const uri = new URL(this.client.config.endpoint + apiPath);
409
756
 
410
757
  const apiHeaders: { [header: string]: string } = {
@@ -415,46 +762,61 @@ export class Orders {
415
762
  'post',
416
763
  uri,
417
764
  apiHeaders,
418
- payload
765
+ apiPayload
419
766
  );
420
767
  }
421
768
 
422
769
  /**
423
770
  *
424
771
  * @param {string} params.id -
772
+ * @param {string} params.cancelledBy - Acting user/system.
773
+ * @param {string} params.reason -
425
774
  * @throws {RevenexxException}
426
775
  * @returns {Promise<Models.Order>}
427
776
  */
428
- ordersCancel(params: { id: string }): Promise<Models.Order>;
777
+ ordersCancel(params: { id: string, cancelledBy?: string, reason?: string }): Promise<Models.Order>;
429
778
  /**
430
779
  *
431
780
  * @param {string} id -
781
+ * @param {string} cancelledBy - Acting user/system.
782
+ * @param {string} reason -
432
783
  * @throws {RevenexxException}
433
784
  * @returns {Promise<Models.Order>}
434
785
  * @deprecated Use the object parameter style method for a better developer experience.
435
786
  */
436
- ordersCancel(id: string): Promise<Models.Order>;
787
+ ordersCancel(id: string, cancelledBy?: string, reason?: string): Promise<Models.Order>;
437
788
  ordersCancel(
438
- paramsOrFirst: { id: string } | string
789
+ paramsOrFirst: { id: string, cancelledBy?: string, reason?: string } | string,
790
+ ...rest: [(string)?, (string)?]
439
791
  ): Promise<Models.Order> {
440
- let params: { id: string };
792
+ let params: { id: string, cancelledBy?: string, reason?: string };
441
793
 
442
794
  if ((paramsOrFirst && typeof paramsOrFirst === 'object' && !Array.isArray(paramsOrFirst))) {
443
- params = (paramsOrFirst || {}) as { id: string };
795
+ params = (paramsOrFirst || {}) as { id: string, cancelledBy?: string, reason?: string };
444
796
  } else {
445
797
  params = {
446
- id: paramsOrFirst as string
798
+ id: paramsOrFirst as string,
799
+ cancelledBy: rest[0] as string,
800
+ reason: rest[1] as string
447
801
  };
448
802
  }
449
803
 
450
804
  const id = params.id;
805
+ const cancelledBy = params.cancelledBy;
806
+ const reason = params.reason;
451
807
 
452
808
  if (typeof id === 'undefined') {
453
809
  throw new RevenexxException('Missing required parameter: "id"');
454
810
  }
455
811
 
456
812
  const apiPath = '/v1/orders/{id}/cancel'.replace('{id}', id);
457
- const payload: Payload = {};
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
+ }
458
820
  const uri = new URL(this.client.config.endpoint + apiPath);
459
821
 
460
822
  const apiHeaders: { [header: string]: string } = {
@@ -465,7 +827,7 @@ export class Orders {
465
827
  'post',
466
828
  uri,
467
829
  apiHeaders,
468
- payload
830
+ apiPayload
469
831
  );
470
832
  }
471
833
 
@@ -504,7 +866,7 @@ export class Orders {
504
866
  }
505
867
 
506
868
  const apiPath = '/v1/orders/{id}/comments'.replace('{id}', id);
507
- const payload: Payload = {};
869
+ const apiPayload: Payload = {};
508
870
  const uri = new URL(this.client.config.endpoint + apiPath);
509
871
 
510
872
  const apiHeaders: { [header: string]: string } = {
@@ -514,46 +876,71 @@ export class Orders {
514
876
  'get',
515
877
  uri,
516
878
  apiHeaders,
517
- payload
879
+ apiPayload
518
880
  );
519
881
  }
520
882
 
521
883
  /**
522
884
  *
523
885
  * @param {string} params.id -
886
+ * @param {string} params.body -
887
+ * @param {string} params.author -
888
+ * @param {OrderCommentVisibility} params.visibility - Default 'internal'.
524
889
  * @throws {RevenexxException}
525
890
  * @returns {Promise<Models.OrderComment>}
526
891
  */
527
- ordersCommentsCreate(params: { id: string }): Promise<Models.OrderComment>;
892
+ ordersCommentsCreate(params: { id: string, body: string, author?: string, visibility?: OrderCommentVisibility }): Promise<Models.OrderComment>;
528
893
  /**
529
894
  *
530
895
  * @param {string} id -
896
+ * @param {string} body -
897
+ * @param {string} author -
898
+ * @param {OrderCommentVisibility} visibility - Default 'internal'.
531
899
  * @throws {RevenexxException}
532
900
  * @returns {Promise<Models.OrderComment>}
533
901
  * @deprecated Use the object parameter style method for a better developer experience.
534
902
  */
535
- ordersCommentsCreate(id: string): Promise<Models.OrderComment>;
903
+ ordersCommentsCreate(id: string, body: string, author?: string, visibility?: OrderCommentVisibility): Promise<Models.OrderComment>;
536
904
  ordersCommentsCreate(
537
- paramsOrFirst: { id: string } | string
905
+ paramsOrFirst: { id: string, body: string, author?: string, visibility?: OrderCommentVisibility } | string,
906
+ ...rest: [(string)?, (string)?, (OrderCommentVisibility)?]
538
907
  ): Promise<Models.OrderComment> {
539
- let params: { id: string };
908
+ let params: { id: string, body: string, author?: string, visibility?: OrderCommentVisibility };
540
909
 
541
910
  if ((paramsOrFirst && typeof paramsOrFirst === 'object' && !Array.isArray(paramsOrFirst))) {
542
- params = (paramsOrFirst || {}) as { id: string };
911
+ params = (paramsOrFirst || {}) as { id: string, body: string, author?: string, visibility?: OrderCommentVisibility };
543
912
  } else {
544
913
  params = {
545
- id: paramsOrFirst as string
914
+ id: paramsOrFirst as string,
915
+ body: rest[0] as string,
916
+ author: rest[1] as string,
917
+ visibility: rest[2] as OrderCommentVisibility
546
918
  };
547
919
  }
548
920
 
549
921
  const id = params.id;
922
+ const body = params.body;
923
+ const author = params.author;
924
+ const visibility = params.visibility;
550
925
 
551
926
  if (typeof id === 'undefined') {
552
927
  throw new RevenexxException('Missing required parameter: "id"');
553
928
  }
929
+ if (typeof body === 'undefined') {
930
+ throw new RevenexxException('Missing required parameter: "body"');
931
+ }
554
932
 
555
933
  const apiPath = '/v1/orders/{id}/comments'.replace('{id}', id);
556
- const payload: Payload = {};
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
+ }
557
944
  const uri = new URL(this.client.config.endpoint + apiPath);
558
945
 
559
946
  const apiHeaders: { [header: string]: string } = {
@@ -564,7 +951,7 @@ export class Orders {
564
951
  'post',
565
952
  uri,
566
953
  apiHeaders,
567
- payload
954
+ apiPayload
568
955
  );
569
956
  }
570
957
 
@@ -603,7 +990,7 @@ export class Orders {
603
990
  }
604
991
 
605
992
  const apiPath = '/v1/orders/{id}/events'.replace('{id}', id);
606
- const payload: Payload = {};
993
+ const apiPayload: Payload = {};
607
994
  const uri = new URL(this.client.config.endpoint + apiPath);
608
995
 
609
996
  const apiHeaders: { [header: string]: string } = {
@@ -613,46 +1000,54 @@ export class Orders {
613
1000
  'get',
614
1001
  uri,
615
1002
  apiHeaders,
616
- payload
1003
+ apiPayload
617
1004
  );
618
1005
  }
619
1006
 
620
1007
  /**
621
1008
  *
622
1009
  * @param {string} params.id -
1010
+ * @param {string} params.reason - Why the order is blocked (shown on the shipping guard).
623
1011
  * @throws {RevenexxException}
624
1012
  * @returns {Promise<Models.Order>}
625
1013
  */
626
- ordersHold(params: { id: string }): Promise<Models.Order>;
1014
+ ordersHold(params: { id: string, reason?: string }): Promise<Models.Order>;
627
1015
  /**
628
1016
  *
629
1017
  * @param {string} id -
1018
+ * @param {string} reason - Why the order is blocked (shown on the shipping guard).
630
1019
  * @throws {RevenexxException}
631
1020
  * @returns {Promise<Models.Order>}
632
1021
  * @deprecated Use the object parameter style method for a better developer experience.
633
1022
  */
634
- ordersHold(id: string): Promise<Models.Order>;
1023
+ ordersHold(id: string, reason?: string): Promise<Models.Order>;
635
1024
  ordersHold(
636
- paramsOrFirst: { id: string } | string
1025
+ paramsOrFirst: { id: string, reason?: string } | string,
1026
+ ...rest: [(string)?]
637
1027
  ): Promise<Models.Order> {
638
- let params: { id: string };
1028
+ let params: { id: string, reason?: string };
639
1029
 
640
1030
  if ((paramsOrFirst && typeof paramsOrFirst === 'object' && !Array.isArray(paramsOrFirst))) {
641
- params = (paramsOrFirst || {}) as { id: string };
1031
+ params = (paramsOrFirst || {}) as { id: string, reason?: string };
642
1032
  } else {
643
1033
  params = {
644
- id: paramsOrFirst as string
1034
+ id: paramsOrFirst as string,
1035
+ reason: rest[0] as string
645
1036
  };
646
1037
  }
647
1038
 
648
1039
  const id = params.id;
1040
+ const reason = params.reason;
649
1041
 
650
1042
  if (typeof id === 'undefined') {
651
1043
  throw new RevenexxException('Missing required parameter: "id"');
652
1044
  }
653
1045
 
654
1046
  const apiPath = '/v1/orders/{id}/hold'.replace('{id}', id);
655
- const payload: Payload = {};
1047
+ const apiPayload: Payload = {};
1048
+ if (typeof reason !== 'undefined') {
1049
+ apiPayload['reason'] = reason;
1050
+ }
656
1051
  const uri = new URL(this.client.config.endpoint + apiPath);
657
1052
 
658
1053
  const apiHeaders: { [header: string]: string } = {
@@ -663,46 +1058,71 @@ export class Orders {
663
1058
  'post',
664
1059
  uri,
665
1060
  apiHeaders,
666
- payload
1061
+ apiPayload
667
1062
  );
668
1063
  }
669
1064
 
670
1065
  /**
671
1066
  *
672
1067
  * @param {string} params.id -
1068
+ * @param {Models.OrderCancelPosition[]} params.positions -
1069
+ * @param {string} params.cancelledBy - Acting user/system.
1070
+ * @param {string} params.reason -
673
1071
  * @throws {RevenexxException}
674
1072
  * @returns {Promise<Models.Order>}
675
1073
  */
676
- ordersItemsCancel(params: { id: string }): Promise<Models.Order>;
1074
+ ordersItemsCancel(params: { id: string, positions: Models.OrderCancelPosition[], cancelledBy?: string, reason?: string }): Promise<Models.Order>;
677
1075
  /**
678
1076
  *
679
1077
  * @param {string} id -
1078
+ * @param {Models.OrderCancelPosition[]} positions -
1079
+ * @param {string} cancelledBy - Acting user/system.
1080
+ * @param {string} reason -
680
1081
  * @throws {RevenexxException}
681
1082
  * @returns {Promise<Models.Order>}
682
1083
  * @deprecated Use the object parameter style method for a better developer experience.
683
1084
  */
684
- ordersItemsCancel(id: string): Promise<Models.Order>;
1085
+ ordersItemsCancel(id: string, positions: Models.OrderCancelPosition[], cancelledBy?: string, reason?: string): Promise<Models.Order>;
685
1086
  ordersItemsCancel(
686
- paramsOrFirst: { id: string } | string
1087
+ paramsOrFirst: { id: string, positions: Models.OrderCancelPosition[], cancelledBy?: string, reason?: string } | string,
1088
+ ...rest: [(Models.OrderCancelPosition[])?, (string)?, (string)?]
687
1089
  ): Promise<Models.Order> {
688
- let params: { id: string };
1090
+ let params: { id: string, positions: Models.OrderCancelPosition[], cancelledBy?: string, reason?: string };
689
1091
 
690
1092
  if ((paramsOrFirst && typeof paramsOrFirst === 'object' && !Array.isArray(paramsOrFirst))) {
691
- params = (paramsOrFirst || {}) as { id: string };
1093
+ params = (paramsOrFirst || {}) as { id: string, positions: Models.OrderCancelPosition[], cancelledBy?: string, reason?: string };
692
1094
  } else {
693
1095
  params = {
694
- id: paramsOrFirst as string
1096
+ id: paramsOrFirst as string,
1097
+ positions: rest[0] as Models.OrderCancelPosition[],
1098
+ cancelledBy: rest[1] as string,
1099
+ reason: rest[2] as string
695
1100
  };
696
1101
  }
697
1102
 
698
1103
  const id = params.id;
1104
+ const positions = params.positions;
1105
+ const cancelledBy = params.cancelledBy;
1106
+ const reason = params.reason;
699
1107
 
700
1108
  if (typeof id === 'undefined') {
701
1109
  throw new RevenexxException('Missing required parameter: "id"');
702
1110
  }
1111
+ if (typeof positions === 'undefined') {
1112
+ throw new RevenexxException('Missing required parameter: "positions"');
1113
+ }
703
1114
 
704
1115
  const apiPath = '/v1/orders/{id}/items/cancel'.replace('{id}', id);
705
- const payload: Payload = {};
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
+ }
706
1126
  const uri = new URL(this.client.config.endpoint + apiPath);
707
1127
 
708
1128
  const apiHeaders: { [header: string]: string } = {
@@ -713,46 +1133,64 @@ export class Orders {
713
1133
  'post',
714
1134
  uri,
715
1135
  apiHeaders,
716
- payload
1136
+ apiPayload
717
1137
  );
718
1138
  }
719
1139
 
720
1140
  /**
721
1141
  *
722
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.
723
1145
  * @throws {RevenexxException}
724
1146
  * @returns {Promise<Models.Order>}
725
1147
  */
726
- ordersPaymentStatusUpdate(params: { id: string }): Promise<Models.Order>;
1148
+ ordersPaymentStatusUpdate(params: { id: string, status: OrderPaymentStatus, paymentId?: string }): Promise<Models.Order>;
727
1149
  /**
728
1150
  *
729
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.
730
1154
  * @throws {RevenexxException}
731
1155
  * @returns {Promise<Models.Order>}
732
1156
  * @deprecated Use the object parameter style method for a better developer experience.
733
1157
  */
734
- ordersPaymentStatusUpdate(id: string): Promise<Models.Order>;
1158
+ ordersPaymentStatusUpdate(id: string, status: OrderPaymentStatus, paymentId?: string): Promise<Models.Order>;
735
1159
  ordersPaymentStatusUpdate(
736
- paramsOrFirst: { id: string } | string
1160
+ paramsOrFirst: { id: string, status: OrderPaymentStatus, paymentId?: string } | string,
1161
+ ...rest: [(OrderPaymentStatus)?, (string)?]
737
1162
  ): Promise<Models.Order> {
738
- let params: { id: string };
1163
+ let params: { id: string, status: OrderPaymentStatus, paymentId?: string };
739
1164
 
740
1165
  if ((paramsOrFirst && typeof paramsOrFirst === 'object' && !Array.isArray(paramsOrFirst))) {
741
- params = (paramsOrFirst || {}) as { id: string };
1166
+ params = (paramsOrFirst || {}) as { id: string, status: OrderPaymentStatus, paymentId?: string };
742
1167
  } else {
743
1168
  params = {
744
- id: paramsOrFirst as string
1169
+ id: paramsOrFirst as string,
1170
+ status: rest[0] as OrderPaymentStatus,
1171
+ paymentId: rest[1] as string
745
1172
  };
746
1173
  }
747
1174
 
748
1175
  const id = params.id;
1176
+ const status = params.status;
1177
+ const paymentId = params.paymentId;
749
1178
 
750
1179
  if (typeof id === 'undefined') {
751
1180
  throw new RevenexxException('Missing required parameter: "id"');
752
1181
  }
1182
+ if (typeof status === 'undefined') {
1183
+ throw new RevenexxException('Missing required parameter: "status"');
1184
+ }
753
1185
 
754
1186
  const apiPath = '/v1/orders/{id}/payment-status'.replace('{id}', id);
755
- const payload: Payload = {};
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
+ }
756
1194
  const uri = new URL(this.client.config.endpoint + apiPath);
757
1195
 
758
1196
  const apiHeaders: { [header: string]: string } = {
@@ -763,46 +1201,71 @@ export class Orders {
763
1201
  'post',
764
1202
  uri,
765
1203
  apiHeaders,
766
- payload
1204
+ apiPayload
767
1205
  );
768
1206
  }
769
1207
 
770
1208
  /**
771
1209
  *
772
1210
  * @param {string} params.id -
1211
+ * @param {Models.OrderReturnPosition[]} params.positions -
1212
+ * @param {object} params.metadata - Free-form metadata.
1213
+ * @param {string} params.reason -
773
1214
  * @throws {RevenexxException}
774
1215
  * @returns {Promise<Models.OrderReturn>}
775
1216
  */
776
- ordersReturn(params: { id: string }): Promise<Models.OrderReturn>;
1217
+ ordersReturn(params: { id: string, positions: Models.OrderReturnPosition[], metadata?: object, reason?: string }): Promise<Models.OrderReturn>;
777
1218
  /**
778
1219
  *
779
1220
  * @param {string} id -
1221
+ * @param {Models.OrderReturnPosition[]} positions -
1222
+ * @param {object} metadata - Free-form metadata.
1223
+ * @param {string} reason -
780
1224
  * @throws {RevenexxException}
781
1225
  * @returns {Promise<Models.OrderReturn>}
782
1226
  * @deprecated Use the object parameter style method for a better developer experience.
783
1227
  */
784
- ordersReturn(id: string): Promise<Models.OrderReturn>;
1228
+ ordersReturn(id: string, positions: Models.OrderReturnPosition[], metadata?: object, reason?: string): Promise<Models.OrderReturn>;
785
1229
  ordersReturn(
786
- paramsOrFirst: { id: string } | string
1230
+ paramsOrFirst: { id: string, positions: Models.OrderReturnPosition[], metadata?: object, reason?: string } | string,
1231
+ ...rest: [(Models.OrderReturnPosition[])?, (object)?, (string)?]
787
1232
  ): Promise<Models.OrderReturn> {
788
- let params: { id: string };
1233
+ let params: { id: string, positions: Models.OrderReturnPosition[], metadata?: object, reason?: string };
789
1234
 
790
1235
  if ((paramsOrFirst && typeof paramsOrFirst === 'object' && !Array.isArray(paramsOrFirst))) {
791
- params = (paramsOrFirst || {}) as { id: string };
1236
+ params = (paramsOrFirst || {}) as { id: string, positions: Models.OrderReturnPosition[], metadata?: object, reason?: string };
792
1237
  } else {
793
1238
  params = {
794
- id: paramsOrFirst as string
1239
+ id: paramsOrFirst as string,
1240
+ positions: rest[0] as Models.OrderReturnPosition[],
1241
+ metadata: rest[1] as object,
1242
+ reason: rest[2] as string
795
1243
  };
796
1244
  }
797
1245
 
798
1246
  const id = params.id;
1247
+ const positions = params.positions;
1248
+ const metadata = params.metadata;
1249
+ const reason = params.reason;
799
1250
 
800
1251
  if (typeof id === 'undefined') {
801
1252
  throw new RevenexxException('Missing required parameter: "id"');
802
1253
  }
1254
+ if (typeof positions === 'undefined') {
1255
+ throw new RevenexxException('Missing required parameter: "positions"');
1256
+ }
803
1257
 
804
1258
  const apiPath = '/v1/orders/{id}/return'.replace('{id}', id);
805
- const payload: Payload = {};
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
+ }
806
1269
  const uri = new URL(this.client.config.endpoint + apiPath);
807
1270
 
808
1271
  const apiHeaders: { [header: string]: string } = {
@@ -813,7 +1276,7 @@ export class Orders {
813
1276
  'post',
814
1277
  uri,
815
1278
  apiHeaders,
816
- payload
1279
+ apiPayload
817
1280
  );
818
1281
  }
819
1282
 
@@ -821,36 +1284,40 @@ export class Orders {
821
1284
  *
822
1285
  * @param {string} params.id -
823
1286
  * @param {string} params.rid -
1287
+ * @param {string} params.resolution - How the return was settled (refund, replacement, …).
824
1288
  * @throws {RevenexxException}
825
1289
  * @returns {Promise<Models.OrderReturn>}
826
1290
  */
827
- ordersReturnsComplete(params: { id: string, rid: string }): Promise<Models.OrderReturn>;
1291
+ ordersReturnsComplete(params: { id: string, rid: string, resolution?: string }): Promise<Models.OrderReturn>;
828
1292
  /**
829
1293
  *
830
1294
  * @param {string} id -
831
1295
  * @param {string} rid -
1296
+ * @param {string} resolution - How the return was settled (refund, replacement, …).
832
1297
  * @throws {RevenexxException}
833
1298
  * @returns {Promise<Models.OrderReturn>}
834
1299
  * @deprecated Use the object parameter style method for a better developer experience.
835
1300
  */
836
- ordersReturnsComplete(id: string, rid: string): Promise<Models.OrderReturn>;
1301
+ ordersReturnsComplete(id: string, rid: string, resolution?: string): Promise<Models.OrderReturn>;
837
1302
  ordersReturnsComplete(
838
- paramsOrFirst: { id: string, rid: string } | string,
839
- ...rest: [(string)?]
1303
+ paramsOrFirst: { id: string, rid: string, resolution?: string } | string,
1304
+ ...rest: [(string)?, (string)?]
840
1305
  ): Promise<Models.OrderReturn> {
841
- let params: { id: string, rid: string };
1306
+ let params: { id: string, rid: string, resolution?: string };
842
1307
 
843
1308
  if ((paramsOrFirst && typeof paramsOrFirst === 'object' && !Array.isArray(paramsOrFirst))) {
844
- params = (paramsOrFirst || {}) as { id: string, rid: string };
1309
+ params = (paramsOrFirst || {}) as { id: string, rid: string, resolution?: string };
845
1310
  } else {
846
1311
  params = {
847
1312
  id: paramsOrFirst as string,
848
- rid: rest[0] as string
1313
+ rid: rest[0] as string,
1314
+ resolution: rest[1] as string
849
1315
  };
850
1316
  }
851
1317
 
852
1318
  const id = params.id;
853
1319
  const rid = params.rid;
1320
+ const resolution = params.resolution;
854
1321
 
855
1322
  if (typeof id === 'undefined') {
856
1323
  throw new RevenexxException('Missing required parameter: "id"');
@@ -860,7 +1327,10 @@ export class Orders {
860
1327
  }
861
1328
 
862
1329
  const apiPath = '/v1/orders/{id}/returns/{rid}/complete'.replace('{id}', id).replace('{rid}', rid);
863
- const payload: Payload = {};
1330
+ const apiPayload: Payload = {};
1331
+ if (typeof resolution !== 'undefined') {
1332
+ apiPayload['resolution'] = resolution;
1333
+ }
864
1334
  const uri = new URL(this.client.config.endpoint + apiPath);
865
1335
 
866
1336
  const apiHeaders: { [header: string]: string } = {
@@ -871,7 +1341,7 @@ export class Orders {
871
1341
  'post',
872
1342
  uri,
873
1343
  apiHeaders,
874
- payload
1344
+ apiPayload
875
1345
  );
876
1346
  }
877
1347
 
@@ -879,36 +1349,40 @@ export class Orders {
879
1349
  *
880
1350
  * @param {string} params.id -
881
1351
  * @param {string} params.rid -
1352
+ * @param {object} params.data - Request body
882
1353
  * @throws {RevenexxException}
883
1354
  * @returns {Promise<Models.OrderReturn>}
884
1355
  */
885
- ordersReturnsReceive(params: { id: string, rid: string }): Promise<Models.OrderReturn>;
1356
+ ordersReturnsReceive(params: { id: string, rid: string, data: object }): Promise<Models.OrderReturn>;
886
1357
  /**
887
1358
  *
888
1359
  * @param {string} id -
889
1360
  * @param {string} rid -
1361
+ * @param {object} data - Request body
890
1362
  * @throws {RevenexxException}
891
1363
  * @returns {Promise<Models.OrderReturn>}
892
1364
  * @deprecated Use the object parameter style method for a better developer experience.
893
1365
  */
894
- ordersReturnsReceive(id: string, rid: string): Promise<Models.OrderReturn>;
1366
+ ordersReturnsReceive(id: string, rid: string, data: object): Promise<Models.OrderReturn>;
895
1367
  ordersReturnsReceive(
896
- paramsOrFirst: { id: string, rid: string } | string,
897
- ...rest: [(string)?]
1368
+ paramsOrFirst: { id: string, rid: string, data: object } | string,
1369
+ ...rest: [(string)?, (object)?]
898
1370
  ): Promise<Models.OrderReturn> {
899
- let params: { id: string, rid: string };
1371
+ let params: { id: string, rid: string, data: object };
900
1372
 
901
1373
  if ((paramsOrFirst && typeof paramsOrFirst === 'object' && !Array.isArray(paramsOrFirst))) {
902
- params = (paramsOrFirst || {}) as { id: string, rid: string };
1374
+ params = (paramsOrFirst || {}) as { id: string, rid: string, data: object };
903
1375
  } else {
904
1376
  params = {
905
1377
  id: paramsOrFirst as string,
906
- rid: rest[0] as string
1378
+ rid: rest[0] as string,
1379
+ data: rest[1] as object
907
1380
  };
908
1381
  }
909
1382
 
910
1383
  const id = params.id;
911
1384
  const rid = params.rid;
1385
+ const data = params.data;
912
1386
 
913
1387
  if (typeof id === 'undefined') {
914
1388
  throw new RevenexxException('Missing required parameter: "id"');
@@ -916,9 +1390,15 @@ export class Orders {
916
1390
  if (typeof rid === 'undefined') {
917
1391
  throw new RevenexxException('Missing required parameter: "rid"');
918
1392
  }
1393
+ if (typeof data === 'undefined') {
1394
+ throw new RevenexxException('Missing required parameter: "data"');
1395
+ }
919
1396
 
920
1397
  const apiPath = '/v1/orders/{id}/returns/{rid}/receive'.replace('{id}', id).replace('{rid}', rid);
921
- const payload: Payload = {};
1398
+ const apiPayload: Payload = {};
1399
+ if (typeof data !== 'undefined') {
1400
+ Object.assign(apiPayload, data);
1401
+ }
922
1402
  const uri = new URL(this.client.config.endpoint + apiPath);
923
1403
 
924
1404
  const apiHeaders: { [header: string]: string } = {
@@ -929,7 +1409,7 @@ export class Orders {
929
1409
  'post',
930
1410
  uri,
931
1411
  apiHeaders,
932
- payload
1412
+ apiPayload
933
1413
  );
934
1414
  }
935
1415
 
@@ -937,36 +1417,44 @@ export class Orders {
937
1417
  *
938
1418
  * @param {string} params.id -
939
1419
  * @param {string} params.rid -
1420
+ * @param {string} params.reason - Fallback for 'resolution'.
1421
+ * @param {string} params.resolution - Why the return was rejected.
940
1422
  * @throws {RevenexxException}
941
1423
  * @returns {Promise<Models.OrderReturn>}
942
1424
  */
943
- ordersReturnsReject(params: { id: string, rid: string }): Promise<Models.OrderReturn>;
1425
+ ordersReturnsReject(params: { id: string, rid: string, reason?: string, resolution?: string }): Promise<Models.OrderReturn>;
944
1426
  /**
945
1427
  *
946
1428
  * @param {string} id -
947
1429
  * @param {string} rid -
1430
+ * @param {string} reason - Fallback for 'resolution'.
1431
+ * @param {string} resolution - Why the return was rejected.
948
1432
  * @throws {RevenexxException}
949
1433
  * @returns {Promise<Models.OrderReturn>}
950
1434
  * @deprecated Use the object parameter style method for a better developer experience.
951
1435
  */
952
- ordersReturnsReject(id: string, rid: string): Promise<Models.OrderReturn>;
1436
+ ordersReturnsReject(id: string, rid: string, reason?: string, resolution?: string): Promise<Models.OrderReturn>;
953
1437
  ordersReturnsReject(
954
- paramsOrFirst: { id: string, rid: string } | string,
955
- ...rest: [(string)?]
1438
+ paramsOrFirst: { id: string, rid: string, reason?: string, resolution?: string } | string,
1439
+ ...rest: [(string)?, (string)?, (string)?]
956
1440
  ): Promise<Models.OrderReturn> {
957
- let params: { id: string, rid: string };
1441
+ let params: { id: string, rid: string, reason?: string, resolution?: string };
958
1442
 
959
1443
  if ((paramsOrFirst && typeof paramsOrFirst === 'object' && !Array.isArray(paramsOrFirst))) {
960
- params = (paramsOrFirst || {}) as { id: string, rid: string };
1444
+ params = (paramsOrFirst || {}) as { id: string, rid: string, reason?: string, resolution?: string };
961
1445
  } else {
962
1446
  params = {
963
1447
  id: paramsOrFirst as string,
964
- rid: rest[0] as string
1448
+ rid: rest[0] as string,
1449
+ reason: rest[1] as string,
1450
+ resolution: rest[2] as string
965
1451
  };
966
1452
  }
967
1453
 
968
1454
  const id = params.id;
969
1455
  const rid = params.rid;
1456
+ const reason = params.reason;
1457
+ const resolution = params.resolution;
970
1458
 
971
1459
  if (typeof id === 'undefined') {
972
1460
  throw new RevenexxException('Missing required parameter: "id"');
@@ -976,7 +1464,13 @@ export class Orders {
976
1464
  }
977
1465
 
978
1466
  const apiPath = '/v1/orders/{id}/returns/{rid}/reject'.replace('{id}', id).replace('{rid}', rid);
979
- const payload: Payload = {};
1467
+ const apiPayload: Payload = {};
1468
+ if (typeof reason !== 'undefined') {
1469
+ apiPayload['reason'] = reason;
1470
+ }
1471
+ if (typeof resolution !== 'undefined') {
1472
+ apiPayload['resolution'] = resolution;
1473
+ }
980
1474
  const uri = new URL(this.client.config.endpoint + apiPath);
981
1475
 
982
1476
  const apiHeaders: { [header: string]: string } = {
@@ -987,46 +1481,96 @@ export class Orders {
987
1481
  'post',
988
1482
  uri,
989
1483
  apiHeaders,
990
- payload
1484
+ apiPayload
991
1485
  );
992
1486
  }
993
1487
 
994
1488
  /**
995
1489
  *
996
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 -
997
1498
  * @throws {RevenexxException}
998
1499
  * @returns {Promise<{}>}
999
1500
  */
1000
- ordersShip(params: { id: string }): Promise<{}>;
1501
+ ordersShip(params: { id: string, carrier?: string, metadata?: object, number?: string, positions?: Models.OrderShipmentPosition[], shippedAt?: string, trackingCode?: string, trackingUrl?: string }): Promise<{}>;
1001
1502
  /**
1002
1503
  *
1003
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 -
1004
1512
  * @throws {RevenexxException}
1005
1513
  * @returns {Promise<{}>}
1006
1514
  * @deprecated Use the object parameter style method for a better developer experience.
1007
1515
  */
1008
- ordersShip(id: string): Promise<{}>;
1516
+ ordersShip(id: string, carrier?: string, metadata?: object, number?: string, positions?: Models.OrderShipmentPosition[], shippedAt?: string, trackingCode?: string, trackingUrl?: string): Promise<{}>;
1009
1517
  ordersShip(
1010
- paramsOrFirst: { id: string } | string
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)?]
1011
1520
  ): Promise<{}> {
1012
- let params: { id: string };
1521
+ let params: { id: string, carrier?: string, metadata?: object, number?: string, positions?: Models.OrderShipmentPosition[], shippedAt?: string, trackingCode?: string, trackingUrl?: string };
1013
1522
 
1014
1523
  if ((paramsOrFirst && typeof paramsOrFirst === 'object' && !Array.isArray(paramsOrFirst))) {
1015
- params = (paramsOrFirst || {}) as { id: string };
1524
+ params = (paramsOrFirst || {}) as { id: string, carrier?: string, metadata?: object, number?: string, positions?: Models.OrderShipmentPosition[], shippedAt?: string, trackingCode?: string, trackingUrl?: string };
1016
1525
  } else {
1017
1526
  params = {
1018
- id: paramsOrFirst as string
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
1019
1535
  };
1020
1536
  }
1021
1537
 
1022
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;
1023
1546
 
1024
1547
  if (typeof id === 'undefined') {
1025
1548
  throw new RevenexxException('Missing required parameter: "id"');
1026
1549
  }
1027
1550
 
1028
1551
  const apiPath = '/v1/orders/{id}/ship'.replace('{id}', id);
1029
- const payload: Payload = {};
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
+ }
1030
1574
  const uri = new URL(this.client.config.endpoint + apiPath);
1031
1575
 
1032
1576
  const apiHeaders: { [header: string]: string } = {
@@ -1037,46 +1581,57 @@ export class Orders {
1037
1581
  'post',
1038
1582
  uri,
1039
1583
  apiHeaders,
1040
- payload
1584
+ apiPayload
1041
1585
  );
1042
1586
  }
1043
1587
 
1044
1588
  /**
1045
1589
  *
1046
1590
  * @param {string} params.id -
1591
+ * @param {object} params.data - Request body
1047
1592
  * @throws {RevenexxException}
1048
1593
  * @returns {Promise<Models.Order>}
1049
1594
  */
1050
- ordersUnhold(params: { id: string }): Promise<Models.Order>;
1595
+ ordersUnhold(params: { id: string, data: object }): Promise<Models.Order>;
1051
1596
  /**
1052
1597
  *
1053
1598
  * @param {string} id -
1599
+ * @param {object} data - Request body
1054
1600
  * @throws {RevenexxException}
1055
1601
  * @returns {Promise<Models.Order>}
1056
1602
  * @deprecated Use the object parameter style method for a better developer experience.
1057
1603
  */
1058
- ordersUnhold(id: string): Promise<Models.Order>;
1604
+ ordersUnhold(id: string, data: object): Promise<Models.Order>;
1059
1605
  ordersUnhold(
1060
- paramsOrFirst: { id: string } | string
1606
+ paramsOrFirst: { id: string, data: object } | string,
1607
+ ...rest: [(object)?]
1061
1608
  ): Promise<Models.Order> {
1062
- let params: { id: string };
1609
+ let params: { id: string, data: object };
1063
1610
 
1064
1611
  if ((paramsOrFirst && typeof paramsOrFirst === 'object' && !Array.isArray(paramsOrFirst))) {
1065
- params = (paramsOrFirst || {}) as { id: string };
1612
+ params = (paramsOrFirst || {}) as { id: string, data: object };
1066
1613
  } else {
1067
1614
  params = {
1068
- id: paramsOrFirst as string
1615
+ id: paramsOrFirst as string,
1616
+ data: rest[0] as object
1069
1617
  };
1070
1618
  }
1071
1619
 
1072
1620
  const id = params.id;
1621
+ const data = params.data;
1073
1622
 
1074
1623
  if (typeof id === 'undefined') {
1075
1624
  throw new RevenexxException('Missing required parameter: "id"');
1076
1625
  }
1626
+ if (typeof data === 'undefined') {
1627
+ throw new RevenexxException('Missing required parameter: "data"');
1628
+ }
1077
1629
 
1078
1630
  const apiPath = '/v1/orders/{id}/unhold'.replace('{id}', id);
1079
- const payload: Payload = {};
1631
+ const apiPayload: Payload = {};
1632
+ if (typeof data !== 'undefined') {
1633
+ Object.assign(apiPayload, data);
1634
+ }
1080
1635
  const uri = new URL(this.client.config.endpoint + apiPath);
1081
1636
 
1082
1637
  const apiHeaders: { [header: string]: string } = {
@@ -1087,7 +1642,7 @@ export class Orders {
1087
1642
  'post',
1088
1643
  uri,
1089
1644
  apiHeaders,
1090
- payload
1645
+ apiPayload
1091
1646
  );
1092
1647
  }
1093
1648
  }