@commercelayer/sdk 4.29.0 → 4.31.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 (92) hide show
  1. package/lib/cjs/api.d.ts +3 -2
  2. package/lib/cjs/api.js +4 -1
  3. package/lib/cjs/client.d.ts +5 -1
  4. package/lib/cjs/client.js +22 -3
  5. package/lib/cjs/commercelayer.d.ts +3 -2
  6. package/lib/cjs/commercelayer.js +2 -1
  7. package/lib/cjs/error.d.ts +1 -0
  8. package/lib/cjs/error.js +1 -2
  9. package/lib/cjs/interceptor.d.ts +1 -1
  10. package/lib/cjs/jsonapi.js +4 -1
  11. package/lib/cjs/model.d.ts +1 -0
  12. package/lib/cjs/resources/coupons.d.ts +8 -0
  13. package/lib/cjs/resources/coupons.js +4 -0
  14. package/lib/cjs/resources/customers.d.ts +1 -0
  15. package/lib/cjs/resources/external_promotions.d.ts +3 -0
  16. package/lib/cjs/resources/external_promotions.js +4 -0
  17. package/lib/cjs/resources/fixed_amount_promotions.d.ts +3 -0
  18. package/lib/cjs/resources/fixed_amount_promotions.js +4 -0
  19. package/lib/cjs/resources/fixed_price_promotions.d.ts +8 -8
  20. package/lib/cjs/resources/fixed_price_promotions.js +4 -4
  21. package/lib/cjs/resources/free_gift_promotions.d.ts +8 -8
  22. package/lib/cjs/resources/free_gift_promotions.js +4 -4
  23. package/lib/cjs/resources/free_shipping_promotions.d.ts +3 -0
  24. package/lib/cjs/resources/free_shipping_promotions.js +4 -0
  25. package/lib/cjs/resources/imports.d.ts +0 -3
  26. package/lib/cjs/resources/inventory_models.d.ts +3 -0
  27. package/lib/cjs/resources/line_items.d.ts +5 -0
  28. package/lib/cjs/resources/line_items.js +4 -0
  29. package/lib/cjs/resources/order_amount_promotion_rules.d.ts +3 -0
  30. package/lib/cjs/resources/orders.d.ts +1 -0
  31. package/lib/cjs/resources/parcels.d.ts +3 -3
  32. package/lib/cjs/resources/percentage_discount_promotions.d.ts +8 -8
  33. package/lib/cjs/resources/percentage_discount_promotions.js +4 -4
  34. package/lib/cjs/resources/promotions.d.ts +3 -0
  35. package/lib/cjs/resources/promotions.js +4 -0
  36. package/lib/cjs/resources/satispay_payments.d.ts +4 -0
  37. package/lib/cjs/resources/shipping_methods.d.ts +6 -0
  38. package/lib/cjs/resources/skus.d.ts +3 -0
  39. package/lib/cjs/resources/skus.js +4 -0
  40. package/lib/cjs/resources/stock_items.d.ts +3 -0
  41. package/lib/cjs/resources/stock_items.js +4 -0
  42. package/lib/cjs/resources/stock_reservations.d.ts +33 -0
  43. package/lib/cjs/resources/stock_reservations.js +32 -0
  44. package/lib/cjs/resources/stripe_payments.d.ts +1 -0
  45. package/lib/cjs/util.d.ts +1 -0
  46. package/lib/esm/api.d.ts +3 -2
  47. package/lib/esm/api.js +2 -0
  48. package/lib/esm/client.d.ts +5 -1
  49. package/lib/esm/client.js +22 -3
  50. package/lib/esm/commercelayer.d.ts +3 -2
  51. package/lib/esm/commercelayer.js +2 -1
  52. package/lib/esm/error.d.ts +1 -0
  53. package/lib/esm/interceptor.d.ts +1 -1
  54. package/lib/esm/jsonapi.js +4 -1
  55. package/lib/esm/model.d.ts +1 -0
  56. package/lib/esm/resources/coupons.d.ts +8 -0
  57. package/lib/esm/resources/coupons.js +4 -0
  58. package/lib/esm/resources/customers.d.ts +1 -0
  59. package/lib/esm/resources/external_promotions.d.ts +3 -0
  60. package/lib/esm/resources/external_promotions.js +4 -0
  61. package/lib/esm/resources/fixed_amount_promotions.d.ts +3 -0
  62. package/lib/esm/resources/fixed_amount_promotions.js +4 -0
  63. package/lib/esm/resources/fixed_price_promotions.d.ts +8 -8
  64. package/lib/esm/resources/fixed_price_promotions.js +4 -4
  65. package/lib/esm/resources/free_gift_promotions.d.ts +8 -8
  66. package/lib/esm/resources/free_gift_promotions.js +4 -4
  67. package/lib/esm/resources/free_shipping_promotions.d.ts +3 -0
  68. package/lib/esm/resources/free_shipping_promotions.js +4 -0
  69. package/lib/esm/resources/imports.d.ts +0 -3
  70. package/lib/esm/resources/inventory_models.d.ts +3 -0
  71. package/lib/esm/resources/line_items.d.ts +5 -0
  72. package/lib/esm/resources/line_items.js +4 -0
  73. package/lib/esm/resources/order_amount_promotion_rules.d.ts +3 -0
  74. package/lib/esm/resources/orders.d.ts +1 -0
  75. package/lib/esm/resources/parcels.d.ts +3 -3
  76. package/lib/esm/resources/percentage_discount_promotions.d.ts +8 -8
  77. package/lib/esm/resources/percentage_discount_promotions.js +4 -4
  78. package/lib/esm/resources/promotions.d.ts +3 -0
  79. package/lib/esm/resources/promotions.js +4 -0
  80. package/lib/esm/resources/satispay_payments.d.ts +4 -0
  81. package/lib/esm/resources/shipping_methods.d.ts +6 -0
  82. package/lib/esm/resources/skus.d.ts +3 -0
  83. package/lib/esm/resources/skus.js +4 -0
  84. package/lib/esm/resources/stock_items.d.ts +3 -0
  85. package/lib/esm/resources/stock_items.js +4 -0
  86. package/lib/esm/resources/stock_reservations.d.ts +33 -0
  87. package/lib/esm/resources/stock_reservations.js +30 -0
  88. package/lib/esm/resources/stripe_payments.d.ts +1 -0
  89. package/lib/esm/util.d.ts +1 -0
  90. package/lib/tsconfig.esm.tsbuildinfo +1 -1
  91. package/lib/tsconfig.tsbuildinfo +1 -1
  92. package/package.json +7 -7
@@ -34,14 +34,17 @@ interface OrderAmountPromotionRule extends Resource {
34
34
  order_amount_cents?: number | null;
35
35
  order_amount_float?: number | null;
36
36
  formatted_order_amount?: string | null;
37
+ use_subtotal?: boolean | null;
37
38
  promotion?: PercentageDiscountPromotion | FreeShippingPromotion | FreeGiftPromotion | FixedPricePromotion | ExternalPromotion | FixedAmountPromotion | null;
38
39
  }
39
40
  interface OrderAmountPromotionRuleCreate extends ResourceCreate {
40
41
  order_amount_cents?: number | null;
42
+ use_subtotal?: boolean | null;
41
43
  promotion: PercentageDiscountPromotionRel | FreeShippingPromotionRel | FreeGiftPromotionRel | FixedPricePromotionRel | ExternalPromotionRel | FixedAmountPromotionRel;
42
44
  }
43
45
  interface OrderAmountPromotionRuleUpdate extends ResourceUpdate {
44
46
  order_amount_cents?: number | null;
47
+ use_subtotal?: boolean | null;
45
48
  promotion?: PercentageDiscountPromotionRel | FreeShippingPromotionRel | FreeGiftPromotionRel | FixedPricePromotionRel | ExternalPromotionRel | FixedAmountPromotionRel | null;
46
49
  }
47
50
  declare class OrderAmountPromotionRules extends ApiResource<OrderAmountPromotionRule> {
@@ -166,6 +166,7 @@ interface Order extends Resource {
166
166
  line_item_options_count?: number | null;
167
167
  shipments_count?: number | null;
168
168
  tax_calculations_count?: number | null;
169
+ validations_count?: number | null;
169
170
  payment_source_details?: Record<string, any> | null;
170
171
  token?: string | null;
171
172
  cart_url?: string | null;
@@ -38,7 +38,7 @@ interface Parcel extends Resource {
38
38
  tracking_status?: string | null;
39
39
  tracking_status_detail?: string | null;
40
40
  tracking_status_updated_at?: string | null;
41
- tracking_details?: string | null;
41
+ tracking_details?: Record<string, any> | null;
42
42
  carrier_weight_oz?: string | null;
43
43
  signed_by?: string | null;
44
44
  incoterm?: string | null;
@@ -69,7 +69,7 @@ interface ParcelCreate extends ResourceCreate {
69
69
  tracking_status?: string | null;
70
70
  tracking_status_detail?: string | null;
71
71
  tracking_status_updated_at?: string | null;
72
- tracking_details?: string | null;
72
+ tracking_details?: Record<string, any> | null;
73
73
  carrier_weight_oz?: string | null;
74
74
  signed_by?: string | null;
75
75
  incoterm?: string | null;
@@ -97,7 +97,7 @@ interface ParcelUpdate extends ResourceUpdate {
97
97
  tracking_status?: string | null;
98
98
  tracking_status_detail?: string | null;
99
99
  tracking_status_updated_at?: string | null;
100
- tracking_details?: string | null;
100
+ tracking_details?: Record<string, any> | null;
101
101
  carrier_weight_oz?: string | null;
102
102
  signed_by?: string | null;
103
103
  incoterm?: string | null;
@@ -6,10 +6,10 @@ import type { PromotionRule, PromotionRuleType } from './promotion_rules';
6
6
  import type { OrderAmountPromotionRule, OrderAmountPromotionRuleType } from './order_amount_promotion_rules';
7
7
  import type { SkuListPromotionRule, SkuListPromotionRuleType } from './sku_list_promotion_rules';
8
8
  import type { CouponCodesPromotionRule, CouponCodesPromotionRuleType } from './coupon_codes_promotion_rules';
9
+ import type { SkuList, SkuListType } from './sku_lists';
9
10
  import type { Attachment } from './attachments';
10
11
  import type { Event } from './events';
11
12
  import type { Tag, TagType } from './tags';
12
- import type { SkuList, SkuListType } from './sku_lists';
13
13
  import type { Sku } from './skus';
14
14
  type PercentageDiscountPromotionType = 'percentage_discount_promotions';
15
15
  type PercentageDiscountPromotionRel = ResourceRel & {
@@ -30,12 +30,12 @@ type SkuListPromotionRuleRel = ResourceRel & {
30
30
  type CouponCodesPromotionRuleRel = ResourceRel & {
31
31
  type: CouponCodesPromotionRuleType;
32
32
  };
33
- type TagRel = ResourceRel & {
34
- type: TagType;
35
- };
36
33
  type SkuListRel = ResourceRel & {
37
34
  type: SkuListType;
38
35
  };
36
+ type TagRel = ResourceRel & {
37
+ type: TagType;
38
+ };
39
39
  interface PercentageDiscountPromotion extends Resource {
40
40
  readonly type: PercentageDiscountPromotionType;
41
41
  name: string;
@@ -51,10 +51,10 @@ interface PercentageDiscountPromotion extends Resource {
51
51
  order_amount_promotion_rule?: OrderAmountPromotionRule | null;
52
52
  sku_list_promotion_rule?: SkuListPromotionRule | null;
53
53
  coupon_codes_promotion_rule?: CouponCodesPromotionRule | null;
54
+ sku_list?: SkuList | null;
54
55
  attachments?: Attachment[] | null;
55
56
  events?: Event[] | null;
56
57
  tags?: Tag[] | null;
57
- sku_list?: SkuList | null;
58
58
  skus?: Sku[] | null;
59
59
  }
60
60
  interface PercentageDiscountPromotionCreate extends ResourceCreate {
@@ -69,8 +69,8 @@ interface PercentageDiscountPromotionCreate extends ResourceCreate {
69
69
  order_amount_promotion_rule?: OrderAmountPromotionRuleRel | null;
70
70
  sku_list_promotion_rule?: SkuListPromotionRuleRel | null;
71
71
  coupon_codes_promotion_rule?: CouponCodesPromotionRuleRel | null;
72
- tags?: TagRel[] | null;
73
72
  sku_list?: SkuListRel | null;
73
+ tags?: TagRel[] | null;
74
74
  }
75
75
  interface PercentageDiscountPromotionUpdate extends ResourceUpdate {
76
76
  name?: string | null;
@@ -84,8 +84,8 @@ interface PercentageDiscountPromotionUpdate extends ResourceUpdate {
84
84
  order_amount_promotion_rule?: OrderAmountPromotionRuleRel | null;
85
85
  sku_list_promotion_rule?: SkuListPromotionRuleRel | null;
86
86
  coupon_codes_promotion_rule?: CouponCodesPromotionRuleRel | null;
87
- tags?: TagRel[] | null;
88
87
  sku_list?: SkuListRel | null;
88
+ tags?: TagRel[] | null;
89
89
  }
90
90
  declare class PercentageDiscountPromotions extends ApiResource<PercentageDiscountPromotion> {
91
91
  static readonly TYPE: PercentageDiscountPromotionType;
@@ -96,10 +96,10 @@ declare class PercentageDiscountPromotions extends ApiResource<PercentageDiscoun
96
96
  order_amount_promotion_rule(percentageDiscountPromotionId: string | PercentageDiscountPromotion, params?: QueryParamsRetrieve, options?: ResourcesConfig): Promise<OrderAmountPromotionRule>;
97
97
  sku_list_promotion_rule(percentageDiscountPromotionId: string | PercentageDiscountPromotion, params?: QueryParamsRetrieve, options?: ResourcesConfig): Promise<SkuListPromotionRule>;
98
98
  coupon_codes_promotion_rule(percentageDiscountPromotionId: string | PercentageDiscountPromotion, params?: QueryParamsRetrieve, options?: ResourcesConfig): Promise<CouponCodesPromotionRule>;
99
+ sku_list(percentageDiscountPromotionId: string | PercentageDiscountPromotion, params?: QueryParamsRetrieve, options?: ResourcesConfig): Promise<SkuList>;
99
100
  attachments(percentageDiscountPromotionId: string | PercentageDiscountPromotion, params?: QueryParamsList, options?: ResourcesConfig): Promise<ListResponse<Attachment>>;
100
101
  events(percentageDiscountPromotionId: string | PercentageDiscountPromotion, params?: QueryParamsList, options?: ResourcesConfig): Promise<ListResponse<Event>>;
101
102
  tags(percentageDiscountPromotionId: string | PercentageDiscountPromotion, params?: QueryParamsList, options?: ResourcesConfig): Promise<ListResponse<Tag>>;
102
- sku_list(percentageDiscountPromotionId: string | PercentageDiscountPromotion, params?: QueryParamsRetrieve, options?: ResourcesConfig): Promise<SkuList>;
103
103
  skus(percentageDiscountPromotionId: string | PercentageDiscountPromotion, params?: QueryParamsList, options?: ResourcesConfig): Promise<ListResponse<Sku>>;
104
104
  isPercentageDiscountPromotion(resource: any): resource is PercentageDiscountPromotion;
105
105
  relationship(id: string | ResourceId | null): PercentageDiscountPromotionRel;
@@ -25,6 +25,10 @@ class PercentageDiscountPromotions extends ApiResource {
25
25
  const _percentageDiscountPromotionId = percentageDiscountPromotionId.id || percentageDiscountPromotionId;
26
26
  return this.resources.fetch({ type: 'coupon_codes_promotion_rules' }, `percentage_discount_promotions/${_percentageDiscountPromotionId}/coupon_codes_promotion_rule`, params, options);
27
27
  }
28
+ async sku_list(percentageDiscountPromotionId, params, options) {
29
+ const _percentageDiscountPromotionId = percentageDiscountPromotionId.id || percentageDiscountPromotionId;
30
+ return this.resources.fetch({ type: 'sku_lists' }, `percentage_discount_promotions/${_percentageDiscountPromotionId}/sku_list`, params, options);
31
+ }
28
32
  async attachments(percentageDiscountPromotionId, params, options) {
29
33
  const _percentageDiscountPromotionId = percentageDiscountPromotionId.id || percentageDiscountPromotionId;
30
34
  return this.resources.fetch({ type: 'attachments' }, `percentage_discount_promotions/${_percentageDiscountPromotionId}/attachments`, params, options);
@@ -37,10 +41,6 @@ class PercentageDiscountPromotions extends ApiResource {
37
41
  const _percentageDiscountPromotionId = percentageDiscountPromotionId.id || percentageDiscountPromotionId;
38
42
  return this.resources.fetch({ type: 'tags' }, `percentage_discount_promotions/${_percentageDiscountPromotionId}/tags`, params, options);
39
43
  }
40
- async sku_list(percentageDiscountPromotionId, params, options) {
41
- const _percentageDiscountPromotionId = percentageDiscountPromotionId.id || percentageDiscountPromotionId;
42
- return this.resources.fetch({ type: 'sku_lists' }, `percentage_discount_promotions/${_percentageDiscountPromotionId}/sku_list`, params, options);
43
- }
44
44
  async skus(percentageDiscountPromotionId, params, options) {
45
45
  const _percentageDiscountPromotionId = percentageDiscountPromotionId.id || percentageDiscountPromotionId;
46
46
  return this.resources.fetch({ type: 'skus' }, `percentage_discount_promotions/${_percentageDiscountPromotionId}/skus`, params, options);
@@ -6,6 +6,7 @@ import type { PromotionRule } from './promotion_rules';
6
6
  import type { OrderAmountPromotionRule } from './order_amount_promotion_rules';
7
7
  import type { SkuListPromotionRule } from './sku_list_promotion_rules';
8
8
  import type { CouponCodesPromotionRule } from './coupon_codes_promotion_rules';
9
+ import type { SkuList } from './sku_lists';
9
10
  import type { Attachment } from './attachments';
10
11
  import type { Event } from './events';
11
12
  import type { Tag } from './tags';
@@ -27,6 +28,7 @@ interface Promotion extends Resource {
27
28
  order_amount_promotion_rule?: OrderAmountPromotionRule | null;
28
29
  sku_list_promotion_rule?: SkuListPromotionRule | null;
29
30
  coupon_codes_promotion_rule?: CouponCodesPromotionRule | null;
31
+ sku_list?: SkuList | null;
30
32
  attachments?: Attachment[] | null;
31
33
  events?: Event[] | null;
32
34
  tags?: Tag[] | null;
@@ -37,6 +39,7 @@ declare class Promotions extends ApiResource<Promotion> {
37
39
  order_amount_promotion_rule(promotionId: string | Promotion, params?: QueryParamsRetrieve, options?: ResourcesConfig): Promise<OrderAmountPromotionRule>;
38
40
  sku_list_promotion_rule(promotionId: string | Promotion, params?: QueryParamsRetrieve, options?: ResourcesConfig): Promise<SkuListPromotionRule>;
39
41
  coupon_codes_promotion_rule(promotionId: string | Promotion, params?: QueryParamsRetrieve, options?: ResourcesConfig): Promise<CouponCodesPromotionRule>;
42
+ sku_list(promotionId: string | Promotion, params?: QueryParamsRetrieve, options?: ResourcesConfig): Promise<SkuList>;
40
43
  attachments(promotionId: string | Promotion, params?: QueryParamsList, options?: ResourcesConfig): Promise<ListResponse<Attachment>>;
41
44
  events(promotionId: string | Promotion, params?: QueryParamsList, options?: ResourcesConfig): Promise<ListResponse<Event>>;
42
45
  tags(promotionId: string | Promotion, params?: QueryParamsList, options?: ResourcesConfig): Promise<ListResponse<Tag>>;
@@ -16,6 +16,10 @@ class Promotions extends ApiResource {
16
16
  const _promotionId = promotionId.id || promotionId;
17
17
  return this.resources.fetch({ type: 'coupon_codes_promotion_rules' }, `promotions/${_promotionId}/coupon_codes_promotion_rule`, params, options);
18
18
  }
19
+ async sku_list(promotionId, params, options) {
20
+ const _promotionId = promotionId.id || promotionId;
21
+ return this.resources.fetch({ type: 'sku_lists' }, `promotions/${_promotionId}/sku_list`, params, options);
22
+ }
19
23
  async attachments(promotionId, params, options) {
20
24
  const _promotionId = promotionId.id || promotionId;
21
25
  return this.resources.fetch({ type: 'attachments' }, `promotions/${_promotionId}/attachments`, params, options);
@@ -13,11 +13,15 @@ type OrderRel = ResourceRel & {
13
13
  interface SatispayPayment extends Resource {
14
14
  readonly type: SatispayPaymentType;
15
15
  payment_id?: string | null;
16
+ flow?: string | null;
16
17
  redirect_url?: string | null;
18
+ payment_url?: string | null;
19
+ payment_response?: Record<string, any> | null;
17
20
  order?: Order | null;
18
21
  payment_gateway?: PaymentGateway | null;
19
22
  }
20
23
  interface SatispayPaymentCreate extends ResourceCreate {
24
+ flow?: string | null;
21
25
  redirect_url?: string | null;
22
26
  order: OrderRel;
23
27
  }
@@ -33,6 +33,7 @@ interface ShippingMethod extends Resource {
33
33
  name: string;
34
34
  scheme?: string | null;
35
35
  currency_code?: string | null;
36
+ external_prices_url?: string | null;
36
37
  disabled_at?: string | null;
37
38
  price_amount_cents: number;
38
39
  price_amount_float?: number | null;
@@ -40,6 +41,7 @@ interface ShippingMethod extends Resource {
40
41
  free_over_amount_cents?: number | null;
41
42
  free_over_amount_float?: number | null;
42
43
  formatted_free_over_amount?: string | null;
44
+ use_subtotal?: boolean | null;
43
45
  price_amount_for_shipment_cents?: number | null;
44
46
  price_amount_for_shipment_float?: number | null;
45
47
  formatted_price_amount_for_shipment?: string | null;
@@ -59,8 +61,10 @@ interface ShippingMethodCreate extends ResourceCreate {
59
61
  name: string;
60
62
  scheme?: string | null;
61
63
  currency_code?: string | null;
64
+ external_prices_url?: string | null;
62
65
  price_amount_cents: number;
63
66
  free_over_amount_cents?: number | null;
67
+ use_subtotal?: boolean | null;
64
68
  min_weight?: number | null;
65
69
  max_weight?: number | null;
66
70
  unit_of_weight?: string | null;
@@ -74,10 +78,12 @@ interface ShippingMethodUpdate extends ResourceUpdate {
74
78
  name?: string | null;
75
79
  scheme?: string | null;
76
80
  currency_code?: string | null;
81
+ external_prices_url?: string | null;
77
82
  _disable?: boolean | null;
78
83
  _enable?: boolean | null;
79
84
  price_amount_cents?: number | null;
80
85
  free_over_amount_cents?: number | null;
86
+ use_subtotal?: boolean | null;
81
87
  min_weight?: number | null;
82
88
  max_weight?: number | null;
83
89
  unit_of_weight?: string | null;
@@ -4,6 +4,7 @@ import type { QueryParamsRetrieve, QueryParamsList } from '../query';
4
4
  import type { ShippingCategory, ShippingCategoryType } from './shipping_categories';
5
5
  import type { Price } from './prices';
6
6
  import type { StockItem } from './stock_items';
7
+ import type { StockReservation } from './stock_reservations';
7
8
  import type { DeliveryLeadTime } from './delivery_lead_times';
8
9
  import type { SkuOption } from './sku_options';
9
10
  import type { Attachment } from './attachments';
@@ -35,6 +36,7 @@ interface Sku extends Resource {
35
36
  shipping_category?: ShippingCategory | null;
36
37
  prices?: Price[] | null;
37
38
  stock_items?: StockItem[] | null;
39
+ stock_reservations?: StockReservation[] | null;
38
40
  delivery_lead_times?: DeliveryLeadTime[] | null;
39
41
  sku_options?: SkuOption[] | null;
40
42
  attachments?: Attachment[] | null;
@@ -77,6 +79,7 @@ declare class Skus extends ApiResource<Sku> {
77
79
  shipping_category(skuId: string | Sku, params?: QueryParamsRetrieve, options?: ResourcesConfig): Promise<ShippingCategory>;
78
80
  prices(skuId: string | Sku, params?: QueryParamsList, options?: ResourcesConfig): Promise<ListResponse<Price>>;
79
81
  stock_items(skuId: string | Sku, params?: QueryParamsList, options?: ResourcesConfig): Promise<ListResponse<StockItem>>;
82
+ stock_reservations(skuId: string | Sku, params?: QueryParamsList, options?: ResourcesConfig): Promise<ListResponse<StockReservation>>;
80
83
  delivery_lead_times(skuId: string | Sku, params?: QueryParamsList, options?: ResourcesConfig): Promise<ListResponse<DeliveryLeadTime>>;
81
84
  sku_options(skuId: string | Sku, params?: QueryParamsList, options?: ResourcesConfig): Promise<ListResponse<SkuOption>>;
82
85
  attachments(skuId: string | Sku, params?: QueryParamsList, options?: ResourcesConfig): Promise<ListResponse<Attachment>>;
@@ -21,6 +21,10 @@ class Skus extends ApiResource {
21
21
  const _skuId = skuId.id || skuId;
22
22
  return this.resources.fetch({ type: 'stock_items' }, `skus/${_skuId}/stock_items`, params, options);
23
23
  }
24
+ async stock_reservations(skuId, params, options) {
25
+ const _skuId = skuId.id || skuId;
26
+ return this.resources.fetch({ type: 'stock_reservations' }, `skus/${_skuId}/stock_reservations`, params, options);
27
+ }
24
28
  async delivery_lead_times(skuId, params, options) {
25
29
  const _skuId = skuId.id || skuId;
26
30
  return this.resources.fetch({ type: 'delivery_lead_times' }, `skus/${_skuId}/delivery_lead_times`, params, options);
@@ -3,6 +3,7 @@ import type { Resource, ResourceCreate, ResourceUpdate, ResourceId, ResourcesCon
3
3
  import type { QueryParamsRetrieve, QueryParamsList } from '../query';
4
4
  import type { StockLocation, StockLocationType } from './stock_locations';
5
5
  import type { Sku, SkuType } from './skus';
6
+ import type { StockReservation } from './stock_reservations';
6
7
  import type { Attachment } from './attachments';
7
8
  type StockItemType = 'stock_items';
8
9
  type StockItemRel = ResourceRel & {
@@ -20,6 +21,7 @@ interface StockItem extends Resource {
20
21
  quantity: number;
21
22
  stock_location?: StockLocation | null;
22
23
  sku?: Sku | null;
24
+ stock_reservations?: StockReservation[] | null;
23
25
  attachments?: Attachment[] | null;
24
26
  }
25
27
  interface StockItemCreate extends ResourceCreate {
@@ -41,6 +43,7 @@ declare class StockItems extends ApiResource<StockItem> {
41
43
  delete(id: string | ResourceId, options?: ResourcesConfig): Promise<void>;
42
44
  stock_location(stockItemId: string | StockItem, params?: QueryParamsRetrieve, options?: ResourcesConfig): Promise<StockLocation>;
43
45
  sku(stockItemId: string | StockItem, params?: QueryParamsRetrieve, options?: ResourcesConfig): Promise<Sku>;
46
+ stock_reservations(stockItemId: string | StockItem, params?: QueryParamsList, options?: ResourcesConfig): Promise<ListResponse<StockReservation>>;
44
47
  attachments(stockItemId: string | StockItem, params?: QueryParamsList, options?: ResourcesConfig): Promise<ListResponse<Attachment>>;
45
48
  isStockItem(resource: any): resource is StockItem;
46
49
  relationship(id: string | ResourceId | null): StockItemRel;
@@ -17,6 +17,10 @@ class StockItems extends ApiResource {
17
17
  const _stockItemId = stockItemId.id || stockItemId;
18
18
  return this.resources.fetch({ type: 'skus' }, `stock_items/${_stockItemId}/sku`, params, options);
19
19
  }
20
+ async stock_reservations(stockItemId, params, options) {
21
+ const _stockItemId = stockItemId.id || stockItemId;
22
+ return this.resources.fetch({ type: 'stock_reservations' }, `stock_items/${_stockItemId}/stock_reservations`, params, options);
23
+ }
20
24
  async attachments(stockItemId, params, options) {
21
25
  const _stockItemId = stockItemId.id || stockItemId;
22
26
  return this.resources.fetch({ type: 'attachments' }, `stock_items/${_stockItemId}/attachments`, params, options);
@@ -0,0 +1,33 @@
1
+ import { ApiResource } from '../resource';
2
+ import type { Resource, ResourceId, ResourcesConfig, ResourceRel } from '../resource';
3
+ import type { QueryParamsRetrieve } from '../query';
4
+ import type { LineItem } from './line_items';
5
+ import type { Order } from './orders';
6
+ import type { StockItem } from './stock_items';
7
+ import type { Sku } from './skus';
8
+ type StockReservationType = 'stock_reservations';
9
+ type StockReservationRel = ResourceRel & {
10
+ type: StockReservationType;
11
+ };
12
+ interface StockReservation extends Resource {
13
+ readonly type: StockReservationType;
14
+ status: 'draft' | 'pending';
15
+ quantity: number;
16
+ expires_at: string;
17
+ line_item?: LineItem | null;
18
+ order?: Order | null;
19
+ stock_item?: StockItem | null;
20
+ sku?: Sku | null;
21
+ }
22
+ declare class StockReservations extends ApiResource<StockReservation> {
23
+ static readonly TYPE: StockReservationType;
24
+ line_item(stockReservationId: string | StockReservation, params?: QueryParamsRetrieve, options?: ResourcesConfig): Promise<LineItem>;
25
+ order(stockReservationId: string | StockReservation, params?: QueryParamsRetrieve, options?: ResourcesConfig): Promise<Order>;
26
+ stock_item(stockReservationId: string | StockReservation, params?: QueryParamsRetrieve, options?: ResourcesConfig): Promise<StockItem>;
27
+ sku(stockReservationId: string | StockReservation, params?: QueryParamsRetrieve, options?: ResourcesConfig): Promise<Sku>;
28
+ isStockReservation(resource: any): resource is StockReservation;
29
+ relationship(id: string | ResourceId | null): StockReservationRel;
30
+ type(): StockReservationType;
31
+ }
32
+ export default StockReservations;
33
+ export type { StockReservation, StockReservationType };
@@ -0,0 +1,30 @@
1
+ import { ApiResource } from '../resource';
2
+ class StockReservations extends ApiResource {
3
+ async line_item(stockReservationId, params, options) {
4
+ const _stockReservationId = stockReservationId.id || stockReservationId;
5
+ return this.resources.fetch({ type: 'line_items' }, `stock_reservations/${_stockReservationId}/line_item`, params, options);
6
+ }
7
+ async order(stockReservationId, params, options) {
8
+ const _stockReservationId = stockReservationId.id || stockReservationId;
9
+ return this.resources.fetch({ type: 'orders' }, `stock_reservations/${_stockReservationId}/order`, params, options);
10
+ }
11
+ async stock_item(stockReservationId, params, options) {
12
+ const _stockReservationId = stockReservationId.id || stockReservationId;
13
+ return this.resources.fetch({ type: 'stock_items' }, `stock_reservations/${_stockReservationId}/stock_item`, params, options);
14
+ }
15
+ async sku(stockReservationId, params, options) {
16
+ const _stockReservationId = stockReservationId.id || stockReservationId;
17
+ return this.resources.fetch({ type: 'skus' }, `stock_reservations/${_stockReservationId}/sku`, params, options);
18
+ }
19
+ isStockReservation(resource) {
20
+ return resource.type && (resource.type === StockReservations.TYPE);
21
+ }
22
+ relationship(id) {
23
+ return ((id === null) || (typeof id === 'string')) ? { id, type: StockReservations.TYPE } : { id: id.id, type: StockReservations.TYPE };
24
+ }
25
+ type() {
26
+ return StockReservations.TYPE;
27
+ }
28
+ }
29
+ StockReservations.TYPE = 'stock_reservations';
30
+ export default StockReservations;
@@ -30,6 +30,7 @@ interface StripePaymentCreate extends ResourceCreate {
30
30
  }
31
31
  interface StripePaymentUpdate extends ResourceUpdate {
32
32
  options?: Record<string, any> | null;
33
+ _update?: boolean | null;
33
34
  _refresh?: boolean | null;
34
35
  order?: OrderRel | null;
35
36
  }
package/lib/esm/util.d.ts CHANGED
@@ -2,6 +2,7 @@
2
2
  /// <reference types="node" />
3
3
  /// <reference types="node" />
4
4
  /// <reference types="node" />
5
+ /// <reference types="node" />
5
6
  import type { ObjectType } from "./common";
6
7
  declare const sleep: (ms: number) => Promise<NodeJS.Timeout>;
7
8
  declare const sortObjectFields: (obj: ObjectType) => ObjectType;