@gofynd/fdk-client-javascript 1.4.10 → 1.4.12

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 (39) hide show
  1. package/README.md +1 -1
  2. package/package.json +1 -1
  3. package/sdk/application/Cart/CartApplicationClient.d.ts +8 -19
  4. package/sdk/application/Cart/CartApplicationClient.js +8 -89
  5. package/sdk/application/Cart/CartApplicationModel.d.ts +1 -178
  6. package/sdk/application/Cart/CartApplicationModel.js +0 -92
  7. package/sdk/application/Cart/CartApplicationValidator.d.ts +1 -20
  8. package/sdk/application/Cart/CartApplicationValidator.js +0 -16
  9. package/sdk/application/Configuration/ConfigurationApplicationModel.d.ts +5 -0
  10. package/sdk/application/Configuration/ConfigurationApplicationModel.js +2 -0
  11. package/sdk/application/Logistic/LogisticApplicationModel.js +3 -3
  12. package/sdk/application/Order/OrderApplicationModel.js +1 -1
  13. package/sdk/application/Payment/PaymentApplicationModel.js +2 -2
  14. package/sdk/common/Clickstream.js +34 -15
  15. package/sdk/partner/Webhook/WebhookPartnerModel.js +1 -1
  16. package/sdk/platform/Cart/CartPlatformApplicationClient.d.ts +8 -20
  17. package/sdk/platform/Cart/CartPlatformApplicationClient.js +8 -92
  18. package/sdk/platform/Cart/CartPlatformApplicationValidator.d.ts +1 -15
  19. package/sdk/platform/Cart/CartPlatformApplicationValidator.js +0 -14
  20. package/sdk/platform/Cart/CartPlatformModel.d.ts +1 -87
  21. package/sdk/platform/Cart/CartPlatformModel.js +0 -88
  22. package/sdk/platform/Catalog/CatalogPlatformApplicationClient.d.ts +1 -1
  23. package/sdk/platform/Catalog/CatalogPlatformApplicationClient.js +14 -3
  24. package/sdk/platform/Catalog/CatalogPlatformApplicationValidator.d.ts +27 -3
  25. package/sdk/platform/Catalog/CatalogPlatformApplicationValidator.js +14 -2
  26. package/sdk/platform/Catalog/CatalogPlatformClient.d.ts +10 -51
  27. package/sdk/platform/Catalog/CatalogPlatformClient.js +79 -400
  28. package/sdk/platform/Catalog/CatalogPlatformModel.d.ts +5 -240
  29. package/sdk/platform/Catalog/CatalogPlatformModel.js +3 -169
  30. package/sdk/platform/Catalog/CatalogPlatformValidator.d.ts +15 -61
  31. package/sdk/platform/Catalog/CatalogPlatformValidator.js +13 -65
  32. package/sdk/platform/Configuration/ConfigurationPlatformModel.d.ts +5 -0
  33. package/sdk/platform/Configuration/ConfigurationPlatformModel.js +2 -0
  34. package/sdk/platform/Finance/FinancePlatformModel.js +1 -1
  35. package/sdk/platform/Order/OrderPlatformModel.d.ts +90 -39
  36. package/sdk/platform/Order/OrderPlatformModel.js +74 -38
  37. package/sdk/platform/Payment/PaymentPlatformModel.d.ts +38 -4
  38. package/sdk/platform/Payment/PaymentPlatformModel.js +17 -7
  39. package/sdk/platform/Webhook/WebhookPlatformModel.js +1 -1
@@ -494,6 +494,36 @@ const Joi = require("joi");
494
494
  * @property {AffiliateStoreIdMapping[]} affiliate_store_id_mapping
495
495
  */
496
496
 
497
+ /**
498
+ * @typedef DPConfiguration
499
+ * @property {string} [shipping_by] - Shipping_by denotes dp assignment
500
+ * strategy- if shipping_by is fynd dp assignment would be handled by OMS
501
+ */
502
+
503
+ /**
504
+ * @typedef PaymentConfig
505
+ * @property {string} [mode_of_payment] - Specifies the mode through which the
506
+ * payment was collected, serving as an identifier for the payment's origin.
507
+ * @property {string} [source] - The source field identifies the channel through
508
+ * which the order was placed, such as MARKETPLACE, ECOMM.
509
+ */
510
+
511
+ /**
512
+ * @typedef CreateOrderConfig
513
+ * @property {DPConfiguration} [dp_configuration]
514
+ * @property {string} [integration_type] - Flag denotes integration type which
515
+ * is used to retrieve specific configurations and application details
516
+ * relevant to channel fulfillment.
517
+ * @property {boolean} [location_reassignment] - Flag denotes if the location
518
+ * for the store needs to be reassigned post cancellation.
519
+ * @property {PaymentConfig} [payment]
520
+ * @property {boolean} [optimal_shipment_creation] - Denotes the shipment
521
+ * breaking strategy. If the flag is set true, the shipment is created using
522
+ * optimal shipment creation strategy based on the servicability & packaging
523
+ * dimensions by OMS .If false, shipment details, including location_id, must
524
+ * be passed to FDK for processing.
525
+ */
526
+
497
527
  /**
498
528
  * @typedef CreateOrderPayload
499
529
  * @property {string} affiliate_id
@@ -770,8 +800,12 @@ const Joi = require("joi");
770
800
  * @property {ProcessingDates} [processing_dates]
771
801
  * @property {Object} [meta] - Meta data of the shipment.
772
802
  * @property {number} [priority] - Integer value indicating high and low priority.
773
- * @property {number} location_id - Location Identifier or Store/Fulfillment
774
- * Identifier of the shipment.
803
+ * @property {number} [location_id] - Location Identifier or Store/Fulfillment
804
+ * Identifier of the shipment- This field is mandatory when
805
+ * optimal_shipment_creation flag is set to false, indicating that shipments
806
+ * must be associated with a specific location. When
807
+ * `optimal_shipment_creation` is true, the optimal location for order
808
+ * creation would be assigned, location_id becomes optional.
775
809
  * @property {string} [order_type] - The order type of shipment HomeDelivery -
776
810
  * If the customer wants the order home-delivered PickAtStore - If the
777
811
  * customer wants the handover of an order at the store itself.
@@ -804,17 +838,6 @@ const Joi = require("joi");
804
838
  * @property {ShipmentGstDetails} [gst]
805
839
  */
806
840
 
807
- /**
808
- * @typedef ShipmentRequestData
809
- * @property {LineItem[]} line_items
810
- * @property {ProcessingDates} [processing_dates]
811
- * @property {Object} [meta] - Meta data of the shipment.
812
- * @property {number} [priority] - Integer value indicating high and low priority.
813
- * @property {string} [order_type] - The order type of shipment HomeDelivery -
814
- * If the customer wants the order home-delivered PickAtStore - If the
815
- * customer wants the handover of an order at the store itself.
816
- */
817
-
818
841
  /**
819
842
  * @typedef ShippingInfo
820
843
  * @property {string} [alternate_mobile_number]
@@ -915,7 +938,6 @@ const Joi = require("joi");
915
938
  /**
916
939
  * @typedef CreateOrderAPI
917
940
  * @property {Shipment[]} shipments
918
- * @property {ShipmentRequestData} [shipment_request_data]
919
941
  * @property {ShippingInfo} shipping_info
920
942
  * @property {BillingInfo} billing_info
921
943
  * @property {Object} [currency_info]
@@ -924,7 +946,7 @@ const Joi = require("joi");
924
946
  * @property {string} [external_creation_date]
925
947
  * @property {Object} [meta]
926
948
  * @property {TaxInfo} [tax_info]
927
- * @property {Object} [config]
949
+ * @property {CreateOrderConfig} [config]
928
950
  * @property {PaymentInfo} payment_info
929
951
  * @property {UserInfo} [user_info]
930
952
  * @property {number} [ordering_store_id]
@@ -3814,7 +3836,7 @@ class OrderPlatformModel {
3814
3836
  dp_options: Joi.any().allow(null),
3815
3837
  lock_status: Joi.boolean().allow(null),
3816
3838
  action_to_status: Joi.any().allow(null),
3817
- });
3839
+ }).allow(null);
3818
3840
  }
3819
3841
 
3820
3842
  /** @returns {ShipmentConfig} */
@@ -4016,6 +4038,32 @@ class OrderPlatformModel {
4016
4038
  });
4017
4039
  }
4018
4040
 
4041
+ /** @returns {DPConfiguration} */
4042
+ static DPConfiguration() {
4043
+ return Joi.object({
4044
+ shipping_by: Joi.string().allow(""),
4045
+ });
4046
+ }
4047
+
4048
+ /** @returns {PaymentConfig} */
4049
+ static PaymentConfig() {
4050
+ return Joi.object({
4051
+ mode_of_payment: Joi.string().allow(""),
4052
+ source: Joi.string().allow(""),
4053
+ });
4054
+ }
4055
+
4056
+ /** @returns {CreateOrderConfig} */
4057
+ static CreateOrderConfig() {
4058
+ return Joi.object({
4059
+ dp_configuration: OrderPlatformModel.DPConfiguration(),
4060
+ integration_type: Joi.string().allow(""),
4061
+ location_reassignment: Joi.boolean(),
4062
+ payment: OrderPlatformModel.PaymentConfig(),
4063
+ optimal_shipment_creation: Joi.boolean(),
4064
+ });
4065
+ }
4066
+
4019
4067
  /** @returns {CreateOrderPayload} */
4020
4068
  static CreateOrderPayload() {
4021
4069
  return Joi.object({
@@ -4346,7 +4394,7 @@ class OrderPlatformModel {
4346
4394
  processing_dates: OrderPlatformModel.ProcessingDates(),
4347
4395
  meta: Joi.any().allow(null),
4348
4396
  priority: Joi.number(),
4349
- location_id: Joi.number().required(),
4397
+ location_id: Joi.number(),
4350
4398
  order_type: Joi.string().allow(""),
4351
4399
  parent_type: Joi.string().allow("").allow(null),
4352
4400
  store_invoice_id: Joi.string().allow("").allow(null),
@@ -4378,17 +4426,6 @@ class OrderPlatformModel {
4378
4426
  });
4379
4427
  }
4380
4428
 
4381
- /** @returns {ShipmentRequestData} */
4382
- static ShipmentRequestData() {
4383
- return Joi.object({
4384
- line_items: Joi.array().items(OrderPlatformModel.LineItem()).required(),
4385
- processing_dates: OrderPlatformModel.ProcessingDates(),
4386
- meta: Joi.any(),
4387
- priority: Joi.number(),
4388
- order_type: Joi.string().allow(""),
4389
- });
4390
- }
4391
-
4392
4429
  /** @returns {ShippingInfo} */
4393
4430
  static ShippingInfo() {
4394
4431
  return Joi.object({
@@ -4502,7 +4539,6 @@ class OrderPlatformModel {
4502
4539
  static CreateOrderAPI() {
4503
4540
  return Joi.object({
4504
4541
  shipments: Joi.array().items(OrderPlatformModel.Shipment()).required(),
4505
- shipment_request_data: OrderPlatformModel.ShipmentRequestData(),
4506
4542
  shipping_info: OrderPlatformModel.ShippingInfo().required(),
4507
4543
  billing_info: OrderPlatformModel.BillingInfo().required(),
4508
4544
  currency_info: Joi.any(),
@@ -4511,7 +4547,7 @@ class OrderPlatformModel {
4511
4547
  external_creation_date: Joi.string().allow(""),
4512
4548
  meta: Joi.any(),
4513
4549
  tax_info: OrderPlatformModel.TaxInfo(),
4514
- config: Joi.any(),
4550
+ config: OrderPlatformModel.CreateOrderConfig(),
4515
4551
  payment_info: OrderPlatformModel.PaymentInfo().required(),
4516
4552
  user_info: OrderPlatformModel.UserInfo(),
4517
4553
  ordering_store_id: Joi.number(),
@@ -5710,7 +5746,7 @@ class OrderPlatformModel {
5710
5746
  contact_person: Joi.string().allow("").allow(null),
5711
5747
  state: Joi.string().allow("").allow(null),
5712
5748
  city: Joi.string().allow("").allow(null),
5713
- });
5749
+ }).allow(null);
5714
5750
  }
5715
5751
 
5716
5752
  /** @returns {ShipmentListingChannel} */
@@ -7099,7 +7135,7 @@ class OrderPlatformModel {
7099
7135
  mall_name: Joi.string().allow("").allow(null),
7100
7136
  latitude: Joi.number().allow(null),
7101
7137
  address2: Joi.string().allow("").allow(null),
7102
- });
7138
+ }).allow(null);
7103
7139
  }
7104
7140
 
7105
7141
  /** @returns {Brand} */
@@ -7183,7 +7219,7 @@ class OrderPlatformModel {
7183
7219
  brand_calculated_amount: Joi.number().allow(null),
7184
7220
  tax_collected_at_source: Joi.number().allow(null),
7185
7221
  gstin_code: Joi.string().allow("").allow(null),
7186
- });
7222
+ }).allow(null);
7187
7223
  }
7188
7224
 
7189
7225
  /** @returns {DeliverySlotDetails} */
@@ -7194,7 +7230,7 @@ class OrderPlatformModel {
7194
7230
  lower_bound: Joi.string().allow("").allow(null),
7195
7231
  date: Joi.string().allow("").allow(null),
7196
7232
  type: Joi.string().allow("").allow(null),
7197
- });
7233
+ }).allow(null);
7198
7234
  }
7199
7235
 
7200
7236
  /** @returns {InvoiceDetails} */
@@ -7204,7 +7240,7 @@ class OrderPlatformModel {
7204
7240
  store_invoice_id: Joi.string().allow("").allow(null),
7205
7241
  invoice_url: Joi.string().allow("").allow(null),
7206
7242
  label_url: Joi.string().allow("").allow(null),
7207
- });
7243
+ }).allow(null);
7208
7244
  }
7209
7245
 
7210
7246
  /** @returns {UserDetails} */
@@ -7220,7 +7256,7 @@ class OrderPlatformModel {
7220
7256
  gender: Joi.string().allow("").allow(null),
7221
7257
  mongo_user_id: Joi.string().allow("").allow(null),
7222
7258
  meta: Joi.any().allow(null),
7223
- });
7259
+ }).allow(null);
7224
7260
  }
7225
7261
 
7226
7262
  /** @returns {WeightData} */
@@ -7228,7 +7264,7 @@ class OrderPlatformModel {
7228
7264
  return Joi.object({
7229
7265
  value: Joi.number().allow(null),
7230
7266
  unit: Joi.string().allow("").allow(null),
7231
- });
7267
+ }).allow(null);
7232
7268
  }
7233
7269
 
7234
7270
  /** @returns {BagDetails} */
@@ -7335,7 +7371,7 @@ class OrderPlatformModel {
7335
7371
  return Joi.object({
7336
7372
  items: Joi.array().items(OrderPlatformModel.BagDetails()),
7337
7373
  page: OrderPlatformModel.BagsPage(),
7338
- });
7374
+ }).allow(null);
7339
7375
  }
7340
7376
 
7341
7377
  /** @returns {GetBagsPlatformResponse} */
@@ -387,10 +387,16 @@ export = PaymentPlatformModel;
387
387
  /**
388
388
  * @typedef MultiTenderPaymentMeta
389
389
  * @property {Object} [extra_meta]
390
- * @property {string} [order_id]
391
- * @property {string} [payment_id]
392
- * @property {string} [current_status]
393
- * @property {string} [payment_gateway]
390
+ * @property {string} [order_id] - Fynd Platform order ID
391
+ * @property {string} [payment_id] - A unique identifier associated with a
392
+ * specific payment transaction
393
+ * @property {string} [current_status] - Represents the current state or
394
+ * condition of an object, such as an order or payment.
395
+ * @property {string} [payment_gateway] - Specifies the name or identifier of
396
+ * the payment gateway. This will deprecated in future version. We recommend
397
+ * switching to `payment_gateway_slug` to ensure uninterrupted payment processing.
398
+ * @property {string} [payment_gateway_slug] - A simplified, URL-friendly string
399
+ * that represents the name of the payment gateway and it will used for refund PG.
394
400
  */
395
401
  /**
396
402
  * @typedef MultiTenderPaymentMethod
@@ -1003,6 +1009,8 @@ export = PaymentPlatformModel;
1003
1009
  * @property {Object[]} articles - List of articles that are added in cart
1004
1010
  * @property {number} cart_value - Total cart value i.e. amount to be paid
1005
1011
  * @property {number} [total_quantity] - Total number of items in cart
1012
+ * @property {Object} [custom_cart_meta] - This field is used to add and
1013
+ * retrieve custom data fields to cart items.
1006
1014
  */
1007
1015
  /**
1008
1016
  * @typedef RefundDetailsSerializer
@@ -2193,10 +2201,31 @@ type OrderBeneficiaryResponse = {
2193
2201
  declare function MultiTenderPaymentMeta(): MultiTenderPaymentMeta;
2194
2202
  type MultiTenderPaymentMeta = {
2195
2203
  extra_meta?: any;
2204
+ /**
2205
+ * - Fynd Platform order ID
2206
+ */
2196
2207
  order_id?: string;
2208
+ /**
2209
+ * - A unique identifier associated with a
2210
+ * specific payment transaction
2211
+ */
2197
2212
  payment_id?: string;
2213
+ /**
2214
+ * - Represents the current state or
2215
+ * condition of an object, such as an order or payment.
2216
+ */
2198
2217
  current_status?: string;
2218
+ /**
2219
+ * - Specifies the name or identifier of
2220
+ * the payment gateway. This will deprecated in future version. We recommend
2221
+ * switching to `payment_gateway_slug` to ensure uninterrupted payment processing.
2222
+ */
2199
2223
  payment_gateway?: string;
2224
+ /**
2225
+ * - A simplified, URL-friendly string
2226
+ * that represents the name of the payment gateway and it will used for refund PG.
2227
+ */
2228
+ payment_gateway_slug?: string;
2200
2229
  };
2201
2230
  /** @returns {MultiTenderPaymentMethod} */
2202
2231
  declare function MultiTenderPaymentMethod(): MultiTenderPaymentMethod;
@@ -3849,6 +3878,11 @@ type CartDetailsSerializer = {
3849
3878
  * - Total number of items in cart
3850
3879
  */
3851
3880
  total_quantity?: number;
3881
+ /**
3882
+ * - This field is used to add and
3883
+ * retrieve custom data fields to cart items.
3884
+ */
3885
+ custom_cart_meta?: any;
3852
3886
  };
3853
3887
  /** @returns {RefundDetailsSerializer} */
3854
3888
  declare function RefundDetailsSerializer(): RefundDetailsSerializer;
@@ -435,10 +435,16 @@ const Joi = require("joi");
435
435
  /**
436
436
  * @typedef MultiTenderPaymentMeta
437
437
  * @property {Object} [extra_meta]
438
- * @property {string} [order_id]
439
- * @property {string} [payment_id]
440
- * @property {string} [current_status]
441
- * @property {string} [payment_gateway]
438
+ * @property {string} [order_id] - Fynd Platform order ID
439
+ * @property {string} [payment_id] - A unique identifier associated with a
440
+ * specific payment transaction
441
+ * @property {string} [current_status] - Represents the current state or
442
+ * condition of an object, such as an order or payment.
443
+ * @property {string} [payment_gateway] - Specifies the name or identifier of
444
+ * the payment gateway. This will deprecated in future version. We recommend
445
+ * switching to `payment_gateway_slug` to ensure uninterrupted payment processing.
446
+ * @property {string} [payment_gateway_slug] - A simplified, URL-friendly string
447
+ * that represents the name of the payment gateway and it will used for refund PG.
442
448
  */
443
449
 
444
450
  /**
@@ -1116,6 +1122,8 @@ const Joi = require("joi");
1116
1122
  * @property {Object[]} articles - List of articles that are added in cart
1117
1123
  * @property {number} cart_value - Total cart value i.e. amount to be paid
1118
1124
  * @property {number} [total_quantity] - Total number of items in cart
1125
+ * @property {Object} [custom_cart_meta] - This field is used to add and
1126
+ * retrieve custom data fields to cart items.
1119
1127
  */
1120
1128
 
1121
1129
  /**
@@ -1506,7 +1514,7 @@ class PaymentPlatformModel {
1506
1514
  payment_flow_data: Joi.any().allow(null),
1507
1515
  payment_flow: Joi.string().allow("").allow(null),
1508
1516
  api_link: Joi.string().allow("").allow(null),
1509
- });
1517
+ }).allow(null);
1510
1518
  }
1511
1519
 
1512
1520
  /** @returns {PaymentDefaultSelection} */
@@ -1564,7 +1572,7 @@ class PaymentPlatformModel {
1564
1572
  .items(Joi.string().allow("").allow(null))
1565
1573
  .allow(null, ""),
1566
1574
  allow_custom_advance_amount: Joi.boolean().allow(null),
1567
- });
1575
+ }).allow(null);
1568
1576
  }
1569
1577
 
1570
1578
  /** @returns {SplitObject} */
@@ -1573,7 +1581,7 @@ class PaymentPlatformModel {
1573
1581
  total_number_of_splits: Joi.number().allow(null),
1574
1582
  splits_remaining: Joi.number().allow(null),
1575
1583
  amount_remaining: Joi.number().allow(null),
1576
- });
1584
+ }).allow(null);
1577
1585
  }
1578
1586
 
1579
1587
  /** @returns {AdvancePaymentObject} */
@@ -1868,6 +1876,7 @@ class PaymentPlatformModel {
1868
1876
  payment_id: Joi.string().allow(""),
1869
1877
  current_status: Joi.string().allow(""),
1870
1878
  payment_gateway: Joi.string().allow(""),
1879
+ payment_gateway_slug: Joi.string().allow(""),
1871
1880
  });
1872
1881
  }
1873
1882
 
@@ -2642,6 +2651,7 @@ class PaymentPlatformModel {
2642
2651
  articles: Joi.array().items(Joi.any()).required(),
2643
2652
  cart_value: Joi.number().required(),
2644
2653
  total_quantity: Joi.number(),
2654
+ custom_cart_meta: Joi.object().pattern(/\S/, Joi.any()),
2645
2655
  });
2646
2656
  }
2647
2657
 
@@ -483,7 +483,7 @@ class WebhookPlatformModel {
483
483
  static UploadServiceObject() {
484
484
  return Joi.object({
485
485
  cdn: WebhookPlatformModel.CdnObject(),
486
- });
486
+ }).allow(null);
487
487
  }
488
488
 
489
489
  /** @returns {HistoryAssociation} */