@commercelayer/sdk 4.37.0 → 4.39.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 (99) hide show
  1. package/lib/cjs/api.d.ts +10 -7
  2. package/lib/cjs/api.js +12 -3
  3. package/lib/cjs/commercelayer.d.ts +5 -2
  4. package/lib/cjs/commercelayer.js +4 -1
  5. package/lib/cjs/error.d.ts +3 -2
  6. package/lib/cjs/error.js +2 -1
  7. package/lib/cjs/model.d.ts +6 -3
  8. package/lib/cjs/resource.d.ts +1 -0
  9. package/lib/cjs/resource.js +16 -0
  10. package/lib/cjs/resources/axerve_payments.d.ts +4 -0
  11. package/lib/cjs/resources/buy_x_pay_y_promotions.d.ts +137 -0
  12. package/lib/cjs/resources/buy_x_pay_y_promotions.js +75 -0
  13. package/lib/cjs/resources/coupon_codes_promotion_rules.d.ts +7 -3
  14. package/lib/cjs/resources/coupons.d.ts +3 -0
  15. package/lib/cjs/resources/custom_promotion_rules.d.ts +62 -0
  16. package/lib/cjs/resources/custom_promotion_rules.js +29 -0
  17. package/lib/cjs/resources/external_promotions.d.ts +20 -1
  18. package/lib/cjs/resources/external_promotions.js +10 -0
  19. package/lib/cjs/resources/fixed_amount_promotions.d.ts +20 -1
  20. package/lib/cjs/resources/fixed_amount_promotions.js +10 -0
  21. package/lib/cjs/resources/fixed_price_promotions.d.ts +11 -0
  22. package/lib/cjs/resources/fixed_price_promotions.js +6 -0
  23. package/lib/cjs/resources/free_gift_promotions.d.ts +11 -0
  24. package/lib/cjs/resources/free_gift_promotions.js +6 -0
  25. package/lib/cjs/resources/free_shipping_promotions.d.ts +11 -0
  26. package/lib/cjs/resources/free_shipping_promotions.js +6 -0
  27. package/lib/cjs/resources/inventory_models.d.ts +3 -0
  28. package/lib/cjs/resources/line_items.d.ts +1 -0
  29. package/lib/cjs/resources/order_amount_promotion_rules.d.ts +7 -3
  30. package/lib/cjs/resources/orders.d.ts +24 -0
  31. package/lib/cjs/resources/orders.js +20 -0
  32. package/lib/cjs/resources/payment_methods.d.ts +3 -3
  33. package/lib/cjs/resources/payment_options.d.ts +44 -0
  34. package/lib/cjs/resources/payment_options.js +33 -0
  35. package/lib/cjs/resources/percentage_discount_promotions.d.ts +11 -0
  36. package/lib/cjs/resources/percentage_discount_promotions.js +6 -0
  37. package/lib/cjs/resources/promotion_rules.d.ts +2 -1
  38. package/lib/cjs/resources/promotions.d.ts +3 -0
  39. package/lib/cjs/resources/shipments.d.ts +38 -5
  40. package/lib/cjs/resources/shipments.js +19 -0
  41. package/lib/cjs/resources/sku_list_promotion_rules.d.ts +7 -3
  42. package/lib/cjs/resources/stock_line_items.d.ts +37 -7
  43. package/lib/cjs/resources/stock_line_items.js +9 -0
  44. package/lib/cjs/resources/stock_reservations.d.ts +19 -3
  45. package/lib/cjs/resources/stock_reservations.js +12 -0
  46. package/lib/cjs/resources/stock_transfers.d.ts +3 -1
  47. package/lib/cjs/resources/stock_transfers.js +3 -0
  48. package/lib/cjs/util.d.ts +0 -5
  49. package/lib/esm/api.d.ts +10 -7
  50. package/lib/esm/api.js +6 -0
  51. package/lib/esm/commercelayer.d.ts +5 -2
  52. package/lib/esm/commercelayer.js +4 -1
  53. package/lib/esm/error.d.ts +3 -2
  54. package/lib/esm/error.js +2 -1
  55. package/lib/esm/model.d.ts +6 -3
  56. package/lib/esm/resource.d.ts +1 -0
  57. package/lib/esm/resource.js +16 -0
  58. package/lib/esm/resources/axerve_payments.d.ts +4 -0
  59. package/lib/esm/resources/buy_x_pay_y_promotions.d.ts +137 -0
  60. package/lib/esm/resources/buy_x_pay_y_promotions.js +73 -0
  61. package/lib/esm/resources/coupon_codes_promotion_rules.d.ts +7 -3
  62. package/lib/esm/resources/coupons.d.ts +3 -0
  63. package/lib/esm/resources/custom_promotion_rules.d.ts +62 -0
  64. package/lib/esm/resources/custom_promotion_rules.js +27 -0
  65. package/lib/esm/resources/external_promotions.d.ts +20 -1
  66. package/lib/esm/resources/external_promotions.js +10 -0
  67. package/lib/esm/resources/fixed_amount_promotions.d.ts +20 -1
  68. package/lib/esm/resources/fixed_amount_promotions.js +10 -0
  69. package/lib/esm/resources/fixed_price_promotions.d.ts +11 -0
  70. package/lib/esm/resources/fixed_price_promotions.js +6 -0
  71. package/lib/esm/resources/free_gift_promotions.d.ts +11 -0
  72. package/lib/esm/resources/free_gift_promotions.js +6 -0
  73. package/lib/esm/resources/free_shipping_promotions.d.ts +11 -0
  74. package/lib/esm/resources/free_shipping_promotions.js +6 -0
  75. package/lib/esm/resources/inventory_models.d.ts +3 -0
  76. package/lib/esm/resources/line_items.d.ts +1 -0
  77. package/lib/esm/resources/order_amount_promotion_rules.d.ts +7 -3
  78. package/lib/esm/resources/orders.d.ts +24 -0
  79. package/lib/esm/resources/orders.js +20 -0
  80. package/lib/esm/resources/payment_methods.d.ts +3 -3
  81. package/lib/esm/resources/payment_options.d.ts +44 -0
  82. package/lib/esm/resources/payment_options.js +31 -0
  83. package/lib/esm/resources/percentage_discount_promotions.d.ts +11 -0
  84. package/lib/esm/resources/percentage_discount_promotions.js +6 -0
  85. package/lib/esm/resources/promotion_rules.d.ts +2 -1
  86. package/lib/esm/resources/promotions.d.ts +3 -0
  87. package/lib/esm/resources/shipments.d.ts +38 -5
  88. package/lib/esm/resources/shipments.js +19 -0
  89. package/lib/esm/resources/sku_list_promotion_rules.d.ts +7 -3
  90. package/lib/esm/resources/stock_line_items.d.ts +37 -7
  91. package/lib/esm/resources/stock_line_items.js +9 -0
  92. package/lib/esm/resources/stock_reservations.d.ts +19 -3
  93. package/lib/esm/resources/stock_reservations.js +12 -0
  94. package/lib/esm/resources/stock_transfers.d.ts +3 -1
  95. package/lib/esm/resources/stock_transfers.js +3 -0
  96. package/lib/esm/util.d.ts +0 -5
  97. package/lib/tsconfig.esm.tsbuildinfo +1 -1
  98. package/lib/tsconfig.tsbuildinfo +1 -1
  99. package/package.json +1 -1
@@ -86,6 +86,7 @@ interface LineItem extends Resource {
86
86
  tax_breakdown?: Record<string, any> | null;
87
87
  item_type?: 'skus' | 'bundles' | 'shipments' | 'payment_methods' | 'adjustments' | 'gift_cards' | 'percentage_discount_promotions' | 'free_shipping_promotions' | 'free_gift_promotions' | 'fixed_price_promotions' | 'external_promotions' | 'fixed_amount_promotions' | null;
88
88
  frequency?: string | null;
89
+ coupon_code?: string | null;
89
90
  order?: Order | null;
90
91
  item?: Adjustment | Bundle | ExternalPromotion | FixedAmountPromotion | FreeShippingPromotion | GiftCard | PaymentMethod | PercentageDiscountPromotion | Shipment | Sku | null;
91
92
  sku?: Sku | null;
@@ -3,6 +3,7 @@ import type { Resource, ResourceCreate, ResourceUpdate, ResourceId, ResourcesCon
3
3
  import type { QueryParamsRetrieve, QueryParamsList } from '../query';
4
4
  import type { PercentageDiscountPromotion, PercentageDiscountPromotionType } from './percentage_discount_promotions';
5
5
  import type { FreeShippingPromotion, FreeShippingPromotionType } from './free_shipping_promotions';
6
+ import type { BuyXPayYPromotion, BuyXPayYPromotionType } from './buy_x_pay_y_promotions';
6
7
  import type { FreeGiftPromotion, FreeGiftPromotionType } from './free_gift_promotions';
7
8
  import type { FixedPricePromotion, FixedPricePromotionType } from './fixed_price_promotions';
8
9
  import type { ExternalPromotion, ExternalPromotionType } from './external_promotions';
@@ -18,6 +19,9 @@ type PercentageDiscountPromotionRel = ResourceRel & {
18
19
  type FreeShippingPromotionRel = ResourceRel & {
19
20
  type: FreeShippingPromotionType;
20
21
  };
22
+ type BuyXPayYPromotionRel = ResourceRel & {
23
+ type: BuyXPayYPromotionType;
24
+ };
21
25
  type FreeGiftPromotionRel = ResourceRel & {
22
26
  type: FreeGiftPromotionType;
23
27
  };
@@ -36,18 +40,18 @@ interface OrderAmountPromotionRule extends Resource {
36
40
  order_amount_float?: number | null;
37
41
  formatted_order_amount?: string | null;
38
42
  use_subtotal?: boolean | null;
39
- promotion?: PercentageDiscountPromotion | FreeShippingPromotion | FreeGiftPromotion | FixedPricePromotion | ExternalPromotion | FixedAmountPromotion | null;
43
+ promotion?: PercentageDiscountPromotion | FreeShippingPromotion | BuyXPayYPromotion | FreeGiftPromotion | FixedPricePromotion | ExternalPromotion | FixedAmountPromotion | null;
40
44
  versions?: Version[] | null;
41
45
  }
42
46
  interface OrderAmountPromotionRuleCreate extends ResourceCreate {
43
47
  order_amount_cents?: number | null;
44
48
  use_subtotal?: boolean | null;
45
- promotion: PercentageDiscountPromotionRel | FreeShippingPromotionRel | FreeGiftPromotionRel | FixedPricePromotionRel | ExternalPromotionRel | FixedAmountPromotionRel;
49
+ promotion: PercentageDiscountPromotionRel | FreeShippingPromotionRel | BuyXPayYPromotionRel | FreeGiftPromotionRel | FixedPricePromotionRel | ExternalPromotionRel | FixedAmountPromotionRel;
46
50
  }
47
51
  interface OrderAmountPromotionRuleUpdate extends ResourceUpdate {
48
52
  order_amount_cents?: number | null;
49
53
  use_subtotal?: boolean | null;
50
- promotion?: PercentageDiscountPromotionRel | FreeShippingPromotionRel | FreeGiftPromotionRel | FixedPricePromotionRel | ExternalPromotionRel | FixedAmountPromotionRel | null;
54
+ promotion?: PercentageDiscountPromotionRel | FreeShippingPromotionRel | BuyXPayYPromotionRel | FreeGiftPromotionRel | FixedPricePromotionRel | ExternalPromotionRel | FixedAmountPromotionRel | null;
51
55
  }
52
56
  declare class OrderAmountPromotionRules extends ApiResource<OrderAmountPromotionRule> {
53
57
  static readonly TYPE: OrderAmountPromotionRuleType;
@@ -19,7 +19,12 @@ import type { SatispayPayment, SatispayPaymentType } from './satispay_payments';
19
19
  import type { StripePayment, StripePaymentType } from './stripe_payments';
20
20
  import type { WireTransfer, WireTransferType } from './wire_transfers';
21
21
  import type { LineItem } from './line_items';
22
+ import type { LineItemOption } from './line_item_options';
23
+ import type { StockReservation } from './stock_reservations';
24
+ import type { StockLineItem } from './stock_line_items';
25
+ import type { StockTransfer } from './stock_transfers';
22
26
  import type { Shipment } from './shipments';
27
+ import type { PaymentOption } from './payment_options';
23
28
  import type { Authorization } from './authorizations';
24
29
  import type { Capture } from './captures';
25
30
  import type { Void } from './voids';
@@ -97,6 +102,9 @@ interface Order extends Resource {
97
102
  tax_included?: boolean | null;
98
103
  tax_rate?: number | null;
99
104
  freight_taxable?: boolean | null;
105
+ payment_method_taxable?: boolean | null;
106
+ adjustment_taxable?: boolean | null;
107
+ gift_card_taxable?: boolean | null;
100
108
  requires_billing_info?: boolean | null;
101
109
  country_code?: string | null;
102
110
  shipping_country_code_lock?: string | null;
@@ -197,7 +205,12 @@ interface Order extends Resource {
197
205
  payment_method?: PaymentMethod | null;
198
206
  payment_source?: AdyenPayment | AxervePayment | BraintreePayment | CheckoutComPayment | ExternalPayment | KlarnaPayment | PaypalPayment | SatispayPayment | StripePayment | WireTransfer | null;
199
207
  line_items?: LineItem[] | null;
208
+ line_item_options?: LineItemOption[] | null;
209
+ stock_reservations?: StockReservation[] | null;
210
+ stock_line_items?: StockLineItem[] | null;
211
+ stock_transfers?: StockTransfer[] | null;
200
212
  shipments?: Shipment[] | null;
213
+ payment_options?: PaymentOption[] | null;
201
214
  transactions?: Array<Authorization | Capture | Void | Refund> | null;
202
215
  authorizations?: Authorization[] | null;
203
216
  captures?: Capture[] | null;
@@ -220,6 +233,9 @@ interface OrderCreate extends ResourceCreate {
220
233
  customer_password?: string | null;
221
234
  language_code?: string | null;
222
235
  freight_taxable?: boolean | null;
236
+ payment_method_taxable?: boolean | null;
237
+ adjustment_taxable?: boolean | null;
238
+ gift_card_taxable?: boolean | null;
223
239
  shipping_country_code_lock?: string | null;
224
240
  coupon_code?: string | null;
225
241
  gift_card_code?: string | null;
@@ -242,6 +258,9 @@ interface OrderUpdate extends ResourceUpdate {
242
258
  customer_password?: string | null;
243
259
  language_code?: string | null;
244
260
  freight_taxable?: boolean | null;
261
+ payment_method_taxable?: boolean | null;
262
+ adjustment_taxable?: boolean | null;
263
+ gift_card_taxable?: boolean | null;
245
264
  shipping_country_code_lock?: string | null;
246
265
  coupon_code?: string | null;
247
266
  gift_card_code?: string | null;
@@ -299,7 +318,12 @@ declare class Orders extends ApiResource<Order> {
299
318
  available_free_bundles(orderId: string | Order, params?: QueryParamsList, options?: ResourcesConfig): Promise<ListResponse<Bundle>>;
300
319
  payment_method(orderId: string | Order, params?: QueryParamsRetrieve, options?: ResourcesConfig): Promise<PaymentMethod>;
301
320
  line_items(orderId: string | Order, params?: QueryParamsList, options?: ResourcesConfig): Promise<ListResponse<LineItem>>;
321
+ line_item_options(orderId: string | Order, params?: QueryParamsList, options?: ResourcesConfig): Promise<ListResponse<LineItemOption>>;
322
+ stock_reservations(orderId: string | Order, params?: QueryParamsList, options?: ResourcesConfig): Promise<ListResponse<StockReservation>>;
323
+ stock_line_items(orderId: string | Order, params?: QueryParamsList, options?: ResourcesConfig): Promise<ListResponse<StockLineItem>>;
324
+ stock_transfers(orderId: string | Order, params?: QueryParamsList, options?: ResourcesConfig): Promise<ListResponse<StockTransfer>>;
302
325
  shipments(orderId: string | Order, params?: QueryParamsList, options?: ResourcesConfig): Promise<ListResponse<Shipment>>;
326
+ payment_options(orderId: string | Order, params?: QueryParamsList, options?: ResourcesConfig): Promise<ListResponse<PaymentOption>>;
303
327
  authorizations(orderId: string | Order, params?: QueryParamsList, options?: ResourcesConfig): Promise<ListResponse<Authorization>>;
304
328
  captures(orderId: string | Order, params?: QueryParamsList, options?: ResourcesConfig): Promise<ListResponse<Capture>>;
305
329
  voids(orderId: string | Order, params?: QueryParamsList, options?: ResourcesConfig): Promise<ListResponse<Void>>;
@@ -51,10 +51,30 @@ class Orders extends resource_1.ApiResource {
51
51
  const _orderId = orderId.id || orderId;
52
52
  return this.resources.fetch({ type: 'line_items' }, `orders/${_orderId}/line_items`, params, options);
53
53
  }
54
+ async line_item_options(orderId, params, options) {
55
+ const _orderId = orderId.id || orderId;
56
+ return this.resources.fetch({ type: 'line_item_options' }, `orders/${_orderId}/line_item_options`, params, options);
57
+ }
58
+ async stock_reservations(orderId, params, options) {
59
+ const _orderId = orderId.id || orderId;
60
+ return this.resources.fetch({ type: 'stock_reservations' }, `orders/${_orderId}/stock_reservations`, params, options);
61
+ }
62
+ async stock_line_items(orderId, params, options) {
63
+ const _orderId = orderId.id || orderId;
64
+ return this.resources.fetch({ type: 'stock_line_items' }, `orders/${_orderId}/stock_line_items`, params, options);
65
+ }
66
+ async stock_transfers(orderId, params, options) {
67
+ const _orderId = orderId.id || orderId;
68
+ return this.resources.fetch({ type: 'stock_transfers' }, `orders/${_orderId}/stock_transfers`, params, options);
69
+ }
54
70
  async shipments(orderId, params, options) {
55
71
  const _orderId = orderId.id || orderId;
56
72
  return this.resources.fetch({ type: 'shipments' }, `orders/${_orderId}/shipments`, params, options);
57
73
  }
74
+ async payment_options(orderId, params, options) {
75
+ const _orderId = orderId.id || orderId;
76
+ return this.resources.fetch({ type: 'payment_options' }, `orders/${_orderId}/payment_options`, params, options);
77
+ }
58
78
  async authorizations(orderId, params, options) {
59
79
  const _orderId = orderId.id || orderId;
60
80
  return this.resources.fetch({ type: 'authorizations' }, `orders/${_orderId}/authorizations`, params, options);
@@ -17,8 +17,8 @@ type PaymentGatewayRel = ResourceRel & {
17
17
  };
18
18
  interface PaymentMethod extends Resource {
19
19
  readonly type: PaymentMethodType;
20
- payment_source_type: string;
21
20
  name?: string | null;
21
+ payment_source_type: 'adyen_payments' | 'axerve_payments' | 'braintree_payments' | 'checkout_com_payments' | 'credit_cards' | 'external_payments' | 'klarna_payments' | 'paypal_payments' | 'satispay_payments' | 'stripe_payments' | 'wire_transfers';
22
22
  currency_code?: string | null;
23
23
  moto?: boolean | null;
24
24
  require_capture?: boolean | null;
@@ -36,7 +36,7 @@ interface PaymentMethod extends Resource {
36
36
  versions?: Version[] | null;
37
37
  }
38
38
  interface PaymentMethodCreate extends ResourceCreate {
39
- payment_source_type: string;
39
+ payment_source_type: 'adyen_payments' | 'axerve_payments' | 'braintree_payments' | 'checkout_com_payments' | 'credit_cards' | 'external_payments' | 'klarna_payments' | 'paypal_payments' | 'satispay_payments' | 'stripe_payments' | 'wire_transfers';
40
40
  currency_code?: string | null;
41
41
  moto?: boolean | null;
42
42
  require_capture?: boolean | null;
@@ -47,7 +47,7 @@ interface PaymentMethodCreate extends ResourceCreate {
47
47
  payment_gateway: PaymentGatewayRel;
48
48
  }
49
49
  interface PaymentMethodUpdate extends ResourceUpdate {
50
- payment_source_type?: string | null;
50
+ payment_source_type?: 'adyen_payments' | 'axerve_payments' | 'braintree_payments' | 'checkout_com_payments' | 'credit_cards' | 'external_payments' | 'klarna_payments' | 'paypal_payments' | 'satispay_payments' | 'stripe_payments' | 'wire_transfers' | null;
51
51
  currency_code?: string | null;
52
52
  moto?: boolean | null;
53
53
  require_capture?: boolean | null;
@@ -0,0 +1,44 @@
1
+ import { ApiResource } from '../resource';
2
+ import type { Resource, ResourceCreate, ResourceUpdate, ResourceId, ResourcesConfig, ResourceRel, ListResponse } from '../resource';
3
+ import type { QueryParamsRetrieve, QueryParamsList } from '../query';
4
+ import type { Order, OrderType } from './orders';
5
+ import type { Attachment } from './attachments';
6
+ type PaymentOptionType = 'payment_options';
7
+ type PaymentOptionRel = ResourceRel & {
8
+ type: PaymentOptionType;
9
+ };
10
+ type OrderRel = ResourceRel & {
11
+ type: OrderType;
12
+ };
13
+ interface PaymentOption extends Resource {
14
+ readonly type: PaymentOptionType;
15
+ name?: string | null;
16
+ payment_source_type: 'adyen_payments' | 'axerve_payments' | 'braintree_payments' | 'checkout_com_payments' | 'credit_cards' | 'external_payments' | 'klarna_payments' | 'paypal_payments' | 'satispay_payments' | 'stripe_payments' | 'wire_transfers';
17
+ data: Record<string, any>;
18
+ order?: Order | null;
19
+ attachments?: Attachment[] | null;
20
+ }
21
+ interface PaymentOptionCreate extends ResourceCreate {
22
+ name?: string | null;
23
+ payment_source_type: 'adyen_payments' | 'axerve_payments' | 'braintree_payments' | 'checkout_com_payments' | 'credit_cards' | 'external_payments' | 'klarna_payments' | 'paypal_payments' | 'satispay_payments' | 'stripe_payments' | 'wire_transfers';
24
+ data: Record<string, any>;
25
+ order: OrderRel;
26
+ }
27
+ interface PaymentOptionUpdate extends ResourceUpdate {
28
+ name?: string | null;
29
+ data?: Record<string, any> | null;
30
+ order?: OrderRel | null;
31
+ }
32
+ declare class PaymentOptions extends ApiResource<PaymentOption> {
33
+ static readonly TYPE: PaymentOptionType;
34
+ create(resource: PaymentOptionCreate, params?: QueryParamsRetrieve, options?: ResourcesConfig): Promise<PaymentOption>;
35
+ update(resource: PaymentOptionUpdate, params?: QueryParamsRetrieve, options?: ResourcesConfig): Promise<PaymentOption>;
36
+ delete(id: string | ResourceId, options?: ResourcesConfig): Promise<void>;
37
+ order(paymentOptionId: string | PaymentOption, params?: QueryParamsRetrieve, options?: ResourcesConfig): Promise<Order>;
38
+ attachments(paymentOptionId: string | PaymentOption, params?: QueryParamsList, options?: ResourcesConfig): Promise<ListResponse<Attachment>>;
39
+ isPaymentOption(resource: any): resource is PaymentOption;
40
+ relationship(id: string | ResourceId | null): PaymentOptionRel;
41
+ type(): PaymentOptionType;
42
+ }
43
+ export default PaymentOptions;
44
+ export type { PaymentOption, PaymentOptionCreate, PaymentOptionUpdate, PaymentOptionType };
@@ -0,0 +1,33 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ const resource_1 = require("../resource");
4
+ class PaymentOptions extends resource_1.ApiResource {
5
+ async create(resource, params, options) {
6
+ return this.resources.create({ ...resource, type: PaymentOptions.TYPE }, params, options);
7
+ }
8
+ async update(resource, params, options) {
9
+ return this.resources.update({ ...resource, type: PaymentOptions.TYPE }, params, options);
10
+ }
11
+ async delete(id, options) {
12
+ await this.resources.delete((typeof id === 'string') ? { id, type: PaymentOptions.TYPE } : id, options);
13
+ }
14
+ async order(paymentOptionId, params, options) {
15
+ const _paymentOptionId = paymentOptionId.id || paymentOptionId;
16
+ return this.resources.fetch({ type: 'orders' }, `payment_options/${_paymentOptionId}/order`, params, options);
17
+ }
18
+ async attachments(paymentOptionId, params, options) {
19
+ const _paymentOptionId = paymentOptionId.id || paymentOptionId;
20
+ return this.resources.fetch({ type: 'attachments' }, `payment_options/${_paymentOptionId}/attachments`, params, options);
21
+ }
22
+ isPaymentOption(resource) {
23
+ return resource.type && (resource.type === PaymentOptions.TYPE);
24
+ }
25
+ relationship(id) {
26
+ return ((id === null) || (typeof id === 'string')) ? { id, type: PaymentOptions.TYPE } : { id: id.id, type: PaymentOptions.TYPE };
27
+ }
28
+ type() {
29
+ return PaymentOptions.TYPE;
30
+ }
31
+ }
32
+ PaymentOptions.TYPE = 'payment_options';
33
+ exports.default = PaymentOptions;
@@ -45,11 +45,14 @@ interface PercentageDiscountPromotion extends Resource {
45
45
  readonly type: PercentageDiscountPromotionType;
46
46
  name: string;
47
47
  currency_code?: string | null;
48
+ exclusive?: boolean | null;
49
+ priority?: number | null;
48
50
  starts_at: string;
49
51
  expires_at: string;
50
52
  total_usage_limit: number;
51
53
  total_usage_count?: number | null;
52
54
  active?: boolean | null;
55
+ disabled_at?: string | null;
53
56
  percentage: number;
54
57
  market?: Market | null;
55
58
  promotion_rules?: PromotionRule[] | null;
@@ -67,6 +70,8 @@ interface PercentageDiscountPromotion extends Resource {
67
70
  interface PercentageDiscountPromotionCreate extends ResourceCreate {
68
71
  name: string;
69
72
  currency_code?: string | null;
73
+ exclusive?: boolean | null;
74
+ priority?: number | null;
70
75
  starts_at: string;
71
76
  expires_at: string;
72
77
  total_usage_limit: number;
@@ -83,9 +88,13 @@ interface PercentageDiscountPromotionCreate extends ResourceCreate {
83
88
  interface PercentageDiscountPromotionUpdate extends ResourceUpdate {
84
89
  name?: string | null;
85
90
  currency_code?: string | null;
91
+ exclusive?: boolean | null;
92
+ priority?: number | null;
86
93
  starts_at?: string | null;
87
94
  expires_at?: string | null;
88
95
  total_usage_limit?: number | null;
96
+ _disable?: boolean | null;
97
+ _enable?: boolean | null;
89
98
  percentage?: number | null;
90
99
  market?: MarketRel | null;
91
100
  promotion_rules?: PromotionRuleRel[] | null;
@@ -112,6 +121,8 @@ declare class PercentageDiscountPromotions extends ApiResource<PercentageDiscoun
112
121
  tags(percentageDiscountPromotionId: string | PercentageDiscountPromotion, params?: QueryParamsList, options?: ResourcesConfig): Promise<ListResponse<Tag>>;
113
122
  versions(percentageDiscountPromotionId: string | PercentageDiscountPromotion, params?: QueryParamsList, options?: ResourcesConfig): Promise<ListResponse<Version>>;
114
123
  skus(percentageDiscountPromotionId: string | PercentageDiscountPromotion, params?: QueryParamsList, options?: ResourcesConfig): Promise<ListResponse<Sku>>;
124
+ _disable(id: string | PercentageDiscountPromotion, params?: QueryParamsRetrieve, options?: ResourcesConfig): Promise<PercentageDiscountPromotion>;
125
+ _enable(id: string | PercentageDiscountPromotion, params?: QueryParamsRetrieve, options?: ResourcesConfig): Promise<PercentageDiscountPromotion>;
115
126
  isPercentageDiscountPromotion(resource: any): resource is PercentageDiscountPromotion;
116
127
  relationship(id: string | ResourceId | null): PercentageDiscountPromotionRel;
117
128
  type(): PercentageDiscountPromotionType;
@@ -55,6 +55,12 @@ class PercentageDiscountPromotions extends resource_1.ApiResource {
55
55
  const _percentageDiscountPromotionId = percentageDiscountPromotionId.id || percentageDiscountPromotionId;
56
56
  return this.resources.fetch({ type: 'skus' }, `percentage_discount_promotions/${_percentageDiscountPromotionId}/skus`, params, options);
57
57
  }
58
+ async _disable(id, params, options) {
59
+ return this.resources.update({ id: (typeof id === 'string') ? id : id.id, type: PercentageDiscountPromotions.TYPE, _disable: true }, params, options);
60
+ }
61
+ async _enable(id, params, options) {
62
+ return this.resources.update({ id: (typeof id === 'string') ? id : id.id, type: PercentageDiscountPromotions.TYPE, _enable: true }, params, options);
63
+ }
58
64
  isPercentageDiscountPromotion(resource) {
59
65
  return resource.type && (resource.type === PercentageDiscountPromotions.TYPE);
60
66
  }
@@ -3,6 +3,7 @@ import type { Resource, ResourceId, ResourcesConfig, ResourceRel, ListResponse }
3
3
  import type { QueryParamsList } from '../query';
4
4
  import type { PercentageDiscountPromotion } from './percentage_discount_promotions';
5
5
  import type { FreeShippingPromotion } from './free_shipping_promotions';
6
+ import type { BuyXPayYPromotion } from './buy_x_pay_y_promotions';
6
7
  import type { FreeGiftPromotion } from './free_gift_promotions';
7
8
  import type { FixedPricePromotion } from './fixed_price_promotions';
8
9
  import type { ExternalPromotion } from './external_promotions';
@@ -14,7 +15,7 @@ type PromotionRuleRel = ResourceRel & {
14
15
  };
15
16
  interface PromotionRule extends Resource {
16
17
  readonly type: PromotionRuleType;
17
- promotion?: PercentageDiscountPromotion | FreeShippingPromotion | FreeGiftPromotion | FixedPricePromotion | ExternalPromotion | FixedAmountPromotion | null;
18
+ promotion?: PercentageDiscountPromotion | FreeShippingPromotion | BuyXPayYPromotion | FreeGiftPromotion | FixedPricePromotion | ExternalPromotion | FixedAmountPromotion | null;
18
19
  versions?: Version[] | null;
19
20
  }
20
21
  declare class PromotionRules extends ApiResource<PromotionRule> {
@@ -20,11 +20,14 @@ interface Promotion extends Resource {
20
20
  readonly type: PromotionType;
21
21
  name: string;
22
22
  currency_code?: string | null;
23
+ exclusive?: boolean | null;
24
+ priority?: number | null;
23
25
  starts_at: string;
24
26
  expires_at: string;
25
27
  total_usage_limit: number;
26
28
  total_usage_count?: number | null;
27
29
  active?: boolean | null;
30
+ disabled_at?: string | null;
28
31
  market?: Market | null;
29
32
  promotion_rules?: PromotionRule[] | null;
30
33
  order_amount_promotion_rule?: OrderAmountPromotionRule | null;
@@ -1,10 +1,11 @@
1
1
  import { ApiResource } from '../resource';
2
- import type { Resource, ResourceUpdate, ResourceId, ResourcesConfig, ResourceRel, ListResponse } from '../resource';
2
+ import type { Resource, ResourceCreate, ResourceUpdate, ResourceId, ResourcesConfig, ResourceRel, ListResponse } from '../resource';
3
3
  import type { QueryParamsRetrieve, QueryParamsList } from '../query';
4
- import type { Order } from './orders';
5
- import type { ShippingCategory } from './shipping_categories';
4
+ import type { Order, OrderType } from './orders';
5
+ import type { ShippingCategory, ShippingCategoryType } from './shipping_categories';
6
+ import type { InventoryStockLocation, InventoryStockLocationType } from './inventory_stock_locations';
6
7
  import type { StockLocation } from './stock_locations';
7
- import type { Address } from './addresses';
8
+ import type { Address, AddressType } from './addresses';
8
9
  import type { ShippingMethod, ShippingMethodType } from './shipping_methods';
9
10
  import type { DeliveryLeadTime } from './delivery_lead_times';
10
11
  import type { StockLineItem } from './stock_line_items';
@@ -18,6 +19,18 @@ type ShipmentType = 'shipments';
18
19
  type ShipmentRel = ResourceRel & {
19
20
  type: ShipmentType;
20
21
  };
22
+ type OrderRel = ResourceRel & {
23
+ type: OrderType;
24
+ };
25
+ type ShippingCategoryRel = ResourceRel & {
26
+ type: ShippingCategoryType;
27
+ };
28
+ type InventoryStockLocationRel = ResourceRel & {
29
+ type: InventoryStockLocationType;
30
+ };
31
+ type AddressRel = ResourceRel & {
32
+ type: AddressType;
33
+ };
21
34
  type ShippingMethodRel = ResourceRel & {
22
35
  type: ShippingMethodType;
23
36
  };
@@ -47,6 +60,7 @@ interface Shipment extends Resource {
47
60
  shipped_at?: string | null;
48
61
  order?: Order | null;
49
62
  shipping_category?: ShippingCategory | null;
63
+ inventory_stock_location?: InventoryStockLocation | null;
50
64
  stock_location?: StockLocation | null;
51
65
  origin_address?: Address | null;
52
66
  shipping_address?: Address | null;
@@ -65,22 +79,38 @@ interface Shipment extends Resource {
65
79
  events?: Event[] | null;
66
80
  versions?: Version[] | null;
67
81
  }
82
+ interface ShipmentCreate extends ResourceCreate {
83
+ order: OrderRel;
84
+ shipping_category?: ShippingCategoryRel | null;
85
+ inventory_stock_location?: InventoryStockLocationRel | null;
86
+ shipping_address?: AddressRel | null;
87
+ shipping_method?: ShippingMethodRel | null;
88
+ }
68
89
  interface ShipmentUpdate extends ResourceUpdate {
69
90
  _on_hold?: boolean | null;
70
91
  _picking?: boolean | null;
71
92
  _packing?: boolean | null;
72
93
  _ready_to_ship?: boolean | null;
73
94
  _ship?: boolean | null;
95
+ _reserve_stock?: boolean | null;
96
+ _release_stock?: boolean | null;
97
+ _decrement_stock?: boolean | null;
74
98
  _get_rates?: boolean | null;
75
99
  selected_rate_id?: string | null;
76
100
  _purchase?: boolean | null;
101
+ shipping_category?: ShippingCategoryRel | null;
102
+ inventory_stock_location?: InventoryStockLocationRel | null;
103
+ shipping_address?: AddressRel | null;
77
104
  shipping_method?: ShippingMethodRel | null;
78
105
  }
79
106
  declare class Shipments extends ApiResource<Shipment> {
80
107
  static readonly TYPE: ShipmentType;
108
+ create(resource: ShipmentCreate, params?: QueryParamsRetrieve, options?: ResourcesConfig): Promise<Shipment>;
81
109
  update(resource: ShipmentUpdate, params?: QueryParamsRetrieve, options?: ResourcesConfig): Promise<Shipment>;
110
+ delete(id: string | ResourceId, options?: ResourcesConfig): Promise<void>;
82
111
  order(shipmentId: string | Shipment, params?: QueryParamsRetrieve, options?: ResourcesConfig): Promise<Order>;
83
112
  shipping_category(shipmentId: string | Shipment, params?: QueryParamsRetrieve, options?: ResourcesConfig): Promise<ShippingCategory>;
113
+ inventory_stock_location(shipmentId: string | Shipment, params?: QueryParamsRetrieve, options?: ResourcesConfig): Promise<InventoryStockLocation>;
84
114
  stock_location(shipmentId: string | Shipment, params?: QueryParamsRetrieve, options?: ResourcesConfig): Promise<StockLocation>;
85
115
  origin_address(shipmentId: string | Shipment, params?: QueryParamsRetrieve, options?: ResourcesConfig): Promise<Address>;
86
116
  shipping_address(shipmentId: string | Shipment, params?: QueryParamsRetrieve, options?: ResourcesConfig): Promise<Address>;
@@ -99,6 +129,9 @@ declare class Shipments extends ApiResource<Shipment> {
99
129
  _packing(id: string | Shipment, params?: QueryParamsRetrieve, options?: ResourcesConfig): Promise<Shipment>;
100
130
  _ready_to_ship(id: string | Shipment, params?: QueryParamsRetrieve, options?: ResourcesConfig): Promise<Shipment>;
101
131
  _ship(id: string | Shipment, params?: QueryParamsRetrieve, options?: ResourcesConfig): Promise<Shipment>;
132
+ _reserve_stock(id: string | Shipment, params?: QueryParamsRetrieve, options?: ResourcesConfig): Promise<Shipment>;
133
+ _release_stock(id: string | Shipment, params?: QueryParamsRetrieve, options?: ResourcesConfig): Promise<Shipment>;
134
+ _decrement_stock(id: string | Shipment, params?: QueryParamsRetrieve, options?: ResourcesConfig): Promise<Shipment>;
102
135
  _get_rates(id: string | Shipment, params?: QueryParamsRetrieve, options?: ResourcesConfig): Promise<Shipment>;
103
136
  _purchase(id: string | Shipment, params?: QueryParamsRetrieve, options?: ResourcesConfig): Promise<Shipment>;
104
137
  isShipment(resource: any): resource is Shipment;
@@ -106,4 +139,4 @@ declare class Shipments extends ApiResource<Shipment> {
106
139
  type(): ShipmentType;
107
140
  }
108
141
  export default Shipments;
109
- export type { Shipment, ShipmentUpdate, ShipmentType };
142
+ export type { Shipment, ShipmentCreate, ShipmentUpdate, ShipmentType };
@@ -2,9 +2,15 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  const resource_1 = require("../resource");
4
4
  class Shipments extends resource_1.ApiResource {
5
+ async create(resource, params, options) {
6
+ return this.resources.create({ ...resource, type: Shipments.TYPE }, params, options);
7
+ }
5
8
  async update(resource, params, options) {
6
9
  return this.resources.update({ ...resource, type: Shipments.TYPE }, params, options);
7
10
  }
11
+ async delete(id, options) {
12
+ await this.resources.delete((typeof id === 'string') ? { id, type: Shipments.TYPE } : id, options);
13
+ }
8
14
  async order(shipmentId, params, options) {
9
15
  const _shipmentId = shipmentId.id || shipmentId;
10
16
  return this.resources.fetch({ type: 'orders' }, `shipments/${_shipmentId}/order`, params, options);
@@ -13,6 +19,10 @@ class Shipments extends resource_1.ApiResource {
13
19
  const _shipmentId = shipmentId.id || shipmentId;
14
20
  return this.resources.fetch({ type: 'shipping_categories' }, `shipments/${_shipmentId}/shipping_category`, params, options);
15
21
  }
22
+ async inventory_stock_location(shipmentId, params, options) {
23
+ const _shipmentId = shipmentId.id || shipmentId;
24
+ return this.resources.fetch({ type: 'inventory_stock_locations' }, `shipments/${_shipmentId}/inventory_stock_location`, params, options);
25
+ }
16
26
  async stock_location(shipmentId, params, options) {
17
27
  const _shipmentId = shipmentId.id || shipmentId;
18
28
  return this.resources.fetch({ type: 'stock_locations' }, `shipments/${_shipmentId}/stock_location`, params, options);
@@ -80,6 +90,15 @@ class Shipments extends resource_1.ApiResource {
80
90
  async _ship(id, params, options) {
81
91
  return this.resources.update({ id: (typeof id === 'string') ? id : id.id, type: Shipments.TYPE, _ship: true }, params, options);
82
92
  }
93
+ async _reserve_stock(id, params, options) {
94
+ return this.resources.update({ id: (typeof id === 'string') ? id : id.id, type: Shipments.TYPE, _reserve_stock: true }, params, options);
95
+ }
96
+ async _release_stock(id, params, options) {
97
+ return this.resources.update({ id: (typeof id === 'string') ? id : id.id, type: Shipments.TYPE, _release_stock: true }, params, options);
98
+ }
99
+ async _decrement_stock(id, params, options) {
100
+ return this.resources.update({ id: (typeof id === 'string') ? id : id.id, type: Shipments.TYPE, _decrement_stock: true }, params, options);
101
+ }
83
102
  async _get_rates(id, params, options) {
84
103
  return this.resources.update({ id: (typeof id === 'string') ? id : id.id, type: Shipments.TYPE, _get_rates: true }, params, options);
85
104
  }
@@ -3,6 +3,7 @@ import type { Resource, ResourceCreate, ResourceUpdate, ResourceId, ResourcesCon
3
3
  import type { QueryParamsRetrieve, QueryParamsList } from '../query';
4
4
  import type { PercentageDiscountPromotion, PercentageDiscountPromotionType } from './percentage_discount_promotions';
5
5
  import type { FreeShippingPromotion, FreeShippingPromotionType } from './free_shipping_promotions';
6
+ import type { BuyXPayYPromotion, BuyXPayYPromotionType } from './buy_x_pay_y_promotions';
6
7
  import type { FreeGiftPromotion, FreeGiftPromotionType } from './free_gift_promotions';
7
8
  import type { FixedPricePromotion, FixedPricePromotionType } from './fixed_price_promotions';
8
9
  import type { ExternalPromotion, ExternalPromotionType } from './external_promotions';
@@ -20,6 +21,9 @@ type PercentageDiscountPromotionRel = ResourceRel & {
20
21
  type FreeShippingPromotionRel = ResourceRel & {
21
22
  type: FreeShippingPromotionType;
22
23
  };
24
+ type BuyXPayYPromotionRel = ResourceRel & {
25
+ type: BuyXPayYPromotionType;
26
+ };
23
27
  type FreeGiftPromotionRel = ResourceRel & {
24
28
  type: FreeGiftPromotionType;
25
29
  };
@@ -39,7 +43,7 @@ interface SkuListPromotionRule extends Resource {
39
43
  readonly type: SkuListPromotionRuleType;
40
44
  all_skus?: boolean | null;
41
45
  min_quantity?: number | null;
42
- promotion?: PercentageDiscountPromotion | FreeShippingPromotion | FreeGiftPromotion | FixedPricePromotion | ExternalPromotion | FixedAmountPromotion | null;
46
+ promotion?: PercentageDiscountPromotion | FreeShippingPromotion | BuyXPayYPromotion | FreeGiftPromotion | FixedPricePromotion | ExternalPromotion | FixedAmountPromotion | null;
43
47
  versions?: Version[] | null;
44
48
  sku_list?: SkuList | null;
45
49
  skus?: Sku[] | null;
@@ -47,13 +51,13 @@ interface SkuListPromotionRule extends Resource {
47
51
  interface SkuListPromotionRuleCreate extends ResourceCreate {
48
52
  all_skus?: boolean | null;
49
53
  min_quantity?: number | null;
50
- promotion: PercentageDiscountPromotionRel | FreeShippingPromotionRel | FreeGiftPromotionRel | FixedPricePromotionRel | ExternalPromotionRel | FixedAmountPromotionRel;
54
+ promotion: PercentageDiscountPromotionRel | FreeShippingPromotionRel | BuyXPayYPromotionRel | FreeGiftPromotionRel | FixedPricePromotionRel | ExternalPromotionRel | FixedAmountPromotionRel;
51
55
  sku_list?: SkuListRel | null;
52
56
  }
53
57
  interface SkuListPromotionRuleUpdate extends ResourceUpdate {
54
58
  all_skus?: boolean | null;
55
59
  min_quantity?: number | null;
56
- promotion?: PercentageDiscountPromotionRel | FreeShippingPromotionRel | FreeGiftPromotionRel | FixedPricePromotionRel | ExternalPromotionRel | FixedAmountPromotionRel | null;
60
+ promotion?: PercentageDiscountPromotionRel | FreeShippingPromotionRel | BuyXPayYPromotionRel | FreeGiftPromotionRel | FixedPricePromotionRel | ExternalPromotionRel | FixedAmountPromotionRel | null;
57
61
  sku_list?: SkuListRel | null;
58
62
  }
59
63
  declare class SkuListPromotionRules extends ApiResource<SkuListPromotionRule> {
@@ -1,19 +1,30 @@
1
1
  import { ApiResource } from '../resource';
2
- import type { Resource, ResourceId, ResourcesConfig, ResourceRel, ListResponse } from '../resource';
2
+ import type { Resource, ResourceCreate, ResourceUpdate, ResourceId, ResourcesConfig, ResourceRel, ListResponse } from '../resource';
3
3
  import type { QueryParamsRetrieve, QueryParamsList } from '../query';
4
- import type { Shipment } from './shipments';
5
- import type { LineItem } from './line_items';
6
- import type { StockItem } from './stock_items';
7
- import type { Sku } from './skus';
4
+ import type { Shipment, ShipmentType } from './shipments';
5
+ import type { LineItem, LineItemType } from './line_items';
6
+ import type { StockItem, StockItemType } from './stock_items';
7
+ import type { Sku, SkuType } from './skus';
8
8
  import type { Version } from './versions';
9
9
  type StockLineItemType = 'stock_line_items';
10
10
  type StockLineItemRel = ResourceRel & {
11
11
  type: StockLineItemType;
12
12
  };
13
+ type ShipmentRel = ResourceRel & {
14
+ type: ShipmentType;
15
+ };
16
+ type LineItemRel = ResourceRel & {
17
+ type: LineItemType;
18
+ };
19
+ type StockItemRel = ResourceRel & {
20
+ type: StockItemType;
21
+ };
22
+ type SkuRel = ResourceRel & {
23
+ type: SkuType;
24
+ };
13
25
  interface StockLineItem extends Resource {
14
26
  readonly type: StockLineItemType;
15
27
  sku_code?: string | null;
16
- bundle_code?: string | null;
17
28
  quantity: number;
18
29
  shipment?: Shipment | null;
19
30
  line_item?: LineItem | null;
@@ -21,8 +32,27 @@ interface StockLineItem extends Resource {
21
32
  sku?: Sku | null;
22
33
  versions?: Version[] | null;
23
34
  }
35
+ interface StockLineItemCreate extends ResourceCreate {
36
+ sku_code?: string | null;
37
+ quantity: number;
38
+ shipment?: ShipmentRel | null;
39
+ line_item?: LineItemRel | null;
40
+ stock_item?: StockItemRel | null;
41
+ sku?: SkuRel | null;
42
+ }
43
+ interface StockLineItemUpdate extends ResourceUpdate {
44
+ sku_code?: string | null;
45
+ quantity?: number | null;
46
+ shipment?: ShipmentRel | null;
47
+ line_item?: LineItemRel | null;
48
+ stock_item?: StockItemRel | null;
49
+ sku?: SkuRel | null;
50
+ }
24
51
  declare class StockLineItems extends ApiResource<StockLineItem> {
25
52
  static readonly TYPE: StockLineItemType;
53
+ create(resource: StockLineItemCreate, params?: QueryParamsRetrieve, options?: ResourcesConfig): Promise<StockLineItem>;
54
+ update(resource: StockLineItemUpdate, params?: QueryParamsRetrieve, options?: ResourcesConfig): Promise<StockLineItem>;
55
+ delete(id: string | ResourceId, options?: ResourcesConfig): Promise<void>;
26
56
  shipment(stockLineItemId: string | StockLineItem, params?: QueryParamsRetrieve, options?: ResourcesConfig): Promise<Shipment>;
27
57
  line_item(stockLineItemId: string | StockLineItem, params?: QueryParamsRetrieve, options?: ResourcesConfig): Promise<LineItem>;
28
58
  stock_item(stockLineItemId: string | StockLineItem, params?: QueryParamsRetrieve, options?: ResourcesConfig): Promise<StockItem>;
@@ -33,4 +63,4 @@ declare class StockLineItems extends ApiResource<StockLineItem> {
33
63
  type(): StockLineItemType;
34
64
  }
35
65
  export default StockLineItems;
36
- export type { StockLineItem, StockLineItemType };
66
+ export type { StockLineItem, StockLineItemCreate, StockLineItemUpdate, StockLineItemType };
@@ -2,6 +2,15 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  const resource_1 = require("../resource");
4
4
  class StockLineItems extends resource_1.ApiResource {
5
+ async create(resource, params, options) {
6
+ return this.resources.create({ ...resource, type: StockLineItems.TYPE }, params, options);
7
+ }
8
+ async update(resource, params, options) {
9
+ return this.resources.update({ ...resource, type: StockLineItems.TYPE }, params, options);
10
+ }
11
+ async delete(id, options) {
12
+ await this.resources.delete((typeof id === 'string') ? { id, type: StockLineItems.TYPE } : id, options);
13
+ }
5
14
  async shipment(stockLineItemId, params, options) {
6
15
  const _stockLineItemId = stockLineItemId.id || stockLineItemId;
7
16
  return this.resources.fetch({ type: 'shipments' }, `stock_line_items/${_stockLineItemId}/shipment`, params, options);