@gofynd/fdk-client-javascript 3.18.0 → 3.20.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 (47) hide show
  1. package/README.md +1 -1
  2. package/package.json +1 -1
  3. package/sdk/application/Cart/CartApplicationClient.d.ts +2 -2
  4. package/sdk/application/Cart/CartApplicationClient.js +12 -4
  5. package/sdk/application/Order/OrderApplicationClient.d.ts +11 -0
  6. package/sdk/application/Order/OrderApplicationClient.js +49 -0
  7. package/sdk/application/Payment/PaymentApplicationClient.d.ts +1 -1
  8. package/sdk/application/Payment/PaymentApplicationClient.js +2 -0
  9. package/sdk/common/utils.d.ts +1 -1
  10. package/sdk/common/utils.js +1 -0
  11. package/sdk/partner/Logistics/LogisticsPartnerClient.d.ts +1 -1
  12. package/sdk/partner/Logistics/LogisticsPartnerClient.js +11 -3
  13. package/sdk/partner/Logistics/LogisticsPartnerValidator.js +1 -0
  14. package/sdk/partner/Webhook/WebhookPartnerClient.d.ts +46 -0
  15. package/sdk/partner/Webhook/WebhookPartnerClient.js +334 -0
  16. package/sdk/partner/Webhook/WebhookPartnerModel.d.ts +222 -1
  17. package/sdk/partner/Webhook/WebhookPartnerModel.js +165 -0
  18. package/sdk/partner/Webhook/WebhookPartnerValidator.d.ts +4 -0
  19. package/sdk/partner/Webhook/WebhookPartnerValidator.js +30 -0
  20. package/sdk/platform/Cart/CartPlatformApplicationClient.d.ts +5 -5
  21. package/sdk/platform/Cart/CartPlatformApplicationClient.js +50 -7
  22. package/sdk/platform/Cart/CartPlatformApplicationValidator.d.ts +69 -10
  23. package/sdk/platform/Cart/CartPlatformApplicationValidator.js +30 -5
  24. package/sdk/platform/Cart/CartPlatformModel.d.ts +97 -72
  25. package/sdk/platform/Cart/CartPlatformModel.js +54 -35
  26. package/sdk/platform/Catalog/CatalogPlatformApplicationClient.d.ts +1 -1
  27. package/sdk/platform/Catalog/CatalogPlatformApplicationClient.js +1 -1
  28. package/sdk/platform/Catalog/CatalogPlatformClient.d.ts +17 -11
  29. package/sdk/platform/Catalog/CatalogPlatformClient.js +18 -12
  30. package/sdk/platform/Catalog/CatalogPlatformModel.d.ts +353 -156
  31. package/sdk/platform/Catalog/CatalogPlatformModel.js +176 -87
  32. package/sdk/platform/Catalog/CatalogPlatformValidator.d.ts +40 -38
  33. package/sdk/platform/Catalog/CatalogPlatformValidator.js +22 -21
  34. package/sdk/platform/Communication/CommunicationPlatformApplicationClient.d.ts +1 -1
  35. package/sdk/platform/Communication/CommunicationPlatformApplicationClient.js +1 -1
  36. package/sdk/platform/Content/ContentPlatformModel.d.ts +7 -7
  37. package/sdk/platform/Content/ContentPlatformModel.js +5 -5
  38. package/sdk/platform/Order/OrderPlatformModel.d.ts +6 -6
  39. package/sdk/platform/Order/OrderPlatformModel.js +5 -5
  40. package/sdk/platform/Serviceability/ServiceabilityPlatformClient.d.ts +1 -1
  41. package/sdk/platform/Serviceability/ServiceabilityPlatformClient.js +12 -3
  42. package/sdk/platform/Serviceability/ServiceabilityPlatformValidator.d.ts +5 -0
  43. package/sdk/platform/Serviceability/ServiceabilityPlatformValidator.js +2 -0
  44. package/sdk/platform/User/UserPlatformApplicationClient.d.ts +4 -2
  45. package/sdk/platform/User/UserPlatformApplicationClient.js +9 -5
  46. package/sdk/platform/User/UserPlatformModel.d.ts +43 -3
  47. package/sdk/platform/User/UserPlatformModel.js +27 -3
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.18.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.20.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.18.0",
3
+ "version": "3.20.0",
4
4
  "description": "",
5
5
  "main": "index.js",
6
6
  "scripts": {
@@ -102,7 +102,7 @@ declare class Cart {
102
102
  * @summary: Checkout cart
103
103
  * @description: The checkout cart initiates the order creation process based on the items in the user's cart, their selected address, and chosen payment methods. It also supports multiple payment method options and revalidates the cart details to ensure a secure and seamless order placement. - Check out [method documentation](https://docs.fynd.com/partners/commerce/sdk/application/cart/checkoutCartV2/).
104
104
  */
105
- checkoutCartV2({ body, xOrderingSource, buyNow, cartType, requestHeaders }?: object, { responseHeaders }?: import("../ApplicationAPIClient").Options): Promise<CartCheckoutResult>;
105
+ checkoutCartV2({ body, xOrderingSource, xLocationDetail, xCurrencyCode, buyNow, cartType, requestHeaders, }?: object, { responseHeaders }?: import("../ApplicationAPIClient").Options): Promise<CartCheckoutResult>;
106
106
  /**
107
107
  * @param {object} [arg.requestHeaders={}] - Request headers. Default is `{}`
108
108
  * @param {import("../ApplicationAPIClient").Options} - Options
@@ -298,7 +298,7 @@ declare class Cart {
298
298
  * @returns {Promise<UpdateAddressResult>} - Success response
299
299
  * @name updateAddress
300
300
  * @summary: Updates an existing customer address
301
- * @description: Customer can modify the details of a previously saved addresses. - Check out [method documentation](https://docs.fynd.com/partners/commerce/sdk/application/cart/updateAddress/).
301
+ * @description: Customer can modify the details of a previously saved address. - Check out [method documentation](https://docs.fynd.com/partners/commerce/sdk/application/cart/updateAddress/).
302
302
  */
303
303
  updateAddress({ id, body, requestHeaders }?: object, { responseHeaders }?: import("../ApplicationAPIClient").Options, ...args: any[]): Promise<UpdateAddressResult>;
304
304
  /**
@@ -338,9 +338,15 @@ class Cart {
338
338
  * @description: The checkout cart initiates the order creation process based on the items in the user's cart, their selected address, and chosen payment methods. It also supports multiple payment method options and revalidates the cart details to ensure a secure and seamless order placement. - Check out [method documentation](https://docs.fynd.com/partners/commerce/sdk/application/cart/checkoutCartV2/).
339
339
  */
340
340
  async checkoutCartV2(
341
- { body, xOrderingSource, buyNow, cartType, requestHeaders } = {
342
- requestHeaders: {},
343
- },
341
+ {
342
+ body,
343
+ xOrderingSource,
344
+ xLocationDetail,
345
+ xCurrencyCode,
346
+ buyNow,
347
+ cartType,
348
+ requestHeaders,
349
+ } = { requestHeaders: {} },
344
350
  { responseHeaders } = { responseHeaders: false }
345
351
  ) {
346
352
  const query_params = {};
@@ -349,6 +355,8 @@ class Cart {
349
355
 
350
356
  const xHeaders = {};
351
357
  xHeaders["x-ordering-source"] = xOrderingSource;
358
+ xHeaders["x-location-detail"] = xLocationDetail;
359
+ xHeaders["x-currency-code"] = xCurrencyCode;
352
360
 
353
361
  const response = await ApplicationAPIClient.execute(
354
362
  this._conf,
@@ -1314,7 +1322,7 @@ class Cart {
1314
1322
  * @returns {Promise<UpdateAddressResult>} - Success response
1315
1323
  * @name updateAddress
1316
1324
  * @summary: Updates an existing customer address
1317
- * @description: Customer can modify the details of a previously saved addresses. - Check out [method documentation](https://docs.fynd.com/partners/commerce/sdk/application/cart/updateAddress/).
1325
+ * @description: Customer can modify the details of a previously saved address. - Check out [method documentation](https://docs.fynd.com/partners/commerce/sdk/application/cart/updateAddress/).
1318
1326
  */
1319
1327
  async updateAddress(
1320
1328
  { id, body, requestHeaders } = { requestHeaders: {} },
@@ -9,6 +9,7 @@ declare class Order {
9
9
  getOrders: string;
10
10
  getPosOrderById: string;
11
11
  getRefundModes: string;
12
+ getRefundModesWithPriceBreakup: string;
12
13
  getShipmentBagReasons: string;
13
14
  getShipmentById: string;
14
15
  getShipmentReasons: string;
@@ -75,6 +76,16 @@ declare class Order {
75
76
  * - Check out [method documentation](https://docs.fynd.com/partners/commerce/sdk/application/order/getRefundModes/).
76
77
  */
77
78
  getRefundModes({ shipmentId, lineNumbers, requestHeaders }?: object, { responseHeaders }?: import("../ApplicationAPIClient").Options, ...args: any[]): Promise<RefundOptions>;
79
+ /**
80
+ * @param {object} [arg.requestHeaders={}] - Request headers. Default is `{}`
81
+ * @param {import("../ApplicationAPIClient").Options} - Options
82
+ * @returns {Promise<RefundOptions>} - Success response
83
+ * @name getRefundModesWithPriceBreakup
84
+ * @summary: Get refund modes and Refund Price Break for a shipment
85
+ * @description: Returns a list of available refund options for the given company and shipment.
86
+ * - Check out [method documentation](https://docs.fynd.com/partners/commerce/sdk/application/order/getRefundModesWithPriceBreakup/).
87
+ */
88
+ getRefundModesWithPriceBreakup({ shipmentId, body, requestHeaders }?: object, { responseHeaders }?: import("../ApplicationAPIClient").Options, ...args: any[]): Promise<RefundOptions>;
78
89
  /**
79
90
  * @param {object} [arg.requestHeaders={}] - Request headers. Default is `{}`
80
91
  * @param {import("../ApplicationAPIClient").Options} - Options
@@ -22,6 +22,8 @@ class Order {
22
22
  "/service/application/order/v1.0/orders/pos-order/{order_id}",
23
23
  getRefundModes:
24
24
  "/service/application/order-manage/v1.0/shipment/{shipment_id}/refund/modes",
25
+ getRefundModesWithPriceBreakup:
26
+ "/service/application/order-manage/v1.0/shipment/{shipment_id}/refund/modes",
25
27
  getShipmentBagReasons:
26
28
  "/service/application/order/v1.0/orders/shipments/{shipment_id}/bags/{bag_id}/reasons",
27
29
  getShipmentById:
@@ -348,6 +350,53 @@ class Order {
348
350
  return response;
349
351
  }
350
352
 
353
+ /**
354
+ * @param {object} [arg.requestHeaders={}] - Request headers. Default is `{}`
355
+ * @param {import("../ApplicationAPIClient").Options} - Options
356
+ * @returns {Promise<RefundOptions>} - Success response
357
+ * @name getRefundModesWithPriceBreakup
358
+ * @summary: Get refund modes and Refund Price Break for a shipment
359
+ * @description: Returns a list of available refund options for the given company and shipment.
360
+ * - Check out [method documentation](https://docs.fynd.com/partners/commerce/sdk/application/order/getRefundModesWithPriceBreakup/).
361
+ */
362
+ async getRefundModesWithPriceBreakup(
363
+ { shipmentId, body, requestHeaders } = { requestHeaders: {} },
364
+ { responseHeaders } = { responseHeaders: false }
365
+ ) {
366
+ const errors = validateRequiredParams(arguments[0], ["shipmentId"]);
367
+ if (errors.length > 0) {
368
+ const error = new FDKClientValidationError({
369
+ message: "Missing required field",
370
+ details: errors,
371
+ });
372
+ return Promise.reject(new FDKClientValidationError(error));
373
+ }
374
+
375
+ const query_params = {};
376
+
377
+ const xHeaders = {};
378
+
379
+ const response = await ApplicationAPIClient.execute(
380
+ this._conf,
381
+ "post",
382
+ constructUrl({
383
+ url: this._urls["getRefundModesWithPriceBreakup"],
384
+ params: { shipmentId },
385
+ }),
386
+ query_params,
387
+ body,
388
+ { ...xHeaders, ...requestHeaders },
389
+ { responseHeaders }
390
+ );
391
+
392
+ let responseData = response;
393
+ if (responseHeaders) {
394
+ responseData = response[0];
395
+ }
396
+
397
+ return response;
398
+ }
399
+
351
400
  /**
352
401
  * @param {object} [arg.requestHeaders={}] - Request headers. Default is `{}`
353
402
  * @param {import("../ApplicationAPIClient").Options} - Options
@@ -306,7 +306,7 @@ declare class Payment {
306
306
  * @summary: POS payment modes
307
307
  * @description: Get available payment methods on the payment page for POS, specifying the aggregator for each option, such as 'CARD powered by Juspay' and 'QR powered by Razorpay'. - Check out [method documentation](https://docs.fynd.com/partners/commerce/sdk/application/payment/getPosPaymentModeRoutes/).
308
308
  */
309
- getPosPaymentModeRoutes({ amount, cartId, pincode, orderType, checkoutMode, refresh, cardReference, userDetails, requestHeaders, }?: object, { responseHeaders }?: import("../ApplicationAPIClient").Options): Promise<PaymentModeRouteDetails>;
309
+ getPosPaymentModeRoutes({ amount, cartId, pincode, orderType, checkoutMode, refresh, cardReference, fulfillmentOption, userDetails, requestHeaders, }?: object, { responseHeaders }?: import("../ApplicationAPIClient").Options): Promise<PaymentModeRouteDetails>;
310
310
  /**
311
311
  * @param {object} [arg.requestHeaders={}] - Request headers. Default is `{}`
312
312
  * @param {import("../ApplicationAPIClient").Options} - Options
@@ -1180,6 +1180,7 @@ class Payment {
1180
1180
  checkoutMode,
1181
1181
  refresh,
1182
1182
  cardReference,
1183
+ fulfillmentOption,
1183
1184
  userDetails,
1184
1185
  requestHeaders,
1185
1186
  } = { requestHeaders: {} },
@@ -1193,6 +1194,7 @@ class Payment {
1193
1194
  query_params["refresh"] = refresh;
1194
1195
  query_params["card_reference"] = cardReference;
1195
1196
  query_params["order_type"] = orderType;
1197
+ query_params["fulfillment_option"] = fulfillmentOption;
1196
1198
  query_params["user_details"] = userDetails;
1197
1199
 
1198
1200
  const xHeaders = {};
@@ -7,7 +7,7 @@ export function findBestMatchingLink(allLinks?: any[], pathname?: string): {
7
7
  value: string;
8
8
  params: {};
9
9
  };
10
- export function convertStringToBase64(string: any): any;
10
+ export function convertStringToBase64(string: any): string;
11
11
  export function isBrowser(): boolean;
12
12
  export function isNode(): boolean;
13
13
  export namespace NAV_TYPE {
@@ -1,4 +1,5 @@
1
1
  const { FDKException } = require("./FDKError");
2
+ const { Buffer: BufferPolyFill } = require("buffer");
2
3
 
3
4
  const SLUG_DELIMETER = ":::";
4
5
  const transformRequestOptions = (params) => {
@@ -257,7 +257,7 @@ declare class Logistics {
257
257
  * @summary: Get created Schemes for courier partner
258
258
  * @description: Get created Schemes for courier partner - Check out [method documentation](https://docs.fynd.com/partners/commerce/sdk/partner/logistics/getCourierPartnerSchemes/).
259
259
  */
260
- getCourierPartnerSchemes({ schemeType, paymentMode, capabilities, schemeIds, requestHeaders }?: LogisticsPartnerValidator.GetCourierPartnerSchemesParam, { responseHeaders }?: object): Promise<LogisticsPartnerModel.CourierPartnerSchemeList>;
260
+ getCourierPartnerSchemes({ extensionId, schemeType, paymentMode, capabilities, schemeIds, requestHeaders, }?: LogisticsPartnerValidator.GetCourierPartnerSchemesParam, { responseHeaders }?: object): Promise<LogisticsPartnerModel.CourierPartnerSchemeList>;
261
261
  /**
262
262
  * @param {LogisticsPartnerValidator.UpdateCourierPartnerSchemeParam} arg -
263
263
  * Arg object.
@@ -2091,15 +2091,21 @@ class Logistics {
2091
2091
  * @description: Get created Schemes for courier partner - Check out [method documentation](https://docs.fynd.com/partners/commerce/sdk/partner/logistics/getCourierPartnerSchemes/).
2092
2092
  */
2093
2093
  async getCourierPartnerSchemes(
2094
- { schemeType, paymentMode, capabilities, schemeIds, requestHeaders } = {
2095
- requestHeaders: {},
2096
- },
2094
+ {
2095
+ extensionId,
2096
+ schemeType,
2097
+ paymentMode,
2098
+ capabilities,
2099
+ schemeIds,
2100
+ requestHeaders,
2101
+ } = { requestHeaders: {} },
2097
2102
  { responseHeaders } = { responseHeaders: false }
2098
2103
  ) {
2099
2104
  const {
2100
2105
  error,
2101
2106
  } = LogisticsPartnerValidator.getCourierPartnerSchemes().validate(
2102
2107
  {
2108
+ extensionId,
2103
2109
  schemeType,
2104
2110
  paymentMode,
2105
2111
  capabilities,
@@ -2116,6 +2122,7 @@ class Logistics {
2116
2122
  error: warrning,
2117
2123
  } = LogisticsPartnerValidator.getCourierPartnerSchemes().validate(
2118
2124
  {
2125
+ extensionId,
2119
2126
  schemeType,
2120
2127
  paymentMode,
2121
2128
  capabilities,
@@ -2131,6 +2138,7 @@ class Logistics {
2131
2138
  }
2132
2139
 
2133
2140
  const query_params = {};
2141
+ query_params["extension_id"] = extensionId;
2134
2142
  query_params["scheme_type"] = schemeType;
2135
2143
  query_params["payment_mode"] = paymentMode;
2136
2144
  query_params["capabilities"] = capabilities;
@@ -233,6 +233,7 @@ class LogisticsValidator {
233
233
 
234
234
  static getCourierPartnerSchemes() {
235
235
  return Joi.object({
236
+ extensionId: Joi.string().allow(""),
236
237
  schemeType: Joi.string().allow(""),
237
238
  paymentMode: Joi.string().allow(""),
238
239
  capabilities: Joi.array().items(Joi.string().allow("")),
@@ -52,6 +52,16 @@ declare class Webhook {
52
52
  * @description: Fetch webhook report filters - Check out [method documentation](https://docs.fynd.com/partners/commerce/sdk/partner/webhook/fetchReportFilters/).
53
53
  */
54
54
  fetchReportFilters({ extensionId, startDate, endDate, pageNo, pageSize, requestHeaders }?: WebhookPartnerValidator.FetchReportFiltersParam, { responseHeaders }?: object): Promise<WebhookPartnerModel.FilterReportResult[]>;
55
+ /**
56
+ * @param {WebhookPartnerValidator.DownloadDeliveryReportParam} arg - Arg object.
57
+ * @param {object} [arg.requestHeaders={}] - Request headers. Default is `{}`
58
+ * @param {import("../PartnerAPIClient").Options} - Options
59
+ * @returns {Promise<WebhookPartnerModel.DownloadReportResult>} - Success response
60
+ * @name downloadDeliveryReport
61
+ * @summary: Download webhook delivery report
62
+ * @description: Download webhook delivery report - Check out [method documentation](https://docs.fynd.com/partners/commerce/sdk/partner/webhook/downloadDeliveryReport/).
63
+ */
64
+ downloadDeliveryReport({ extensionId, body, requestHeaders }?: WebhookPartnerValidator.DownloadDeliveryReportParam, { responseHeaders }?: object): Promise<WebhookPartnerModel.DownloadReportResult>;
55
65
  /**
56
66
  * @param {WebhookPartnerValidator.CancelReportDownloadParam} arg - Arg object.
57
67
  * @param {object} [arg.requestHeaders={}] - Request headers. Default is `{}`
@@ -105,5 +115,41 @@ declare class Webhook {
105
115
  * - Check out [method documentation](https://docs.fynd.com/partners/commerce/sdk/partner/webhook/updateSubscriber/).
106
116
  */
107
117
  updateSubscriber({ extensionId, subscriberId, body, requestHeaders }?: WebhookPartnerValidator.UpdateSubscriberParam, { responseHeaders }?: object): Promise<WebhookPartnerModel.SubscriberUpdateResult>;
118
+ /**
119
+ * @param {WebhookPartnerValidator.ValidateFilterConfigurationParam} arg - Arg object.
120
+ * @param {object} [arg.requestHeaders={}] - Request headers. Default is `{}`
121
+ * @param {import("../PartnerAPIClient").Options} - Options
122
+ * @returns {Promise<WebhookPartnerModel.FilterValidationResult>} - Success response
123
+ * @name validateFilterConfiguration
124
+ * @summary: Validate filter configuration.
125
+ * @description: Validate a filter configuration against sample payload data.
126
+ * - Check out [method documentation](https://docs.fynd.com/partners/commerce/sdk/partner/webhook/validateFilterConfiguration/).
127
+ */
128
+ validateFilterConfiguration({ extensionId, body, requestHeaders }?: WebhookPartnerValidator.ValidateFilterConfigurationParam, { responseHeaders }?: object): Promise<WebhookPartnerModel.FilterValidationResult>;
129
+ /**
130
+ * @param {WebhookPartnerValidator.ValidateReducerConfigurationParam} arg -
131
+ * Arg object.
132
+ * @param {object} [arg.requestHeaders={}] - Request headers. Default is `{}`
133
+ * @param {import("../PartnerAPIClient").Options} - Options
134
+ * @returns {Promise<WebhookPartnerModel.ReducerValidationResult>} - Success response
135
+ * @name validateReducerConfiguration
136
+ * @summary: Validate reducer configuration.
137
+ * @description: Validate a reducer configuration against sample payload data.
138
+ * - Check out [method documentation](https://docs.fynd.com/partners/commerce/sdk/partner/webhook/validateReducerConfiguration/).
139
+ */
140
+ validateReducerConfiguration({ extensionId, body, requestHeaders }?: WebhookPartnerValidator.ValidateReducerConfigurationParam, { responseHeaders }?: object): Promise<WebhookPartnerModel.ReducerValidationResult>;
141
+ /**
142
+ * @param {WebhookPartnerValidator.SaveFilterReducerConfigurationParam} arg
143
+ * - Arg object.
144
+ *
145
+ * @param {object} [arg.requestHeaders={}] - Request headers. Default is `{}`
146
+ * @param {import("../PartnerAPIClient").Options} - Options
147
+ * @returns {Promise<WebhookPartnerModel.FilterReducerSaveResult>} - Success response
148
+ * @name saveFilterReducerConfiguration
149
+ * @summary: Save filter or reducer configuration.
150
+ * @description: Save filter and/or reducer configuration for a subscriber event mapping.
151
+ * - Check out [method documentation](https://docs.fynd.com/partners/commerce/sdk/partner/webhook/saveFilterReducerConfiguration/).
152
+ */
153
+ saveFilterReducerConfiguration({ extensionId, companyId, subscriberId, body, requestHeaders }?: WebhookPartnerValidator.SaveFilterReducerConfigurationParam, { responseHeaders }?: object): Promise<WebhookPartnerModel.FilterReducerSaveResult>;
108
154
  }
109
155
  import WebhookPartnerModel = require("./WebhookPartnerModel");
@@ -438,6 +438,85 @@ class Webhook {
438
438
  return response;
439
439
  }
440
440
 
441
+ /**
442
+ * @param {WebhookPartnerValidator.DownloadDeliveryReportParam} arg - Arg object.
443
+ * @param {object} [arg.requestHeaders={}] - Request headers. Default is `{}`
444
+ * @param {import("../PartnerAPIClient").Options} - Options
445
+ * @returns {Promise<WebhookPartnerModel.DownloadReportResult>} - Success response
446
+ * @name downloadDeliveryReport
447
+ * @summary: Download webhook delivery report
448
+ * @description: Download webhook delivery report - Check out [method documentation](https://docs.fynd.com/partners/commerce/sdk/partner/webhook/downloadDeliveryReport/).
449
+ */
450
+ async downloadDeliveryReport(
451
+ { extensionId, body, requestHeaders } = { requestHeaders: {} },
452
+ { responseHeaders } = { responseHeaders: false }
453
+ ) {
454
+ const { error } = WebhookPartnerValidator.downloadDeliveryReport().validate(
455
+ {
456
+ extensionId,
457
+ body,
458
+ },
459
+ { abortEarly: false, allowUnknown: true }
460
+ );
461
+ if (error) {
462
+ return Promise.reject(new FDKClientValidationError(error));
463
+ }
464
+
465
+ // Showing warrnings if extra unknown parameters are found
466
+ const {
467
+ error: warrning,
468
+ } = WebhookPartnerValidator.downloadDeliveryReport().validate(
469
+ {
470
+ extensionId,
471
+ body,
472
+ },
473
+ { abortEarly: false, allowUnknown: false }
474
+ );
475
+ if (warrning) {
476
+ Logger({
477
+ level: "WARN",
478
+ message: `Parameter Validation warrnings for partner > Webhook > downloadDeliveryReport \n ${warrning}`,
479
+ });
480
+ }
481
+
482
+ const query_params = {};
483
+
484
+ const response = await PartnerAPIClient.execute(
485
+ this.config,
486
+ "post",
487
+ `/service/partner/webhook/v1.0/organization/${this.config.organizationId}/extension/${extensionId}/report/download`,
488
+ query_params,
489
+ body,
490
+ requestHeaders,
491
+ { responseHeaders }
492
+ );
493
+
494
+ let responseData = response;
495
+ if (responseHeaders) {
496
+ responseData = response[0];
497
+ }
498
+
499
+ const {
500
+ error: res_error,
501
+ } = WebhookPartnerModel.DownloadReportResult().validate(responseData, {
502
+ abortEarly: false,
503
+ allowUnknown: true,
504
+ });
505
+
506
+ if (res_error) {
507
+ if (this.config.options.strictResponseCheck === true) {
508
+ return Promise.reject(new FDKResponseValidationError(res_error));
509
+ } else {
510
+ Logger({
511
+ level: "WARN",
512
+ message: `Response Validation Warnings for partner > Webhook > downloadDeliveryReport \n ${res_error}`,
513
+ });
514
+ }
515
+ }
516
+
517
+ return response;
518
+ }
519
+
441
520
  /**
442
521
  * @param {WebhookPartnerValidator.CancelReportDownloadParam} arg - Arg object.
443
522
  * @param {object} [arg.requestHeaders={}] - Request headers. Default is `{}`
@@ -834,5 +913,260 @@ class Webhook {
834
913
 
835
914
  return response;
836
915
  }
916
+
917
+ /**
918
+ * @param {WebhookPartnerValidator.ValidateFilterConfigurationParam} arg - Arg object.
919
+ * @param {object} [arg.requestHeaders={}] - Request headers. Default is `{}`
920
+ * @param {import("../PartnerAPIClient").Options} - Options
921
+ * @returns {Promise<WebhookPartnerModel.FilterValidationResult>} - Success response
922
+ * @name validateFilterConfiguration
923
+ * @summary: Validate filter configuration.
924
+ * @description: Validate a filter configuration against sample payload data.
925
+ * - Check out [method documentation](https://docs.fynd.com/partners/commerce/sdk/partner/webhook/validateFilterConfiguration/).
926
+ */
927
+ async validateFilterConfiguration(
928
+ { extensionId, body, requestHeaders } = { requestHeaders: {} },
929
+ { responseHeaders } = { responseHeaders: false }
930
+ ) {
931
+ const {
932
+ error,
933
+ } = WebhookPartnerValidator.validateFilterConfiguration().validate(
934
+ {
935
+ extensionId,
936
+ body,
937
+ },
938
+ { abortEarly: false, allowUnknown: true }
939
+ );
940
+ if (error) {
941
+ return Promise.reject(new FDKClientValidationError(error));
942
+ }
943
+
944
+ // Showing warrnings if extra unknown parameters are found
945
+ const {
946
+ error: warrning,
947
+ } = WebhookPartnerValidator.validateFilterConfiguration().validate(
948
+ {
949
+ extensionId,
950
+ body,
951
+ },
952
+ { abortEarly: false, allowUnknown: false }
953
+ );
954
+ if (warrning) {
955
+ Logger({
956
+ level: "WARN",
957
+ message: `Parameter Validation warrnings for partner > Webhook > validateFilterConfiguration \n ${warrning}`,
958
+ });
959
+ }
960
+
961
+ const query_params = {};
962
+
963
+ const response = await PartnerAPIClient.execute(
964
+ this.config,
965
+ "post",
966
+ `/service/partner/webhook/v1.0/organization/${this.config.organizationId}/extension/${extensionId}/validate/filter`,
967
+ query_params,
968
+ body,
969
+ requestHeaders,
970
+ { responseHeaders }
971
+ );
972
+
973
+ let responseData = response;
974
+ if (responseHeaders) {
975
+ responseData = response[0];
976
+ }
977
+
978
+ const {
979
+ error: res_error,
980
+ } = WebhookPartnerModel.FilterValidationResult().validate(responseData, {
981
+ abortEarly: false,
982
+ allowUnknown: true,
983
+ });
984
+
985
+ if (res_error) {
986
+ if (this.config.options.strictResponseCheck === true) {
987
+ return Promise.reject(new FDKResponseValidationError(res_error));
988
+ } else {
989
+ Logger({
990
+ level: "WARN",
991
+ message: `Response Validation Warnings for partner > Webhook > validateFilterConfiguration \n ${res_error}`,
992
+ });
993
+ }
994
+ }
995
+
996
+ return response;
997
+ }
998
+
999
+ /**
1000
+ * @param {WebhookPartnerValidator.ValidateReducerConfigurationParam} arg -
1001
+ * Arg object.
1002
+ * @param {object} [arg.requestHeaders={}] - Request headers. Default is `{}`
1003
+ * @param {import("../PartnerAPIClient").Options} - Options
1004
+ * @returns {Promise<WebhookPartnerModel.ReducerValidationResult>} - Success response
1005
+ * @name validateReducerConfiguration
1006
+ * @summary: Validate reducer configuration.
1007
+ * @description: Validate a reducer configuration against sample payload data.
1008
+ * - Check out [method documentation](https://docs.fynd.com/partners/commerce/sdk/partner/webhook/validateReducerConfiguration/).
1009
+ */
1010
+ async validateReducerConfiguration(
1011
+ { extensionId, body, requestHeaders } = { requestHeaders: {} },
1012
+ { responseHeaders } = { responseHeaders: false }
1013
+ ) {
1014
+ const {
1015
+ error,
1016
+ } = WebhookPartnerValidator.validateReducerConfiguration().validate(
1017
+ {
1018
+ extensionId,
1019
+ body,
1020
+ },
1021
+ { abortEarly: false, allowUnknown: true }
1022
+ );
1023
+ if (error) {
1024
+ return Promise.reject(new FDKClientValidationError(error));
1025
+ }
1026
+
1027
+ // Showing warrnings if extra unknown parameters are found
1028
+ const {
1029
+ error: warrning,
1030
+ } = WebhookPartnerValidator.validateReducerConfiguration().validate(
1031
+ {
1032
+ extensionId,
1033
+ body,
1034
+ },
1035
+ { abortEarly: false, allowUnknown: false }
1036
+ );
1037
+ if (warrning) {
1038
+ Logger({
1039
+ level: "WARN",
1040
+ message: `Parameter Validation warrnings for partner > Webhook > validateReducerConfiguration \n ${warrning}`,
1041
+ });
1042
+ }
1043
+
1044
+ const query_params = {};
1045
+
1046
+ const response = await PartnerAPIClient.execute(
1047
+ this.config,
1048
+ "post",
1049
+ `/service/partner/webhook/v1.0/organization/${this.config.organizationId}/extension/${extensionId}/validate/reducer`,
1050
+ query_params,
1051
+ body,
1052
+ requestHeaders,
1053
+ { responseHeaders }
1054
+ );
1055
+
1056
+ let responseData = response;
1057
+ if (responseHeaders) {
1058
+ responseData = response[0];
1059
+ }
1060
+
1061
+ const {
1062
+ error: res_error,
1063
+ } = WebhookPartnerModel.ReducerValidationResult().validate(responseData, {
1064
+ abortEarly: false,
1065
+ allowUnknown: true,
1066
+ });
1067
+
1068
+ if (res_error) {
1069
+ if (this.config.options.strictResponseCheck === true) {
1070
+ return Promise.reject(new FDKResponseValidationError(res_error));
1071
+ } else {
1072
+ Logger({
1073
+ level: "WARN",
1074
+ message: `Response Validation Warnings for partner > Webhook > validateReducerConfiguration \n ${res_error}`,
1075
+ });
1076
+ }
1077
+ }
1078
+
1079
+ return response;
1080
+ }
1081
+
1082
+ /**
1083
+ * @param {WebhookPartnerValidator.SaveFilterReducerConfigurationParam} arg
1084
+ * - Arg object.
1085
+ *
1086
+ * @param {object} [arg.requestHeaders={}] - Request headers. Default is `{}`
1087
+ * @param {import("../PartnerAPIClient").Options} - Options
1088
+ * @returns {Promise<WebhookPartnerModel.FilterReducerSaveResult>} - Success response
1089
+ * @name saveFilterReducerConfiguration
1090
+ * @summary: Save filter or reducer configuration.
1091
+ * @description: Save filter and/or reducer configuration for a subscriber event mapping.
1092
+ * - Check out [method documentation](https://docs.fynd.com/partners/commerce/sdk/partner/webhook/saveFilterReducerConfiguration/).
1093
+ */
1094
+ async saveFilterReducerConfiguration(
1095
+ { extensionId, companyId, subscriberId, body, requestHeaders } = {
1096
+ requestHeaders: {},
1097
+ },
1098
+ { responseHeaders } = { responseHeaders: false }
1099
+ ) {
1100
+ const {
1101
+ error,
1102
+ } = WebhookPartnerValidator.saveFilterReducerConfiguration().validate(
1103
+ {
1104
+ extensionId,
1105
+ companyId,
1106
+ subscriberId,
1107
+ body,
1108
+ },
1109
+ { abortEarly: false, allowUnknown: true }
1110
+ );
1111
+ if (error) {
1112
+ return Promise.reject(new FDKClientValidationError(error));
1113
+ }
1114
+
1115
+ // Showing warrnings if extra unknown parameters are found
1116
+ const {
1117
+ error: warrning,
1118
+ } = WebhookPartnerValidator.saveFilterReducerConfiguration().validate(
1119
+ {
1120
+ extensionId,
1121
+ companyId,
1122
+ subscriberId,
1123
+ body,
1124
+ },
1125
+ { abortEarly: false, allowUnknown: false }
1126
+ );
1127
+ if (warrning) {
1128
+ Logger({
1129
+ level: "WARN",
1130
+ message: `Parameter Validation warrnings for partner > Webhook > saveFilterReducerConfiguration \n ${warrning}`,
1131
+ });
1132
+ }
1133
+
1134
+ const query_params = {};
1135
+
1136
+ const response = await PartnerAPIClient.execute(
1137
+ this.config,
1138
+ "put",
1139
+ `/service/partner/webhook/v1.0/organization/${this.config.organizationId}/extension/${extensionId}/company/${companyId}/subscriber/${subscriberId}/filter_reducer`,
1140
+ query_params,
1141
+ body,
1142
+ requestHeaders,
1143
+ { responseHeaders }
1144
+ );
1145
+
1146
+ let responseData = response;
1147
+ if (responseHeaders) {
1148
+ responseData = response[0];
1149
+ }
1150
+
1151
+ const {
1152
+ error: res_error,
1153
+ } = WebhookPartnerModel.FilterReducerSaveResult().validate(responseData, {
1154
+ abortEarly: false,
1155
+ allowUnknown: true,
1156
+ });
1157
+
1158
+ if (res_error) {
1159
+ if (this.config.options.strictResponseCheck === true) {
1160
+ return Promise.reject(new FDKResponseValidationError(res_error));
1161
+ } else {
1162
+ Logger({
1163
+ level: "WARN",
1164
+ message: `Response Validation Warnings for partner > Webhook > saveFilterReducerConfiguration \n ${res_error}`,
1165
+ });
1166
+ }
1167
+ }
1168
+
1169
+ return response;
1170
+ }
837
1171
  }
838
1172
  module.exports = Webhook;