@wals-pro/n8n-nodes-weclapp 0.3.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (98) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +206 -0
  3. package/dist/credentials/WeclappApi.credentials.d.ts +10 -0
  4. package/dist/credentials/WeclappApi.credentials.js +56 -0
  5. package/dist/credentials/WeclappApi.credentials.js.map +1 -0
  6. package/dist/credentials/weclapp.dark.svg +19 -0
  7. package/dist/credentials/weclapp.light.svg +19 -0
  8. package/dist/nodes/Weclapp/GenericFunctions.d.ts +19 -0
  9. package/dist/nodes/Weclapp/GenericFunctions.js +287 -0
  10. package/dist/nodes/Weclapp/GenericFunctions.js.map +1 -0
  11. package/dist/nodes/Weclapp/SharedFields.d.ts +24 -0
  12. package/dist/nodes/Weclapp/SharedFields.js +348 -0
  13. package/dist/nodes/Weclapp/SharedFields.js.map +1 -0
  14. package/dist/nodes/Weclapp/Weclapp.node.d.ts +27 -0
  15. package/dist/nodes/Weclapp/Weclapp.node.js +231 -0
  16. package/dist/nodes/Weclapp/Weclapp.node.js.map +1 -0
  17. package/dist/nodes/Weclapp/actions/applyPayment.d.ts +9 -0
  18. package/dist/nodes/Weclapp/actions/applyPayment.js +64 -0
  19. package/dist/nodes/Weclapp/actions/applyPayment.js.map +1 -0
  20. package/dist/nodes/Weclapp/actions/articlePriceSync.d.ts +41 -0
  21. package/dist/nodes/Weclapp/actions/articlePriceSync.js +238 -0
  22. package/dist/nodes/Weclapp/actions/articlePriceSync.js.map +1 -0
  23. package/dist/nodes/Weclapp/actions/documentUpload.d.ts +3 -0
  24. package/dist/nodes/Weclapp/actions/documentUpload.js +90 -0
  25. package/dist/nodes/Weclapp/actions/documentUpload.js.map +1 -0
  26. package/dist/nodes/Weclapp/descriptions/ArticleDescription.d.ts +3 -0
  27. package/dist/nodes/Weclapp/descriptions/ArticleDescription.js +724 -0
  28. package/dist/nodes/Weclapp/descriptions/ArticleDescription.js.map +1 -0
  29. package/dist/nodes/Weclapp/descriptions/BankDescription.d.ts +6 -0
  30. package/dist/nodes/Weclapp/descriptions/BankDescription.js +471 -0
  31. package/dist/nodes/Weclapp/descriptions/BankDescription.js.map +1 -0
  32. package/dist/nodes/Weclapp/descriptions/CustomApiDescription.d.ts +4 -0
  33. package/dist/nodes/Weclapp/descriptions/CustomApiDescription.js +238 -0
  34. package/dist/nodes/Weclapp/descriptions/CustomApiDescription.js.map +1 -0
  35. package/dist/nodes/Weclapp/descriptions/DocumentDescription.d.ts +3 -0
  36. package/dist/nodes/Weclapp/descriptions/DocumentDescription.js +976 -0
  37. package/dist/nodes/Weclapp/descriptions/DocumentDescription.js.map +1 -0
  38. package/dist/nodes/Weclapp/descriptions/PartyDescription.d.ts +4 -0
  39. package/dist/nodes/Weclapp/descriptions/PartyDescription.js +408 -0
  40. package/dist/nodes/Weclapp/descriptions/PartyDescription.js.map +1 -0
  41. package/dist/nodes/Weclapp/descriptions/ProductionOrderDescription.d.ts +4 -0
  42. package/dist/nodes/Weclapp/descriptions/ProductionOrderDescription.js +628 -0
  43. package/dist/nodes/Weclapp/descriptions/ProductionOrderDescription.js.map +1 -0
  44. package/dist/nodes/Weclapp/descriptions/PurchaseInvoiceDescription.d.ts +3 -0
  45. package/dist/nodes/Weclapp/descriptions/PurchaseInvoiceDescription.js +559 -0
  46. package/dist/nodes/Weclapp/descriptions/PurchaseInvoiceDescription.js.map +1 -0
  47. package/dist/nodes/Weclapp/descriptions/PurchaseOrderDescription.d.ts +3 -0
  48. package/dist/nodes/Weclapp/descriptions/PurchaseOrderDescription.js +681 -0
  49. package/dist/nodes/Weclapp/descriptions/PurchaseOrderDescription.js.map +1 -0
  50. package/dist/nodes/Weclapp/descriptions/QuotationDescription.d.ts +3 -0
  51. package/dist/nodes/Weclapp/descriptions/QuotationDescription.js +1069 -0
  52. package/dist/nodes/Weclapp/descriptions/QuotationDescription.js.map +1 -0
  53. package/dist/nodes/Weclapp/descriptions/SalesInvoiceDescription.d.ts +3 -0
  54. package/dist/nodes/Weclapp/descriptions/SalesInvoiceDescription.js +994 -0
  55. package/dist/nodes/Weclapp/descriptions/SalesInvoiceDescription.js.map +1 -0
  56. package/dist/nodes/Weclapp/descriptions/SalesOrderDescription.d.ts +4 -0
  57. package/dist/nodes/Weclapp/descriptions/SalesOrderDescription.js +1122 -0
  58. package/dist/nodes/Weclapp/descriptions/SalesOrderDescription.js.map +1 -0
  59. package/dist/nodes/Weclapp/descriptions/ShipmentDescription.d.ts +3 -0
  60. package/dist/nodes/Weclapp/descriptions/ShipmentDescription.js +502 -0
  61. package/dist/nodes/Weclapp/descriptions/ShipmentDescription.js.map +1 -0
  62. package/dist/nodes/Weclapp/descriptions/TagUnitUserDescription.d.ts +9 -0
  63. package/dist/nodes/Weclapp/descriptions/TagUnitUserDescription.js +664 -0
  64. package/dist/nodes/Weclapp/descriptions/TagUnitUserDescription.js.map +1 -0
  65. package/dist/nodes/Weclapp/descriptions/TicketDescription.d.ts +9 -0
  66. package/dist/nodes/Weclapp/descriptions/TicketDescription.js +745 -0
  67. package/dist/nodes/Weclapp/descriptions/TicketDescription.js.map +1 -0
  68. package/dist/nodes/Weclapp/descriptions/WarehouseDescription.d.ts +35 -0
  69. package/dist/nodes/Weclapp/descriptions/WarehouseDescription.js +935 -0
  70. package/dist/nodes/Weclapp/descriptions/WarehouseDescription.js.map +1 -0
  71. package/dist/nodes/Weclapp/descriptions/WebhookDescription.d.ts +4 -0
  72. package/dist/nodes/Weclapp/descriptions/WebhookDescription.js +411 -0
  73. package/dist/nodes/Weclapp/descriptions/WebhookDescription.js.map +1 -0
  74. package/dist/nodes/Weclapp/descriptions/index.d.ts +3 -0
  75. package/dist/nodes/Weclapp/descriptions/index.js +56 -0
  76. package/dist/nodes/Weclapp/descriptions/index.js.map +1 -0
  77. package/dist/nodes/Weclapp/generated/entityMetadata.d.ts +3 -0
  78. package/dist/nodes/Weclapp/generated/entityMetadata.js +368 -0
  79. package/dist/nodes/Weclapp/generated/entityMetadata.js.map +1 -0
  80. package/dist/nodes/Weclapp/generated/openapiMetadata.d.ts +3 -0
  81. package/dist/nodes/Weclapp/generated/openapiMetadata.js +212 -0
  82. package/dist/nodes/Weclapp/generated/openapiMetadata.js.map +1 -0
  83. package/dist/nodes/Weclapp/methods/customAttributes.d.ts +32 -0
  84. package/dist/nodes/Weclapp/methods/customAttributes.js +156 -0
  85. package/dist/nodes/Weclapp/methods/customAttributes.js.map +1 -0
  86. package/dist/nodes/Weclapp/methods/loadOptions.d.ts +3 -0
  87. package/dist/nodes/Weclapp/methods/loadOptions.js +107 -0
  88. package/dist/nodes/Weclapp/methods/loadOptions.js.map +1 -0
  89. package/dist/nodes/Weclapp/weclapp.dark.svg +19 -0
  90. package/dist/nodes/Weclapp/weclapp.light.svg +19 -0
  91. package/dist/nodes/WeclappTrigger/WeclappTrigger.node.d.ts +12 -0
  92. package/dist/nodes/WeclappTrigger/WeclappTrigger.node.js +198 -0
  93. package/dist/nodes/WeclappTrigger/WeclappTrigger.node.js.map +1 -0
  94. package/dist/nodes/WeclappTrigger/weclapp.dark.svg +19 -0
  95. package/dist/nodes/WeclappTrigger/weclapp.light.svg +19 -0
  96. package/dist/package.json +78 -0
  97. package/dist/tsconfig.tsbuildinfo +1 -0
  98. package/package.json +78 -0
@@ -0,0 +1,1122 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.salesOrderDescription = exports.salesOrderFields = exports.salesOrderOperations = void 0;
4
+ const SharedFields_1 = require("../SharedFields");
5
+ const GenericFunctions_1 = require("../GenericFunctions");
6
+ exports.salesOrderOperations = [
7
+ {
8
+ displayName: 'Operation',
9
+ name: 'operation',
10
+ type: 'options',
11
+ noDataExpression: true,
12
+ displayOptions: {
13
+ show: {
14
+ resource: ['salesOrder'],
15
+ },
16
+ },
17
+ options: [
18
+ {
19
+ name: 'Activate Project View',
20
+ value: 'activateProjectView',
21
+ description: 'Activate project view for a sales order',
22
+ action: 'Activate project view',
23
+ routing: {
24
+ request: {
25
+ method: 'POST',
26
+ url: '=/salesOrder/id/{{$parameter.salesOrderId}}/activateProjectView',
27
+ },
28
+ },
29
+ },
30
+ {
31
+ name: 'Calculate Sales Prices',
32
+ value: 'calculateSalesPrices',
33
+ description: 'Calculate item prices based on calculation mode and percentage',
34
+ action: 'Calculate sales prices',
35
+ routing: {
36
+ request: {
37
+ method: 'POST',
38
+ url: '=/salesOrder/id/{{$parameter.salesOrderId}}/calculateSalesPrices',
39
+ },
40
+ },
41
+ },
42
+ {
43
+ name: 'Cancel or Manually Close',
44
+ value: 'cancelOrManuallyClose',
45
+ description: 'Cancel or manually close a sales order',
46
+ action: 'Cancel or manually close a sales order',
47
+ routing: {
48
+ request: {
49
+ method: 'POST',
50
+ url: '=/salesOrder/id/{{$parameter.salesOrderId}}/cancelOrManuallyClose',
51
+ },
52
+ },
53
+ },
54
+ {
55
+ name: 'Create',
56
+ value: 'create',
57
+ description: 'Create a new sales order',
58
+ action: 'Create a sales order',
59
+ routing: {
60
+ request: {
61
+ method: 'POST',
62
+ url: '/salesOrder',
63
+ },
64
+ },
65
+ },
66
+ {
67
+ name: 'Create Advance Payment Request',
68
+ value: 'createAdvancePaymentRequest',
69
+ description: 'Create an advance payment request (sales invoice) for this order',
70
+ action: 'Create advance payment request',
71
+ routing: {
72
+ request: {
73
+ method: 'POST',
74
+ url: '=/salesOrder/id/{{$parameter.salesOrderId}}/createAdvancePaymentRequest',
75
+ },
76
+ },
77
+ },
78
+ {
79
+ name: 'Create Customer Return',
80
+ value: 'createCustomerReturn',
81
+ description: 'Create a customer return (incoming goods) for this order',
82
+ action: 'Create customer return',
83
+ routing: {
84
+ request: {
85
+ method: 'POST',
86
+ url: '=/salesOrder/id/{{$parameter.salesOrderId}}/createCustomerReturn',
87
+ },
88
+ },
89
+ },
90
+ {
91
+ name: 'Create Dropshipping',
92
+ value: 'createDropshipping',
93
+ description: 'Create a dropshipping purchase order for this sales order',
94
+ action: 'Create dropshipping',
95
+ routing: {
96
+ request: {
97
+ method: 'POST',
98
+ url: '=/salesOrder/id/{{$parameter.salesOrderId}}/createDropshipping',
99
+ },
100
+ },
101
+ },
102
+ {
103
+ name: 'Create Part Payment Invoice',
104
+ value: 'createPartPaymentInvoice',
105
+ description: 'Create a part payment sales invoice for this order',
106
+ action: 'Create part payment invoice',
107
+ routing: {
108
+ request: {
109
+ method: 'POST',
110
+ url: '=/salesOrder/id/{{$parameter.salesOrderId}}/createPartPaymentInvoice',
111
+ },
112
+ },
113
+ },
114
+ {
115
+ name: 'Create Performance Record',
116
+ value: 'createPerformanceRecord',
117
+ description: 'Create a performance record for this sales order',
118
+ action: 'Create performance record',
119
+ routing: {
120
+ request: {
121
+ method: 'POST',
122
+ url: '=/salesOrder/id/{{$parameter.salesOrderId}}/createPerformanceRecord',
123
+ },
124
+ },
125
+ },
126
+ {
127
+ name: 'Create Prepayment Final Invoice',
128
+ value: 'createPrepaymentFinalInvoice',
129
+ description: 'Create the final invoice for a prepayment sales order',
130
+ action: 'Create prepayment final invoice',
131
+ routing: {
132
+ request: {
133
+ method: 'POST',
134
+ url: '=/salesOrder/id/{{$parameter.salesOrderId}}/createPrepaymentFinalInvoice',
135
+ },
136
+ },
137
+ },
138
+ {
139
+ name: 'Create Production Orders',
140
+ value: 'createProductionOrders',
141
+ description: 'Create production orders for this sales order',
142
+ action: 'Create production orders',
143
+ routing: {
144
+ request: {
145
+ method: 'POST',
146
+ url: '=/salesOrder/id/{{$parameter.salesOrderId}}/createProductionOrders',
147
+ },
148
+ },
149
+ },
150
+ {
151
+ name: 'Create Purchase Order',
152
+ value: 'createPurchaseOrder',
153
+ description: 'Create one or more purchase orders for this sales order',
154
+ action: 'Create purchase order',
155
+ routing: {
156
+ request: {
157
+ method: 'POST',
158
+ url: '=/salesOrder/id/{{$parameter.salesOrderId}}/createPurchaseOrder',
159
+ },
160
+ },
161
+ },
162
+ {
163
+ name: 'Create Purchase Order Request',
164
+ value: 'createPurchaseOrderRequest',
165
+ description: 'Create a purchase order request for this sales order',
166
+ action: 'Create purchase order request',
167
+ routing: {
168
+ request: {
169
+ method: 'POST',
170
+ url: '=/salesOrder/id/{{$parameter.salesOrderId}}/createPurchaseOrderRequest',
171
+ },
172
+ },
173
+ },
174
+ {
175
+ name: 'Create Return Labels',
176
+ value: 'createReturnLabels',
177
+ description: 'Create return shipping labels for this order',
178
+ action: 'Create return labels',
179
+ routing: {
180
+ request: {
181
+ method: 'POST',
182
+ url: '=/salesOrder/id/{{$parameter.salesOrderId}}/createReturnLabels',
183
+ },
184
+ },
185
+ },
186
+ {
187
+ name: 'Create Sales Invoice',
188
+ value: 'createSalesInvoice',
189
+ description: 'Create a sales invoice for this order',
190
+ action: 'Create sales invoice',
191
+ routing: {
192
+ request: {
193
+ method: 'POST',
194
+ url: '=/salesOrder/id/{{$parameter.salesOrderId}}/createSalesInvoice',
195
+ },
196
+ },
197
+ },
198
+ {
199
+ name: 'Create Shipment',
200
+ value: 'createShipment',
201
+ description: 'Create a shipment for this sales order',
202
+ action: 'Create shipment',
203
+ routing: {
204
+ request: {
205
+ method: 'POST',
206
+ url: '=/salesOrder/id/{{$parameter.salesOrderId}}/createShipment',
207
+ },
208
+ },
209
+ },
210
+ {
211
+ name: 'Create Shipping Labels',
212
+ value: 'createShippingLabels',
213
+ description: 'Generate shipping labels for this order',
214
+ action: 'Create shipping labels',
215
+ routing: {
216
+ request: {
217
+ method: 'POST',
218
+ url: '=/salesOrder/id/{{$parameter.salesOrderId}}/createShippingLabels',
219
+ },
220
+ },
221
+ },
222
+ {
223
+ name: 'Delete',
224
+ value: 'delete',
225
+ description: 'Delete a sales order by ID',
226
+ action: 'Delete a sales order',
227
+ routing: {
228
+ request: {
229
+ method: 'DELETE',
230
+ url: '=/salesOrder/id/{{$parameter.salesOrderId}}',
231
+ },
232
+ output: {
233
+ postReceive: [
234
+ {
235
+ type: 'set',
236
+ properties: {
237
+ value: '={{ { "deleted": true, "id": $parameter.salesOrderId } }}',
238
+ },
239
+ },
240
+ ],
241
+ },
242
+ },
243
+ },
244
+ {
245
+ name: 'Download Order Confirmation PDF',
246
+ value: 'downloadLatestOrderConfirmationPdf',
247
+ description: 'Download the latest order confirmation as a PDF',
248
+ action: 'Download order confirmation PDF',
249
+ routing: {
250
+ request: {
251
+ method: 'GET',
252
+ url: '=/salesOrder/id/{{$parameter.salesOrderId}}/downloadLatestOrderConfirmationPdf',
253
+ encoding: 'arraybuffer',
254
+ },
255
+ output: {
256
+ postReceive: [
257
+ {
258
+ type: 'binaryData',
259
+ properties: {
260
+ destinationProperty: 'data',
261
+ },
262
+ },
263
+ ],
264
+ },
265
+ },
266
+ },
267
+ {
268
+ name: 'Get',
269
+ value: 'get',
270
+ description: 'Retrieve a sales order by ID',
271
+ action: 'Get a sales order',
272
+ routing: {
273
+ request: {
274
+ method: 'GET',
275
+ url: '=/salesOrder/id/{{$parameter.salesOrderId}}',
276
+ },
277
+ output: {
278
+ postReceive: [GenericFunctions_1.simplifyPostReceive],
279
+ },
280
+ },
281
+ },
282
+ {
283
+ name: 'Get Many',
284
+ value: 'list',
285
+ description: 'List sales orders with optional filters and pagination',
286
+ action: 'Get many sales orders',
287
+ routing: {
288
+ request: {
289
+ method: 'GET',
290
+ url: '/salesOrder',
291
+ },
292
+ ...SharedFields_1.listPaginationRouting,
293
+ output: {
294
+ postReceive: [
295
+ {
296
+ type: 'rootProperty',
297
+ properties: {
298
+ property: 'result',
299
+ },
300
+ },
301
+ GenericFunctions_1.mergeAdditionalProperties,
302
+ GenericFunctions_1.simplifyPostReceive,
303
+ ],
304
+ },
305
+ },
306
+ },
307
+ {
308
+ name: 'Manually Close',
309
+ value: 'manuallyClose',
310
+ description: 'Manually close a sales order',
311
+ action: 'Manually close a sales order',
312
+ routing: {
313
+ request: {
314
+ method: 'POST',
315
+ url: '=/salesOrder/id/{{$parameter.salesOrderId}}/manuallyClose',
316
+ },
317
+ },
318
+ },
319
+ {
320
+ name: 'Preview Order Confirmation PDF',
321
+ value: 'previewSalesOrderConfirmation',
322
+ description: 'Download a preview of the sales order confirmation as a PDF',
323
+ action: 'Preview order confirmation PDF',
324
+ routing: {
325
+ request: {
326
+ method: 'GET',
327
+ url: '=/salesOrder/id/{{$parameter.salesOrderId}}/previewSalesOrderConfirmation',
328
+ encoding: 'arraybuffer',
329
+ },
330
+ output: {
331
+ postReceive: [
332
+ {
333
+ type: 'binaryData',
334
+ properties: {
335
+ destinationProperty: 'data',
336
+ },
337
+ },
338
+ ],
339
+ },
340
+ },
341
+ },
342
+ {
343
+ name: 'Print Label',
344
+ value: 'printLabel',
345
+ description: 'Print item labels for this sales order',
346
+ action: 'Print label',
347
+ routing: {
348
+ request: {
349
+ method: 'POST',
350
+ url: '=/salesOrder/id/{{$parameter.salesOrderId}}/printLabel',
351
+ encoding: 'arraybuffer',
352
+ },
353
+ output: {
354
+ postReceive: [
355
+ {
356
+ type: 'binaryData',
357
+ properties: {
358
+ destinationProperty: 'data',
359
+ },
360
+ },
361
+ ],
362
+ },
363
+ },
364
+ },
365
+ {
366
+ name: 'Print Order Data',
367
+ value: 'printOrderData',
368
+ description: 'Download order data as a PDF',
369
+ action: 'Print order data',
370
+ routing: {
371
+ request: {
372
+ method: 'GET',
373
+ url: '=/salesOrder/id/{{$parameter.salesOrderId}}/printOrderData',
374
+ encoding: 'arraybuffer',
375
+ },
376
+ output: {
377
+ postReceive: [
378
+ {
379
+ type: 'binaryData',
380
+ properties: {
381
+ destinationProperty: 'data',
382
+ },
383
+ },
384
+ ],
385
+ },
386
+ },
387
+ },
388
+ {
389
+ name: 'Recalculate Costs',
390
+ value: 'recalculateCosts',
391
+ description: 'Recalculate item and order costs from current environment',
392
+ action: 'Recalculate costs',
393
+ routing: {
394
+ request: {
395
+ method: 'POST',
396
+ url: '=/salesOrder/id/{{$parameter.salesOrderId}}/recalculateCosts',
397
+ },
398
+ },
399
+ },
400
+ {
401
+ name: 'Reset Taxes',
402
+ value: 'resetTaxes',
403
+ description: 'Reset order item taxes to defaults',
404
+ action: 'Reset taxes',
405
+ routing: {
406
+ request: {
407
+ method: 'POST',
408
+ url: '=/salesOrder/id/{{$parameter.salesOrderId}}/resetTaxes',
409
+ },
410
+ },
411
+ },
412
+ {
413
+ name: 'Set Costs for Items Without Cost',
414
+ value: 'setCostsForItemsWithoutCost',
415
+ description: 'Set unit cost for all order items that currently have no cost',
416
+ action: 'Set costs for items without cost',
417
+ routing: {
418
+ request: {
419
+ method: 'POST',
420
+ url: '=/salesOrder/id/{{$parameter.salesOrderId}}/setCostsForItemsWithoutCost',
421
+ },
422
+ },
423
+ },
424
+ {
425
+ name: 'Ship Order for External Fulfillment',
426
+ value: 'shipOrderForExternalFulfillment',
427
+ description: 'Mark this order as shipped via external fulfillment',
428
+ action: 'Ship order for external fulfillment',
429
+ routing: {
430
+ request: {
431
+ method: 'POST',
432
+ url: '=/salesOrder/id/{{$parameter.salesOrderId}}/shipOrderForExternalFulfillment',
433
+ },
434
+ },
435
+ },
436
+ {
437
+ name: 'Toggle Project Team',
438
+ value: 'toggleProjectTeam',
439
+ description: 'Toggle the project team for a sales order',
440
+ action: 'Toggle project team',
441
+ routing: {
442
+ request: {
443
+ method: 'POST',
444
+ url: '=/salesOrder/id/{{$parameter.salesOrderId}}/toggleProjectTeam',
445
+ },
446
+ },
447
+ },
448
+ {
449
+ name: 'Toggle Services Finished',
450
+ value: 'toggleServicesFinished',
451
+ description: 'Toggle the services-finished state for a sales order',
452
+ action: 'Toggle services finished',
453
+ routing: {
454
+ request: {
455
+ method: 'POST',
456
+ url: '=/salesOrder/id/{{$parameter.salesOrderId}}/toggleServicesFinished',
457
+ },
458
+ },
459
+ },
460
+ {
461
+ name: 'Update',
462
+ value: 'update',
463
+ description: 'Update a sales order by ID (PUT with ignoreMissingProperties)',
464
+ action: 'Update a sales order',
465
+ routing: {
466
+ request: {
467
+ method: 'PUT',
468
+ url: '=/salesOrder/id/{{$parameter.salesOrderId}}',
469
+ qs: {
470
+ ignoreMissingProperties: true,
471
+ },
472
+ },
473
+ },
474
+ },
475
+ {
476
+ name: 'Update Prices',
477
+ value: 'updatePrices',
478
+ description: 'Refresh order item prices from current article prices',
479
+ action: 'Update prices',
480
+ routing: {
481
+ request: {
482
+ method: 'POST',
483
+ url: '=/salesOrder/id/{{$parameter.salesOrderId}}/updatePrices',
484
+ },
485
+ },
486
+ },
487
+ ],
488
+ default: 'list',
489
+ },
490
+ ];
491
+ exports.salesOrderFields = [
492
+ {
493
+ displayName: 'Sales Order',
494
+ name: 'salesOrderId',
495
+ type: 'resourceLocator',
496
+ default: { mode: 'list', value: '' },
497
+ required: true,
498
+ description: 'The sales order to operate on',
499
+ displayOptions: {
500
+ show: {
501
+ resource: ['salesOrder'],
502
+ operation: [
503
+ 'get',
504
+ 'update',
505
+ 'delete',
506
+ 'activateProjectView',
507
+ 'calculateSalesPrices',
508
+ 'cancelOrManuallyClose',
509
+ 'createAdvancePaymentRequest',
510
+ 'createCustomerReturn',
511
+ 'createDropshipping',
512
+ 'createPartPaymentInvoice',
513
+ 'createPerformanceRecord',
514
+ 'createPrepaymentFinalInvoice',
515
+ 'createProductionOrders',
516
+ 'createPurchaseOrder',
517
+ 'createPurchaseOrderRequest',
518
+ 'createReturnLabels',
519
+ 'createSalesInvoice',
520
+ 'createShipment',
521
+ 'createShippingLabels',
522
+ 'downloadLatestOrderConfirmationPdf',
523
+ 'manuallyClose',
524
+ 'previewSalesOrderConfirmation',
525
+ 'printLabel',
526
+ 'printOrderData',
527
+ 'recalculateCosts',
528
+ 'resetTaxes',
529
+ 'setCostsForItemsWithoutCost',
530
+ 'shipOrderForExternalFulfillment',
531
+ 'toggleProjectTeam',
532
+ 'toggleServicesFinished',
533
+ 'updatePrices',
534
+ ],
535
+ },
536
+ },
537
+ modes: [
538
+ {
539
+ displayName: 'From List',
540
+ name: 'list',
541
+ type: 'list',
542
+ typeOptions: {
543
+ searchListMethod: 'searchSalesOrders',
544
+ searchable: true,
545
+ },
546
+ },
547
+ {
548
+ displayName: 'By ID',
549
+ name: 'id',
550
+ type: 'string',
551
+ placeholder: 'e.g. 1234567890',
552
+ validation: [
553
+ {
554
+ type: 'regex',
555
+ properties: {
556
+ regex: '^[0-9]+$',
557
+ errorMessage: 'Sales Order ID must be numeric',
558
+ },
559
+ },
560
+ ],
561
+ },
562
+ {
563
+ displayName: 'By URL',
564
+ name: 'url',
565
+ type: 'string',
566
+ placeholder: 'e.g. https://tenant.weclapp.com/webapp/api/v2/salesOrder/id/1234567890',
567
+ extractValue: {
568
+ type: 'regex',
569
+ regex: '/salesOrder/id/([0-9]+)',
570
+ },
571
+ validation: [
572
+ {
573
+ type: 'regex',
574
+ properties: {
575
+ regex: '/salesOrder/id/[0-9]+',
576
+ errorMessage: 'URL must contain /salesOrder/id/{id}',
577
+ },
578
+ },
579
+ ],
580
+ },
581
+ ],
582
+ },
583
+ {
584
+ ...SharedFields_1.limitField,
585
+ displayOptions: { show: { resource: ['salesOrder'], operation: ['list'] } },
586
+ },
587
+ {
588
+ ...SharedFields_1.filtersCollection,
589
+ description: 'Filter sales orders using weclapp filter operators. Common fields: orderNumber, commission, salesOrderPaymentType, orderDate, status, customerId, recordCurrencyId.',
590
+ displayOptions: { show: { resource: ['salesOrder'], operation: ['list'] } },
591
+ },
592
+ {
593
+ ...SharedFields_1.simplifyField,
594
+ displayOptions: {
595
+ show: {
596
+ resource: ['salesOrder'],
597
+ operation: ['list', 'get'],
598
+ },
599
+ },
600
+ },
601
+ {
602
+ displayName: 'Body (JSON)',
603
+ name: 'body',
604
+ type: 'json',
605
+ default: '{}',
606
+ description: 'Sales order fields to send in the request body (JSON object)',
607
+ displayOptions: {
608
+ show: {
609
+ resource: ['salesOrder'],
610
+ operation: ['create', 'update'],
611
+ },
612
+ },
613
+ routing: {
614
+ request: {
615
+ body: '={{ JSON.parse($value) }}',
616
+ },
617
+ },
618
+ },
619
+ {
620
+ ...SharedFields_1.customAttributesField,
621
+ displayOptions: { show: { resource: ['salesOrder'], operation: ['create', 'update'] } },
622
+ },
623
+ {
624
+ ...SharedFields_1.additionalFields,
625
+ displayOptions: {
626
+ show: {
627
+ resource: ['salesOrder'],
628
+ operation: ['list', 'get', 'create', 'update'],
629
+ },
630
+ },
631
+ },
632
+ {
633
+ displayName: 'Calculation Mode',
634
+ name: 'calculationMode',
635
+ type: 'options',
636
+ required: true,
637
+ default: 'COST_SURCHARGE',
638
+ description: 'Determines how new item prices are calculated',
639
+ options: [
640
+ {
641
+ name: 'Cost Surcharge',
642
+ value: 'COST_SURCHARGE',
643
+ description: 'Net price = purchase cost + cost × surcharge %',
644
+ },
645
+ {
646
+ name: 'Target Margin',
647
+ value: 'TARGET_MARGIN',
648
+ description: 'Net price = purchase cost × 100 / (100 − target margin %)',
649
+ },
650
+ ],
651
+ displayOptions: {
652
+ show: {
653
+ resource: ['salesOrder'],
654
+ operation: ['calculateSalesPrices'],
655
+ },
656
+ },
657
+ routing: {
658
+ request: {
659
+ body: {
660
+ calculationMode: '={{$value}}',
661
+ },
662
+ },
663
+ },
664
+ },
665
+ {
666
+ displayName: 'Percentage',
667
+ name: 'percentage',
668
+ type: 'string',
669
+ required: true,
670
+ default: '',
671
+ description: 'Surcharge or target margin percentage (decimal string, e.g. "15.5")',
672
+ placeholder: 'e.g. 15.5',
673
+ displayOptions: {
674
+ show: {
675
+ resource: ['salesOrder'],
676
+ operation: ['calculateSalesPrices'],
677
+ },
678
+ },
679
+ routing: {
680
+ request: {
681
+ body: {
682
+ percentage: '={{$value}}',
683
+ },
684
+ },
685
+ },
686
+ },
687
+ {
688
+ displayName: 'Order Item IDs',
689
+ name: 'orderItemIds',
690
+ type: 'string',
691
+ default: '',
692
+ description: 'Comma-separated list of order item IDs to recalculate (leave empty to recalculate all items)',
693
+ placeholder: 'e.g. 12345,67890',
694
+ displayOptions: {
695
+ show: {
696
+ resource: ['salesOrder'],
697
+ operation: ['calculateSalesPrices'],
698
+ },
699
+ },
700
+ routing: {
701
+ request: {
702
+ body: {
703
+ orderItemIds: '={{ $value ? $value.split(",").map(s => s.trim()).filter(Boolean) : undefined }}',
704
+ },
705
+ },
706
+ },
707
+ },
708
+ {
709
+ displayName: 'Item IDs',
710
+ name: 'customerReturnItemIds',
711
+ type: 'string',
712
+ default: '',
713
+ description: 'Comma-separated list of order item IDs to include in the return (leave empty for all items)',
714
+ placeholder: 'e.g. 12345,67890',
715
+ displayOptions: {
716
+ show: {
717
+ resource: ['salesOrder'],
718
+ operation: ['createCustomerReturn'],
719
+ },
720
+ },
721
+ routing: {
722
+ request: {
723
+ body: {
724
+ itemIds: '={{ $value ? $value.split(",").map(s => s.trim()).filter(Boolean) : [] }}',
725
+ },
726
+ },
727
+ },
728
+ },
729
+ {
730
+ displayName: 'Supplier ID',
731
+ name: 'dropshippingSupplierId',
732
+ type: 'string',
733
+ required: true,
734
+ default: '',
735
+ description: 'The weclapp ID of the supplier to create the dropshipping order with',
736
+ displayOptions: {
737
+ show: {
738
+ resource: ['salesOrder'],
739
+ operation: ['createDropshipping'],
740
+ },
741
+ },
742
+ routing: {
743
+ request: {
744
+ body: {
745
+ supplierId: '={{$value}}',
746
+ },
747
+ },
748
+ },
749
+ },
750
+ {
751
+ displayName: 'Order Item IDs (Dropshipping)',
752
+ name: 'dropshippingOrderItemIds',
753
+ type: 'string',
754
+ default: '',
755
+ description: 'Comma-separated list of order item IDs to include in dropshipping (leave empty for all)',
756
+ placeholder: 'e.g. 12345,67890',
757
+ displayOptions: {
758
+ show: {
759
+ resource: ['salesOrder'],
760
+ operation: ['createDropshipping'],
761
+ },
762
+ },
763
+ routing: {
764
+ request: {
765
+ body: {
766
+ orderItemIds: '={{ $value ? $value.split(",").map(s => s.trim()).filter(Boolean) : [] }}',
767
+ },
768
+ },
769
+ },
770
+ },
771
+ {
772
+ displayName: 'Order Item IDs (Production)',
773
+ name: 'productionOrderItemIds',
774
+ type: 'string',
775
+ default: '',
776
+ description: 'Comma-separated list of order item IDs to create production orders for (leave empty for all)',
777
+ placeholder: 'e.g. 12345,67890',
778
+ displayOptions: {
779
+ show: {
780
+ resource: ['salesOrder'],
781
+ operation: ['createProductionOrders'],
782
+ },
783
+ },
784
+ routing: {
785
+ request: {
786
+ body: {
787
+ orderItemIds: '={{ $value ? $value.split(",").map(s => s.trim()).filter(Boolean) : [] }}',
788
+ },
789
+ },
790
+ },
791
+ },
792
+ {
793
+ displayName: 'Create Multiple Purchase Orders',
794
+ name: 'multiplePurchaseOrders',
795
+ type: 'boolean',
796
+ default: false,
797
+ description: 'Whether to create one purchase order per supplier instead of a combined one',
798
+ displayOptions: {
799
+ show: {
800
+ resource: ['salesOrder'],
801
+ operation: ['createPurchaseOrder'],
802
+ },
803
+ },
804
+ routing: {
805
+ request: {
806
+ body: {
807
+ multiplePurchaseOrders: '={{$value}}',
808
+ },
809
+ },
810
+ },
811
+ },
812
+ {
813
+ displayName: 'Supplier ID (Purchase Order)',
814
+ name: 'purchaseOrderSupplierId',
815
+ type: 'string',
816
+ default: '',
817
+ description: 'Optional supplier ID to restrict the purchase order to a specific supplier',
818
+ displayOptions: {
819
+ show: {
820
+ resource: ['salesOrder'],
821
+ operation: ['createPurchaseOrder'],
822
+ },
823
+ },
824
+ routing: {
825
+ request: {
826
+ body: {
827
+ supplierId: '={{ $value || null }}',
828
+ },
829
+ },
830
+ },
831
+ },
832
+ {
833
+ displayName: 'Warehouse ID (Purchase Order)',
834
+ name: 'purchaseOrderWarehouseId',
835
+ type: 'string',
836
+ default: '',
837
+ description: 'Optional warehouse ID to associate with the purchase order',
838
+ displayOptions: {
839
+ show: {
840
+ resource: ['salesOrder'],
841
+ operation: ['createPurchaseOrder'],
842
+ },
843
+ },
844
+ routing: {
845
+ request: {
846
+ body: {
847
+ warehouseId: '={{ $value || null }}',
848
+ },
849
+ },
850
+ },
851
+ },
852
+ {
853
+ displayName: 'Request Type',
854
+ name: 'requestType',
855
+ type: 'options',
856
+ required: true,
857
+ default: 'PURCHASE_ORDER_REQUEST',
858
+ description: 'The type of purchase order request to create',
859
+ options: [
860
+ { name: 'Blanket Order Request', value: 'BLANKET_ORDER_REQUEST' },
861
+ { name: 'Blanket Purchase Order Request', value: 'BLANKET_PURCHASE_ORDER_REQUEST' },
862
+ { name: 'Drop Shipping Request', value: 'DROP_SHIPPING_REQUEST' },
863
+ { name: 'Purchase Order Request', value: 'PURCHASE_ORDER_REQUEST' },
864
+ { name: 'Sales Order Commission Request', value: 'SALES_ORDER_COMMISSION_REQUEST' },
865
+ ],
866
+ displayOptions: {
867
+ show: {
868
+ resource: ['salesOrder'],
869
+ operation: ['createPurchaseOrderRequest'],
870
+ },
871
+ },
872
+ routing: {
873
+ request: {
874
+ body: {
875
+ requestType: '={{$value}}',
876
+ },
877
+ },
878
+ },
879
+ },
880
+ {
881
+ displayName: 'Warehouse ID (PO Request)',
882
+ name: 'purchaseOrderRequestWarehouseId',
883
+ type: 'string',
884
+ required: true,
885
+ default: '',
886
+ description: 'The weclapp ID of the warehouse for this purchase order request',
887
+ displayOptions: {
888
+ show: {
889
+ resource: ['salesOrder'],
890
+ operation: ['createPurchaseOrderRequest'],
891
+ },
892
+ },
893
+ routing: {
894
+ request: {
895
+ body: {
896
+ warehouseId: '={{$value}}',
897
+ },
898
+ },
899
+ },
900
+ },
901
+ {
902
+ displayName: 'Order Item IDs (PO Request)',
903
+ name: 'purchaseOrderRequestItemIds',
904
+ type: 'string',
905
+ default: '',
906
+ description: 'Comma-separated list of order item IDs to include (leave empty for all items)',
907
+ placeholder: 'e.g. 12345,67890',
908
+ displayOptions: {
909
+ show: {
910
+ resource: ['salesOrder'],
911
+ operation: ['createPurchaseOrderRequest'],
912
+ },
913
+ },
914
+ routing: {
915
+ request: {
916
+ body: {
917
+ orderItemIds: '={{ $value ? $value.split(",").map(s => s.trim()).filter(Boolean) : undefined }}',
918
+ },
919
+ },
920
+ },
921
+ },
922
+ {
923
+ displayName: 'Supplier IDs (PO Request)',
924
+ name: 'purchaseOrderRequestSupplierIds',
925
+ type: 'string',
926
+ default: '',
927
+ description: 'Comma-separated list of supplier IDs to restrict the request to',
928
+ placeholder: 'e.g. 11111,22222',
929
+ displayOptions: {
930
+ show: {
931
+ resource: ['salesOrder'],
932
+ operation: ['createPurchaseOrderRequest'],
933
+ },
934
+ },
935
+ routing: {
936
+ request: {
937
+ body: {
938
+ supplierIds: '={{ $value ? $value.split(",").map(s => s.trim()).filter(Boolean) : undefined }}',
939
+ },
940
+ },
941
+ },
942
+ },
943
+ {
944
+ displayName: 'Use Item Quantity',
945
+ name: 'useItemQuantity',
946
+ type: 'boolean',
947
+ default: false,
948
+ description: 'Whether to use the item quantity from the order (only for PURCHASE_ORDER_REQUEST and BLANKET_ORDER_REQUEST types)',
949
+ displayOptions: {
950
+ show: {
951
+ resource: ['salesOrder'],
952
+ operation: ['createPurchaseOrderRequest'],
953
+ },
954
+ },
955
+ routing: {
956
+ request: {
957
+ body: {
958
+ useItemQuantity: '={{$value}}',
959
+ },
960
+ },
961
+ },
962
+ },
963
+ {
964
+ displayName: 'Merge Items',
965
+ name: 'mergeItems',
966
+ type: 'boolean',
967
+ default: false,
968
+ description: 'Whether to merge items with the same article (only valid when Use Item Quantity is enabled)',
969
+ displayOptions: {
970
+ show: {
971
+ resource: ['salesOrder'],
972
+ operation: ['createPurchaseOrderRequest'],
973
+ },
974
+ },
975
+ routing: {
976
+ request: {
977
+ body: {
978
+ mergeItems: '={{$value}}',
979
+ },
980
+ },
981
+ },
982
+ },
983
+ {
984
+ displayName: 'Additional Sales Order IDs',
985
+ name: 'additionalSalesOrderIds',
986
+ type: 'string',
987
+ default: '',
988
+ description: 'Comma-separated list of additional sales order IDs to combine into the invoice',
989
+ placeholder: 'e.g. 99991,99992',
990
+ displayOptions: {
991
+ show: {
992
+ resource: ['salesOrder'],
993
+ operation: ['createSalesInvoice'],
994
+ },
995
+ },
996
+ routing: {
997
+ request: {
998
+ body: {
999
+ additionalSalesOrderIds: '={{ $value ? $value.split(",").map(s => s.trim()).filter(Boolean) : [] }}',
1000
+ },
1001
+ },
1002
+ },
1003
+ },
1004
+ {
1005
+ displayName: 'Additional Sales Order IDs (Shipment)',
1006
+ name: 'additionalSalesOrderIdsShipment',
1007
+ type: 'string',
1008
+ default: '',
1009
+ description: 'Comma-separated list of additional sales order IDs to include in the shipment',
1010
+ placeholder: 'e.g. 99991,99992',
1011
+ displayOptions: {
1012
+ show: {
1013
+ resource: ['salesOrder'],
1014
+ operation: ['createShipment'],
1015
+ },
1016
+ },
1017
+ routing: {
1018
+ request: {
1019
+ body: {
1020
+ additionalSalesOrderIds: '={{ $value ? $value.split(",").map(s => s.trim()).filter(Boolean) : [] }}',
1021
+ },
1022
+ },
1023
+ },
1024
+ },
1025
+ {
1026
+ displayName: 'Item Label Quantity Print Setting',
1027
+ name: 'itemLabelQuantityPrintSetting',
1028
+ type: 'options',
1029
+ required: true,
1030
+ default: 'ITEM_QUANTITY',
1031
+ description: 'How many labels to print per item',
1032
+ options: [
1033
+ {
1034
+ name: 'Item Quantity',
1035
+ value: 'ITEM_QUANTITY',
1036
+ description: 'Print one label per unit of quantity',
1037
+ },
1038
+ {
1039
+ name: 'Only One Label per Booking Record',
1040
+ value: 'ONLY_ONE_LABEL_PER_BOOKING_RECORD',
1041
+ description: 'Print one label per booking record regardless of quantity',
1042
+ },
1043
+ {
1044
+ name: 'Only One Label per Item',
1045
+ value: 'ONLY_ONE_LABEL_PER_ITEM',
1046
+ description: 'Print one label per order item',
1047
+ },
1048
+ ],
1049
+ displayOptions: {
1050
+ show: {
1051
+ resource: ['salesOrder'],
1052
+ operation: ['printLabel'],
1053
+ },
1054
+ },
1055
+ routing: {
1056
+ request: {
1057
+ body: {
1058
+ itemLabelQuantityPrintSetting: '={{$value}}',
1059
+ },
1060
+ },
1061
+ },
1062
+ },
1063
+ {
1064
+ displayName: 'Sales Order Item IDs (Print Label)',
1065
+ name: 'printLabelItemIds',
1066
+ type: 'string',
1067
+ default: '',
1068
+ description: 'Comma-separated list of sales order item IDs to print labels for (leave empty for all)',
1069
+ placeholder: 'e.g. 12345,67890',
1070
+ displayOptions: {
1071
+ show: {
1072
+ resource: ['salesOrder'],
1073
+ operation: ['printLabel'],
1074
+ },
1075
+ },
1076
+ routing: {
1077
+ request: {
1078
+ body: {
1079
+ salesOrderItemIds: '={{ $value ? $value.split(",").map(s => s.trim()).filter(Boolean) : undefined }}',
1080
+ },
1081
+ },
1082
+ },
1083
+ },
1084
+ {
1085
+ displayName: 'Cost Update Mode',
1086
+ name: 'costUpdateMode',
1087
+ type: 'options',
1088
+ required: true,
1089
+ default: 'SET_TO_NET_UNIT_PRICE',
1090
+ description: 'How to set the unit cost for items that currently have no cost',
1091
+ options: [
1092
+ {
1093
+ name: 'Set to Net Unit Price',
1094
+ value: 'SET_TO_NET_UNIT_PRICE',
1095
+ description: 'Use the net unit price of the item as the unit cost',
1096
+ },
1097
+ {
1098
+ name: 'Set to Zero',
1099
+ value: 'SET_TO_ZERO',
1100
+ description: 'Set unit cost to zero',
1101
+ },
1102
+ ],
1103
+ displayOptions: {
1104
+ show: {
1105
+ resource: ['salesOrder'],
1106
+ operation: ['setCostsForItemsWithoutCost'],
1107
+ },
1108
+ },
1109
+ routing: {
1110
+ request: {
1111
+ body: {
1112
+ costUpdateMode: '={{$value}}',
1113
+ },
1114
+ },
1115
+ },
1116
+ },
1117
+ ];
1118
+ exports.salesOrderDescription = [
1119
+ ...exports.salesOrderOperations,
1120
+ ...exports.salesOrderFields,
1121
+ ];
1122
+ //# sourceMappingURL=SalesOrderDescription.js.map