@gofynd/fdk-client-javascript 3.15.0 → 3.16.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 (58) hide show
  1. package/README.md +1 -1
  2. package/package.json +1 -1
  3. package/sdk/application/Order/OrderApplicationClient.d.ts +11 -1
  4. package/sdk/application/Order/OrderApplicationClient.js +50 -1
  5. package/sdk/application/Payment/PaymentApplicationClient.d.ts +0 -20
  6. package/sdk/application/Payment/PaymentApplicationClient.js +0 -77
  7. package/sdk/partner/Lead/LeadPartnerModel.d.ts +2 -2
  8. package/sdk/partner/Lead/LeadPartnerModel.js +1 -1
  9. package/sdk/partner/Logistics/LogisticsPartnerModel.d.ts +2 -2
  10. package/sdk/partner/Logistics/LogisticsPartnerModel.js +1 -1
  11. package/sdk/partner/Webhook/WebhookPartnerModel.d.ts +2 -2
  12. package/sdk/partner/Webhook/WebhookPartnerModel.js +1 -1
  13. package/sdk/platform/Analytics/AnalyticsPlatformModel.d.ts +2 -2
  14. package/sdk/platform/Analytics/AnalyticsPlatformModel.js +1 -1
  15. package/sdk/platform/Cart/CartPlatformApplicationClient.d.ts +10 -0
  16. package/sdk/platform/Cart/CartPlatformApplicationClient.js +95 -0
  17. package/sdk/platform/Cart/CartPlatformApplicationValidator.d.ts +47 -1
  18. package/sdk/platform/Cart/CartPlatformApplicationValidator.js +29 -0
  19. package/sdk/platform/Cart/CartPlatformModel.d.ts +17 -3
  20. package/sdk/platform/Cart/CartPlatformModel.js +14 -1
  21. package/sdk/platform/Catalog/CatalogPlatformApplicationClient.d.ts +3 -3
  22. package/sdk/platform/Catalog/CatalogPlatformApplicationClient.js +13 -16
  23. package/sdk/platform/Catalog/CatalogPlatformApplicationValidator.d.ts +17 -20
  24. package/sdk/platform/Catalog/CatalogPlatformApplicationValidator.js +10 -11
  25. package/sdk/platform/Catalog/CatalogPlatformClient.d.ts +2 -2
  26. package/sdk/platform/Catalog/CatalogPlatformClient.js +1 -1
  27. package/sdk/platform/Catalog/CatalogPlatformModel.d.ts +58 -37
  28. package/sdk/platform/Catalog/CatalogPlatformModel.js +33 -28
  29. package/sdk/platform/Catalog/CatalogPlatformValidator.d.ts +2 -2
  30. package/sdk/platform/Catalog/CatalogPlatformValidator.js +2 -2
  31. package/sdk/platform/Communication/CommunicationPlatformModel.d.ts +2 -2
  32. package/sdk/platform/Communication/CommunicationPlatformModel.js +1 -1
  33. package/sdk/platform/CompanyProfile/CompanyProfilePlatformModel.d.ts +2 -2
  34. package/sdk/platform/CompanyProfile/CompanyProfilePlatformModel.js +1 -1
  35. package/sdk/platform/Configuration/ConfigurationPlatformModel.d.ts +2 -2
  36. package/sdk/platform/Configuration/ConfigurationPlatformModel.js +1 -1
  37. package/sdk/platform/Content/ContentPlatformModel.d.ts +2 -2
  38. package/sdk/platform/Content/ContentPlatformModel.js +1 -1
  39. package/sdk/platform/Discount/DiscountPlatformModel.d.ts +2 -2
  40. package/sdk/platform/Discount/DiscountPlatformModel.js +1 -1
  41. package/sdk/platform/Lead/LeadPlatformModel.d.ts +2 -2
  42. package/sdk/platform/Lead/LeadPlatformModel.js +1 -1
  43. package/sdk/platform/Order/OrderPlatformModel.d.ts +2 -2
  44. package/sdk/platform/Order/OrderPlatformModel.js +1 -1
  45. package/sdk/platform/Payment/PaymentPlatformApplicationClient.d.ts +0 -23
  46. package/sdk/platform/Payment/PaymentPlatformApplicationClient.js +0 -161
  47. package/sdk/platform/Payment/PaymentPlatformApplicationValidator.d.ts +1 -19
  48. package/sdk/platform/Payment/PaymentPlatformApplicationValidator.js +0 -24
  49. package/sdk/platform/Payment/PaymentPlatformModel.d.ts +1 -159
  50. package/sdk/platform/Payment/PaymentPlatformModel.js +0 -112
  51. package/sdk/platform/Rewards/RewardsPlatformModel.d.ts +2 -2
  52. package/sdk/platform/Rewards/RewardsPlatformModel.js +1 -1
  53. package/sdk/platform/Serviceability/ServiceabilityPlatformModel.d.ts +67 -49
  54. package/sdk/platform/Serviceability/ServiceabilityPlatformModel.js +45 -42
  55. package/sdk/platform/Share/SharePlatformModel.d.ts +2 -2
  56. package/sdk/platform/Share/SharePlatformModel.js +1 -1
  57. package/sdk/platform/Webhook/WebhookPlatformModel.d.ts +2 -2
  58. package/sdk/platform/Webhook/WebhookPlatformModel.js +1 -1
package/README.md CHANGED
@@ -234,7 +234,7 @@ console.log("Active Theme: ", response.information.name);
234
234
  The above code will log the curl command in the console
235
235
 
236
236
  ```bash
237
- curl --request GET "https://api.fynd.com/service/application/theme/v1.0/applied-theme" --header 'authorization: Bearer <authorization-token>' --header 'x-fp-sdk-version: 3.15.0' --header 'x-fp-date: 20230222T115108Z' --header 'x-fp-signature: v1.1:1e3ab3b02b5bc626e3c32a37ee844266ade02bbcbaafc28fc7a0e46a76a7a1a8'
237
+ curl --request GET "https://api.fynd.com/service/application/theme/v1.0/applied-theme" --header 'authorization: Bearer <authorization-token>' --header 'x-fp-sdk-version: 3.16.0' --header 'x-fp-date: 20230222T115108Z' --header 'x-fp-signature: v1.1:1e3ab3b02b5bc626e3c32a37ee844266ade02bbcbaafc28fc7a0e46a76a7a1a8'
238
238
  Active Theme: Emerge
239
239
  ```
240
240
 
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@gofynd/fdk-client-javascript",
3
- "version": "3.15.0",
3
+ "version": "3.16.0",
4
4
  "description": "",
5
5
  "main": "index.js",
6
6
  "scripts": {
@@ -12,6 +12,7 @@ declare class Order {
12
12
  getShipmentById: string;
13
13
  getShipmentReasons: string;
14
14
  sendOtpToShipmentCustomer: string;
15
+ submitDeliveryReattemptRequest: string;
15
16
  trackShipment: string;
16
17
  updateShipmentStatus: string;
17
18
  verifyOtpShipmentCustomer: string;
@@ -98,7 +99,16 @@ declare class Order {
98
99
  * @summary: Send OTP to customer
99
100
  * @description: Send OTP to the customer for shipment verification. - Check out [method documentation](https://docs.fynd.com/partners/commerce/sdk/application/order/sendOtpToShipmentCustomer/).
100
101
  */
101
- sendOtpToShipmentCustomer({ orderId, shipmentId, requestHeaders }?: object, { responseHeaders }?: import("../ApplicationAPIClient").Options, ...args: any[]): Promise<SendOtpToCustomerResponseSchema>;
102
+ sendOtpToShipmentCustomer({ orderId, shipmentId, eventType, requestHeaders }?: object, { responseHeaders }?: import("../ApplicationAPIClient").Options, ...args: any[]): Promise<SendOtpToCustomerResponseSchema>;
103
+ /**
104
+ * @param {object} [arg.requestHeaders={}] - Request headers. Default is `{}`
105
+ * @param {import("../ApplicationAPIClient").Options} - Options
106
+ * @returns {Promise<DeliveryReattemptSuccessResponseSchema>} - Success response
107
+ * @name submitDeliveryReattemptRequest
108
+ * @summary: Initiates a delivery reattempt request for a given shipment
109
+ * @description: This operation allows customers to submit a request for reattempting the delivery of a specific shipment with optional address updates and a new delivery date. - Check out [method documentation](https://docs.fynd.com/partners/commerce/sdk/application/order/submitDeliveryReattemptRequest/).
110
+ */
111
+ submitDeliveryReattemptRequest({ shipmentId, body, requestHeaders }?: object, { responseHeaders }?: import("../ApplicationAPIClient").Options, ...args: any[]): Promise<DeliveryReattemptSuccessResponseSchema>;
102
112
  /**
103
113
  * @param {object} [arg.requestHeaders={}] - Request headers. Default is `{}`
104
114
  * @param {import("../ApplicationAPIClient").Options} - Options
@@ -28,6 +28,8 @@ class Order {
28
28
  "/service/application/order/v1.0/orders/shipments/{shipment_id}/reasons",
29
29
  sendOtpToShipmentCustomer:
30
30
  "/service/application/order/v1.0/orders/{order_id}/shipments/{shipment_id}/otp/send/",
31
+ submitDeliveryReattemptRequest:
32
+ "/service/application/order/v1.0/shipments/{shipment_id}/delivery-reattempt",
31
33
  trackShipment:
32
34
  "/service/application/order/v1.0/orders/shipments/{shipment_id}/track",
33
35
  updateShipmentStatus:
@@ -447,7 +449,7 @@ class Order {
447
449
  * @description: Send OTP to the customer for shipment verification. - Check out [method documentation](https://docs.fynd.com/partners/commerce/sdk/application/order/sendOtpToShipmentCustomer/).
448
450
  */
449
451
  async sendOtpToShipmentCustomer(
450
- { orderId, shipmentId, requestHeaders } = { requestHeaders: {} },
452
+ { orderId, shipmentId, eventType, requestHeaders } = { requestHeaders: {} },
451
453
  { responseHeaders } = { responseHeaders: false }
452
454
  ) {
453
455
  const errors = validateRequiredParams(arguments[0], [
@@ -463,6 +465,7 @@ class Order {
463
465
  }
464
466
 
465
467
  const query_params = {};
468
+ query_params["event_type"] = eventType;
466
469
 
467
470
  const xHeaders = {};
468
471
 
@@ -487,6 +490,52 @@ class Order {
487
490
  return response;
488
491
  }
489
492
 
493
+ /**
494
+ * @param {object} [arg.requestHeaders={}] - Request headers. Default is `{}`
495
+ * @param {import("../ApplicationAPIClient").Options} - Options
496
+ * @returns {Promise<DeliveryReattemptSuccessResponseSchema>} - Success response
497
+ * @name submitDeliveryReattemptRequest
498
+ * @summary: Initiates a delivery reattempt request for a given shipment
499
+ * @description: This operation allows customers to submit a request for reattempting the delivery of a specific shipment with optional address updates and a new delivery date. - Check out [method documentation](https://docs.fynd.com/partners/commerce/sdk/application/order/submitDeliveryReattemptRequest/).
500
+ */
501
+ async submitDeliveryReattemptRequest(
502
+ { shipmentId, body, requestHeaders } = { requestHeaders: {} },
503
+ { responseHeaders } = { responseHeaders: false }
504
+ ) {
505
+ const errors = validateRequiredParams(arguments[0], ["shipmentId"]);
506
+ if (errors.length > 0) {
507
+ const error = new FDKClientValidationError({
508
+ message: "Missing required field",
509
+ details: errors,
510
+ });
511
+ return Promise.reject(new FDKClientValidationError(error));
512
+ }
513
+
514
+ const query_params = {};
515
+
516
+ const xHeaders = {};
517
+
518
+ const response = await ApplicationAPIClient.execute(
519
+ this._conf,
520
+ "put",
521
+ constructUrl({
522
+ url: this._urls["submitDeliveryReattemptRequest"],
523
+ params: { shipmentId },
524
+ }),
525
+ query_params,
526
+ body,
527
+ { ...xHeaders, ...requestHeaders },
528
+ { responseHeaders }
529
+ );
530
+
531
+ let responseData = response;
532
+ if (responseHeaders) {
533
+ responseData = response[0];
534
+ }
535
+
536
+ return response;
537
+ }
538
+
490
539
  /**
491
540
  * @param {object} [arg.requestHeaders={}] - Request headers. Default is `{}`
492
541
  * @param {import("../ApplicationAPIClient").Options} - Options
@@ -26,7 +26,6 @@ declare class Payment {
26
26
  getActiveRefundTransferModes: string;
27
27
  getActiveUserCards: string;
28
28
  getAggregatorsConfig: string;
29
- getEpaylaterBannerDetails: string;
30
29
  getOrderBeneficiariesDetail: string;
31
30
  getPaymentLink: string;
32
31
  getPaymentModeRoutes: string;
@@ -34,7 +33,6 @@ declare class Payment {
34
33
  getPosPaymentModeRoutes: string;
35
34
  getRefundBeneficiaries: string;
36
35
  getRefundBeneficiariesUsingOTPSession: string;
37
- getRupifiBannerDetails: string;
38
36
  getUserBeneficiariesDetail: string;
39
37
  initialisePayment: string;
40
38
  initialisePaymentPaymentLink: string;
@@ -264,15 +262,6 @@ declare class Payment {
264
262
  * @description: Get aggregator secret key of all payment gateways utilized for payments when using the SDK for the payment gateway. - Check out [method documentation](https://docs.fynd.com/partners/commerce/sdk/application/payment/getAggregatorsConfig/).
265
263
  */
266
264
  getAggregatorsConfig({ refresh, requestHeaders }?: object, { responseHeaders }?: import("../ApplicationAPIClient").Options): Promise<AggregatorsConfigDetail>;
267
- /**
268
- * @param {object} [arg.requestHeaders={}] - Request headers. Default is `{}`
269
- * @param {import("../ApplicationAPIClient").Options} - Options
270
- * @returns {Promise<EpaylaterBannerDetails>} - Success response
271
- * @name getEpaylaterBannerDetails
272
- * @summary: Epaylater banner info
273
- * @description: Get Epaylater payment banner details. It provides information about the banner's display status, along with relevant messages and the user's registration status. - Check out [method documentation](https://docs.fynd.com/partners/commerce/sdk/application/payment/getEpaylaterBannerDetails/).
274
- */
275
- getEpaylaterBannerDetails({ requestHeaders }?: object, { responseHeaders }?: import("../ApplicationAPIClient").Options): Promise<EpaylaterBannerDetails>;
276
265
  /**
277
266
  * @param {object} [arg.requestHeaders={}] - Request headers. Default is `{}`
278
267
  * @param {import("../ApplicationAPIClient").Options} - Options
@@ -336,15 +325,6 @@ declare class Payment {
336
325
  * @description: Returns a list of UPI and Bank refund beneficiaries associated with a user for a given order and shipment. Use the optional filter_by enum parameter to refine the response. When the value of filter_by is order, the API returns only beneficiaries associated with the order. When the value of filter_by is shipment, it returns only beneficiaries associated with the shipment. - Check out [method documentation](https://docs.fynd.com/partners/commerce/sdk/application/payment/getRefundBeneficiariesUsingOTPSession/).
337
326
  */
338
327
  getRefundBeneficiariesUsingOTPSession({ orderId, shipmentId, filterBy, requestHeaders }?: object, { responseHeaders }?: import("../ApplicationAPIClient").Options): Promise<RefundBeneficiaries>;
339
- /**
340
- * @param {object} [arg.requestHeaders={}] - Request headers. Default is `{}`
341
- * @param {import("../ApplicationAPIClient").Options} - Options
342
- * @returns {Promise<RupifiBannerDetails>} - Success response
343
- * @name getRupifiBannerDetails
344
- * @summary: Rupifi banner info
345
- * @description: Get Rupifi payment banner details. It provides information such as the KYC URL and the current status of the Rupifi payment banner. - Check out [method documentation](https://docs.fynd.com/partners/commerce/sdk/application/payment/getRupifiBannerDetails/).
346
- */
347
- getRupifiBannerDetails({ requestHeaders }?: object, { responseHeaders }?: import("../ApplicationAPIClient").Options): Promise<RupifiBannerDetails>;
348
328
  /**
349
329
  * @param {object} [arg.requestHeaders={}] - Request headers. Default is `{}`
350
330
  * @param {import("../ApplicationAPIClient").Options} - Options
@@ -50,8 +50,6 @@ class Payment {
50
50
  getActiveUserCards: "/service/application/payment/v1.0/cards",
51
51
  getAggregatorsConfig:
52
52
  "/service/application/payment/v1.0/config/aggregators/key",
53
- getEpaylaterBannerDetails:
54
- "/service/application/payment/v1.0/epaylater/banner",
55
53
  getOrderBeneficiariesDetail:
56
54
  "/service/application/payment/v1.0/refund/order/beneficiaries",
57
55
  getPaymentLink: "/service/application/payment/v1.0/create-payment-link/",
@@ -64,7 +62,6 @@ class Payment {
64
62
  "/service/application/payment/v2.0/refund/user/beneficiary",
65
63
  getRefundBeneficiariesUsingOTPSession:
66
64
  "/service/application/payment/v2.0/refund/user/beneficiary-otp",
67
- getRupifiBannerDetails: "/service/application/payment/v1.0/rupifi/banner",
68
65
  getUserBeneficiariesDetail:
69
66
  "/service/application/payment/v1.0/refund/user/beneficiary",
70
67
  initialisePayment: "/service/application/payment/v1.0/payment/request",
@@ -991,43 +988,6 @@ class Payment {
991
988
  return response;
992
989
  }
993
990
 
994
- /**
995
- * @param {object} [arg.requestHeaders={}] - Request headers. Default is `{}`
996
- * @param {import("../ApplicationAPIClient").Options} - Options
997
- * @returns {Promise<EpaylaterBannerDetails>} - Success response
998
- * @name getEpaylaterBannerDetails
999
- * @summary: Epaylater banner info
1000
- * @description: Get Epaylater payment banner details. It provides information about the banner's display status, along with relevant messages and the user's registration status. - Check out [method documentation](https://docs.fynd.com/partners/commerce/sdk/application/payment/getEpaylaterBannerDetails/).
1001
- */
1002
- async getEpaylaterBannerDetails(
1003
- { requestHeaders } = { requestHeaders: {} },
1004
- { responseHeaders } = { responseHeaders: false }
1005
- ) {
1006
- const query_params = {};
1007
-
1008
- const xHeaders = {};
1009
-
1010
- const response = await ApplicationAPIClient.execute(
1011
- this._conf,
1012
- "get",
1013
- constructUrl({
1014
- url: this._urls["getEpaylaterBannerDetails"],
1015
- params: {},
1016
- }),
1017
- query_params,
1018
- undefined,
1019
- { ...xHeaders, ...requestHeaders },
1020
- { responseHeaders }
1021
- );
1022
-
1023
- let responseData = response;
1024
- if (responseHeaders) {
1025
- responseData = response[0];
1026
- }
1027
-
1028
- return response;
1029
- }
1030
-
1031
991
  /**
1032
992
  * @param {object} [arg.requestHeaders={}] - Request headers. Default is `{}`
1033
993
  * @param {import("../ApplicationAPIClient").Options} - Options
@@ -1336,43 +1296,6 @@ class Payment {
1336
1296
  return response;
1337
1297
  }
1338
1298
 
1339
- /**
1340
- * @param {object} [arg.requestHeaders={}] - Request headers. Default is `{}`
1341
- * @param {import("../ApplicationAPIClient").Options} - Options
1342
- * @returns {Promise<RupifiBannerDetails>} - Success response
1343
- * @name getRupifiBannerDetails
1344
- * @summary: Rupifi banner info
1345
- * @description: Get Rupifi payment banner details. It provides information such as the KYC URL and the current status of the Rupifi payment banner. - Check out [method documentation](https://docs.fynd.com/partners/commerce/sdk/application/payment/getRupifiBannerDetails/).
1346
- */
1347
- async getRupifiBannerDetails(
1348
- { requestHeaders } = { requestHeaders: {} },
1349
- { responseHeaders } = { responseHeaders: false }
1350
- ) {
1351
- const query_params = {};
1352
-
1353
- const xHeaders = {};
1354
-
1355
- const response = await ApplicationAPIClient.execute(
1356
- this._conf,
1357
- "get",
1358
- constructUrl({
1359
- url: this._urls["getRupifiBannerDetails"],
1360
- params: {},
1361
- }),
1362
- query_params,
1363
- undefined,
1364
- { ...xHeaders, ...requestHeaders },
1365
- { responseHeaders }
1366
- );
1367
-
1368
- let responseData = response;
1369
- if (responseHeaders) {
1370
- responseData = response[0];
1371
- }
1372
-
1373
- return response;
1374
- }
1375
-
1376
1299
  /**
1377
1300
  * @param {object} [arg.requestHeaders={}] - Request headers. Default is `{}`
1378
1301
  * @param {import("../ApplicationAPIClient").Options} - Options
@@ -12,7 +12,7 @@ export = LeadPartnerModel;
12
12
  * @property {boolean} [has_previous] - Indicates whether there is a previous page.
13
13
  * @property {boolean} [has_next] - Indicates whether there is a next page.
14
14
  * @property {number} [current] - The current page number.
15
- * @property {string} type - The type of the page, such as 'PageType'.
15
+ * @property {string} type - The type of the page, can be 'cursor' or 'number'.
16
16
  * @property {number} [size] - The number of items per page.
17
17
  * @property {number} [page_size] - The number of items per page.
18
18
  */
@@ -216,7 +216,7 @@ type Page = {
216
216
  */
217
217
  current?: number;
218
218
  /**
219
- * - The type of the page, such as 'PageType'.
219
+ * - The type of the page, can be 'cursor' or 'number'.
220
220
  */
221
221
  type: string;
222
222
  /**
@@ -14,7 +14,7 @@ const Joi = require("joi");
14
14
  * @property {boolean} [has_previous] - Indicates whether there is a previous page.
15
15
  * @property {boolean} [has_next] - Indicates whether there is a next page.
16
16
  * @property {number} [current] - The current page number.
17
- * @property {string} type - The type of the page, such as 'PageType'.
17
+ * @property {string} type - The type of the page, can be 'cursor' or 'number'.
18
18
  * @property {number} [size] - The number of items per page.
19
19
  * @property {number} [page_size] - The number of items per page.
20
20
  */
@@ -578,7 +578,7 @@ export = LogisticsPartnerModel;
578
578
  * @property {boolean} [has_previous] - Indicates whether there is a previous page.
579
579
  * @property {boolean} [has_next] - Indicates whether there is a next page.
580
580
  * @property {number} [current] - The current page number.
581
- * @property {string} type - The type of the page, such as 'PageType'.
581
+ * @property {string} type - The type of the page, can be 'cursor' or 'number'.
582
582
  * @property {number} [size] - The number of items per page.
583
583
  * @property {number} [page_size] - The number of items per page.
584
584
  */
@@ -2018,7 +2018,7 @@ type Page = {
2018
2018
  */
2019
2019
  current?: number;
2020
2020
  /**
2021
- * - The type of the page, such as 'PageType'.
2021
+ * - The type of the page, can be 'cursor' or 'number'.
2022
2022
  */
2023
2023
  type: string;
2024
2024
  /**
@@ -615,7 +615,7 @@ const Joi = require("joi");
615
615
  * @property {boolean} [has_previous] - Indicates whether there is a previous page.
616
616
  * @property {boolean} [has_next] - Indicates whether there is a next page.
617
617
  * @property {number} [current] - The current page number.
618
- * @property {string} type - The type of the page, such as 'PageType'.
618
+ * @property {string} type - The type of the page, can be 'cursor' or 'number'.
619
619
  * @property {number} [size] - The number of items per page.
620
620
  * @property {number} [page_size] - The number of items per page.
621
621
  */
@@ -254,7 +254,7 @@ export = WebhookPartnerModel;
254
254
  * @property {boolean} [has_previous] - Indicates whether there is a previous page.
255
255
  * @property {boolean} [has_next] - Indicates whether there is a next page.
256
256
  * @property {number} [current] - The current page number.
257
- * @property {string} type - The type of the page, such as 'PageType'.
257
+ * @property {string} type - The type of the page, can be 'cursor' or 'number'.
258
258
  * @property {number} [size] - The number of items per page.
259
259
  * @property {number} [page_size] - The number of items per page.
260
260
  */
@@ -927,7 +927,7 @@ type Page = {
927
927
  */
928
928
  current?: number;
929
929
  /**
930
- * - The type of the page, such as 'PageType'.
930
+ * - The type of the page, can be 'cursor' or 'number'.
931
931
  */
932
932
  type: string;
933
933
  /**
@@ -282,7 +282,7 @@ const Joi = require("joi");
282
282
  * @property {boolean} [has_previous] - Indicates whether there is a previous page.
283
283
  * @property {boolean} [has_next] - Indicates whether there is a next page.
284
284
  * @property {number} [current] - The current page number.
285
- * @property {string} type - The type of the page, such as 'PageType'.
285
+ * @property {string} type - The type of the page, can be 'cursor' or 'number'.
286
286
  * @property {number} [size] - The number of items per page.
287
287
  * @property {number} [page_size] - The number of items per page.
288
288
  */
@@ -6,7 +6,7 @@ export = AnalyticsPlatformModel;
6
6
  * @property {boolean} [has_previous] - Indicates whether there is a previous page.
7
7
  * @property {boolean} [has_next] - Indicates whether there is a next page.
8
8
  * @property {number} [current] - The current page number.
9
- * @property {string} type - The type of the page, such as 'PageType'.
9
+ * @property {string} type - The type of the page, can be 'cursor' or 'number'.
10
10
  * @property {number} [size] - The number of items per page.
11
11
  * @property {number} [page_size] - The number of items per page.
12
12
  */
@@ -65,7 +65,7 @@ type Page = {
65
65
  */
66
66
  current?: number;
67
67
  /**
68
- * - The type of the page, such as 'PageType'.
68
+ * - The type of the page, can be 'cursor' or 'number'.
69
69
  */
70
70
  type: string;
71
71
  /**
@@ -7,7 +7,7 @@ const Joi = require("joi");
7
7
  * @property {boolean} [has_previous] - Indicates whether there is a previous page.
8
8
  * @property {boolean} [has_next] - Indicates whether there is a next page.
9
9
  * @property {number} [current] - The current page number.
10
- * @property {string} type - The type of the page, such as 'PageType'.
10
+ * @property {string} type - The type of the page, can be 'cursor' or 'number'.
11
11
  * @property {number} [size] - The number of items per page.
12
12
  * @property {number} [page_size] - The number of items per page.
13
13
  */
@@ -553,6 +553,16 @@ declare class Cart {
553
553
  * @description: Customers can modify added product attributes such as quantity and size, as well as remove items from the cart. - Check out [method documentation](https://docs.fynd.com/partners/commerce/sdk/platform/cart/updateCart/).
554
554
  */
555
555
  updateCart({ cartId, body, b, requestHeaders }?: CartPlatformApplicationValidator.UpdateCartParam, { responseHeaders }?: object): Promise<CartPlatformModel.UpdateCartDetailResult>;
556
+ /**
557
+ * @param {CartPlatformApplicationValidator.UpdateCartBreakupParam} arg - Arg object
558
+ * @param {object} [arg.requestHeaders={}] - Request headers. Default is `{}`
559
+ * @param {import("../PlatformAPIClient").Options} - Options
560
+ * @returns {Promise<CartPlatformModel.UpdateCartDetailResult>} - Success response
561
+ * @name updateCartBreakup
562
+ * @summary: Update cart breakup values
563
+ * @description: Updates the cart breakup based on the enabled features and user preferences. This endpoint allows customers to modify how their cart totals are calculated — including options such as applying store credits, loyalty points, discounts, and other promotional benefits. The API recalculates and returns the updated breakup reflecting the selected configurations in real-time. - Check out [method documentation](https://docs.fynd.com/partners/commerce/sdk/platform/cart/updateCartBreakup/).
564
+ */
565
+ updateCartBreakup({ body, xOrderingSource, id, i, b, buyNow, requestHeaders }?: CartPlatformApplicationValidator.UpdateCartBreakupParam, { responseHeaders }?: object): Promise<CartPlatformModel.UpdateCartDetailResult>;
556
566
  /**
557
567
  * @param {CartPlatformApplicationValidator.UpdateCartMetaParam} arg - Arg object
558
568
  * @param {object} [arg.requestHeaders={}] - Request headers. Default is `{}`
@@ -4601,6 +4601,101 @@ class Cart {
4601
4601
  return response;
4602
4602
  }
4603
4603
 
4604
+ /**
4605
+ * @param {CartPlatformApplicationValidator.UpdateCartBreakupParam} arg - Arg object
4606
+ * @param {object} [arg.requestHeaders={}] - Request headers. Default is `{}`
4607
+ * @param {import("../PlatformAPIClient").Options} - Options
4608
+ * @returns {Promise<CartPlatformModel.UpdateCartDetailResult>} - Success response
4609
+ * @name updateCartBreakup
4610
+ * @summary: Update cart breakup values
4611
+ * @description: Updates the cart breakup based on the enabled features and user preferences. This endpoint allows customers to modify how their cart totals are calculated — including options such as applying store credits, loyalty points, discounts, and other promotional benefits. The API recalculates and returns the updated breakup reflecting the selected configurations in real-time. - Check out [method documentation](https://docs.fynd.com/partners/commerce/sdk/platform/cart/updateCartBreakup/).
4612
+ */
4613
+ async updateCartBreakup(
4614
+ { body, xOrderingSource, id, i, b, buyNow, requestHeaders } = {
4615
+ requestHeaders: {},
4616
+ },
4617
+ { responseHeaders } = { responseHeaders: false }
4618
+ ) {
4619
+ const {
4620
+ error,
4621
+ } = CartPlatformApplicationValidator.updateCartBreakup().validate(
4622
+ {
4623
+ body,
4624
+ xOrderingSource,
4625
+ id,
4626
+ i,
4627
+ b,
4628
+ buyNow,
4629
+ },
4630
+ { abortEarly: false, allowUnknown: true }
4631
+ );
4632
+ if (error) {
4633
+ return Promise.reject(new FDKClientValidationError(error));
4634
+ }
4635
+
4636
+ // Showing warrnings if extra unknown parameters are found
4637
+ const {
4638
+ error: warrning,
4639
+ } = CartPlatformApplicationValidator.updateCartBreakup().validate(
4640
+ {
4641
+ body,
4642
+ xOrderingSource,
4643
+ id,
4644
+ i,
4645
+ b,
4646
+ buyNow,
4647
+ },
4648
+ { abortEarly: false, allowUnknown: false }
4649
+ );
4650
+ if (warrning) {
4651
+ Logger({
4652
+ level: "WARN",
4653
+ message: `Parameter Validation warrnings for platform > Cart > updateCartBreakup \n ${warrning}`,
4654
+ });
4655
+ }
4656
+
4657
+ const query_params = {};
4658
+ query_params["id"] = id;
4659
+ query_params["i"] = i;
4660
+ query_params["b"] = b;
4661
+ query_params["buy_now"] = buyNow;
4662
+
4663
+ const response = await PlatformAPIClient.execute(
4664
+ this.config,
4665
+ "patch",
4666
+ `/service/platform/cart/v1.0/company/${this.config.companyId}/application/${this.applicationId}/detail`,
4667
+ query_params,
4668
+ body,
4669
+ requestHeaders,
4670
+ { responseHeaders }
4671
+ );
4672
+
4673
+ let responseData = response;
4674
+ if (responseHeaders) {
4675
+ responseData = response[0];
4676
+ }
4677
+
4678
+ const {
4679
+ error: res_error,
4680
+ } = CartPlatformModel.UpdateCartDetailResult().validate(responseData, {
4681
+ abortEarly: false,
4682
+ allowUnknown: true,
4683
+ });
4684
+
4685
+ if (res_error) {
4686
+ if (this.config.options.strictResponseCheck === true) {
4687
+ return Promise.reject(new FDKResponseValidationError(res_error));
4688
+ } else {
4689
+ Logger({
4690
+ level: "WARN",
4691
+ message: `Response Validation Warnings for platform > Cart > updateCartBreakup \n ${res_error}`,
4692
+ });
4693
+ }
4694
+ }
4695
+
4696
+ return response;
4697
+ }
4698
+
4604
4699
  /**
4605
4700
  * @param {CartPlatformApplicationValidator.UpdateCartMetaParam} arg - Arg object
4606
4701
  * @param {object} [arg.requestHeaders={}] - Request headers. Default is `{}`
@@ -371,6 +371,21 @@ export = CartPlatformApplicationValidator;
371
371
  * @property {boolean} [b]
372
372
  * @property {CartPlatformModel.UpdateCartCreation} body
373
373
  */
374
+ /**
375
+ * @typedef UpdateCartBreakupParam
376
+ * @property {string} [xOrderingSource] - Identifier for the ordering source
377
+ * (e.g., web, mobile app, POS). Used to determine the origin of the order
378
+ * request and apply source-specific rules.
379
+ * @property {string} [id] - Unique identifier of the cart for which the breakup
380
+ * needs to be updated.
381
+ * @property {boolean} [i] - Set to `true` to include all items currently added
382
+ * to the cart in the response.
383
+ * @property {boolean} [b] - Set to `true` to include the detailed price breakup
384
+ * of each cart item in the response.
385
+ * @property {boolean} [buyNow] - Set to `true` to initialize a "Buy Now" cart
386
+ * flow, enabling direct checkout for a single item.
387
+ * @property {CartPlatformModel.UpdateCartBreakup} body
388
+ */
374
389
  /**
375
390
  * @typedef UpdateCartMetaParam
376
391
  * @property {string} [id]
@@ -550,6 +565,8 @@ declare class CartPlatformApplicationValidator {
550
565
  static updateAddress(): UpdateAddressParam;
551
566
  /** @returns {UpdateCartParam} */
552
567
  static updateCart(): UpdateCartParam;
568
+ /** @returns {UpdateCartBreakupParam} */
569
+ static updateCartBreakup(): UpdateCartBreakupParam;
553
570
  /** @returns {UpdateCartMetaParam} */
554
571
  static updateCartMeta(): UpdateCartMetaParam;
555
572
  /** @returns {UpdateCartMetaConfigParam} */
@@ -574,7 +591,7 @@ declare class CartPlatformApplicationValidator {
574
591
  static validateCouponForPayment(): ValidateCouponForPaymentParam;
575
592
  }
576
593
  declare namespace CartPlatformApplicationValidator {
577
- export { AddAddressParam, AddItemsParam, AddPriceAdjustmentParam, ApplyCouponParam, ApplyLoyaltyPointsParam, CheckCartServiceabilityParam, CheckoutCartParam, CreateCartMetaConfigParam, CreateCouponParam, CreatePromotionParam, DeleteCartParam, DeleteCouponParam, DeletePromotionParam, FetchAndvalidateCartItemsParam, FetchCartMetaConfigParam, GetAbandonedCartParam, GetAbandonedCartDetailsParam, GetAddressByIdParam, GetAddressesParam, GetAppCouponsParam, GetAvailableDeliveryModesParam, GetCartParam, GetCartListParam, GetCartShareLinkParam, GetCartSharedItemsParam, GetCouponByIdParam, GetCouponCodeExistsParam, GetCouponOptionValuesParam, GetCouponsParam, GetItemCountParam, GetPriceAdjustmentsParam, GetPromosCouponConfigParam, GetPromotionByIdParam, GetPromotionCodeExistsParam, GetPromotionOffersParam, GetPromotionPaymentOffersParam, GetPromotionsParam, GetShipmentsParam, GetStoreAddressByUidParam, OverrideCartParam, PlatformAddItemsParam, PlatformCheckoutCartParam, PlatformCheckoutCartV2Param, PlatformUpdateCartParam, RemoveAddressParam, RemoveCouponParam, RemovePriceAdjustmentParam, SelectAddressParam, SelectPaymentModeParam, SelectPaymentModeV2Param, UpdateAddressParam, UpdateCartParam, UpdateCartMetaParam, UpdateCartMetaConfigParam, UpdateCartUserParam, UpdateCartWithSharedItemsParam, UpdateCouponParam, UpdateCouponPartiallyParam, UpdatePriceAdjustmentParam, UpdatePromotionParam, UpdatePromotionPartiallyParam, UpdateShipmentsParam, ValidateCouponForPaymentParam };
594
+ export { AddAddressParam, AddItemsParam, AddPriceAdjustmentParam, ApplyCouponParam, ApplyLoyaltyPointsParam, CheckCartServiceabilityParam, CheckoutCartParam, CreateCartMetaConfigParam, CreateCouponParam, CreatePromotionParam, DeleteCartParam, DeleteCouponParam, DeletePromotionParam, FetchAndvalidateCartItemsParam, FetchCartMetaConfigParam, GetAbandonedCartParam, GetAbandonedCartDetailsParam, GetAddressByIdParam, GetAddressesParam, GetAppCouponsParam, GetAvailableDeliveryModesParam, GetCartParam, GetCartListParam, GetCartShareLinkParam, GetCartSharedItemsParam, GetCouponByIdParam, GetCouponCodeExistsParam, GetCouponOptionValuesParam, GetCouponsParam, GetItemCountParam, GetPriceAdjustmentsParam, GetPromosCouponConfigParam, GetPromotionByIdParam, GetPromotionCodeExistsParam, GetPromotionOffersParam, GetPromotionPaymentOffersParam, GetPromotionsParam, GetShipmentsParam, GetStoreAddressByUidParam, OverrideCartParam, PlatformAddItemsParam, PlatformCheckoutCartParam, PlatformCheckoutCartV2Param, PlatformUpdateCartParam, RemoveAddressParam, RemoveCouponParam, RemovePriceAdjustmentParam, SelectAddressParam, SelectPaymentModeParam, SelectPaymentModeV2Param, UpdateAddressParam, UpdateCartParam, UpdateCartBreakupParam, UpdateCartMetaParam, UpdateCartMetaConfigParam, UpdateCartUserParam, UpdateCartWithSharedItemsParam, UpdateCouponParam, UpdateCouponPartiallyParam, UpdatePriceAdjustmentParam, UpdatePromotionParam, UpdatePromotionPartiallyParam, UpdateShipmentsParam, ValidateCouponForPaymentParam };
578
595
  }
579
596
  type AddAddressParam = {
580
597
  body: CartPlatformModel.PlatformAddress;
@@ -1094,6 +1111,35 @@ type UpdateCartParam = {
1094
1111
  b?: boolean;
1095
1112
  body: CartPlatformModel.UpdateCartCreation;
1096
1113
  };
1114
+ type UpdateCartBreakupParam = {
1115
+ /**
1116
+ * - Identifier for the ordering source
1117
+ * (e.g., web, mobile app, POS). Used to determine the origin of the order
1118
+ * request and apply source-specific rules.
1119
+ */
1120
+ xOrderingSource?: string;
1121
+ /**
1122
+ * - Unique identifier of the cart for which the breakup
1123
+ * needs to be updated.
1124
+ */
1125
+ id?: string;
1126
+ /**
1127
+ * - Set to `true` to include all items currently added
1128
+ * to the cart in the response.
1129
+ */
1130
+ i?: boolean;
1131
+ /**
1132
+ * - Set to `true` to include the detailed price breakup
1133
+ * of each cart item in the response.
1134
+ */
1135
+ b?: boolean;
1136
+ /**
1137
+ * - Set to `true` to initialize a "Buy Now" cart
1138
+ * flow, enabling direct checkout for a single item.
1139
+ */
1140
+ buyNow?: boolean;
1141
+ body: CartPlatformModel.UpdateCartBreakup;
1142
+ };
1097
1143
  type UpdateCartMetaParam = {
1098
1144
  id?: string;
1099
1145
  buyNow?: boolean;
@@ -426,6 +426,22 @@ const CartPlatformModel = require("./CartPlatformModel");
426
426
  * @property {CartPlatformModel.UpdateCartCreation} body
427
427
  */
428
428
 
429
+ /**
430
+ * @typedef UpdateCartBreakupParam
431
+ * @property {string} [xOrderingSource] - Identifier for the ordering source
432
+ * (e.g., web, mobile app, POS). Used to determine the origin of the order
433
+ * request and apply source-specific rules.
434
+ * @property {string} [id] - Unique identifier of the cart for which the breakup
435
+ * needs to be updated.
436
+ * @property {boolean} [i] - Set to `true` to include all items currently added
437
+ * to the cart in the response.
438
+ * @property {boolean} [b] - Set to `true` to include the detailed price breakup
439
+ * of each cart item in the response.
440
+ * @property {boolean} [buyNow] - Set to `true` to initialize a "Buy Now" cart
441
+ * flow, enabling direct checkout for a single item.
442
+ * @property {CartPlatformModel.UpdateCartBreakup} body
443
+ */
444
+
429
445
  /**
430
446
  * @typedef UpdateCartMetaParam
431
447
  * @property {string} [id]
@@ -1020,6 +1036,19 @@ class CartPlatformApplicationValidator {
1020
1036
  }).required();
1021
1037
  }
1022
1038
 
1039
+ /** @returns {UpdateCartBreakupParam} */
1040
+ static updateCartBreakup() {
1041
+ return Joi.object({
1042
+ xOrderingSource: Joi.string().allow(""),
1043
+
1044
+ id: Joi.string().allow(""),
1045
+ i: Joi.boolean(),
1046
+ b: Joi.boolean(),
1047
+ buyNow: Joi.boolean(),
1048
+ body: CartPlatformModel.UpdateCartBreakup().required(),
1049
+ }).required();
1050
+ }
1051
+
1023
1052
  /** @returns {UpdateCartMetaParam} */
1024
1053
  static updateCartMeta() {
1025
1054
  return Joi.object({