oneentry 1.0.151 → 1.0.153

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 (66) hide show
  1. package/changelog.md +20 -0
  2. package/dist/admins/adminsApi.d.ts +2 -1
  3. package/dist/admins/adminsApi.js +2 -1
  4. package/dist/admins/adminsInterfaces.d.ts +1 -1
  5. package/dist/attribute-sets/attributeSetsApi.d.ts +4 -0
  6. package/dist/attribute-sets/attributeSetsApi.js +4 -0
  7. package/dist/auth-provider/authProviderApi.d.ts +14 -1
  8. package/dist/auth-provider/authProviderApi.js +14 -1
  9. package/dist/base/asyncModules.d.ts +19 -2
  10. package/dist/base/asyncModules.js +74 -4
  11. package/dist/base/stateModule.d.ts +1 -0
  12. package/dist/base/stateModule.js +4 -0
  13. package/dist/blocks/blocksApi.d.ts +34 -1
  14. package/dist/blocks/blocksApi.js +69 -62
  15. package/dist/discounts/discountsApi.d.ts +5 -0
  16. package/dist/discounts/discountsApi.js +5 -0
  17. package/dist/events/eventsApi.d.ts +7 -0
  18. package/dist/events/eventsApi.js +11 -28
  19. package/dist/file-uploading/fileUploadingApi.d.ts +4 -1
  20. package/dist/file-uploading/fileUploadingApi.js +4 -1
  21. package/dist/file-uploading/fileUploadingInterfaces.d.ts +1 -1
  22. package/dist/filters/filtersApi.d.ts +1 -0
  23. package/dist/filters/filtersApi.js +1 -0
  24. package/dist/forms/formsApi.d.ts +2 -0
  25. package/dist/forms/formsApi.js +2 -0
  26. package/dist/forms-data/formsDataApi.d.ts +5 -0
  27. package/dist/forms-data/formsDataApi.js +5 -0
  28. package/dist/general-types/generalTypesApi.d.ts +1 -0
  29. package/dist/general-types/generalTypesApi.js +1 -0
  30. package/dist/integration-collections/integrationCollectionsApi.d.ts +10 -1
  31. package/dist/integration-collections/integrationCollectionsApi.js +10 -1
  32. package/dist/integration-collections/integrationCollectionsInterfaces.d.ts +1 -1
  33. package/dist/locales/localesApi.d.ts +1 -0
  34. package/dist/locales/localesApi.js +1 -0
  35. package/dist/menus/menusApi.d.ts +1 -0
  36. package/dist/menus/menusApi.js +1 -0
  37. package/dist/orders/ordersApi.d.ts +25 -1
  38. package/dist/orders/ordersApi.js +36 -12
  39. package/dist/orders/ordersInterfaces.d.ts +4 -2
  40. package/dist/pages/pagesApi.d.ts +9 -0
  41. package/dist/pages/pagesApi.js +33 -38
  42. package/dist/pages/pagesInterfaces.d.ts +5 -0
  43. package/dist/payments/paymentsApi.d.ts +6 -0
  44. package/dist/payments/paymentsApi.js +6 -0
  45. package/dist/product-statuses/productStatusesApi.d.ts +3 -0
  46. package/dist/product-statuses/productStatusesApi.js +3 -0
  47. package/dist/products/productsApi.d.ts +14 -0
  48. package/dist/products/productsApi.js +14 -0
  49. package/dist/products/productsInterfaces.d.ts +2 -2
  50. package/dist/sitemap/sitemapApi.d.ts +2 -0
  51. package/dist/sitemap/sitemapApi.js +2 -0
  52. package/dist/subscriptions/subscriptionsApi.d.ts +5 -0
  53. package/dist/subscriptions/subscriptionsApi.js +7 -14
  54. package/dist/system/systemApi.d.ts +3 -0
  55. package/dist/system/systemApi.js +3 -0
  56. package/dist/templates/templatesApi.d.ts +3 -0
  57. package/dist/templates/templatesApi.js +3 -0
  58. package/dist/templates-preview/templatesPreviewApi.d.ts +2 -0
  59. package/dist/templates-preview/templatesPreviewApi.js +2 -0
  60. package/dist/user-activity/userActivityApi.d.ts +1 -0
  61. package/dist/user-activity/userActivityApi.js +1 -0
  62. package/dist/users/usersApi.d.ts +14 -0
  63. package/dist/users/usersApi.js +14 -0
  64. package/dist/web-socket/wsApi.d.ts +1 -1
  65. package/dist/web-socket/wsApi.js +1 -1
  66. package/package.json +1 -1
@@ -28,6 +28,7 @@ export default class OrdersApi extends AsyncModules implements IOrdersApi {
28
28
  * @throws {IError} When isShell=false and an error occurs during the fetch
29
29
  * @description This method requires user authorization.
30
30
  * @see For more information about configuring the {@link https://js-sdk.oneentry.cloud/docs/category/authprovider authorization module}, see the documentation in the {@link https://js-sdk.oneentry.cloud/docs/category/authprovider configuration settings section of the SDK}.
31
+ * @see {@link https://js-sdk.oneentry.cloud/docs/orders/getAllOrdersStorage getAllOrdersStorage} documentation.
31
32
  */
32
33
  getAllOrdersStorage(langCode?: string, offset?: number, limit?: number): Promise<IOrdersEntity[] | IError>;
33
34
  /**
@@ -41,6 +42,7 @@ export default class OrdersApi extends AsyncModules implements IOrdersApi {
41
42
  * @throws {IError} When isShell=false and an error occurs during the fetch
42
43
  * @description This method requires user authorization.
43
44
  * @see For more information about configuring the {@link https://js-sdk.oneentry.cloud/docs/category/authprovider authorization module}, see the documentation in the {@link https://js-sdk.oneentry.cloud/docs/category/authprovider configuration settings section of the SDK}.
45
+ * @see {@link https://js-sdk.oneentry.cloud/docs/orders/getAllOrdersByMarker getAllOrdersByMarker} documentation.
44
46
  */
45
47
  getAllOrdersByMarker(marker: string, langCode?: string, offset?: number, limit?: number): Promise<IOrdersByMarkerEntity | IError>;
46
48
  /**
@@ -52,6 +54,7 @@ export default class OrdersApi extends AsyncModules implements IOrdersApi {
52
54
  * @throws {IError} When isShell=false and an error occurs during the fetch
53
55
  * @description This method requires user authorization.
54
56
  * @see For more information about configuring the {@link https://js-sdk.oneentry.cloud/docs/category/authprovider authorization module}, see the documentation in the {@link https://js-sdk.oneentry.cloud/docs/category/authprovider configuration settings section of the SDK}.
57
+ * @see {@link https://js-sdk.oneentry.cloud/docs/orders/getOrdersStorageByMarker getOrdersStorageByMarker} documentation.
55
58
  */
56
59
  getOrdersStorageByMarker(marker: string, langCode?: string): Promise<IOrdersEntity | IError>;
57
60
  /**
@@ -64,6 +67,7 @@ export default class OrdersApi extends AsyncModules implements IOrdersApi {
64
67
  * @throws {IError} When isShell=false and an error occurs during the fetch
65
68
  * @description This method requires user authorization.
66
69
  * @see For more information about configuring the {@link https://js-sdk.oneentry.cloud/docs/category/authprovider authorization module}, see the documentation in the {@link https://js-sdk.oneentry.cloud/docs/category/authprovider configuration settings section of the SDK}.
70
+ * @see {@link https://js-sdk.oneentry.cloud/docs/orders/getOrderByMarkerAndId getOrderByMarkerAndId} documentation.
67
71
  */
68
72
  getOrderByMarkerAndId(marker: string, id: number, langCode?: string): Promise<IOrderByMarkerEntity | IError>;
69
73
  /**
@@ -73,8 +77,9 @@ export default class OrdersApi extends AsyncModules implements IOrdersApi {
73
77
  * @param {string} [langCode] - Language code. Default: "en_US".
74
78
  * @returns {Promise<IOrderPreviewResponse | IError>} Returns an object with the order preview.
75
79
  * @throws {IError} When isShell=false and an error occurs during the fetch
76
- * @description This method requires user authorization ???.
80
+ * @description This method requires user authorization.
77
81
  * @see For more information about configuring the {@link https://js-sdk.oneentry.cloud/docs/category/authprovider authorization module}, see the documentation in the {@link https://js-sdk.oneentry.cloud/docs/category/authprovider configuration settings section of the SDK}.
82
+ * @see {@link https://js-sdk.oneentry.cloud/docs/orders/previewOrder previewOrder} documentation.
78
83
  */
79
84
  previewOrder(body: ICreateOrderPreview, langCode?: string): Promise<IOrderPreviewResponse | IError>;
80
85
  /**
@@ -103,6 +108,7 @@ export default class OrdersApi extends AsyncModules implements IOrdersApi {
103
108
  * @throws {IError} When isShell=false and an error occurs during the fetch
104
109
  * @description This method requires user authorization.
105
110
  * @see For more information about configuring the {@link https://js-sdk.oneentry.cloud/docs/category/authprovider authorization module}, see the documentation in the {@link https://js-sdk.oneentry.cloud/docs/category/authprovider configuration settings section of the SDK}.
111
+ * @see {@link https://js-sdk.oneentry.cloud/docs/orders/createOrder createOrder} documentation.
106
112
  */
107
113
  createOrder(marker: string, body: IOrderData, langCode?: string): Promise<IBaseOrdersEntity | IError>;
108
114
  /**
@@ -133,6 +139,7 @@ export default class OrdersApi extends AsyncModules implements IOrdersApi {
133
139
  * @throws {IError} When isShell=false and an error occurs during the fetch
134
140
  * @description This method requires user authorization.
135
141
  * @see For more information about configuring the {@link https://js-sdk.oneentry.cloud/docs/category/authprovider authorization module}, see the documentation in the {@link https://js-sdk.oneentry.cloud/docs/category/authprovider configuration settings section of the SDK}.
142
+ * @see {@link https://js-sdk.oneentry.cloud/docs/orders/updateOrderByMarkerAndId updateOrderByMarkerAndId} documentation.
136
143
  */
137
144
  updateOrderByMarkerAndId(marker: string, id: number, body: IOrderData, langCode?: string): Promise<IBaseOrdersEntity | IError>;
138
145
  /**
@@ -145,6 +152,7 @@ export default class OrdersApi extends AsyncModules implements IOrdersApi {
145
152
  * @returns {Promise<IOrderStatus[] | IError>} Returns an object with the orders statuses.
146
153
  * @throws {IError} When isShell=false and an error occurs during the fetch
147
154
  * @see For more information about configuring the {@link https://js-sdk.oneentry.cloud/docs/category/authprovider authorization module}, see the documentation in the {@link https://js-sdk.oneentry.cloud/docs/category/authprovider configuration settings section of the SDK}.
155
+ * @see {@link https://js-sdk.oneentry.cloud/docs/orders/getAllStatusesByStorageMarker getAllStatusesByStorageMarker} documentation.
148
156
  */
149
157
  getAllStatusesByStorageMarker(marker: string, langCode?: string, offset?: number, limit?: number): Promise<IOrderStatus[] | IError>;
150
158
  /**
@@ -153,6 +161,7 @@ export default class OrdersApi extends AsyncModules implements IOrdersApi {
153
161
  * @param {number} id - Order id. Example: 1.
154
162
  * @returns {Promise<IRefundRequest[] | IError>} Returns array of refund requests.
155
163
  * @throws {IError} When isShell=false and an error occurs during the fetch
164
+ * @see {@link https://js-sdk.oneentry.cloud/docs/orders/getRefunds getRefunds} documentation.
156
165
  */
157
166
  getRefunds(id: number): Promise<IRefundRequest[] | IError>;
158
167
  /**
@@ -162,6 +171,7 @@ export default class OrdersApi extends AsyncModules implements IOrdersApi {
162
171
  * @param {ICreateRefundRequest} body - Refund request body.
163
172
  * @returns {Promise<boolean | IError>} Returns true if the refund request was created successfully.
164
173
  * @throws {IError} When isShell=false and an error occurs during the fetch
174
+ * @see {@link https://js-sdk.oneentry.cloud/docs/orders/createRefundRequest createRefundRequest} documentation.
165
175
  */
166
176
  createRefundRequest(id: number, body: ICreateRefundRequest): Promise<boolean | IError>;
167
177
  /**
@@ -170,6 +180,20 @@ export default class OrdersApi extends AsyncModules implements IOrdersApi {
170
180
  * @param {number} id - Order id. Example: 1.
171
181
  * @returns {Promise<boolean | IError>} Returns true if the refund request was cancelled successfully.
172
182
  * @throws {IError} When isShell=false and an error occurs during the fetch
183
+ * @see {@link https://js-sdk.oneentry.cloud/docs/orders/cancelRefundRequest cancelRefundRequest} documentation.
173
184
  */
174
185
  cancelRefundRequest(id: number): Promise<boolean | IError>;
186
+ /**
187
+ * Runs a fetch against the `/orders` base URL instead of the default
188
+ * `/orders-storage`, then restores the original URL.
189
+ *
190
+ * Refund endpoints live under `/api/content/orders`, while this class is based
191
+ * on `/api/content/orders-storage`. The helper swaps `_url` for the duration of
192
+ * the call and restores it in `finally`, so the base URL is restored even if
193
+ * the request throws.
194
+ * @param {() => Promise<T>} fetcher - Thunk performing the fetch call.
195
+ * @returns {Promise<T>} The fetcher result.
196
+ * @template T
197
+ */
198
+ private _withOrdersUrl;
175
199
  }
@@ -32,6 +32,7 @@ class OrdersApi extends asyncModules_1.default {
32
32
  * @throws {IError} When isShell=false and an error occurs during the fetch
33
33
  * @description This method requires user authorization.
34
34
  * @see For more information about configuring the {@link https://js-sdk.oneentry.cloud/docs/category/authprovider authorization module}, see the documentation in the {@link https://js-sdk.oneentry.cloud/docs/category/authprovider configuration settings section of the SDK}.
35
+ * @see {@link https://js-sdk.oneentry.cloud/docs/orders/getAllOrdersStorage getAllOrdersStorage} documentation.
35
36
  */
36
37
  async getAllOrdersStorage(langCode = this.state.lang, offset = 0, limit = 30) {
37
38
  const result = await this._fetchGet(`?langCode=${langCode}&limit=${limit}&offset=${offset}`);
@@ -48,6 +49,7 @@ class OrdersApi extends asyncModules_1.default {
48
49
  * @throws {IError} When isShell=false and an error occurs during the fetch
49
50
  * @description This method requires user authorization.
50
51
  * @see For more information about configuring the {@link https://js-sdk.oneentry.cloud/docs/category/authprovider authorization module}, see the documentation in the {@link https://js-sdk.oneentry.cloud/docs/category/authprovider configuration settings section of the SDK}.
52
+ * @see {@link https://js-sdk.oneentry.cloud/docs/orders/getAllOrdersByMarker getAllOrdersByMarker} documentation.
51
53
  */
52
54
  async getAllOrdersByMarker(marker, langCode = this.state.lang, offset = 0, limit = 30) {
53
55
  const result = await this._fetchGet(`/marker/${marker}/orders?langCode=${langCode}&limit=${limit}&offset=${offset}`);
@@ -64,6 +66,7 @@ class OrdersApi extends asyncModules_1.default {
64
66
  * @throws {IError} When isShell=false and an error occurs during the fetch
65
67
  * @description This method requires user authorization.
66
68
  * @see For more information about configuring the {@link https://js-sdk.oneentry.cloud/docs/category/authprovider authorization module}, see the documentation in the {@link https://js-sdk.oneentry.cloud/docs/category/authprovider configuration settings section of the SDK}.
69
+ * @see {@link https://js-sdk.oneentry.cloud/docs/orders/getOrdersStorageByMarker getOrdersStorageByMarker} documentation.
67
70
  */
68
71
  async getOrdersStorageByMarker(marker, langCode = this.state.lang) {
69
72
  const result = await this._fetchGet(`/marker/${marker}?langCode=${langCode}`);
@@ -79,6 +82,7 @@ class OrdersApi extends asyncModules_1.default {
79
82
  * @throws {IError} When isShell=false and an error occurs during the fetch
80
83
  * @description This method requires user authorization.
81
84
  * @see For more information about configuring the {@link https://js-sdk.oneentry.cloud/docs/category/authprovider authorization module}, see the documentation in the {@link https://js-sdk.oneentry.cloud/docs/category/authprovider configuration settings section of the SDK}.
85
+ * @see {@link https://js-sdk.oneentry.cloud/docs/orders/getOrderByMarkerAndId getOrderByMarkerAndId} documentation.
82
86
  */
83
87
  async getOrderByMarkerAndId(marker, id, langCode = this.state.lang) {
84
88
  const result = await this._fetchGet(`/marker/${marker}/orders/${id}?langCode=${langCode}`);
@@ -93,8 +97,9 @@ class OrdersApi extends asyncModules_1.default {
93
97
  * @param {string} [langCode] - Language code. Default: "en_US".
94
98
  * @returns {Promise<IOrderPreviewResponse | IError>} Returns an object with the order preview.
95
99
  * @throws {IError} When isShell=false and an error occurs during the fetch
96
- * @description This method requires user authorization ???.
100
+ * @description This method requires user authorization.
97
101
  * @see For more information about configuring the {@link https://js-sdk.oneentry.cloud/docs/category/authprovider authorization module}, see the documentation in the {@link https://js-sdk.oneentry.cloud/docs/category/authprovider configuration settings section of the SDK}.
102
+ * @see {@link https://js-sdk.oneentry.cloud/docs/orders/previewOrder previewOrder} documentation.
98
103
  */
99
104
  async previewOrder(body, langCode = this.state.lang) {
100
105
  const result = await this._fetchPost(`/orders/preview?langCode=${langCode}`, body);
@@ -126,6 +131,7 @@ class OrdersApi extends asyncModules_1.default {
126
131
  * @throws {IError} When isShell=false and an error occurs during the fetch
127
132
  * @description This method requires user authorization.
128
133
  * @see For more information about configuring the {@link https://js-sdk.oneentry.cloud/docs/category/authprovider authorization module}, see the documentation in the {@link https://js-sdk.oneentry.cloud/docs/category/authprovider configuration settings section of the SDK}.
134
+ * @see {@link https://js-sdk.oneentry.cloud/docs/orders/createOrder createOrder} documentation.
129
135
  */
130
136
  async createOrder(marker, body, langCode = this.state.lang) {
131
137
  // eslint-disable-next-line @typescript-eslint/no-explicit-any
@@ -167,6 +173,7 @@ class OrdersApi extends asyncModules_1.default {
167
173
  * @throws {IError} When isShell=false and an error occurs during the fetch
168
174
  * @description This method requires user authorization.
169
175
  * @see For more information about configuring the {@link https://js-sdk.oneentry.cloud/docs/category/authprovider authorization module}, see the documentation in the {@link https://js-sdk.oneentry.cloud/docs/category/authprovider configuration settings section of the SDK}.
176
+ * @see {@link https://js-sdk.oneentry.cloud/docs/orders/updateOrderByMarkerAndId updateOrderByMarkerAndId} documentation.
170
177
  */
171
178
  async updateOrderByMarkerAndId(marker, id, body, langCode = this.state.lang) {
172
179
  // eslint-disable-next-line @typescript-eslint/no-explicit-any
@@ -190,6 +197,7 @@ class OrdersApi extends asyncModules_1.default {
190
197
  * @returns {Promise<IOrderStatus[] | IError>} Returns an object with the orders statuses.
191
198
  * @throws {IError} When isShell=false and an error occurs during the fetch
192
199
  * @see For more information about configuring the {@link https://js-sdk.oneentry.cloud/docs/category/authprovider authorization module}, see the documentation in the {@link https://js-sdk.oneentry.cloud/docs/category/authprovider configuration settings section of the SDK}.
200
+ * @see {@link https://js-sdk.oneentry.cloud/docs/orders/getAllStatusesByStorageMarker getAllStatusesByStorageMarker} documentation.
193
201
  */
194
202
  async getAllStatusesByStorageMarker(marker, langCode = this.state.lang, offset = 0, limit = 30) {
195
203
  const query = {
@@ -206,12 +214,10 @@ class OrdersApi extends asyncModules_1.default {
206
214
  * @param {number} id - Order id. Example: 1.
207
215
  * @returns {Promise<IRefundRequest[] | IError>} Returns array of refund requests.
208
216
  * @throws {IError} When isShell=false and an error occurs during the fetch
217
+ * @see {@link https://js-sdk.oneentry.cloud/docs/orders/getRefunds getRefunds} documentation.
209
218
  */
210
219
  async getRefunds(id) {
211
- const savedUrl = this._url;
212
- this._url = this._ordersUrl;
213
- const data = await this._fetchGet(`/${id}/refund`);
214
- this._url = savedUrl;
220
+ const data = await this._withOrdersUrl(() => this._fetchGet(`/${id}/refund`));
215
221
  return this._normalizeData(data);
216
222
  }
217
223
  /**
@@ -221,12 +227,10 @@ class OrdersApi extends asyncModules_1.default {
221
227
  * @param {ICreateRefundRequest} body - Refund request body.
222
228
  * @returns {Promise<boolean | IError>} Returns true if the refund request was created successfully.
223
229
  * @throws {IError} When isShell=false and an error occurs during the fetch
230
+ * @see {@link https://js-sdk.oneentry.cloud/docs/orders/createRefundRequest createRefundRequest} documentation.
224
231
  */
225
232
  async createRefundRequest(id, body) {
226
- const savedUrl = this._url;
227
- this._url = this._ordersUrl;
228
- const data = await this._fetchPost(`/${id}/refund`, body);
229
- this._url = savedUrl;
233
+ const data = await this._withOrdersUrl(() => this._fetchPost(`/${id}/refund`, body));
230
234
  return this._normalizeData(data);
231
235
  }
232
236
  /**
@@ -235,13 +239,33 @@ class OrdersApi extends asyncModules_1.default {
235
239
  * @param {number} id - Order id. Example: 1.
236
240
  * @returns {Promise<boolean | IError>} Returns true if the refund request was cancelled successfully.
237
241
  * @throws {IError} When isShell=false and an error occurs during the fetch
242
+ * @see {@link https://js-sdk.oneentry.cloud/docs/orders/cancelRefundRequest cancelRefundRequest} documentation.
238
243
  */
239
244
  async cancelRefundRequest(id) {
245
+ const data = await this._withOrdersUrl(() => this._fetchDelete(`/${id}/refund`));
246
+ return this._normalizeData(data);
247
+ }
248
+ /**
249
+ * Runs a fetch against the `/orders` base URL instead of the default
250
+ * `/orders-storage`, then restores the original URL.
251
+ *
252
+ * Refund endpoints live under `/api/content/orders`, while this class is based
253
+ * on `/api/content/orders-storage`. The helper swaps `_url` for the duration of
254
+ * the call and restores it in `finally`, so the base URL is restored even if
255
+ * the request throws.
256
+ * @param {() => Promise<T>} fetcher - Thunk performing the fetch call.
257
+ * @returns {Promise<T>} The fetcher result.
258
+ * @template T
259
+ */
260
+ async _withOrdersUrl(fetcher) {
240
261
  const savedUrl = this._url;
241
262
  this._url = this._ordersUrl;
242
- const data = await this._fetchDelete(`/${id}/refund`);
243
- this._url = savedUrl;
244
- return this._normalizeData(data);
263
+ try {
264
+ return await fetcher();
265
+ }
266
+ finally {
267
+ this._url = savedUrl;
268
+ }
245
269
  }
246
270
  }
247
271
  exports.default = OrdersApi;
@@ -266,11 +266,13 @@ interface IOrdersFormData {
266
266
  * @interface IOrderProductData
267
267
  * @property {number} productId - Product identifier. Example: 1.
268
268
  * @property {number} quantity - Quantity of the product. Example: 2.
269
+ * @property {string} [signedPrice] - The signed price of the product is obtained along with the product data when `signPrice` is set. Example: "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9...".
269
270
  * @description Represents a product data in an order.
270
271
  */
271
272
  interface IOrderProductData {
272
273
  productId: number;
273
274
  quantity: number;
275
+ signedPrice?: string;
274
276
  }
275
277
  /**
276
278
  * Interface representing product data in an order.
@@ -311,7 +313,7 @@ interface IOrderProductsData {
311
313
  }
312
314
  ]
313
315
  * @property {string} currency - Currency used to pay for the order. Example: "USD".
314
- * @property {number} totalSum - Total order amount. Example: "150".
316
+ * @property {string} totalSum - Total order amount. Example: "150".
315
317
  * @property {string} [createdDate] - Order creation date. Example: "2023-10-01T12:00:00Z".
316
318
  * @property {string} [statusIdentifier] - Text identifier of order status object (if not set, default status will be assigned). Example: "status-1".
317
319
  * @property {string} [couponCode] -
@@ -328,7 +330,7 @@ interface IBaseOrdersEntity {
328
330
  formData: IOrdersFormData[];
329
331
  products: IOrderProductsData[];
330
332
  currency: string;
331
- totalSum: number;
333
+ totalSum: string;
332
334
  createdDate?: string;
333
335
  statusIdentifier?: string;
334
336
  couponCode?: string;
@@ -23,6 +23,7 @@ export default class PagesApi extends AsyncModules implements IPagesApi {
23
23
  * @returns {Promise<IPagesEntity[] | IError>} Returns all created pages without parents as an array of PageEntity objects or an empty array [] (if there is no data)
24
24
  * @throws {IError} When isShell=false and an error occurs during the fetch
25
25
  * @description Get all top-level page objects.
26
+ * @see {@link https://js-sdk.oneentry.cloud/docs/pages/getRootPages getRootPages} documentation.
26
27
  */
27
28
  getRootPages(langCode?: string): Promise<IPagesEntity[] | IError>;
28
29
  /**
@@ -32,6 +33,7 @@ export default class PagesApi extends AsyncModules implements IPagesApi {
32
33
  * @returns {Promise<IPagesEntity[] | IError>} Returns all created pages as an array of PageEntity objects or an empty array [] (if there is no data).
33
34
  * @throws {IError} When isShell=false and an error occurs during the fetch
34
35
  * @description Get all page objects with product information as an array.
36
+ * @see {@link https://js-sdk.oneentry.cloud/docs/pages/getPages getPages} documentation.
35
37
  */
36
38
  getPages(langCode?: string): Promise<IPagesEntity[] | IError>;
37
39
  /**
@@ -42,6 +44,7 @@ export default class PagesApi extends AsyncModules implements IPagesApi {
42
44
  * @returns {Promise<IPagesEntity | IError>} Returns PageEntity object
43
45
  * @throws {IError} When isShell=false and an error occurs during the fetch
44
46
  * @description Get page object with information about forms, blocks, menus, linked to the page.
47
+ * @see {@link https://js-sdk.oneentry.cloud/docs/pages/getPageById getPageById} documentation.
45
48
  */
46
49
  getPageById(id: number, langCode?: string): Promise<IPagesEntity | IError>;
47
50
  /**
@@ -52,6 +55,7 @@ export default class PagesApi extends AsyncModules implements IPagesApi {
52
55
  * @returns {Promise<IPagesEntity | IError>} Returns PageEntity object
53
56
  * @throws {IError} When isShell=false and an error occurs during the fetch
54
57
  * @description Get page object with information about forms, blocks, menus, linked to the page by URL.
58
+ * @see {@link https://js-sdk.oneentry.cloud/docs/pages/getPageByUrl getPageByUrl} documentation.
55
59
  */
56
60
  getPageByUrl(url: string, langCode?: string): Promise<IPagesEntity | IError>;
57
61
  /**
@@ -62,6 +66,7 @@ export default class PagesApi extends AsyncModules implements IPagesApi {
62
66
  * @returns {Promise<IPagesEntity | IError>} Returns all created pages as an array of PageEntity objects or an empty array [] (if there is no data) for the selected parent
63
67
  * @throws {IError} When isShell=false and an error occurs during the fetch
64
68
  * @description Get child pages object with information as an array.
69
+ * @see {@link https://js-sdk.oneentry.cloud/docs/pages/getChildPagesByParentUrl getChildPagesByParentUrl} documentation.
65
70
  */
66
71
  getChildPagesByParentUrl(url: string, langCode?: string): Promise<IPagesEntity[] | IError>;
67
72
  /**
@@ -72,6 +77,7 @@ export default class PagesApi extends AsyncModules implements IPagesApi {
72
77
  * @returns {Promise<IPositionBlock[] | IError>} Returns all blocks as an array of PositionBlock objects or an empty array [] (if there is no data) for the selected parent
73
78
  * @throws {IError} When isShell=false and an error occurs during the fetch
74
79
  * @description Get all blocks by page url.
80
+ * @see {@link https://js-sdk.oneentry.cloud/docs/pages/getBlocksByPageUrl getBlocksByPageUrl} documentation.
75
81
  */
76
82
  getBlocksByPageUrl(url: string, langCode?: string): Promise<IPositionBlock[] | IError>;
77
83
  /**
@@ -81,6 +87,7 @@ export default class PagesApi extends AsyncModules implements IPagesApi {
81
87
  * @returns {Promise<IPageConfig | IError>} Returns a ConfigPage object with page display settings
82
88
  * @throws {IError} When isShell=false and an error occurs during the fetch
83
89
  * @description Get settings for the page.
90
+ * @see {@link https://js-sdk.oneentry.cloud/docs/pages/getConfigPageByUrl getConfigPageByUrl} documentation.
84
91
  */
85
92
  getConfigPageByUrl(url: string): Promise<IPageConfig | IError>;
86
93
  /**
@@ -92,6 +99,7 @@ export default class PagesApi extends AsyncModules implements IPagesApi {
92
99
  * @returns {Promise<IPagesEntity[] | IError>} Returns all created pages as an array of PageEntity objects or an empty array [] (if there is no data)
93
100
  * @throws {IError} When isShell=false and an error occurs during the fetch
94
101
  * @description Quick search for page objects with limited output.
102
+ * @see {@link https://js-sdk.oneentry.cloud/docs/pages/searchPage searchPage} documentation.
95
103
  */
96
104
  searchPage(name: string, url?: string, langCode?: string): Promise<IPagesEntity[] | IError>;
97
105
  /**
@@ -146,6 +154,7 @@ export default class PagesApi extends AsyncModules implements IPagesApi {
146
154
  * @returns {Promise<any | IError>} An array of page objects with template data added
147
155
  * @throws {IError} When isShell=false and an error occurs during the fetch
148
156
  * @description Add template data to page by page templateIdentifier
157
+ * @see {@link https://js-sdk.oneentry.cloud/docs/pages/addTemplateToPage addTemplateToPage} documentation.
149
158
  */
150
159
  protected addTemplateToPage(data: IPagesEntity): Promise<any | IError>;
151
160
  }
@@ -30,6 +30,7 @@ class PagesApi extends asyncModules_1.default {
30
30
  * @returns {Promise<IPagesEntity[] | IError>} Returns all created pages without parents as an array of PageEntity objects or an empty array [] (if there is no data)
31
31
  * @throws {IError} When isShell=false and an error occurs during the fetch
32
32
  * @description Get all top-level page objects.
33
+ * @see {@link https://js-sdk.oneentry.cloud/docs/pages/getRootPages getRootPages} documentation.
33
34
  */
34
35
  async getRootPages(langCode = this.state.lang) {
35
36
  // Fetch data from the server using a GET request to retrieve root pages for the specified language code
@@ -48,6 +49,7 @@ class PagesApi extends asyncModules_1.default {
48
49
  * @returns {Promise<IPagesEntity[] | IError>} Returns all created pages as an array of PageEntity objects or an empty array [] (if there is no data).
49
50
  * @throws {IError} When isShell=false and an error occurs during the fetch
50
51
  * @description Get all page objects with product information as an array.
52
+ * @see {@link https://js-sdk.oneentry.cloud/docs/pages/getPages getPages} documentation.
51
53
  */
52
54
  async getPages(langCode = this.state.lang) {
53
55
  // Fetch data from the server using a GET request to retrieve all pages for the specified language code
@@ -67,6 +69,7 @@ class PagesApi extends asyncModules_1.default {
67
69
  * @returns {Promise<IPagesEntity | IError>} Returns PageEntity object
68
70
  * @throws {IError} When isShell=false and an error occurs during the fetch
69
71
  * @description Get page object with information about forms, blocks, menus, linked to the page.
72
+ * @see {@link https://js-sdk.oneentry.cloud/docs/pages/getPageById getPageById} documentation.
70
73
  */
71
74
  async getPageById(id, langCode = this.state.lang) {
72
75
  // Fetch data from the server using a GET request to retrieve page details by ID and language code
@@ -86,6 +89,7 @@ class PagesApi extends asyncModules_1.default {
86
89
  * @returns {Promise<IPagesEntity | IError>} Returns PageEntity object
87
90
  * @throws {IError} When isShell=false and an error occurs during the fetch
88
91
  * @description Get page object with information about forms, blocks, menus, linked to the page by URL.
92
+ * @see {@link https://js-sdk.oneentry.cloud/docs/pages/getPageByUrl getPageByUrl} documentation.
89
93
  */
90
94
  async getPageByUrl(url, langCode = this.state.lang) {
91
95
  // Fetch data from the server using a GET request with the specified URL and language code
@@ -105,6 +109,7 @@ class PagesApi extends asyncModules_1.default {
105
109
  * @returns {Promise<IPagesEntity | IError>} Returns all created pages as an array of PageEntity objects or an empty array [] (if there is no data) for the selected parent
106
110
  * @throws {IError} When isShell=false and an error occurs during the fetch
107
111
  * @description Get child pages object with information as an array.
112
+ * @see {@link https://js-sdk.oneentry.cloud/docs/pages/getChildPagesByParentUrl getChildPagesByParentUrl} documentation.
108
113
  */
109
114
  async getChildPagesByParentUrl(url, langCode = this.state.lang) {
110
115
  // Fetch data from the server using a GET request to retrieve child pages for the specified parent URL and language code
@@ -124,66 +129,54 @@ class PagesApi extends asyncModules_1.default {
124
129
  * @returns {Promise<IPositionBlock[] | IError>} Returns all blocks as an array of PositionBlock objects or an empty array [] (if there is no data) for the selected parent
125
130
  * @throws {IError} When isShell=false and an error occurs during the fetch
126
131
  * @description Get all blocks by page url.
132
+ * @see {@link https://js-sdk.oneentry.cloud/docs/pages/getBlocksByPageUrl getBlocksByPageUrl} documentation.
127
133
  */
128
134
  async getBlocksByPageUrl(url, langCode = this.state.lang) {
129
135
  const response = await this._fetchGet(`/${url}/blocks?langCode=${langCode}`);
130
136
  // Normalize the fetched response data
131
137
  const normalizeResponse = this._normalizeData(response);
132
- // Iterate over each item in the normalized response
133
- normalizeResponse.map((item) => {
138
+ if (!Array.isArray(normalizeResponse)) {
139
+ return normalizeResponse;
140
+ }
141
+ // Helper module wrapping the block product endpoints (similar / products).
142
+ const staffModule = new StaffModule(this.state);
143
+ // Enrich every block in parallel: product / similar blocks
144
+ await Promise.all(normalizeResponse.map(async (item) => {
134
145
  const customSettings = item.customSettings;
135
- // Check if customSettings contains 'productConfig' property
146
+ // Lift product display settings (stored as strings) to numeric top-level fields.
136
147
  if (customSettings &&
137
148
  Object.prototype.hasOwnProperty.call(customSettings, 'productConfig')) {
138
- // If 'countElementsPerRow' exists, set it on the item
139
149
  if (customSettings.productConfig.countElementsPerRow)
140
150
  item.countElementsPerRow =
141
151
  +customSettings.productConfig.countElementsPerRow;
142
- // If 'quantity' exists, set it on the item
143
152
  if (customSettings.productConfig.quantity)
144
153
  item.quantity = +customSettings.productConfig.quantity;
145
154
  }
146
- // Remove unnecessary properties from the item
155
+ // Remove internal-only properties from the result.
147
156
  delete item.customSettings;
148
157
  delete item.attributesSetIdentifier;
149
- // Return the modified item
150
- return item;
151
- });
152
- // Check if traffic limit is not set
153
- if (!this.state.traficLimit) {
154
- // Create an instance of 'StaffModule' with the current state
155
- const staffModule = new StaffModule(this.state);
156
- // If the block type is 'similar_products_block', fetch similar products
157
- if (normalizeResponse.type === 'similar_products_block') {
158
+ // In traffic-saving mode skip the extra product requests.
159
+ if (this.state.traficLimit)
160
+ return;
161
+ // Attach related products by block type. StaffModule already normalizes its results.
162
+ if (item.type === 'similar_products_block') {
158
163
  try {
159
- await staffModule
160
- .getSimilarProducts(normalizeResponse.identifier, langCode)
161
- .then((result) => {
162
- normalizeResponse.similarProducts = this._normalizeData(result);
163
- });
164
+ item.similarProducts = await staffModule.getSimilarProducts(item.identifier, langCode);
164
165
  }
165
166
  catch {
166
- // Handle errors by setting an empty array
167
- normalizeResponse.similarProducts = [];
167
+ item.similarProducts = [];
168
168
  }
169
- // If the block type is 'product_block', fetch products
170
169
  }
171
- else if (normalizeResponse.type === 'product_block') {
170
+ else if (item.type === 'product_block') {
172
171
  try {
173
- await staffModule
174
- .getProductsByBlockMarker(normalizeResponse.identifier, langCode)
175
- .then((result) => {
176
- normalizeResponse.products = this._normalizeData(result);
177
- });
172
+ item.products = await staffModule.getProductsByBlockMarker(item.identifier, langCode);
178
173
  }
179
174
  catch {
180
- // Handle errors by setting an empty array
181
- normalizeResponse.products = [];
175
+ item.products = [];
182
176
  }
183
177
  }
184
- }
185
- // Return the final normalized response
186
- return this._normalizeData(normalizeResponse);
178
+ }));
179
+ return normalizeResponse;
187
180
  }
188
181
  /**
189
182
  * Get settings for the page.
@@ -192,6 +185,7 @@ class PagesApi extends asyncModules_1.default {
192
185
  * @returns {Promise<IPageConfig | IError>} Returns a ConfigPage object with page display settings
193
186
  * @throws {IError} When isShell=false and an error occurs during the fetch
194
187
  * @description Get settings for the page.
188
+ * @see {@link https://js-sdk.oneentry.cloud/docs/pages/getConfigPageByUrl getConfigPageByUrl} documentation.
195
189
  */
196
190
  async getConfigPageByUrl(url) {
197
191
  // Fetch data from the server using a GET request to retrieve forms for the specified page URL and language code
@@ -210,6 +204,7 @@ class PagesApi extends asyncModules_1.default {
210
204
  * @returns {Promise<IPagesEntity[] | IError>} Returns all created pages as an array of PageEntity objects or an empty array [] (if there is no data)
211
205
  * @throws {IError} When isShell=false and an error occurs during the fetch
212
206
  * @description Quick search for page objects with limited output.
207
+ * @see {@link https://js-sdk.oneentry.cloud/docs/pages/searchPage searchPage} documentation.
213
208
  */
214
209
  async searchPage(name, url, langCode = this.state.lang) {
215
210
  // Fetch data from the server using a GET request to perform a quick search by page name and language code
@@ -332,6 +327,7 @@ class PagesApi extends asyncModules_1.default {
332
327
  * @returns {Promise<any | IError>} An array of page objects with template data added
333
328
  * @throws {IError} When isShell=false and an error occurs during the fetch
334
329
  * @description Add template data to page by page templateIdentifier
330
+ * @see {@link https://js-sdk.oneentry.cloud/docs/pages/addTemplateToPage addTemplateToPage} documentation.
335
331
  */
336
332
  async addTemplateToPage(data) {
337
333
  // Check if 'templateIdentifier' exists in 'data' and is not null or an empty string
@@ -352,10 +348,8 @@ class PagesApi extends asyncModules_1.default {
352
348
  };
353
349
  }
354
350
  catch (error) {
355
- // Log any errors that occur during the template fetching process
356
351
  // eslint-disable-next-line no-undef, no-console
357
352
  console.error('Template fetch error: ', error);
358
- // Return the original data object unchanged if an error occurs
359
353
  return data;
360
354
  }
361
355
  }
@@ -375,11 +369,12 @@ class StaffModule extends asyncModules_1.default {
375
369
  super(state); // Call parent constructor
376
370
  this._url = state.url + '/api/content/blocks'; // Set URL for content blocks
377
371
  }
378
- // Method to fetch similar products by marker
372
+ // Method to fetch similar products by marker. Returns the full response
373
+ // ({ total, items }) to match BlocksApi's similarProducts contract.
379
374
  async getSimilarProducts(marker, langCode = this.state.lang, offset = 0, limit = 30) {
380
375
  // Fetch similar products from the server
381
376
  const result = await this._fetchGet(`/${marker}/similar-products?langCode=${langCode}&offset=${offset}&limit=${limit}`);
382
- return this._normalizeData(result.items);
377
+ return this._normalizeData(result);
383
378
  }
384
379
  // Method to fetch products by block marker
385
380
  async getProductsByBlockMarker(marker, langCode = this.state.lang, offset = 0, limit = 30) {
@@ -1,6 +1,7 @@
1
1
  import type { IAttributes, IAttributeValues, IError, ILocalizeInfo, IRating, LangType } from '../base/utils';
2
2
  import type { BlockType, IBlockEntity } from '../blocks/blocksInterfaces';
3
3
  import type { IFormConfig } from '../forms/formsInterfaces';
4
+ import type { IProductsEntity, IProductsResponse } from '../products/productsInterfaces';
4
5
  import type { ITemplateEntity } from '../templates/templatesInterfaces';
5
6
  /**
6
7
  * @interface IPagesApi
@@ -185,6 +186,8 @@ interface IPositionForm {
185
186
  }
186
187
  * @property {number} [countElementsPerRow] - Number of elements displayed per row in the block, if applicable. Example: 3.
187
188
  * @property {number} [quantity] - Quantity pages in block. Example: 1.
189
+ * @property {IProductsResponse} [similarProducts] - Similar products response (total + items). Present only for "similar_products_block" blocks and only when traffic-saving mode is off.
190
+ * @property {IProductsEntity[]} [products] - Array of products associated with the block. Present only for "product_block" blocks and only when traffic-saving mode is off.
188
191
  * @description This interface defines the structure of a position block entity, including its identifiers, attributes, and visibility.
189
192
  */
190
193
  interface IPositionBlock {
@@ -201,6 +204,8 @@ interface IPositionBlock {
201
204
  attributeValues: IAttributeValues;
202
205
  countElementsPerRow?: number;
203
206
  quantity?: number;
207
+ similarProducts?: IProductsResponse;
208
+ products?: IProductsEntity[];
204
209
  }
205
210
  /**
206
211
  * PageType
@@ -25,6 +25,7 @@ export default class PaymentsApi extends AsyncModules implements IPaymentsApi {
25
25
  * @throws {IError} When isShell=false and an error occurs during the fetch
26
26
  * @description This method gets list of payment sessions. This method requires user authorization.
27
27
  * @see For more information about configuring the {@link https://js-sdk.oneentry.cloud/docs/category/authprovider authorization module}, see the documentation in the {@link https://js-sdk.oneentry.cloud/docs/category/authprovider configuration settings section of the SDK}.
28
+ * @see {@link https://js-sdk.oneentry.cloud/docs/payments/getSessions getSessions} documentation.
28
29
  */
29
30
  getSessions(offset?: number, limit?: number): Promise<ISessionsEntity | IError>;
30
31
  /**
@@ -35,6 +36,7 @@ export default class PaymentsApi extends AsyncModules implements IPaymentsApi {
35
36
  * @throws {IError} When isShell=false and an error occurs during the fetch
36
37
  * @description This method gets a single payment session object by its identifier. This method requires user authorization.
37
38
  * @see For more information about configuring the {@link https://js-sdk.oneentry.cloud/docs/category/authprovider authorization module}, see the documentation in the {@link https://js-sdk.oneentry.cloud/docs/category/authprovider configuration settings section of the SDK}.
39
+ * @see {@link https://js-sdk.oneentry.cloud/docs/payments/getSessionById getSessionById} documentation.
38
40
  */
39
41
  getSessionById(id: number): Promise<ISessionEntity | IError>;
40
42
  /**
@@ -45,6 +47,7 @@ export default class PaymentsApi extends AsyncModules implements IPaymentsApi {
45
47
  * @throws {IError} When isShell=false and an error occurs during the fetch
46
48
  * @description This method gets one payment session object by order identifier. This method requires user authorization.
47
49
  * @see For more information about configuring the {@link https://js-sdk.oneentry.cloud/docs/category/authprovider authorization module}, see the documentation in the {@link https://js-sdk.oneentry.cloud/docs/category/authprovider configuration settings section of the SDK}.
50
+ * @see {@link https://js-sdk.oneentry.cloud/docs/payments/getSessionByOrderId getSessionByOrderId} documentation.
48
51
  */
49
52
  getSessionByOrderId(id: number): Promise<ISessionEntity | ISessionEntity[] | IError>;
50
53
  /**
@@ -57,6 +60,7 @@ export default class PaymentsApi extends AsyncModules implements IPaymentsApi {
57
60
  * @throws {IError} When isShell=false and an error occurs during the fetch
58
61
  * @description This method creates a payment session. This method requires user authorization.
59
62
  * @see For more information about configuring the {@link https://js-sdk.oneentry.cloud/docs/category/authprovider authorization module}, see the documentation in the {@link https://js-sdk.oneentry.cloud/docs/category/authprovider configuration settings section of the SDK}.
63
+ * @see {@link https://js-sdk.oneentry.cloud/docs/payments/createSession createSession} documentation.
60
64
  */
61
65
  createSession(orderId: number, type: 'session' | 'intent', automaticTaxEnabled?: boolean): Promise<ISessionEntity | IError>;
62
66
  /**
@@ -66,6 +70,7 @@ export default class PaymentsApi extends AsyncModules implements IPaymentsApi {
66
70
  * @throws {IError} When isShell=false and an error occurs during the fetch
67
71
  * @description This method gets all payment accounts as an array. This method requires user authorization.
68
72
  * @see For more information about configuring the {@link https://js-sdk.oneentry.cloud/docs/category/authprovider authorization module}, see the documentation in the {@link https://js-sdk.oneentry.cloud/docs/category/authprovider configuration settings section of the SDK}.
73
+ * @see {@link https://js-sdk.oneentry.cloud/docs/payments/getAccounts getAccounts} documentation.
69
74
  */
70
75
  getAccounts(): Promise<IAccountsEntity[] | IError>;
71
76
  /**
@@ -77,6 +82,7 @@ export default class PaymentsApi extends AsyncModules implements IPaymentsApi {
77
82
  * @description Get a single payment account object by its identifier.
78
83
  * @description This method requires user authorization.
79
84
  * @see For more information about configuring the {@link https://js-sdk.oneentry.cloud/docs/category/authprovider authorization module}, see the documentation in the {@link https://js-sdk.oneentry.cloud/docs/category/authprovider configuration settings section of the SDK}.
85
+ * @see {@link https://js-sdk.oneentry.cloud/docs/payments/getAccountById getAccountById} documentation.
80
86
  */
81
87
  getAccountById(id: number): Promise<IAccountsEntity | IError>;
82
88
  }