@gofynd/fdk-client-javascript 1.4.8-beta.3 → 1.4.9
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.
- package/README.md +26 -1
- package/package.json +2 -2
- package/sdk/application/ApplicationClient.d.ts +8 -0
- package/sdk/application/ApplicationClient.js +14 -0
- package/sdk/application/Cart/CartApplicationClient.d.ts +20 -20
- package/sdk/application/Cart/CartApplicationClient.js +20 -20
- package/sdk/application/Cart/CartApplicationModel.d.ts +2446 -664
- package/sdk/application/Cart/CartApplicationModel.js +783 -552
- package/sdk/application/Cart/CartApplicationValidator.d.ts +268 -194
- package/sdk/application/Cart/CartApplicationValidator.js +100 -114
- package/sdk/application/Catalog/CatalogApplicationClient.d.ts +53 -53
- package/sdk/application/Catalog/CatalogApplicationClient.js +53 -53
- package/sdk/application/Catalog/CatalogApplicationModel.d.ts +2012 -503
- package/sdk/application/Catalog/CatalogApplicationModel.js +603 -453
- package/sdk/application/Catalog/CatalogApplicationValidator.d.ts +64 -64
- package/sdk/application/Catalog/CatalogApplicationValidator.js +32 -32
- package/sdk/application/Common/CommonApplicationClient.d.ts +2 -2
- package/sdk/application/Common/CommonApplicationClient.js +2 -2
- package/sdk/application/Common/CommonApplicationModel.d.ts +170 -90
- package/sdk/application/Common/CommonApplicationModel.js +59 -58
- package/sdk/application/Common/CommonApplicationValidator.d.ts +8 -5
- package/sdk/application/Common/CommonApplicationValidator.js +3 -3
- package/sdk/application/Communication/CommunicationApplicationClient.d.ts +2 -2
- package/sdk/application/Communication/CommunicationApplicationClient.js +2 -2
- package/sdk/application/Communication/CommunicationApplicationModel.d.ts +170 -35
- package/sdk/application/Communication/CommunicationApplicationModel.js +54 -33
- package/sdk/application/Configuration/ConfigurationApplicationClient.d.ts +15 -15
- package/sdk/application/Configuration/ConfigurationApplicationClient.js +15 -15
- package/sdk/application/Configuration/ConfigurationApplicationModel.d.ts +624 -443
- package/sdk/application/Configuration/ConfigurationApplicationModel.js +259 -248
- package/sdk/application/Configuration/ConfigurationApplicationValidator.d.ts +32 -24
- package/sdk/application/Configuration/ConfigurationApplicationValidator.js +14 -13
- package/sdk/application/Content/ContentApplicationClient.d.ts +16 -16
- package/sdk/application/Content/ContentApplicationClient.js +16 -16
- package/sdk/application/Content/ContentApplicationModel.d.ts +1205 -282
- package/sdk/application/Content/ContentApplicationModel.js +341 -277
- package/sdk/application/Content/ContentApplicationValidator.d.ts +28 -17
- package/sdk/application/Content/ContentApplicationValidator.js +11 -10
- package/sdk/application/FileStorage/FileStorageApplicationClient.d.ts +3 -3
- package/sdk/application/FileStorage/FileStorageApplicationClient.js +3 -3
- package/sdk/application/FileStorage/FileStorageApplicationModel.d.ts +146 -37
- package/sdk/application/FileStorage/FileStorageApplicationModel.js +38 -36
- package/sdk/application/Lead/LeadApplicationClient.d.ts +3 -3
- package/sdk/application/Lead/LeadApplicationClient.js +3 -3
- package/sdk/application/Lead/LeadApplicationModel.d.ts +195 -134
- package/sdk/application/Lead/LeadApplicationModel.js +110 -67
- package/sdk/application/Lead/LeadApplicationValidator.d.ts +8 -8
- package/sdk/application/Lead/LeadApplicationValidator.js +4 -4
- package/sdk/application/Logistic/LogisticApplicationClient.d.ts +10 -10
- package/sdk/application/Logistic/LogisticApplicationClient.js +10 -10
- package/sdk/application/Logistic/LogisticApplicationModel.d.ts +1039 -221
- package/sdk/application/Logistic/LogisticApplicationModel.js +342 -199
- package/sdk/application/Logistic/LogisticApplicationValidator.d.ts +76 -82
- package/sdk/application/Logistic/LogisticApplicationValidator.js +38 -41
- package/sdk/application/Order/OrderApplicationClient.d.ts +10 -10
- package/sdk/application/Order/OrderApplicationClient.js +10 -10
- package/sdk/application/Order/OrderApplicationModel.d.ts +1400 -325
- package/sdk/application/Order/OrderApplicationModel.js +391 -317
- package/sdk/application/Order/OrderApplicationValidator.d.ts +32 -30
- package/sdk/application/Order/OrderApplicationValidator.js +15 -14
- package/sdk/application/Payment/PaymentApplicationClient.d.ts +43 -43
- package/sdk/application/Payment/PaymentApplicationClient.js +43 -43
- package/sdk/application/Payment/PaymentApplicationModel.d.ts +1111 -1022
- package/sdk/application/Payment/PaymentApplicationModel.js +537 -521
- package/sdk/application/Payment/PaymentApplicationValidator.d.ts +82 -49
- package/sdk/application/Payment/PaymentApplicationValidator.js +30 -30
- package/sdk/application/Rewards/RewardsApplicationModel.d.ts +28 -7
- package/sdk/application/Rewards/RewardsApplicationModel.js +7 -7
- package/sdk/application/Share/ShareApplicationModel.d.ts +178 -38
- package/sdk/application/Share/ShareApplicationModel.js +53 -37
- package/sdk/application/Share/ShareApplicationValidator.d.ts +4 -2
- package/sdk/application/Share/ShareApplicationValidator.js +2 -1
- package/sdk/application/Theme/ThemeApplicationClient.d.ts +4 -4
- package/sdk/application/Theme/ThemeApplicationClient.js +14 -8
- package/sdk/application/Theme/ThemeApplicationModel.d.ts +528 -287
- package/sdk/application/Theme/ThemeApplicationModel.js +208 -172
- package/sdk/application/Theme/ThemeApplicationValidator.d.ts +17 -12
- package/sdk/application/Theme/ThemeApplicationValidator.js +8 -6
- package/sdk/application/User/UserApplicationClient.d.ts +36 -36
- package/sdk/application/User/UserApplicationClient.js +36 -36
- package/sdk/application/User/UserApplicationModel.d.ts +1062 -255
- package/sdk/application/User/UserApplicationModel.js +298 -244
- package/sdk/application/User/UserApplicationValidator.d.ts +80 -80
- package/sdk/application/User/UserApplicationValidator.js +40 -40
- package/sdk/application/Webhook/WebhookApplicationClient.d.ts +1 -1
- package/sdk/application/Webhook/WebhookApplicationClient.js +1 -1
- package/sdk/application/Webhook/WebhookApplicationModel.d.ts +20 -5
- package/sdk/application/Webhook/WebhookApplicationModel.js +5 -5
- package/sdk/common/Clickstream.js +95 -15
- package/sdk/common/Constant.d.ts +9 -0
- package/sdk/common/Constant.js +11 -0
- package/sdk/common/Utility.js +19 -0
- package/sdk/common/utils.js +8 -1
- package/sdk/partner/Lead/LeadPartnerModel.d.ts +28 -7
- package/sdk/partner/Lead/LeadPartnerModel.js +7 -7
- package/sdk/partner/Logistics/LogisticsPartnerModel.d.ts +28 -7
- package/sdk/partner/Logistics/LogisticsPartnerModel.js +7 -7
- package/sdk/partner/PartnerClient.d.ts +8 -0
- package/sdk/partner/PartnerClient.js +14 -0
- package/sdk/partner/Theme/ThemePartnerClient.d.ts +20 -0
- package/sdk/partner/Theme/ThemePartnerClient.js +158 -0
- package/sdk/partner/Theme/ThemePartnerModel.d.ts +45 -6
- package/sdk/partner/Theme/ThemePartnerModel.js +33 -4
- package/sdk/partner/Theme/ThemePartnerValidator.d.ts +2 -0
- package/sdk/partner/Theme/ThemePartnerValidator.js +14 -0
- package/sdk/partner/Webhook/WebhookPartnerModel.d.ts +28 -7
- package/sdk/partner/Webhook/WebhookPartnerModel.js +7 -7
- package/sdk/platform/Analytics/AnalyticsPlatformModel.d.ts +28 -7
- package/sdk/platform/Analytics/AnalyticsPlatformModel.js +7 -7
- package/sdk/platform/Billing/BillingPlatformClient.d.ts +6 -397
- package/sdk/platform/Billing/BillingPlatformClient.js +77 -3215
- package/sdk/platform/Billing/BillingPlatformModel.d.ts +621 -2021
- package/sdk/platform/Billing/BillingPlatformModel.js +353 -2405
- package/sdk/platform/Billing/BillingPlatformValidator.d.ts +12 -451
- package/sdk/platform/Billing/BillingPlatformValidator.js +8 -483
- package/sdk/platform/Cart/CartPlatformModel.d.ts +28 -7
- package/sdk/platform/Cart/CartPlatformModel.js +8 -8
- package/sdk/platform/Catalog/CatalogPlatformClient.d.ts +12 -2
- package/sdk/platform/Catalog/CatalogPlatformClient.js +41 -1
- package/sdk/platform/Catalog/CatalogPlatformModel.d.ts +46 -12
- package/sdk/platform/Catalog/CatalogPlatformModel.js +14 -11
- package/sdk/platform/Catalog/CatalogPlatformValidator.d.ts +40 -0
- package/sdk/platform/Catalog/CatalogPlatformValidator.js +17 -0
- package/sdk/platform/Communication/CommunicationPlatformModel.d.ts +28 -7
- package/sdk/platform/Communication/CommunicationPlatformModel.js +7 -7
- package/sdk/platform/CompanyProfile/CompanyProfilePlatformModel.d.ts +28 -7
- package/sdk/platform/CompanyProfile/CompanyProfilePlatformModel.js +7 -7
- package/sdk/platform/Configuration/ConfigurationPlatformClient.d.ts +0 -97
- package/sdk/platform/Configuration/ConfigurationPlatformClient.js +77 -782
- package/sdk/platform/Configuration/ConfigurationPlatformModel.d.ts +24 -701
- package/sdk/platform/Configuration/ConfigurationPlatformModel.js +7 -539
- package/sdk/platform/Configuration/ConfigurationPlatformValidator.d.ts +1 -183
- package/sdk/platform/Configuration/ConfigurationPlatformValidator.js +0 -134
- package/sdk/platform/Content/ContentPlatformApplicationClient.d.ts +0 -10
- package/sdk/platform/Content/ContentPlatformApplicationClient.js +0 -79
- package/sdk/platform/Content/ContentPlatformApplicationValidator.d.ts +1 -15
- package/sdk/platform/Content/ContentPlatformApplicationValidator.js +0 -13
- package/sdk/platform/Content/ContentPlatformModel.d.ts +58 -17
- package/sdk/platform/Content/ContentPlatformModel.js +28 -15
- package/sdk/platform/Discount/DiscountPlatformModel.d.ts +28 -7
- package/sdk/platform/Discount/DiscountPlatformModel.js +7 -7
- package/sdk/platform/FileStorage/FileStoragePlatformModel.d.ts +127 -25
- package/sdk/platform/FileStorage/FileStoragePlatformModel.js +37 -25
- package/sdk/platform/Finance/FinancePlatformClient.d.ts +28 -28
- package/sdk/platform/Finance/FinancePlatformClient.js +28 -28
- package/sdk/platform/Finance/FinancePlatformModel.d.ts +1583 -347
- package/sdk/platform/Finance/FinancePlatformModel.js +463 -351
- package/sdk/platform/Lead/LeadPlatformModel.d.ts +28 -7
- package/sdk/platform/Lead/LeadPlatformModel.js +7 -7
- package/sdk/platform/Order/OrderPlatformClient.d.ts +22 -0
- package/sdk/platform/Order/OrderPlatformClient.js +165 -0
- package/sdk/platform/Order/OrderPlatformModel.d.ts +613 -39
- package/sdk/platform/Order/OrderPlatformModel.js +359 -41
- package/sdk/platform/Order/OrderPlatformValidator.d.ts +32 -1
- package/sdk/platform/Order/OrderPlatformValidator.js +28 -0
- package/sdk/platform/Payment/PaymentPlatformModel.d.ts +30 -9
- package/sdk/platform/Payment/PaymentPlatformModel.js +9 -9
- package/sdk/platform/PlatformClient.d.ts +8 -0
- package/sdk/platform/PlatformClient.js +14 -0
- package/sdk/platform/Rewards/RewardsPlatformModel.d.ts +28 -7
- package/sdk/platform/Rewards/RewardsPlatformModel.js +7 -7
- package/sdk/platform/Serviceability/ServiceabilityPlatformApplicationClient.d.ts +12 -9
- package/sdk/platform/Serviceability/ServiceabilityPlatformApplicationClient.js +12 -9
- package/sdk/platform/Serviceability/ServiceabilityPlatformModel.d.ts +120 -22
- package/sdk/platform/Serviceability/ServiceabilityPlatformModel.js +76 -21
- package/sdk/platform/Share/SharePlatformModel.d.ts +28 -7
- package/sdk/platform/Share/SharePlatformModel.js +7 -7
- package/sdk/platform/Theme/ThemePlatformModel.d.ts +18 -5
- package/sdk/platform/Theme/ThemePlatformModel.js +7 -4
- package/sdk/platform/User/UserPlatformModel.d.ts +18 -18
- package/sdk/platform/User/UserPlatformModel.js +9 -9
- package/sdk/platform/Webhook/WebhookPlatformModel.d.ts +28 -7
- package/sdk/platform/Webhook/WebhookPlatformModel.js +7 -7
- package/sdk/public/PublicClient.d.ts +0 -4
- package/sdk/public/PublicClient.js +0 -8
- package/sdk/public/index.d.ts +0 -2
- package/sdk/public/index.js +0 -4
- package/sdk/public/Billing/BillingPublicClient.d.ts +0 -45
- package/sdk/public/Billing/BillingPublicClient.js +0 -269
- package/sdk/public/Billing/BillingPublicModel.d.ts +0 -434
- package/sdk/public/Billing/BillingPublicModel.js +0 -395
- package/sdk/public/Billing/BillingPublicValidator.d.ts +0 -34
- package/sdk/public/Billing/BillingPublicValidator.js +0 -38
- package/sdk/public/Inventory/InventoryPublicClient.d.ts +0 -87
- package/sdk/public/Inventory/InventoryPublicClient.js +0 -529
- package/sdk/public/Inventory/InventoryPublicModel.d.ts +0 -393
- package/sdk/public/Inventory/InventoryPublicModel.js +0 -448
- package/sdk/public/Inventory/InventoryPublicValidator.d.ts +0 -91
- package/sdk/public/Inventory/InventoryPublicValidator.js +0 -85
|
@@ -2,52 +2,57 @@ const Joi = require("joi");
|
|
|
2
2
|
|
|
3
3
|
/**
|
|
4
4
|
* @typedef ProductDetailCustomOrder
|
|
5
|
-
* @property {number} [manufacturing_time]
|
|
6
|
-
* @property {string} [manufacturing_time_unit]
|
|
7
|
-
*
|
|
5
|
+
* @property {number} [manufacturing_time] - The unit of time taken for manufacturing.
|
|
6
|
+
* @property {string} [manufacturing_time_unit] - The unit of time required for
|
|
7
|
+
* manufacturing is defined in hours or days.
|
|
8
|
+
* @property {boolean} [is_custom_order] - A boolean flag indicating whether MTO
|
|
9
|
+
* (Make to Order) is enabled or not.
|
|
8
10
|
*/
|
|
9
11
|
|
|
10
12
|
/**
|
|
11
13
|
* @typedef Meta
|
|
12
|
-
* @property {string} [source]
|
|
14
|
+
* @property {string} [source] - The source or origin of the media file, which
|
|
15
|
+
* could be a URL or a reference to where the media was obtained.
|
|
13
16
|
*/
|
|
14
17
|
|
|
15
18
|
/**
|
|
16
19
|
* @typedef Media
|
|
17
|
-
* @property {string} [url]
|
|
18
|
-
* @property {string} [type]
|
|
20
|
+
* @property {string} [url] - Absolute url for Media.
|
|
21
|
+
* @property {string} [type] - The type of media, such as image, video.
|
|
19
22
|
* @property {Meta} [meta]
|
|
20
|
-
* @property {string} [alt]
|
|
23
|
+
* @property {string} [alt] - Alternative text for the media, used for
|
|
24
|
+
* accessibility and SEO purposes.
|
|
21
25
|
*/
|
|
22
26
|
|
|
23
27
|
/**
|
|
24
28
|
* @typedef ProductListingActionPage
|
|
25
|
-
* @property {string} [type]
|
|
26
|
-
*
|
|
27
|
-
* @property {Object} [
|
|
29
|
+
* @property {string} [type] - The type of action such as product, products,
|
|
30
|
+
* category, brand.
|
|
31
|
+
* @property {Object} [query] - Query parameter if any to be added to the action.
|
|
32
|
+
* @property {Object} [params] - Parameters that should be considered in path.
|
|
28
33
|
*/
|
|
29
34
|
|
|
30
35
|
/**
|
|
31
36
|
* @typedef ProductListingAction
|
|
32
|
-
* @property {string} [type]
|
|
37
|
+
* @property {string} [type] - Type of action to be taken e.g, page.
|
|
33
38
|
* @property {ProductListingActionPage} [page]
|
|
34
39
|
*/
|
|
35
40
|
|
|
36
41
|
/**
|
|
37
42
|
* @typedef ProductBrand
|
|
38
|
-
* @property {number} [uid]
|
|
43
|
+
* @property {number} [uid] - Unique identifier for the product brand.
|
|
39
44
|
* @property {Media} [logo]
|
|
40
|
-
* @property {string} [description]
|
|
41
|
-
* @property {string} [name]
|
|
45
|
+
* @property {string} [description] - Description of the product brand.
|
|
46
|
+
* @property {string} [name] - Name of the product brand.
|
|
42
47
|
* @property {ProductListingAction} [action]
|
|
43
48
|
*/
|
|
44
49
|
|
|
45
50
|
/**
|
|
46
51
|
* @typedef ProductDepartment
|
|
47
|
-
* @property {number} [uid]
|
|
52
|
+
* @property {number} [uid] - Unique identifier for the product department.
|
|
48
53
|
* @property {Media} [logo]
|
|
49
|
-
* @property {string} [slug]
|
|
50
|
-
* @property {string} [name]
|
|
54
|
+
* @property {string} [slug] - URL-friendly identifier for the product department.
|
|
55
|
+
* @property {string} [name] - Name of the product department.
|
|
51
56
|
*/
|
|
52
57
|
|
|
53
58
|
/**
|
|
@@ -72,21 +77,22 @@ const Joi = require("joi");
|
|
|
72
77
|
|
|
73
78
|
/**
|
|
74
79
|
* @typedef ApplicationItemSEO
|
|
75
|
-
* @property {Object} [title] - The SEO title of the item
|
|
76
|
-
* @property {Object} [description] - The SEO description of the item
|
|
80
|
+
* @property {Object} [title] - The SEO title of the item.
|
|
81
|
+
* @property {Object} [description] - The SEO description of the item.
|
|
77
82
|
*/
|
|
78
83
|
|
|
79
84
|
/**
|
|
80
85
|
* @typedef ProductDetailAttribute
|
|
81
|
-
* @property {string} [value]
|
|
82
|
-
* @property {string} [type]
|
|
83
|
-
* @property {string} [key]
|
|
86
|
+
* @property {string} [value] - The value of the product attribute.
|
|
87
|
+
* @property {string} [type] - The type or category of the product attribute.
|
|
88
|
+
* @property {string} [key] - The key or name of the product attribute.
|
|
84
89
|
*/
|
|
85
90
|
|
|
86
91
|
/**
|
|
87
92
|
* @typedef ProductDetailGroupedAttribute
|
|
88
|
-
* @property {string} [title]
|
|
89
|
-
* @property {ProductDetailAttribute[]} [details]
|
|
93
|
+
* @property {string} [title] - The title or name of the attribute group.
|
|
94
|
+
* @property {ProductDetailAttribute[]} [details] - A list of product attributes
|
|
95
|
+
* within this group.
|
|
90
96
|
*/
|
|
91
97
|
|
|
92
98
|
/**
|
|
@@ -122,64 +128,77 @@ const Joi = require("joi");
|
|
|
122
128
|
|
|
123
129
|
/**
|
|
124
130
|
* @typedef ProductDetail
|
|
125
|
-
* @property {number} [uid]
|
|
131
|
+
* @property {number} [uid] - Unique identifier for the product.
|
|
126
132
|
* @property {ProductDetailCustomOrder} [custom_order]
|
|
127
133
|
* @property {ProductCategoryMap} [category_map]
|
|
128
134
|
* @property {NetQuantity} [net_quantity]
|
|
129
|
-
* @property {number} [rating_count]
|
|
130
|
-
* @property {CustomMetaFields[]} [_custom_meta]
|
|
131
|
-
*
|
|
132
|
-
* @property {string[]} [
|
|
135
|
+
* @property {number} [rating_count] - Count of ratings the product has received.
|
|
136
|
+
* @property {CustomMetaFields[]} [_custom_meta] - Custom metadata fields
|
|
137
|
+
* associated with the product.
|
|
138
|
+
* @property {string[]} [similars] - List of products marked similar to given product.
|
|
139
|
+
* @property {string[]} [tags] - Tags associated with the product for better
|
|
140
|
+
* categorization.
|
|
133
141
|
* @property {ApplicationItemSEO} [seo]
|
|
134
|
-
* @property {string} [image_nature]
|
|
135
|
-
*
|
|
136
|
-
* @property {
|
|
137
|
-
* @property {string} [
|
|
138
|
-
*
|
|
139
|
-
*
|
|
140
|
-
* @property {string} [
|
|
141
|
-
* @property {
|
|
142
|
-
*
|
|
143
|
-
* @property {
|
|
144
|
-
* @property {string} [
|
|
145
|
-
* @property {string} [
|
|
142
|
+
* @property {string} [image_nature] - Type of the images associated with the
|
|
143
|
+
* product such as standard.
|
|
144
|
+
* @property {boolean} [has_variant] - Indicates whether the product has variants.
|
|
145
|
+
* @property {string} [item_type] - This field describes the type of item,
|
|
146
|
+
* indicating the category or nature of the product. Possible values are
|
|
147
|
+
* Standard, Composite, Wet, Digital.
|
|
148
|
+
* @property {string} [description] - Detailed description of the product.
|
|
149
|
+
* @property {ProductDetailGroupedAttribute[]} [grouped_attributes] - Grouped
|
|
150
|
+
* attributes detailing various characteristics of the product.
|
|
151
|
+
* @property {Media[]} [medias] - Media files associated with the product.
|
|
152
|
+
* @property {string} [color] - Color of the product, if applicable.
|
|
153
|
+
* @property {string} [type] - Product type or classification.
|
|
154
|
+
* @property {string} [product_online_date] - Date and time when the product was
|
|
155
|
+
* made available online.
|
|
156
|
+
* @property {Object} [_custom_json] - Custom JSON object for additional product data.
|
|
157
|
+
* @property {string} [item_code] - Item Code defined for the product.
|
|
158
|
+
* @property {string} [name] - Name of the product.
|
|
146
159
|
* @property {ApplicationItemMOQ} [moq]
|
|
147
|
-
* @property {string} [short_description]
|
|
148
|
-
* @property {ProductBrand[]} [categories]
|
|
149
|
-
*
|
|
150
|
-
* @property {
|
|
151
|
-
*
|
|
152
|
-
* @property {string}
|
|
160
|
+
* @property {string} [short_description] - Brief description of the product.
|
|
161
|
+
* @property {ProductBrand[]} [categories] - List of product categories
|
|
162
|
+
* associated with the product.
|
|
163
|
+
* @property {Object} [attributes] - Additional attributes or characteristics of
|
|
164
|
+
* the product.
|
|
165
|
+
* @property {string} [discount] - Discount applied to the product, if any.
|
|
166
|
+
* @property {string[]} [tryouts] - Identifiers or names of tryout versions of
|
|
167
|
+
* the product.
|
|
168
|
+
* @property {string} slug - URL-friendly identifier for the product.
|
|
153
169
|
* @property {ProductListingAction} [action]
|
|
154
|
-
* @property {number} [rating]
|
|
155
|
-
* @property {boolean} [is_dependent]
|
|
156
|
-
*
|
|
157
|
-
* @property {string[]} [
|
|
170
|
+
* @property {number} [rating] - The rating of the product.
|
|
171
|
+
* @property {boolean} [is_dependent] - Indicates whether the product can be
|
|
172
|
+
* sold as an individual product.
|
|
173
|
+
* @property {string[]} [product_group_tag] - List of bundle/product grouping
|
|
174
|
+
* slugs mapped to the product.
|
|
175
|
+
* @property {string[]} [highlights] - Key highlights or features of the product.
|
|
158
176
|
* @property {ProductListingPrice} [price]
|
|
159
177
|
* @property {ProductBrand} [brand]
|
|
160
178
|
* @property {ProductDepartment} [department]
|
|
161
|
-
* @property {string} [teaser_tag]
|
|
179
|
+
* @property {string} [teaser_tag] - Teaser tag or short promotional phrase for
|
|
180
|
+
* the product.
|
|
162
181
|
*/
|
|
163
182
|
|
|
164
183
|
/**
|
|
165
184
|
* @typedef ErrorResponse
|
|
166
|
-
* @property {string} [error]
|
|
185
|
+
* @property {string} [error] - A brief description of the error.
|
|
167
186
|
*/
|
|
168
187
|
|
|
169
188
|
/**
|
|
170
189
|
* @typedef Dimension
|
|
171
|
-
* @property {string} unit - The unit of dimension
|
|
172
|
-
* @property {number} height - The height of the product
|
|
173
|
-
* @property {number} length - The length of the product
|
|
174
|
-
* @property {number} width - The width of the product
|
|
175
|
-
* @property {boolean} is_default - Whether the dimension is the default one or not
|
|
190
|
+
* @property {string} unit - The unit of dimension.
|
|
191
|
+
* @property {number} height - The height of the product.
|
|
192
|
+
* @property {number} length - The length of the product.
|
|
193
|
+
* @property {number} width - The width of the product.
|
|
194
|
+
* @property {boolean} is_default - Whether the dimension is the default one or not.
|
|
176
195
|
*/
|
|
177
196
|
|
|
178
197
|
/**
|
|
179
198
|
* @typedef Weight
|
|
180
|
-
* @property {string} unit - The unit of weight
|
|
181
|
-
* @property {number} shipping - The shipping weight of the product
|
|
182
|
-
* @property {boolean} is_default - Whether the weight is the default one or not
|
|
199
|
+
* @property {string} unit - The unit of weight.
|
|
200
|
+
* @property {number} shipping - The shipping weight of the product.
|
|
201
|
+
* @property {boolean} is_default - Whether the weight is the default one or not.
|
|
183
202
|
*/
|
|
184
203
|
|
|
185
204
|
/**
|
|
@@ -194,29 +213,32 @@ const Joi = require("joi");
|
|
|
194
213
|
|
|
195
214
|
/**
|
|
196
215
|
* @typedef ProductSize
|
|
197
|
-
* @property {number} [quantity]
|
|
216
|
+
* @property {number} [quantity] - The quantity of the product size available.
|
|
198
217
|
* @property {Dimension} [dimension]
|
|
199
218
|
* @property {Weight} [weight]
|
|
200
|
-
* @property {boolean} [is_available]
|
|
201
|
-
*
|
|
202
|
-
* @property {string} [
|
|
203
|
-
*
|
|
219
|
+
* @property {boolean} [is_available] - Indicates whether the product size is
|
|
220
|
+
* available for purchase.
|
|
221
|
+
* @property {string[]} [seller_identifiers] - List of identifiers used by
|
|
222
|
+
* sellers for the product size.
|
|
223
|
+
* @property {string} [value] - The value or label representing the product size.
|
|
224
|
+
* @property {string} [display] - Display name of the product size.
|
|
204
225
|
*/
|
|
205
226
|
|
|
206
227
|
/**
|
|
207
228
|
* @typedef SizeChartValues
|
|
208
|
-
* @property {string} [col_3]
|
|
209
|
-
* @property {string} [col_6]
|
|
210
|
-
* @property {string} [col_2]
|
|
211
|
-
* @property {string} [col_4]
|
|
212
|
-
* @property {string} [col_1]
|
|
213
|
-
* @property {string} [col_5]
|
|
229
|
+
* @property {string} [col_3] - Value for column 3.
|
|
230
|
+
* @property {string} [col_6] - Value for column 6.
|
|
231
|
+
* @property {string} [col_2] - Value for column 2.
|
|
232
|
+
* @property {string} [col_4] - Value for column 4.
|
|
233
|
+
* @property {string} [col_1] - Value for column 1.
|
|
234
|
+
* @property {string} [col_5] - Value for column 5.
|
|
214
235
|
*/
|
|
215
236
|
|
|
216
237
|
/**
|
|
217
238
|
* @typedef ColumnHeader
|
|
218
|
-
* @property {boolean} [convertable]
|
|
219
|
-
*
|
|
239
|
+
* @property {boolean} [convertable] - Indicates if the column value can be
|
|
240
|
+
* converted or transformed.
|
|
241
|
+
* @property {string} [value] - The value or title of the column header.
|
|
220
242
|
*/
|
|
221
243
|
|
|
222
244
|
/**
|
|
@@ -231,59 +253,62 @@ const Joi = require("joi");
|
|
|
231
253
|
|
|
232
254
|
/**
|
|
233
255
|
* @typedef SizeChart
|
|
234
|
-
* @property {string} [unit]
|
|
235
|
-
* @property {string} [image]
|
|
236
|
-
* @property {string} [size_tip]
|
|
237
|
-
* @property {SizeChartValues[]} [sizes]
|
|
238
|
-
* @property {string} [description]
|
|
239
|
-
* @property {string} [title]
|
|
256
|
+
* @property {string} [unit] - Unit of measurement used in the size chart (e.g., in, cm).
|
|
257
|
+
* @property {string} [image] - URL of the image representing the size chart.
|
|
258
|
+
* @property {string} [size_tip] - Additional tip or guideline related to sizing.
|
|
259
|
+
* @property {SizeChartValues[]} [sizes] - Array of size chart values for different sizes.
|
|
260
|
+
* @property {string} [description] - Description related to the size chart.
|
|
261
|
+
* @property {string} [title] - Title or name of the size chart.
|
|
240
262
|
* @property {ColumnHeaders} [headers]
|
|
241
263
|
*/
|
|
242
264
|
|
|
243
265
|
/**
|
|
244
266
|
* @typedef ProductSizeStores
|
|
245
|
-
* @property {number} [count]
|
|
267
|
+
* @property {number} [count] - Number of stores where the product size is available.
|
|
246
268
|
*/
|
|
247
269
|
|
|
248
270
|
/**
|
|
249
271
|
* @typedef ProductSizes
|
|
250
|
-
* @property {ProductSize[]} [sizes]
|
|
272
|
+
* @property {ProductSize[]} [sizes] - List of available sizes for the product.
|
|
251
273
|
* @property {ProductSizesPrice} [price]
|
|
252
274
|
* @property {ProductSizesPrice} [price_per_piece]
|
|
253
275
|
* @property {SizeChart} [size_chart]
|
|
254
|
-
* @property {boolean} [sellable]
|
|
255
|
-
* @property {boolean} [multi_size]
|
|
256
|
-
* @property {string} [discount]
|
|
276
|
+
* @property {boolean} [sellable] - Whether the product sizes are available for sale.
|
|
277
|
+
* @property {boolean} [multi_size] - Whether the product supports multiple sizes.
|
|
278
|
+
* @property {string} [discount] - Discount information applicable to the product sizes.
|
|
257
279
|
* @property {ProductSizeStores} [stores]
|
|
258
280
|
* @property {DiscountMeta} [discount_meta]
|
|
259
281
|
*/
|
|
260
282
|
|
|
261
283
|
/**
|
|
262
284
|
* @typedef AttributeDetail
|
|
263
|
-
* @property {string} [logo]
|
|
264
|
-
* @property {string} [description]
|
|
265
|
-
* @property {string} [display]
|
|
266
|
-
* @property {string} [key]
|
|
285
|
+
* @property {string} [logo] - URL or path to the logo associated with the attribute.
|
|
286
|
+
* @property {string} [description] - A description of the attribute.
|
|
287
|
+
* @property {string} [display] - Display name or label for the attribute.
|
|
288
|
+
* @property {string} [key] - Unique key or identifier for the attribute.
|
|
267
289
|
*/
|
|
268
290
|
|
|
269
291
|
/**
|
|
270
292
|
* @typedef AttributeMetadata
|
|
271
|
-
* @property {string} [title]
|
|
272
|
-
* @property {AttributeDetail[]} [details]
|
|
293
|
+
* @property {string} [title] - Title or name of the attribute metadata.
|
|
294
|
+
* @property {AttributeDetail[]} [details] - List of detailed information about
|
|
295
|
+
* attributes.
|
|
273
296
|
*/
|
|
274
297
|
|
|
275
298
|
/**
|
|
276
299
|
* @typedef ProductsComparisonResponse
|
|
277
|
-
* @property {ProductDetail[]} [items]
|
|
278
|
-
* @property {AttributeMetadata[]} [attributes_metadata]
|
|
300
|
+
* @property {ProductDetail[]} [items] - List of product details for comparison.
|
|
301
|
+
* @property {AttributeMetadata[]} [attributes_metadata] - Metadata about
|
|
302
|
+
* attributes used for comparing products.
|
|
279
303
|
*/
|
|
280
304
|
|
|
281
305
|
/**
|
|
282
306
|
* @typedef ProductCompareResponse
|
|
283
|
-
* @property {string} [title]
|
|
284
|
-
* @property {ProductDetail[]} [items]
|
|
285
|
-
* @property {AttributeMetadata[]} [attributes_metadata]
|
|
286
|
-
*
|
|
307
|
+
* @property {string} [title] - Title or name of the comparison.
|
|
308
|
+
* @property {ProductDetail[]} [items] - List of product details for comparison.
|
|
309
|
+
* @property {AttributeMetadata[]} [attributes_metadata] - Metadata about
|
|
310
|
+
* attributes used for comparing products.
|
|
311
|
+
* @property {string} [subtitle] - Subtitle or additional description for the comparison.
|
|
287
312
|
*/
|
|
288
313
|
|
|
289
314
|
/**
|
|
@@ -293,195 +318,226 @@ const Joi = require("joi");
|
|
|
293
318
|
|
|
294
319
|
/**
|
|
295
320
|
* @typedef ProductVariantItemResponse
|
|
296
|
-
* @property {number} [uid]
|
|
297
|
-
* @property {string} [color_name]
|
|
298
|
-
* @property {string} [color]
|
|
299
|
-
* @property {Media[]} [medias]
|
|
300
|
-
* @property {boolean} [is_available]
|
|
301
|
-
*
|
|
302
|
-
* @property {
|
|
303
|
-
*
|
|
304
|
-
* @property {string} [
|
|
305
|
-
* @property {
|
|
321
|
+
* @property {number} [uid] - Unique identifier for the product variant.
|
|
322
|
+
* @property {string} [color_name] - Name of the color for the variant.
|
|
323
|
+
* @property {string} [color] - Color code or representation for the variant.
|
|
324
|
+
* @property {Media[]} [medias] - Media files associated with the product variant.
|
|
325
|
+
* @property {boolean} [is_available] - Indicates whether the product variant is
|
|
326
|
+
* available for purchase.
|
|
327
|
+
* @property {CustomMetaFields[]} [_custom_meta] - Custom metadata fields
|
|
328
|
+
* associated with the product.
|
|
329
|
+
* @property {string} [name] - Name of the product variant.
|
|
330
|
+
* @property {string} [value] - Value or label representing the product variant.
|
|
331
|
+
* @property {string} [slug] - URL-friendly identifier for the product.
|
|
332
|
+
* @property {Object} [_custom_json] - Custom JSON object for additional data
|
|
333
|
+
* related to the product.
|
|
306
334
|
* @property {ProductListingAction} [action]
|
|
307
335
|
*/
|
|
308
336
|
|
|
309
337
|
/**
|
|
310
338
|
* @typedef ProductVariantResponse
|
|
311
|
-
* @property {string} [display_type]
|
|
312
|
-
*
|
|
313
|
-
* @property {string} [
|
|
314
|
-
* @property {
|
|
315
|
-
* @property {
|
|
316
|
-
* @property {string} [
|
|
339
|
+
* @property {string} [display_type] - The type of display for the product
|
|
340
|
+
* variant (e.g., image, text, image, color).
|
|
341
|
+
* @property {string} [header] - Header or title for the product variant section.
|
|
342
|
+
* @property {string} [group_id] - Group ID used to group variants.
|
|
343
|
+
* @property {ProductVariantItemResponse[]} [items] - List of product variant items.
|
|
344
|
+
* @property {string} [key] - Attribute identifier of the variant.
|
|
345
|
+
* @property {string} [logo] - URL or path to the logo associated with the
|
|
346
|
+
* product variant.
|
|
317
347
|
*/
|
|
318
348
|
|
|
319
349
|
/**
|
|
320
350
|
* @typedef ProductVariantsResponse
|
|
321
|
-
* @property {ProductVariantResponse[]} [variants]
|
|
351
|
+
* @property {ProductVariantResponse[]} [variants] - A list of product variant
|
|
352
|
+
* responses, each detailing a specific variant.
|
|
322
353
|
*/
|
|
323
354
|
|
|
324
355
|
/**
|
|
325
356
|
* @typedef StoreDetail
|
|
326
|
-
* @property {string} [name]
|
|
327
|
-
* @property {string} [city]
|
|
328
|
-
* @property {number} [id]
|
|
329
|
-
* @property {string} [code]
|
|
357
|
+
* @property {string} [name] - NA.
|
|
358
|
+
* @property {string} [city] - NA.
|
|
359
|
+
* @property {number} [id] - NA.
|
|
360
|
+
* @property {string} [code] - NA.
|
|
330
361
|
*/
|
|
331
362
|
|
|
332
363
|
/**
|
|
333
364
|
* @typedef ProductStockPrice
|
|
334
|
-
* @property {number} [effective]
|
|
335
|
-
* @property {string} [currency]
|
|
336
|
-
* @property {number} [marked]
|
|
365
|
+
* @property {number} [effective] - NA.
|
|
366
|
+
* @property {string} [currency] - NA.
|
|
367
|
+
* @property {number} [marked] - NA.
|
|
337
368
|
*/
|
|
338
369
|
|
|
339
370
|
/**
|
|
340
371
|
* @typedef CompanyDetail
|
|
341
|
-
* @property {string} [name]
|
|
342
|
-
* @property {number} [id]
|
|
372
|
+
* @property {string} [name] - NA.
|
|
373
|
+
* @property {number} [id] - NA.
|
|
343
374
|
*/
|
|
344
375
|
|
|
345
376
|
/**
|
|
346
377
|
* @typedef Seller
|
|
347
|
-
* @property {number} [uid]
|
|
348
|
-
* @property {string} [name]
|
|
349
|
-
* @property {number} [count]
|
|
378
|
+
* @property {number} [uid] - NA.
|
|
379
|
+
* @property {string} [name] - NA.
|
|
380
|
+
* @property {number} [count] - NA.
|
|
350
381
|
*/
|
|
351
382
|
|
|
352
383
|
/**
|
|
353
384
|
* @typedef ProductStockStatusItem
|
|
354
|
-
* @property {string} [uid]
|
|
355
|
-
* @property {number} [quantity]
|
|
385
|
+
* @property {string} [uid] - NA.
|
|
386
|
+
* @property {number} [quantity] - NA.
|
|
356
387
|
* @property {StoreDetail} [store]
|
|
357
|
-
* @property {string} [size]
|
|
388
|
+
* @property {string} [size] - NA.
|
|
358
389
|
* @property {ProductStockPrice} [price]
|
|
359
390
|
* @property {CompanyDetail} [company]
|
|
360
|
-
* @property {number} [item_id]
|
|
391
|
+
* @property {number} [item_id] - NA.
|
|
361
392
|
* @property {Seller} [seller]
|
|
362
|
-
* @property {Object} [identifier]
|
|
393
|
+
* @property {Object} [identifier] - NA.
|
|
363
394
|
*/
|
|
364
395
|
|
|
365
396
|
/**
|
|
366
397
|
* @typedef ProductStockStatusResponse
|
|
367
|
-
* @property {ProductStockStatusItem[]} [items]
|
|
398
|
+
* @property {ProductStockStatusItem[]} [items] - NA.
|
|
368
399
|
*/
|
|
369
400
|
|
|
370
401
|
/**
|
|
371
402
|
* @typedef Page
|
|
372
|
-
* @property {number} [item_total]
|
|
373
|
-
* @property {string} [next_id]
|
|
374
|
-
* @property {boolean} [has_previous]
|
|
375
|
-
* @property {boolean} [has_next]
|
|
376
|
-
* @property {number} [current]
|
|
377
|
-
* @property {string} type
|
|
378
|
-
* @property {number} [size]
|
|
403
|
+
* @property {number} [item_total] - The total number of items on the page.
|
|
404
|
+
* @property {string} [next_id] - The identifier for the next page.
|
|
405
|
+
* @property {boolean} [has_previous] - Indicates whether there is a previous page.
|
|
406
|
+
* @property {boolean} [has_next] - Indicates whether there is a next page.
|
|
407
|
+
* @property {number} [current] - The current page number.
|
|
408
|
+
* @property {string} type - The type of the page, such as 'PageType'.
|
|
409
|
+
* @property {number} [size] - The number of items per page.
|
|
379
410
|
*/
|
|
380
411
|
|
|
381
412
|
/**
|
|
382
413
|
* @typedef ProductStockPolling
|
|
383
|
-
* @property {ProductStockStatusItem[]} [items]
|
|
414
|
+
* @property {ProductStockStatusItem[]} [items] - NA.
|
|
384
415
|
* @property {Page} page
|
|
385
416
|
*/
|
|
386
417
|
|
|
387
418
|
/**
|
|
388
419
|
* @typedef ProductVariantListingResponse
|
|
389
|
-
* @property {string} [header]
|
|
390
|
-
* @property {ProductVariantItemResponse[]} [items]
|
|
391
|
-
*
|
|
392
|
-
* @property {
|
|
393
|
-
* @property {string} [
|
|
420
|
+
* @property {string} [header] - Header or title for the product variant section.
|
|
421
|
+
* @property {ProductVariantItemResponse[]} [items] - List of Upto 5 product
|
|
422
|
+
* variant items.
|
|
423
|
+
* @property {number} [total] - The total number of product variants available.
|
|
424
|
+
* @property {string} [key] - Attribute identifier of the variant.
|
|
425
|
+
* @property {string} [display_type] - The type of display for the product
|
|
426
|
+
* variant (e.g., image, text, image, color).
|
|
394
427
|
*/
|
|
395
428
|
|
|
396
429
|
/**
|
|
397
430
|
* @typedef ProductListingDetail
|
|
398
|
-
* @property {number} [uid]
|
|
431
|
+
* @property {number} [uid] - Unique identifier for the product.
|
|
399
432
|
* @property {ProductDetailCustomOrder} [custom_order]
|
|
400
|
-
* @property {string[]} [sizes]
|
|
433
|
+
* @property {string[]} [sizes] - Available sizes for the product.
|
|
401
434
|
* @property {ProductCategoryMap} [category_map]
|
|
402
435
|
* @property {NetQuantity} [net_quantity]
|
|
403
|
-
* @property {number} [rating_count]
|
|
404
|
-
* @property {CustomMetaFields[]} [_custom_meta]
|
|
405
|
-
*
|
|
406
|
-
* @property {string[]} [
|
|
436
|
+
* @property {number} [rating_count] - The number of ratings the product has received.
|
|
437
|
+
* @property {CustomMetaFields[]} [_custom_meta] - Custom metadata fields
|
|
438
|
+
* associated with the product.
|
|
439
|
+
* @property {string[]} [similars] - List of products marked similar to given product.
|
|
440
|
+
* @property {string[]} [tags] - Tags associated with the product for better
|
|
441
|
+
* categorization.
|
|
407
442
|
* @property {ApplicationItemSEO} [seo]
|
|
408
|
-
* @property {string} [image_nature]
|
|
409
|
-
*
|
|
410
|
-
* @property {
|
|
411
|
-
* @property {string} [
|
|
412
|
-
*
|
|
413
|
-
*
|
|
414
|
-
* @property {string} [
|
|
415
|
-
* @property {
|
|
416
|
-
*
|
|
417
|
-
* @property {
|
|
418
|
-
* @property {string} [
|
|
419
|
-
* @property {string} [
|
|
443
|
+
* @property {string} [image_nature] - Type of the images associated with the
|
|
444
|
+
* product such as standard.
|
|
445
|
+
* @property {boolean} [has_variant] - Indicates whether the product has variants.
|
|
446
|
+
* @property {string} [item_type] - This field describes the type of item,
|
|
447
|
+
* indicating the category or nature of the product. Possible values are
|
|
448
|
+
* Standard, Composite, Wet, Digital.
|
|
449
|
+
* @property {string} [description] - Detailed description of the product.
|
|
450
|
+
* @property {ProductDetailGroupedAttribute[]} [grouped_attributes] - Grouped
|
|
451
|
+
* attributes detailing various characteristics of the product.
|
|
452
|
+
* @property {Media[]} [medias] - Media files associated with the product.
|
|
453
|
+
* @property {string} [color] - Color of the product, if applicable.
|
|
454
|
+
* @property {string} [type] - Product type or classification.
|
|
455
|
+
* @property {string} [product_online_date] - Date and time when the product was
|
|
456
|
+
* made available online.
|
|
457
|
+
* @property {Object} [_custom_json] - Custom JSON object for additional product data.
|
|
458
|
+
* @property {string} [item_code] - Item Code defined for the product.
|
|
459
|
+
* @property {string} [name] - Name of the product.
|
|
420
460
|
* @property {ApplicationItemMOQ} [moq]
|
|
421
|
-
* @property {string} [short_description]
|
|
422
|
-
* @property {ProductBrand[]} [categories]
|
|
423
|
-
*
|
|
424
|
-
* @property {
|
|
425
|
-
* @property {
|
|
426
|
-
*
|
|
427
|
-
* @property {
|
|
428
|
-
*
|
|
429
|
-
* @property {string}
|
|
461
|
+
* @property {string} [short_description] - Brief description of the product.
|
|
462
|
+
* @property {ProductBrand[]} [categories] - List of product categories
|
|
463
|
+
* associated with the product.
|
|
464
|
+
* @property {boolean} [sellable] - Indicates whether the product is available for sale.
|
|
465
|
+
* @property {Object} [attributes] - Additional attributes or characteristics of
|
|
466
|
+
* the product.
|
|
467
|
+
* @property {ProductVariantListingResponse[]} [variants] - List of product
|
|
468
|
+
* variants available for the product.
|
|
469
|
+
* @property {string} [discount] - Discount details or percentage applied to the product.
|
|
470
|
+
* @property {string[]} [tryouts] - List of tryout options available for the product.
|
|
471
|
+
* @property {string[]} [identifiers] - List of seller identifiers for the product.
|
|
472
|
+
* @property {string} slug - URL-friendly identifier for the product.
|
|
430
473
|
* @property {ProductListingAction} [action]
|
|
431
|
-
* @property {number} [rating]
|
|
432
|
-
* @property {boolean} [is_dependent]
|
|
433
|
-
*
|
|
434
|
-
* @property {string[]} [
|
|
474
|
+
* @property {number} [rating] - Rating of the product.
|
|
475
|
+
* @property {boolean} [is_dependent] - Indicates whether the product can be
|
|
476
|
+
* sold as an individual product.
|
|
477
|
+
* @property {string[]} [product_group_tag] - List of bundle/product grouping
|
|
478
|
+
* slugs mapped to the product.
|
|
479
|
+
* @property {string[]} [highlights] - Key highlights or features of the product.
|
|
435
480
|
* @property {ProductListingPrice} [price]
|
|
436
481
|
* @property {ProductBrand} [brand]
|
|
437
|
-
* @property {string} [teaser_tag]
|
|
482
|
+
* @property {string} [teaser_tag] - Teaser tag or short promotional phrase for
|
|
483
|
+
* the product.
|
|
438
484
|
*/
|
|
439
485
|
|
|
440
486
|
/**
|
|
441
487
|
* @typedef ProductFiltersValue
|
|
442
|
-
* @property {number} [min]
|
|
443
|
-
* @property {string} [display_format]
|
|
444
|
-
* @property {number} [selected_max]
|
|
445
|
-
*
|
|
446
|
-
* @property {string} [
|
|
447
|
-
* @property {string} [
|
|
448
|
-
* @property {
|
|
449
|
-
* @property {
|
|
450
|
-
*
|
|
451
|
-
* @property {string}
|
|
452
|
-
*
|
|
453
|
-
* @property {
|
|
488
|
+
* @property {number} [min] - Minimum value for the range filter.
|
|
489
|
+
* @property {string} [display_format] - Format in which the filter value is displayed.
|
|
490
|
+
* @property {number} [selected_max] - The maximum value selected by the user
|
|
491
|
+
* for range filter.
|
|
492
|
+
* @property {string} [value] - Value associated with the filter option.
|
|
493
|
+
* @property {string} [query_format] - Format used for the filter value in queries.
|
|
494
|
+
* @property {string} [currency_symbol] - Currency symbol for the price type filters.
|
|
495
|
+
* @property {number} [selected_min] - The minimum value selected by the user
|
|
496
|
+
* for range filter.
|
|
497
|
+
* @property {string} [currency_code] - Currency code for the currency used for
|
|
498
|
+
* price type filters.
|
|
499
|
+
* @property {boolean} is_selected - Whether this filter value is currently selected.
|
|
500
|
+
* @property {string} display - Display name or label for the filter value.
|
|
501
|
+
* @property {number} [count] - Number of products that match this filter value.
|
|
502
|
+
* @property {number} [max] - Maximum value of the filter range.
|
|
454
503
|
*/
|
|
455
504
|
|
|
456
505
|
/**
|
|
457
506
|
* @typedef ProductFiltersKey
|
|
458
|
-
* @property {string} [logo]
|
|
459
|
-
* @property {string} name
|
|
460
|
-
* @property {string} [kind]
|
|
461
|
-
*
|
|
507
|
+
* @property {string} [logo] - URL or path to the logo associated with the filter key.
|
|
508
|
+
* @property {string} name - Name or identifier of the filter key.
|
|
509
|
+
* @property {string} [kind] - Type or category of the filter key (e.g., range,
|
|
510
|
+
* multivalued).
|
|
511
|
+
* @property {string} display - Display name or label for the filter key.
|
|
462
512
|
*/
|
|
463
513
|
|
|
464
514
|
/**
|
|
465
515
|
* @typedef ProductFilters
|
|
466
|
-
* @property {ProductFiltersValue[]} values
|
|
516
|
+
* @property {ProductFiltersValue[]} values - List of filter values associated
|
|
517
|
+
* with the filter key.
|
|
467
518
|
* @property {ProductFiltersKey} key
|
|
468
519
|
*/
|
|
469
520
|
|
|
470
521
|
/**
|
|
471
522
|
* @typedef ProductSortOn
|
|
472
|
-
* @property {string} [logo]
|
|
473
|
-
* @property {boolean} [is_selected]
|
|
474
|
-
*
|
|
475
|
-
* @property {string} [
|
|
476
|
-
* @property {string} [
|
|
523
|
+
* @property {string} [logo] - URL or path to the logo associated with the sorting option.
|
|
524
|
+
* @property {boolean} [is_selected] - Indicates whether this sorting option is
|
|
525
|
+
* currently selected.
|
|
526
|
+
* @property {string} [name] - Name or identifier of the sorting option.
|
|
527
|
+
* @property {string} [value] - Value used to specify the sorting order (e.g.,
|
|
528
|
+
* price_asc, discount_dsc).
|
|
529
|
+
* @property {string} [display] - Display name or label for the sorting option.
|
|
477
530
|
*/
|
|
478
531
|
|
|
479
532
|
/**
|
|
480
533
|
* @typedef ProductListingResponse
|
|
481
|
-
* @property {ProductListingDetail[]} [items]
|
|
482
|
-
*
|
|
534
|
+
* @property {ProductListingDetail[]} [items] - List of product details included
|
|
535
|
+
* in the response.
|
|
536
|
+
* @property {ProductFilters[]} [filters] - List of filters available for
|
|
537
|
+
* refining the product listings.
|
|
483
538
|
* @property {Page} page
|
|
484
|
-
* @property {ProductSortOn[]} [sort_on]
|
|
539
|
+
* @property {ProductSortOn[]} [sort_on] - List of sorting options available for
|
|
540
|
+
* the product listings.
|
|
485
541
|
*/
|
|
486
542
|
|
|
487
543
|
/**
|
|
@@ -492,31 +548,37 @@ const Joi = require("joi");
|
|
|
492
548
|
|
|
493
549
|
/**
|
|
494
550
|
* @typedef BrandItem
|
|
495
|
-
* @property {number} [uid]
|
|
551
|
+
* @property {number} [uid] - The unique identifier for the brand.
|
|
496
552
|
* @property {Media} [logo]
|
|
497
|
-
* @property {string} [description]
|
|
553
|
+
* @property {string} [description] - Detailed description of the brand,
|
|
554
|
+
* including its history, values, product offerings, and other relevant information.
|
|
498
555
|
* @property {ImageUrls} [banners]
|
|
499
|
-
* @property {string[]} [departments]
|
|
500
|
-
*
|
|
501
|
-
* @property {string} [
|
|
502
|
-
*
|
|
556
|
+
* @property {string[]} [departments] - Lists the departments or categories
|
|
557
|
+
* under which the brand's products are listed.
|
|
558
|
+
* @property {string} [discount] - Details about any discounts currently
|
|
559
|
+
* available on the brand's products.
|
|
560
|
+
* @property {string} [name] - Name of the brand.
|
|
561
|
+
* @property {string} [slug] - URL-friendly version of the brand's name, used in
|
|
562
|
+
* the web address to access the brand's page on the platform.
|
|
503
563
|
* @property {ProductListingAction} [action]
|
|
504
564
|
*/
|
|
505
565
|
|
|
506
566
|
/**
|
|
507
567
|
* @typedef BrandListingResponse
|
|
508
|
-
* @property {BrandItem[]} [items]
|
|
568
|
+
* @property {BrandItem[]} [items] - List of brand items included in the response.
|
|
509
569
|
* @property {Page} page
|
|
510
570
|
*/
|
|
511
571
|
|
|
512
572
|
/**
|
|
513
573
|
* @typedef BrandDetailResponse
|
|
514
574
|
* @property {Media} [logo]
|
|
515
|
-
* @property {number} [uid]
|
|
516
|
-
* @property {string} [description]
|
|
575
|
+
* @property {number} [uid] - The unique identifier for the brand.
|
|
576
|
+
* @property {string} [description] - Detailed description of the brand,
|
|
577
|
+
* including its history, values, product offerings, and other relevant information.
|
|
517
578
|
* @property {ImageUrls} [banners]
|
|
518
|
-
* @property {Object} [_custom_json]
|
|
519
|
-
*
|
|
579
|
+
* @property {Object} [_custom_json] - Custom JSON data related to the brand,
|
|
580
|
+
* allowing for additional metadata.
|
|
581
|
+
* @property {string} [name] - Name of the brand.
|
|
520
582
|
*/
|
|
521
583
|
|
|
522
584
|
/**
|
|
@@ -527,215 +589,263 @@ const Joi = require("joi");
|
|
|
527
589
|
|
|
528
590
|
/**
|
|
529
591
|
* @typedef ThirdLevelChild
|
|
530
|
-
* @property {number} [uid]
|
|
592
|
+
* @property {number} [uid] - Unique identifier for the L3 category.
|
|
531
593
|
* @property {ImageUrls} [banners]
|
|
532
|
-
* @property {Object[]} [childs]
|
|
533
|
-
* @property {Object} [_custom_json]
|
|
534
|
-
*
|
|
535
|
-
* @property {string} [
|
|
594
|
+
* @property {Object[]} [childs] - List of categories under the L3 category.
|
|
595
|
+
* @property {Object} [_custom_json] - Custom JSON data related to the L3
|
|
596
|
+
* category, allowing for additional metadata.
|
|
597
|
+
* @property {string} [name] - Name of the L3 category.
|
|
598
|
+
* @property {string} [slug] - Slug or URL-friendly identifier for the L3 category.
|
|
536
599
|
* @property {ProductListingAction} [action]
|
|
537
600
|
*/
|
|
538
601
|
|
|
539
602
|
/**
|
|
540
603
|
* @typedef SecondLevelChild
|
|
541
|
-
* @property {number} [uid]
|
|
604
|
+
* @property {number} [uid] - Unique identifier for the L2 category.
|
|
542
605
|
* @property {ImageUrls} [banners]
|
|
543
|
-
* @property {ThirdLevelChild[]} [childs]
|
|
544
|
-
* @property {Object} [_custom_json]
|
|
545
|
-
*
|
|
546
|
-
* @property {string} [
|
|
606
|
+
* @property {ThirdLevelChild[]} [childs] - List of categories under the L2 category.
|
|
607
|
+
* @property {Object} [_custom_json] - Custom JSON data related to the L2
|
|
608
|
+
* category, allowing for additional metadata.
|
|
609
|
+
* @property {string} [name] - Name of the L2 category.
|
|
610
|
+
* @property {string} [slug] - Slug or URL-friendly identifier for the L2 category.
|
|
547
611
|
* @property {ProductListingAction} [action]
|
|
548
612
|
*/
|
|
549
613
|
|
|
550
614
|
/**
|
|
551
615
|
* @typedef Child
|
|
552
|
-
* @property {number} [uid]
|
|
616
|
+
* @property {number} [uid] - Unique identifier for the L1 category.
|
|
553
617
|
* @property {ImageUrls} [banners]
|
|
554
|
-
* @property {SecondLevelChild[]} [childs]
|
|
555
|
-
* @property {Object} [_custom_json]
|
|
556
|
-
*
|
|
557
|
-
* @property {string} [
|
|
618
|
+
* @property {SecondLevelChild[]} [childs] - List of categories under the L1 category.
|
|
619
|
+
* @property {Object} [_custom_json] - Custom JSON data related to the L1
|
|
620
|
+
* category, allowing for additional metadata.
|
|
621
|
+
* @property {string} [name] - Name of the L1 category.
|
|
622
|
+
* @property {string} [slug] - Slug or URL-friendly identifier for the L1 category.
|
|
558
623
|
* @property {ProductListingAction} [action]
|
|
559
624
|
*/
|
|
560
625
|
|
|
561
626
|
/**
|
|
562
627
|
* @typedef CategoryItems
|
|
563
|
-
* @property {number} uid
|
|
628
|
+
* @property {number} uid - Unique identifier for the category.
|
|
564
629
|
* @property {CategoryBanner} banners
|
|
565
|
-
* @property {Child[]} [childs]
|
|
566
|
-
* @property {string} name
|
|
567
|
-
* @property {string} slug
|
|
630
|
+
* @property {Child[]} [childs] - List of L1 categories under the main category.
|
|
631
|
+
* @property {string} name - Name of the category.
|
|
632
|
+
* @property {string} slug - Slug or URL-friendly identifier for the category.
|
|
568
633
|
* @property {ProductListingAction} action
|
|
569
634
|
*/
|
|
570
635
|
|
|
571
636
|
/**
|
|
572
637
|
* @typedef DepartmentCategoryTree
|
|
573
|
-
* @property {CategoryItems[]} [items]
|
|
574
|
-
* @property {string} department
|
|
638
|
+
* @property {CategoryItems[]} [items] - List of categories within the department.
|
|
639
|
+
* @property {string} department - Name of the department.
|
|
575
640
|
*/
|
|
576
641
|
|
|
577
642
|
/**
|
|
578
643
|
* @typedef DepartmentIdentifier
|
|
579
|
-
* @property {number} [uid]
|
|
580
|
-
* @property {string} [slug]
|
|
644
|
+
* @property {number} [uid] - Unique identifier for the department.
|
|
645
|
+
* @property {string} [slug] - Slug or URL-friendly identifier for the department.
|
|
581
646
|
*/
|
|
582
647
|
|
|
583
648
|
/**
|
|
584
649
|
* @typedef CategoryListingResponse
|
|
585
|
-
* @property {DepartmentCategoryTree[]} [data]
|
|
586
|
-
* @property {DepartmentIdentifier[]} [departments]
|
|
650
|
+
* @property {DepartmentCategoryTree[]} [data] - List of department category trees.
|
|
651
|
+
* @property {DepartmentIdentifier[]} [departments] - List of departments.
|
|
587
652
|
*/
|
|
588
653
|
|
|
589
654
|
/**
|
|
590
655
|
* @typedef CategoryMetaResponse
|
|
591
656
|
* @property {Media} [logo]
|
|
592
|
-
* @property {number} [uid]
|
|
657
|
+
* @property {number} [uid] - Unique identifier for the category.
|
|
593
658
|
* @property {ImageUrls} [banners]
|
|
594
|
-
* @property {Object} [_custom_json]
|
|
595
|
-
*
|
|
659
|
+
* @property {Object} [_custom_json] - Custom JSON data related to the category,
|
|
660
|
+
* allowing for additional metadata.
|
|
661
|
+
* @property {string} [name] - Name of the category.
|
|
596
662
|
*/
|
|
597
663
|
|
|
598
664
|
/**
|
|
599
665
|
* @typedef HomeListingResponse
|
|
600
|
-
* @property {ProductListingDetail[]} [items]
|
|
666
|
+
* @property {ProductListingDetail[]} [items] - List of product details
|
|
667
|
+
* displayed on the home page.
|
|
601
668
|
* @property {Page} page
|
|
602
|
-
* @property {string} [message]
|
|
669
|
+
* @property {string} [message] - Message related to the home listing response.
|
|
603
670
|
*/
|
|
604
671
|
|
|
605
672
|
/**
|
|
606
673
|
* @typedef Department
|
|
607
|
-
* @property {number} [uid]
|
|
674
|
+
* @property {number} [uid] - Unique identifier for the department.
|
|
608
675
|
* @property {Media} [logo]
|
|
609
|
-
* @property {number} [priority_order]
|
|
610
|
-
*
|
|
611
|
-
*
|
|
676
|
+
* @property {number} [priority_order] - Specifies the display order of the
|
|
677
|
+
* department, determining its position in lists and navigation menus based on
|
|
678
|
+
* priority.
|
|
679
|
+
* @property {string} [name] - Name of the department.
|
|
680
|
+
* @property {string} [slug] - URL-friendly version of the department's name,
|
|
681
|
+
* used in the web address to access the department's page on the platform.
|
|
612
682
|
*/
|
|
613
683
|
|
|
614
684
|
/**
|
|
615
685
|
* @typedef DepartmentResponse
|
|
616
|
-
* @property {Department[]} [items]
|
|
686
|
+
* @property {Department[]} [items] - List of department detail objects.
|
|
617
687
|
*/
|
|
618
688
|
|
|
619
689
|
/**
|
|
620
690
|
* @typedef AutocompleteItem
|
|
621
691
|
* @property {Media} [logo]
|
|
622
|
-
* @property {string} [display]
|
|
623
|
-
* @property {string} [type]
|
|
624
|
-
*
|
|
692
|
+
* @property {string} [display] - Text or value displayed for the autocomplete item.
|
|
693
|
+
* @property {string} [type] - The type of action such as product, products,
|
|
694
|
+
* category, brand.
|
|
695
|
+
* @property {Object} [_custom_json] - Custom JSON data related to the
|
|
696
|
+
* autocomplete item, allowing for additional metadata.
|
|
625
697
|
* @property {ProductListingAction} [action]
|
|
626
698
|
*/
|
|
627
699
|
|
|
628
700
|
/**
|
|
629
701
|
* @typedef AutoCompleteResponse
|
|
630
|
-
* @property {AutocompleteItem[]} [items]
|
|
702
|
+
* @property {AutocompleteItem[]} [items] - List of autocomplete items suggested
|
|
703
|
+
* based on user input.
|
|
631
704
|
*/
|
|
632
705
|
|
|
633
706
|
/**
|
|
634
707
|
* @typedef CollectionQuery
|
|
635
|
-
* @property {string} op
|
|
636
|
-
* @property {Object[]} value
|
|
637
|
-
* @property {string} attribute
|
|
708
|
+
* @property {string} op - The operator used for filtering the collection.
|
|
709
|
+
* @property {Object[]} value - The values used for filtering based on the attribute.
|
|
710
|
+
* @property {string} attribute - The attribute on which the filter is applied.
|
|
638
711
|
*/
|
|
639
712
|
|
|
640
713
|
/**
|
|
641
714
|
* @typedef GetCollectionDetailNest
|
|
642
|
-
* @property {boolean} [is_active]
|
|
643
|
-
* @property {string} [uid]
|
|
644
|
-
* @property {string} [sort_on]
|
|
645
|
-
* @property {Object} [meta]
|
|
715
|
+
* @property {boolean} [is_active] - Indicates whether the collection is currently active.
|
|
716
|
+
* @property {string} [uid] - The unique identifier for the collection.
|
|
717
|
+
* @property {string} [sort_on] - The attribute by which the collection items are sorted.
|
|
718
|
+
* @property {Object} [meta] - Additional metadata related to the collection.
|
|
646
719
|
* @property {ImageUrls} [banners]
|
|
647
|
-
* @property {Object} [cron]
|
|
648
|
-
* @property {Object} [_schedule]
|
|
649
|
-
*
|
|
650
|
-
*
|
|
651
|
-
*
|
|
652
|
-
*
|
|
653
|
-
* @property {
|
|
654
|
-
*
|
|
655
|
-
* @property {string
|
|
656
|
-
* @property {
|
|
657
|
-
* @property {
|
|
720
|
+
* @property {Object} [cron] - Cron details for scheduling related to the collection.
|
|
721
|
+
* @property {Object} [_schedule] - The `Schedule` schema defines the timing and
|
|
722
|
+
* details for recurring or one-time tasks. It includes information on when
|
|
723
|
+
* the job should start and end, the frequency of the task, and any additional
|
|
724
|
+
* metadata. This schema helps in scheduling jobs or tasks based on specified
|
|
725
|
+
* timings and durations.
|
|
726
|
+
* @property {CollectionQuery[]} [query] - A list of queries used to filter the
|
|
727
|
+
* collection.
|
|
728
|
+
* @property {string} [description] - A detailed description of the collection.
|
|
729
|
+
* @property {string} [type] - Type of collections e.g query, items.
|
|
730
|
+
* @property {Object} [_custom_json] - Custom JSON data associated with the collection.
|
|
731
|
+
* @property {string} [name] - The name of the collection.
|
|
732
|
+
* @property {boolean} [allow_sort] - Indicates if sorting is allowed for this collection.
|
|
733
|
+
* @property {string[]} [visible_facets_keys] - Keys of the facets visible for
|
|
734
|
+
* filtering within the collection.
|
|
735
|
+
* @property {Object} [badge] - Badge information associated with the collection.
|
|
736
|
+
* @property {string} [slug] - The URL-friendly identifier for the collection.
|
|
658
737
|
* @property {ProductListingAction} [action]
|
|
659
|
-
* @property {boolean} [allow_facets]
|
|
738
|
+
* @property {boolean} [allow_facets] - Indicates if facets are allowed for
|
|
739
|
+
* filtering within the collection.
|
|
660
740
|
* @property {Media} [logo]
|
|
661
|
-
* @property {number} [priority]
|
|
662
|
-
*
|
|
663
|
-
* @property {string} [
|
|
741
|
+
* @property {number} [priority] - Priority level of the collection for sorting
|
|
742
|
+
* or display purposes.
|
|
743
|
+
* @property {string[]} [tags] - Tags associated with the collection.
|
|
744
|
+
* @property {string} [app_id] - Application ID associated with the collection.
|
|
664
745
|
*/
|
|
665
746
|
|
|
666
747
|
/**
|
|
667
748
|
* @typedef CollectionListingFilterTag
|
|
668
|
-
* @property {string} [name]
|
|
669
|
-
*
|
|
670
|
-
* @property {
|
|
749
|
+
* @property {string} [name] - The name of the tag. This is typically used as a
|
|
750
|
+
* label for filtering purposes.
|
|
751
|
+
* @property {boolean} [is_selected] - A flag indicating whether the tag is
|
|
752
|
+
* currently selected as a filter option.
|
|
753
|
+
* @property {string} [display] - The display name of the tag. This may be a
|
|
754
|
+
* user-friendly version of the tag name shown in the UI.
|
|
671
755
|
*/
|
|
672
756
|
|
|
673
757
|
/**
|
|
674
758
|
* @typedef CollectionListingFilterType
|
|
675
|
-
* @property {string} [name]
|
|
676
|
-
*
|
|
677
|
-
* @property {
|
|
759
|
+
* @property {string} [name] - The name of the filter type. This indicates the
|
|
760
|
+
* type of filtering being applied, such as items, query.
|
|
761
|
+
* @property {boolean} [is_selected] - A flag indicating whether this filter
|
|
762
|
+
* type is currently selected as a filter option.
|
|
763
|
+
* @property {string} [display] - The display name of the filter type. This is
|
|
764
|
+
* the user-friendly name shown in the UI for the filter type.
|
|
678
765
|
*/
|
|
679
766
|
|
|
680
767
|
/**
|
|
681
768
|
* @typedef CollectionListingFilter
|
|
682
|
-
* @property {CollectionListingFilterTag[]} [tags]
|
|
683
|
-
*
|
|
769
|
+
* @property {CollectionListingFilterTag[]} [tags] - An array of tag filters
|
|
770
|
+
* available for the collection listings. Each tag allows for filtering based
|
|
771
|
+
* on specific attributes.
|
|
772
|
+
* @property {CollectionListingFilterType[]} [type] - An array of filter types
|
|
773
|
+
* available for the collection listings. Each type represents a different
|
|
774
|
+
* category or attribute for filtering.
|
|
684
775
|
*/
|
|
685
776
|
|
|
686
777
|
/**
|
|
687
778
|
* @typedef GetCollectionListingResponse
|
|
688
|
-
* @property {GetCollectionDetailNest[]} [items]
|
|
779
|
+
* @property {GetCollectionDetailNest[]} [items] - An array of collection
|
|
780
|
+
* details. Each item in the array represents a collection with various
|
|
781
|
+
* attributes and configurations.
|
|
689
782
|
* @property {CollectionListingFilter} [filters]
|
|
690
783
|
* @property {Page} page
|
|
691
784
|
*/
|
|
692
785
|
|
|
693
786
|
/**
|
|
694
787
|
* @typedef CollectionDetailResponse
|
|
695
|
-
* @property {boolean} [is_active]
|
|
696
|
-
* @property {string} [sort_on]
|
|
697
|
-
*
|
|
788
|
+
* @property {boolean} [is_active] - Indicates whether the collection is active.
|
|
789
|
+
* @property {string} [sort_on] - Criteria used to sort the items within the
|
|
790
|
+
* collection, such as price, popularity, or newest first.
|
|
791
|
+
* @property {Object} [meta] - Metadata associated with the collection.
|
|
698
792
|
* @property {ImageUrls} [banners]
|
|
699
|
-
* @property {Object} [cron]
|
|
700
|
-
*
|
|
701
|
-
* @property {
|
|
702
|
-
*
|
|
703
|
-
* @property {
|
|
704
|
-
*
|
|
705
|
-
* @property {string} [
|
|
706
|
-
* @property {
|
|
707
|
-
*
|
|
708
|
-
* @property {Object} [
|
|
709
|
-
*
|
|
710
|
-
* @property {
|
|
793
|
+
* @property {Object} [cron] - Cron schedule details related to the collection,
|
|
794
|
+
* if applicable.
|
|
795
|
+
* @property {Object} [_schedule] - Schedule details for the collection,
|
|
796
|
+
* including timing and duration information.
|
|
797
|
+
* @property {CollectionQuery[]} [query] - Search or filter query used to
|
|
798
|
+
* dynamically generate the collection based on specific criteria or conditions.
|
|
799
|
+
* @property {string} [description] - Detailed description of the collection,.
|
|
800
|
+
* @property {string} [type] - Type of collection, specifying the nature or
|
|
801
|
+
* category of the collection.
|
|
802
|
+
* @property {Object} [_custom_json] - Custom JSON object containing additional
|
|
803
|
+
* properties specific to the collection.
|
|
804
|
+
* @property {string} [name] - The name of the collection.
|
|
805
|
+
* @property {boolean} [allow_sort] - Indicates if sorting is allowed for this collection.
|
|
806
|
+
* @property {string[]} [visible_facets_keys] - Keys of the facets visible for
|
|
807
|
+
* filtering within the collection.
|
|
808
|
+
* @property {Object} [badge] - Badge information associated with the collection.
|
|
809
|
+
* @property {string} [slug] - The URL-friendly identifier for the collection.
|
|
810
|
+
* @property {boolean} [allow_facets] - Indicates if facets are allowed for
|
|
811
|
+
* filtering within the collection.
|
|
711
812
|
* @property {Media} [logo]
|
|
712
|
-
* @property {number} [priority]
|
|
713
|
-
*
|
|
714
|
-
* @property {string} [
|
|
813
|
+
* @property {number} [priority] - Priority level of the collection for sorting
|
|
814
|
+
* or display purposes.
|
|
815
|
+
* @property {string[]} [tag] - Tags associated with the collection.
|
|
816
|
+
* @property {string} [app_id] - Application ID associated with the collection.
|
|
715
817
|
*/
|
|
716
818
|
|
|
717
819
|
/**
|
|
718
820
|
* @typedef GetFollowListingResponse
|
|
719
|
-
* @property {ProductListingDetail[]} items
|
|
821
|
+
* @property {ProductListingDetail[]} items - An array of product details that
|
|
822
|
+
* the user is following. Each item includes information such as the product
|
|
823
|
+
* name, price, and other attributes.
|
|
720
824
|
* @property {Page} page
|
|
721
825
|
*/
|
|
722
826
|
|
|
723
827
|
/**
|
|
724
828
|
* @typedef FollowPostResponse
|
|
725
|
-
* @property {string} message
|
|
726
|
-
*
|
|
829
|
+
* @property {string} message - A message indicating the result of the follow or
|
|
830
|
+
* unfollow operation. This could be a confirmation message or an error message.
|
|
831
|
+
* @property {string} id - A unique identifier for the follow operation, which
|
|
832
|
+
* can be used to reference or track the follow status.
|
|
727
833
|
*/
|
|
728
834
|
|
|
729
835
|
/**
|
|
730
836
|
* @typedef FollowerCountResponse
|
|
731
|
-
* @property {number} [count]
|
|
837
|
+
* @property {number} [count] - The number of followers for the item. This count
|
|
838
|
+
* indicates how many users are following the specified item.
|
|
732
839
|
*/
|
|
733
840
|
|
|
734
841
|
/**
|
|
735
842
|
* @typedef FollowIdsData
|
|
736
|
-
* @property {number[]} [products]
|
|
737
|
-
*
|
|
738
|
-
* @property {number[]} [
|
|
843
|
+
* @property {number[]} [products] - An array of IDs representing the products
|
|
844
|
+
* that the user is following.
|
|
845
|
+
* @property {number[]} [collections] - An array of IDs representing the
|
|
846
|
+
* collections that the user is following.
|
|
847
|
+
* @property {number[]} [brands] - An array of IDs representing the brands that
|
|
848
|
+
* the user is following.
|
|
739
849
|
*/
|
|
740
850
|
|
|
741
851
|
/**
|
|
@@ -745,119 +855,137 @@ const Joi = require("joi");
|
|
|
745
855
|
|
|
746
856
|
/**
|
|
747
857
|
* @typedef LatLong
|
|
748
|
-
* @property {number[]} [coordinates]
|
|
749
|
-
*
|
|
858
|
+
* @property {number[]} [coordinates] - An array containing the latitude and
|
|
859
|
+
* longitude values of the location.
|
|
860
|
+
* @property {string} [type] - The type of geographic coordinate system used.
|
|
861
|
+
* For example, "Point" indicates a single point in a geographic coordinate system.
|
|
750
862
|
*/
|
|
751
863
|
|
|
752
864
|
/**
|
|
753
865
|
* @typedef Store
|
|
754
|
-
* @property {number} [uid]
|
|
755
|
-
* @property {string} [store_email]
|
|
756
|
-
* @property {string} [state]
|
|
757
|
-
* @property {string} [country]
|
|
758
|
-
* @property {number} [pincode]
|
|
759
|
-
* @property {string} [city]
|
|
760
|
-
* @property {string} [address]
|
|
761
|
-
* @property {string} [store_code]
|
|
866
|
+
* @property {number} [uid] - A unique identifier for the store.
|
|
867
|
+
* @property {string} [store_email] - The manager's email address for the store.
|
|
868
|
+
* @property {string} [state] - The state or province where the store is located.
|
|
869
|
+
* @property {string} [country] - The country where the store is located.
|
|
870
|
+
* @property {number} [pincode] - The postal code or zip code for the store's location.
|
|
871
|
+
* @property {string} [city] - The city where the store is located.
|
|
872
|
+
* @property {string} [address] - The street address of the store.
|
|
873
|
+
* @property {string} [store_code] - A unique code or identifier for the store,
|
|
874
|
+
* often used for internal reference.
|
|
762
875
|
* @property {LatLong} [lat_long]
|
|
763
|
-
* @property {string} [name]
|
|
764
|
-
* @property {string[]} [tags]
|
|
876
|
+
* @property {string} [name] - The name of the store.
|
|
877
|
+
* @property {string[]} [tags] - The list of tags mapped to the store.
|
|
765
878
|
*/
|
|
766
879
|
|
|
767
880
|
/**
|
|
768
881
|
* @typedef StoreListingResponse
|
|
769
|
-
* @property {Store[]} items
|
|
882
|
+
* @property {Store[]} items - An array of store details. Each store includes
|
|
883
|
+
* information such as name, address, and geographic coordinates.
|
|
770
884
|
* @property {Page} page
|
|
771
885
|
*/
|
|
772
886
|
|
|
773
887
|
/**
|
|
774
888
|
* @typedef StoreDepartments
|
|
775
|
-
* @property {number} [uid]
|
|
776
|
-
* @property {Object} [logo]
|
|
777
|
-
*
|
|
778
|
-
* @property {
|
|
779
|
-
*
|
|
889
|
+
* @property {number} [uid] - The unique identifier assigned to the store department.
|
|
890
|
+
* @property {Object} [logo] - An object containing information about the store
|
|
891
|
+
* department's logo, such as the URL or other related media details.
|
|
892
|
+
* @property {number} [priority_order] - The priority or ranking of the
|
|
893
|
+
* department within the store. This field is used to determine the order in
|
|
894
|
+
* which departments are displayed or processed.
|
|
895
|
+
* @property {string} [name] - The name of the store department, which is
|
|
896
|
+
* typically used for display and identification purposes.
|
|
897
|
+
* @property {string} [slug] - A URL-friendly identifier for the store
|
|
898
|
+
* department, often used in web addresses and routing to uniquely identify
|
|
899
|
+
* the department.
|
|
780
900
|
*/
|
|
781
901
|
|
|
782
902
|
/**
|
|
783
903
|
* @typedef CompanyStore
|
|
784
|
-
* @property {number} [uid]
|
|
785
|
-
* @property {string} [name]
|
|
786
|
-
* @property {string} [company_type]
|
|
787
|
-
*
|
|
904
|
+
* @property {number} [uid] - The unique identifier for the company store.
|
|
905
|
+
* @property {string} [name] - The name of the company store.
|
|
906
|
+
* @property {string} [company_type] - The type of company, which can be one of
|
|
907
|
+
* the following: - `distributor`: Distributor - `franchise`: Franchise -
|
|
908
|
+
* `mbo`: MBO (Managed Business Operations) - `manufacturer-owner`: Owner/Manufacturer.
|
|
909
|
+
* @property {string} [business_type] - The type of business structure, which
|
|
910
|
+
* can be one of the following: - `Private`: Private Limited Company -
|
|
911
|
+
* `LLP/Partnership`: Limited Liability Partnership or Partnership -
|
|
912
|
+
* `HUF/Proprietorship`: Hindu Undivided Family or Proprietorship.
|
|
788
913
|
*/
|
|
789
914
|
|
|
790
915
|
/**
|
|
791
916
|
* @typedef SellerPhoneNumber
|
|
792
|
-
* @property {number} country_code
|
|
793
|
-
* @property {string} number
|
|
917
|
+
* @property {number} country_code - The country code of the seller's phone number.
|
|
918
|
+
* @property {string} number - The seller's contact number.
|
|
794
919
|
*/
|
|
795
920
|
|
|
796
921
|
/**
|
|
797
922
|
* @typedef StoreManagerSerializer
|
|
798
|
-
* @property {string} [name]
|
|
799
|
-
* @property {string} [email]
|
|
923
|
+
* @property {string} [name] - The name of the store manager.
|
|
924
|
+
* @property {string} [email] - The email address of the store manager.
|
|
800
925
|
* @property {SellerPhoneNumber} [mobile_no]
|
|
801
926
|
*/
|
|
802
927
|
|
|
803
928
|
/**
|
|
804
929
|
* @typedef StoreAddressSerializer
|
|
805
|
-
* @property {number} [latitude]
|
|
806
|
-
* @property {string} [state]
|
|
807
|
-
* @property {string} [country]
|
|
808
|
-
* @property {string} [landmark]
|
|
809
|
-
* @property {string} [address1]
|
|
810
|
-
* @property {number} [pincode]
|
|
811
|
-
* @property {string} [city]
|
|
812
|
-
* @property {number} [longitude]
|
|
813
|
-
* @property {string} [address2]
|
|
930
|
+
* @property {number} [latitude] - The latitude of the store's location.
|
|
931
|
+
* @property {string} [state] - The state where the store is located.
|
|
932
|
+
* @property {string} [country] - The country where the store is located.
|
|
933
|
+
* @property {string} [landmark] - A landmark near the store.
|
|
934
|
+
* @property {string} [address1] - The address line 1 of the store.
|
|
935
|
+
* @property {number} [pincode] - The postal code for the store's location.
|
|
936
|
+
* @property {string} [city] - The city where the store is located.
|
|
937
|
+
* @property {number} [longitude] - The longitude of the store's location.
|
|
938
|
+
* @property {string} [address2] - The address line2 of the store.
|
|
814
939
|
*/
|
|
815
940
|
|
|
816
941
|
/**
|
|
817
942
|
* @typedef AppStore
|
|
818
|
-
* @property {number} [uid]
|
|
819
|
-
* @property {StoreDepartments[]} [departments]
|
|
943
|
+
* @property {number} [uid] - The unique identifier for the application store.
|
|
944
|
+
* @property {StoreDepartments[]} [departments] - A list of departments within the store.
|
|
820
945
|
* @property {CompanyStore} [company]
|
|
821
946
|
* @property {StoreManagerSerializer} [manager]
|
|
822
|
-
* @property {string} [store_code]
|
|
947
|
+
* @property {string} [store_code] - A unique code for identifying the store.
|
|
823
948
|
* @property {StoreAddressSerializer} [address]
|
|
824
|
-
* @property {string} [name]
|
|
825
|
-
* @property {SellerPhoneNumber[]} [contact_numbers]
|
|
949
|
+
* @property {string} [name] - The name of the store.
|
|
950
|
+
* @property {SellerPhoneNumber[]} [contact_numbers] - A list of contact numbers
|
|
951
|
+
* for the store.
|
|
826
952
|
*/
|
|
827
953
|
|
|
828
954
|
/**
|
|
829
955
|
* @typedef ApplicationStoreListing
|
|
830
|
-
* @property {Object[]} [filters]
|
|
831
|
-
* @property {AppStore[]} [items]
|
|
956
|
+
* @property {Object[]} [filters] - A list of filters applied to the store listing.
|
|
957
|
+
* @property {AppStore[]} [items] - A list of application stores.
|
|
832
958
|
* @property {Page} [page]
|
|
833
959
|
*/
|
|
834
960
|
|
|
835
961
|
/**
|
|
836
962
|
* @typedef Time
|
|
837
|
-
* @property {number} [hour]
|
|
838
|
-
* @property {number} [minute]
|
|
963
|
+
* @property {number} [hour] - The hour part of the time.
|
|
964
|
+
* @property {number} [minute] - The minute part of the time.
|
|
839
965
|
*/
|
|
840
966
|
|
|
841
967
|
/**
|
|
842
968
|
* @typedef StoreTiming
|
|
843
|
-
* @property {boolean} [open]
|
|
969
|
+
* @property {boolean} [open] - Indicates if the store is open on this day.
|
|
844
970
|
* @property {Time} [closing]
|
|
845
|
-
* @property {string} [weekday]
|
|
971
|
+
* @property {string} [weekday] - The day of the week.
|
|
846
972
|
* @property {Time} [opening]
|
|
847
973
|
*/
|
|
848
974
|
|
|
849
975
|
/**
|
|
850
976
|
* @typedef StoreDetails
|
|
851
|
-
* @property {number} [uid]
|
|
852
|
-
* @property {StoreDepartments[]} [departments]
|
|
977
|
+
* @property {number} [uid] - The unique identifier for the store.
|
|
978
|
+
* @property {StoreDepartments[]} [departments] - A list of departments within the store.
|
|
853
979
|
* @property {CompanyStore} [company]
|
|
854
980
|
* @property {StoreManagerSerializer} [manager]
|
|
855
|
-
* @property {string} [store_code]
|
|
856
|
-
* @property {StoreTiming[]} [timing]
|
|
981
|
+
* @property {string} [store_code] - A unique code for identifying the store.
|
|
982
|
+
* @property {StoreTiming[]} [timing] - The opening and closing times for the
|
|
983
|
+
* store throughout the week.
|
|
857
984
|
* @property {StoreAddressSerializer} [address]
|
|
858
|
-
* @property {Object} [_custom_json]
|
|
859
|
-
* @property {string} [name]
|
|
860
|
-
* @property {SellerPhoneNumber[]} [contact_numbers]
|
|
985
|
+
* @property {Object} [_custom_json] - Custom JSON data for the store.
|
|
986
|
+
* @property {string} [name] - The name of the store.
|
|
987
|
+
* @property {SellerPhoneNumber[]} [contact_numbers] - A list of contact numbers
|
|
988
|
+
* for the store.
|
|
861
989
|
*/
|
|
862
990
|
|
|
863
991
|
/**
|
|
@@ -870,10 +998,10 @@ const Joi = require("joi");
|
|
|
870
998
|
|
|
871
999
|
/**
|
|
872
1000
|
* @typedef Size
|
|
873
|
-
* @property {number} [quantity] - The quantity of this size available
|
|
874
|
-
* @property {Object} [value] - The value of the size
|
|
875
|
-
* @property {Object} [display] - The display string for the size
|
|
876
|
-
* @property {boolean} [is_available] - Whether or not this size is available
|
|
1001
|
+
* @property {number} [quantity] - The quantity of this size available.
|
|
1002
|
+
* @property {Object} [value] - The value of the size.
|
|
1003
|
+
* @property {Object} [display] - The display string for the size.
|
|
1004
|
+
* @property {boolean} [is_available] - Whether or not this size is available.
|
|
877
1005
|
*/
|
|
878
1006
|
|
|
879
1007
|
/**
|
|
@@ -887,133 +1015,137 @@ const Joi = require("joi");
|
|
|
887
1015
|
|
|
888
1016
|
/**
|
|
889
1017
|
* @typedef ProductDetails
|
|
890
|
-
* @property {Object} [template_tag] - The template tag of the product
|
|
891
|
-
* @property {number} [rating_count] - The number of ratings the product has received
|
|
892
|
-
* @property {Object} [image_nature] - The nature of the product's images
|
|
893
|
-
* @property {boolean} [has_variant] - Whether or not the product has a variant
|
|
894
|
-
* @property {Object} [description] - The long description of the product
|
|
895
|
-
* @property {boolean} [out_of_stock] - Whether or not the product is out of stock
|
|
896
|
-
* @property {number} [hsn_code] - The HSN code of the product
|
|
897
|
-
* @property {Object} [grouped_attributes] - A dictionary of grouped product attributes
|
|
898
|
-
* @property {Object} [item_code] - The item code of the product
|
|
899
|
-
* @property {Object} [name] - The name of the product
|
|
900
|
-
* @property {Object} [country_of_origin] - The country of origin for the product
|
|
901
|
-
* @property {Object} [short_description] - The short description of the product
|
|
902
|
-
* @property {Object[]} [media] - A list of media objects for the product
|
|
903
|
-
* @property {Object} [attributes] - A dictionary of product attributes
|
|
904
|
-
* @property {boolean} [is_set] - Whether or not the product is a set of items
|
|
905
|
-
* @property {Object[]} [images] - A list of image URLs for the product
|
|
906
|
-
* @property {Object} [slug] - The slug of the product
|
|
907
|
-
* @property {number} [rating] - The rating of the product
|
|
908
|
-
* @property {Object} [identifier] - A dictionary of product identifiers
|
|
909
|
-
* @property {Object[]} [highlights] - A list of highlights for the product
|
|
910
|
-
* @property {number} [brand_uid] - The unique ID of the product's brand
|
|
1018
|
+
* @property {Object} [template_tag] - The template tag of the product.
|
|
1019
|
+
* @property {number} [rating_count] - The number of ratings the product has received.
|
|
1020
|
+
* @property {Object} [image_nature] - The nature of the product's images.
|
|
1021
|
+
* @property {boolean} [has_variant] - Whether or not the product has a variant.
|
|
1022
|
+
* @property {Object} [description] - The long description of the product.
|
|
1023
|
+
* @property {boolean} [out_of_stock] - Whether or not the product is out of stock.
|
|
1024
|
+
* @property {number} [hsn_code] - The HSN code of the product.
|
|
1025
|
+
* @property {Object} [grouped_attributes] - A dictionary of grouped product attributes.
|
|
1026
|
+
* @property {Object} [item_code] - The item code of the product.
|
|
1027
|
+
* @property {Object} [name] - The name of the product.
|
|
1028
|
+
* @property {Object} [country_of_origin] - The country of origin for the product.
|
|
1029
|
+
* @property {Object} [short_description] - The short description of the product.
|
|
1030
|
+
* @property {Object[]} [media] - A list of media objects for the product.
|
|
1031
|
+
* @property {Object} [attributes] - A dictionary of product attributes.
|
|
1032
|
+
* @property {boolean} [is_set] - Whether or not the product is a set of items.
|
|
1033
|
+
* @property {Object[]} [images] - A list of image URLs for the product.
|
|
1034
|
+
* @property {Object} [slug] - The slug of the product.
|
|
1035
|
+
* @property {number} [rating] - The rating of the product.
|
|
1036
|
+
* @property {Object} [identifier] - A dictionary of product identifiers.
|
|
1037
|
+
* @property {Object[]} [highlights] - A list of highlights for the product.
|
|
1038
|
+
* @property {number} [brand_uid] - The unique ID of the product's brand.
|
|
911
1039
|
*/
|
|
912
1040
|
|
|
913
1041
|
/**
|
|
914
1042
|
* @typedef ProductInGroup
|
|
915
|
-
* @property {boolean} [auto_add_to_cart] -
|
|
916
|
-
*
|
|
1043
|
+
* @property {boolean} [auto_add_to_cart] - Whether the product should be
|
|
1044
|
+
* automatically added to the cart.
|
|
917
1045
|
* @property {number} max_quantity - The maximum quantity of the product that
|
|
918
1046
|
* can be added to the cart.
|
|
919
1047
|
* @property {Size[]} [sizes] - The available sizes for the product.
|
|
920
|
-
* @property {ProductGroupPrice} [price] - The price details for the product
|
|
921
|
-
* @property {boolean} [auto_select] -
|
|
922
|
-
*
|
|
1048
|
+
* @property {ProductGroupPrice} [price] - The price details for the product.
|
|
1049
|
+
* @property {boolean} [auto_select] - Whether the product should be
|
|
1050
|
+
* automatically selected.
|
|
923
1051
|
* @property {ProductDetails} [product_details] - The details of the product.
|
|
924
1052
|
* @property {number} [min_quantity] - The minimum quantity of the product that
|
|
925
1053
|
* can be added to the cart.
|
|
926
|
-
* @property {boolean} [allow_remove] -
|
|
927
|
-
* can be removed from the cart.
|
|
1054
|
+
* @property {boolean} [allow_remove] - Whether the product can be removed from the cart.
|
|
928
1055
|
* @property {number} product_uid - The unique ID of the product in the group.
|
|
929
1056
|
*/
|
|
930
1057
|
|
|
931
1058
|
/**
|
|
932
1059
|
* @typedef ProductGroupingModel
|
|
933
|
-
* @property {string} [logo] - The URL for the logo of the product
|
|
1060
|
+
* @property {string} [logo] - The URL for the logo of the product group.
|
|
934
1061
|
* @property {boolean} [is_active] - Whether the product grouping is active.
|
|
935
1062
|
* @property {Object} [meta] - A dictionary containing metadata information.
|
|
936
1063
|
* @property {UserDetail} [verified_by] - User details of the verifier of the
|
|
937
|
-
* document, if applicable
|
|
938
|
-
* @property {string} created_on - Timestamp of the creation of the document
|
|
1064
|
+
* document, if applicable.
|
|
1065
|
+
* @property {string} created_on - Timestamp of the creation of the document.
|
|
939
1066
|
* @property {number} [company_id] - The ID of the company that owns the product grouping.
|
|
940
1067
|
* @property {Object[]} [page_visibility] - A list of page visibilities of the
|
|
941
1068
|
* product grouping.
|
|
942
|
-
* @property {string} modified_on - Timestamp of the last modification of the document
|
|
943
|
-
* @property {UserDetail} [created_by] - User details of the creator of the document
|
|
1069
|
+
* @property {string} modified_on - Timestamp of the last modification of the document.
|
|
1070
|
+
* @property {UserDetail} [created_by] - User details of the creator of the document.
|
|
944
1071
|
* @property {UserDetail} [modified_by] - User details of the last modifier of
|
|
945
|
-
* the document
|
|
1072
|
+
* the document.
|
|
946
1073
|
* @property {ProductInGroup[]} products - A list of products in the grouping.
|
|
947
1074
|
* @property {boolean} [same_store_assignment] - Whether the products are
|
|
948
1075
|
* assigned to the same store.
|
|
949
|
-
* @property {Object} [_id]
|
|
1076
|
+
* @property {Object} [_id] - Unique identifier of the product grouping.
|
|
950
1077
|
* @property {Object} name - The name of the product grouping.
|
|
951
1078
|
* @property {Object} [choice] - The choice of the product grouping.
|
|
952
1079
|
* @property {Object} [slug] - The unique identifier for the product grouping.
|
|
953
1080
|
* @property {string} [verified_on] - Timestamp of when the document was
|
|
954
|
-
* verified, if applicable
|
|
1081
|
+
* verified, if applicable.
|
|
955
1082
|
*/
|
|
956
1083
|
|
|
957
1084
|
/**
|
|
958
1085
|
* @typedef ProductBundle
|
|
959
|
-
* @property {ProductGroupingModel[]} [items]
|
|
1086
|
+
* @property {ProductGroupingModel[]} [items] - Represents list of
|
|
1087
|
+
* bundles/product groupings.
|
|
960
1088
|
*/
|
|
961
1089
|
|
|
962
1090
|
/**
|
|
963
1091
|
* @typedef StoreV3
|
|
964
|
-
* @property {number} [uid]
|
|
965
|
-
* @property {string} [name]
|
|
966
|
-
* @property {number} [count]
|
|
1092
|
+
* @property {number} [uid] - The unique identifier for the store.
|
|
1093
|
+
* @property {string} [name] - The name of the store.
|
|
1094
|
+
* @property {number} [count] - The count associated with the store.
|
|
967
1095
|
*/
|
|
968
1096
|
|
|
969
1097
|
/**
|
|
970
1098
|
* @typedef ArticleAssignmentV3
|
|
971
|
-
* @property {string} [strategy]
|
|
972
|
-
*
|
|
1099
|
+
* @property {string} [strategy] - Method used for article assignment, such as
|
|
1100
|
+
* optimal, fast-delivery, low-price, or manual.
|
|
1101
|
+
* @property {string} [level] - Scope of assignment, which can be
|
|
1102
|
+
* multi-companies, single-company, or single-store.
|
|
973
1103
|
*/
|
|
974
1104
|
|
|
975
1105
|
/**
|
|
976
1106
|
* @typedef StrategyWiseListingSchemaV3
|
|
977
|
-
* @property {number} [distance]
|
|
978
|
-
*
|
|
979
|
-
* @property {number} [
|
|
980
|
-
* @property {number} [
|
|
1107
|
+
* @property {number} [distance] - Distance between bullfight location and
|
|
1108
|
+
* customer location in kilometers. .
|
|
1109
|
+
* @property {number} [pincode] - Pincode mapped based on strategy.
|
|
1110
|
+
* @property {number} [tat] - Turn around Time to deliver the product with this strategy.
|
|
1111
|
+
* @property {number} [quantity] - The quantity available for assigned store.
|
|
981
1112
|
*/
|
|
982
1113
|
|
|
983
1114
|
/**
|
|
984
1115
|
* @typedef DetailsSchemaV3
|
|
985
|
-
* @property {string} [value]
|
|
986
|
-
* @property {string} [type]
|
|
987
|
-
* @property {string} [key]
|
|
1116
|
+
* @property {string} [value] - The value of the attribute.
|
|
1117
|
+
* @property {string} [type] - The type of detail e.g, text.
|
|
1118
|
+
* @property {string} [key] - The attribute key associated with the size.
|
|
988
1119
|
*/
|
|
989
1120
|
|
|
990
1121
|
/**
|
|
991
1122
|
* @typedef SellerGroupAttributes
|
|
992
|
-
* @property {string} [title]
|
|
993
|
-
* @property {DetailsSchemaV3[]} [details]
|
|
1123
|
+
* @property {string} [title] - The title of the attribute group.
|
|
1124
|
+
* @property {DetailsSchemaV3[]} [details] - Detail of the attribute.
|
|
994
1125
|
*/
|
|
995
1126
|
|
|
996
1127
|
/**
|
|
997
1128
|
* @typedef ReturnConfigSchemaV3
|
|
998
|
-
* @property {string} [unit]
|
|
999
|
-
* @property {boolean} [returnable]
|
|
1000
|
-
* @property {number} [time]
|
|
1129
|
+
* @property {string} [unit] - The unit for the return configuration.
|
|
1130
|
+
* @property {boolean} [returnable] - Indicates if the item is returnable.
|
|
1131
|
+
* @property {number} [time] - The time duration for the return policy.
|
|
1001
1132
|
*/
|
|
1002
1133
|
|
|
1003
1134
|
/**
|
|
1004
1135
|
* @typedef ProductSetDistributionSizeV3
|
|
1005
|
-
* @property {number} [pieces]
|
|
1006
|
-
* @property {string} [size]
|
|
1136
|
+
* @property {number} [pieces] - The number of pieces available in this size.
|
|
1137
|
+
* @property {string} [size] - The size of the product.
|
|
1007
1138
|
*/
|
|
1008
1139
|
|
|
1009
1140
|
/**
|
|
1010
1141
|
* @typedef ProductSetDistributionV3
|
|
1011
|
-
* @property {ProductSetDistributionSizeV3[]} [sizes]
|
|
1142
|
+
* @property {ProductSetDistributionSizeV3[]} [sizes] - A list of size
|
|
1143
|
+
* distributions in the product set.
|
|
1012
1144
|
*/
|
|
1013
1145
|
|
|
1014
1146
|
/**
|
|
1015
1147
|
* @typedef ProductSetV3
|
|
1016
|
-
* @property {number} [quantity]
|
|
1148
|
+
* @property {number} [quantity] - The quantity of products in the set.
|
|
1017
1149
|
* @property {ProductSetDistributionV3} [size_distribution]
|
|
1018
1150
|
*/
|
|
1019
1151
|
|
|
@@ -1022,7 +1154,7 @@ const Joi = require("joi");
|
|
|
1022
1154
|
* @property {number} [effective] - The effective or final price for the product
|
|
1023
1155
|
* at the given pincode.
|
|
1024
1156
|
* @property {string} [currency_code] - The currency code for which the product
|
|
1025
|
-
* is available
|
|
1157
|
+
* is available.
|
|
1026
1158
|
* @property {string} [currency_symbol] - The currency symbol for the currency
|
|
1027
1159
|
* in which the product is available.
|
|
1028
1160
|
* @property {number} [marked] - The marked price of the product.
|
|
@@ -1031,70 +1163,88 @@ const Joi = require("joi");
|
|
|
1031
1163
|
|
|
1032
1164
|
/**
|
|
1033
1165
|
* @typedef ProductStockUnitPriceV3
|
|
1034
|
-
* @property {string} [unit]
|
|
1035
|
-
* @property {string} [currency_symbol]
|
|
1036
|
-
* @property {string} [currency_code]
|
|
1037
|
-
* @property {number} [price]
|
|
1166
|
+
* @property {string} [unit] - The unit of measure for the product.
|
|
1167
|
+
* @property {string} [currency_symbol] - The currency symbol for the unit price.
|
|
1168
|
+
* @property {string} [currency_code] - The currency code for the unit price.
|
|
1169
|
+
* @property {number} [price] - The unit price of the product.
|
|
1038
1170
|
*/
|
|
1039
1171
|
|
|
1040
1172
|
/**
|
|
1041
1173
|
* @typedef MarketPlaceSttributesSchemaV3
|
|
1042
|
-
* @property {string} [title]
|
|
1043
|
-
* @property {DetailsSchemaV3[]} [details]
|
|
1174
|
+
* @property {string} [title] - The title of the attribute.
|
|
1175
|
+
* @property {DetailsSchemaV3[]} [details] - Detail of the attribute.
|
|
1044
1176
|
*/
|
|
1045
1177
|
|
|
1046
1178
|
/**
|
|
1047
1179
|
* @typedef SellerV3
|
|
1048
|
-
* @property {number} [uid]
|
|
1049
|
-
* @property {string} [name]
|
|
1050
|
-
* @property {number} [count]
|
|
1180
|
+
* @property {number} [uid] - The unique identifier for the seller.
|
|
1181
|
+
* @property {string} [name] - The name of the seller.
|
|
1182
|
+
* @property {number} [count] - The store count serviceable by this seller.
|
|
1051
1183
|
*/
|
|
1052
1184
|
|
|
1053
1185
|
/**
|
|
1054
1186
|
* @typedef PromiseSchema
|
|
1055
|
-
* @property {string} [min]
|
|
1056
|
-
* @property {string} [max]
|
|
1187
|
+
* @property {string} [min] - The minimum promise time.
|
|
1188
|
+
* @property {string} [max] - The maximum promise time.
|
|
1057
1189
|
*/
|
|
1058
1190
|
|
|
1059
1191
|
/**
|
|
1060
1192
|
* @typedef ProductSizePriceResponseV3
|
|
1061
1193
|
* @property {StoreV3} [store]
|
|
1062
1194
|
* @property {ArticleAssignmentV3} [article_assignment]
|
|
1063
|
-
* @property {boolean} [is_cod]
|
|
1064
|
-
*
|
|
1065
|
-
* @property {
|
|
1066
|
-
*
|
|
1067
|
-
* @property {
|
|
1195
|
+
* @property {boolean} [is_cod] - Whether Cash on Delivery (COD) is available
|
|
1196
|
+
* for this product. It is true if COD is available and false otherwise.
|
|
1197
|
+
* @property {StrategyWiseListingSchemaV3[]} [strategy_wise_listing] - Details
|
|
1198
|
+
* about serviceability attributes.
|
|
1199
|
+
* @property {number} [quantity] - Available quantity of the product in stock.
|
|
1200
|
+
* It shows the number of units available for purchase.
|
|
1201
|
+
* @property {string} [item_type] - Type of item, indicating the category or
|
|
1202
|
+
* nature of the product. Possible values are Standard, Composite, Wet, Digital.
|
|
1203
|
+
* @property {SellerGroupAttributes[]} [grouped_attributes] - Collection of
|
|
1204
|
+
* attributes grouped together, which provides detailed characteristics of the
|
|
1205
|
+
* product, such as color, size, material, etc.
|
|
1068
1206
|
* @property {ReturnConfigSchemaV3} [return_config]
|
|
1069
|
-
* @property {string} [article_id]
|
|
1070
|
-
*
|
|
1207
|
+
* @property {string} [article_id] - This unique identifier is assigned to the
|
|
1208
|
+
* specific article. This represents item x size x location.
|
|
1209
|
+
* @property {boolean} [is_gift] - Whether the product can be purchased as a
|
|
1210
|
+
* gift. It is true if the product is available for gifting and false otherwise.
|
|
1071
1211
|
* @property {ProductSetV3} [set]
|
|
1072
|
-
* @property {number} [seller_count]
|
|
1212
|
+
* @property {number} [seller_count] - Number of sellers offering this product.
|
|
1213
|
+
* It indicates the level of competition and availability from different sellers.
|
|
1073
1214
|
* @property {ProductStockPriceV3} [price_per_piece]
|
|
1074
1215
|
* @property {DiscountMeta} [discount_meta]
|
|
1075
|
-
* @property {string} [discount]
|
|
1076
|
-
*
|
|
1077
|
-
* @property {
|
|
1216
|
+
* @property {string} [discount] - Amount or percentage of discount applied to
|
|
1217
|
+
* the product's price, showing the savings for the customer.
|
|
1218
|
+
* @property {number[]} [long_lat] - Longitude and latitude coordinates,
|
|
1219
|
+
* possibly indicating the location of the store or warehouse where the
|
|
1220
|
+
* product is stocked.
|
|
1221
|
+
* @property {string} [special_badge] - Special badges or labels assigned to the
|
|
1222
|
+
* product, such as "Bestseller," "New Arrival," or "Limited Edition.".
|
|
1078
1223
|
* @property {ProductStockPriceV3} [price]
|
|
1079
1224
|
* @property {ProductStockUnitPriceV3} [price_per_unit]
|
|
1080
|
-
* @property {number} [pincode]
|
|
1081
|
-
*
|
|
1225
|
+
* @property {number} [pincode] - Postal code or zip code for which the
|
|
1226
|
+
* product's availability and delivery options are being checked.
|
|
1227
|
+
* @property {MarketPlaceSttributesSchemaV3[]} [marketplace_attributes] -
|
|
1228
|
+
* Attributes specific to the marketplace, such as ratings, reviews, shipping
|
|
1229
|
+
* options, and other marketplace-specific details.
|
|
1082
1230
|
* @property {SellerV3} [seller]
|
|
1083
1231
|
* @property {PromiseSchema} [delivery_promise]
|
|
1084
1232
|
*/
|
|
1085
1233
|
|
|
1086
1234
|
/**
|
|
1087
1235
|
* @typedef ProductSizeSellerFilterSchemaV3
|
|
1088
|
-
* @property {string} [name]
|
|
1089
|
-
* @property {boolean} [is_selected]
|
|
1090
|
-
* @property {string} [value]
|
|
1236
|
+
* @property {string} [name] - The name of the store/seller.
|
|
1237
|
+
* @property {boolean} [is_selected] - Whether this filter criterion is selected.
|
|
1238
|
+
* @property {string} [value] - The value associated with this store/seller.
|
|
1091
1239
|
*/
|
|
1092
1240
|
|
|
1093
1241
|
/**
|
|
1094
1242
|
* @typedef ProductSizeSellersResponseV3
|
|
1095
|
-
* @property {ProductSizePriceResponseV3[]} [items]
|
|
1243
|
+
* @property {ProductSizePriceResponseV3[]} [items] - A list of products with
|
|
1244
|
+
* size and price details available from various sellers.
|
|
1096
1245
|
* @property {Page} page
|
|
1097
|
-
* @property {ProductSizeSellerFilterSchemaV3[]} [sort_on]
|
|
1246
|
+
* @property {ProductSizeSellerFilterSchemaV3[]} [sort_on] - A list of sorting
|
|
1247
|
+
* and filtering criteria applied to the sellers' data.
|
|
1098
1248
|
*/
|
|
1099
1249
|
|
|
1100
1250
|
class CatalogApplicationModel {
|