@wix/auto_sdk_categories_categories 1.0.142 → 1.0.143
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/build/cjs/schemas.js +1212 -1104
- package/build/cjs/schemas.js.map +1 -1
- package/build/es/schemas.mjs +1212 -1104
- package/build/es/schemas.mjs.map +1 -1
- package/package.json +2 -2
- package/build/internal/cjs/index.js +0 -5394
- package/build/internal/cjs/index.js.map +0 -1
- package/build/internal/cjs/index.typings.js +0 -4401
- package/build/internal/cjs/index.typings.js.map +0 -1
- package/build/internal/cjs/meta.js +0 -3898
- package/build/internal/cjs/meta.js.map +0 -1
- package/build/internal/cjs/schemas.js +0 -2914
- package/build/internal/cjs/schemas.js.map +0 -1
- package/build/internal/es/index.mjs +0 -5263
- package/build/internal/es/index.mjs.map +0 -1
- package/build/internal/es/index.typings.mjs +0 -4276
- package/build/internal/es/index.typings.mjs.map +0 -1
- package/build/internal/es/meta.mjs +0 -3772
- package/build/internal/es/meta.mjs.map +0 -1
- package/build/internal/es/schemas.mjs +0 -2834
- package/build/internal/es/schemas.mjs.map +0 -1
package/build/cjs/schemas.js
CHANGED
|
@@ -80,252 +80,268 @@ module.exports = __toCommonJS(schemas_exports);
|
|
|
80
80
|
// src/categories-v1-category-categories.schemas.ts
|
|
81
81
|
var z = __toESM(require("zod"));
|
|
82
82
|
var CreateCategoryRequest = /* @__PURE__ */ z.object({
|
|
83
|
-
category: z.object({
|
|
84
|
-
_id: z.string().describe("Category ID.").regex(
|
|
83
|
+
category: /* @__PURE__ */ z.object({
|
|
84
|
+
_id: /* @__PURE__ */ z.string().describe("Category ID.").regex(
|
|
85
85
|
/^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}$/,
|
|
86
86
|
"Must be a valid GUID"
|
|
87
87
|
).optional().nullable(),
|
|
88
|
-
revision: z.string().regex(/^-?\d+$/, "Must be a valid Int64 string").describe(
|
|
88
|
+
revision: /* @__PURE__ */ z.string().regex(/^-?\d+$/, "Must be a valid Int64 string").describe(
|
|
89
89
|
"Revision number, which increments by 1 each time the category is updated.\nTo prevent conflicting changes, the current revision must be passed when updating.\n\nIgnored when creating a category."
|
|
90
90
|
).optional().nullable(),
|
|
91
|
-
_createdDate: z.date().describe("Date and time the category was created.").optional().nullable(),
|
|
92
|
-
_updatedDate: z.date().describe("Date and time the category was updated.").optional().nullable(),
|
|
93
|
-
name: z.string().describe("Category name.").min(1).max(80),
|
|
94
|
-
image: z.string().describe(
|
|
91
|
+
_createdDate: /* @__PURE__ */ z.date().describe("Date and time the category was created.").optional().nullable(),
|
|
92
|
+
_updatedDate: /* @__PURE__ */ z.date().describe("Date and time the category was updated.").optional().nullable(),
|
|
93
|
+
name: /* @__PURE__ */ z.string().describe("Category name.").min(1).max(80),
|
|
94
|
+
image: /* @__PURE__ */ z.string().describe(
|
|
95
95
|
"Category image.\n\n+ Pass WixMedia image ID for media previously saved in the [Wix Media Manager](https://support.wix.com/en/article/wix-media-about-the-media-manager).\n+ Pass full image URL to upload to Wix Media Manager."
|
|
96
96
|
).optional(),
|
|
97
|
-
itemCounter: z.number().int().describe(
|
|
97
|
+
itemCounter: /* @__PURE__ */ z.number().int().describe(
|
|
98
98
|
"Number of items directly assigned to this category. Doesn't include items in subcategories."
|
|
99
99
|
).optional(),
|
|
100
|
-
description: z.string().describe(
|
|
100
|
+
description: /* @__PURE__ */ z.string().describe(
|
|
101
101
|
'Plain-text category description.\n\nReturned only when you pass `"DESCRIPTION"` to the `fields` array.'
|
|
102
102
|
).min(1).max(600).optional().nullable(),
|
|
103
|
-
visible: z.boolean().describe(
|
|
103
|
+
visible: /* @__PURE__ */ z.boolean().describe(
|
|
104
104
|
"Whether the category is visible to site visitors.\n\nVisibility cascades to subcategories: if a parent category's visibility is set to `false`, all its subcategories become hidden as well.\nSetting a subcategory's visibility to `true` fails if any of its parent categories are hidden.\n\n> **Notes:**\n> 1. Hidden categories and their items are still accessible via API calls. For example, List Items In Category returns items even for hidden categories.\n> 2. The `visible` field can only be changed using the [Update Category Visibility](https://dev.wix.com/docs/api-reference/business-solutions/stores/catalog-v3/categories/update-category-visibility) method.\n> 3. Default: `true`"
|
|
105
105
|
).optional().nullable(),
|
|
106
|
-
breadcrumbsInfo: z.object({
|
|
107
|
-
breadcrumbs: z.array(
|
|
108
|
-
z.object({
|
|
109
|
-
categoryId: z.string().describe("Ancestor category ID.").regex(
|
|
106
|
+
breadcrumbsInfo: /* @__PURE__ */ z.object({
|
|
107
|
+
breadcrumbs: /* @__PURE__ */ z.array(
|
|
108
|
+
/* @__PURE__ */ z.object({
|
|
109
|
+
categoryId: /* @__PURE__ */ z.string().describe("Ancestor category ID.").regex(
|
|
110
110
|
/^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}$/,
|
|
111
111
|
"Must be a valid GUID"
|
|
112
112
|
).optional(),
|
|
113
|
-
categoryName: z.string().describe("Ancestor category name.").min(1).max(80).optional(),
|
|
114
|
-
categorySlug: z.string().describe("Ancestor category slug.").min(1).max(100).optional()
|
|
113
|
+
categoryName: /* @__PURE__ */ z.string().describe("Ancestor category name.").min(1).max(80).optional(),
|
|
114
|
+
categorySlug: /* @__PURE__ */ z.string().describe("Ancestor category slug.").min(1).max(100).optional()
|
|
115
115
|
})
|
|
116
116
|
).max(5).optional()
|
|
117
117
|
}).describe(
|
|
118
118
|
'Category breadcrumbs, representing the path from the top-level ancestor category down to the parent of the current category.\n\nBreadcrumbs are useful for building navigation UI and for SEO purposes. For top-level categories, the breadcrumbs list is empty.\n\nReturned only when you pass `"BREADCRUMBS_INFO"` to the `fields` array.'
|
|
119
119
|
).optional(),
|
|
120
|
-
parentCategory: z.object({
|
|
121
|
-
_id: z.string().describe(
|
|
120
|
+
parentCategory: /* @__PURE__ */ z.object({
|
|
121
|
+
_id: /* @__PURE__ */ z.string().describe(
|
|
122
122
|
"ID of the parent category.\n\nLeave empty or omit to create a top-level category."
|
|
123
123
|
).regex(
|
|
124
124
|
/^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}$/,
|
|
125
125
|
"Must be a valid GUID"
|
|
126
126
|
),
|
|
127
|
-
index: z.number().int().describe(
|
|
127
|
+
index: /* @__PURE__ */ z.number().int().describe(
|
|
128
128
|
"Position of this category among its sibling categories within the parent."
|
|
129
129
|
).optional().nullable()
|
|
130
130
|
}).describe(
|
|
131
131
|
"Information about the category's parent. Top-level categories don't have a parent."
|
|
132
132
|
).optional(),
|
|
133
|
-
slug: z.string().describe(
|
|
133
|
+
slug: /* @__PURE__ */ z.string().describe(
|
|
134
134
|
"Category slug. A URL-friendly identifier used in the category page address.\n\nIf not provided, the slug is autogenerated based on the category name."
|
|
135
135
|
).min(1).max(300).optional().nullable(),
|
|
136
|
-
seoData: z.object({
|
|
137
|
-
tags: z.array(
|
|
138
|
-
z.object({
|
|
139
|
-
type: z.string().describe(
|
|
136
|
+
seoData: /* @__PURE__ */ z.object({
|
|
137
|
+
tags: /* @__PURE__ */ z.array(
|
|
138
|
+
/* @__PURE__ */ z.object({
|
|
139
|
+
type: /* @__PURE__ */ z.string().describe(
|
|
140
140
|
"SEO tag type.\n\n\nSupported values: `title`, `meta`, `script`, `link`.\n\nWhich of these an API actually accepts depends on where the tag is being set: this\nlist is not a blanket guarantee across every API that reuses this message. Site SEO\nTags in particular accepts only `meta` (see `SiteSeoTags.tags`) and rejects\n`title`/`script`/`link` with a validation error even though they appear here \u2014\ncheck the field description of the specific `tags`-typed field you're writing to\nfor the types it actually supports and the error it returns.\n\nLimitation: `title` and `script` (e.g. a `script` tag with `props.type`\n`\"application/ld+json\"` carrying structured data) are supported only when\n`custom` is unset or `false`. Setting `custom: true` on a `title` or `script`\ntag is rejected with `TAG_TYPE_NOT_ALLOWED`, because `custom: true` routes the\nwrite through the site's Advanced/Custom Tags list. To write structured data,\nomit `custom` (or set it to `false`)."
|
|
141
141
|
).optional(),
|
|
142
|
-
props: z.record(z.string(), z.any()).describe(
|
|
142
|
+
props: /* @__PURE__ */ z.record(/* @__PURE__ */ z.string(), /* @__PURE__ */ z.any()).describe(
|
|
143
143
|
'A `{"key": "value"}` pair object where each SEO tag property (`"name"`, `"content"`, `"rel"`, `"href"`) contains a value.\nFor example: `{"name": "description", "content": "the description itself"}`.'
|
|
144
144
|
).optional().nullable(),
|
|
145
|
-
meta: z.record(z.string(), z.any()).describe(
|
|
145
|
+
meta: /* @__PURE__ */ z.record(/* @__PURE__ */ z.string(), /* @__PURE__ */ z.any()).describe(
|
|
146
146
|
'SEO tag metadata. For example, `{"height": 300, "width": 240}`.'
|
|
147
147
|
).optional().nullable(),
|
|
148
|
-
children: z.string().describe(
|
|
148
|
+
children: /* @__PURE__ */ z.string().describe(
|
|
149
149
|
"SEO tag inner content. For example, `<title> inner content </title>`."
|
|
150
150
|
).optional(),
|
|
151
|
-
custom: z.boolean().describe(
|
|
151
|
+
custom: /* @__PURE__ */ z.boolean().describe(
|
|
152
152
|
"Whether the tag is a [custom tag](https://support.wix.com/en/article/adding-additional-meta-tags-to-your-sites-pages) \u2014\ni.e. an entry from the site's Advanced/Custom Tags list.\n\nSetting this to `true` on a write restricts which `type` values are accepted\n\u2014 the same restriction the Advanced/Custom Tags UI enforces. `title` and\n`script` tags (including JSON-LD structured data) must be sent with `custom`\nomitted or `false`; sending them with `custom: true` is rejected with\n`TAG_TYPE_NOT_ALLOWED`.\n\nNote this is a separate restriction from Site SEO Tags' own type restriction on\n`SiteSeoTags.tags`: even with `custom` unset, Site SEO Tags rejects `script` (e.g.\nfor site-wide structured data) unconditionally. There is currently no way to set\nsite-wide, every-page structured data through any of these APIs \u2014 write a per-page\n`script` tag through the Item SEO Tags API instead.\n\nThis flag is scoped to that feature only. It is NOT an indicator of whether a standard tag\n(`title`, `description`, Open Graph, etc.) reflects a manually configured value versus a computed\ndefault/pattern \u2014 standard tags always resolve with `custom: false`, even when their content comes\nfrom a page's manually saved SEO title/description override. Don't use this field to verify whether\na live page reflects a manual per-page SEO edit.\n\nLimitation: when `ResolveStaticPageSeoTags` is called without `seoData`, the per-page SEO data is read\nonly from the Vibe/Wix-managed-headless override store. That store holds nothing for classic Wix Editor\nor Wix Studio pages, so even genuine Advanced/Custom Tags saved on those pages are missing from the\nresponse entirely \u2014 there, `false` means this API could not tell, not that no custom tag exists.\nPass `seoData` explicitly to resolve against a known set of tags."
|
|
153
153
|
).optional(),
|
|
154
|
-
disabled: z.boolean().describe(
|
|
154
|
+
disabled: /* @__PURE__ */ z.boolean().describe(
|
|
155
155
|
"Whether the tag is disabled. If the tag is disabled, people can't find your page when searching for this phrase in search engines."
|
|
156
156
|
).optional()
|
|
157
157
|
})
|
|
158
158
|
).optional(),
|
|
159
|
-
settings: z.object({
|
|
160
|
-
preventAutoRedirect: z.boolean().describe(
|
|
159
|
+
settings: /* @__PURE__ */ z.object({
|
|
160
|
+
preventAutoRedirect: /* @__PURE__ */ z.boolean().describe(
|
|
161
161
|
"Whether the [automatical redirect visits](https://support.wix.com/en/article/customizing-your-pages-seo-settings-in-the-seo-panel) from the old URL to the new one is enabled.\n\n\nDefault: `false` (automatical redirect is enabled)."
|
|
162
162
|
).optional(),
|
|
163
|
-
keywords: z.array(
|
|
164
|
-
z.object({
|
|
165
|
-
term: z.string().describe("Keyword value.").optional(),
|
|
166
|
-
isMain: z.boolean().describe(
|
|
163
|
+
keywords: /* @__PURE__ */ z.array(
|
|
164
|
+
/* @__PURE__ */ z.object({
|
|
165
|
+
term: /* @__PURE__ */ z.string().describe("Keyword value.").optional(),
|
|
166
|
+
isMain: /* @__PURE__ */ z.boolean().describe(
|
|
167
167
|
"Whether the keyword is the main focus keyword."
|
|
168
168
|
).optional(),
|
|
169
|
-
origin: z.string().describe(
|
|
169
|
+
origin: /* @__PURE__ */ z.string().describe(
|
|
170
170
|
"The source that added the keyword terms to the SEO settings."
|
|
171
171
|
).max(1e3).optional().nullable()
|
|
172
172
|
})
|
|
173
173
|
).max(5).optional()
|
|
174
174
|
}).describe("SEO general settings.").optional()
|
|
175
175
|
}).describe("Custom SEO data for the category.").optional(),
|
|
176
|
-
richContentDescription: z.any().describe(
|
|
176
|
+
richContentDescription: /* @__PURE__ */ z.any().describe(
|
|
177
177
|
'Category description using rich content.\n> **Note:** Returned only when you pass `"RICH_CONTENT_DESCRIPTION"` to the `fields` array in Categories API requests.\n\n<widget src="https://apps.wix.com/_serverless/ricos-playground-services/goto/api-component" plugins="indent.emoji.divider.codeBlock.file.gallery.giphy.image.table.link.textHighlight.textColor" exampleid="7dc9240e-d548-417a-abcf-0291b68b4303">\n<a href="https://dev.wix.com/docs/ricos/api-reference/ricos-document">See Ricos document reference</a>\n</widget>'
|
|
178
178
|
).optional(),
|
|
179
|
-
treeReference: z.object({
|
|
180
|
-
appNamespace: z.string().describe(
|
|
179
|
+
treeReference: /* @__PURE__ */ z.object({
|
|
180
|
+
appNamespace: /* @__PURE__ */ z.string().describe(
|
|
181
181
|
'Namespace of the app whose catalog this category tree belongs to.\n\nCurrently, only `"@wix/stores"` is supported.'
|
|
182
182
|
).min(4).max(150).optional(),
|
|
183
|
-
treeKey: z.string().describe(
|
|
183
|
+
treeKey: /* @__PURE__ */ z.string().describe(
|
|
184
184
|
"Key to differentiate between multiple trees managed by the same app.\n\nFor Wix Stores, pass `null` or omit this field, as each store has only one category tree."
|
|
185
185
|
).min(1).max(44).optional().nullable()
|
|
186
186
|
}).describe(
|
|
187
187
|
'Reference to the category tree this category belongs to.\n\nWhen working with Wix Stores categories, always pass `appNamespace: "@wix/stores"` and `treeKey: null`.'
|
|
188
188
|
).optional(),
|
|
189
|
-
managingAppId: z.string().describe(
|
|
189
|
+
managingAppId: /* @__PURE__ */ z.string().describe(
|
|
190
190
|
"ID of the app responsible for managing items in this category.\n\nWhen set, only the specified app can add or remove items from this category. This is useful for third-party apps that want to create categories exclusively managed by their app, preventing site owners or other apps from modifying the category's items.\n\nYou can get your app's ID from the [app dashboard](https://dev.wix.com/dc3/my-apps/)."
|
|
191
191
|
).regex(
|
|
192
192
|
/^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}$/,
|
|
193
193
|
"Must be a valid GUID"
|
|
194
194
|
).optional().nullable(),
|
|
195
|
-
extendedFields: z.object({
|
|
196
|
-
namespaces:
|
|
195
|
+
extendedFields: /* @__PURE__ */ z.object({
|
|
196
|
+
namespaces: /* @__PURE__ */ z.record(
|
|
197
|
+
/* @__PURE__ */ z.string(),
|
|
198
|
+
/* @__PURE__ */ z.record(
|
|
199
|
+
/* @__PURE__ */ z.string(),
|
|
200
|
+
/* @__PURE__ */ z.any()
|
|
201
|
+
)
|
|
202
|
+
).describe(
|
|
197
203
|
"Extended field data. Each key corresponds to the namespace of the app that created the extended fields.\nThe value of each key is structured according to the schema defined when the extended fields were configured.\n\nYou can only access fields for which you have the appropriate permissions.\n\nLearn more about [extended fields](https://dev.wix.com/docs/rest/articles/getting-started/extended-fields)."
|
|
198
204
|
).optional()
|
|
199
205
|
}).describe(
|
|
200
206
|
"Custom extended fields for the category object.\n\n[Extended fields](https://dev.wix.com/docs/build-apps/develop-your-app/extensions/backend-extensions/schema-plugins/about-schema-plugin-extensions) must be configured in the [app dashboard](https://dev.wix.com/dc3/my-apps/) before they can be accessed with API calls."
|
|
201
207
|
).optional()
|
|
202
208
|
}).describe("Category to create."),
|
|
203
|
-
options: z.object({
|
|
204
|
-
treeReference: z.object({
|
|
205
|
-
appNamespace: z.string().describe(
|
|
209
|
+
options: /* @__PURE__ */ z.object({
|
|
210
|
+
treeReference: /* @__PURE__ */ z.object({
|
|
211
|
+
appNamespace: /* @__PURE__ */ z.string().describe(
|
|
206
212
|
'Namespace of the app whose catalog this category tree belongs to.\n\nCurrently, only `"@wix/stores"` is supported.'
|
|
207
213
|
).min(4).max(150).optional(),
|
|
208
|
-
treeKey: z.string().describe(
|
|
214
|
+
treeKey: /* @__PURE__ */ z.string().describe(
|
|
209
215
|
"Key to differentiate between multiple trees managed by the same app.\n\nFor Wix Stores, pass `null` or omit this field, as each store has only one category tree."
|
|
210
216
|
).min(1).max(44).optional().nullable()
|
|
211
217
|
}).describe("Category tree reference details."),
|
|
212
|
-
fields: z.array(
|
|
213
|
-
z.enum([
|
|
218
|
+
fields: /* @__PURE__ */ z.array(
|
|
219
|
+
/* @__PURE__ */ z.enum([
|
|
220
|
+
"BREADCRUMBS_INFO",
|
|
221
|
+
"DESCRIPTION",
|
|
222
|
+
"RICH_CONTENT_DESCRIPTION"
|
|
223
|
+
])
|
|
214
224
|
).max(100).optional()
|
|
215
225
|
})
|
|
216
226
|
});
|
|
217
227
|
var CreateCategoryResponse = /* @__PURE__ */ z.object({
|
|
218
|
-
_id: z.string().describe("Category ID.").regex(
|
|
228
|
+
_id: /* @__PURE__ */ z.string().describe("Category ID.").regex(
|
|
219
229
|
/^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}$/,
|
|
220
230
|
"Must be a valid GUID"
|
|
221
231
|
).optional().nullable(),
|
|
222
|
-
revision: z.string().regex(/^-?\d+$/, "Must be a valid Int64 string").describe(
|
|
232
|
+
revision: /* @__PURE__ */ z.string().regex(/^-?\d+$/, "Must be a valid Int64 string").describe(
|
|
223
233
|
"Revision number, which increments by 1 each time the category is updated.\nTo prevent conflicting changes, the current revision must be passed when updating.\n\nIgnored when creating a category."
|
|
224
234
|
).optional().nullable(),
|
|
225
|
-
_createdDate: z.date().describe("Date and time the category was created.").optional().nullable(),
|
|
226
|
-
_updatedDate: z.date().describe("Date and time the category was updated.").optional().nullable(),
|
|
227
|
-
name: z.string().describe("Category name.").min(1).max(80).optional().nullable(),
|
|
228
|
-
image: z.string().describe(
|
|
235
|
+
_createdDate: /* @__PURE__ */ z.date().describe("Date and time the category was created.").optional().nullable(),
|
|
236
|
+
_updatedDate: /* @__PURE__ */ z.date().describe("Date and time the category was updated.").optional().nullable(),
|
|
237
|
+
name: /* @__PURE__ */ z.string().describe("Category name.").min(1).max(80).optional().nullable(),
|
|
238
|
+
image: /* @__PURE__ */ z.string().describe(
|
|
229
239
|
"Category image.\n\n+ Pass WixMedia image ID for media previously saved in the [Wix Media Manager](https://support.wix.com/en/article/wix-media-about-the-media-manager).\n+ Pass full image URL to upload to Wix Media Manager."
|
|
230
240
|
).optional(),
|
|
231
|
-
itemCounter: z.number().int().describe(
|
|
241
|
+
itemCounter: /* @__PURE__ */ z.number().int().describe(
|
|
232
242
|
"Number of items directly assigned to this category. Doesn't include items in subcategories."
|
|
233
243
|
).optional(),
|
|
234
|
-
description: z.string().describe(
|
|
244
|
+
description: /* @__PURE__ */ z.string().describe(
|
|
235
245
|
'Plain-text category description.\n\nReturned only when you pass `"DESCRIPTION"` to the `fields` array.'
|
|
236
246
|
).min(1).max(600).optional().nullable(),
|
|
237
|
-
visible: z.boolean().describe(
|
|
247
|
+
visible: /* @__PURE__ */ z.boolean().describe(
|
|
238
248
|
"Whether the category is visible to site visitors.\n\nVisibility cascades to subcategories: if a parent category's visibility is set to `false`, all its subcategories become hidden as well.\nSetting a subcategory's visibility to `true` fails if any of its parent categories are hidden.\n\n> **Notes:**\n> 1. Hidden categories and their items are still accessible via API calls. For example, List Items In Category returns items even for hidden categories.\n> 2. The `visible` field can only be changed using the [Update Category Visibility](https://dev.wix.com/docs/api-reference/business-solutions/stores/catalog-v3/categories/update-category-visibility) method.\n> 3. Default: `true`"
|
|
239
249
|
).optional().nullable(),
|
|
240
|
-
breadcrumbsInfo: z.object({
|
|
241
|
-
breadcrumbs: z.array(
|
|
242
|
-
z.object({
|
|
243
|
-
categoryId: z.string().describe("Ancestor category ID.").regex(
|
|
250
|
+
breadcrumbsInfo: /* @__PURE__ */ z.object({
|
|
251
|
+
breadcrumbs: /* @__PURE__ */ z.array(
|
|
252
|
+
/* @__PURE__ */ z.object({
|
|
253
|
+
categoryId: /* @__PURE__ */ z.string().describe("Ancestor category ID.").regex(
|
|
244
254
|
/^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}$/,
|
|
245
255
|
"Must be a valid GUID"
|
|
246
256
|
).optional(),
|
|
247
|
-
categoryName: z.string().describe("Ancestor category name.").min(1).max(80).optional(),
|
|
248
|
-
categorySlug: z.string().describe("Ancestor category slug.").min(1).max(100).optional()
|
|
257
|
+
categoryName: /* @__PURE__ */ z.string().describe("Ancestor category name.").min(1).max(80).optional(),
|
|
258
|
+
categorySlug: /* @__PURE__ */ z.string().describe("Ancestor category slug.").min(1).max(100).optional()
|
|
249
259
|
})
|
|
250
260
|
).max(5).optional()
|
|
251
261
|
}).describe(
|
|
252
262
|
'Category breadcrumbs, representing the path from the top-level ancestor category down to the parent of the current category.\n\nBreadcrumbs are useful for building navigation UI and for SEO purposes. For top-level categories, the breadcrumbs list is empty.\n\nReturned only when you pass `"BREADCRUMBS_INFO"` to the `fields` array.'
|
|
253
263
|
).optional(),
|
|
254
|
-
parentCategory: z.object({
|
|
255
|
-
_id: z.string().describe(
|
|
264
|
+
parentCategory: /* @__PURE__ */ z.object({
|
|
265
|
+
_id: /* @__PURE__ */ z.string().describe(
|
|
256
266
|
"ID of the parent category.\n\nLeave empty or omit to create a top-level category."
|
|
257
267
|
).regex(
|
|
258
268
|
/^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}$/,
|
|
259
269
|
"Must be a valid GUID"
|
|
260
270
|
).optional().nullable(),
|
|
261
|
-
index: z.number().int().describe(
|
|
271
|
+
index: /* @__PURE__ */ z.number().int().describe(
|
|
262
272
|
"Position of this category among its sibling categories within the parent."
|
|
263
273
|
).optional().nullable()
|
|
264
274
|
}).describe(
|
|
265
275
|
"Information about the category's parent. Top-level categories don't have a parent."
|
|
266
276
|
).optional(),
|
|
267
|
-
slug: z.string().describe(
|
|
277
|
+
slug: /* @__PURE__ */ z.string().describe(
|
|
268
278
|
"Category slug. A URL-friendly identifier used in the category page address.\n\nIf not provided, the slug is autogenerated based on the category name."
|
|
269
279
|
).min(1).max(300).optional().nullable(),
|
|
270
|
-
seoData: z.object({
|
|
271
|
-
tags: z.array(
|
|
272
|
-
z.object({
|
|
273
|
-
type: z.string().describe(
|
|
280
|
+
seoData: /* @__PURE__ */ z.object({
|
|
281
|
+
tags: /* @__PURE__ */ z.array(
|
|
282
|
+
/* @__PURE__ */ z.object({
|
|
283
|
+
type: /* @__PURE__ */ z.string().describe(
|
|
274
284
|
"SEO tag type.\n\n\nSupported values: `title`, `meta`, `script`, `link`.\n\nWhich of these an API actually accepts depends on where the tag is being set: this\nlist is not a blanket guarantee across every API that reuses this message. Site SEO\nTags in particular accepts only `meta` (see `SiteSeoTags.tags`) and rejects\n`title`/`script`/`link` with a validation error even though they appear here \u2014\ncheck the field description of the specific `tags`-typed field you're writing to\nfor the types it actually supports and the error it returns.\n\nLimitation: `title` and `script` (e.g. a `script` tag with `props.type`\n`\"application/ld+json\"` carrying structured data) are supported only when\n`custom` is unset or `false`. Setting `custom: true` on a `title` or `script`\ntag is rejected with `TAG_TYPE_NOT_ALLOWED`, because `custom: true` routes the\nwrite through the site's Advanced/Custom Tags list. To write structured data,\nomit `custom` (or set it to `false`)."
|
|
275
285
|
).optional(),
|
|
276
|
-
props: z.record(z.string(), z.any()).describe(
|
|
286
|
+
props: /* @__PURE__ */ z.record(/* @__PURE__ */ z.string(), /* @__PURE__ */ z.any()).describe(
|
|
277
287
|
'A `{"key": "value"}` pair object where each SEO tag property (`"name"`, `"content"`, `"rel"`, `"href"`) contains a value.\nFor example: `{"name": "description", "content": "the description itself"}`.'
|
|
278
288
|
).optional().nullable(),
|
|
279
|
-
meta: z.record(z.string(), z.any()).describe(
|
|
289
|
+
meta: /* @__PURE__ */ z.record(/* @__PURE__ */ z.string(), /* @__PURE__ */ z.any()).describe(
|
|
280
290
|
'SEO tag metadata. For example, `{"height": 300, "width": 240}`.'
|
|
281
291
|
).optional().nullable(),
|
|
282
|
-
children: z.string().describe(
|
|
292
|
+
children: /* @__PURE__ */ z.string().describe(
|
|
283
293
|
"SEO tag inner content. For example, `<title> inner content </title>`."
|
|
284
294
|
).optional(),
|
|
285
|
-
custom: z.boolean().describe(
|
|
295
|
+
custom: /* @__PURE__ */ z.boolean().describe(
|
|
286
296
|
"Whether the tag is a [custom tag](https://support.wix.com/en/article/adding-additional-meta-tags-to-your-sites-pages) \u2014\ni.e. an entry from the site's Advanced/Custom Tags list.\n\nSetting this to `true` on a write restricts which `type` values are accepted\n\u2014 the same restriction the Advanced/Custom Tags UI enforces. `title` and\n`script` tags (including JSON-LD structured data) must be sent with `custom`\nomitted or `false`; sending them with `custom: true` is rejected with\n`TAG_TYPE_NOT_ALLOWED`.\n\nNote this is a separate restriction from Site SEO Tags' own type restriction on\n`SiteSeoTags.tags`: even with `custom` unset, Site SEO Tags rejects `script` (e.g.\nfor site-wide structured data) unconditionally. There is currently no way to set\nsite-wide, every-page structured data through any of these APIs \u2014 write a per-page\n`script` tag through the Item SEO Tags API instead.\n\nThis flag is scoped to that feature only. It is NOT an indicator of whether a standard tag\n(`title`, `description`, Open Graph, etc.) reflects a manually configured value versus a computed\ndefault/pattern \u2014 standard tags always resolve with `custom: false`, even when their content comes\nfrom a page's manually saved SEO title/description override. Don't use this field to verify whether\na live page reflects a manual per-page SEO edit.\n\nLimitation: when `ResolveStaticPageSeoTags` is called without `seoData`, the per-page SEO data is read\nonly from the Vibe/Wix-managed-headless override store. That store holds nothing for classic Wix Editor\nor Wix Studio pages, so even genuine Advanced/Custom Tags saved on those pages are missing from the\nresponse entirely \u2014 there, `false` means this API could not tell, not that no custom tag exists.\nPass `seoData` explicitly to resolve against a known set of tags."
|
|
287
297
|
).optional(),
|
|
288
|
-
disabled: z.boolean().describe(
|
|
298
|
+
disabled: /* @__PURE__ */ z.boolean().describe(
|
|
289
299
|
"Whether the tag is disabled. If the tag is disabled, people can't find your page when searching for this phrase in search engines."
|
|
290
300
|
).optional()
|
|
291
301
|
})
|
|
292
302
|
).optional(),
|
|
293
|
-
settings: z.object({
|
|
294
|
-
preventAutoRedirect: z.boolean().describe(
|
|
303
|
+
settings: /* @__PURE__ */ z.object({
|
|
304
|
+
preventAutoRedirect: /* @__PURE__ */ z.boolean().describe(
|
|
295
305
|
"Whether the [automatical redirect visits](https://support.wix.com/en/article/customizing-your-pages-seo-settings-in-the-seo-panel) from the old URL to the new one is enabled.\n\n\nDefault: `false` (automatical redirect is enabled)."
|
|
296
306
|
).optional(),
|
|
297
|
-
keywords: z.array(
|
|
298
|
-
z.object({
|
|
299
|
-
term: z.string().describe("Keyword value.").optional(),
|
|
300
|
-
isMain: z.boolean().describe("Whether the keyword is the main focus keyword.").optional(),
|
|
301
|
-
origin: z.string().describe(
|
|
307
|
+
keywords: /* @__PURE__ */ z.array(
|
|
308
|
+
/* @__PURE__ */ z.object({
|
|
309
|
+
term: /* @__PURE__ */ z.string().describe("Keyword value.").optional(),
|
|
310
|
+
isMain: /* @__PURE__ */ z.boolean().describe("Whether the keyword is the main focus keyword.").optional(),
|
|
311
|
+
origin: /* @__PURE__ */ z.string().describe(
|
|
302
312
|
"The source that added the keyword terms to the SEO settings."
|
|
303
313
|
).max(1e3).optional().nullable()
|
|
304
314
|
})
|
|
305
315
|
).max(5).optional()
|
|
306
316
|
}).describe("SEO general settings.").optional()
|
|
307
317
|
}).describe("Custom SEO data for the category.").optional(),
|
|
308
|
-
richContentDescription: z.any().describe(
|
|
318
|
+
richContentDescription: /* @__PURE__ */ z.any().describe(
|
|
309
319
|
'Category description using rich content.\n> **Note:** Returned only when you pass `"RICH_CONTENT_DESCRIPTION"` to the `fields` array in Categories API requests.\n\n<widget src="https://apps.wix.com/_serverless/ricos-playground-services/goto/api-component" plugins="indent.emoji.divider.codeBlock.file.gallery.giphy.image.table.link.textHighlight.textColor" exampleid="7dc9240e-d548-417a-abcf-0291b68b4303">\n<a href="https://dev.wix.com/docs/ricos/api-reference/ricos-document">See Ricos document reference</a>\n</widget>'
|
|
310
320
|
).optional(),
|
|
311
|
-
treeReference: z.object({
|
|
312
|
-
appNamespace: z.string().describe(
|
|
321
|
+
treeReference: /* @__PURE__ */ z.object({
|
|
322
|
+
appNamespace: /* @__PURE__ */ z.string().describe(
|
|
313
323
|
'Namespace of the app whose catalog this category tree belongs to.\n\nCurrently, only `"@wix/stores"` is supported.'
|
|
314
324
|
).min(4).max(150).optional(),
|
|
315
|
-
treeKey: z.string().describe(
|
|
325
|
+
treeKey: /* @__PURE__ */ z.string().describe(
|
|
316
326
|
"Key to differentiate between multiple trees managed by the same app.\n\nFor Wix Stores, pass `null` or omit this field, as each store has only one category tree."
|
|
317
327
|
).min(1).max(44).optional().nullable()
|
|
318
328
|
}).describe(
|
|
319
329
|
'Reference to the category tree this category belongs to.\n\nWhen working with Wix Stores categories, always pass `appNamespace: "@wix/stores"` and `treeKey: null`.'
|
|
320
330
|
).optional(),
|
|
321
|
-
managingAppId: z.string().describe(
|
|
331
|
+
managingAppId: /* @__PURE__ */ z.string().describe(
|
|
322
332
|
"ID of the app responsible for managing items in this category.\n\nWhen set, only the specified app can add or remove items from this category. This is useful for third-party apps that want to create categories exclusively managed by their app, preventing site owners or other apps from modifying the category's items.\n\nYou can get your app's ID from the [app dashboard](https://dev.wix.com/dc3/my-apps/)."
|
|
323
333
|
).regex(
|
|
324
334
|
/^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}$/,
|
|
325
335
|
"Must be a valid GUID"
|
|
326
336
|
).optional().nullable(),
|
|
327
|
-
extendedFields: z.object({
|
|
328
|
-
namespaces:
|
|
337
|
+
extendedFields: /* @__PURE__ */ z.object({
|
|
338
|
+
namespaces: /* @__PURE__ */ z.record(
|
|
339
|
+
/* @__PURE__ */ z.string(),
|
|
340
|
+
/* @__PURE__ */ z.record(
|
|
341
|
+
/* @__PURE__ */ z.string(),
|
|
342
|
+
/* @__PURE__ */ z.any()
|
|
343
|
+
)
|
|
344
|
+
).describe(
|
|
329
345
|
"Extended field data. Each key corresponds to the namespace of the app that created the extended fields.\nThe value of each key is structured according to the schema defined when the extended fields were configured.\n\nYou can only access fields for which you have the appropriate permissions.\n\nLearn more about [extended fields](https://dev.wix.com/docs/rest/articles/getting-started/extended-fields)."
|
|
330
346
|
).optional()
|
|
331
347
|
}).describe(
|
|
@@ -333,21 +349,21 @@ var CreateCategoryResponse = /* @__PURE__ */ z.object({
|
|
|
333
349
|
).optional()
|
|
334
350
|
});
|
|
335
351
|
var GetCategoryRequest = /* @__PURE__ */ z.object({
|
|
336
|
-
categoryId: z.string().describe("Category ID.").regex(
|
|
352
|
+
categoryId: /* @__PURE__ */ z.string().describe("Category ID.").regex(
|
|
337
353
|
/^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}$/,
|
|
338
354
|
"Must be a valid GUID"
|
|
339
355
|
),
|
|
340
|
-
treeReference: z.object({
|
|
341
|
-
appNamespace: z.string().describe(
|
|
356
|
+
treeReference: /* @__PURE__ */ z.object({
|
|
357
|
+
appNamespace: /* @__PURE__ */ z.string().describe(
|
|
342
358
|
'Namespace of the app whose catalog this category tree belongs to.\n\nCurrently, only `"@wix/stores"` is supported.'
|
|
343
359
|
).min(4).max(150),
|
|
344
|
-
treeKey: z.string().describe(
|
|
360
|
+
treeKey: /* @__PURE__ */ z.string().describe(
|
|
345
361
|
"Key to differentiate between multiple trees managed by the same app.\n\nFor Wix Stores, pass `null` or omit this field, as each store has only one category tree."
|
|
346
362
|
).min(1).max(44).optional().nullable()
|
|
347
363
|
}).describe("Category tree reference details."),
|
|
348
|
-
options: z.object({
|
|
349
|
-
fields: z.array(
|
|
350
|
-
z.enum([
|
|
364
|
+
options: /* @__PURE__ */ z.object({
|
|
365
|
+
fields: /* @__PURE__ */ z.array(
|
|
366
|
+
/* @__PURE__ */ z.enum([
|
|
351
367
|
"BREADCRUMBS_INFO",
|
|
352
368
|
"DESCRIPTION",
|
|
353
369
|
"RICH_CONTENT_DESCRIPTION"
|
|
@@ -356,117 +372,123 @@ var GetCategoryRequest = /* @__PURE__ */ z.object({
|
|
|
356
372
|
}).optional()
|
|
357
373
|
});
|
|
358
374
|
var GetCategoryResponse = /* @__PURE__ */ z.object({
|
|
359
|
-
_id: z.string().describe("Category ID.").regex(
|
|
375
|
+
_id: /* @__PURE__ */ z.string().describe("Category ID.").regex(
|
|
360
376
|
/^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}$/,
|
|
361
377
|
"Must be a valid GUID"
|
|
362
378
|
).optional().nullable(),
|
|
363
|
-
revision: z.string().regex(/^-?\d+$/, "Must be a valid Int64 string").describe(
|
|
379
|
+
revision: /* @__PURE__ */ z.string().regex(/^-?\d+$/, "Must be a valid Int64 string").describe(
|
|
364
380
|
"Revision number, which increments by 1 each time the category is updated.\nTo prevent conflicting changes, the current revision must be passed when updating.\n\nIgnored when creating a category."
|
|
365
381
|
).optional().nullable(),
|
|
366
|
-
_createdDate: z.date().describe("Date and time the category was created.").optional().nullable(),
|
|
367
|
-
_updatedDate: z.date().describe("Date and time the category was updated.").optional().nullable(),
|
|
368
|
-
name: z.string().describe("Category name.").min(1).max(80).optional().nullable(),
|
|
369
|
-
image: z.string().describe(
|
|
382
|
+
_createdDate: /* @__PURE__ */ z.date().describe("Date and time the category was created.").optional().nullable(),
|
|
383
|
+
_updatedDate: /* @__PURE__ */ z.date().describe("Date and time the category was updated.").optional().nullable(),
|
|
384
|
+
name: /* @__PURE__ */ z.string().describe("Category name.").min(1).max(80).optional().nullable(),
|
|
385
|
+
image: /* @__PURE__ */ z.string().describe(
|
|
370
386
|
"Category image.\n\n+ Pass WixMedia image ID for media previously saved in the [Wix Media Manager](https://support.wix.com/en/article/wix-media-about-the-media-manager).\n+ Pass full image URL to upload to Wix Media Manager."
|
|
371
387
|
).optional(),
|
|
372
|
-
itemCounter: z.number().int().describe(
|
|
388
|
+
itemCounter: /* @__PURE__ */ z.number().int().describe(
|
|
373
389
|
"Number of items directly assigned to this category. Doesn't include items in subcategories."
|
|
374
390
|
).optional(),
|
|
375
|
-
description: z.string().describe(
|
|
391
|
+
description: /* @__PURE__ */ z.string().describe(
|
|
376
392
|
'Plain-text category description.\n\nReturned only when you pass `"DESCRIPTION"` to the `fields` array.'
|
|
377
393
|
).min(1).max(600).optional().nullable(),
|
|
378
|
-
visible: z.boolean().describe(
|
|
394
|
+
visible: /* @__PURE__ */ z.boolean().describe(
|
|
379
395
|
"Whether the category is visible to site visitors.\n\nVisibility cascades to subcategories: if a parent category's visibility is set to `false`, all its subcategories become hidden as well.\nSetting a subcategory's visibility to `true` fails if any of its parent categories are hidden.\n\n> **Notes:**\n> 1. Hidden categories and their items are still accessible via API calls. For example, List Items In Category returns items even for hidden categories.\n> 2. The `visible` field can only be changed using the [Update Category Visibility](https://dev.wix.com/docs/api-reference/business-solutions/stores/catalog-v3/categories/update-category-visibility) method.\n> 3. Default: `true`"
|
|
380
396
|
).optional().nullable(),
|
|
381
|
-
breadcrumbsInfo: z.object({
|
|
382
|
-
breadcrumbs: z.array(
|
|
383
|
-
z.object({
|
|
384
|
-
categoryId: z.string().describe("Ancestor category ID.").regex(
|
|
397
|
+
breadcrumbsInfo: /* @__PURE__ */ z.object({
|
|
398
|
+
breadcrumbs: /* @__PURE__ */ z.array(
|
|
399
|
+
/* @__PURE__ */ z.object({
|
|
400
|
+
categoryId: /* @__PURE__ */ z.string().describe("Ancestor category ID.").regex(
|
|
385
401
|
/^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}$/,
|
|
386
402
|
"Must be a valid GUID"
|
|
387
403
|
).optional(),
|
|
388
|
-
categoryName: z.string().describe("Ancestor category name.").min(1).max(80).optional(),
|
|
389
|
-
categorySlug: z.string().describe("Ancestor category slug.").min(1).max(100).optional()
|
|
404
|
+
categoryName: /* @__PURE__ */ z.string().describe("Ancestor category name.").min(1).max(80).optional(),
|
|
405
|
+
categorySlug: /* @__PURE__ */ z.string().describe("Ancestor category slug.").min(1).max(100).optional()
|
|
390
406
|
})
|
|
391
407
|
).max(5).optional()
|
|
392
408
|
}).describe(
|
|
393
409
|
'Category breadcrumbs, representing the path from the top-level ancestor category down to the parent of the current category.\n\nBreadcrumbs are useful for building navigation UI and for SEO purposes. For top-level categories, the breadcrumbs list is empty.\n\nReturned only when you pass `"BREADCRUMBS_INFO"` to the `fields` array.'
|
|
394
410
|
).optional(),
|
|
395
|
-
parentCategory: z.object({
|
|
396
|
-
_id: z.string().describe(
|
|
411
|
+
parentCategory: /* @__PURE__ */ z.object({
|
|
412
|
+
_id: /* @__PURE__ */ z.string().describe(
|
|
397
413
|
"ID of the parent category.\n\nLeave empty or omit to create a top-level category."
|
|
398
414
|
).regex(
|
|
399
415
|
/^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}$/,
|
|
400
416
|
"Must be a valid GUID"
|
|
401
417
|
).optional().nullable(),
|
|
402
|
-
index: z.number().int().describe(
|
|
418
|
+
index: /* @__PURE__ */ z.number().int().describe(
|
|
403
419
|
"Position of this category among its sibling categories within the parent."
|
|
404
420
|
).optional().nullable()
|
|
405
421
|
}).describe(
|
|
406
422
|
"Information about the category's parent. Top-level categories don't have a parent."
|
|
407
423
|
).optional(),
|
|
408
|
-
slug: z.string().describe(
|
|
424
|
+
slug: /* @__PURE__ */ z.string().describe(
|
|
409
425
|
"Category slug. A URL-friendly identifier used in the category page address.\n\nIf not provided, the slug is autogenerated based on the category name."
|
|
410
426
|
).min(1).max(300).optional().nullable(),
|
|
411
|
-
seoData: z.object({
|
|
412
|
-
tags: z.array(
|
|
413
|
-
z.object({
|
|
414
|
-
type: z.string().describe(
|
|
427
|
+
seoData: /* @__PURE__ */ z.object({
|
|
428
|
+
tags: /* @__PURE__ */ z.array(
|
|
429
|
+
/* @__PURE__ */ z.object({
|
|
430
|
+
type: /* @__PURE__ */ z.string().describe(
|
|
415
431
|
"SEO tag type.\n\n\nSupported values: `title`, `meta`, `script`, `link`.\n\nWhich of these an API actually accepts depends on where the tag is being set: this\nlist is not a blanket guarantee across every API that reuses this message. Site SEO\nTags in particular accepts only `meta` (see `SiteSeoTags.tags`) and rejects\n`title`/`script`/`link` with a validation error even though they appear here \u2014\ncheck the field description of the specific `tags`-typed field you're writing to\nfor the types it actually supports and the error it returns.\n\nLimitation: `title` and `script` (e.g. a `script` tag with `props.type`\n`\"application/ld+json\"` carrying structured data) are supported only when\n`custom` is unset or `false`. Setting `custom: true` on a `title` or `script`\ntag is rejected with `TAG_TYPE_NOT_ALLOWED`, because `custom: true` routes the\nwrite through the site's Advanced/Custom Tags list. To write structured data,\nomit `custom` (or set it to `false`)."
|
|
416
432
|
).optional(),
|
|
417
|
-
props: z.record(z.string(), z.any()).describe(
|
|
433
|
+
props: /* @__PURE__ */ z.record(/* @__PURE__ */ z.string(), /* @__PURE__ */ z.any()).describe(
|
|
418
434
|
'A `{"key": "value"}` pair object where each SEO tag property (`"name"`, `"content"`, `"rel"`, `"href"`) contains a value.\nFor example: `{"name": "description", "content": "the description itself"}`.'
|
|
419
435
|
).optional().nullable(),
|
|
420
|
-
meta: z.record(z.string(), z.any()).describe(
|
|
436
|
+
meta: /* @__PURE__ */ z.record(/* @__PURE__ */ z.string(), /* @__PURE__ */ z.any()).describe(
|
|
421
437
|
'SEO tag metadata. For example, `{"height": 300, "width": 240}`.'
|
|
422
438
|
).optional().nullable(),
|
|
423
|
-
children: z.string().describe(
|
|
439
|
+
children: /* @__PURE__ */ z.string().describe(
|
|
424
440
|
"SEO tag inner content. For example, `<title> inner content </title>`."
|
|
425
441
|
).optional(),
|
|
426
|
-
custom: z.boolean().describe(
|
|
442
|
+
custom: /* @__PURE__ */ z.boolean().describe(
|
|
427
443
|
"Whether the tag is a [custom tag](https://support.wix.com/en/article/adding-additional-meta-tags-to-your-sites-pages) \u2014\ni.e. an entry from the site's Advanced/Custom Tags list.\n\nSetting this to `true` on a write restricts which `type` values are accepted\n\u2014 the same restriction the Advanced/Custom Tags UI enforces. `title` and\n`script` tags (including JSON-LD structured data) must be sent with `custom`\nomitted or `false`; sending them with `custom: true` is rejected with\n`TAG_TYPE_NOT_ALLOWED`.\n\nNote this is a separate restriction from Site SEO Tags' own type restriction on\n`SiteSeoTags.tags`: even with `custom` unset, Site SEO Tags rejects `script` (e.g.\nfor site-wide structured data) unconditionally. There is currently no way to set\nsite-wide, every-page structured data through any of these APIs \u2014 write a per-page\n`script` tag through the Item SEO Tags API instead.\n\nThis flag is scoped to that feature only. It is NOT an indicator of whether a standard tag\n(`title`, `description`, Open Graph, etc.) reflects a manually configured value versus a computed\ndefault/pattern \u2014 standard tags always resolve with `custom: false`, even when their content comes\nfrom a page's manually saved SEO title/description override. Don't use this field to verify whether\na live page reflects a manual per-page SEO edit.\n\nLimitation: when `ResolveStaticPageSeoTags` is called without `seoData`, the per-page SEO data is read\nonly from the Vibe/Wix-managed-headless override store. That store holds nothing for classic Wix Editor\nor Wix Studio pages, so even genuine Advanced/Custom Tags saved on those pages are missing from the\nresponse entirely \u2014 there, `false` means this API could not tell, not that no custom tag exists.\nPass `seoData` explicitly to resolve against a known set of tags."
|
|
428
444
|
).optional(),
|
|
429
|
-
disabled: z.boolean().describe(
|
|
445
|
+
disabled: /* @__PURE__ */ z.boolean().describe(
|
|
430
446
|
"Whether the tag is disabled. If the tag is disabled, people can't find your page when searching for this phrase in search engines."
|
|
431
447
|
).optional()
|
|
432
448
|
})
|
|
433
449
|
).optional(),
|
|
434
|
-
settings: z.object({
|
|
435
|
-
preventAutoRedirect: z.boolean().describe(
|
|
450
|
+
settings: /* @__PURE__ */ z.object({
|
|
451
|
+
preventAutoRedirect: /* @__PURE__ */ z.boolean().describe(
|
|
436
452
|
"Whether the [automatical redirect visits](https://support.wix.com/en/article/customizing-your-pages-seo-settings-in-the-seo-panel) from the old URL to the new one is enabled.\n\n\nDefault: `false` (automatical redirect is enabled)."
|
|
437
453
|
).optional(),
|
|
438
|
-
keywords: z.array(
|
|
439
|
-
z.object({
|
|
440
|
-
term: z.string().describe("Keyword value.").optional(),
|
|
441
|
-
isMain: z.boolean().describe("Whether the keyword is the main focus keyword.").optional(),
|
|
442
|
-
origin: z.string().describe(
|
|
454
|
+
keywords: /* @__PURE__ */ z.array(
|
|
455
|
+
/* @__PURE__ */ z.object({
|
|
456
|
+
term: /* @__PURE__ */ z.string().describe("Keyword value.").optional(),
|
|
457
|
+
isMain: /* @__PURE__ */ z.boolean().describe("Whether the keyword is the main focus keyword.").optional(),
|
|
458
|
+
origin: /* @__PURE__ */ z.string().describe(
|
|
443
459
|
"The source that added the keyword terms to the SEO settings."
|
|
444
460
|
).max(1e3).optional().nullable()
|
|
445
461
|
})
|
|
446
462
|
).max(5).optional()
|
|
447
463
|
}).describe("SEO general settings.").optional()
|
|
448
464
|
}).describe("Custom SEO data for the category.").optional(),
|
|
449
|
-
richContentDescription: z.any().describe(
|
|
465
|
+
richContentDescription: /* @__PURE__ */ z.any().describe(
|
|
450
466
|
'Category description using rich content.\n> **Note:** Returned only when you pass `"RICH_CONTENT_DESCRIPTION"` to the `fields` array in Categories API requests.\n\n<widget src="https://apps.wix.com/_serverless/ricos-playground-services/goto/api-component" plugins="indent.emoji.divider.codeBlock.file.gallery.giphy.image.table.link.textHighlight.textColor" exampleid="7dc9240e-d548-417a-abcf-0291b68b4303">\n<a href="https://dev.wix.com/docs/ricos/api-reference/ricos-document">See Ricos document reference</a>\n</widget>'
|
|
451
467
|
).optional(),
|
|
452
|
-
treeReference: z.object({
|
|
453
|
-
appNamespace: z.string().describe(
|
|
468
|
+
treeReference: /* @__PURE__ */ z.object({
|
|
469
|
+
appNamespace: /* @__PURE__ */ z.string().describe(
|
|
454
470
|
'Namespace of the app whose catalog this category tree belongs to.\n\nCurrently, only `"@wix/stores"` is supported.'
|
|
455
471
|
).min(4).max(150).optional(),
|
|
456
|
-
treeKey: z.string().describe(
|
|
472
|
+
treeKey: /* @__PURE__ */ z.string().describe(
|
|
457
473
|
"Key to differentiate between multiple trees managed by the same app.\n\nFor Wix Stores, pass `null` or omit this field, as each store has only one category tree."
|
|
458
474
|
).min(1).max(44).optional().nullable()
|
|
459
475
|
}).describe(
|
|
460
476
|
'Reference to the category tree this category belongs to.\n\nWhen working with Wix Stores categories, always pass `appNamespace: "@wix/stores"` and `treeKey: null`.'
|
|
461
477
|
).optional(),
|
|
462
|
-
managingAppId: z.string().describe(
|
|
478
|
+
managingAppId: /* @__PURE__ */ z.string().describe(
|
|
463
479
|
"ID of the app responsible for managing items in this category.\n\nWhen set, only the specified app can add or remove items from this category. This is useful for third-party apps that want to create categories exclusively managed by their app, preventing site owners or other apps from modifying the category's items.\n\nYou can get your app's ID from the [app dashboard](https://dev.wix.com/dc3/my-apps/)."
|
|
464
480
|
).regex(
|
|
465
481
|
/^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}$/,
|
|
466
482
|
"Must be a valid GUID"
|
|
467
483
|
).optional().nullable(),
|
|
468
|
-
extendedFields: z.object({
|
|
469
|
-
namespaces:
|
|
484
|
+
extendedFields: /* @__PURE__ */ z.object({
|
|
485
|
+
namespaces: /* @__PURE__ */ z.record(
|
|
486
|
+
/* @__PURE__ */ z.string(),
|
|
487
|
+
/* @__PURE__ */ z.record(
|
|
488
|
+
/* @__PURE__ */ z.string(),
|
|
489
|
+
/* @__PURE__ */ z.any()
|
|
490
|
+
)
|
|
491
|
+
).describe(
|
|
470
492
|
"Extended field data. Each key corresponds to the namespace of the app that created the extended fields.\nThe value of each key is structured according to the schema defined when the extended fields were configured.\n\nYou can only access fields for which you have the appropriate permissions.\n\nLearn more about [extended fields](https://dev.wix.com/docs/rest/articles/getting-started/extended-fields)."
|
|
471
493
|
).optional()
|
|
472
494
|
}).describe(
|
|
@@ -474,18 +496,18 @@ var GetCategoryResponse = /* @__PURE__ */ z.object({
|
|
|
474
496
|
).optional()
|
|
475
497
|
});
|
|
476
498
|
var GetCategoryBySlugRequest = /* @__PURE__ */ z.object({
|
|
477
|
-
slug: z.string().describe("Category slug."),
|
|
478
|
-
treeReference: z.object({
|
|
479
|
-
appNamespace: z.string().describe(
|
|
499
|
+
slug: /* @__PURE__ */ z.string().describe("Category slug."),
|
|
500
|
+
treeReference: /* @__PURE__ */ z.object({
|
|
501
|
+
appNamespace: /* @__PURE__ */ z.string().describe(
|
|
480
502
|
'Namespace of the app whose catalog this category tree belongs to.\n\nCurrently, only `"@wix/stores"` is supported.'
|
|
481
503
|
).min(4).max(150),
|
|
482
|
-
treeKey: z.string().describe(
|
|
504
|
+
treeKey: /* @__PURE__ */ z.string().describe(
|
|
483
505
|
"Key to differentiate between multiple trees managed by the same app.\n\nFor Wix Stores, pass `null` or omit this field, as each store has only one category tree."
|
|
484
506
|
).min(1).max(44).optional().nullable()
|
|
485
507
|
}).describe("Category tree reference details."),
|
|
486
|
-
options: z.object({
|
|
487
|
-
fields: z.array(
|
|
488
|
-
z.enum([
|
|
508
|
+
options: /* @__PURE__ */ z.object({
|
|
509
|
+
fields: /* @__PURE__ */ z.array(
|
|
510
|
+
/* @__PURE__ */ z.enum([
|
|
489
511
|
"BREADCRUMBS_INFO",
|
|
490
512
|
"DESCRIPTION",
|
|
491
513
|
"RICH_CONTENT_DESCRIPTION"
|
|
@@ -494,120 +516,126 @@ var GetCategoryBySlugRequest = /* @__PURE__ */ z.object({
|
|
|
494
516
|
}).optional()
|
|
495
517
|
});
|
|
496
518
|
var GetCategoryBySlugResponse = /* @__PURE__ */ z.object({
|
|
497
|
-
category: z.object({
|
|
498
|
-
_id: z.string().describe("Category ID.").regex(
|
|
519
|
+
category: /* @__PURE__ */ z.object({
|
|
520
|
+
_id: /* @__PURE__ */ z.string().describe("Category ID.").regex(
|
|
499
521
|
/^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}$/,
|
|
500
522
|
"Must be a valid GUID"
|
|
501
523
|
).optional().nullable(),
|
|
502
|
-
revision: z.string().regex(/^-?\d+$/, "Must be a valid Int64 string").describe(
|
|
524
|
+
revision: /* @__PURE__ */ z.string().regex(/^-?\d+$/, "Must be a valid Int64 string").describe(
|
|
503
525
|
"Revision number, which increments by 1 each time the category is updated.\nTo prevent conflicting changes, the current revision must be passed when updating.\n\nIgnored when creating a category."
|
|
504
526
|
).optional().nullable(),
|
|
505
|
-
_createdDate: z.date().describe("Date and time the category was created.").optional().nullable(),
|
|
506
|
-
_updatedDate: z.date().describe("Date and time the category was updated.").optional().nullable(),
|
|
507
|
-
name: z.string().describe("Category name.").min(1).max(80).optional().nullable(),
|
|
508
|
-
image: z.string().describe(
|
|
527
|
+
_createdDate: /* @__PURE__ */ z.date().describe("Date and time the category was created.").optional().nullable(),
|
|
528
|
+
_updatedDate: /* @__PURE__ */ z.date().describe("Date and time the category was updated.").optional().nullable(),
|
|
529
|
+
name: /* @__PURE__ */ z.string().describe("Category name.").min(1).max(80).optional().nullable(),
|
|
530
|
+
image: /* @__PURE__ */ z.string().describe(
|
|
509
531
|
"Category image.\n\n+ Pass WixMedia image ID for media previously saved in the [Wix Media Manager](https://support.wix.com/en/article/wix-media-about-the-media-manager).\n+ Pass full image URL to upload to Wix Media Manager."
|
|
510
532
|
).optional(),
|
|
511
|
-
itemCounter: z.number().int().describe(
|
|
533
|
+
itemCounter: /* @__PURE__ */ z.number().int().describe(
|
|
512
534
|
"Number of items directly assigned to this category. Doesn't include items in subcategories."
|
|
513
535
|
).optional(),
|
|
514
|
-
description: z.string().describe(
|
|
536
|
+
description: /* @__PURE__ */ z.string().describe(
|
|
515
537
|
'Plain-text category description.\n\nReturned only when you pass `"DESCRIPTION"` to the `fields` array.'
|
|
516
538
|
).min(1).max(600).optional().nullable(),
|
|
517
|
-
visible: z.boolean().describe(
|
|
539
|
+
visible: /* @__PURE__ */ z.boolean().describe(
|
|
518
540
|
"Whether the category is visible to site visitors.\n\nVisibility cascades to subcategories: if a parent category's visibility is set to `false`, all its subcategories become hidden as well.\nSetting a subcategory's visibility to `true` fails if any of its parent categories are hidden.\n\n> **Notes:**\n> 1. Hidden categories and their items are still accessible via API calls. For example, List Items In Category returns items even for hidden categories.\n> 2. The `visible` field can only be changed using the [Update Category Visibility](https://dev.wix.com/docs/api-reference/business-solutions/stores/catalog-v3/categories/update-category-visibility) method.\n> 3. Default: `true`"
|
|
519
541
|
).optional().nullable(),
|
|
520
|
-
breadcrumbsInfo: z.object({
|
|
521
|
-
breadcrumbs: z.array(
|
|
522
|
-
z.object({
|
|
523
|
-
categoryId: z.string().describe("Ancestor category ID.").regex(
|
|
542
|
+
breadcrumbsInfo: /* @__PURE__ */ z.object({
|
|
543
|
+
breadcrumbs: /* @__PURE__ */ z.array(
|
|
544
|
+
/* @__PURE__ */ z.object({
|
|
545
|
+
categoryId: /* @__PURE__ */ z.string().describe("Ancestor category ID.").regex(
|
|
524
546
|
/^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}$/,
|
|
525
547
|
"Must be a valid GUID"
|
|
526
548
|
).optional(),
|
|
527
|
-
categoryName: z.string().describe("Ancestor category name.").min(1).max(80).optional(),
|
|
528
|
-
categorySlug: z.string().describe("Ancestor category slug.").min(1).max(100).optional()
|
|
549
|
+
categoryName: /* @__PURE__ */ z.string().describe("Ancestor category name.").min(1).max(80).optional(),
|
|
550
|
+
categorySlug: /* @__PURE__ */ z.string().describe("Ancestor category slug.").min(1).max(100).optional()
|
|
529
551
|
})
|
|
530
552
|
).max(5).optional()
|
|
531
553
|
}).describe(
|
|
532
554
|
'Category breadcrumbs, representing the path from the top-level ancestor category down to the parent of the current category.\n\nBreadcrumbs are useful for building navigation UI and for SEO purposes. For top-level categories, the breadcrumbs list is empty.\n\nReturned only when you pass `"BREADCRUMBS_INFO"` to the `fields` array.'
|
|
533
555
|
).optional(),
|
|
534
|
-
parentCategory: z.object({
|
|
535
|
-
_id: z.string().describe(
|
|
556
|
+
parentCategory: /* @__PURE__ */ z.object({
|
|
557
|
+
_id: /* @__PURE__ */ z.string().describe(
|
|
536
558
|
"ID of the parent category.\n\nLeave empty or omit to create a top-level category."
|
|
537
559
|
).regex(
|
|
538
560
|
/^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}$/,
|
|
539
561
|
"Must be a valid GUID"
|
|
540
562
|
).optional().nullable(),
|
|
541
|
-
index: z.number().int().describe(
|
|
563
|
+
index: /* @__PURE__ */ z.number().int().describe(
|
|
542
564
|
"Position of this category among its sibling categories within the parent."
|
|
543
565
|
).optional().nullable()
|
|
544
566
|
}).describe(
|
|
545
567
|
"Information about the category's parent. Top-level categories don't have a parent."
|
|
546
568
|
).optional(),
|
|
547
|
-
slug: z.string().describe(
|
|
569
|
+
slug: /* @__PURE__ */ z.string().describe(
|
|
548
570
|
"Category slug. A URL-friendly identifier used in the category page address.\n\nIf not provided, the slug is autogenerated based on the category name."
|
|
549
571
|
).min(1).max(300).optional().nullable(),
|
|
550
|
-
seoData: z.object({
|
|
551
|
-
tags: z.array(
|
|
552
|
-
z.object({
|
|
553
|
-
type: z.string().describe(
|
|
572
|
+
seoData: /* @__PURE__ */ z.object({
|
|
573
|
+
tags: /* @__PURE__ */ z.array(
|
|
574
|
+
/* @__PURE__ */ z.object({
|
|
575
|
+
type: /* @__PURE__ */ z.string().describe(
|
|
554
576
|
"SEO tag type.\n\n\nSupported values: `title`, `meta`, `script`, `link`.\n\nWhich of these an API actually accepts depends on where the tag is being set: this\nlist is not a blanket guarantee across every API that reuses this message. Site SEO\nTags in particular accepts only `meta` (see `SiteSeoTags.tags`) and rejects\n`title`/`script`/`link` with a validation error even though they appear here \u2014\ncheck the field description of the specific `tags`-typed field you're writing to\nfor the types it actually supports and the error it returns.\n\nLimitation: `title` and `script` (e.g. a `script` tag with `props.type`\n`\"application/ld+json\"` carrying structured data) are supported only when\n`custom` is unset or `false`. Setting `custom: true` on a `title` or `script`\ntag is rejected with `TAG_TYPE_NOT_ALLOWED`, because `custom: true` routes the\nwrite through the site's Advanced/Custom Tags list. To write structured data,\nomit `custom` (or set it to `false`)."
|
|
555
577
|
).optional(),
|
|
556
|
-
props: z.record(z.string(), z.any()).describe(
|
|
578
|
+
props: /* @__PURE__ */ z.record(/* @__PURE__ */ z.string(), /* @__PURE__ */ z.any()).describe(
|
|
557
579
|
'A `{"key": "value"}` pair object where each SEO tag property (`"name"`, `"content"`, `"rel"`, `"href"`) contains a value.\nFor example: `{"name": "description", "content": "the description itself"}`.'
|
|
558
580
|
).optional().nullable(),
|
|
559
|
-
meta: z.record(z.string(), z.any()).describe(
|
|
581
|
+
meta: /* @__PURE__ */ z.record(/* @__PURE__ */ z.string(), /* @__PURE__ */ z.any()).describe(
|
|
560
582
|
'SEO tag metadata. For example, `{"height": 300, "width": 240}`.'
|
|
561
583
|
).optional().nullable(),
|
|
562
|
-
children: z.string().describe(
|
|
584
|
+
children: /* @__PURE__ */ z.string().describe(
|
|
563
585
|
"SEO tag inner content. For example, `<title> inner content </title>`."
|
|
564
586
|
).optional(),
|
|
565
|
-
custom: z.boolean().describe(
|
|
587
|
+
custom: /* @__PURE__ */ z.boolean().describe(
|
|
566
588
|
"Whether the tag is a [custom tag](https://support.wix.com/en/article/adding-additional-meta-tags-to-your-sites-pages) \u2014\ni.e. an entry from the site's Advanced/Custom Tags list.\n\nSetting this to `true` on a write restricts which `type` values are accepted\n\u2014 the same restriction the Advanced/Custom Tags UI enforces. `title` and\n`script` tags (including JSON-LD structured data) must be sent with `custom`\nomitted or `false`; sending them with `custom: true` is rejected with\n`TAG_TYPE_NOT_ALLOWED`.\n\nNote this is a separate restriction from Site SEO Tags' own type restriction on\n`SiteSeoTags.tags`: even with `custom` unset, Site SEO Tags rejects `script` (e.g.\nfor site-wide structured data) unconditionally. There is currently no way to set\nsite-wide, every-page structured data through any of these APIs \u2014 write a per-page\n`script` tag through the Item SEO Tags API instead.\n\nThis flag is scoped to that feature only. It is NOT an indicator of whether a standard tag\n(`title`, `description`, Open Graph, etc.) reflects a manually configured value versus a computed\ndefault/pattern \u2014 standard tags always resolve with `custom: false`, even when their content comes\nfrom a page's manually saved SEO title/description override. Don't use this field to verify whether\na live page reflects a manual per-page SEO edit.\n\nLimitation: when `ResolveStaticPageSeoTags` is called without `seoData`, the per-page SEO data is read\nonly from the Vibe/Wix-managed-headless override store. That store holds nothing for classic Wix Editor\nor Wix Studio pages, so even genuine Advanced/Custom Tags saved on those pages are missing from the\nresponse entirely \u2014 there, `false` means this API could not tell, not that no custom tag exists.\nPass `seoData` explicitly to resolve against a known set of tags."
|
|
567
589
|
).optional(),
|
|
568
|
-
disabled: z.boolean().describe(
|
|
590
|
+
disabled: /* @__PURE__ */ z.boolean().describe(
|
|
569
591
|
"Whether the tag is disabled. If the tag is disabled, people can't find your page when searching for this phrase in search engines."
|
|
570
592
|
).optional()
|
|
571
593
|
})
|
|
572
594
|
).optional(),
|
|
573
|
-
settings: z.object({
|
|
574
|
-
preventAutoRedirect: z.boolean().describe(
|
|
595
|
+
settings: /* @__PURE__ */ z.object({
|
|
596
|
+
preventAutoRedirect: /* @__PURE__ */ z.boolean().describe(
|
|
575
597
|
"Whether the [automatical redirect visits](https://support.wix.com/en/article/customizing-your-pages-seo-settings-in-the-seo-panel) from the old URL to the new one is enabled.\n\n\nDefault: `false` (automatical redirect is enabled)."
|
|
576
598
|
).optional(),
|
|
577
|
-
keywords: z.array(
|
|
578
|
-
z.object({
|
|
579
|
-
term: z.string().describe("Keyword value.").optional(),
|
|
580
|
-
isMain: z.boolean().describe(
|
|
599
|
+
keywords: /* @__PURE__ */ z.array(
|
|
600
|
+
/* @__PURE__ */ z.object({
|
|
601
|
+
term: /* @__PURE__ */ z.string().describe("Keyword value.").optional(),
|
|
602
|
+
isMain: /* @__PURE__ */ z.boolean().describe(
|
|
581
603
|
"Whether the keyword is the main focus keyword."
|
|
582
604
|
).optional(),
|
|
583
|
-
origin: z.string().describe(
|
|
605
|
+
origin: /* @__PURE__ */ z.string().describe(
|
|
584
606
|
"The source that added the keyword terms to the SEO settings."
|
|
585
607
|
).max(1e3).optional().nullable()
|
|
586
608
|
})
|
|
587
609
|
).max(5).optional()
|
|
588
610
|
}).describe("SEO general settings.").optional()
|
|
589
611
|
}).describe("Custom SEO data for the category.").optional(),
|
|
590
|
-
richContentDescription: z.any().describe(
|
|
612
|
+
richContentDescription: /* @__PURE__ */ z.any().describe(
|
|
591
613
|
'Category description using rich content.\n> **Note:** Returned only when you pass `"RICH_CONTENT_DESCRIPTION"` to the `fields` array in Categories API requests.\n\n<widget src="https://apps.wix.com/_serverless/ricos-playground-services/goto/api-component" plugins="indent.emoji.divider.codeBlock.file.gallery.giphy.image.table.link.textHighlight.textColor" exampleid="7dc9240e-d548-417a-abcf-0291b68b4303">\n<a href="https://dev.wix.com/docs/ricos/api-reference/ricos-document">See Ricos document reference</a>\n</widget>'
|
|
592
614
|
).optional(),
|
|
593
|
-
treeReference: z.object({
|
|
594
|
-
appNamespace: z.string().describe(
|
|
615
|
+
treeReference: /* @__PURE__ */ z.object({
|
|
616
|
+
appNamespace: /* @__PURE__ */ z.string().describe(
|
|
595
617
|
'Namespace of the app whose catalog this category tree belongs to.\n\nCurrently, only `"@wix/stores"` is supported.'
|
|
596
618
|
).min(4).max(150).optional(),
|
|
597
|
-
treeKey: z.string().describe(
|
|
619
|
+
treeKey: /* @__PURE__ */ z.string().describe(
|
|
598
620
|
"Key to differentiate between multiple trees managed by the same app.\n\nFor Wix Stores, pass `null` or omit this field, as each store has only one category tree."
|
|
599
621
|
).min(1).max(44).optional().nullable()
|
|
600
622
|
}).describe(
|
|
601
623
|
'Reference to the category tree this category belongs to.\n\nWhen working with Wix Stores categories, always pass `appNamespace: "@wix/stores"` and `treeKey: null`.'
|
|
602
624
|
).optional(),
|
|
603
|
-
managingAppId: z.string().describe(
|
|
625
|
+
managingAppId: /* @__PURE__ */ z.string().describe(
|
|
604
626
|
"ID of the app responsible for managing items in this category.\n\nWhen set, only the specified app can add or remove items from this category. This is useful for third-party apps that want to create categories exclusively managed by their app, preventing site owners or other apps from modifying the category's items.\n\nYou can get your app's ID from the [app dashboard](https://dev.wix.com/dc3/my-apps/)."
|
|
605
627
|
).regex(
|
|
606
628
|
/^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}$/,
|
|
607
629
|
"Must be a valid GUID"
|
|
608
630
|
).optional().nullable(),
|
|
609
|
-
extendedFields: z.object({
|
|
610
|
-
namespaces:
|
|
631
|
+
extendedFields: /* @__PURE__ */ z.object({
|
|
632
|
+
namespaces: /* @__PURE__ */ z.record(
|
|
633
|
+
/* @__PURE__ */ z.string(),
|
|
634
|
+
/* @__PURE__ */ z.record(
|
|
635
|
+
/* @__PURE__ */ z.string(),
|
|
636
|
+
/* @__PURE__ */ z.any()
|
|
637
|
+
)
|
|
638
|
+
).describe(
|
|
611
639
|
"Extended field data. Each key corresponds to the namespace of the app that created the extended fields.\nThe value of each key is structured according to the schema defined when the extended fields were configured.\n\nYou can only access fields for which you have the appropriate permissions.\n\nLearn more about [extended fields](https://dev.wix.com/docs/rest/articles/getting-started/extended-fields)."
|
|
612
640
|
).optional()
|
|
613
641
|
}).describe(
|
|
@@ -616,256 +644,272 @@ var GetCategoryBySlugResponse = /* @__PURE__ */ z.object({
|
|
|
616
644
|
}).describe("Category.").optional()
|
|
617
645
|
});
|
|
618
646
|
var UpdateCategoryRequest = /* @__PURE__ */ z.object({
|
|
619
|
-
_id: z.string().describe("Category ID.").regex(
|
|
647
|
+
_id: /* @__PURE__ */ z.string().describe("Category ID.").regex(
|
|
620
648
|
/^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}$/,
|
|
621
649
|
"Must be a valid GUID"
|
|
622
650
|
),
|
|
623
|
-
category: z.object({
|
|
624
|
-
_id: z.string().describe("Category ID.").regex(
|
|
651
|
+
category: /* @__PURE__ */ z.object({
|
|
652
|
+
_id: /* @__PURE__ */ z.string().describe("Category ID.").regex(
|
|
625
653
|
/^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}$/,
|
|
626
654
|
"Must be a valid GUID"
|
|
627
655
|
).optional().nullable(),
|
|
628
|
-
revision: z.string().regex(/^-?\d+$/, "Must be a valid Int64 string").describe(
|
|
656
|
+
revision: /* @__PURE__ */ z.string().regex(/^-?\d+$/, "Must be a valid Int64 string").describe(
|
|
629
657
|
"Revision number, which increments by 1 each time the category is updated.\nTo prevent conflicting changes, the current revision must be passed when updating.\n\nIgnored when creating a category."
|
|
630
658
|
),
|
|
631
|
-
_createdDate: z.date().describe("Date and time the category was created.").optional().nullable(),
|
|
632
|
-
_updatedDate: z.date().describe("Date and time the category was updated.").optional().nullable(),
|
|
633
|
-
name: z.string().describe("Category name.").min(1).max(80).optional().nullable(),
|
|
634
|
-
image: z.string().describe(
|
|
659
|
+
_createdDate: /* @__PURE__ */ z.date().describe("Date and time the category was created.").optional().nullable(),
|
|
660
|
+
_updatedDate: /* @__PURE__ */ z.date().describe("Date and time the category was updated.").optional().nullable(),
|
|
661
|
+
name: /* @__PURE__ */ z.string().describe("Category name.").min(1).max(80).optional().nullable(),
|
|
662
|
+
image: /* @__PURE__ */ z.string().describe(
|
|
635
663
|
"Category image.\n\n+ Pass WixMedia image ID for media previously saved in the [Wix Media Manager](https://support.wix.com/en/article/wix-media-about-the-media-manager).\n+ Pass full image URL to upload to Wix Media Manager."
|
|
636
664
|
).optional(),
|
|
637
|
-
itemCounter: z.number().int().describe(
|
|
665
|
+
itemCounter: /* @__PURE__ */ z.number().int().describe(
|
|
638
666
|
"Number of items directly assigned to this category. Doesn't include items in subcategories."
|
|
639
667
|
).optional(),
|
|
640
|
-
description: z.string().describe(
|
|
668
|
+
description: /* @__PURE__ */ z.string().describe(
|
|
641
669
|
'Plain-text category description.\n\nReturned only when you pass `"DESCRIPTION"` to the `fields` array.'
|
|
642
670
|
).min(1).max(600).optional().nullable(),
|
|
643
|
-
visible: z.boolean().describe(
|
|
671
|
+
visible: /* @__PURE__ */ z.boolean().describe(
|
|
644
672
|
"Whether the category is visible to site visitors.\n\nVisibility cascades to subcategories: if a parent category's visibility is set to `false`, all its subcategories become hidden as well.\nSetting a subcategory's visibility to `true` fails if any of its parent categories are hidden.\n\n> **Notes:**\n> 1. Hidden categories and their items are still accessible via API calls. For example, List Items In Category returns items even for hidden categories.\n> 2. The `visible` field can only be changed using the [Update Category Visibility](https://dev.wix.com/docs/api-reference/business-solutions/stores/catalog-v3/categories/update-category-visibility) method.\n> 3. Default: `true`"
|
|
645
673
|
).optional().nullable(),
|
|
646
|
-
breadcrumbsInfo: z.object({
|
|
647
|
-
breadcrumbs: z.array(
|
|
648
|
-
z.object({
|
|
649
|
-
categoryId: z.string().describe("Ancestor category ID.").regex(
|
|
674
|
+
breadcrumbsInfo: /* @__PURE__ */ z.object({
|
|
675
|
+
breadcrumbs: /* @__PURE__ */ z.array(
|
|
676
|
+
/* @__PURE__ */ z.object({
|
|
677
|
+
categoryId: /* @__PURE__ */ z.string().describe("Ancestor category ID.").regex(
|
|
650
678
|
/^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}$/,
|
|
651
679
|
"Must be a valid GUID"
|
|
652
680
|
).optional(),
|
|
653
|
-
categoryName: z.string().describe("Ancestor category name.").min(1).max(80).optional(),
|
|
654
|
-
categorySlug: z.string().describe("Ancestor category slug.").min(1).max(100).optional()
|
|
681
|
+
categoryName: /* @__PURE__ */ z.string().describe("Ancestor category name.").min(1).max(80).optional(),
|
|
682
|
+
categorySlug: /* @__PURE__ */ z.string().describe("Ancestor category slug.").min(1).max(100).optional()
|
|
655
683
|
})
|
|
656
684
|
).max(5).optional()
|
|
657
685
|
}).describe(
|
|
658
686
|
'Category breadcrumbs, representing the path from the top-level ancestor category down to the parent of the current category.\n\nBreadcrumbs are useful for building navigation UI and for SEO purposes. For top-level categories, the breadcrumbs list is empty.\n\nReturned only when you pass `"BREADCRUMBS_INFO"` to the `fields` array.'
|
|
659
687
|
).optional(),
|
|
660
|
-
parentCategory: z.object({
|
|
661
|
-
_id: z.string().describe(
|
|
688
|
+
parentCategory: /* @__PURE__ */ z.object({
|
|
689
|
+
_id: /* @__PURE__ */ z.string().describe(
|
|
662
690
|
"ID of the parent category.\n\nLeave empty or omit to create a top-level category."
|
|
663
691
|
).regex(
|
|
664
692
|
/^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}$/,
|
|
665
693
|
"Must be a valid GUID"
|
|
666
694
|
).optional().nullable(),
|
|
667
|
-
index: z.number().int().describe(
|
|
695
|
+
index: /* @__PURE__ */ z.number().int().describe(
|
|
668
696
|
"Position of this category among its sibling categories within the parent."
|
|
669
697
|
).optional().nullable()
|
|
670
698
|
}).describe(
|
|
671
699
|
"Information about the category's parent. Top-level categories don't have a parent."
|
|
672
700
|
).optional(),
|
|
673
|
-
slug: z.string().describe(
|
|
701
|
+
slug: /* @__PURE__ */ z.string().describe(
|
|
674
702
|
"Category slug. A URL-friendly identifier used in the category page address.\n\nIf not provided, the slug is autogenerated based on the category name."
|
|
675
703
|
).min(1).max(300).optional().nullable(),
|
|
676
|
-
seoData: z.object({
|
|
677
|
-
tags: z.array(
|
|
678
|
-
z.object({
|
|
679
|
-
type: z.string().describe(
|
|
704
|
+
seoData: /* @__PURE__ */ z.object({
|
|
705
|
+
tags: /* @__PURE__ */ z.array(
|
|
706
|
+
/* @__PURE__ */ z.object({
|
|
707
|
+
type: /* @__PURE__ */ z.string().describe(
|
|
680
708
|
"SEO tag type.\n\n\nSupported values: `title`, `meta`, `script`, `link`.\n\nWhich of these an API actually accepts depends on where the tag is being set: this\nlist is not a blanket guarantee across every API that reuses this message. Site SEO\nTags in particular accepts only `meta` (see `SiteSeoTags.tags`) and rejects\n`title`/`script`/`link` with a validation error even though they appear here \u2014\ncheck the field description of the specific `tags`-typed field you're writing to\nfor the types it actually supports and the error it returns.\n\nLimitation: `title` and `script` (e.g. a `script` tag with `props.type`\n`\"application/ld+json\"` carrying structured data) are supported only when\n`custom` is unset or `false`. Setting `custom: true` on a `title` or `script`\ntag is rejected with `TAG_TYPE_NOT_ALLOWED`, because `custom: true` routes the\nwrite through the site's Advanced/Custom Tags list. To write structured data,\nomit `custom` (or set it to `false`)."
|
|
681
709
|
).optional(),
|
|
682
|
-
props: z.record(z.string(), z.any()).describe(
|
|
710
|
+
props: /* @__PURE__ */ z.record(/* @__PURE__ */ z.string(), /* @__PURE__ */ z.any()).describe(
|
|
683
711
|
'A `{"key": "value"}` pair object where each SEO tag property (`"name"`, `"content"`, `"rel"`, `"href"`) contains a value.\nFor example: `{"name": "description", "content": "the description itself"}`.'
|
|
684
712
|
).optional().nullable(),
|
|
685
|
-
meta: z.record(z.string(), z.any()).describe(
|
|
713
|
+
meta: /* @__PURE__ */ z.record(/* @__PURE__ */ z.string(), /* @__PURE__ */ z.any()).describe(
|
|
686
714
|
'SEO tag metadata. For example, `{"height": 300, "width": 240}`.'
|
|
687
715
|
).optional().nullable(),
|
|
688
|
-
children: z.string().describe(
|
|
716
|
+
children: /* @__PURE__ */ z.string().describe(
|
|
689
717
|
"SEO tag inner content. For example, `<title> inner content </title>`."
|
|
690
718
|
).optional(),
|
|
691
|
-
custom: z.boolean().describe(
|
|
719
|
+
custom: /* @__PURE__ */ z.boolean().describe(
|
|
692
720
|
"Whether the tag is a [custom tag](https://support.wix.com/en/article/adding-additional-meta-tags-to-your-sites-pages) \u2014\ni.e. an entry from the site's Advanced/Custom Tags list.\n\nSetting this to `true` on a write restricts which `type` values are accepted\n\u2014 the same restriction the Advanced/Custom Tags UI enforces. `title` and\n`script` tags (including JSON-LD structured data) must be sent with `custom`\nomitted or `false`; sending them with `custom: true` is rejected with\n`TAG_TYPE_NOT_ALLOWED`.\n\nNote this is a separate restriction from Site SEO Tags' own type restriction on\n`SiteSeoTags.tags`: even with `custom` unset, Site SEO Tags rejects `script` (e.g.\nfor site-wide structured data) unconditionally. There is currently no way to set\nsite-wide, every-page structured data through any of these APIs \u2014 write a per-page\n`script` tag through the Item SEO Tags API instead.\n\nThis flag is scoped to that feature only. It is NOT an indicator of whether a standard tag\n(`title`, `description`, Open Graph, etc.) reflects a manually configured value versus a computed\ndefault/pattern \u2014 standard tags always resolve with `custom: false`, even when their content comes\nfrom a page's manually saved SEO title/description override. Don't use this field to verify whether\na live page reflects a manual per-page SEO edit.\n\nLimitation: when `ResolveStaticPageSeoTags` is called without `seoData`, the per-page SEO data is read\nonly from the Vibe/Wix-managed-headless override store. That store holds nothing for classic Wix Editor\nor Wix Studio pages, so even genuine Advanced/Custom Tags saved on those pages are missing from the\nresponse entirely \u2014 there, `false` means this API could not tell, not that no custom tag exists.\nPass `seoData` explicitly to resolve against a known set of tags."
|
|
693
721
|
).optional(),
|
|
694
|
-
disabled: z.boolean().describe(
|
|
722
|
+
disabled: /* @__PURE__ */ z.boolean().describe(
|
|
695
723
|
"Whether the tag is disabled. If the tag is disabled, people can't find your page when searching for this phrase in search engines."
|
|
696
724
|
).optional()
|
|
697
725
|
})
|
|
698
726
|
).optional(),
|
|
699
|
-
settings: z.object({
|
|
700
|
-
preventAutoRedirect: z.boolean().describe(
|
|
727
|
+
settings: /* @__PURE__ */ z.object({
|
|
728
|
+
preventAutoRedirect: /* @__PURE__ */ z.boolean().describe(
|
|
701
729
|
"Whether the [automatical redirect visits](https://support.wix.com/en/article/customizing-your-pages-seo-settings-in-the-seo-panel) from the old URL to the new one is enabled.\n\n\nDefault: `false` (automatical redirect is enabled)."
|
|
702
730
|
).optional(),
|
|
703
|
-
keywords: z.array(
|
|
704
|
-
z.object({
|
|
705
|
-
term: z.string().describe("Keyword value.").optional(),
|
|
706
|
-
isMain: z.boolean().describe(
|
|
731
|
+
keywords: /* @__PURE__ */ z.array(
|
|
732
|
+
/* @__PURE__ */ z.object({
|
|
733
|
+
term: /* @__PURE__ */ z.string().describe("Keyword value.").optional(),
|
|
734
|
+
isMain: /* @__PURE__ */ z.boolean().describe(
|
|
707
735
|
"Whether the keyword is the main focus keyword."
|
|
708
736
|
).optional(),
|
|
709
|
-
origin: z.string().describe(
|
|
737
|
+
origin: /* @__PURE__ */ z.string().describe(
|
|
710
738
|
"The source that added the keyword terms to the SEO settings."
|
|
711
739
|
).max(1e3).optional().nullable()
|
|
712
740
|
})
|
|
713
741
|
).max(5).optional()
|
|
714
742
|
}).describe("SEO general settings.").optional()
|
|
715
743
|
}).describe("Custom SEO data for the category.").optional(),
|
|
716
|
-
richContentDescription: z.any().describe(
|
|
744
|
+
richContentDescription: /* @__PURE__ */ z.any().describe(
|
|
717
745
|
'Category description using rich content.\n> **Note:** Returned only when you pass `"RICH_CONTENT_DESCRIPTION"` to the `fields` array in Categories API requests.\n\n<widget src="https://apps.wix.com/_serverless/ricos-playground-services/goto/api-component" plugins="indent.emoji.divider.codeBlock.file.gallery.giphy.image.table.link.textHighlight.textColor" exampleid="7dc9240e-d548-417a-abcf-0291b68b4303">\n<a href="https://dev.wix.com/docs/ricos/api-reference/ricos-document">See Ricos document reference</a>\n</widget>'
|
|
718
746
|
).optional(),
|
|
719
|
-
treeReference: z.object({
|
|
720
|
-
appNamespace: z.string().describe(
|
|
747
|
+
treeReference: /* @__PURE__ */ z.object({
|
|
748
|
+
appNamespace: /* @__PURE__ */ z.string().describe(
|
|
721
749
|
'Namespace of the app whose catalog this category tree belongs to.\n\nCurrently, only `"@wix/stores"` is supported.'
|
|
722
750
|
).min(4).max(150).optional(),
|
|
723
|
-
treeKey: z.string().describe(
|
|
751
|
+
treeKey: /* @__PURE__ */ z.string().describe(
|
|
724
752
|
"Key to differentiate between multiple trees managed by the same app.\n\nFor Wix Stores, pass `null` or omit this field, as each store has only one category tree."
|
|
725
753
|
).min(1).max(44).optional().nullable()
|
|
726
754
|
}).describe(
|
|
727
755
|
'Reference to the category tree this category belongs to.\n\nWhen working with Wix Stores categories, always pass `appNamespace: "@wix/stores"` and `treeKey: null`.'
|
|
728
756
|
).optional(),
|
|
729
|
-
managingAppId: z.string().describe(
|
|
757
|
+
managingAppId: /* @__PURE__ */ z.string().describe(
|
|
730
758
|
"ID of the app responsible for managing items in this category.\n\nWhen set, only the specified app can add or remove items from this category. This is useful for third-party apps that want to create categories exclusively managed by their app, preventing site owners or other apps from modifying the category's items.\n\nYou can get your app's ID from the [app dashboard](https://dev.wix.com/dc3/my-apps/)."
|
|
731
759
|
).regex(
|
|
732
760
|
/^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}$/,
|
|
733
761
|
"Must be a valid GUID"
|
|
734
762
|
).optional().nullable(),
|
|
735
|
-
extendedFields: z.object({
|
|
736
|
-
namespaces:
|
|
763
|
+
extendedFields: /* @__PURE__ */ z.object({
|
|
764
|
+
namespaces: /* @__PURE__ */ z.record(
|
|
765
|
+
/* @__PURE__ */ z.string(),
|
|
766
|
+
/* @__PURE__ */ z.record(
|
|
767
|
+
/* @__PURE__ */ z.string(),
|
|
768
|
+
/* @__PURE__ */ z.any()
|
|
769
|
+
)
|
|
770
|
+
).describe(
|
|
737
771
|
"Extended field data. Each key corresponds to the namespace of the app that created the extended fields.\nThe value of each key is structured according to the schema defined when the extended fields were configured.\n\nYou can only access fields for which you have the appropriate permissions.\n\nLearn more about [extended fields](https://dev.wix.com/docs/rest/articles/getting-started/extended-fields)."
|
|
738
772
|
).optional()
|
|
739
773
|
}).describe(
|
|
740
774
|
"Custom extended fields for the category object.\n\n[Extended fields](https://dev.wix.com/docs/build-apps/develop-your-app/extensions/backend-extensions/schema-plugins/about-schema-plugin-extensions) must be configured in the [app dashboard](https://dev.wix.com/dc3/my-apps/) before they can be accessed with API calls."
|
|
741
775
|
).optional()
|
|
742
776
|
}).describe("Category to update."),
|
|
743
|
-
options: z.object({
|
|
744
|
-
treeReference: z.object({
|
|
745
|
-
appNamespace: z.string().describe(
|
|
777
|
+
options: /* @__PURE__ */ z.object({
|
|
778
|
+
treeReference: /* @__PURE__ */ z.object({
|
|
779
|
+
appNamespace: /* @__PURE__ */ z.string().describe(
|
|
746
780
|
'Namespace of the app whose catalog this category tree belongs to.\n\nCurrently, only `"@wix/stores"` is supported.'
|
|
747
781
|
).min(4).max(150).optional(),
|
|
748
|
-
treeKey: z.string().describe(
|
|
782
|
+
treeKey: /* @__PURE__ */ z.string().describe(
|
|
749
783
|
"Key to differentiate between multiple trees managed by the same app.\n\nFor Wix Stores, pass `null` or omit this field, as each store has only one category tree."
|
|
750
784
|
).min(1).max(44).optional().nullable()
|
|
751
785
|
}).describe("Category tree reference details."),
|
|
752
|
-
fields: z.array(
|
|
753
|
-
z.enum([
|
|
786
|
+
fields: /* @__PURE__ */ z.array(
|
|
787
|
+
/* @__PURE__ */ z.enum([
|
|
788
|
+
"BREADCRUMBS_INFO",
|
|
789
|
+
"DESCRIPTION",
|
|
790
|
+
"RICH_CONTENT_DESCRIPTION"
|
|
791
|
+
])
|
|
754
792
|
).max(100).optional()
|
|
755
793
|
})
|
|
756
794
|
});
|
|
757
795
|
var UpdateCategoryResponse = /* @__PURE__ */ z.object({
|
|
758
|
-
_id: z.string().describe("Category ID.").regex(
|
|
796
|
+
_id: /* @__PURE__ */ z.string().describe("Category ID.").regex(
|
|
759
797
|
/^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}$/,
|
|
760
798
|
"Must be a valid GUID"
|
|
761
799
|
).optional().nullable(),
|
|
762
|
-
revision: z.string().regex(/^-?\d+$/, "Must be a valid Int64 string").describe(
|
|
800
|
+
revision: /* @__PURE__ */ z.string().regex(/^-?\d+$/, "Must be a valid Int64 string").describe(
|
|
763
801
|
"Revision number, which increments by 1 each time the category is updated.\nTo prevent conflicting changes, the current revision must be passed when updating.\n\nIgnored when creating a category."
|
|
764
802
|
).optional().nullable(),
|
|
765
|
-
_createdDate: z.date().describe("Date and time the category was created.").optional().nullable(),
|
|
766
|
-
_updatedDate: z.date().describe("Date and time the category was updated.").optional().nullable(),
|
|
767
|
-
name: z.string().describe("Category name.").min(1).max(80).optional().nullable(),
|
|
768
|
-
image: z.string().describe(
|
|
803
|
+
_createdDate: /* @__PURE__ */ z.date().describe("Date and time the category was created.").optional().nullable(),
|
|
804
|
+
_updatedDate: /* @__PURE__ */ z.date().describe("Date and time the category was updated.").optional().nullable(),
|
|
805
|
+
name: /* @__PURE__ */ z.string().describe("Category name.").min(1).max(80).optional().nullable(),
|
|
806
|
+
image: /* @__PURE__ */ z.string().describe(
|
|
769
807
|
"Category image.\n\n+ Pass WixMedia image ID for media previously saved in the [Wix Media Manager](https://support.wix.com/en/article/wix-media-about-the-media-manager).\n+ Pass full image URL to upload to Wix Media Manager."
|
|
770
808
|
).optional(),
|
|
771
|
-
itemCounter: z.number().int().describe(
|
|
809
|
+
itemCounter: /* @__PURE__ */ z.number().int().describe(
|
|
772
810
|
"Number of items directly assigned to this category. Doesn't include items in subcategories."
|
|
773
811
|
).optional(),
|
|
774
|
-
description: z.string().describe(
|
|
812
|
+
description: /* @__PURE__ */ z.string().describe(
|
|
775
813
|
'Plain-text category description.\n\nReturned only when you pass `"DESCRIPTION"` to the `fields` array.'
|
|
776
814
|
).min(1).max(600).optional().nullable(),
|
|
777
|
-
visible: z.boolean().describe(
|
|
815
|
+
visible: /* @__PURE__ */ z.boolean().describe(
|
|
778
816
|
"Whether the category is visible to site visitors.\n\nVisibility cascades to subcategories: if a parent category's visibility is set to `false`, all its subcategories become hidden as well.\nSetting a subcategory's visibility to `true` fails if any of its parent categories are hidden.\n\n> **Notes:**\n> 1. Hidden categories and their items are still accessible via API calls. For example, List Items In Category returns items even for hidden categories.\n> 2. The `visible` field can only be changed using the [Update Category Visibility](https://dev.wix.com/docs/api-reference/business-solutions/stores/catalog-v3/categories/update-category-visibility) method.\n> 3. Default: `true`"
|
|
779
817
|
).optional().nullable(),
|
|
780
|
-
breadcrumbsInfo: z.object({
|
|
781
|
-
breadcrumbs: z.array(
|
|
782
|
-
z.object({
|
|
783
|
-
categoryId: z.string().describe("Ancestor category ID.").regex(
|
|
818
|
+
breadcrumbsInfo: /* @__PURE__ */ z.object({
|
|
819
|
+
breadcrumbs: /* @__PURE__ */ z.array(
|
|
820
|
+
/* @__PURE__ */ z.object({
|
|
821
|
+
categoryId: /* @__PURE__ */ z.string().describe("Ancestor category ID.").regex(
|
|
784
822
|
/^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}$/,
|
|
785
823
|
"Must be a valid GUID"
|
|
786
824
|
).optional(),
|
|
787
|
-
categoryName: z.string().describe("Ancestor category name.").min(1).max(80).optional(),
|
|
788
|
-
categorySlug: z.string().describe("Ancestor category slug.").min(1).max(100).optional()
|
|
825
|
+
categoryName: /* @__PURE__ */ z.string().describe("Ancestor category name.").min(1).max(80).optional(),
|
|
826
|
+
categorySlug: /* @__PURE__ */ z.string().describe("Ancestor category slug.").min(1).max(100).optional()
|
|
789
827
|
})
|
|
790
828
|
).max(5).optional()
|
|
791
829
|
}).describe(
|
|
792
830
|
'Category breadcrumbs, representing the path from the top-level ancestor category down to the parent of the current category.\n\nBreadcrumbs are useful for building navigation UI and for SEO purposes. For top-level categories, the breadcrumbs list is empty.\n\nReturned only when you pass `"BREADCRUMBS_INFO"` to the `fields` array.'
|
|
793
831
|
).optional(),
|
|
794
|
-
parentCategory: z.object({
|
|
795
|
-
_id: z.string().describe(
|
|
832
|
+
parentCategory: /* @__PURE__ */ z.object({
|
|
833
|
+
_id: /* @__PURE__ */ z.string().describe(
|
|
796
834
|
"ID of the parent category.\n\nLeave empty or omit to create a top-level category."
|
|
797
835
|
).regex(
|
|
798
836
|
/^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}$/,
|
|
799
837
|
"Must be a valid GUID"
|
|
800
838
|
).optional().nullable(),
|
|
801
|
-
index: z.number().int().describe(
|
|
839
|
+
index: /* @__PURE__ */ z.number().int().describe(
|
|
802
840
|
"Position of this category among its sibling categories within the parent."
|
|
803
841
|
).optional().nullable()
|
|
804
842
|
}).describe(
|
|
805
843
|
"Information about the category's parent. Top-level categories don't have a parent."
|
|
806
844
|
).optional(),
|
|
807
|
-
slug: z.string().describe(
|
|
845
|
+
slug: /* @__PURE__ */ z.string().describe(
|
|
808
846
|
"Category slug. A URL-friendly identifier used in the category page address.\n\nIf not provided, the slug is autogenerated based on the category name."
|
|
809
847
|
).min(1).max(300).optional().nullable(),
|
|
810
|
-
seoData: z.object({
|
|
811
|
-
tags: z.array(
|
|
812
|
-
z.object({
|
|
813
|
-
type: z.string().describe(
|
|
848
|
+
seoData: /* @__PURE__ */ z.object({
|
|
849
|
+
tags: /* @__PURE__ */ z.array(
|
|
850
|
+
/* @__PURE__ */ z.object({
|
|
851
|
+
type: /* @__PURE__ */ z.string().describe(
|
|
814
852
|
"SEO tag type.\n\n\nSupported values: `title`, `meta`, `script`, `link`.\n\nWhich of these an API actually accepts depends on where the tag is being set: this\nlist is not a blanket guarantee across every API that reuses this message. Site SEO\nTags in particular accepts only `meta` (see `SiteSeoTags.tags`) and rejects\n`title`/`script`/`link` with a validation error even though they appear here \u2014\ncheck the field description of the specific `tags`-typed field you're writing to\nfor the types it actually supports and the error it returns.\n\nLimitation: `title` and `script` (e.g. a `script` tag with `props.type`\n`\"application/ld+json\"` carrying structured data) are supported only when\n`custom` is unset or `false`. Setting `custom: true` on a `title` or `script`\ntag is rejected with `TAG_TYPE_NOT_ALLOWED`, because `custom: true` routes the\nwrite through the site's Advanced/Custom Tags list. To write structured data,\nomit `custom` (or set it to `false`)."
|
|
815
853
|
).optional(),
|
|
816
|
-
props: z.record(z.string(), z.any()).describe(
|
|
854
|
+
props: /* @__PURE__ */ z.record(/* @__PURE__ */ z.string(), /* @__PURE__ */ z.any()).describe(
|
|
817
855
|
'A `{"key": "value"}` pair object where each SEO tag property (`"name"`, `"content"`, `"rel"`, `"href"`) contains a value.\nFor example: `{"name": "description", "content": "the description itself"}`.'
|
|
818
856
|
).optional().nullable(),
|
|
819
|
-
meta: z.record(z.string(), z.any()).describe(
|
|
857
|
+
meta: /* @__PURE__ */ z.record(/* @__PURE__ */ z.string(), /* @__PURE__ */ z.any()).describe(
|
|
820
858
|
'SEO tag metadata. For example, `{"height": 300, "width": 240}`.'
|
|
821
859
|
).optional().nullable(),
|
|
822
|
-
children: z.string().describe(
|
|
860
|
+
children: /* @__PURE__ */ z.string().describe(
|
|
823
861
|
"SEO tag inner content. For example, `<title> inner content </title>`."
|
|
824
862
|
).optional(),
|
|
825
|
-
custom: z.boolean().describe(
|
|
863
|
+
custom: /* @__PURE__ */ z.boolean().describe(
|
|
826
864
|
"Whether the tag is a [custom tag](https://support.wix.com/en/article/adding-additional-meta-tags-to-your-sites-pages) \u2014\ni.e. an entry from the site's Advanced/Custom Tags list.\n\nSetting this to `true` on a write restricts which `type` values are accepted\n\u2014 the same restriction the Advanced/Custom Tags UI enforces. `title` and\n`script` tags (including JSON-LD structured data) must be sent with `custom`\nomitted or `false`; sending them with `custom: true` is rejected with\n`TAG_TYPE_NOT_ALLOWED`.\n\nNote this is a separate restriction from Site SEO Tags' own type restriction on\n`SiteSeoTags.tags`: even with `custom` unset, Site SEO Tags rejects `script` (e.g.\nfor site-wide structured data) unconditionally. There is currently no way to set\nsite-wide, every-page structured data through any of these APIs \u2014 write a per-page\n`script` tag through the Item SEO Tags API instead.\n\nThis flag is scoped to that feature only. It is NOT an indicator of whether a standard tag\n(`title`, `description`, Open Graph, etc.) reflects a manually configured value versus a computed\ndefault/pattern \u2014 standard tags always resolve with `custom: false`, even when their content comes\nfrom a page's manually saved SEO title/description override. Don't use this field to verify whether\na live page reflects a manual per-page SEO edit.\n\nLimitation: when `ResolveStaticPageSeoTags` is called without `seoData`, the per-page SEO data is read\nonly from the Vibe/Wix-managed-headless override store. That store holds nothing for classic Wix Editor\nor Wix Studio pages, so even genuine Advanced/Custom Tags saved on those pages are missing from the\nresponse entirely \u2014 there, `false` means this API could not tell, not that no custom tag exists.\nPass `seoData` explicitly to resolve against a known set of tags."
|
|
827
865
|
).optional(),
|
|
828
|
-
disabled: z.boolean().describe(
|
|
866
|
+
disabled: /* @__PURE__ */ z.boolean().describe(
|
|
829
867
|
"Whether the tag is disabled. If the tag is disabled, people can't find your page when searching for this phrase in search engines."
|
|
830
868
|
).optional()
|
|
831
869
|
})
|
|
832
870
|
).optional(),
|
|
833
|
-
settings: z.object({
|
|
834
|
-
preventAutoRedirect: z.boolean().describe(
|
|
871
|
+
settings: /* @__PURE__ */ z.object({
|
|
872
|
+
preventAutoRedirect: /* @__PURE__ */ z.boolean().describe(
|
|
835
873
|
"Whether the [automatical redirect visits](https://support.wix.com/en/article/customizing-your-pages-seo-settings-in-the-seo-panel) from the old URL to the new one is enabled.\n\n\nDefault: `false` (automatical redirect is enabled)."
|
|
836
874
|
).optional(),
|
|
837
|
-
keywords: z.array(
|
|
838
|
-
z.object({
|
|
839
|
-
term: z.string().describe("Keyword value.").optional(),
|
|
840
|
-
isMain: z.boolean().describe("Whether the keyword is the main focus keyword.").optional(),
|
|
841
|
-
origin: z.string().describe(
|
|
875
|
+
keywords: /* @__PURE__ */ z.array(
|
|
876
|
+
/* @__PURE__ */ z.object({
|
|
877
|
+
term: /* @__PURE__ */ z.string().describe("Keyword value.").optional(),
|
|
878
|
+
isMain: /* @__PURE__ */ z.boolean().describe("Whether the keyword is the main focus keyword.").optional(),
|
|
879
|
+
origin: /* @__PURE__ */ z.string().describe(
|
|
842
880
|
"The source that added the keyword terms to the SEO settings."
|
|
843
881
|
).max(1e3).optional().nullable()
|
|
844
882
|
})
|
|
845
883
|
).max(5).optional()
|
|
846
884
|
}).describe("SEO general settings.").optional()
|
|
847
885
|
}).describe("Custom SEO data for the category.").optional(),
|
|
848
|
-
richContentDescription: z.any().describe(
|
|
886
|
+
richContentDescription: /* @__PURE__ */ z.any().describe(
|
|
849
887
|
'Category description using rich content.\n> **Note:** Returned only when you pass `"RICH_CONTENT_DESCRIPTION"` to the `fields` array in Categories API requests.\n\n<widget src="https://apps.wix.com/_serverless/ricos-playground-services/goto/api-component" plugins="indent.emoji.divider.codeBlock.file.gallery.giphy.image.table.link.textHighlight.textColor" exampleid="7dc9240e-d548-417a-abcf-0291b68b4303">\n<a href="https://dev.wix.com/docs/ricos/api-reference/ricos-document">See Ricos document reference</a>\n</widget>'
|
|
850
888
|
).optional(),
|
|
851
|
-
treeReference: z.object({
|
|
852
|
-
appNamespace: z.string().describe(
|
|
889
|
+
treeReference: /* @__PURE__ */ z.object({
|
|
890
|
+
appNamespace: /* @__PURE__ */ z.string().describe(
|
|
853
891
|
'Namespace of the app whose catalog this category tree belongs to.\n\nCurrently, only `"@wix/stores"` is supported.'
|
|
854
892
|
).min(4).max(150).optional(),
|
|
855
|
-
treeKey: z.string().describe(
|
|
893
|
+
treeKey: /* @__PURE__ */ z.string().describe(
|
|
856
894
|
"Key to differentiate between multiple trees managed by the same app.\n\nFor Wix Stores, pass `null` or omit this field, as each store has only one category tree."
|
|
857
895
|
).min(1).max(44).optional().nullable()
|
|
858
896
|
}).describe(
|
|
859
897
|
'Reference to the category tree this category belongs to.\n\nWhen working with Wix Stores categories, always pass `appNamespace: "@wix/stores"` and `treeKey: null`.'
|
|
860
898
|
).optional(),
|
|
861
|
-
managingAppId: z.string().describe(
|
|
899
|
+
managingAppId: /* @__PURE__ */ z.string().describe(
|
|
862
900
|
"ID of the app responsible for managing items in this category.\n\nWhen set, only the specified app can add or remove items from this category. This is useful for third-party apps that want to create categories exclusively managed by their app, preventing site owners or other apps from modifying the category's items.\n\nYou can get your app's ID from the [app dashboard](https://dev.wix.com/dc3/my-apps/)."
|
|
863
901
|
).regex(
|
|
864
902
|
/^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}$/,
|
|
865
903
|
"Must be a valid GUID"
|
|
866
904
|
).optional().nullable(),
|
|
867
|
-
extendedFields: z.object({
|
|
868
|
-
namespaces:
|
|
905
|
+
extendedFields: /* @__PURE__ */ z.object({
|
|
906
|
+
namespaces: /* @__PURE__ */ z.record(
|
|
907
|
+
/* @__PURE__ */ z.string(),
|
|
908
|
+
/* @__PURE__ */ z.record(
|
|
909
|
+
/* @__PURE__ */ z.string(),
|
|
910
|
+
/* @__PURE__ */ z.any()
|
|
911
|
+
)
|
|
912
|
+
).describe(
|
|
869
913
|
"Extended field data. Each key corresponds to the namespace of the app that created the extended fields.\nThe value of each key is structured according to the schema defined when the extended fields were configured.\n\nYou can only access fields for which you have the appropriate permissions.\n\nLearn more about [extended fields](https://dev.wix.com/docs/rest/articles/getting-started/extended-fields)."
|
|
870
914
|
).optional()
|
|
871
915
|
}).describe(
|
|
@@ -873,39 +917,41 @@ var UpdateCategoryResponse = /* @__PURE__ */ z.object({
|
|
|
873
917
|
).optional()
|
|
874
918
|
});
|
|
875
919
|
var DeleteCategoryRequest = /* @__PURE__ */ z.object({
|
|
876
|
-
categoryId: z.string().describe("Category ID.").regex(
|
|
920
|
+
categoryId: /* @__PURE__ */ z.string().describe("Category ID.").regex(
|
|
877
921
|
/^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}$/,
|
|
878
922
|
"Must be a valid GUID"
|
|
879
923
|
),
|
|
880
|
-
treeReference: z.object({
|
|
881
|
-
appNamespace: z.string().describe(
|
|
924
|
+
treeReference: /* @__PURE__ */ z.object({
|
|
925
|
+
appNamespace: /* @__PURE__ */ z.string().describe(
|
|
882
926
|
'Namespace of the app whose catalog this category tree belongs to.\n\nCurrently, only `"@wix/stores"` is supported.'
|
|
883
927
|
).min(4).max(150),
|
|
884
|
-
treeKey: z.string().describe(
|
|
928
|
+
treeKey: /* @__PURE__ */ z.string().describe(
|
|
885
929
|
"Key to differentiate between multiple trees managed by the same app.\n\nFor Wix Stores, pass `null` or omit this field, as each store has only one category tree."
|
|
886
930
|
).min(1).max(44).optional().nullable()
|
|
887
931
|
}).describe("Category tree reference details.")
|
|
888
932
|
});
|
|
889
933
|
var DeleteCategoryResponse = /* @__PURE__ */ z.object({});
|
|
890
934
|
var QueryCategoriesRequest = /* @__PURE__ */ z.object({
|
|
891
|
-
query: z.intersection(
|
|
892
|
-
z.object({
|
|
893
|
-
filter: z.record(z.string(), z.any()).describe(
|
|
935
|
+
query: /* @__PURE__ */ z.intersection(
|
|
936
|
+
/* @__PURE__ */ z.object({
|
|
937
|
+
filter: /* @__PURE__ */ z.record(/* @__PURE__ */ z.string(), /* @__PURE__ */ z.any()).describe(
|
|
894
938
|
'Filter object in the following format:\n`"filter" : {\n"fieldName1": "value1",\n"fieldName2":{"$operator":"value2"}\n}`\nExample of operators: `$eq`, `$ne`, `$lt`, `$lte`, `$gt`, `$gte`, `$in`, `$hasSome`, `$hasAll`, `$startsWith`, `$contains`'
|
|
895
939
|
).optional().nullable(),
|
|
896
|
-
sort: z.array(
|
|
897
|
-
z.object({
|
|
898
|
-
fieldName: z.string().describe("Name of the field to sort by.").max(512).optional(),
|
|
899
|
-
order: z.enum(["ASC", "DESC"]).optional()
|
|
940
|
+
sort: /* @__PURE__ */ z.array(
|
|
941
|
+
/* @__PURE__ */ z.object({
|
|
942
|
+
fieldName: /* @__PURE__ */ z.string().describe("Name of the field to sort by.").max(512).optional(),
|
|
943
|
+
order: /* @__PURE__ */ z.enum(["ASC", "DESC"]).optional()
|
|
900
944
|
})
|
|
901
945
|
).max(5).optional()
|
|
902
946
|
}),
|
|
903
|
-
z.xor([
|
|
904
|
-
z.object({
|
|
905
|
-
|
|
906
|
-
|
|
907
|
-
|
|
908
|
-
|
|
947
|
+
/* @__PURE__ */ z.xor([
|
|
948
|
+
/* @__PURE__ */ z.object({
|
|
949
|
+
cursorPaging: /* @__PURE__ */ z.never().optional()
|
|
950
|
+
}),
|
|
951
|
+
/* @__PURE__ */ z.object({
|
|
952
|
+
cursorPaging: /* @__PURE__ */ z.object({
|
|
953
|
+
limit: /* @__PURE__ */ z.number().int().describe("Maximum number of items to return in the results.").min(0).max(1e3).optional().nullable(),
|
|
954
|
+
cursor: /* @__PURE__ */ z.string().describe(
|
|
909
955
|
"Pointer to the next or previous page in the list of results.\n\nPass the relevant cursor token from the `pagingMetadata` object in the previous call's response.\nNot relevant for the first request."
|
|
910
956
|
).max(16e3).optional().nullable()
|
|
911
957
|
}).describe(
|
|
@@ -914,139 +960,149 @@ var QueryCategoriesRequest = /* @__PURE__ */ z.object({
|
|
|
914
960
|
})
|
|
915
961
|
])
|
|
916
962
|
).describe("Query options."),
|
|
917
|
-
options: z.object({
|
|
918
|
-
treeReference: z.object({
|
|
919
|
-
appNamespace: z.string().describe(
|
|
963
|
+
options: /* @__PURE__ */ z.object({
|
|
964
|
+
treeReference: /* @__PURE__ */ z.object({
|
|
965
|
+
appNamespace: /* @__PURE__ */ z.string().describe(
|
|
920
966
|
'Namespace of the app whose catalog this category tree belongs to.\n\nCurrently, only `"@wix/stores"` is supported.'
|
|
921
967
|
).min(4).max(150),
|
|
922
|
-
treeKey: z.string().describe(
|
|
968
|
+
treeKey: /* @__PURE__ */ z.string().describe(
|
|
923
969
|
"Key to differentiate between multiple trees managed by the same app.\n\nFor Wix Stores, pass `null` or omit this field, as each store has only one category tree."
|
|
924
970
|
).min(1).max(44).optional().nullable()
|
|
925
971
|
}).describe("Category tree reference details."),
|
|
926
|
-
returnNonVisibleCategories: z.boolean().describe(
|
|
972
|
+
returnNonVisibleCategories: /* @__PURE__ */ z.boolean().describe(
|
|
927
973
|
"Whether to return non-visible categories.\n\nDefault: `false` (only visible categories are returned)"
|
|
928
974
|
).optional(),
|
|
929
|
-
fields: z.array(
|
|
930
|
-
z.enum([
|
|
975
|
+
fields: /* @__PURE__ */ z.array(
|
|
976
|
+
/* @__PURE__ */ z.enum([
|
|
977
|
+
"BREADCRUMBS_INFO",
|
|
978
|
+
"DESCRIPTION",
|
|
979
|
+
"RICH_CONTENT_DESCRIPTION"
|
|
980
|
+
])
|
|
931
981
|
).max(100).optional()
|
|
932
982
|
})
|
|
933
983
|
});
|
|
934
984
|
var QueryCategoriesResponse = /* @__PURE__ */ z.object({
|
|
935
|
-
categories: z.array(
|
|
936
|
-
z.object({
|
|
937
|
-
_id: z.string().describe("Category ID.").regex(
|
|
985
|
+
categories: /* @__PURE__ */ z.array(
|
|
986
|
+
/* @__PURE__ */ z.object({
|
|
987
|
+
_id: /* @__PURE__ */ z.string().describe("Category ID.").regex(
|
|
938
988
|
/^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}$/,
|
|
939
989
|
"Must be a valid GUID"
|
|
940
990
|
).optional().nullable(),
|
|
941
|
-
revision: z.string().regex(/^-?\d+$/, "Must be a valid Int64 string").describe(
|
|
991
|
+
revision: /* @__PURE__ */ z.string().regex(/^-?\d+$/, "Must be a valid Int64 string").describe(
|
|
942
992
|
"Revision number, which increments by 1 each time the category is updated.\nTo prevent conflicting changes, the current revision must be passed when updating.\n\nIgnored when creating a category."
|
|
943
993
|
).optional().nullable(),
|
|
944
|
-
_createdDate: z.date().describe("Date and time the category was created.").optional().nullable(),
|
|
945
|
-
_updatedDate: z.date().describe("Date and time the category was updated.").optional().nullable(),
|
|
946
|
-
name: z.string().describe("Category name.").min(1).max(80).optional().nullable(),
|
|
947
|
-
image: z.string().describe(
|
|
994
|
+
_createdDate: /* @__PURE__ */ z.date().describe("Date and time the category was created.").optional().nullable(),
|
|
995
|
+
_updatedDate: /* @__PURE__ */ z.date().describe("Date and time the category was updated.").optional().nullable(),
|
|
996
|
+
name: /* @__PURE__ */ z.string().describe("Category name.").min(1).max(80).optional().nullable(),
|
|
997
|
+
image: /* @__PURE__ */ z.string().describe(
|
|
948
998
|
"Category image.\n\n+ Pass WixMedia image ID for media previously saved in the [Wix Media Manager](https://support.wix.com/en/article/wix-media-about-the-media-manager).\n+ Pass full image URL to upload to Wix Media Manager."
|
|
949
999
|
).optional(),
|
|
950
|
-
itemCounter: z.number().int().describe(
|
|
1000
|
+
itemCounter: /* @__PURE__ */ z.number().int().describe(
|
|
951
1001
|
"Number of items directly assigned to this category. Doesn't include items in subcategories."
|
|
952
1002
|
).optional(),
|
|
953
|
-
description: z.string().describe(
|
|
1003
|
+
description: /* @__PURE__ */ z.string().describe(
|
|
954
1004
|
'Plain-text category description.\n\nReturned only when you pass `"DESCRIPTION"` to the `fields` array.'
|
|
955
1005
|
).min(1).max(600).optional().nullable(),
|
|
956
|
-
visible: z.boolean().describe(
|
|
1006
|
+
visible: /* @__PURE__ */ z.boolean().describe(
|
|
957
1007
|
"Whether the category is visible to site visitors.\n\nVisibility cascades to subcategories: if a parent category's visibility is set to `false`, all its subcategories become hidden as well.\nSetting a subcategory's visibility to `true` fails if any of its parent categories are hidden.\n\n> **Notes:**\n> 1. Hidden categories and their items are still accessible via API calls. For example, List Items In Category returns items even for hidden categories.\n> 2. The `visible` field can only be changed using the [Update Category Visibility](https://dev.wix.com/docs/api-reference/business-solutions/stores/catalog-v3/categories/update-category-visibility) method.\n> 3. Default: `true`"
|
|
958
1008
|
).optional().nullable(),
|
|
959
|
-
breadcrumbsInfo: z.object({
|
|
960
|
-
breadcrumbs: z.array(
|
|
961
|
-
z.object({
|
|
962
|
-
categoryId: z.string().describe("Ancestor category ID.").regex(
|
|
1009
|
+
breadcrumbsInfo: /* @__PURE__ */ z.object({
|
|
1010
|
+
breadcrumbs: /* @__PURE__ */ z.array(
|
|
1011
|
+
/* @__PURE__ */ z.object({
|
|
1012
|
+
categoryId: /* @__PURE__ */ z.string().describe("Ancestor category ID.").regex(
|
|
963
1013
|
/^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}$/,
|
|
964
1014
|
"Must be a valid GUID"
|
|
965
1015
|
).optional(),
|
|
966
|
-
categoryName: z.string().describe("Ancestor category name.").min(1).max(80).optional(),
|
|
967
|
-
categorySlug: z.string().describe("Ancestor category slug.").min(1).max(100).optional()
|
|
1016
|
+
categoryName: /* @__PURE__ */ z.string().describe("Ancestor category name.").min(1).max(80).optional(),
|
|
1017
|
+
categorySlug: /* @__PURE__ */ z.string().describe("Ancestor category slug.").min(1).max(100).optional()
|
|
968
1018
|
})
|
|
969
1019
|
).max(5).optional()
|
|
970
1020
|
}).describe(
|
|
971
1021
|
'Category breadcrumbs, representing the path from the top-level ancestor category down to the parent of the current category.\n\nBreadcrumbs are useful for building navigation UI and for SEO purposes. For top-level categories, the breadcrumbs list is empty.\n\nReturned only when you pass `"BREADCRUMBS_INFO"` to the `fields` array.'
|
|
972
1022
|
).optional(),
|
|
973
|
-
parentCategory: z.object({
|
|
974
|
-
_id: z.string().describe(
|
|
1023
|
+
parentCategory: /* @__PURE__ */ z.object({
|
|
1024
|
+
_id: /* @__PURE__ */ z.string().describe(
|
|
975
1025
|
"ID of the parent category.\n\nLeave empty or omit to create a top-level category."
|
|
976
1026
|
).regex(
|
|
977
1027
|
/^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}$/,
|
|
978
1028
|
"Must be a valid GUID"
|
|
979
1029
|
).optional().nullable(),
|
|
980
|
-
index: z.number().int().describe(
|
|
1030
|
+
index: /* @__PURE__ */ z.number().int().describe(
|
|
981
1031
|
"Position of this category among its sibling categories within the parent."
|
|
982
1032
|
).optional().nullable()
|
|
983
1033
|
}).describe(
|
|
984
1034
|
"Information about the category's parent. Top-level categories don't have a parent."
|
|
985
1035
|
).optional(),
|
|
986
|
-
slug: z.string().describe(
|
|
1036
|
+
slug: /* @__PURE__ */ z.string().describe(
|
|
987
1037
|
"Category slug. A URL-friendly identifier used in the category page address.\n\nIf not provided, the slug is autogenerated based on the category name."
|
|
988
1038
|
).min(1).max(300).optional().nullable(),
|
|
989
|
-
seoData: z.object({
|
|
990
|
-
tags: z.array(
|
|
991
|
-
z.object({
|
|
992
|
-
type: z.string().describe(
|
|
1039
|
+
seoData: /* @__PURE__ */ z.object({
|
|
1040
|
+
tags: /* @__PURE__ */ z.array(
|
|
1041
|
+
/* @__PURE__ */ z.object({
|
|
1042
|
+
type: /* @__PURE__ */ z.string().describe(
|
|
993
1043
|
"SEO tag type.\n\n\nSupported values: `title`, `meta`, `script`, `link`.\n\nWhich of these an API actually accepts depends on where the tag is being set: this\nlist is not a blanket guarantee across every API that reuses this message. Site SEO\nTags in particular accepts only `meta` (see `SiteSeoTags.tags`) and rejects\n`title`/`script`/`link` with a validation error even though they appear here \u2014\ncheck the field description of the specific `tags`-typed field you're writing to\nfor the types it actually supports and the error it returns.\n\nLimitation: `title` and `script` (e.g. a `script` tag with `props.type`\n`\"application/ld+json\"` carrying structured data) are supported only when\n`custom` is unset or `false`. Setting `custom: true` on a `title` or `script`\ntag is rejected with `TAG_TYPE_NOT_ALLOWED`, because `custom: true` routes the\nwrite through the site's Advanced/Custom Tags list. To write structured data,\nomit `custom` (or set it to `false`)."
|
|
994
1044
|
).optional(),
|
|
995
|
-
props: z.record(z.string(), z.any()).describe(
|
|
1045
|
+
props: /* @__PURE__ */ z.record(/* @__PURE__ */ z.string(), /* @__PURE__ */ z.any()).describe(
|
|
996
1046
|
'A `{"key": "value"}` pair object where each SEO tag property (`"name"`, `"content"`, `"rel"`, `"href"`) contains a value.\nFor example: `{"name": "description", "content": "the description itself"}`.'
|
|
997
1047
|
).optional().nullable(),
|
|
998
|
-
meta: z.record(z.string(), z.any()).describe(
|
|
1048
|
+
meta: /* @__PURE__ */ z.record(/* @__PURE__ */ z.string(), /* @__PURE__ */ z.any()).describe(
|
|
999
1049
|
'SEO tag metadata. For example, `{"height": 300, "width": 240}`.'
|
|
1000
1050
|
).optional().nullable(),
|
|
1001
|
-
children: z.string().describe(
|
|
1051
|
+
children: /* @__PURE__ */ z.string().describe(
|
|
1002
1052
|
"SEO tag inner content. For example, `<title> inner content </title>`."
|
|
1003
1053
|
).optional(),
|
|
1004
|
-
custom: z.boolean().describe(
|
|
1054
|
+
custom: /* @__PURE__ */ z.boolean().describe(
|
|
1005
1055
|
"Whether the tag is a [custom tag](https://support.wix.com/en/article/adding-additional-meta-tags-to-your-sites-pages) \u2014\ni.e. an entry from the site's Advanced/Custom Tags list.\n\nSetting this to `true` on a write restricts which `type` values are accepted\n\u2014 the same restriction the Advanced/Custom Tags UI enforces. `title` and\n`script` tags (including JSON-LD structured data) must be sent with `custom`\nomitted or `false`; sending them with `custom: true` is rejected with\n`TAG_TYPE_NOT_ALLOWED`.\n\nNote this is a separate restriction from Site SEO Tags' own type restriction on\n`SiteSeoTags.tags`: even with `custom` unset, Site SEO Tags rejects `script` (e.g.\nfor site-wide structured data) unconditionally. There is currently no way to set\nsite-wide, every-page structured data through any of these APIs \u2014 write a per-page\n`script` tag through the Item SEO Tags API instead.\n\nThis flag is scoped to that feature only. It is NOT an indicator of whether a standard tag\n(`title`, `description`, Open Graph, etc.) reflects a manually configured value versus a computed\ndefault/pattern \u2014 standard tags always resolve with `custom: false`, even when their content comes\nfrom a page's manually saved SEO title/description override. Don't use this field to verify whether\na live page reflects a manual per-page SEO edit.\n\nLimitation: when `ResolveStaticPageSeoTags` is called without `seoData`, the per-page SEO data is read\nonly from the Vibe/Wix-managed-headless override store. That store holds nothing for classic Wix Editor\nor Wix Studio pages, so even genuine Advanced/Custom Tags saved on those pages are missing from the\nresponse entirely \u2014 there, `false` means this API could not tell, not that no custom tag exists.\nPass `seoData` explicitly to resolve against a known set of tags."
|
|
1006
1056
|
).optional(),
|
|
1007
|
-
disabled: z.boolean().describe(
|
|
1057
|
+
disabled: /* @__PURE__ */ z.boolean().describe(
|
|
1008
1058
|
"Whether the tag is disabled. If the tag is disabled, people can't find your page when searching for this phrase in search engines."
|
|
1009
1059
|
).optional()
|
|
1010
1060
|
})
|
|
1011
1061
|
).optional(),
|
|
1012
|
-
settings: z.object({
|
|
1013
|
-
preventAutoRedirect: z.boolean().describe(
|
|
1062
|
+
settings: /* @__PURE__ */ z.object({
|
|
1063
|
+
preventAutoRedirect: /* @__PURE__ */ z.boolean().describe(
|
|
1014
1064
|
"Whether the [automatical redirect visits](https://support.wix.com/en/article/customizing-your-pages-seo-settings-in-the-seo-panel) from the old URL to the new one is enabled.\n\n\nDefault: `false` (automatical redirect is enabled)."
|
|
1015
1065
|
).optional(),
|
|
1016
|
-
keywords: z.array(
|
|
1017
|
-
z.object({
|
|
1018
|
-
term: z.string().describe("Keyword value.").optional(),
|
|
1019
|
-
isMain: z.boolean().describe(
|
|
1066
|
+
keywords: /* @__PURE__ */ z.array(
|
|
1067
|
+
/* @__PURE__ */ z.object({
|
|
1068
|
+
term: /* @__PURE__ */ z.string().describe("Keyword value.").optional(),
|
|
1069
|
+
isMain: /* @__PURE__ */ z.boolean().describe(
|
|
1020
1070
|
"Whether the keyword is the main focus keyword."
|
|
1021
1071
|
).optional(),
|
|
1022
|
-
origin: z.string().describe(
|
|
1072
|
+
origin: /* @__PURE__ */ z.string().describe(
|
|
1023
1073
|
"The source that added the keyword terms to the SEO settings."
|
|
1024
1074
|
).max(1e3).optional().nullable()
|
|
1025
1075
|
})
|
|
1026
1076
|
).max(5).optional()
|
|
1027
1077
|
}).describe("SEO general settings.").optional()
|
|
1028
1078
|
}).describe("Custom SEO data for the category.").optional(),
|
|
1029
|
-
richContentDescription: z.any().describe(
|
|
1079
|
+
richContentDescription: /* @__PURE__ */ z.any().describe(
|
|
1030
1080
|
'Category description using rich content.\n> **Note:** Returned only when you pass `"RICH_CONTENT_DESCRIPTION"` to the `fields` array in Categories API requests.\n\n<widget src="https://apps.wix.com/_serverless/ricos-playground-services/goto/api-component" plugins="indent.emoji.divider.codeBlock.file.gallery.giphy.image.table.link.textHighlight.textColor" exampleid="7dc9240e-d548-417a-abcf-0291b68b4303">\n<a href="https://dev.wix.com/docs/ricos/api-reference/ricos-document">See Ricos document reference</a>\n</widget>'
|
|
1031
1081
|
).optional(),
|
|
1032
|
-
treeReference: z.object({
|
|
1033
|
-
appNamespace: z.string().describe(
|
|
1082
|
+
treeReference: /* @__PURE__ */ z.object({
|
|
1083
|
+
appNamespace: /* @__PURE__ */ z.string().describe(
|
|
1034
1084
|
'Namespace of the app whose catalog this category tree belongs to.\n\nCurrently, only `"@wix/stores"` is supported.'
|
|
1035
1085
|
).min(4).max(150).optional(),
|
|
1036
|
-
treeKey: z.string().describe(
|
|
1086
|
+
treeKey: /* @__PURE__ */ z.string().describe(
|
|
1037
1087
|
"Key to differentiate between multiple trees managed by the same app.\n\nFor Wix Stores, pass `null` or omit this field, as each store has only one category tree."
|
|
1038
1088
|
).min(1).max(44).optional().nullable()
|
|
1039
1089
|
}).describe(
|
|
1040
1090
|
'Reference to the category tree this category belongs to.\n\nWhen working with Wix Stores categories, always pass `appNamespace: "@wix/stores"` and `treeKey: null`.'
|
|
1041
1091
|
).optional(),
|
|
1042
|
-
managingAppId: z.string().describe(
|
|
1092
|
+
managingAppId: /* @__PURE__ */ z.string().describe(
|
|
1043
1093
|
"ID of the app responsible for managing items in this category.\n\nWhen set, only the specified app can add or remove items from this category. This is useful for third-party apps that want to create categories exclusively managed by their app, preventing site owners or other apps from modifying the category's items.\n\nYou can get your app's ID from the [app dashboard](https://dev.wix.com/dc3/my-apps/)."
|
|
1044
1094
|
).regex(
|
|
1045
1095
|
/^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}$/,
|
|
1046
1096
|
"Must be a valid GUID"
|
|
1047
1097
|
).optional().nullable(),
|
|
1048
|
-
extendedFields: z.object({
|
|
1049
|
-
namespaces:
|
|
1098
|
+
extendedFields: /* @__PURE__ */ z.object({
|
|
1099
|
+
namespaces: /* @__PURE__ */ z.record(
|
|
1100
|
+
/* @__PURE__ */ z.string(),
|
|
1101
|
+
/* @__PURE__ */ z.record(
|
|
1102
|
+
/* @__PURE__ */ z.string(),
|
|
1103
|
+
/* @__PURE__ */ z.any()
|
|
1104
|
+
)
|
|
1105
|
+
).describe(
|
|
1050
1106
|
"Extended field data. Each key corresponds to the namespace of the app that created the extended fields.\nThe value of each key is structured according to the schema defined when the extended fields were configured.\n\nYou can only access fields for which you have the appropriate permissions.\n\nLearn more about [extended fields](https://dev.wix.com/docs/rest/articles/getting-started/extended-fields)."
|
|
1051
1107
|
).optional()
|
|
1052
1108
|
}).describe(
|
|
@@ -1054,83 +1110,85 @@ var QueryCategoriesResponse = /* @__PURE__ */ z.object({
|
|
|
1054
1110
|
).optional()
|
|
1055
1111
|
})
|
|
1056
1112
|
).min(0).max(1e3).optional(),
|
|
1057
|
-
pagingMetadata: z.object({
|
|
1058
|
-
count: z.number().int().describe("Number of items returned in the response.").optional().nullable(),
|
|
1059
|
-
cursors: z.object({
|
|
1060
|
-
next: z.string().describe(
|
|
1113
|
+
pagingMetadata: /* @__PURE__ */ z.object({
|
|
1114
|
+
count: /* @__PURE__ */ z.number().int().describe("Number of items returned in the response.").optional().nullable(),
|
|
1115
|
+
cursors: /* @__PURE__ */ z.object({
|
|
1116
|
+
next: /* @__PURE__ */ z.string().describe(
|
|
1061
1117
|
"Cursor string pointing to the next page in the list of results."
|
|
1062
1118
|
).max(16e3).optional().nullable(),
|
|
1063
|
-
prev: z.string().describe(
|
|
1119
|
+
prev: /* @__PURE__ */ z.string().describe(
|
|
1064
1120
|
"Cursor pointing to the previous page in the list of results."
|
|
1065
1121
|
).max(16e3).optional().nullable()
|
|
1066
1122
|
}).describe(
|
|
1067
1123
|
"Cursor strings that point to the next page, previous page, or both."
|
|
1068
1124
|
).optional(),
|
|
1069
|
-
hasNext: z.boolean().describe(
|
|
1125
|
+
hasNext: /* @__PURE__ */ z.boolean().describe(
|
|
1070
1126
|
"Whether there are more pages to retrieve following the current page.\n\n+ `true`: Another page of results can be retrieved.\n+ `false`: This is the last page."
|
|
1071
1127
|
).optional().nullable()
|
|
1072
1128
|
}).describe("Paging metadata.").optional()
|
|
1073
1129
|
});
|
|
1074
1130
|
var SearchCategoriesRequest = /* @__PURE__ */ z.object({
|
|
1075
|
-
search: z.intersection(
|
|
1076
|
-
z.object({
|
|
1077
|
-
filter: z.record(z.string(), z.any()).describe("Filter object for narrowing search results.").optional().nullable(),
|
|
1078
|
-
sort: z.array(
|
|
1079
|
-
z.object({
|
|
1080
|
-
fieldName: z.string().describe("Name of the field to sort by.").max(512).optional(),
|
|
1081
|
-
order: z.enum(["ASC", "DESC"]).optional()
|
|
1131
|
+
search: /* @__PURE__ */ z.intersection(
|
|
1132
|
+
/* @__PURE__ */ z.object({
|
|
1133
|
+
filter: /* @__PURE__ */ z.record(/* @__PURE__ */ z.string(), /* @__PURE__ */ z.any()).describe("Filter object for narrowing search results.").optional().nullable(),
|
|
1134
|
+
sort: /* @__PURE__ */ z.array(
|
|
1135
|
+
/* @__PURE__ */ z.object({
|
|
1136
|
+
fieldName: /* @__PURE__ */ z.string().describe("Name of the field to sort by.").max(512).optional(),
|
|
1137
|
+
order: /* @__PURE__ */ z.enum(["ASC", "DESC"]).optional()
|
|
1082
1138
|
})
|
|
1083
1139
|
).max(10).optional(),
|
|
1084
|
-
aggregations: z.array(
|
|
1085
|
-
z.intersection(
|
|
1086
|
-
z.object({
|
|
1087
|
-
name: z.string().describe(
|
|
1140
|
+
aggregations: /* @__PURE__ */ z.array(
|
|
1141
|
+
/* @__PURE__ */ z.intersection(
|
|
1142
|
+
/* @__PURE__ */ z.object({
|
|
1143
|
+
name: /* @__PURE__ */ z.string().describe(
|
|
1088
1144
|
"User-defined name of aggregation. Must be unique and will appear in aggregation results."
|
|
1089
1145
|
).max(100).optional().nullable(),
|
|
1090
|
-
type: z.enum([
|
|
1146
|
+
type: /* @__PURE__ */ z.enum([
|
|
1091
1147
|
"VALUE",
|
|
1092
1148
|
"RANGE",
|
|
1093
1149
|
"SCALAR",
|
|
1094
1150
|
"DATE_HISTOGRAM",
|
|
1095
1151
|
"NESTED"
|
|
1096
1152
|
]).optional(),
|
|
1097
|
-
fieldPath: z.string().describe(
|
|
1153
|
+
fieldPath: /* @__PURE__ */ z.string().describe(
|
|
1098
1154
|
"Path to the field to aggregate by in dot notation. For example `name` or `paymentOptions.online`."
|
|
1099
1155
|
).max(200).optional()
|
|
1100
1156
|
}),
|
|
1101
|
-
z.xor([
|
|
1102
|
-
z.object({
|
|
1103
|
-
value: z.never().optional(),
|
|
1104
|
-
range: z.never().optional(),
|
|
1105
|
-
scalar: z.never().optional(),
|
|
1106
|
-
dateHistogram: z.never().optional(),
|
|
1107
|
-
nested: z.never().optional()
|
|
1157
|
+
/* @__PURE__ */ z.xor([
|
|
1158
|
+
/* @__PURE__ */ z.object({
|
|
1159
|
+
value: /* @__PURE__ */ z.never().optional(),
|
|
1160
|
+
range: /* @__PURE__ */ z.never().optional(),
|
|
1161
|
+
scalar: /* @__PURE__ */ z.never().optional(),
|
|
1162
|
+
dateHistogram: /* @__PURE__ */ z.never().optional(),
|
|
1163
|
+
nested: /* @__PURE__ */ z.never().optional()
|
|
1108
1164
|
}),
|
|
1109
|
-
z.object({
|
|
1110
|
-
range: z.never().optional(),
|
|
1111
|
-
scalar: z.never().optional(),
|
|
1112
|
-
dateHistogram: z.never().optional(),
|
|
1113
|
-
nested: z.never().optional(),
|
|
1114
|
-
value: z.intersection(
|
|
1115
|
-
z.object({
|
|
1116
|
-
sortType: z.enum(["COUNT", "VALUE"]).describe(
|
|
1165
|
+
/* @__PURE__ */ z.object({
|
|
1166
|
+
range: /* @__PURE__ */ z.never().optional(),
|
|
1167
|
+
scalar: /* @__PURE__ */ z.never().optional(),
|
|
1168
|
+
dateHistogram: /* @__PURE__ */ z.never().optional(),
|
|
1169
|
+
nested: /* @__PURE__ */ z.never().optional(),
|
|
1170
|
+
value: /* @__PURE__ */ z.intersection(
|
|
1171
|
+
/* @__PURE__ */ z.object({
|
|
1172
|
+
sortType: /* @__PURE__ */ z.enum(["COUNT", "VALUE"]).describe(
|
|
1117
1173
|
"Whether to sort by number of matches or value of the field."
|
|
1118
1174
|
).optional(),
|
|
1119
|
-
sortDirection: z.enum(["DESC", "ASC"]).describe(
|
|
1175
|
+
sortDirection: /* @__PURE__ */ z.enum(["DESC", "ASC"]).describe(
|
|
1120
1176
|
"Whether to sort in ascending or descending order."
|
|
1121
1177
|
).optional(),
|
|
1122
|
-
limit: z.number().int().describe(
|
|
1178
|
+
limit: /* @__PURE__ */ z.number().int().describe(
|
|
1123
1179
|
"Number of aggregations to return.\n\nMin: `1`\nMax: `250`\nDefault: `10`"
|
|
1124
1180
|
).optional().nullable(),
|
|
1125
|
-
missingValues: z.enum(["EXCLUDE", "INCLUDE"]).describe(
|
|
1181
|
+
missingValues: /* @__PURE__ */ z.enum(["EXCLUDE", "INCLUDE"]).describe(
|
|
1126
1182
|
"Whether missing values should be included or excluded from the aggregation results.\n\nDefault: `EXCLUDE`"
|
|
1127
1183
|
).optional()
|
|
1128
1184
|
}),
|
|
1129
|
-
z.xor([
|
|
1130
|
-
z.object({
|
|
1131
|
-
|
|
1132
|
-
|
|
1133
|
-
|
|
1185
|
+
/* @__PURE__ */ z.xor([
|
|
1186
|
+
/* @__PURE__ */ z.object({
|
|
1187
|
+
includeOptions: /* @__PURE__ */ z.never().optional()
|
|
1188
|
+
}),
|
|
1189
|
+
/* @__PURE__ */ z.object({
|
|
1190
|
+
includeOptions: /* @__PURE__ */ z.object({
|
|
1191
|
+
addToBucket: /* @__PURE__ */ z.string().describe(
|
|
1134
1192
|
"Custom bucket name for missing values.\n\nDefault values:\n- string: `N/A`\n- int: `0`\n- bool: `false`"
|
|
1135
1193
|
).max(20).optional()
|
|
1136
1194
|
}).describe(
|
|
@@ -1140,42 +1198,42 @@ var SearchCategoriesRequest = /* @__PURE__ */ z.object({
|
|
|
1140
1198
|
])
|
|
1141
1199
|
).describe("Value aggregation configuration.")
|
|
1142
1200
|
}),
|
|
1143
|
-
z.object({
|
|
1144
|
-
value: z.never().optional(),
|
|
1145
|
-
scalar: z.never().optional(),
|
|
1146
|
-
dateHistogram: z.never().optional(),
|
|
1147
|
-
nested: z.never().optional(),
|
|
1148
|
-
range: z.object({
|
|
1149
|
-
buckets: z.array(
|
|
1150
|
-
z.object({
|
|
1151
|
-
from: z.number().describe(
|
|
1201
|
+
/* @__PURE__ */ z.object({
|
|
1202
|
+
value: /* @__PURE__ */ z.never().optional(),
|
|
1203
|
+
scalar: /* @__PURE__ */ z.never().optional(),
|
|
1204
|
+
dateHistogram: /* @__PURE__ */ z.never().optional(),
|
|
1205
|
+
nested: /* @__PURE__ */ z.never().optional(),
|
|
1206
|
+
range: /* @__PURE__ */ z.object({
|
|
1207
|
+
buckets: /* @__PURE__ */ z.array(
|
|
1208
|
+
/* @__PURE__ */ z.object({
|
|
1209
|
+
from: /* @__PURE__ */ z.number().describe(
|
|
1152
1210
|
"Inclusive lower bound of the range. Required if `to` isn't specified."
|
|
1153
1211
|
).optional().nullable(),
|
|
1154
|
-
to: z.number().describe(
|
|
1212
|
+
to: /* @__PURE__ */ z.number().describe(
|
|
1155
1213
|
"Exclusive upper bound of the range. Required if `from` isn't specified."
|
|
1156
1214
|
).optional().nullable()
|
|
1157
1215
|
})
|
|
1158
1216
|
).max(50).optional()
|
|
1159
1217
|
}).describe("Range aggregation configuration.")
|
|
1160
1218
|
}),
|
|
1161
|
-
z.object({
|
|
1162
|
-
value: z.never().optional(),
|
|
1163
|
-
range: z.never().optional(),
|
|
1164
|
-
dateHistogram: z.never().optional(),
|
|
1165
|
-
nested: z.never().optional(),
|
|
1166
|
-
scalar: z.object({
|
|
1167
|
-
type: z.enum(["COUNT_DISTINCT", "MIN", "MAX"]).describe(
|
|
1219
|
+
/* @__PURE__ */ z.object({
|
|
1220
|
+
value: /* @__PURE__ */ z.never().optional(),
|
|
1221
|
+
range: /* @__PURE__ */ z.never().optional(),
|
|
1222
|
+
dateHistogram: /* @__PURE__ */ z.never().optional(),
|
|
1223
|
+
nested: /* @__PURE__ */ z.never().optional(),
|
|
1224
|
+
scalar: /* @__PURE__ */ z.object({
|
|
1225
|
+
type: /* @__PURE__ */ z.enum(["COUNT_DISTINCT", "MIN", "MAX"]).describe(
|
|
1168
1226
|
"Operator for the scalar aggregation, for example `COUNT_DISTINCT`, `MIN`, `MAX`."
|
|
1169
1227
|
).optional()
|
|
1170
1228
|
}).describe("Scalar aggregation configuration.")
|
|
1171
1229
|
}),
|
|
1172
|
-
z.object({
|
|
1173
|
-
value: z.never().optional(),
|
|
1174
|
-
range: z.never().optional(),
|
|
1175
|
-
scalar: z.never().optional(),
|
|
1176
|
-
nested: z.never().optional(),
|
|
1177
|
-
dateHistogram: z.object({
|
|
1178
|
-
interval: z.enum([
|
|
1230
|
+
/* @__PURE__ */ z.object({
|
|
1231
|
+
value: /* @__PURE__ */ z.never().optional(),
|
|
1232
|
+
range: /* @__PURE__ */ z.never().optional(),
|
|
1233
|
+
scalar: /* @__PURE__ */ z.never().optional(),
|
|
1234
|
+
nested: /* @__PURE__ */ z.never().optional(),
|
|
1235
|
+
dateHistogram: /* @__PURE__ */ z.object({
|
|
1236
|
+
interval: /* @__PURE__ */ z.enum([
|
|
1179
1237
|
"YEAR",
|
|
1180
1238
|
"MONTH",
|
|
1181
1239
|
"WEEK",
|
|
@@ -1188,61 +1246,61 @@ var SearchCategoriesRequest = /* @__PURE__ */ z.object({
|
|
|
1188
1246
|
).optional()
|
|
1189
1247
|
}).describe("Date histogram aggregation configuration.")
|
|
1190
1248
|
}),
|
|
1191
|
-
z.object({
|
|
1192
|
-
value: z.never().optional(),
|
|
1193
|
-
range: z.never().optional(),
|
|
1194
|
-
scalar: z.never().optional(),
|
|
1195
|
-
dateHistogram: z.never().optional(),
|
|
1196
|
-
nested: z.object({
|
|
1197
|
-
nestedAggregations: z.array(
|
|
1198
|
-
z.intersection(
|
|
1199
|
-
z.object({
|
|
1200
|
-
name: z.string().describe(
|
|
1249
|
+
/* @__PURE__ */ z.object({
|
|
1250
|
+
value: /* @__PURE__ */ z.never().optional(),
|
|
1251
|
+
range: /* @__PURE__ */ z.never().optional(),
|
|
1252
|
+
scalar: /* @__PURE__ */ z.never().optional(),
|
|
1253
|
+
dateHistogram: /* @__PURE__ */ z.never().optional(),
|
|
1254
|
+
nested: /* @__PURE__ */ z.object({
|
|
1255
|
+
nestedAggregations: /* @__PURE__ */ z.array(
|
|
1256
|
+
/* @__PURE__ */ z.intersection(
|
|
1257
|
+
/* @__PURE__ */ z.object({
|
|
1258
|
+
name: /* @__PURE__ */ z.string().describe(
|
|
1201
1259
|
"User-defined name of aggregation. Must be unique and will appear in aggregation results."
|
|
1202
1260
|
).max(100).optional().nullable(),
|
|
1203
|
-
type: z.enum([
|
|
1261
|
+
type: /* @__PURE__ */ z.enum([
|
|
1204
1262
|
"VALUE",
|
|
1205
1263
|
"RANGE",
|
|
1206
1264
|
"SCALAR",
|
|
1207
1265
|
"DATE_HISTOGRAM"
|
|
1208
1266
|
]).optional(),
|
|
1209
|
-
fieldPath: z.string().describe(
|
|
1267
|
+
fieldPath: /* @__PURE__ */ z.string().describe(
|
|
1210
1268
|
"Path to the field to aggregate by in dot notation. For example `name` or `paymentOptions.online`."
|
|
1211
1269
|
).max(200).optional()
|
|
1212
1270
|
}),
|
|
1213
|
-
z.xor([
|
|
1214
|
-
z.object({
|
|
1215
|
-
value: z.never().optional(),
|
|
1216
|
-
range: z.never().optional(),
|
|
1217
|
-
scalar: z.never().optional(),
|
|
1218
|
-
dateHistogram: z.never().optional()
|
|
1271
|
+
/* @__PURE__ */ z.xor([
|
|
1272
|
+
/* @__PURE__ */ z.object({
|
|
1273
|
+
value: /* @__PURE__ */ z.never().optional(),
|
|
1274
|
+
range: /* @__PURE__ */ z.never().optional(),
|
|
1275
|
+
scalar: /* @__PURE__ */ z.never().optional(),
|
|
1276
|
+
dateHistogram: /* @__PURE__ */ z.never().optional()
|
|
1219
1277
|
}),
|
|
1220
|
-
z.object({
|
|
1221
|
-
range: z.never().optional(),
|
|
1222
|
-
scalar: z.never().optional(),
|
|
1223
|
-
dateHistogram: z.never().optional(),
|
|
1224
|
-
value: z.intersection(
|
|
1225
|
-
z.object({
|
|
1226
|
-
sortType: z.enum(["COUNT", "VALUE"]).describe(
|
|
1278
|
+
/* @__PURE__ */ z.object({
|
|
1279
|
+
range: /* @__PURE__ */ z.never().optional(),
|
|
1280
|
+
scalar: /* @__PURE__ */ z.never().optional(),
|
|
1281
|
+
dateHistogram: /* @__PURE__ */ z.never().optional(),
|
|
1282
|
+
value: /* @__PURE__ */ z.intersection(
|
|
1283
|
+
/* @__PURE__ */ z.object({
|
|
1284
|
+
sortType: /* @__PURE__ */ z.enum(["COUNT", "VALUE"]).describe(
|
|
1227
1285
|
"Whether to sort by number of matches or value of the field."
|
|
1228
1286
|
).optional(),
|
|
1229
|
-
sortDirection: z.enum(["DESC", "ASC"]).describe(
|
|
1287
|
+
sortDirection: /* @__PURE__ */ z.enum(["DESC", "ASC"]).describe(
|
|
1230
1288
|
"Whether to sort in ascending or descending order."
|
|
1231
1289
|
).optional(),
|
|
1232
|
-
limit: z.number().int().describe(
|
|
1290
|
+
limit: /* @__PURE__ */ z.number().int().describe(
|
|
1233
1291
|
"Number of aggregations to return.\n\nMin: `1`\nMax: `250`\nDefault: `10`"
|
|
1234
1292
|
).optional().nullable(),
|
|
1235
|
-
missingValues: z.enum(["EXCLUDE", "INCLUDE"]).describe(
|
|
1293
|
+
missingValues: /* @__PURE__ */ z.enum(["EXCLUDE", "INCLUDE"]).describe(
|
|
1236
1294
|
"Whether missing values should be included or excluded from the aggregation results.\n\nDefault: `EXCLUDE`"
|
|
1237
1295
|
).optional()
|
|
1238
1296
|
}),
|
|
1239
|
-
z.xor([
|
|
1240
|
-
z.object({
|
|
1241
|
-
includeOptions: z.never().optional()
|
|
1297
|
+
/* @__PURE__ */ z.xor([
|
|
1298
|
+
/* @__PURE__ */ z.object({
|
|
1299
|
+
includeOptions: /* @__PURE__ */ z.never().optional()
|
|
1242
1300
|
}),
|
|
1243
|
-
z.object({
|
|
1244
|
-
includeOptions: z.object({
|
|
1245
|
-
addToBucket: z.string().describe(
|
|
1301
|
+
/* @__PURE__ */ z.object({
|
|
1302
|
+
includeOptions: /* @__PURE__ */ z.object({
|
|
1303
|
+
addToBucket: /* @__PURE__ */ z.string().describe(
|
|
1246
1304
|
"Custom bucket name for missing values.\n\nDefault values:\n- string: `N/A`\n- int: `0`\n- bool: `false`"
|
|
1247
1305
|
).max(20).optional()
|
|
1248
1306
|
}).describe(
|
|
@@ -1254,17 +1312,17 @@ var SearchCategoriesRequest = /* @__PURE__ */ z.object({
|
|
|
1254
1312
|
"Value aggregation configuration. Calculates the distribution of field values within the dataset."
|
|
1255
1313
|
)
|
|
1256
1314
|
}),
|
|
1257
|
-
z.object({
|
|
1258
|
-
value: z.never().optional(),
|
|
1259
|
-
scalar: z.never().optional(),
|
|
1260
|
-
dateHistogram: z.never().optional(),
|
|
1261
|
-
range: z.object({
|
|
1262
|
-
buckets: z.array(
|
|
1263
|
-
z.object({
|
|
1264
|
-
from: z.number().describe(
|
|
1315
|
+
/* @__PURE__ */ z.object({
|
|
1316
|
+
value: /* @__PURE__ */ z.never().optional(),
|
|
1317
|
+
scalar: /* @__PURE__ */ z.never().optional(),
|
|
1318
|
+
dateHistogram: /* @__PURE__ */ z.never().optional(),
|
|
1319
|
+
range: /* @__PURE__ */ z.object({
|
|
1320
|
+
buckets: /* @__PURE__ */ z.array(
|
|
1321
|
+
/* @__PURE__ */ z.object({
|
|
1322
|
+
from: /* @__PURE__ */ z.number().describe(
|
|
1265
1323
|
"Inclusive lower bound of the range. Required if `to` isn't specified."
|
|
1266
1324
|
).optional().nullable(),
|
|
1267
|
-
to: z.number().describe(
|
|
1325
|
+
to: /* @__PURE__ */ z.number().describe(
|
|
1268
1326
|
"Exclusive upper bound of the range. Required if `from` isn't specified."
|
|
1269
1327
|
).optional().nullable()
|
|
1270
1328
|
})
|
|
@@ -1273,24 +1331,24 @@ var SearchCategoriesRequest = /* @__PURE__ */ z.object({
|
|
|
1273
1331
|
"Range aggregation configuration. Calculates counts within user-defined value ranges."
|
|
1274
1332
|
)
|
|
1275
1333
|
}),
|
|
1276
|
-
z.object({
|
|
1277
|
-
value: z.never().optional(),
|
|
1278
|
-
range: z.never().optional(),
|
|
1279
|
-
dateHistogram: z.never().optional(),
|
|
1280
|
-
scalar: z.object({
|
|
1281
|
-
type: z.enum(["COUNT_DISTINCT", "MIN", "MAX"]).describe(
|
|
1334
|
+
/* @__PURE__ */ z.object({
|
|
1335
|
+
value: /* @__PURE__ */ z.never().optional(),
|
|
1336
|
+
range: /* @__PURE__ */ z.never().optional(),
|
|
1337
|
+
dateHistogram: /* @__PURE__ */ z.never().optional(),
|
|
1338
|
+
scalar: /* @__PURE__ */ z.object({
|
|
1339
|
+
type: /* @__PURE__ */ z.enum(["COUNT_DISTINCT", "MIN", "MAX"]).describe(
|
|
1282
1340
|
"Operator for the scalar aggregation, for example `COUNT_DISTINCT`, `MIN`, `MAX`."
|
|
1283
1341
|
).optional()
|
|
1284
1342
|
}).describe(
|
|
1285
1343
|
"Scalar aggregation configuration. Calculates single numerical metrics like count, min, max, sum, or average."
|
|
1286
1344
|
)
|
|
1287
1345
|
}),
|
|
1288
|
-
z.object({
|
|
1289
|
-
value: z.never().optional(),
|
|
1290
|
-
range: z.never().optional(),
|
|
1291
|
-
scalar: z.never().optional(),
|
|
1292
|
-
dateHistogram: z.object({
|
|
1293
|
-
interval: z.enum([
|
|
1346
|
+
/* @__PURE__ */ z.object({
|
|
1347
|
+
value: /* @__PURE__ */ z.never().optional(),
|
|
1348
|
+
range: /* @__PURE__ */ z.never().optional(),
|
|
1349
|
+
scalar: /* @__PURE__ */ z.never().optional(),
|
|
1350
|
+
dateHistogram: /* @__PURE__ */ z.object({
|
|
1351
|
+
interval: /* @__PURE__ */ z.enum([
|
|
1294
1352
|
"YEAR",
|
|
1295
1353
|
"MONTH",
|
|
1296
1354
|
"WEEK",
|
|
@@ -1313,24 +1371,26 @@ var SearchCategoriesRequest = /* @__PURE__ */ z.object({
|
|
|
1313
1371
|
])
|
|
1314
1372
|
)
|
|
1315
1373
|
).max(10).optional(),
|
|
1316
|
-
search: z.object({
|
|
1317
|
-
mode: z.enum(["OR", "AND"]).optional(),
|
|
1318
|
-
expression: z.string().describe("Search term or expression.").max(100).optional().nullable(),
|
|
1319
|
-
fields: z.array(z.string()).max(20).optional(),
|
|
1320
|
-
fuzzy: z.boolean().describe(
|
|
1374
|
+
search: /* @__PURE__ */ z.object({
|
|
1375
|
+
mode: /* @__PURE__ */ z.enum(["OR", "AND"]).optional(),
|
|
1376
|
+
expression: /* @__PURE__ */ z.string().describe("Search term or expression.").max(100).optional().nullable(),
|
|
1377
|
+
fields: /* @__PURE__ */ z.array(/* @__PURE__ */ z.string()).max(20).optional(),
|
|
1378
|
+
fuzzy: /* @__PURE__ */ z.boolean().describe(
|
|
1321
1379
|
"Whether to enable the search method to use an algorithm to automatically find results that are close to the search expression, such as typos and declensions."
|
|
1322
1380
|
).optional()
|
|
1323
1381
|
}).describe("Free text to match in searchable fields.").optional(),
|
|
1324
|
-
timeZone: z.string().describe(
|
|
1382
|
+
timeZone: /* @__PURE__ */ z.string().describe(
|
|
1325
1383
|
"Time zone in [IANA tz database format](https://en.wikipedia.org/wiki/Tz_database) or [ISO 8601 UTC offset format](https://en.wikipedia.org/wiki/ISO_8601#Time_offsets_from_UTC) for adjusting time fields in the specified filters and returned aggregation data. For example, `America/New_York`, `UTC`, or `+02:00`.\n\nDefault: Time zone specified in the business [site properties](https://dev.wix.com/docs/api-reference/business-management/site-properties/properties/get-site-properties)."
|
|
1326
1384
|
).max(50).optional().nullable()
|
|
1327
1385
|
}),
|
|
1328
|
-
z.xor([
|
|
1329
|
-
z.object({
|
|
1330
|
-
|
|
1331
|
-
|
|
1332
|
-
|
|
1333
|
-
|
|
1386
|
+
/* @__PURE__ */ z.xor([
|
|
1387
|
+
/* @__PURE__ */ z.object({
|
|
1388
|
+
cursorPaging: /* @__PURE__ */ z.never().optional()
|
|
1389
|
+
}),
|
|
1390
|
+
/* @__PURE__ */ z.object({
|
|
1391
|
+
cursorPaging: /* @__PURE__ */ z.object({
|
|
1392
|
+
limit: /* @__PURE__ */ z.number().int().describe("Maximum number of items to return in the results.").min(0).max(1e3).optional().nullable(),
|
|
1393
|
+
cursor: /* @__PURE__ */ z.string().describe(
|
|
1334
1394
|
"Pointer to the next or previous page in the list of results.\n\nPass the relevant cursor token from the `pagingMetadata` object in the previous call's response.\nNot relevant for the first request."
|
|
1335
1395
|
).max(16e3).optional().nullable()
|
|
1336
1396
|
}).describe(
|
|
@@ -1341,141 +1401,151 @@ var SearchCategoriesRequest = /* @__PURE__ */ z.object({
|
|
|
1341
1401
|
).describe(
|
|
1342
1402
|
"Search criteria including filter, sort, aggregations, and paging options."
|
|
1343
1403
|
),
|
|
1344
|
-
options: z.object({
|
|
1345
|
-
treeReference: z.object({
|
|
1346
|
-
appNamespace: z.string().describe(
|
|
1404
|
+
options: /* @__PURE__ */ z.object({
|
|
1405
|
+
treeReference: /* @__PURE__ */ z.object({
|
|
1406
|
+
appNamespace: /* @__PURE__ */ z.string().describe(
|
|
1347
1407
|
'Namespace of the app whose catalog this category tree belongs to.\n\nCurrently, only `"@wix/stores"` is supported.'
|
|
1348
1408
|
).min(4).max(150),
|
|
1349
|
-
treeKey: z.string().describe(
|
|
1409
|
+
treeKey: /* @__PURE__ */ z.string().describe(
|
|
1350
1410
|
"Key to differentiate between multiple trees managed by the same app.\n\nFor Wix Stores, pass `null` or omit this field, as each store has only one category tree."
|
|
1351
1411
|
).min(1).max(44).optional().nullable()
|
|
1352
1412
|
}).describe(
|
|
1353
1413
|
"Category tree reference details.\n> **Note:** Pass `treeReference` only in the first request. Pass the cursor token in subsequent requests."
|
|
1354
1414
|
),
|
|
1355
|
-
returnNonVisibleCategories: z.boolean().describe(
|
|
1415
|
+
returnNonVisibleCategories: /* @__PURE__ */ z.boolean().describe(
|
|
1356
1416
|
"Whether to return the categories with `visible` set to `false`.\n\nDefault: `false`. Only visible categories are returned in the response"
|
|
1357
1417
|
).optional(),
|
|
1358
|
-
fields: z.array(
|
|
1359
|
-
z.enum([
|
|
1418
|
+
fields: /* @__PURE__ */ z.array(
|
|
1419
|
+
/* @__PURE__ */ z.enum([
|
|
1420
|
+
"BREADCRUMBS_INFO",
|
|
1421
|
+
"DESCRIPTION",
|
|
1422
|
+
"RICH_CONTENT_DESCRIPTION"
|
|
1423
|
+
])
|
|
1360
1424
|
).max(100).optional()
|
|
1361
1425
|
})
|
|
1362
1426
|
});
|
|
1363
1427
|
var SearchCategoriesResponse = /* @__PURE__ */ z.object({
|
|
1364
|
-
categories: z.array(
|
|
1365
|
-
z.object({
|
|
1366
|
-
_id: z.string().describe("Category ID.").regex(
|
|
1428
|
+
categories: /* @__PURE__ */ z.array(
|
|
1429
|
+
/* @__PURE__ */ z.object({
|
|
1430
|
+
_id: /* @__PURE__ */ z.string().describe("Category ID.").regex(
|
|
1367
1431
|
/^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}$/,
|
|
1368
1432
|
"Must be a valid GUID"
|
|
1369
1433
|
).optional().nullable(),
|
|
1370
|
-
revision: z.string().regex(/^-?\d+$/, "Must be a valid Int64 string").describe(
|
|
1434
|
+
revision: /* @__PURE__ */ z.string().regex(/^-?\d+$/, "Must be a valid Int64 string").describe(
|
|
1371
1435
|
"Revision number, which increments by 1 each time the category is updated.\nTo prevent conflicting changes, the current revision must be passed when updating.\n\nIgnored when creating a category."
|
|
1372
1436
|
).optional().nullable(),
|
|
1373
|
-
_createdDate: z.date().describe("Date and time the category was created.").optional().nullable(),
|
|
1374
|
-
_updatedDate: z.date().describe("Date and time the category was updated.").optional().nullable(),
|
|
1375
|
-
name: z.string().describe("Category name.").min(1).max(80).optional().nullable(),
|
|
1376
|
-
image: z.string().describe(
|
|
1437
|
+
_createdDate: /* @__PURE__ */ z.date().describe("Date and time the category was created.").optional().nullable(),
|
|
1438
|
+
_updatedDate: /* @__PURE__ */ z.date().describe("Date and time the category was updated.").optional().nullable(),
|
|
1439
|
+
name: /* @__PURE__ */ z.string().describe("Category name.").min(1).max(80).optional().nullable(),
|
|
1440
|
+
image: /* @__PURE__ */ z.string().describe(
|
|
1377
1441
|
"Category image.\n\n+ Pass WixMedia image ID for media previously saved in the [Wix Media Manager](https://support.wix.com/en/article/wix-media-about-the-media-manager).\n+ Pass full image URL to upload to Wix Media Manager."
|
|
1378
1442
|
).optional(),
|
|
1379
|
-
itemCounter: z.number().int().describe(
|
|
1443
|
+
itemCounter: /* @__PURE__ */ z.number().int().describe(
|
|
1380
1444
|
"Number of items directly assigned to this category. Doesn't include items in subcategories."
|
|
1381
1445
|
).optional(),
|
|
1382
|
-
description: z.string().describe(
|
|
1446
|
+
description: /* @__PURE__ */ z.string().describe(
|
|
1383
1447
|
'Plain-text category description.\n\nReturned only when you pass `"DESCRIPTION"` to the `fields` array.'
|
|
1384
1448
|
).min(1).max(600).optional().nullable(),
|
|
1385
|
-
visible: z.boolean().describe(
|
|
1449
|
+
visible: /* @__PURE__ */ z.boolean().describe(
|
|
1386
1450
|
"Whether the category is visible to site visitors.\n\nVisibility cascades to subcategories: if a parent category's visibility is set to `false`, all its subcategories become hidden as well.\nSetting a subcategory's visibility to `true` fails if any of its parent categories are hidden.\n\n> **Notes:**\n> 1. Hidden categories and their items are still accessible via API calls. For example, List Items In Category returns items even for hidden categories.\n> 2. The `visible` field can only be changed using the [Update Category Visibility](https://dev.wix.com/docs/api-reference/business-solutions/stores/catalog-v3/categories/update-category-visibility) method.\n> 3. Default: `true`"
|
|
1387
1451
|
).optional().nullable(),
|
|
1388
|
-
breadcrumbsInfo: z.object({
|
|
1389
|
-
breadcrumbs: z.array(
|
|
1390
|
-
z.object({
|
|
1391
|
-
categoryId: z.string().describe("Ancestor category ID.").regex(
|
|
1452
|
+
breadcrumbsInfo: /* @__PURE__ */ z.object({
|
|
1453
|
+
breadcrumbs: /* @__PURE__ */ z.array(
|
|
1454
|
+
/* @__PURE__ */ z.object({
|
|
1455
|
+
categoryId: /* @__PURE__ */ z.string().describe("Ancestor category ID.").regex(
|
|
1392
1456
|
/^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}$/,
|
|
1393
1457
|
"Must be a valid GUID"
|
|
1394
1458
|
).optional(),
|
|
1395
|
-
categoryName: z.string().describe("Ancestor category name.").min(1).max(80).optional(),
|
|
1396
|
-
categorySlug: z.string().describe("Ancestor category slug.").min(1).max(100).optional()
|
|
1459
|
+
categoryName: /* @__PURE__ */ z.string().describe("Ancestor category name.").min(1).max(80).optional(),
|
|
1460
|
+
categorySlug: /* @__PURE__ */ z.string().describe("Ancestor category slug.").min(1).max(100).optional()
|
|
1397
1461
|
})
|
|
1398
1462
|
).max(5).optional()
|
|
1399
1463
|
}).describe(
|
|
1400
1464
|
'Category breadcrumbs, representing the path from the top-level ancestor category down to the parent of the current category.\n\nBreadcrumbs are useful for building navigation UI and for SEO purposes. For top-level categories, the breadcrumbs list is empty.\n\nReturned only when you pass `"BREADCRUMBS_INFO"` to the `fields` array.'
|
|
1401
1465
|
).optional(),
|
|
1402
|
-
parentCategory: z.object({
|
|
1403
|
-
_id: z.string().describe(
|
|
1466
|
+
parentCategory: /* @__PURE__ */ z.object({
|
|
1467
|
+
_id: /* @__PURE__ */ z.string().describe(
|
|
1404
1468
|
"ID of the parent category.\n\nLeave empty or omit to create a top-level category."
|
|
1405
1469
|
).regex(
|
|
1406
1470
|
/^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}$/,
|
|
1407
1471
|
"Must be a valid GUID"
|
|
1408
1472
|
).optional().nullable(),
|
|
1409
|
-
index: z.number().int().describe(
|
|
1473
|
+
index: /* @__PURE__ */ z.number().int().describe(
|
|
1410
1474
|
"Position of this category among its sibling categories within the parent."
|
|
1411
1475
|
).optional().nullable()
|
|
1412
1476
|
}).describe(
|
|
1413
1477
|
"Information about the category's parent. Top-level categories don't have a parent."
|
|
1414
1478
|
).optional(),
|
|
1415
|
-
slug: z.string().describe(
|
|
1479
|
+
slug: /* @__PURE__ */ z.string().describe(
|
|
1416
1480
|
"Category slug. A URL-friendly identifier used in the category page address.\n\nIf not provided, the slug is autogenerated based on the category name."
|
|
1417
1481
|
).min(1).max(300).optional().nullable(),
|
|
1418
|
-
seoData: z.object({
|
|
1419
|
-
tags: z.array(
|
|
1420
|
-
z.object({
|
|
1421
|
-
type: z.string().describe(
|
|
1482
|
+
seoData: /* @__PURE__ */ z.object({
|
|
1483
|
+
tags: /* @__PURE__ */ z.array(
|
|
1484
|
+
/* @__PURE__ */ z.object({
|
|
1485
|
+
type: /* @__PURE__ */ z.string().describe(
|
|
1422
1486
|
"SEO tag type.\n\n\nSupported values: `title`, `meta`, `script`, `link`.\n\nWhich of these an API actually accepts depends on where the tag is being set: this\nlist is not a blanket guarantee across every API that reuses this message. Site SEO\nTags in particular accepts only `meta` (see `SiteSeoTags.tags`) and rejects\n`title`/`script`/`link` with a validation error even though they appear here \u2014\ncheck the field description of the specific `tags`-typed field you're writing to\nfor the types it actually supports and the error it returns.\n\nLimitation: `title` and `script` (e.g. a `script` tag with `props.type`\n`\"application/ld+json\"` carrying structured data) are supported only when\n`custom` is unset or `false`. Setting `custom: true` on a `title` or `script`\ntag is rejected with `TAG_TYPE_NOT_ALLOWED`, because `custom: true` routes the\nwrite through the site's Advanced/Custom Tags list. To write structured data,\nomit `custom` (or set it to `false`)."
|
|
1423
1487
|
).optional(),
|
|
1424
|
-
props: z.record(z.string(), z.any()).describe(
|
|
1488
|
+
props: /* @__PURE__ */ z.record(/* @__PURE__ */ z.string(), /* @__PURE__ */ z.any()).describe(
|
|
1425
1489
|
'A `{"key": "value"}` pair object where each SEO tag property (`"name"`, `"content"`, `"rel"`, `"href"`) contains a value.\nFor example: `{"name": "description", "content": "the description itself"}`.'
|
|
1426
1490
|
).optional().nullable(),
|
|
1427
|
-
meta: z.record(z.string(), z.any()).describe(
|
|
1491
|
+
meta: /* @__PURE__ */ z.record(/* @__PURE__ */ z.string(), /* @__PURE__ */ z.any()).describe(
|
|
1428
1492
|
'SEO tag metadata. For example, `{"height": 300, "width": 240}`.'
|
|
1429
1493
|
).optional().nullable(),
|
|
1430
|
-
children: z.string().describe(
|
|
1494
|
+
children: /* @__PURE__ */ z.string().describe(
|
|
1431
1495
|
"SEO tag inner content. For example, `<title> inner content </title>`."
|
|
1432
1496
|
).optional(),
|
|
1433
|
-
custom: z.boolean().describe(
|
|
1497
|
+
custom: /* @__PURE__ */ z.boolean().describe(
|
|
1434
1498
|
"Whether the tag is a [custom tag](https://support.wix.com/en/article/adding-additional-meta-tags-to-your-sites-pages) \u2014\ni.e. an entry from the site's Advanced/Custom Tags list.\n\nSetting this to `true` on a write restricts which `type` values are accepted\n\u2014 the same restriction the Advanced/Custom Tags UI enforces. `title` and\n`script` tags (including JSON-LD structured data) must be sent with `custom`\nomitted or `false`; sending them with `custom: true` is rejected with\n`TAG_TYPE_NOT_ALLOWED`.\n\nNote this is a separate restriction from Site SEO Tags' own type restriction on\n`SiteSeoTags.tags`: even with `custom` unset, Site SEO Tags rejects `script` (e.g.\nfor site-wide structured data) unconditionally. There is currently no way to set\nsite-wide, every-page structured data through any of these APIs \u2014 write a per-page\n`script` tag through the Item SEO Tags API instead.\n\nThis flag is scoped to that feature only. It is NOT an indicator of whether a standard tag\n(`title`, `description`, Open Graph, etc.) reflects a manually configured value versus a computed\ndefault/pattern \u2014 standard tags always resolve with `custom: false`, even when their content comes\nfrom a page's manually saved SEO title/description override. Don't use this field to verify whether\na live page reflects a manual per-page SEO edit.\n\nLimitation: when `ResolveStaticPageSeoTags` is called without `seoData`, the per-page SEO data is read\nonly from the Vibe/Wix-managed-headless override store. That store holds nothing for classic Wix Editor\nor Wix Studio pages, so even genuine Advanced/Custom Tags saved on those pages are missing from the\nresponse entirely \u2014 there, `false` means this API could not tell, not that no custom tag exists.\nPass `seoData` explicitly to resolve against a known set of tags."
|
|
1435
1499
|
).optional(),
|
|
1436
|
-
disabled: z.boolean().describe(
|
|
1500
|
+
disabled: /* @__PURE__ */ z.boolean().describe(
|
|
1437
1501
|
"Whether the tag is disabled. If the tag is disabled, people can't find your page when searching for this phrase in search engines."
|
|
1438
1502
|
).optional()
|
|
1439
1503
|
})
|
|
1440
1504
|
).optional(),
|
|
1441
|
-
settings: z.object({
|
|
1442
|
-
preventAutoRedirect: z.boolean().describe(
|
|
1505
|
+
settings: /* @__PURE__ */ z.object({
|
|
1506
|
+
preventAutoRedirect: /* @__PURE__ */ z.boolean().describe(
|
|
1443
1507
|
"Whether the [automatical redirect visits](https://support.wix.com/en/article/customizing-your-pages-seo-settings-in-the-seo-panel) from the old URL to the new one is enabled.\n\n\nDefault: `false` (automatical redirect is enabled)."
|
|
1444
1508
|
).optional(),
|
|
1445
|
-
keywords: z.array(
|
|
1446
|
-
z.object({
|
|
1447
|
-
term: z.string().describe("Keyword value.").optional(),
|
|
1448
|
-
isMain: z.boolean().describe(
|
|
1509
|
+
keywords: /* @__PURE__ */ z.array(
|
|
1510
|
+
/* @__PURE__ */ z.object({
|
|
1511
|
+
term: /* @__PURE__ */ z.string().describe("Keyword value.").optional(),
|
|
1512
|
+
isMain: /* @__PURE__ */ z.boolean().describe(
|
|
1449
1513
|
"Whether the keyword is the main focus keyword."
|
|
1450
1514
|
).optional(),
|
|
1451
|
-
origin: z.string().describe(
|
|
1515
|
+
origin: /* @__PURE__ */ z.string().describe(
|
|
1452
1516
|
"The source that added the keyword terms to the SEO settings."
|
|
1453
1517
|
).max(1e3).optional().nullable()
|
|
1454
1518
|
})
|
|
1455
1519
|
).max(5).optional()
|
|
1456
1520
|
}).describe("SEO general settings.").optional()
|
|
1457
1521
|
}).describe("Custom SEO data for the category.").optional(),
|
|
1458
|
-
richContentDescription: z.any().describe(
|
|
1522
|
+
richContentDescription: /* @__PURE__ */ z.any().describe(
|
|
1459
1523
|
'Category description using rich content.\n> **Note:** Returned only when you pass `"RICH_CONTENT_DESCRIPTION"` to the `fields` array in Categories API requests.\n\n<widget src="https://apps.wix.com/_serverless/ricos-playground-services/goto/api-component" plugins="indent.emoji.divider.codeBlock.file.gallery.giphy.image.table.link.textHighlight.textColor" exampleid="7dc9240e-d548-417a-abcf-0291b68b4303">\n<a href="https://dev.wix.com/docs/ricos/api-reference/ricos-document">See Ricos document reference</a>\n</widget>'
|
|
1460
1524
|
).optional(),
|
|
1461
|
-
treeReference: z.object({
|
|
1462
|
-
appNamespace: z.string().describe(
|
|
1525
|
+
treeReference: /* @__PURE__ */ z.object({
|
|
1526
|
+
appNamespace: /* @__PURE__ */ z.string().describe(
|
|
1463
1527
|
'Namespace of the app whose catalog this category tree belongs to.\n\nCurrently, only `"@wix/stores"` is supported.'
|
|
1464
1528
|
).min(4).max(150).optional(),
|
|
1465
|
-
treeKey: z.string().describe(
|
|
1529
|
+
treeKey: /* @__PURE__ */ z.string().describe(
|
|
1466
1530
|
"Key to differentiate between multiple trees managed by the same app.\n\nFor Wix Stores, pass `null` or omit this field, as each store has only one category tree."
|
|
1467
1531
|
).min(1).max(44).optional().nullable()
|
|
1468
1532
|
}).describe(
|
|
1469
1533
|
'Reference to the category tree this category belongs to.\n\nWhen working with Wix Stores categories, always pass `appNamespace: "@wix/stores"` and `treeKey: null`.'
|
|
1470
1534
|
).optional(),
|
|
1471
|
-
managingAppId: z.string().describe(
|
|
1535
|
+
managingAppId: /* @__PURE__ */ z.string().describe(
|
|
1472
1536
|
"ID of the app responsible for managing items in this category.\n\nWhen set, only the specified app can add or remove items from this category. This is useful for third-party apps that want to create categories exclusively managed by their app, preventing site owners or other apps from modifying the category's items.\n\nYou can get your app's ID from the [app dashboard](https://dev.wix.com/dc3/my-apps/)."
|
|
1473
1537
|
).regex(
|
|
1474
1538
|
/^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}$/,
|
|
1475
1539
|
"Must be a valid GUID"
|
|
1476
1540
|
).optional().nullable(),
|
|
1477
|
-
extendedFields: z.object({
|
|
1478
|
-
namespaces:
|
|
1541
|
+
extendedFields: /* @__PURE__ */ z.object({
|
|
1542
|
+
namespaces: /* @__PURE__ */ z.record(
|
|
1543
|
+
/* @__PURE__ */ z.string(),
|
|
1544
|
+
/* @__PURE__ */ z.record(
|
|
1545
|
+
/* @__PURE__ */ z.string(),
|
|
1546
|
+
/* @__PURE__ */ z.any()
|
|
1547
|
+
)
|
|
1548
|
+
).describe(
|
|
1479
1549
|
"Extended field data. Each key corresponds to the namespace of the app that created the extended fields.\nThe value of each key is structured according to the schema defined when the extended fields were configured.\n\nYou can only access fields for which you have the appropriate permissions.\n\nLearn more about [extended fields](https://dev.wix.com/docs/rest/articles/getting-started/extended-fields)."
|
|
1480
1550
|
).optional()
|
|
1481
1551
|
}).describe(
|
|
@@ -1483,105 +1553,105 @@ var SearchCategoriesResponse = /* @__PURE__ */ z.object({
|
|
|
1483
1553
|
).optional()
|
|
1484
1554
|
})
|
|
1485
1555
|
).min(0).max(1e3).optional(),
|
|
1486
|
-
pagingMetadata: z.object({
|
|
1487
|
-
count: z.number().int().describe("Number of items returned in the response.").optional().nullable(),
|
|
1488
|
-
cursors: z.object({
|
|
1489
|
-
next: z.string().describe(
|
|
1556
|
+
pagingMetadata: /* @__PURE__ */ z.object({
|
|
1557
|
+
count: /* @__PURE__ */ z.number().int().describe("Number of items returned in the response.").optional().nullable(),
|
|
1558
|
+
cursors: /* @__PURE__ */ z.object({
|
|
1559
|
+
next: /* @__PURE__ */ z.string().describe(
|
|
1490
1560
|
"Cursor string pointing to the next page in the list of results."
|
|
1491
1561
|
).max(16e3).optional().nullable(),
|
|
1492
|
-
prev: z.string().describe(
|
|
1562
|
+
prev: /* @__PURE__ */ z.string().describe(
|
|
1493
1563
|
"Cursor pointing to the previous page in the list of results."
|
|
1494
1564
|
).max(16e3).optional().nullable()
|
|
1495
1565
|
}).describe(
|
|
1496
1566
|
"Cursor strings that point to the next page, previous page, or both."
|
|
1497
1567
|
).optional(),
|
|
1498
|
-
hasNext: z.boolean().describe(
|
|
1568
|
+
hasNext: /* @__PURE__ */ z.boolean().describe(
|
|
1499
1569
|
"Whether there are more pages to retrieve following the current page.\n\n+ `true`: Another page of results can be retrieved.\n+ `false`: This is the last page."
|
|
1500
1570
|
).optional().nullable()
|
|
1501
1571
|
}).describe(
|
|
1502
1572
|
"Cursor-based paging metadata for navigating search results.\n\nContains the current page's cursor information, whether there are more results available,\nand count details. Use the `next` cursor to retrieve subsequent pages of results."
|
|
1503
1573
|
).optional(),
|
|
1504
|
-
aggregationData: z.object({
|
|
1505
|
-
results: z.array(
|
|
1506
|
-
z.intersection(
|
|
1507
|
-
z.object({
|
|
1508
|
-
name: z.string().describe(
|
|
1574
|
+
aggregationData: /* @__PURE__ */ z.object({
|
|
1575
|
+
results: /* @__PURE__ */ z.array(
|
|
1576
|
+
/* @__PURE__ */ z.intersection(
|
|
1577
|
+
/* @__PURE__ */ z.object({
|
|
1578
|
+
name: /* @__PURE__ */ z.string().describe(
|
|
1509
1579
|
"User-defined name of aggregation as derived from search request."
|
|
1510
1580
|
).max(100).optional(),
|
|
1511
|
-
type: z.enum(["VALUE", "RANGE", "SCALAR", "DATE_HISTOGRAM", "NESTED"]).describe(
|
|
1581
|
+
type: /* @__PURE__ */ z.enum(["VALUE", "RANGE", "SCALAR", "DATE_HISTOGRAM", "NESTED"]).describe(
|
|
1512
1582
|
"Type of aggregation that must match specified kind as derived from search request."
|
|
1513
1583
|
).optional(),
|
|
1514
|
-
fieldPath: z.string().describe(
|
|
1584
|
+
fieldPath: /* @__PURE__ */ z.string().describe(
|
|
1515
1585
|
"Path to the field to aggregate by in dot notation. For example `appNamespace`."
|
|
1516
1586
|
).max(200).optional()
|
|
1517
1587
|
}),
|
|
1518
|
-
z.xor([
|
|
1519
|
-
z.object({
|
|
1520
|
-
values: z.never().optional(),
|
|
1521
|
-
ranges: z.never().optional(),
|
|
1522
|
-
scalar: z.never().optional(),
|
|
1523
|
-
groupedByValue: z.never().optional(),
|
|
1524
|
-
dateHistogram: z.never().optional(),
|
|
1525
|
-
nested: z.never().optional()
|
|
1588
|
+
/* @__PURE__ */ z.xor([
|
|
1589
|
+
/* @__PURE__ */ z.object({
|
|
1590
|
+
values: /* @__PURE__ */ z.never().optional(),
|
|
1591
|
+
ranges: /* @__PURE__ */ z.never().optional(),
|
|
1592
|
+
scalar: /* @__PURE__ */ z.never().optional(),
|
|
1593
|
+
groupedByValue: /* @__PURE__ */ z.never().optional(),
|
|
1594
|
+
dateHistogram: /* @__PURE__ */ z.never().optional(),
|
|
1595
|
+
nested: /* @__PURE__ */ z.never().optional()
|
|
1526
1596
|
}),
|
|
1527
|
-
z.object({
|
|
1528
|
-
ranges: z.never().optional(),
|
|
1529
|
-
scalar: z.never().optional(),
|
|
1530
|
-
groupedByValue: z.never().optional(),
|
|
1531
|
-
dateHistogram: z.never().optional(),
|
|
1532
|
-
nested: z.never().optional(),
|
|
1533
|
-
values: z.object({
|
|
1534
|
-
results: z.array(
|
|
1535
|
-
z.object({
|
|
1536
|
-
value: z.string().describe("Value of the field").max(100).optional(),
|
|
1537
|
-
count: z.number().int().describe("Count of entities with this value").optional()
|
|
1597
|
+
/* @__PURE__ */ z.object({
|
|
1598
|
+
ranges: /* @__PURE__ */ z.never().optional(),
|
|
1599
|
+
scalar: /* @__PURE__ */ z.never().optional(),
|
|
1600
|
+
groupedByValue: /* @__PURE__ */ z.never().optional(),
|
|
1601
|
+
dateHistogram: /* @__PURE__ */ z.never().optional(),
|
|
1602
|
+
nested: /* @__PURE__ */ z.never().optional(),
|
|
1603
|
+
values: /* @__PURE__ */ z.object({
|
|
1604
|
+
results: /* @__PURE__ */ z.array(
|
|
1605
|
+
/* @__PURE__ */ z.object({
|
|
1606
|
+
value: /* @__PURE__ */ z.string().describe("Value of the field").max(100).optional(),
|
|
1607
|
+
count: /* @__PURE__ */ z.number().int().describe("Count of entities with this value").optional()
|
|
1538
1608
|
})
|
|
1539
1609
|
).max(250).optional()
|
|
1540
1610
|
}).describe("Value aggregation results.")
|
|
1541
1611
|
}),
|
|
1542
|
-
z.object({
|
|
1543
|
-
values: z.never().optional(),
|
|
1544
|
-
scalar: z.never().optional(),
|
|
1545
|
-
groupedByValue: z.never().optional(),
|
|
1546
|
-
dateHistogram: z.never().optional(),
|
|
1547
|
-
nested: z.never().optional(),
|
|
1548
|
-
ranges: z.object({
|
|
1549
|
-
results: z.array(
|
|
1550
|
-
z.object({
|
|
1551
|
-
from: z.number().describe("Inclusive lower bound of the range.").optional().nullable(),
|
|
1552
|
-
to: z.number().describe("Exclusive upper bound of the range.").optional().nullable(),
|
|
1553
|
-
count: z.number().int().describe("Count of entities in this range.").optional()
|
|
1612
|
+
/* @__PURE__ */ z.object({
|
|
1613
|
+
values: /* @__PURE__ */ z.never().optional(),
|
|
1614
|
+
scalar: /* @__PURE__ */ z.never().optional(),
|
|
1615
|
+
groupedByValue: /* @__PURE__ */ z.never().optional(),
|
|
1616
|
+
dateHistogram: /* @__PURE__ */ z.never().optional(),
|
|
1617
|
+
nested: /* @__PURE__ */ z.never().optional(),
|
|
1618
|
+
ranges: /* @__PURE__ */ z.object({
|
|
1619
|
+
results: /* @__PURE__ */ z.array(
|
|
1620
|
+
/* @__PURE__ */ z.object({
|
|
1621
|
+
from: /* @__PURE__ */ z.number().describe("Inclusive lower bound of the range.").optional().nullable(),
|
|
1622
|
+
to: /* @__PURE__ */ z.number().describe("Exclusive upper bound of the range.").optional().nullable(),
|
|
1623
|
+
count: /* @__PURE__ */ z.number().int().describe("Count of entities in this range.").optional()
|
|
1554
1624
|
})
|
|
1555
1625
|
).max(50).optional()
|
|
1556
1626
|
}).describe("Range aggregation results.")
|
|
1557
1627
|
}),
|
|
1558
|
-
z.object({
|
|
1559
|
-
values: z.never().optional(),
|
|
1560
|
-
ranges: z.never().optional(),
|
|
1561
|
-
groupedByValue: z.never().optional(),
|
|
1562
|
-
dateHistogram: z.never().optional(),
|
|
1563
|
-
nested: z.never().optional(),
|
|
1564
|
-
scalar: z.object({
|
|
1565
|
-
type: z.enum(["COUNT_DISTINCT", "MIN", "MAX"]).describe("Type of scalar aggregation.").optional(),
|
|
1566
|
-
value: z.number().describe("Value of the scalar aggregation.").optional()
|
|
1628
|
+
/* @__PURE__ */ z.object({
|
|
1629
|
+
values: /* @__PURE__ */ z.never().optional(),
|
|
1630
|
+
ranges: /* @__PURE__ */ z.never().optional(),
|
|
1631
|
+
groupedByValue: /* @__PURE__ */ z.never().optional(),
|
|
1632
|
+
dateHistogram: /* @__PURE__ */ z.never().optional(),
|
|
1633
|
+
nested: /* @__PURE__ */ z.never().optional(),
|
|
1634
|
+
scalar: /* @__PURE__ */ z.object({
|
|
1635
|
+
type: /* @__PURE__ */ z.enum(["COUNT_DISTINCT", "MIN", "MAX"]).describe("Type of scalar aggregation.").optional(),
|
|
1636
|
+
value: /* @__PURE__ */ z.number().describe("Value of the scalar aggregation.").optional()
|
|
1567
1637
|
}).describe("Scalar aggregation results.")
|
|
1568
1638
|
}),
|
|
1569
|
-
z.object({
|
|
1570
|
-
values: z.never().optional(),
|
|
1571
|
-
ranges: z.never().optional(),
|
|
1572
|
-
scalar: z.never().optional(),
|
|
1573
|
-
dateHistogram: z.never().optional(),
|
|
1574
|
-
nested: z.never().optional(),
|
|
1575
|
-
groupedByValue: z.object({
|
|
1576
|
-
results: z.array(
|
|
1577
|
-
z.object({
|
|
1578
|
-
value: z.string().describe("Value of the field.").max(1e3).optional(),
|
|
1579
|
-
nestedResults: z.intersection(
|
|
1580
|
-
z.object({
|
|
1581
|
-
name: z.string().describe(
|
|
1639
|
+
/* @__PURE__ */ z.object({
|
|
1640
|
+
values: /* @__PURE__ */ z.never().optional(),
|
|
1641
|
+
ranges: /* @__PURE__ */ z.never().optional(),
|
|
1642
|
+
scalar: /* @__PURE__ */ z.never().optional(),
|
|
1643
|
+
dateHistogram: /* @__PURE__ */ z.never().optional(),
|
|
1644
|
+
nested: /* @__PURE__ */ z.never().optional(),
|
|
1645
|
+
groupedByValue: /* @__PURE__ */ z.object({
|
|
1646
|
+
results: /* @__PURE__ */ z.array(
|
|
1647
|
+
/* @__PURE__ */ z.object({
|
|
1648
|
+
value: /* @__PURE__ */ z.string().describe("Value of the field.").max(1e3).optional(),
|
|
1649
|
+
nestedResults: /* @__PURE__ */ z.intersection(
|
|
1650
|
+
/* @__PURE__ */ z.object({
|
|
1651
|
+
name: /* @__PURE__ */ z.string().describe(
|
|
1582
1652
|
"User-defined name of aggregation, matches the one specified in request."
|
|
1583
1653
|
).max(100).optional(),
|
|
1584
|
-
type: z.enum([
|
|
1654
|
+
type: /* @__PURE__ */ z.enum([
|
|
1585
1655
|
"VALUE",
|
|
1586
1656
|
"RANGE",
|
|
1587
1657
|
"SCALAR",
|
|
@@ -1590,55 +1660,55 @@ var SearchCategoriesResponse = /* @__PURE__ */ z.object({
|
|
|
1590
1660
|
]).describe(
|
|
1591
1661
|
"Type of aggregation that matches result."
|
|
1592
1662
|
).optional(),
|
|
1593
|
-
fieldPath: z.string().describe(
|
|
1663
|
+
fieldPath: /* @__PURE__ */ z.string().describe(
|
|
1594
1664
|
"Path to the field to aggregate by in dot notation. For example `appNamespace`."
|
|
1595
1665
|
).max(200).optional()
|
|
1596
1666
|
}),
|
|
1597
|
-
z.xor([
|
|
1598
|
-
z.object({
|
|
1599
|
-
values: z.never().optional(),
|
|
1600
|
-
ranges: z.never().optional(),
|
|
1601
|
-
scalar: z.never().optional()
|
|
1667
|
+
/* @__PURE__ */ z.xor([
|
|
1668
|
+
/* @__PURE__ */ z.object({
|
|
1669
|
+
values: /* @__PURE__ */ z.never().optional(),
|
|
1670
|
+
ranges: /* @__PURE__ */ z.never().optional(),
|
|
1671
|
+
scalar: /* @__PURE__ */ z.never().optional()
|
|
1602
1672
|
}),
|
|
1603
|
-
z.object({
|
|
1604
|
-
ranges: z.never().optional(),
|
|
1605
|
-
scalar: z.never().optional(),
|
|
1606
|
-
values: z.object({
|
|
1607
|
-
results: z.array(
|
|
1608
|
-
z.object({
|
|
1609
|
-
value: z.string().describe("Value of the field").max(100).optional(),
|
|
1610
|
-
count: z.number().int().describe(
|
|
1673
|
+
/* @__PURE__ */ z.object({
|
|
1674
|
+
ranges: /* @__PURE__ */ z.never().optional(),
|
|
1675
|
+
scalar: /* @__PURE__ */ z.never().optional(),
|
|
1676
|
+
values: /* @__PURE__ */ z.object({
|
|
1677
|
+
results: /* @__PURE__ */ z.array(
|
|
1678
|
+
/* @__PURE__ */ z.object({
|
|
1679
|
+
value: /* @__PURE__ */ z.string().describe("Value of the field").max(100).optional(),
|
|
1680
|
+
count: /* @__PURE__ */ z.number().int().describe(
|
|
1611
1681
|
"Count of entities with this value"
|
|
1612
1682
|
).optional()
|
|
1613
1683
|
})
|
|
1614
1684
|
).max(250).optional()
|
|
1615
1685
|
}).describe("Value aggregation results.")
|
|
1616
1686
|
}),
|
|
1617
|
-
z.object({
|
|
1618
|
-
values: z.never().optional(),
|
|
1619
|
-
scalar: z.never().optional(),
|
|
1620
|
-
ranges: z.object({
|
|
1621
|
-
results: z.array(
|
|
1622
|
-
z.object({
|
|
1623
|
-
from: z.number().describe(
|
|
1687
|
+
/* @__PURE__ */ z.object({
|
|
1688
|
+
values: /* @__PURE__ */ z.never().optional(),
|
|
1689
|
+
scalar: /* @__PURE__ */ z.never().optional(),
|
|
1690
|
+
ranges: /* @__PURE__ */ z.object({
|
|
1691
|
+
results: /* @__PURE__ */ z.array(
|
|
1692
|
+
/* @__PURE__ */ z.object({
|
|
1693
|
+
from: /* @__PURE__ */ z.number().describe(
|
|
1624
1694
|
"Inclusive lower bound of the range."
|
|
1625
1695
|
).optional().nullable(),
|
|
1626
|
-
to: z.number().describe(
|
|
1696
|
+
to: /* @__PURE__ */ z.number().describe(
|
|
1627
1697
|
"Exclusive upper bound of the range."
|
|
1628
1698
|
).optional().nullable(),
|
|
1629
|
-
count: z.number().int().describe(
|
|
1699
|
+
count: /* @__PURE__ */ z.number().int().describe(
|
|
1630
1700
|
"Count of entities in this range."
|
|
1631
1701
|
).optional()
|
|
1632
1702
|
})
|
|
1633
1703
|
).max(50).optional()
|
|
1634
1704
|
}).describe("Range aggregation results.")
|
|
1635
1705
|
}),
|
|
1636
|
-
z.object({
|
|
1637
|
-
values: z.never().optional(),
|
|
1638
|
-
ranges: z.never().optional(),
|
|
1639
|
-
scalar: z.object({
|
|
1640
|
-
type: z.enum(["COUNT_DISTINCT", "MIN", "MAX"]).describe("Type of scalar aggregation.").optional(),
|
|
1641
|
-
value: z.number().describe(
|
|
1706
|
+
/* @__PURE__ */ z.object({
|
|
1707
|
+
values: /* @__PURE__ */ z.never().optional(),
|
|
1708
|
+
ranges: /* @__PURE__ */ z.never().optional(),
|
|
1709
|
+
scalar: /* @__PURE__ */ z.object({
|
|
1710
|
+
type: /* @__PURE__ */ z.enum(["COUNT_DISTINCT", "MIN", "MAX"]).describe("Type of scalar aggregation.").optional(),
|
|
1711
|
+
value: /* @__PURE__ */ z.number().describe(
|
|
1642
1712
|
"Value of the scalar aggregation."
|
|
1643
1713
|
).optional()
|
|
1644
1714
|
}).describe("Scalar aggregation results.")
|
|
@@ -1649,87 +1719,87 @@ var SearchCategoriesResponse = /* @__PURE__ */ z.object({
|
|
|
1649
1719
|
).max(1e3).optional()
|
|
1650
1720
|
}).describe("Group by value aggregation results.")
|
|
1651
1721
|
}),
|
|
1652
|
-
z.object({
|
|
1653
|
-
values: z.never().optional(),
|
|
1654
|
-
ranges: z.never().optional(),
|
|
1655
|
-
scalar: z.never().optional(),
|
|
1656
|
-
groupedByValue: z.never().optional(),
|
|
1657
|
-
nested: z.never().optional(),
|
|
1658
|
-
dateHistogram: z.object({
|
|
1659
|
-
results: z.array(
|
|
1660
|
-
z.object({
|
|
1661
|
-
value: z.string().describe(
|
|
1722
|
+
/* @__PURE__ */ z.object({
|
|
1723
|
+
values: /* @__PURE__ */ z.never().optional(),
|
|
1724
|
+
ranges: /* @__PURE__ */ z.never().optional(),
|
|
1725
|
+
scalar: /* @__PURE__ */ z.never().optional(),
|
|
1726
|
+
groupedByValue: /* @__PURE__ */ z.never().optional(),
|
|
1727
|
+
nested: /* @__PURE__ */ z.never().optional(),
|
|
1728
|
+
dateHistogram: /* @__PURE__ */ z.object({
|
|
1729
|
+
results: /* @__PURE__ */ z.array(
|
|
1730
|
+
/* @__PURE__ */ z.object({
|
|
1731
|
+
value: /* @__PURE__ */ z.string().describe(
|
|
1662
1732
|
"Date in [ISO 8601 format](https://en.wikipedia.org/wiki/ISO_8601)."
|
|
1663
1733
|
).max(100).optional(),
|
|
1664
|
-
count: z.number().int().describe("Count of documents in the bucket.").optional()
|
|
1734
|
+
count: /* @__PURE__ */ z.number().int().describe("Count of documents in the bucket.").optional()
|
|
1665
1735
|
})
|
|
1666
1736
|
).max(200).optional()
|
|
1667
1737
|
}).describe("Date histogram aggregation results.")
|
|
1668
1738
|
}),
|
|
1669
|
-
z.object({
|
|
1670
|
-
values: z.never().optional(),
|
|
1671
|
-
ranges: z.never().optional(),
|
|
1672
|
-
scalar: z.never().optional(),
|
|
1673
|
-
groupedByValue: z.never().optional(),
|
|
1674
|
-
dateHistogram: z.never().optional(),
|
|
1675
|
-
nested: z.object({
|
|
1676
|
-
results: z.array(
|
|
1677
|
-
z.object({
|
|
1678
|
-
results: z.record(
|
|
1679
|
-
z.string(),
|
|
1680
|
-
z.intersection(
|
|
1681
|
-
z.object({}),
|
|
1682
|
-
z.xor([
|
|
1683
|
-
z.object({
|
|
1684
|
-
value: z.never().optional(),
|
|
1685
|
-
range: z.never().optional(),
|
|
1686
|
-
scalar: z.never().optional(),
|
|
1687
|
-
dateHistogram: z.never().optional()
|
|
1739
|
+
/* @__PURE__ */ z.object({
|
|
1740
|
+
values: /* @__PURE__ */ z.never().optional(),
|
|
1741
|
+
ranges: /* @__PURE__ */ z.never().optional(),
|
|
1742
|
+
scalar: /* @__PURE__ */ z.never().optional(),
|
|
1743
|
+
groupedByValue: /* @__PURE__ */ z.never().optional(),
|
|
1744
|
+
dateHistogram: /* @__PURE__ */ z.never().optional(),
|
|
1745
|
+
nested: /* @__PURE__ */ z.object({
|
|
1746
|
+
results: /* @__PURE__ */ z.array(
|
|
1747
|
+
/* @__PURE__ */ z.object({
|
|
1748
|
+
results: /* @__PURE__ */ z.record(
|
|
1749
|
+
/* @__PURE__ */ z.string(),
|
|
1750
|
+
/* @__PURE__ */ z.intersection(
|
|
1751
|
+
/* @__PURE__ */ z.object({}),
|
|
1752
|
+
/* @__PURE__ */ z.xor([
|
|
1753
|
+
/* @__PURE__ */ z.object({
|
|
1754
|
+
value: /* @__PURE__ */ z.never().optional(),
|
|
1755
|
+
range: /* @__PURE__ */ z.never().optional(),
|
|
1756
|
+
scalar: /* @__PURE__ */ z.never().optional(),
|
|
1757
|
+
dateHistogram: /* @__PURE__ */ z.never().optional()
|
|
1688
1758
|
}),
|
|
1689
|
-
z.object({
|
|
1690
|
-
range: z.never().optional(),
|
|
1691
|
-
scalar: z.never().optional(),
|
|
1692
|
-
dateHistogram: z.never().optional(),
|
|
1693
|
-
value: z.object({
|
|
1694
|
-
value: z.string().describe("Value of the field.").max(1e3).optional(),
|
|
1695
|
-
count: z.number().int().describe(
|
|
1759
|
+
/* @__PURE__ */ z.object({
|
|
1760
|
+
range: /* @__PURE__ */ z.never().optional(),
|
|
1761
|
+
scalar: /* @__PURE__ */ z.never().optional(),
|
|
1762
|
+
dateHistogram: /* @__PURE__ */ z.never().optional(),
|
|
1763
|
+
value: /* @__PURE__ */ z.object({
|
|
1764
|
+
value: /* @__PURE__ */ z.string().describe("Value of the field.").max(1e3).optional(),
|
|
1765
|
+
count: /* @__PURE__ */ z.number().int().describe(
|
|
1696
1766
|
"Count of entities with this value."
|
|
1697
1767
|
).optional().nullable()
|
|
1698
1768
|
}).describe("Value aggregation result.")
|
|
1699
1769
|
}),
|
|
1700
|
-
z.object({
|
|
1701
|
-
value: z.never().optional(),
|
|
1702
|
-
scalar: z.never().optional(),
|
|
1703
|
-
dateHistogram: z.never().optional(),
|
|
1704
|
-
range: z.object({
|
|
1705
|
-
from: z.number().describe(
|
|
1770
|
+
/* @__PURE__ */ z.object({
|
|
1771
|
+
value: /* @__PURE__ */ z.never().optional(),
|
|
1772
|
+
scalar: /* @__PURE__ */ z.never().optional(),
|
|
1773
|
+
dateHistogram: /* @__PURE__ */ z.never().optional(),
|
|
1774
|
+
range: /* @__PURE__ */ z.object({
|
|
1775
|
+
from: /* @__PURE__ */ z.number().describe(
|
|
1706
1776
|
"Inclusive lower bound of the range."
|
|
1707
1777
|
).optional().nullable(),
|
|
1708
|
-
to: z.number().describe(
|
|
1778
|
+
to: /* @__PURE__ */ z.number().describe(
|
|
1709
1779
|
"Exclusive upper bound of the range."
|
|
1710
1780
|
).optional().nullable(),
|
|
1711
|
-
count: z.number().int().describe(
|
|
1781
|
+
count: /* @__PURE__ */ z.number().int().describe(
|
|
1712
1782
|
"Count of entities in this range."
|
|
1713
1783
|
).optional().nullable()
|
|
1714
1784
|
}).describe("Range aggregation result.")
|
|
1715
1785
|
}),
|
|
1716
|
-
z.object({
|
|
1717
|
-
value: z.never().optional(),
|
|
1718
|
-
range: z.never().optional(),
|
|
1719
|
-
dateHistogram: z.never().optional(),
|
|
1720
|
-
scalar: z.object({
|
|
1721
|
-
value: z.number().describe(
|
|
1786
|
+
/* @__PURE__ */ z.object({
|
|
1787
|
+
value: /* @__PURE__ */ z.never().optional(),
|
|
1788
|
+
range: /* @__PURE__ */ z.never().optional(),
|
|
1789
|
+
dateHistogram: /* @__PURE__ */ z.never().optional(),
|
|
1790
|
+
scalar: /* @__PURE__ */ z.object({
|
|
1791
|
+
value: /* @__PURE__ */ z.number().describe(
|
|
1722
1792
|
"Value of the scalar aggregation."
|
|
1723
1793
|
).optional()
|
|
1724
1794
|
}).describe("Scalar aggregation result.")
|
|
1725
1795
|
}),
|
|
1726
|
-
z.object({
|
|
1727
|
-
value: z.never().optional(),
|
|
1728
|
-
range: z.never().optional(),
|
|
1729
|
-
scalar: z.never().optional(),
|
|
1730
|
-
dateHistogram: z.object({
|
|
1731
|
-
value: z.string().describe("Value of the field.").max(1e3).optional(),
|
|
1732
|
-
count: z.number().int().describe(
|
|
1796
|
+
/* @__PURE__ */ z.object({
|
|
1797
|
+
value: /* @__PURE__ */ z.never().optional(),
|
|
1798
|
+
range: /* @__PURE__ */ z.never().optional(),
|
|
1799
|
+
scalar: /* @__PURE__ */ z.never().optional(),
|
|
1800
|
+
dateHistogram: /* @__PURE__ */ z.object({
|
|
1801
|
+
value: /* @__PURE__ */ z.string().describe("Value of the field.").max(1e3).optional(),
|
|
1802
|
+
count: /* @__PURE__ */ z.number().int().describe(
|
|
1733
1803
|
"Count of entities with this value."
|
|
1734
1804
|
).optional().nullable()
|
|
1735
1805
|
}).describe(
|
|
@@ -1753,187 +1823,193 @@ var SearchCategoriesResponse = /* @__PURE__ */ z.object({
|
|
|
1753
1823
|
).optional()
|
|
1754
1824
|
});
|
|
1755
1825
|
var CountCategoriesRequest = /* @__PURE__ */ z.object({
|
|
1756
|
-
options: z.object({
|
|
1757
|
-
filter: z.record(z.string(), z.any()).describe(
|
|
1826
|
+
options: /* @__PURE__ */ z.object({
|
|
1827
|
+
filter: /* @__PURE__ */ z.record(/* @__PURE__ */ z.string(), /* @__PURE__ */ z.any()).describe(
|
|
1758
1828
|
"Filter object.\n\nLearn more about the [filter object structure](https://dev.wix.com/docs/api-reference/articles/work-with-wix-apis/data-retrieval/about-the-wix-api-query-language#filters)."
|
|
1759
1829
|
).optional().nullable(),
|
|
1760
|
-
search: z.object({
|
|
1761
|
-
mode: z.enum(["OR", "AND"]).optional(),
|
|
1762
|
-
expression: z.string().describe("Search term or expression.").max(100).optional().nullable(),
|
|
1763
|
-
fields: z.array(z.string()).max(20).optional(),
|
|
1764
|
-
fuzzy: z.boolean().describe(
|
|
1830
|
+
search: /* @__PURE__ */ z.object({
|
|
1831
|
+
mode: /* @__PURE__ */ z.enum(["OR", "AND"]).optional(),
|
|
1832
|
+
expression: /* @__PURE__ */ z.string().describe("Search term or expression.").max(100).optional().nullable(),
|
|
1833
|
+
fields: /* @__PURE__ */ z.array(/* @__PURE__ */ z.string()).max(20).optional(),
|
|
1834
|
+
fuzzy: /* @__PURE__ */ z.boolean().describe(
|
|
1765
1835
|
"Whether to enable the search method to use an algorithm to automatically find results that are close to the search expression, such as typos and declensions."
|
|
1766
1836
|
).optional()
|
|
1767
1837
|
}).describe("Search options.").optional(),
|
|
1768
|
-
treeReference: z.object({
|
|
1769
|
-
appNamespace: z.string().describe(
|
|
1838
|
+
treeReference: /* @__PURE__ */ z.object({
|
|
1839
|
+
appNamespace: /* @__PURE__ */ z.string().describe(
|
|
1770
1840
|
'Namespace of the app whose catalog this category tree belongs to.\n\nCurrently, only `"@wix/stores"` is supported.'
|
|
1771
1841
|
).min(4).max(150),
|
|
1772
|
-
treeKey: z.string().describe(
|
|
1842
|
+
treeKey: /* @__PURE__ */ z.string().describe(
|
|
1773
1843
|
"Key to differentiate between multiple trees managed by the same app.\n\nFor Wix Stores, pass `null` or omit this field, as each store has only one category tree."
|
|
1774
1844
|
).min(1).max(44).optional().nullable()
|
|
1775
1845
|
}).describe("Category tree reference details."),
|
|
1776
|
-
returnNonVisibleCategories: z.boolean().describe(
|
|
1846
|
+
returnNonVisibleCategories: /* @__PURE__ */ z.boolean().describe(
|
|
1777
1847
|
"Whether to return categories with `visible: false` (hidden categories).\n\nDefault: `false` - only visible categories are returned in the response"
|
|
1778
1848
|
).optional()
|
|
1779
1849
|
})
|
|
1780
1850
|
});
|
|
1781
1851
|
var CountCategoriesResponse = /* @__PURE__ */ z.object({
|
|
1782
|
-
count: z.number().int().describe(
|
|
1852
|
+
count: /* @__PURE__ */ z.number().int().describe(
|
|
1783
1853
|
"Total count of categories which satisfy the given filter and/or search."
|
|
1784
1854
|
).optional()
|
|
1785
1855
|
});
|
|
1786
1856
|
var MoveCategoryRequest = /* @__PURE__ */ z.object({
|
|
1787
|
-
categoryId: z.string().describe("ID of the category to move.").regex(
|
|
1857
|
+
categoryId: /* @__PURE__ */ z.string().describe("ID of the category to move.").regex(
|
|
1788
1858
|
/^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}$/,
|
|
1789
1859
|
"Must be a valid GUID"
|
|
1790
1860
|
),
|
|
1791
|
-
treeReference: z.object({
|
|
1792
|
-
appNamespace: z.string().describe(
|
|
1861
|
+
treeReference: /* @__PURE__ */ z.object({
|
|
1862
|
+
appNamespace: /* @__PURE__ */ z.string().describe(
|
|
1793
1863
|
'Namespace of the app whose catalog this category tree belongs to.\n\nCurrently, only `"@wix/stores"` is supported.'
|
|
1794
1864
|
).min(4).max(150),
|
|
1795
|
-
treeKey: z.string().describe(
|
|
1865
|
+
treeKey: /* @__PURE__ */ z.string().describe(
|
|
1796
1866
|
"Key to differentiate between multiple trees managed by the same app.\n\nFor Wix Stores, pass `null` or omit this field, as each store has only one category tree."
|
|
1797
1867
|
).min(1).max(44).optional().nullable()
|
|
1798
1868
|
}).describe("Category tree reference details."),
|
|
1799
|
-
options: z.object({
|
|
1800
|
-
parentCategoryId: z.string().describe(
|
|
1869
|
+
options: /* @__PURE__ */ z.object({
|
|
1870
|
+
parentCategoryId: /* @__PURE__ */ z.string().describe(
|
|
1801
1871
|
"ID of the target parent category. Leave empty or omit to move the category to the top level."
|
|
1802
1872
|
).regex(
|
|
1803
1873
|
/^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}$/,
|
|
1804
1874
|
"Must be a valid GUID"
|
|
1805
1875
|
).optional().nullable(),
|
|
1806
|
-
position: z.enum(["FIRST", "LAST", "AFTER"]),
|
|
1807
|
-
moveAfterCategoryId: z.string().describe("Required when passing `position: AFTER`.").regex(
|
|
1876
|
+
position: /* @__PURE__ */ z.enum(["FIRST", "LAST", "AFTER"]),
|
|
1877
|
+
moveAfterCategoryId: /* @__PURE__ */ z.string().describe("Required when passing `position: AFTER`.").regex(
|
|
1808
1878
|
/^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}$/,
|
|
1809
1879
|
"Must be a valid GUID"
|
|
1810
1880
|
).optional().nullable()
|
|
1811
1881
|
})
|
|
1812
1882
|
});
|
|
1813
1883
|
var MoveCategoryResponse = /* @__PURE__ */ z.object({
|
|
1814
|
-
parentCategoryId: z.string().describe("Parent category ID.").regex(
|
|
1884
|
+
parentCategoryId: /* @__PURE__ */ z.string().describe("Parent category ID.").regex(
|
|
1815
1885
|
/^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}$/,
|
|
1816
1886
|
"Must be a valid GUID"
|
|
1817
1887
|
).optional().nullable(),
|
|
1818
|
-
categoriesAfterMove: z.array(z.string()).max(100).optional()
|
|
1888
|
+
categoriesAfterMove: /* @__PURE__ */ z.array(/* @__PURE__ */ z.string()).max(100).optional()
|
|
1819
1889
|
});
|
|
1820
1890
|
var BulkUpdateCategoriesRequest = /* @__PURE__ */ z.object({
|
|
1821
|
-
categories: z.array(
|
|
1822
|
-
z.object({
|
|
1823
|
-
category: z.object({
|
|
1824
|
-
_id: z.string().describe("Category ID.").regex(
|
|
1891
|
+
categories: /* @__PURE__ */ z.array(
|
|
1892
|
+
/* @__PURE__ */ z.object({
|
|
1893
|
+
category: /* @__PURE__ */ z.object({
|
|
1894
|
+
_id: /* @__PURE__ */ z.string().describe("Category ID.").regex(
|
|
1825
1895
|
/^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}$/,
|
|
1826
1896
|
"Must be a valid GUID"
|
|
1827
1897
|
),
|
|
1828
|
-
revision: z.string().regex(/^-?\d+$/, "Must be a valid Int64 string").describe(
|
|
1898
|
+
revision: /* @__PURE__ */ z.string().regex(/^-?\d+$/, "Must be a valid Int64 string").describe(
|
|
1829
1899
|
"Revision number, which increments by 1 each time the category is updated.\nTo prevent conflicting changes, the current revision must be passed when updating.\n\nIgnored when creating a category."
|
|
1830
1900
|
),
|
|
1831
|
-
_createdDate: z.date().describe("Date and time the category was created.").optional().nullable(),
|
|
1832
|
-
_updatedDate: z.date().describe("Date and time the category was updated.").optional().nullable(),
|
|
1833
|
-
name: z.string().describe("Category name.").min(1).max(80).optional().nullable(),
|
|
1834
|
-
image: z.string().describe(
|
|
1901
|
+
_createdDate: /* @__PURE__ */ z.date().describe("Date and time the category was created.").optional().nullable(),
|
|
1902
|
+
_updatedDate: /* @__PURE__ */ z.date().describe("Date and time the category was updated.").optional().nullable(),
|
|
1903
|
+
name: /* @__PURE__ */ z.string().describe("Category name.").min(1).max(80).optional().nullable(),
|
|
1904
|
+
image: /* @__PURE__ */ z.string().describe(
|
|
1835
1905
|
"Category image.\n\n+ Pass WixMedia image ID for media previously saved in the [Wix Media Manager](https://support.wix.com/en/article/wix-media-about-the-media-manager).\n+ Pass full image URL to upload to Wix Media Manager."
|
|
1836
1906
|
).optional(),
|
|
1837
|
-
itemCounter: z.number().int().describe(
|
|
1907
|
+
itemCounter: /* @__PURE__ */ z.number().int().describe(
|
|
1838
1908
|
"Number of items directly assigned to this category. Doesn't include items in subcategories."
|
|
1839
1909
|
).optional(),
|
|
1840
|
-
description: z.string().describe(
|
|
1910
|
+
description: /* @__PURE__ */ z.string().describe(
|
|
1841
1911
|
'Plain-text category description.\n\nReturned only when you pass `"DESCRIPTION"` to the `fields` array.'
|
|
1842
1912
|
).min(1).max(600).optional().nullable(),
|
|
1843
|
-
visible: z.boolean().describe(
|
|
1913
|
+
visible: /* @__PURE__ */ z.boolean().describe(
|
|
1844
1914
|
"Whether the category is visible to site visitors.\n\nVisibility cascades to subcategories: if a parent category's visibility is set to `false`, all its subcategories become hidden as well.\nSetting a subcategory's visibility to `true` fails if any of its parent categories are hidden.\n\n> **Notes:**\n> 1. Hidden categories and their items are still accessible via API calls. For example, List Items In Category returns items even for hidden categories.\n> 2. The `visible` field can only be changed using the [Update Category Visibility](https://dev.wix.com/docs/api-reference/business-solutions/stores/catalog-v3/categories/update-category-visibility) method.\n> 3. Default: `true`"
|
|
1845
1915
|
).optional().nullable(),
|
|
1846
|
-
breadcrumbsInfo: z.object({
|
|
1847
|
-
breadcrumbs: z.array(
|
|
1848
|
-
z.object({
|
|
1849
|
-
categoryId: z.string().describe("Ancestor category ID.").regex(
|
|
1916
|
+
breadcrumbsInfo: /* @__PURE__ */ z.object({
|
|
1917
|
+
breadcrumbs: /* @__PURE__ */ z.array(
|
|
1918
|
+
/* @__PURE__ */ z.object({
|
|
1919
|
+
categoryId: /* @__PURE__ */ z.string().describe("Ancestor category ID.").regex(
|
|
1850
1920
|
/^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}$/,
|
|
1851
1921
|
"Must be a valid GUID"
|
|
1852
1922
|
).optional(),
|
|
1853
|
-
categoryName: z.string().describe("Ancestor category name.").min(1).max(80).optional(),
|
|
1854
|
-
categorySlug: z.string().describe("Ancestor category slug.").min(1).max(100).optional()
|
|
1923
|
+
categoryName: /* @__PURE__ */ z.string().describe("Ancestor category name.").min(1).max(80).optional(),
|
|
1924
|
+
categorySlug: /* @__PURE__ */ z.string().describe("Ancestor category slug.").min(1).max(100).optional()
|
|
1855
1925
|
})
|
|
1856
1926
|
).max(5).optional()
|
|
1857
1927
|
}).describe(
|
|
1858
1928
|
'Category breadcrumbs, representing the path from the top-level ancestor category down to the parent of the current category.\n\nBreadcrumbs are useful for building navigation UI and for SEO purposes. For top-level categories, the breadcrumbs list is empty.\n\nReturned only when you pass `"BREADCRUMBS_INFO"` to the `fields` array.'
|
|
1859
1929
|
).optional(),
|
|
1860
|
-
parentCategory: z.object({
|
|
1861
|
-
_id: z.string().describe(
|
|
1930
|
+
parentCategory: /* @__PURE__ */ z.object({
|
|
1931
|
+
_id: /* @__PURE__ */ z.string().describe(
|
|
1862
1932
|
"ID of the parent category.\n\nLeave empty or omit to create a top-level category."
|
|
1863
1933
|
).regex(
|
|
1864
1934
|
/^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}$/,
|
|
1865
1935
|
"Must be a valid GUID"
|
|
1866
1936
|
).optional().nullable(),
|
|
1867
|
-
index: z.number().int().describe(
|
|
1937
|
+
index: /* @__PURE__ */ z.number().int().describe(
|
|
1868
1938
|
"Position of this category among its sibling categories within the parent."
|
|
1869
1939
|
).optional().nullable()
|
|
1870
1940
|
}).describe(
|
|
1871
1941
|
"Information about the category's parent. Top-level categories don't have a parent."
|
|
1872
1942
|
).optional(),
|
|
1873
|
-
slug: z.string().describe(
|
|
1943
|
+
slug: /* @__PURE__ */ z.string().describe(
|
|
1874
1944
|
"Category slug. A URL-friendly identifier used in the category page address.\n\nIf not provided, the slug is autogenerated based on the category name."
|
|
1875
1945
|
).min(1).max(300).optional().nullable(),
|
|
1876
|
-
seoData: z.object({
|
|
1877
|
-
tags: z.array(
|
|
1878
|
-
z.object({
|
|
1879
|
-
type: z.string().describe(
|
|
1946
|
+
seoData: /* @__PURE__ */ z.object({
|
|
1947
|
+
tags: /* @__PURE__ */ z.array(
|
|
1948
|
+
/* @__PURE__ */ z.object({
|
|
1949
|
+
type: /* @__PURE__ */ z.string().describe(
|
|
1880
1950
|
"SEO tag type.\n\n\nSupported values: `title`, `meta`, `script`, `link`.\n\nWhich of these an API actually accepts depends on where the tag is being set: this\nlist is not a blanket guarantee across every API that reuses this message. Site SEO\nTags in particular accepts only `meta` (see `SiteSeoTags.tags`) and rejects\n`title`/`script`/`link` with a validation error even though they appear here \u2014\ncheck the field description of the specific `tags`-typed field you're writing to\nfor the types it actually supports and the error it returns.\n\nLimitation: `title` and `script` (e.g. a `script` tag with `props.type`\n`\"application/ld+json\"` carrying structured data) are supported only when\n`custom` is unset or `false`. Setting `custom: true` on a `title` or `script`\ntag is rejected with `TAG_TYPE_NOT_ALLOWED`, because `custom: true` routes the\nwrite through the site's Advanced/Custom Tags list. To write structured data,\nomit `custom` (or set it to `false`)."
|
|
1881
1951
|
).optional(),
|
|
1882
|
-
props: z.record(z.string(), z.any()).describe(
|
|
1952
|
+
props: /* @__PURE__ */ z.record(/* @__PURE__ */ z.string(), /* @__PURE__ */ z.any()).describe(
|
|
1883
1953
|
'A `{"key": "value"}` pair object where each SEO tag property (`"name"`, `"content"`, `"rel"`, `"href"`) contains a value.\nFor example: `{"name": "description", "content": "the description itself"}`.'
|
|
1884
1954
|
).optional().nullable(),
|
|
1885
|
-
meta: z.record(z.string(), z.any()).describe(
|
|
1955
|
+
meta: /* @__PURE__ */ z.record(/* @__PURE__ */ z.string(), /* @__PURE__ */ z.any()).describe(
|
|
1886
1956
|
'SEO tag metadata. For example, `{"height": 300, "width": 240}`.'
|
|
1887
1957
|
).optional().nullable(),
|
|
1888
|
-
children: z.string().describe(
|
|
1958
|
+
children: /* @__PURE__ */ z.string().describe(
|
|
1889
1959
|
"SEO tag inner content. For example, `<title> inner content </title>`."
|
|
1890
1960
|
).optional(),
|
|
1891
|
-
custom: z.boolean().describe(
|
|
1961
|
+
custom: /* @__PURE__ */ z.boolean().describe(
|
|
1892
1962
|
"Whether the tag is a [custom tag](https://support.wix.com/en/article/adding-additional-meta-tags-to-your-sites-pages) \u2014\ni.e. an entry from the site's Advanced/Custom Tags list.\n\nSetting this to `true` on a write restricts which `type` values are accepted\n\u2014 the same restriction the Advanced/Custom Tags UI enforces. `title` and\n`script` tags (including JSON-LD structured data) must be sent with `custom`\nomitted or `false`; sending them with `custom: true` is rejected with\n`TAG_TYPE_NOT_ALLOWED`.\n\nNote this is a separate restriction from Site SEO Tags' own type restriction on\n`SiteSeoTags.tags`: even with `custom` unset, Site SEO Tags rejects `script` (e.g.\nfor site-wide structured data) unconditionally. There is currently no way to set\nsite-wide, every-page structured data through any of these APIs \u2014 write a per-page\n`script` tag through the Item SEO Tags API instead.\n\nThis flag is scoped to that feature only. It is NOT an indicator of whether a standard tag\n(`title`, `description`, Open Graph, etc.) reflects a manually configured value versus a computed\ndefault/pattern \u2014 standard tags always resolve with `custom: false`, even when their content comes\nfrom a page's manually saved SEO title/description override. Don't use this field to verify whether\na live page reflects a manual per-page SEO edit.\n\nLimitation: when `ResolveStaticPageSeoTags` is called without `seoData`, the per-page SEO data is read\nonly from the Vibe/Wix-managed-headless override store. That store holds nothing for classic Wix Editor\nor Wix Studio pages, so even genuine Advanced/Custom Tags saved on those pages are missing from the\nresponse entirely \u2014 there, `false` means this API could not tell, not that no custom tag exists.\nPass `seoData` explicitly to resolve against a known set of tags."
|
|
1893
1963
|
).optional(),
|
|
1894
|
-
disabled: z.boolean().describe(
|
|
1964
|
+
disabled: /* @__PURE__ */ z.boolean().describe(
|
|
1895
1965
|
"Whether the tag is disabled. If the tag is disabled, people can't find your page when searching for this phrase in search engines."
|
|
1896
1966
|
).optional()
|
|
1897
1967
|
})
|
|
1898
1968
|
).optional(),
|
|
1899
|
-
settings: z.object({
|
|
1900
|
-
preventAutoRedirect: z.boolean().describe(
|
|
1969
|
+
settings: /* @__PURE__ */ z.object({
|
|
1970
|
+
preventAutoRedirect: /* @__PURE__ */ z.boolean().describe(
|
|
1901
1971
|
"Whether the [automatical redirect visits](https://support.wix.com/en/article/customizing-your-pages-seo-settings-in-the-seo-panel) from the old URL to the new one is enabled.\n\n\nDefault: `false` (automatical redirect is enabled)."
|
|
1902
1972
|
).optional(),
|
|
1903
|
-
keywords: z.array(
|
|
1904
|
-
z.object({
|
|
1905
|
-
term: z.string().describe("Keyword value.").optional(),
|
|
1906
|
-
isMain: z.boolean().describe(
|
|
1973
|
+
keywords: /* @__PURE__ */ z.array(
|
|
1974
|
+
/* @__PURE__ */ z.object({
|
|
1975
|
+
term: /* @__PURE__ */ z.string().describe("Keyword value.").optional(),
|
|
1976
|
+
isMain: /* @__PURE__ */ z.boolean().describe(
|
|
1907
1977
|
"Whether the keyword is the main focus keyword."
|
|
1908
1978
|
).optional(),
|
|
1909
|
-
origin: z.string().describe(
|
|
1979
|
+
origin: /* @__PURE__ */ z.string().describe(
|
|
1910
1980
|
"The source that added the keyword terms to the SEO settings."
|
|
1911
1981
|
).max(1e3).optional().nullable()
|
|
1912
1982
|
})
|
|
1913
1983
|
).max(5).optional()
|
|
1914
1984
|
}).describe("SEO general settings.").optional()
|
|
1915
1985
|
}).describe("Custom SEO data for the category.").optional(),
|
|
1916
|
-
richContentDescription: z.any().describe(
|
|
1986
|
+
richContentDescription: /* @__PURE__ */ z.any().describe(
|
|
1917
1987
|
'Category description using rich content.\n> **Note:** Returned only when you pass `"RICH_CONTENT_DESCRIPTION"` to the `fields` array in Categories API requests.\n\n<widget src="https://apps.wix.com/_serverless/ricos-playground-services/goto/api-component" plugins="indent.emoji.divider.codeBlock.file.gallery.giphy.image.table.link.textHighlight.textColor" exampleid="7dc9240e-d548-417a-abcf-0291b68b4303">\n<a href="https://dev.wix.com/docs/ricos/api-reference/ricos-document">See Ricos document reference</a>\n</widget>'
|
|
1918
1988
|
).optional(),
|
|
1919
|
-
treeReference: z.object({
|
|
1920
|
-
appNamespace: z.string().describe(
|
|
1989
|
+
treeReference: /* @__PURE__ */ z.object({
|
|
1990
|
+
appNamespace: /* @__PURE__ */ z.string().describe(
|
|
1921
1991
|
'Namespace of the app whose catalog this category tree belongs to.\n\nCurrently, only `"@wix/stores"` is supported.'
|
|
1922
1992
|
).min(4).max(150).optional(),
|
|
1923
|
-
treeKey: z.string().describe(
|
|
1993
|
+
treeKey: /* @__PURE__ */ z.string().describe(
|
|
1924
1994
|
"Key to differentiate between multiple trees managed by the same app.\n\nFor Wix Stores, pass `null` or omit this field, as each store has only one category tree."
|
|
1925
1995
|
).min(1).max(44).optional().nullable()
|
|
1926
1996
|
}).describe(
|
|
1927
1997
|
'Reference to the category tree this category belongs to.\n\nWhen working with Wix Stores categories, always pass `appNamespace: "@wix/stores"` and `treeKey: null`.'
|
|
1928
1998
|
).optional(),
|
|
1929
|
-
managingAppId: z.string().describe(
|
|
1999
|
+
managingAppId: /* @__PURE__ */ z.string().describe(
|
|
1930
2000
|
"ID of the app responsible for managing items in this category.\n\nWhen set, only the specified app can add or remove items from this category. This is useful for third-party apps that want to create categories exclusively managed by their app, preventing site owners or other apps from modifying the category's items.\n\nYou can get your app's ID from the [app dashboard](https://dev.wix.com/dc3/my-apps/)."
|
|
1931
2001
|
).regex(
|
|
1932
2002
|
/^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}$/,
|
|
1933
2003
|
"Must be a valid GUID"
|
|
1934
2004
|
).optional().nullable(),
|
|
1935
|
-
extendedFields: z.object({
|
|
1936
|
-
namespaces:
|
|
2005
|
+
extendedFields: /* @__PURE__ */ z.object({
|
|
2006
|
+
namespaces: /* @__PURE__ */ z.record(
|
|
2007
|
+
/* @__PURE__ */ z.string(),
|
|
2008
|
+
/* @__PURE__ */ z.record(
|
|
2009
|
+
/* @__PURE__ */ z.string(),
|
|
2010
|
+
/* @__PURE__ */ z.any()
|
|
2011
|
+
)
|
|
2012
|
+
).describe(
|
|
1937
2013
|
"Extended field data. Each key corresponds to the namespace of the app that created the extended fields.\nThe value of each key is structured according to the schema defined when the extended fields were configured.\n\nYou can only access fields for which you have the appropriate permissions.\n\nLearn more about [extended fields](https://dev.wix.com/docs/rest/articles/getting-started/extended-fields)."
|
|
1938
2014
|
).optional()
|
|
1939
2015
|
}).describe(
|
|
@@ -1942,159 +2018,169 @@ var BulkUpdateCategoriesRequest = /* @__PURE__ */ z.object({
|
|
|
1942
2018
|
}).describe("Category to update.")
|
|
1943
2019
|
})
|
|
1944
2020
|
).min(1).max(100),
|
|
1945
|
-
options: z.object({
|
|
1946
|
-
treeReference: z.object({
|
|
1947
|
-
appNamespace: z.string().describe(
|
|
2021
|
+
options: /* @__PURE__ */ z.object({
|
|
2022
|
+
treeReference: /* @__PURE__ */ z.object({
|
|
2023
|
+
appNamespace: /* @__PURE__ */ z.string().describe(
|
|
1948
2024
|
'Namespace of the app whose catalog this category tree belongs to.\n\nCurrently, only `"@wix/stores"` is supported.'
|
|
1949
2025
|
).min(4).max(150).optional(),
|
|
1950
|
-
treeKey: z.string().describe(
|
|
2026
|
+
treeKey: /* @__PURE__ */ z.string().describe(
|
|
1951
2027
|
"Key to differentiate between multiple trees managed by the same app.\n\nFor Wix Stores, pass `null` or omit this field, as each store has only one category tree."
|
|
1952
2028
|
).min(1).max(44).optional().nullable()
|
|
1953
2029
|
}).describe("Category tree reference details."),
|
|
1954
|
-
returnEntity: z.boolean().describe(
|
|
2030
|
+
returnEntity: /* @__PURE__ */ z.boolean().describe(
|
|
1955
2031
|
"Whether to return the full category entity in the response.\n\nDefault: `false`"
|
|
1956
2032
|
).optional(),
|
|
1957
|
-
fields: z.array(
|
|
1958
|
-
z.enum([
|
|
2033
|
+
fields: /* @__PURE__ */ z.array(
|
|
2034
|
+
/* @__PURE__ */ z.enum([
|
|
2035
|
+
"BREADCRUMBS_INFO",
|
|
2036
|
+
"DESCRIPTION",
|
|
2037
|
+
"RICH_CONTENT_DESCRIPTION"
|
|
2038
|
+
])
|
|
1959
2039
|
).max(100).optional()
|
|
1960
2040
|
})
|
|
1961
2041
|
});
|
|
1962
2042
|
var BulkUpdateCategoriesResponse = /* @__PURE__ */ z.object({
|
|
1963
|
-
results: z.array(
|
|
1964
|
-
z.object({
|
|
1965
|
-
itemMetadata: z.object({
|
|
1966
|
-
_id: z.string().describe(
|
|
2043
|
+
results: /* @__PURE__ */ z.array(
|
|
2044
|
+
/* @__PURE__ */ z.object({
|
|
2045
|
+
itemMetadata: /* @__PURE__ */ z.object({
|
|
2046
|
+
_id: /* @__PURE__ */ z.string().describe(
|
|
1967
2047
|
"Item ID. Should always be available, unless it's impossible (for example, when failing to create an item)."
|
|
1968
2048
|
).regex(
|
|
1969
2049
|
/^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}$/,
|
|
1970
2050
|
"Must be a valid GUID"
|
|
1971
2051
|
).optional().nullable(),
|
|
1972
|
-
originalIndex: z.number().int().describe(
|
|
2052
|
+
originalIndex: /* @__PURE__ */ z.number().int().describe(
|
|
1973
2053
|
"Index of the item within the request array. Allows for correlation between request and response items."
|
|
1974
2054
|
).optional(),
|
|
1975
|
-
success: z.boolean().describe(
|
|
2055
|
+
success: /* @__PURE__ */ z.boolean().describe(
|
|
1976
2056
|
"Whether the requested action was successful for this item. When `false`, the `error` field is populated."
|
|
1977
2057
|
).optional(),
|
|
1978
|
-
error: z.object({
|
|
1979
|
-
code: z.string().describe("Error code.").optional(),
|
|
1980
|
-
description: z.string().describe("Description of the error.").optional(),
|
|
1981
|
-
data: z.record(z.string(), z.any()).describe("Data related to the error.").optional().nullable()
|
|
2058
|
+
error: /* @__PURE__ */ z.object({
|
|
2059
|
+
code: /* @__PURE__ */ z.string().describe("Error code.").optional(),
|
|
2060
|
+
description: /* @__PURE__ */ z.string().describe("Description of the error.").optional(),
|
|
2061
|
+
data: /* @__PURE__ */ z.record(/* @__PURE__ */ z.string(), /* @__PURE__ */ z.any()).describe("Data related to the error.").optional().nullable()
|
|
1982
2062
|
}).describe("Details about the error in case of failure.").optional()
|
|
1983
2063
|
}).describe("Bulk action metadata for category.").optional(),
|
|
1984
|
-
category: z.object({
|
|
1985
|
-
_id: z.string().describe("Category ID.").regex(
|
|
2064
|
+
category: /* @__PURE__ */ z.object({
|
|
2065
|
+
_id: /* @__PURE__ */ z.string().describe("Category ID.").regex(
|
|
1986
2066
|
/^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}$/,
|
|
1987
2067
|
"Must be a valid GUID"
|
|
1988
2068
|
).optional().nullable(),
|
|
1989
|
-
revision: z.string().regex(/^-?\d+$/, "Must be a valid Int64 string").describe(
|
|
2069
|
+
revision: /* @__PURE__ */ z.string().regex(/^-?\d+$/, "Must be a valid Int64 string").describe(
|
|
1990
2070
|
"Revision number, which increments by 1 each time the category is updated.\nTo prevent conflicting changes, the current revision must be passed when updating.\n\nIgnored when creating a category."
|
|
1991
2071
|
).optional().nullable(),
|
|
1992
|
-
_createdDate: z.date().describe("Date and time the category was created.").optional().nullable(),
|
|
1993
|
-
_updatedDate: z.date().describe("Date and time the category was updated.").optional().nullable(),
|
|
1994
|
-
name: z.string().describe("Category name.").min(1).max(80).optional().nullable(),
|
|
1995
|
-
image: z.string().describe(
|
|
2072
|
+
_createdDate: /* @__PURE__ */ z.date().describe("Date and time the category was created.").optional().nullable(),
|
|
2073
|
+
_updatedDate: /* @__PURE__ */ z.date().describe("Date and time the category was updated.").optional().nullable(),
|
|
2074
|
+
name: /* @__PURE__ */ z.string().describe("Category name.").min(1).max(80).optional().nullable(),
|
|
2075
|
+
image: /* @__PURE__ */ z.string().describe(
|
|
1996
2076
|
"Category image.\n\n+ Pass WixMedia image ID for media previously saved in the [Wix Media Manager](https://support.wix.com/en/article/wix-media-about-the-media-manager).\n+ Pass full image URL to upload to Wix Media Manager."
|
|
1997
2077
|
).optional(),
|
|
1998
|
-
itemCounter: z.number().int().describe(
|
|
2078
|
+
itemCounter: /* @__PURE__ */ z.number().int().describe(
|
|
1999
2079
|
"Number of items directly assigned to this category. Doesn't include items in subcategories."
|
|
2000
2080
|
).optional(),
|
|
2001
|
-
description: z.string().describe(
|
|
2081
|
+
description: /* @__PURE__ */ z.string().describe(
|
|
2002
2082
|
'Plain-text category description.\n\nReturned only when you pass `"DESCRIPTION"` to the `fields` array.'
|
|
2003
2083
|
).min(1).max(600).optional().nullable(),
|
|
2004
|
-
visible: z.boolean().describe(
|
|
2084
|
+
visible: /* @__PURE__ */ z.boolean().describe(
|
|
2005
2085
|
"Whether the category is visible to site visitors.\n\nVisibility cascades to subcategories: if a parent category's visibility is set to `false`, all its subcategories become hidden as well.\nSetting a subcategory's visibility to `true` fails if any of its parent categories are hidden.\n\n> **Notes:**\n> 1. Hidden categories and their items are still accessible via API calls. For example, List Items In Category returns items even for hidden categories.\n> 2. The `visible` field can only be changed using the [Update Category Visibility](https://dev.wix.com/docs/api-reference/business-solutions/stores/catalog-v3/categories/update-category-visibility) method.\n> 3. Default: `true`"
|
|
2006
2086
|
).optional().nullable(),
|
|
2007
|
-
breadcrumbsInfo: z.object({
|
|
2008
|
-
breadcrumbs: z.array(
|
|
2009
|
-
z.object({
|
|
2010
|
-
categoryId: z.string().describe("Ancestor category ID.").regex(
|
|
2087
|
+
breadcrumbsInfo: /* @__PURE__ */ z.object({
|
|
2088
|
+
breadcrumbs: /* @__PURE__ */ z.array(
|
|
2089
|
+
/* @__PURE__ */ z.object({
|
|
2090
|
+
categoryId: /* @__PURE__ */ z.string().describe("Ancestor category ID.").regex(
|
|
2011
2091
|
/^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}$/,
|
|
2012
2092
|
"Must be a valid GUID"
|
|
2013
2093
|
).optional(),
|
|
2014
|
-
categoryName: z.string().describe("Ancestor category name.").min(1).max(80).optional(),
|
|
2015
|
-
categorySlug: z.string().describe("Ancestor category slug.").min(1).max(100).optional()
|
|
2094
|
+
categoryName: /* @__PURE__ */ z.string().describe("Ancestor category name.").min(1).max(80).optional(),
|
|
2095
|
+
categorySlug: /* @__PURE__ */ z.string().describe("Ancestor category slug.").min(1).max(100).optional()
|
|
2016
2096
|
})
|
|
2017
2097
|
).max(5).optional()
|
|
2018
2098
|
}).describe(
|
|
2019
2099
|
'Category breadcrumbs, representing the path from the top-level ancestor category down to the parent of the current category.\n\nBreadcrumbs are useful for building navigation UI and for SEO purposes. For top-level categories, the breadcrumbs list is empty.\n\nReturned only when you pass `"BREADCRUMBS_INFO"` to the `fields` array.'
|
|
2020
2100
|
).optional(),
|
|
2021
|
-
parentCategory: z.object({
|
|
2022
|
-
_id: z.string().describe(
|
|
2101
|
+
parentCategory: /* @__PURE__ */ z.object({
|
|
2102
|
+
_id: /* @__PURE__ */ z.string().describe(
|
|
2023
2103
|
"ID of the parent category.\n\nLeave empty or omit to create a top-level category."
|
|
2024
2104
|
).regex(
|
|
2025
2105
|
/^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}$/,
|
|
2026
2106
|
"Must be a valid GUID"
|
|
2027
2107
|
).optional().nullable(),
|
|
2028
|
-
index: z.number().int().describe(
|
|
2108
|
+
index: /* @__PURE__ */ z.number().int().describe(
|
|
2029
2109
|
"Position of this category among its sibling categories within the parent."
|
|
2030
2110
|
).optional().nullable()
|
|
2031
2111
|
}).describe(
|
|
2032
2112
|
"Information about the category's parent. Top-level categories don't have a parent."
|
|
2033
2113
|
).optional(),
|
|
2034
|
-
slug: z.string().describe(
|
|
2114
|
+
slug: /* @__PURE__ */ z.string().describe(
|
|
2035
2115
|
"Category slug. A URL-friendly identifier used in the category page address.\n\nIf not provided, the slug is autogenerated based on the category name."
|
|
2036
2116
|
).min(1).max(300).optional().nullable(),
|
|
2037
|
-
seoData: z.object({
|
|
2038
|
-
tags: z.array(
|
|
2039
|
-
z.object({
|
|
2040
|
-
type: z.string().describe(
|
|
2117
|
+
seoData: /* @__PURE__ */ z.object({
|
|
2118
|
+
tags: /* @__PURE__ */ z.array(
|
|
2119
|
+
/* @__PURE__ */ z.object({
|
|
2120
|
+
type: /* @__PURE__ */ z.string().describe(
|
|
2041
2121
|
"SEO tag type.\n\n\nSupported values: `title`, `meta`, `script`, `link`.\n\nWhich of these an API actually accepts depends on where the tag is being set: this\nlist is not a blanket guarantee across every API that reuses this message. Site SEO\nTags in particular accepts only `meta` (see `SiteSeoTags.tags`) and rejects\n`title`/`script`/`link` with a validation error even though they appear here \u2014\ncheck the field description of the specific `tags`-typed field you're writing to\nfor the types it actually supports and the error it returns.\n\nLimitation: `title` and `script` (e.g. a `script` tag with `props.type`\n`\"application/ld+json\"` carrying structured data) are supported only when\n`custom` is unset or `false`. Setting `custom: true` on a `title` or `script`\ntag is rejected with `TAG_TYPE_NOT_ALLOWED`, because `custom: true` routes the\nwrite through the site's Advanced/Custom Tags list. To write structured data,\nomit `custom` (or set it to `false`)."
|
|
2042
2122
|
).optional(),
|
|
2043
|
-
props: z.record(z.string(), z.any()).describe(
|
|
2123
|
+
props: /* @__PURE__ */ z.record(/* @__PURE__ */ z.string(), /* @__PURE__ */ z.any()).describe(
|
|
2044
2124
|
'A `{"key": "value"}` pair object where each SEO tag property (`"name"`, `"content"`, `"rel"`, `"href"`) contains a value.\nFor example: `{"name": "description", "content": "the description itself"}`.'
|
|
2045
2125
|
).optional().nullable(),
|
|
2046
|
-
meta: z.record(z.string(), z.any()).describe(
|
|
2126
|
+
meta: /* @__PURE__ */ z.record(/* @__PURE__ */ z.string(), /* @__PURE__ */ z.any()).describe(
|
|
2047
2127
|
'SEO tag metadata. For example, `{"height": 300, "width": 240}`.'
|
|
2048
2128
|
).optional().nullable(),
|
|
2049
|
-
children: z.string().describe(
|
|
2129
|
+
children: /* @__PURE__ */ z.string().describe(
|
|
2050
2130
|
"SEO tag inner content. For example, `<title> inner content </title>`."
|
|
2051
2131
|
).optional(),
|
|
2052
|
-
custom: z.boolean().describe(
|
|
2132
|
+
custom: /* @__PURE__ */ z.boolean().describe(
|
|
2053
2133
|
"Whether the tag is a [custom tag](https://support.wix.com/en/article/adding-additional-meta-tags-to-your-sites-pages) \u2014\ni.e. an entry from the site's Advanced/Custom Tags list.\n\nSetting this to `true` on a write restricts which `type` values are accepted\n\u2014 the same restriction the Advanced/Custom Tags UI enforces. `title` and\n`script` tags (including JSON-LD structured data) must be sent with `custom`\nomitted or `false`; sending them with `custom: true` is rejected with\n`TAG_TYPE_NOT_ALLOWED`.\n\nNote this is a separate restriction from Site SEO Tags' own type restriction on\n`SiteSeoTags.tags`: even with `custom` unset, Site SEO Tags rejects `script` (e.g.\nfor site-wide structured data) unconditionally. There is currently no way to set\nsite-wide, every-page structured data through any of these APIs \u2014 write a per-page\n`script` tag through the Item SEO Tags API instead.\n\nThis flag is scoped to that feature only. It is NOT an indicator of whether a standard tag\n(`title`, `description`, Open Graph, etc.) reflects a manually configured value versus a computed\ndefault/pattern \u2014 standard tags always resolve with `custom: false`, even when their content comes\nfrom a page's manually saved SEO title/description override. Don't use this field to verify whether\na live page reflects a manual per-page SEO edit.\n\nLimitation: when `ResolveStaticPageSeoTags` is called without `seoData`, the per-page SEO data is read\nonly from the Vibe/Wix-managed-headless override store. That store holds nothing for classic Wix Editor\nor Wix Studio pages, so even genuine Advanced/Custom Tags saved on those pages are missing from the\nresponse entirely \u2014 there, `false` means this API could not tell, not that no custom tag exists.\nPass `seoData` explicitly to resolve against a known set of tags."
|
|
2054
2134
|
).optional(),
|
|
2055
|
-
disabled: z.boolean().describe(
|
|
2135
|
+
disabled: /* @__PURE__ */ z.boolean().describe(
|
|
2056
2136
|
"Whether the tag is disabled. If the tag is disabled, people can't find your page when searching for this phrase in search engines."
|
|
2057
2137
|
).optional()
|
|
2058
2138
|
})
|
|
2059
2139
|
).optional(),
|
|
2060
|
-
settings: z.object({
|
|
2061
|
-
preventAutoRedirect: z.boolean().describe(
|
|
2140
|
+
settings: /* @__PURE__ */ z.object({
|
|
2141
|
+
preventAutoRedirect: /* @__PURE__ */ z.boolean().describe(
|
|
2062
2142
|
"Whether the [automatical redirect visits](https://support.wix.com/en/article/customizing-your-pages-seo-settings-in-the-seo-panel) from the old URL to the new one is enabled.\n\n\nDefault: `false` (automatical redirect is enabled)."
|
|
2063
2143
|
).optional(),
|
|
2064
|
-
keywords: z.array(
|
|
2065
|
-
z.object({
|
|
2066
|
-
term: z.string().describe("Keyword value.").optional(),
|
|
2067
|
-
isMain: z.boolean().describe(
|
|
2144
|
+
keywords: /* @__PURE__ */ z.array(
|
|
2145
|
+
/* @__PURE__ */ z.object({
|
|
2146
|
+
term: /* @__PURE__ */ z.string().describe("Keyword value.").optional(),
|
|
2147
|
+
isMain: /* @__PURE__ */ z.boolean().describe(
|
|
2068
2148
|
"Whether the keyword is the main focus keyword."
|
|
2069
2149
|
).optional(),
|
|
2070
|
-
origin: z.string().describe(
|
|
2150
|
+
origin: /* @__PURE__ */ z.string().describe(
|
|
2071
2151
|
"The source that added the keyword terms to the SEO settings."
|
|
2072
2152
|
).max(1e3).optional().nullable()
|
|
2073
2153
|
})
|
|
2074
2154
|
).max(5).optional()
|
|
2075
2155
|
}).describe("SEO general settings.").optional()
|
|
2076
2156
|
}).describe("Custom SEO data for the category.").optional(),
|
|
2077
|
-
richContentDescription: z.any().describe(
|
|
2157
|
+
richContentDescription: /* @__PURE__ */ z.any().describe(
|
|
2078
2158
|
'Category description using rich content.\n> **Note:** Returned only when you pass `"RICH_CONTENT_DESCRIPTION"` to the `fields` array in Categories API requests.\n\n<widget src="https://apps.wix.com/_serverless/ricos-playground-services/goto/api-component" plugins="indent.emoji.divider.codeBlock.file.gallery.giphy.image.table.link.textHighlight.textColor" exampleid="7dc9240e-d548-417a-abcf-0291b68b4303">\n<a href="https://dev.wix.com/docs/ricos/api-reference/ricos-document">See Ricos document reference</a>\n</widget>'
|
|
2079
2159
|
).optional(),
|
|
2080
|
-
treeReference: z.object({
|
|
2081
|
-
appNamespace: z.string().describe(
|
|
2160
|
+
treeReference: /* @__PURE__ */ z.object({
|
|
2161
|
+
appNamespace: /* @__PURE__ */ z.string().describe(
|
|
2082
2162
|
'Namespace of the app whose catalog this category tree belongs to.\n\nCurrently, only `"@wix/stores"` is supported.'
|
|
2083
2163
|
).min(4).max(150).optional(),
|
|
2084
|
-
treeKey: z.string().describe(
|
|
2164
|
+
treeKey: /* @__PURE__ */ z.string().describe(
|
|
2085
2165
|
"Key to differentiate between multiple trees managed by the same app.\n\nFor Wix Stores, pass `null` or omit this field, as each store has only one category tree."
|
|
2086
2166
|
).min(1).max(44).optional().nullable()
|
|
2087
2167
|
}).describe(
|
|
2088
2168
|
'Reference to the category tree this category belongs to.\n\nWhen working with Wix Stores categories, always pass `appNamespace: "@wix/stores"` and `treeKey: null`.'
|
|
2089
2169
|
).optional(),
|
|
2090
|
-
managingAppId: z.string().describe(
|
|
2170
|
+
managingAppId: /* @__PURE__ */ z.string().describe(
|
|
2091
2171
|
"ID of the app responsible for managing items in this category.\n\nWhen set, only the specified app can add or remove items from this category. This is useful for third-party apps that want to create categories exclusively managed by their app, preventing site owners or other apps from modifying the category's items.\n\nYou can get your app's ID from the [app dashboard](https://dev.wix.com/dc3/my-apps/)."
|
|
2092
2172
|
).regex(
|
|
2093
2173
|
/^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}$/,
|
|
2094
2174
|
"Must be a valid GUID"
|
|
2095
2175
|
).optional().nullable(),
|
|
2096
|
-
extendedFields: z.object({
|
|
2097
|
-
namespaces:
|
|
2176
|
+
extendedFields: /* @__PURE__ */ z.object({
|
|
2177
|
+
namespaces: /* @__PURE__ */ z.record(
|
|
2178
|
+
/* @__PURE__ */ z.string(),
|
|
2179
|
+
/* @__PURE__ */ z.record(
|
|
2180
|
+
/* @__PURE__ */ z.string(),
|
|
2181
|
+
/* @__PURE__ */ z.any()
|
|
2182
|
+
)
|
|
2183
|
+
).describe(
|
|
2098
2184
|
"Extended field data. Each key corresponds to the namespace of the app that created the extended fields.\nThe value of each key is structured according to the schema defined when the extended fields were configured.\n\nYou can only access fields for which you have the appropriate permissions.\n\nLearn more about [extended fields](https://dev.wix.com/docs/rest/articles/getting-started/extended-fields)."
|
|
2099
2185
|
).optional()
|
|
2100
2186
|
}).describe(
|
|
@@ -2105,154 +2191,164 @@ var BulkUpdateCategoriesResponse = /* @__PURE__ */ z.object({
|
|
|
2105
2191
|
).optional()
|
|
2106
2192
|
})
|
|
2107
2193
|
).min(1).max(100).optional(),
|
|
2108
|
-
bulkActionMetadata: z.object({
|
|
2109
|
-
totalSuccesses: z.number().int().describe("Number of items that were successfully processed.").optional(),
|
|
2110
|
-
totalFailures: z.number().int().describe("Number of items that couldn't be processed.").optional(),
|
|
2111
|
-
undetailedFailures: z.number().int().describe(
|
|
2194
|
+
bulkActionMetadata: /* @__PURE__ */ z.object({
|
|
2195
|
+
totalSuccesses: /* @__PURE__ */ z.number().int().describe("Number of items that were successfully processed.").optional(),
|
|
2196
|
+
totalFailures: /* @__PURE__ */ z.number().int().describe("Number of items that couldn't be processed.").optional(),
|
|
2197
|
+
undetailedFailures: /* @__PURE__ */ z.number().int().describe(
|
|
2112
2198
|
"Number of failures without details because detailed failure threshold was exceeded."
|
|
2113
2199
|
).optional()
|
|
2114
2200
|
}).describe("Bulk action metadata.").optional()
|
|
2115
2201
|
});
|
|
2116
2202
|
var UpdateCategoryVisibilityRequest = /* @__PURE__ */ z.object({
|
|
2117
|
-
categoryId: z.string().describe("Category ID.").regex(
|
|
2203
|
+
categoryId: /* @__PURE__ */ z.string().describe("Category ID.").regex(
|
|
2118
2204
|
/^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}$/,
|
|
2119
2205
|
"Must be a valid GUID"
|
|
2120
2206
|
),
|
|
2121
|
-
options: z.object({
|
|
2122
|
-
visible: z.boolean().describe(
|
|
2207
|
+
options: /* @__PURE__ */ z.object({
|
|
2208
|
+
visible: /* @__PURE__ */ z.boolean().describe(
|
|
2123
2209
|
"Whether the category is visible to site visitors.\n\nVisibility cascades to subcategories: setting a parent category to `false` also hides all its subcategories.\nSetting to `true` fails if any parent category is hidden."
|
|
2124
2210
|
),
|
|
2125
|
-
treeReference: z.object({
|
|
2126
|
-
appNamespace: z.string().describe(
|
|
2211
|
+
treeReference: /* @__PURE__ */ z.object({
|
|
2212
|
+
appNamespace: /* @__PURE__ */ z.string().describe(
|
|
2127
2213
|
'Namespace of the app whose catalog this category tree belongs to.\n\nCurrently, only `"@wix/stores"` is supported.'
|
|
2128
2214
|
).min(4).max(150),
|
|
2129
|
-
treeKey: z.string().describe(
|
|
2215
|
+
treeKey: /* @__PURE__ */ z.string().describe(
|
|
2130
2216
|
"Key to differentiate between multiple trees managed by the same app.\n\nFor Wix Stores, pass `null` or omit this field, as each store has only one category tree."
|
|
2131
2217
|
).min(1).max(44).optional().nullable()
|
|
2132
2218
|
}).describe("Category tree reference details."),
|
|
2133
|
-
revision: z.string().regex(/^-?\d+$/, "Must be a valid Int64 string").describe(
|
|
2219
|
+
revision: /* @__PURE__ */ z.string().regex(/^-?\d+$/, "Must be a valid Int64 string").describe(
|
|
2134
2220
|
"Latest revision of the category.\nTo prevent conflicting changes, the current revision must be passed on update."
|
|
2135
2221
|
),
|
|
2136
|
-
fields: z.array(
|
|
2137
|
-
z.enum([
|
|
2222
|
+
fields: /* @__PURE__ */ z.array(
|
|
2223
|
+
/* @__PURE__ */ z.enum([
|
|
2224
|
+
"BREADCRUMBS_INFO",
|
|
2225
|
+
"DESCRIPTION",
|
|
2226
|
+
"RICH_CONTENT_DESCRIPTION"
|
|
2227
|
+
])
|
|
2138
2228
|
).max(100).optional()
|
|
2139
2229
|
})
|
|
2140
2230
|
});
|
|
2141
2231
|
var UpdateCategoryVisibilityResponse = /* @__PURE__ */ z.object({
|
|
2142
|
-
category: z.object({
|
|
2143
|
-
_id: z.string().describe("Category ID.").regex(
|
|
2232
|
+
category: /* @__PURE__ */ z.object({
|
|
2233
|
+
_id: /* @__PURE__ */ z.string().describe("Category ID.").regex(
|
|
2144
2234
|
/^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}$/,
|
|
2145
2235
|
"Must be a valid GUID"
|
|
2146
2236
|
).optional().nullable(),
|
|
2147
|
-
revision: z.string().regex(/^-?\d+$/, "Must be a valid Int64 string").describe(
|
|
2237
|
+
revision: /* @__PURE__ */ z.string().regex(/^-?\d+$/, "Must be a valid Int64 string").describe(
|
|
2148
2238
|
"Revision number, which increments by 1 each time the category is updated.\nTo prevent conflicting changes, the current revision must be passed when updating.\n\nIgnored when creating a category."
|
|
2149
2239
|
).optional().nullable(),
|
|
2150
|
-
_createdDate: z.date().describe("Date and time the category was created.").optional().nullable(),
|
|
2151
|
-
_updatedDate: z.date().describe("Date and time the category was updated.").optional().nullable(),
|
|
2152
|
-
name: z.string().describe("Category name.").min(1).max(80).optional().nullable(),
|
|
2153
|
-
image: z.string().describe(
|
|
2240
|
+
_createdDate: /* @__PURE__ */ z.date().describe("Date and time the category was created.").optional().nullable(),
|
|
2241
|
+
_updatedDate: /* @__PURE__ */ z.date().describe("Date and time the category was updated.").optional().nullable(),
|
|
2242
|
+
name: /* @__PURE__ */ z.string().describe("Category name.").min(1).max(80).optional().nullable(),
|
|
2243
|
+
image: /* @__PURE__ */ z.string().describe(
|
|
2154
2244
|
"Category image.\n\n+ Pass WixMedia image ID for media previously saved in the [Wix Media Manager](https://support.wix.com/en/article/wix-media-about-the-media-manager).\n+ Pass full image URL to upload to Wix Media Manager."
|
|
2155
2245
|
).optional(),
|
|
2156
|
-
itemCounter: z.number().int().describe(
|
|
2246
|
+
itemCounter: /* @__PURE__ */ z.number().int().describe(
|
|
2157
2247
|
"Number of items directly assigned to this category. Doesn't include items in subcategories."
|
|
2158
2248
|
).optional(),
|
|
2159
|
-
description: z.string().describe(
|
|
2249
|
+
description: /* @__PURE__ */ z.string().describe(
|
|
2160
2250
|
'Plain-text category description.\n\nReturned only when you pass `"DESCRIPTION"` to the `fields` array.'
|
|
2161
2251
|
).min(1).max(600).optional().nullable(),
|
|
2162
|
-
visible: z.boolean().describe(
|
|
2252
|
+
visible: /* @__PURE__ */ z.boolean().describe(
|
|
2163
2253
|
"Whether the category is visible to site visitors.\n\nVisibility cascades to subcategories: if a parent category's visibility is set to `false`, all its subcategories become hidden as well.\nSetting a subcategory's visibility to `true` fails if any of its parent categories are hidden.\n\n> **Notes:**\n> 1. Hidden categories and their items are still accessible via API calls. For example, List Items In Category returns items even for hidden categories.\n> 2. The `visible` field can only be changed using the [Update Category Visibility](https://dev.wix.com/docs/api-reference/business-solutions/stores/catalog-v3/categories/update-category-visibility) method.\n> 3. Default: `true`"
|
|
2164
2254
|
).optional().nullable(),
|
|
2165
|
-
breadcrumbsInfo: z.object({
|
|
2166
|
-
breadcrumbs: z.array(
|
|
2167
|
-
z.object({
|
|
2168
|
-
categoryId: z.string().describe("Ancestor category ID.").regex(
|
|
2255
|
+
breadcrumbsInfo: /* @__PURE__ */ z.object({
|
|
2256
|
+
breadcrumbs: /* @__PURE__ */ z.array(
|
|
2257
|
+
/* @__PURE__ */ z.object({
|
|
2258
|
+
categoryId: /* @__PURE__ */ z.string().describe("Ancestor category ID.").regex(
|
|
2169
2259
|
/^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}$/,
|
|
2170
2260
|
"Must be a valid GUID"
|
|
2171
2261
|
).optional(),
|
|
2172
|
-
categoryName: z.string().describe("Ancestor category name.").min(1).max(80).optional(),
|
|
2173
|
-
categorySlug: z.string().describe("Ancestor category slug.").min(1).max(100).optional()
|
|
2262
|
+
categoryName: /* @__PURE__ */ z.string().describe("Ancestor category name.").min(1).max(80).optional(),
|
|
2263
|
+
categorySlug: /* @__PURE__ */ z.string().describe("Ancestor category slug.").min(1).max(100).optional()
|
|
2174
2264
|
})
|
|
2175
2265
|
).max(5).optional()
|
|
2176
2266
|
}).describe(
|
|
2177
2267
|
'Category breadcrumbs, representing the path from the top-level ancestor category down to the parent of the current category.\n\nBreadcrumbs are useful for building navigation UI and for SEO purposes. For top-level categories, the breadcrumbs list is empty.\n\nReturned only when you pass `"BREADCRUMBS_INFO"` to the `fields` array.'
|
|
2178
2268
|
).optional(),
|
|
2179
|
-
parentCategory: z.object({
|
|
2180
|
-
_id: z.string().describe(
|
|
2269
|
+
parentCategory: /* @__PURE__ */ z.object({
|
|
2270
|
+
_id: /* @__PURE__ */ z.string().describe(
|
|
2181
2271
|
"ID of the parent category.\n\nLeave empty or omit to create a top-level category."
|
|
2182
2272
|
).regex(
|
|
2183
2273
|
/^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}$/,
|
|
2184
2274
|
"Must be a valid GUID"
|
|
2185
2275
|
).optional().nullable(),
|
|
2186
|
-
index: z.number().int().describe(
|
|
2276
|
+
index: /* @__PURE__ */ z.number().int().describe(
|
|
2187
2277
|
"Position of this category among its sibling categories within the parent."
|
|
2188
2278
|
).optional().nullable()
|
|
2189
2279
|
}).describe(
|
|
2190
2280
|
"Information about the category's parent. Top-level categories don't have a parent."
|
|
2191
2281
|
).optional(),
|
|
2192
|
-
slug: z.string().describe(
|
|
2282
|
+
slug: /* @__PURE__ */ z.string().describe(
|
|
2193
2283
|
"Category slug. A URL-friendly identifier used in the category page address.\n\nIf not provided, the slug is autogenerated based on the category name."
|
|
2194
2284
|
).min(1).max(300).optional().nullable(),
|
|
2195
|
-
seoData: z.object({
|
|
2196
|
-
tags: z.array(
|
|
2197
|
-
z.object({
|
|
2198
|
-
type: z.string().describe(
|
|
2285
|
+
seoData: /* @__PURE__ */ z.object({
|
|
2286
|
+
tags: /* @__PURE__ */ z.array(
|
|
2287
|
+
/* @__PURE__ */ z.object({
|
|
2288
|
+
type: /* @__PURE__ */ z.string().describe(
|
|
2199
2289
|
"SEO tag type.\n\n\nSupported values: `title`, `meta`, `script`, `link`.\n\nWhich of these an API actually accepts depends on where the tag is being set: this\nlist is not a blanket guarantee across every API that reuses this message. Site SEO\nTags in particular accepts only `meta` (see `SiteSeoTags.tags`) and rejects\n`title`/`script`/`link` with a validation error even though they appear here \u2014\ncheck the field description of the specific `tags`-typed field you're writing to\nfor the types it actually supports and the error it returns.\n\nLimitation: `title` and `script` (e.g. a `script` tag with `props.type`\n`\"application/ld+json\"` carrying structured data) are supported only when\n`custom` is unset or `false`. Setting `custom: true` on a `title` or `script`\ntag is rejected with `TAG_TYPE_NOT_ALLOWED`, because `custom: true` routes the\nwrite through the site's Advanced/Custom Tags list. To write structured data,\nomit `custom` (or set it to `false`)."
|
|
2200
2290
|
).optional(),
|
|
2201
|
-
props: z.record(z.string(), z.any()).describe(
|
|
2291
|
+
props: /* @__PURE__ */ z.record(/* @__PURE__ */ z.string(), /* @__PURE__ */ z.any()).describe(
|
|
2202
2292
|
'A `{"key": "value"}` pair object where each SEO tag property (`"name"`, `"content"`, `"rel"`, `"href"`) contains a value.\nFor example: `{"name": "description", "content": "the description itself"}`.'
|
|
2203
2293
|
).optional().nullable(),
|
|
2204
|
-
meta: z.record(z.string(), z.any()).describe(
|
|
2294
|
+
meta: /* @__PURE__ */ z.record(/* @__PURE__ */ z.string(), /* @__PURE__ */ z.any()).describe(
|
|
2205
2295
|
'SEO tag metadata. For example, `{"height": 300, "width": 240}`.'
|
|
2206
2296
|
).optional().nullable(),
|
|
2207
|
-
children: z.string().describe(
|
|
2297
|
+
children: /* @__PURE__ */ z.string().describe(
|
|
2208
2298
|
"SEO tag inner content. For example, `<title> inner content </title>`."
|
|
2209
2299
|
).optional(),
|
|
2210
|
-
custom: z.boolean().describe(
|
|
2300
|
+
custom: /* @__PURE__ */ z.boolean().describe(
|
|
2211
2301
|
"Whether the tag is a [custom tag](https://support.wix.com/en/article/adding-additional-meta-tags-to-your-sites-pages) \u2014\ni.e. an entry from the site's Advanced/Custom Tags list.\n\nSetting this to `true` on a write restricts which `type` values are accepted\n\u2014 the same restriction the Advanced/Custom Tags UI enforces. `title` and\n`script` tags (including JSON-LD structured data) must be sent with `custom`\nomitted or `false`; sending them with `custom: true` is rejected with\n`TAG_TYPE_NOT_ALLOWED`.\n\nNote this is a separate restriction from Site SEO Tags' own type restriction on\n`SiteSeoTags.tags`: even with `custom` unset, Site SEO Tags rejects `script` (e.g.\nfor site-wide structured data) unconditionally. There is currently no way to set\nsite-wide, every-page structured data through any of these APIs \u2014 write a per-page\n`script` tag through the Item SEO Tags API instead.\n\nThis flag is scoped to that feature only. It is NOT an indicator of whether a standard tag\n(`title`, `description`, Open Graph, etc.) reflects a manually configured value versus a computed\ndefault/pattern \u2014 standard tags always resolve with `custom: false`, even when their content comes\nfrom a page's manually saved SEO title/description override. Don't use this field to verify whether\na live page reflects a manual per-page SEO edit.\n\nLimitation: when `ResolveStaticPageSeoTags` is called without `seoData`, the per-page SEO data is read\nonly from the Vibe/Wix-managed-headless override store. That store holds nothing for classic Wix Editor\nor Wix Studio pages, so even genuine Advanced/Custom Tags saved on those pages are missing from the\nresponse entirely \u2014 there, `false` means this API could not tell, not that no custom tag exists.\nPass `seoData` explicitly to resolve against a known set of tags."
|
|
2212
2302
|
).optional(),
|
|
2213
|
-
disabled: z.boolean().describe(
|
|
2303
|
+
disabled: /* @__PURE__ */ z.boolean().describe(
|
|
2214
2304
|
"Whether the tag is disabled. If the tag is disabled, people can't find your page when searching for this phrase in search engines."
|
|
2215
2305
|
).optional()
|
|
2216
2306
|
})
|
|
2217
2307
|
).optional(),
|
|
2218
|
-
settings: z.object({
|
|
2219
|
-
preventAutoRedirect: z.boolean().describe(
|
|
2308
|
+
settings: /* @__PURE__ */ z.object({
|
|
2309
|
+
preventAutoRedirect: /* @__PURE__ */ z.boolean().describe(
|
|
2220
2310
|
"Whether the [automatical redirect visits](https://support.wix.com/en/article/customizing-your-pages-seo-settings-in-the-seo-panel) from the old URL to the new one is enabled.\n\n\nDefault: `false` (automatical redirect is enabled)."
|
|
2221
2311
|
).optional(),
|
|
2222
|
-
keywords: z.array(
|
|
2223
|
-
z.object({
|
|
2224
|
-
term: z.string().describe("Keyword value.").optional(),
|
|
2225
|
-
isMain: z.boolean().describe(
|
|
2312
|
+
keywords: /* @__PURE__ */ z.array(
|
|
2313
|
+
/* @__PURE__ */ z.object({
|
|
2314
|
+
term: /* @__PURE__ */ z.string().describe("Keyword value.").optional(),
|
|
2315
|
+
isMain: /* @__PURE__ */ z.boolean().describe(
|
|
2226
2316
|
"Whether the keyword is the main focus keyword."
|
|
2227
2317
|
).optional(),
|
|
2228
|
-
origin: z.string().describe(
|
|
2318
|
+
origin: /* @__PURE__ */ z.string().describe(
|
|
2229
2319
|
"The source that added the keyword terms to the SEO settings."
|
|
2230
2320
|
).max(1e3).optional().nullable()
|
|
2231
2321
|
})
|
|
2232
2322
|
).max(5).optional()
|
|
2233
2323
|
}).describe("SEO general settings.").optional()
|
|
2234
2324
|
}).describe("Custom SEO data for the category.").optional(),
|
|
2235
|
-
richContentDescription: z.any().describe(
|
|
2325
|
+
richContentDescription: /* @__PURE__ */ z.any().describe(
|
|
2236
2326
|
'Category description using rich content.\n> **Note:** Returned only when you pass `"RICH_CONTENT_DESCRIPTION"` to the `fields` array in Categories API requests.\n\n<widget src="https://apps.wix.com/_serverless/ricos-playground-services/goto/api-component" plugins="indent.emoji.divider.codeBlock.file.gallery.giphy.image.table.link.textHighlight.textColor" exampleid="7dc9240e-d548-417a-abcf-0291b68b4303">\n<a href="https://dev.wix.com/docs/ricos/api-reference/ricos-document">See Ricos document reference</a>\n</widget>'
|
|
2237
2327
|
).optional(),
|
|
2238
|
-
treeReference: z.object({
|
|
2239
|
-
appNamespace: z.string().describe(
|
|
2328
|
+
treeReference: /* @__PURE__ */ z.object({
|
|
2329
|
+
appNamespace: /* @__PURE__ */ z.string().describe(
|
|
2240
2330
|
'Namespace of the app whose catalog this category tree belongs to.\n\nCurrently, only `"@wix/stores"` is supported.'
|
|
2241
2331
|
).min(4).max(150).optional(),
|
|
2242
|
-
treeKey: z.string().describe(
|
|
2332
|
+
treeKey: /* @__PURE__ */ z.string().describe(
|
|
2243
2333
|
"Key to differentiate between multiple trees managed by the same app.\n\nFor Wix Stores, pass `null` or omit this field, as each store has only one category tree."
|
|
2244
2334
|
).min(1).max(44).optional().nullable()
|
|
2245
2335
|
}).describe(
|
|
2246
2336
|
'Reference to the category tree this category belongs to.\n\nWhen working with Wix Stores categories, always pass `appNamespace: "@wix/stores"` and `treeKey: null`.'
|
|
2247
2337
|
).optional(),
|
|
2248
|
-
managingAppId: z.string().describe(
|
|
2338
|
+
managingAppId: /* @__PURE__ */ z.string().describe(
|
|
2249
2339
|
"ID of the app responsible for managing items in this category.\n\nWhen set, only the specified app can add or remove items from this category. This is useful for third-party apps that want to create categories exclusively managed by their app, preventing site owners or other apps from modifying the category's items.\n\nYou can get your app's ID from the [app dashboard](https://dev.wix.com/dc3/my-apps/)."
|
|
2250
2340
|
).regex(
|
|
2251
2341
|
/^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}$/,
|
|
2252
2342
|
"Must be a valid GUID"
|
|
2253
2343
|
).optional().nullable(),
|
|
2254
|
-
extendedFields: z.object({
|
|
2255
|
-
namespaces:
|
|
2344
|
+
extendedFields: /* @__PURE__ */ z.object({
|
|
2345
|
+
namespaces: /* @__PURE__ */ z.record(
|
|
2346
|
+
/* @__PURE__ */ z.string(),
|
|
2347
|
+
/* @__PURE__ */ z.record(
|
|
2348
|
+
/* @__PURE__ */ z.string(),
|
|
2349
|
+
/* @__PURE__ */ z.any()
|
|
2350
|
+
)
|
|
2351
|
+
).describe(
|
|
2256
2352
|
"Extended field data. Each key corresponds to the namespace of the app that created the extended fields.\nThe value of each key is structured according to the schema defined when the extended fields were configured.\n\nYou can only access fields for which you have the appropriate permissions.\n\nLearn more about [extended fields](https://dev.wix.com/docs/rest/articles/getting-started/extended-fields)."
|
|
2257
2353
|
).optional()
|
|
2258
2354
|
}).describe(
|
|
@@ -2261,160 +2357,170 @@ var UpdateCategoryVisibilityResponse = /* @__PURE__ */ z.object({
|
|
|
2261
2357
|
}).describe("Updated category.").optional()
|
|
2262
2358
|
});
|
|
2263
2359
|
var BulkShowCategoriesRequest = /* @__PURE__ */ z.object({
|
|
2264
|
-
categoryIds: z.array(z.string()).min(1).max(100),
|
|
2265
|
-
options: z.object({
|
|
2266
|
-
treeReference: z.object({
|
|
2267
|
-
appNamespace: z.string().describe(
|
|
2360
|
+
categoryIds: /* @__PURE__ */ z.array(/* @__PURE__ */ z.string()).min(1).max(100),
|
|
2361
|
+
options: /* @__PURE__ */ z.object({
|
|
2362
|
+
treeReference: /* @__PURE__ */ z.object({
|
|
2363
|
+
appNamespace: /* @__PURE__ */ z.string().describe(
|
|
2268
2364
|
'Namespace of the app whose catalog this category tree belongs to.\n\nCurrently, only `"@wix/stores"` is supported.'
|
|
2269
2365
|
).min(4).max(150),
|
|
2270
|
-
treeKey: z.string().describe(
|
|
2366
|
+
treeKey: /* @__PURE__ */ z.string().describe(
|
|
2271
2367
|
"Key to differentiate between multiple trees managed by the same app.\n\nFor Wix Stores, pass `null` or omit this field, as each store has only one category tree."
|
|
2272
2368
|
).min(1).max(44).optional().nullable()
|
|
2273
2369
|
}).describe("Category tree reference details."),
|
|
2274
|
-
returnEntity: z.boolean().describe(
|
|
2370
|
+
returnEntity: /* @__PURE__ */ z.boolean().describe(
|
|
2275
2371
|
"Whether to return the category entity in the response.\n\nDefault: `false`"
|
|
2276
2372
|
).optional(),
|
|
2277
|
-
fields: z.array(
|
|
2278
|
-
z.enum([
|
|
2373
|
+
fields: /* @__PURE__ */ z.array(
|
|
2374
|
+
/* @__PURE__ */ z.enum([
|
|
2375
|
+
"BREADCRUMBS_INFO",
|
|
2376
|
+
"DESCRIPTION",
|
|
2377
|
+
"RICH_CONTENT_DESCRIPTION"
|
|
2378
|
+
])
|
|
2279
2379
|
).max(100).optional()
|
|
2280
2380
|
})
|
|
2281
2381
|
});
|
|
2282
2382
|
var BulkShowCategoriesResponse = /* @__PURE__ */ z.object({
|
|
2283
|
-
results: z.array(
|
|
2284
|
-
z.object({
|
|
2285
|
-
itemMetadata: z.object({
|
|
2286
|
-
_id: z.string().describe(
|
|
2383
|
+
results: /* @__PURE__ */ z.array(
|
|
2384
|
+
/* @__PURE__ */ z.object({
|
|
2385
|
+
itemMetadata: /* @__PURE__ */ z.object({
|
|
2386
|
+
_id: /* @__PURE__ */ z.string().describe(
|
|
2287
2387
|
"Item ID. Should always be available, unless it's impossible (for example, when failing to create an item)."
|
|
2288
2388
|
).regex(
|
|
2289
2389
|
/^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}$/,
|
|
2290
2390
|
"Must be a valid GUID"
|
|
2291
2391
|
).optional().nullable(),
|
|
2292
|
-
originalIndex: z.number().int().describe(
|
|
2392
|
+
originalIndex: /* @__PURE__ */ z.number().int().describe(
|
|
2293
2393
|
"Index of the item within the request array. Allows for correlation between request and response items."
|
|
2294
2394
|
).optional(),
|
|
2295
|
-
success: z.boolean().describe(
|
|
2395
|
+
success: /* @__PURE__ */ z.boolean().describe(
|
|
2296
2396
|
"Whether the requested action was successful for this item. When `false`, the `error` field is populated."
|
|
2297
2397
|
).optional(),
|
|
2298
|
-
error: z.object({
|
|
2299
|
-
code: z.string().describe("Error code.").optional(),
|
|
2300
|
-
description: z.string().describe("Description of the error.").optional(),
|
|
2301
|
-
data: z.record(z.string(), z.any()).describe("Data related to the error.").optional().nullable()
|
|
2398
|
+
error: /* @__PURE__ */ z.object({
|
|
2399
|
+
code: /* @__PURE__ */ z.string().describe("Error code.").optional(),
|
|
2400
|
+
description: /* @__PURE__ */ z.string().describe("Description of the error.").optional(),
|
|
2401
|
+
data: /* @__PURE__ */ z.record(/* @__PURE__ */ z.string(), /* @__PURE__ */ z.any()).describe("Data related to the error.").optional().nullable()
|
|
2302
2402
|
}).describe("Details about the error in case of failure.").optional()
|
|
2303
2403
|
}).describe("Bulk action metadata for category.").optional(),
|
|
2304
|
-
category: z.object({
|
|
2305
|
-
_id: z.string().describe("Category ID.").regex(
|
|
2404
|
+
category: /* @__PURE__ */ z.object({
|
|
2405
|
+
_id: /* @__PURE__ */ z.string().describe("Category ID.").regex(
|
|
2306
2406
|
/^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}$/,
|
|
2307
2407
|
"Must be a valid GUID"
|
|
2308
2408
|
).optional().nullable(),
|
|
2309
|
-
revision: z.string().regex(/^-?\d+$/, "Must be a valid Int64 string").describe(
|
|
2409
|
+
revision: /* @__PURE__ */ z.string().regex(/^-?\d+$/, "Must be a valid Int64 string").describe(
|
|
2310
2410
|
"Revision number, which increments by 1 each time the category is updated.\nTo prevent conflicting changes, the current revision must be passed when updating.\n\nIgnored when creating a category."
|
|
2311
2411
|
).optional().nullable(),
|
|
2312
|
-
_createdDate: z.date().describe("Date and time the category was created.").optional().nullable(),
|
|
2313
|
-
_updatedDate: z.date().describe("Date and time the category was updated.").optional().nullable(),
|
|
2314
|
-
name: z.string().describe("Category name.").min(1).max(80).optional().nullable(),
|
|
2315
|
-
image: z.string().describe(
|
|
2412
|
+
_createdDate: /* @__PURE__ */ z.date().describe("Date and time the category was created.").optional().nullable(),
|
|
2413
|
+
_updatedDate: /* @__PURE__ */ z.date().describe("Date and time the category was updated.").optional().nullable(),
|
|
2414
|
+
name: /* @__PURE__ */ z.string().describe("Category name.").min(1).max(80).optional().nullable(),
|
|
2415
|
+
image: /* @__PURE__ */ z.string().describe(
|
|
2316
2416
|
"Category image.\n\n+ Pass WixMedia image ID for media previously saved in the [Wix Media Manager](https://support.wix.com/en/article/wix-media-about-the-media-manager).\n+ Pass full image URL to upload to Wix Media Manager."
|
|
2317
2417
|
).optional(),
|
|
2318
|
-
itemCounter: z.number().int().describe(
|
|
2418
|
+
itemCounter: /* @__PURE__ */ z.number().int().describe(
|
|
2319
2419
|
"Number of items directly assigned to this category. Doesn't include items in subcategories."
|
|
2320
2420
|
).optional(),
|
|
2321
|
-
description: z.string().describe(
|
|
2421
|
+
description: /* @__PURE__ */ z.string().describe(
|
|
2322
2422
|
'Plain-text category description.\n\nReturned only when you pass `"DESCRIPTION"` to the `fields` array.'
|
|
2323
2423
|
).min(1).max(600).optional().nullable(),
|
|
2324
|
-
visible: z.boolean().describe(
|
|
2424
|
+
visible: /* @__PURE__ */ z.boolean().describe(
|
|
2325
2425
|
"Whether the category is visible to site visitors.\n\nVisibility cascades to subcategories: if a parent category's visibility is set to `false`, all its subcategories become hidden as well.\nSetting a subcategory's visibility to `true` fails if any of its parent categories are hidden.\n\n> **Notes:**\n> 1. Hidden categories and their items are still accessible via API calls. For example, List Items In Category returns items even for hidden categories.\n> 2. The `visible` field can only be changed using the [Update Category Visibility](https://dev.wix.com/docs/api-reference/business-solutions/stores/catalog-v3/categories/update-category-visibility) method.\n> 3. Default: `true`"
|
|
2326
2426
|
).optional().nullable(),
|
|
2327
|
-
breadcrumbsInfo: z.object({
|
|
2328
|
-
breadcrumbs: z.array(
|
|
2329
|
-
z.object({
|
|
2330
|
-
categoryId: z.string().describe("Ancestor category ID.").regex(
|
|
2427
|
+
breadcrumbsInfo: /* @__PURE__ */ z.object({
|
|
2428
|
+
breadcrumbs: /* @__PURE__ */ z.array(
|
|
2429
|
+
/* @__PURE__ */ z.object({
|
|
2430
|
+
categoryId: /* @__PURE__ */ z.string().describe("Ancestor category ID.").regex(
|
|
2331
2431
|
/^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}$/,
|
|
2332
2432
|
"Must be a valid GUID"
|
|
2333
2433
|
).optional(),
|
|
2334
|
-
categoryName: z.string().describe("Ancestor category name.").min(1).max(80).optional(),
|
|
2335
|
-
categorySlug: z.string().describe("Ancestor category slug.").min(1).max(100).optional()
|
|
2434
|
+
categoryName: /* @__PURE__ */ z.string().describe("Ancestor category name.").min(1).max(80).optional(),
|
|
2435
|
+
categorySlug: /* @__PURE__ */ z.string().describe("Ancestor category slug.").min(1).max(100).optional()
|
|
2336
2436
|
})
|
|
2337
2437
|
).max(5).optional()
|
|
2338
2438
|
}).describe(
|
|
2339
2439
|
'Category breadcrumbs, representing the path from the top-level ancestor category down to the parent of the current category.\n\nBreadcrumbs are useful for building navigation UI and for SEO purposes. For top-level categories, the breadcrumbs list is empty.\n\nReturned only when you pass `"BREADCRUMBS_INFO"` to the `fields` array.'
|
|
2340
2440
|
).optional(),
|
|
2341
|
-
parentCategory: z.object({
|
|
2342
|
-
_id: z.string().describe(
|
|
2441
|
+
parentCategory: /* @__PURE__ */ z.object({
|
|
2442
|
+
_id: /* @__PURE__ */ z.string().describe(
|
|
2343
2443
|
"ID of the parent category.\n\nLeave empty or omit to create a top-level category."
|
|
2344
2444
|
).regex(
|
|
2345
2445
|
/^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}$/,
|
|
2346
2446
|
"Must be a valid GUID"
|
|
2347
2447
|
).optional().nullable(),
|
|
2348
|
-
index: z.number().int().describe(
|
|
2448
|
+
index: /* @__PURE__ */ z.number().int().describe(
|
|
2349
2449
|
"Position of this category among its sibling categories within the parent."
|
|
2350
2450
|
).optional().nullable()
|
|
2351
2451
|
}).describe(
|
|
2352
2452
|
"Information about the category's parent. Top-level categories don't have a parent."
|
|
2353
2453
|
).optional(),
|
|
2354
|
-
slug: z.string().describe(
|
|
2454
|
+
slug: /* @__PURE__ */ z.string().describe(
|
|
2355
2455
|
"Category slug. A URL-friendly identifier used in the category page address.\n\nIf not provided, the slug is autogenerated based on the category name."
|
|
2356
2456
|
).min(1).max(300).optional().nullable(),
|
|
2357
|
-
seoData: z.object({
|
|
2358
|
-
tags: z.array(
|
|
2359
|
-
z.object({
|
|
2360
|
-
type: z.string().describe(
|
|
2457
|
+
seoData: /* @__PURE__ */ z.object({
|
|
2458
|
+
tags: /* @__PURE__ */ z.array(
|
|
2459
|
+
/* @__PURE__ */ z.object({
|
|
2460
|
+
type: /* @__PURE__ */ z.string().describe(
|
|
2361
2461
|
"SEO tag type.\n\n\nSupported values: `title`, `meta`, `script`, `link`.\n\nWhich of these an API actually accepts depends on where the tag is being set: this\nlist is not a blanket guarantee across every API that reuses this message. Site SEO\nTags in particular accepts only `meta` (see `SiteSeoTags.tags`) and rejects\n`title`/`script`/`link` with a validation error even though they appear here \u2014\ncheck the field description of the specific `tags`-typed field you're writing to\nfor the types it actually supports and the error it returns.\n\nLimitation: `title` and `script` (e.g. a `script` tag with `props.type`\n`\"application/ld+json\"` carrying structured data) are supported only when\n`custom` is unset or `false`. Setting `custom: true` on a `title` or `script`\ntag is rejected with `TAG_TYPE_NOT_ALLOWED`, because `custom: true` routes the\nwrite through the site's Advanced/Custom Tags list. To write structured data,\nomit `custom` (or set it to `false`)."
|
|
2362
2462
|
).optional(),
|
|
2363
|
-
props: z.record(z.string(), z.any()).describe(
|
|
2463
|
+
props: /* @__PURE__ */ z.record(/* @__PURE__ */ z.string(), /* @__PURE__ */ z.any()).describe(
|
|
2364
2464
|
'A `{"key": "value"}` pair object where each SEO tag property (`"name"`, `"content"`, `"rel"`, `"href"`) contains a value.\nFor example: `{"name": "description", "content": "the description itself"}`.'
|
|
2365
2465
|
).optional().nullable(),
|
|
2366
|
-
meta: z.record(z.string(), z.any()).describe(
|
|
2466
|
+
meta: /* @__PURE__ */ z.record(/* @__PURE__ */ z.string(), /* @__PURE__ */ z.any()).describe(
|
|
2367
2467
|
'SEO tag metadata. For example, `{"height": 300, "width": 240}`.'
|
|
2368
2468
|
).optional().nullable(),
|
|
2369
|
-
children: z.string().describe(
|
|
2469
|
+
children: /* @__PURE__ */ z.string().describe(
|
|
2370
2470
|
"SEO tag inner content. For example, `<title> inner content </title>`."
|
|
2371
2471
|
).optional(),
|
|
2372
|
-
custom: z.boolean().describe(
|
|
2472
|
+
custom: /* @__PURE__ */ z.boolean().describe(
|
|
2373
2473
|
"Whether the tag is a [custom tag](https://support.wix.com/en/article/adding-additional-meta-tags-to-your-sites-pages) \u2014\ni.e. an entry from the site's Advanced/Custom Tags list.\n\nSetting this to `true` on a write restricts which `type` values are accepted\n\u2014 the same restriction the Advanced/Custom Tags UI enforces. `title` and\n`script` tags (including JSON-LD structured data) must be sent with `custom`\nomitted or `false`; sending them with `custom: true` is rejected with\n`TAG_TYPE_NOT_ALLOWED`.\n\nNote this is a separate restriction from Site SEO Tags' own type restriction on\n`SiteSeoTags.tags`: even with `custom` unset, Site SEO Tags rejects `script` (e.g.\nfor site-wide structured data) unconditionally. There is currently no way to set\nsite-wide, every-page structured data through any of these APIs \u2014 write a per-page\n`script` tag through the Item SEO Tags API instead.\n\nThis flag is scoped to that feature only. It is NOT an indicator of whether a standard tag\n(`title`, `description`, Open Graph, etc.) reflects a manually configured value versus a computed\ndefault/pattern \u2014 standard tags always resolve with `custom: false`, even when their content comes\nfrom a page's manually saved SEO title/description override. Don't use this field to verify whether\na live page reflects a manual per-page SEO edit.\n\nLimitation: when `ResolveStaticPageSeoTags` is called without `seoData`, the per-page SEO data is read\nonly from the Vibe/Wix-managed-headless override store. That store holds nothing for classic Wix Editor\nor Wix Studio pages, so even genuine Advanced/Custom Tags saved on those pages are missing from the\nresponse entirely \u2014 there, `false` means this API could not tell, not that no custom tag exists.\nPass `seoData` explicitly to resolve against a known set of tags."
|
|
2374
2474
|
).optional(),
|
|
2375
|
-
disabled: z.boolean().describe(
|
|
2475
|
+
disabled: /* @__PURE__ */ z.boolean().describe(
|
|
2376
2476
|
"Whether the tag is disabled. If the tag is disabled, people can't find your page when searching for this phrase in search engines."
|
|
2377
2477
|
).optional()
|
|
2378
2478
|
})
|
|
2379
2479
|
).optional(),
|
|
2380
|
-
settings: z.object({
|
|
2381
|
-
preventAutoRedirect: z.boolean().describe(
|
|
2480
|
+
settings: /* @__PURE__ */ z.object({
|
|
2481
|
+
preventAutoRedirect: /* @__PURE__ */ z.boolean().describe(
|
|
2382
2482
|
"Whether the [automatical redirect visits](https://support.wix.com/en/article/customizing-your-pages-seo-settings-in-the-seo-panel) from the old URL to the new one is enabled.\n\n\nDefault: `false` (automatical redirect is enabled)."
|
|
2383
2483
|
).optional(),
|
|
2384
|
-
keywords: z.array(
|
|
2385
|
-
z.object({
|
|
2386
|
-
term: z.string().describe("Keyword value.").optional(),
|
|
2387
|
-
isMain: z.boolean().describe(
|
|
2484
|
+
keywords: /* @__PURE__ */ z.array(
|
|
2485
|
+
/* @__PURE__ */ z.object({
|
|
2486
|
+
term: /* @__PURE__ */ z.string().describe("Keyword value.").optional(),
|
|
2487
|
+
isMain: /* @__PURE__ */ z.boolean().describe(
|
|
2388
2488
|
"Whether the keyword is the main focus keyword."
|
|
2389
2489
|
).optional(),
|
|
2390
|
-
origin: z.string().describe(
|
|
2490
|
+
origin: /* @__PURE__ */ z.string().describe(
|
|
2391
2491
|
"The source that added the keyword terms to the SEO settings."
|
|
2392
2492
|
).max(1e3).optional().nullable()
|
|
2393
2493
|
})
|
|
2394
2494
|
).max(5).optional()
|
|
2395
2495
|
}).describe("SEO general settings.").optional()
|
|
2396
2496
|
}).describe("Custom SEO data for the category.").optional(),
|
|
2397
|
-
richContentDescription: z.any().describe(
|
|
2497
|
+
richContentDescription: /* @__PURE__ */ z.any().describe(
|
|
2398
2498
|
'Category description using rich content.\n> **Note:** Returned only when you pass `"RICH_CONTENT_DESCRIPTION"` to the `fields` array in Categories API requests.\n\n<widget src="https://apps.wix.com/_serverless/ricos-playground-services/goto/api-component" plugins="indent.emoji.divider.codeBlock.file.gallery.giphy.image.table.link.textHighlight.textColor" exampleid="7dc9240e-d548-417a-abcf-0291b68b4303">\n<a href="https://dev.wix.com/docs/ricos/api-reference/ricos-document">See Ricos document reference</a>\n</widget>'
|
|
2399
2499
|
).optional(),
|
|
2400
|
-
treeReference: z.object({
|
|
2401
|
-
appNamespace: z.string().describe(
|
|
2500
|
+
treeReference: /* @__PURE__ */ z.object({
|
|
2501
|
+
appNamespace: /* @__PURE__ */ z.string().describe(
|
|
2402
2502
|
'Namespace of the app whose catalog this category tree belongs to.\n\nCurrently, only `"@wix/stores"` is supported.'
|
|
2403
2503
|
).min(4).max(150).optional(),
|
|
2404
|
-
treeKey: z.string().describe(
|
|
2504
|
+
treeKey: /* @__PURE__ */ z.string().describe(
|
|
2405
2505
|
"Key to differentiate between multiple trees managed by the same app.\n\nFor Wix Stores, pass `null` or omit this field, as each store has only one category tree."
|
|
2406
2506
|
).min(1).max(44).optional().nullable()
|
|
2407
2507
|
}).describe(
|
|
2408
2508
|
'Reference to the category tree this category belongs to.\n\nWhen working with Wix Stores categories, always pass `appNamespace: "@wix/stores"` and `treeKey: null`.'
|
|
2409
2509
|
).optional(),
|
|
2410
|
-
managingAppId: z.string().describe(
|
|
2510
|
+
managingAppId: /* @__PURE__ */ z.string().describe(
|
|
2411
2511
|
"ID of the app responsible for managing items in this category.\n\nWhen set, only the specified app can add or remove items from this category. This is useful for third-party apps that want to create categories exclusively managed by their app, preventing site owners or other apps from modifying the category's items.\n\nYou can get your app's ID from the [app dashboard](https://dev.wix.com/dc3/my-apps/)."
|
|
2412
2512
|
).regex(
|
|
2413
2513
|
/^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}$/,
|
|
2414
2514
|
"Must be a valid GUID"
|
|
2415
2515
|
).optional().nullable(),
|
|
2416
|
-
extendedFields: z.object({
|
|
2417
|
-
namespaces:
|
|
2516
|
+
extendedFields: /* @__PURE__ */ z.object({
|
|
2517
|
+
namespaces: /* @__PURE__ */ z.record(
|
|
2518
|
+
/* @__PURE__ */ z.string(),
|
|
2519
|
+
/* @__PURE__ */ z.record(
|
|
2520
|
+
/* @__PURE__ */ z.string(),
|
|
2521
|
+
/* @__PURE__ */ z.any()
|
|
2522
|
+
)
|
|
2523
|
+
).describe(
|
|
2418
2524
|
"Extended field data. Each key corresponds to the namespace of the app that created the extended fields.\nThe value of each key is structured according to the schema defined when the extended fields were configured.\n\nYou can only access fields for which you have the appropriate permissions.\n\nLearn more about [extended fields](https://dev.wix.com/docs/rest/articles/getting-started/extended-fields)."
|
|
2419
2525
|
).optional()
|
|
2420
2526
|
}).describe(
|
|
@@ -2425,268 +2531,270 @@ var BulkShowCategoriesResponse = /* @__PURE__ */ z.object({
|
|
|
2425
2531
|
).optional()
|
|
2426
2532
|
})
|
|
2427
2533
|
).min(1).max(100).optional(),
|
|
2428
|
-
bulkActionMetadata: z.object({
|
|
2429
|
-
totalSuccesses: z.number().int().describe("Number of items that were successfully processed.").optional(),
|
|
2430
|
-
totalFailures: z.number().int().describe("Number of items that couldn't be processed.").optional(),
|
|
2431
|
-
undetailedFailures: z.number().int().describe(
|
|
2534
|
+
bulkActionMetadata: /* @__PURE__ */ z.object({
|
|
2535
|
+
totalSuccesses: /* @__PURE__ */ z.number().int().describe("Number of items that were successfully processed.").optional(),
|
|
2536
|
+
totalFailures: /* @__PURE__ */ z.number().int().describe("Number of items that couldn't be processed.").optional(),
|
|
2537
|
+
undetailedFailures: /* @__PURE__ */ z.number().int().describe(
|
|
2432
2538
|
"Number of failures without details because detailed failure threshold was exceeded."
|
|
2433
2539
|
).optional()
|
|
2434
2540
|
}).describe("Bulk action metadata.").optional()
|
|
2435
2541
|
});
|
|
2436
2542
|
var BulkAddItemsToCategoryRequest = /* @__PURE__ */ z.object({
|
|
2437
|
-
categoryId: z.string().describe("Category ID.").regex(
|
|
2543
|
+
categoryId: /* @__PURE__ */ z.string().describe("Category ID.").regex(
|
|
2438
2544
|
/^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}$/,
|
|
2439
2545
|
"Must be a valid GUID"
|
|
2440
2546
|
),
|
|
2441
|
-
items: z.array(
|
|
2442
|
-
z.object({
|
|
2443
|
-
catalogItemId: z.string().describe(
|
|
2547
|
+
items: /* @__PURE__ */ z.array(
|
|
2548
|
+
/* @__PURE__ */ z.object({
|
|
2549
|
+
catalogItemId: /* @__PURE__ */ z.string().describe(
|
|
2444
2550
|
"ID of the item within the catalog.\n\nFor Wix Stores, this is the product ID from the [Catalog V3 Products API](https://dev.wix.com/docs/api-reference/business-solutions/stores/catalog-v3/products-v3/introduction)."
|
|
2445
2551
|
).min(1).max(36),
|
|
2446
|
-
appId: z.string().describe(
|
|
2552
|
+
appId: /* @__PURE__ */ z.string().describe(
|
|
2447
2553
|
'ID of the Wix app providing the catalog.\n\nCurrently, only Wix Stores is supported. Use `"215238eb-22a5-4c36-9e7b-e7c08025e04e"` for all Wix Stores products.'
|
|
2448
2554
|
).min(1).max(36)
|
|
2449
2555
|
})
|
|
2450
2556
|
).min(1).max(1e3),
|
|
2451
|
-
options: z.object({
|
|
2452
|
-
treeReference: z.object({
|
|
2453
|
-
appNamespace: z.string().describe(
|
|
2557
|
+
options: /* @__PURE__ */ z.object({
|
|
2558
|
+
treeReference: /* @__PURE__ */ z.object({
|
|
2559
|
+
appNamespace: /* @__PURE__ */ z.string().describe(
|
|
2454
2560
|
'Namespace of the app whose catalog this category tree belongs to.\n\nCurrently, only `"@wix/stores"` is supported.'
|
|
2455
2561
|
).min(4).max(150),
|
|
2456
|
-
treeKey: z.string().describe(
|
|
2562
|
+
treeKey: /* @__PURE__ */ z.string().describe(
|
|
2457
2563
|
"Key to differentiate between multiple trees managed by the same app.\n\nFor Wix Stores, pass `null` or omit this field, as each store has only one category tree."
|
|
2458
2564
|
).min(1).max(44).optional().nullable()
|
|
2459
2565
|
}).describe("Category tree reference details.")
|
|
2460
2566
|
})
|
|
2461
2567
|
});
|
|
2462
2568
|
var BulkAddItemsToCategoryResponse = /* @__PURE__ */ z.object({
|
|
2463
|
-
results: z.array(
|
|
2464
|
-
z.object({
|
|
2465
|
-
itemMetadata: z.object({
|
|
2466
|
-
item: z.object({
|
|
2467
|
-
catalogItemId: z.string().describe(
|
|
2569
|
+
results: /* @__PURE__ */ z.array(
|
|
2570
|
+
/* @__PURE__ */ z.object({
|
|
2571
|
+
itemMetadata: /* @__PURE__ */ z.object({
|
|
2572
|
+
item: /* @__PURE__ */ z.object({
|
|
2573
|
+
catalogItemId: /* @__PURE__ */ z.string().describe(
|
|
2468
2574
|
"ID of the item within the catalog.\n\nFor Wix Stores, this is the product ID from the [Catalog V3 Products API](https://dev.wix.com/docs/api-reference/business-solutions/stores/catalog-v3/products-v3/introduction)."
|
|
2469
2575
|
).min(1).max(36).optional(),
|
|
2470
|
-
appId: z.string().describe(
|
|
2576
|
+
appId: /* @__PURE__ */ z.string().describe(
|
|
2471
2577
|
'ID of the Wix app providing the catalog.\n\nCurrently, only Wix Stores is supported. Use `"215238eb-22a5-4c36-9e7b-e7c08025e04e"` for all Wix Stores products.'
|
|
2472
2578
|
).min(1).max(36).optional()
|
|
2473
2579
|
}).describe("Catalog and item reference info.").optional(),
|
|
2474
|
-
originalIndex: z.number().int().describe(
|
|
2580
|
+
originalIndex: /* @__PURE__ */ z.number().int().describe(
|
|
2475
2581
|
"Original index of the item within the request array. Allows for correlation between request and response items."
|
|
2476
2582
|
).optional(),
|
|
2477
|
-
success: z.boolean().describe(
|
|
2583
|
+
success: /* @__PURE__ */ z.boolean().describe(
|
|
2478
2584
|
"Whether the action was successful.\nWhen `false`, the `error` field is populated."
|
|
2479
2585
|
).optional(),
|
|
2480
|
-
error: z.object({
|
|
2481
|
-
code: z.string().describe("Error code.").optional(),
|
|
2482
|
-
description: z.string().describe("Description of the error.").optional(),
|
|
2483
|
-
data: z.record(z.string(), z.any()).describe("Data related to the error.").optional().nullable()
|
|
2586
|
+
error: /* @__PURE__ */ z.object({
|
|
2587
|
+
code: /* @__PURE__ */ z.string().describe("Error code.").optional(),
|
|
2588
|
+
description: /* @__PURE__ */ z.string().describe("Description of the error.").optional(),
|
|
2589
|
+
data: /* @__PURE__ */ z.record(/* @__PURE__ */ z.string(), /* @__PURE__ */ z.any()).describe("Data related to the error.").optional().nullable()
|
|
2484
2590
|
}).describe("Error details in the case of an unsuccessful action.").optional()
|
|
2485
2591
|
}).describe("Bulk action metadata for item reference.").optional()
|
|
2486
2592
|
})
|
|
2487
2593
|
).min(1).max(100).optional(),
|
|
2488
|
-
bulkActionMetadata: z.object({
|
|
2489
|
-
totalSuccesses: z.number().int().describe("Number of items that were successfully processed.").optional(),
|
|
2490
|
-
totalFailures: z.number().int().describe("Number of items that couldn't be processed.").optional(),
|
|
2491
|
-
undetailedFailures: z.number().int().describe(
|
|
2594
|
+
bulkActionMetadata: /* @__PURE__ */ z.object({
|
|
2595
|
+
totalSuccesses: /* @__PURE__ */ z.number().int().describe("Number of items that were successfully processed.").optional(),
|
|
2596
|
+
totalFailures: /* @__PURE__ */ z.number().int().describe("Number of items that couldn't be processed.").optional(),
|
|
2597
|
+
undetailedFailures: /* @__PURE__ */ z.number().int().describe(
|
|
2492
2598
|
"Number of failures without details because detailed failure threshold was exceeded."
|
|
2493
2599
|
).optional()
|
|
2494
2600
|
}).describe("Bulk action metadata.").optional()
|
|
2495
2601
|
});
|
|
2496
2602
|
var BulkAddItemToCategoriesRequest = /* @__PURE__ */ z.object({
|
|
2497
|
-
item: z.object({
|
|
2498
|
-
catalogItemId: z.string().describe(
|
|
2603
|
+
item: /* @__PURE__ */ z.object({
|
|
2604
|
+
catalogItemId: /* @__PURE__ */ z.string().describe(
|
|
2499
2605
|
"ID of the item within the catalog.\n\nFor Wix Stores, this is the product ID from the [Catalog V3 Products API](https://dev.wix.com/docs/api-reference/business-solutions/stores/catalog-v3/products-v3/introduction)."
|
|
2500
2606
|
).min(1).max(36),
|
|
2501
|
-
appId: z.string().describe(
|
|
2607
|
+
appId: /* @__PURE__ */ z.string().describe(
|
|
2502
2608
|
'ID of the Wix app providing the catalog.\n\nCurrently, only Wix Stores is supported. Use `"215238eb-22a5-4c36-9e7b-e7c08025e04e"` for all Wix Stores products.'
|
|
2503
2609
|
).min(1).max(36)
|
|
2504
2610
|
}).describe("Item to add."),
|
|
2505
|
-
options: z.object({
|
|
2506
|
-
categoryIds: z.array(z.string()).min(1).max(100),
|
|
2507
|
-
treeReference: z.object({
|
|
2508
|
-
appNamespace: z.string().describe(
|
|
2611
|
+
options: /* @__PURE__ */ z.object({
|
|
2612
|
+
categoryIds: /* @__PURE__ */ z.array(/* @__PURE__ */ z.string()).min(1).max(100),
|
|
2613
|
+
treeReference: /* @__PURE__ */ z.object({
|
|
2614
|
+
appNamespace: /* @__PURE__ */ z.string().describe(
|
|
2509
2615
|
'Namespace of the app whose catalog this category tree belongs to.\n\nCurrently, only `"@wix/stores"` is supported.'
|
|
2510
2616
|
).min(4).max(150),
|
|
2511
|
-
treeKey: z.string().describe(
|
|
2617
|
+
treeKey: /* @__PURE__ */ z.string().describe(
|
|
2512
2618
|
"Key to differentiate between multiple trees managed by the same app.\n\nFor Wix Stores, pass `null` or omit this field, as each store has only one category tree."
|
|
2513
2619
|
).min(1).max(44).optional().nullable()
|
|
2514
2620
|
}).describe("Category tree reference details.")
|
|
2515
2621
|
})
|
|
2516
2622
|
});
|
|
2517
2623
|
var BulkAddItemToCategoriesResponse = /* @__PURE__ */ z.object({
|
|
2518
|
-
results: z.array(
|
|
2519
|
-
z.object({
|
|
2520
|
-
itemMetadata: z.object({
|
|
2521
|
-
_id: z.string().describe(
|
|
2624
|
+
results: /* @__PURE__ */ z.array(
|
|
2625
|
+
/* @__PURE__ */ z.object({
|
|
2626
|
+
itemMetadata: /* @__PURE__ */ z.object({
|
|
2627
|
+
_id: /* @__PURE__ */ z.string().describe(
|
|
2522
2628
|
"Item ID. Should always be available, unless it's impossible (for example, when failing to create an item)."
|
|
2523
2629
|
).regex(
|
|
2524
2630
|
/^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}$/,
|
|
2525
2631
|
"Must be a valid GUID"
|
|
2526
2632
|
).optional().nullable(),
|
|
2527
|
-
originalIndex: z.number().int().describe(
|
|
2633
|
+
originalIndex: /* @__PURE__ */ z.number().int().describe(
|
|
2528
2634
|
"Index of the item within the request array. Allows for correlation between request and response items."
|
|
2529
2635
|
).optional(),
|
|
2530
|
-
success: z.boolean().describe(
|
|
2636
|
+
success: /* @__PURE__ */ z.boolean().describe(
|
|
2531
2637
|
"Whether the requested action was successful for this item. When `false`, the `error` field is populated."
|
|
2532
2638
|
).optional(),
|
|
2533
|
-
error: z.object({
|
|
2534
|
-
code: z.string().describe("Error code.").optional(),
|
|
2535
|
-
description: z.string().describe("Description of the error.").optional(),
|
|
2536
|
-
data: z.record(z.string(), z.any()).describe("Data related to the error.").optional().nullable()
|
|
2639
|
+
error: /* @__PURE__ */ z.object({
|
|
2640
|
+
code: /* @__PURE__ */ z.string().describe("Error code.").optional(),
|
|
2641
|
+
description: /* @__PURE__ */ z.string().describe("Description of the error.").optional(),
|
|
2642
|
+
data: /* @__PURE__ */ z.record(/* @__PURE__ */ z.string(), /* @__PURE__ */ z.any()).describe("Data related to the error.").optional().nullable()
|
|
2537
2643
|
}).describe("Details about the error in case of failure.").optional()
|
|
2538
2644
|
}).describe("Bulk action metadata for category.").optional()
|
|
2539
2645
|
})
|
|
2540
2646
|
).min(1).max(100).optional(),
|
|
2541
|
-
bulkActionMetadata: z.object({
|
|
2542
|
-
totalSuccesses: z.number().int().describe("Number of items that were successfully processed.").optional(),
|
|
2543
|
-
totalFailures: z.number().int().describe("Number of items that couldn't be processed.").optional(),
|
|
2544
|
-
undetailedFailures: z.number().int().describe(
|
|
2647
|
+
bulkActionMetadata: /* @__PURE__ */ z.object({
|
|
2648
|
+
totalSuccesses: /* @__PURE__ */ z.number().int().describe("Number of items that were successfully processed.").optional(),
|
|
2649
|
+
totalFailures: /* @__PURE__ */ z.number().int().describe("Number of items that couldn't be processed.").optional(),
|
|
2650
|
+
undetailedFailures: /* @__PURE__ */ z.number().int().describe(
|
|
2545
2651
|
"Number of failures without details because detailed failure threshold was exceeded."
|
|
2546
2652
|
).optional()
|
|
2547
2653
|
}).describe("Bulk action metadata.").optional()
|
|
2548
2654
|
});
|
|
2549
2655
|
var BulkRemoveItemsFromCategoryRequest = /* @__PURE__ */ z.object({
|
|
2550
|
-
categoryId: z.string().describe("Category ID.").regex(
|
|
2656
|
+
categoryId: /* @__PURE__ */ z.string().describe("Category ID.").regex(
|
|
2551
2657
|
/^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}$/,
|
|
2552
2658
|
"Must be a valid GUID"
|
|
2553
2659
|
),
|
|
2554
|
-
items: z.array(
|
|
2555
|
-
z.object({
|
|
2556
|
-
catalogItemId: z.string().describe(
|
|
2660
|
+
items: /* @__PURE__ */ z.array(
|
|
2661
|
+
/* @__PURE__ */ z.object({
|
|
2662
|
+
catalogItemId: /* @__PURE__ */ z.string().describe(
|
|
2557
2663
|
"ID of the item within the catalog.\n\nFor Wix Stores, this is the product ID from the [Catalog V3 Products API](https://dev.wix.com/docs/api-reference/business-solutions/stores/catalog-v3/products-v3/introduction)."
|
|
2558
2664
|
).min(1).max(36),
|
|
2559
|
-
appId: z.string().describe(
|
|
2665
|
+
appId: /* @__PURE__ */ z.string().describe(
|
|
2560
2666
|
'ID of the Wix app providing the catalog.\n\nCurrently, only Wix Stores is supported. Use `"215238eb-22a5-4c36-9e7b-e7c08025e04e"` for all Wix Stores products.'
|
|
2561
2667
|
).min(1).max(36)
|
|
2562
2668
|
})
|
|
2563
2669
|
).min(1).max(100),
|
|
2564
|
-
options: z.object({
|
|
2565
|
-
treeReference: z.object({
|
|
2566
|
-
appNamespace: z.string().describe(
|
|
2670
|
+
options: /* @__PURE__ */ z.object({
|
|
2671
|
+
treeReference: /* @__PURE__ */ z.object({
|
|
2672
|
+
appNamespace: /* @__PURE__ */ z.string().describe(
|
|
2567
2673
|
'Namespace of the app whose catalog this category tree belongs to.\n\nCurrently, only `"@wix/stores"` is supported.'
|
|
2568
2674
|
).min(4).max(150),
|
|
2569
|
-
treeKey: z.string().describe(
|
|
2675
|
+
treeKey: /* @__PURE__ */ z.string().describe(
|
|
2570
2676
|
"Key to differentiate between multiple trees managed by the same app.\n\nFor Wix Stores, pass `null` or omit this field, as each store has only one category tree."
|
|
2571
2677
|
).min(1).max(44).optional().nullable()
|
|
2572
2678
|
}).describe("Category tree reference details.")
|
|
2573
2679
|
})
|
|
2574
2680
|
});
|
|
2575
2681
|
var BulkRemoveItemsFromCategoryResponse = /* @__PURE__ */ z.object({
|
|
2576
|
-
results: z.array(
|
|
2577
|
-
z.object({
|
|
2578
|
-
itemMetadata: z.object({
|
|
2579
|
-
item: z.object({
|
|
2580
|
-
catalogItemId: z.string().describe(
|
|
2682
|
+
results: /* @__PURE__ */ z.array(
|
|
2683
|
+
/* @__PURE__ */ z.object({
|
|
2684
|
+
itemMetadata: /* @__PURE__ */ z.object({
|
|
2685
|
+
item: /* @__PURE__ */ z.object({
|
|
2686
|
+
catalogItemId: /* @__PURE__ */ z.string().describe(
|
|
2581
2687
|
"ID of the item within the catalog.\n\nFor Wix Stores, this is the product ID from the [Catalog V3 Products API](https://dev.wix.com/docs/api-reference/business-solutions/stores/catalog-v3/products-v3/introduction)."
|
|
2582
2688
|
).min(1).max(36).optional(),
|
|
2583
|
-
appId: z.string().describe(
|
|
2689
|
+
appId: /* @__PURE__ */ z.string().describe(
|
|
2584
2690
|
'ID of the Wix app providing the catalog.\n\nCurrently, only Wix Stores is supported. Use `"215238eb-22a5-4c36-9e7b-e7c08025e04e"` for all Wix Stores products.'
|
|
2585
2691
|
).min(1).max(36).optional()
|
|
2586
2692
|
}).describe("Catalog and item reference info.").optional(),
|
|
2587
|
-
originalIndex: z.number().int().describe(
|
|
2693
|
+
originalIndex: /* @__PURE__ */ z.number().int().describe(
|
|
2588
2694
|
"Original index of the item within the request array. Allows for correlation between request and response items."
|
|
2589
2695
|
).optional(),
|
|
2590
|
-
success: z.boolean().describe(
|
|
2696
|
+
success: /* @__PURE__ */ z.boolean().describe(
|
|
2591
2697
|
"Whether the action was successful.\nWhen `false`, the `error` field is populated."
|
|
2592
2698
|
).optional(),
|
|
2593
|
-
error: z.object({
|
|
2594
|
-
code: z.string().describe("Error code.").optional(),
|
|
2595
|
-
description: z.string().describe("Description of the error.").optional(),
|
|
2596
|
-
data: z.record(z.string(), z.any()).describe("Data related to the error.").optional().nullable()
|
|
2699
|
+
error: /* @__PURE__ */ z.object({
|
|
2700
|
+
code: /* @__PURE__ */ z.string().describe("Error code.").optional(),
|
|
2701
|
+
description: /* @__PURE__ */ z.string().describe("Description of the error.").optional(),
|
|
2702
|
+
data: /* @__PURE__ */ z.record(/* @__PURE__ */ z.string(), /* @__PURE__ */ z.any()).describe("Data related to the error.").optional().nullable()
|
|
2597
2703
|
}).describe("Error details in the case of an unsuccessful action.").optional()
|
|
2598
2704
|
}).describe("Bulk action metadata for item reference.").optional()
|
|
2599
2705
|
})
|
|
2600
2706
|
).min(1).max(100).optional(),
|
|
2601
|
-
bulkActionMetadata: z.object({
|
|
2602
|
-
totalSuccesses: z.number().int().describe("Number of items that were successfully processed.").optional(),
|
|
2603
|
-
totalFailures: z.number().int().describe("Number of items that couldn't be processed.").optional(),
|
|
2604
|
-
undetailedFailures: z.number().int().describe(
|
|
2707
|
+
bulkActionMetadata: /* @__PURE__ */ z.object({
|
|
2708
|
+
totalSuccesses: /* @__PURE__ */ z.number().int().describe("Number of items that were successfully processed.").optional(),
|
|
2709
|
+
totalFailures: /* @__PURE__ */ z.number().int().describe("Number of items that couldn't be processed.").optional(),
|
|
2710
|
+
undetailedFailures: /* @__PURE__ */ z.number().int().describe(
|
|
2605
2711
|
"Number of failures without details because detailed failure threshold was exceeded."
|
|
2606
2712
|
).optional()
|
|
2607
2713
|
}).describe("Bulk action metadata.").optional()
|
|
2608
2714
|
});
|
|
2609
2715
|
var BulkRemoveItemFromCategoriesRequest = /* @__PURE__ */ z.object({
|
|
2610
|
-
item: z.object({
|
|
2611
|
-
catalogItemId: z.string().describe(
|
|
2716
|
+
item: /* @__PURE__ */ z.object({
|
|
2717
|
+
catalogItemId: /* @__PURE__ */ z.string().describe(
|
|
2612
2718
|
"ID of the item within the catalog.\n\nFor Wix Stores, this is the product ID from the [Catalog V3 Products API](https://dev.wix.com/docs/api-reference/business-solutions/stores/catalog-v3/products-v3/introduction)."
|
|
2613
2719
|
).min(1).max(36),
|
|
2614
|
-
appId: z.string().describe(
|
|
2720
|
+
appId: /* @__PURE__ */ z.string().describe(
|
|
2615
2721
|
'ID of the Wix app providing the catalog.\n\nCurrently, only Wix Stores is supported. Use `"215238eb-22a5-4c36-9e7b-e7c08025e04e"` for all Wix Stores products.'
|
|
2616
2722
|
).min(1).max(36)
|
|
2617
2723
|
}).describe("Item to remove."),
|
|
2618
|
-
options: z.object({
|
|
2619
|
-
categoryIds: z.array(z.string()).min(1).max(100),
|
|
2620
|
-
treeReference: z.object({
|
|
2621
|
-
appNamespace: z.string().describe(
|
|
2724
|
+
options: /* @__PURE__ */ z.object({
|
|
2725
|
+
categoryIds: /* @__PURE__ */ z.array(/* @__PURE__ */ z.string()).min(1).max(100),
|
|
2726
|
+
treeReference: /* @__PURE__ */ z.object({
|
|
2727
|
+
appNamespace: /* @__PURE__ */ z.string().describe(
|
|
2622
2728
|
'Namespace of the app whose catalog this category tree belongs to.\n\nCurrently, only `"@wix/stores"` is supported.'
|
|
2623
2729
|
).min(4).max(150),
|
|
2624
|
-
treeKey: z.string().describe(
|
|
2730
|
+
treeKey: /* @__PURE__ */ z.string().describe(
|
|
2625
2731
|
"Key to differentiate between multiple trees managed by the same app.\n\nFor Wix Stores, pass `null` or omit this field, as each store has only one category tree."
|
|
2626
2732
|
).min(1).max(44).optional().nullable()
|
|
2627
2733
|
}).describe("Category tree reference details.")
|
|
2628
2734
|
})
|
|
2629
2735
|
});
|
|
2630
2736
|
var BulkRemoveItemFromCategoriesResponse = /* @__PURE__ */ z.object({
|
|
2631
|
-
results: z.array(
|
|
2632
|
-
z.object({
|
|
2633
|
-
itemMetadata: z.object({
|
|
2634
|
-
_id: z.string().describe(
|
|
2737
|
+
results: /* @__PURE__ */ z.array(
|
|
2738
|
+
/* @__PURE__ */ z.object({
|
|
2739
|
+
itemMetadata: /* @__PURE__ */ z.object({
|
|
2740
|
+
_id: /* @__PURE__ */ z.string().describe(
|
|
2635
2741
|
"Item ID. Should always be available, unless it's impossible (for example, when failing to create an item)."
|
|
2636
2742
|
).regex(
|
|
2637
2743
|
/^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}$/,
|
|
2638
2744
|
"Must be a valid GUID"
|
|
2639
2745
|
).optional().nullable(),
|
|
2640
|
-
originalIndex: z.number().int().describe(
|
|
2746
|
+
originalIndex: /* @__PURE__ */ z.number().int().describe(
|
|
2641
2747
|
"Index of the item within the request array. Allows for correlation between request and response items."
|
|
2642
2748
|
).optional(),
|
|
2643
|
-
success: z.boolean().describe(
|
|
2749
|
+
success: /* @__PURE__ */ z.boolean().describe(
|
|
2644
2750
|
"Whether the requested action was successful for this item. When `false`, the `error` field is populated."
|
|
2645
2751
|
).optional(),
|
|
2646
|
-
error: z.object({
|
|
2647
|
-
code: z.string().describe("Error code.").optional(),
|
|
2648
|
-
description: z.string().describe("Description of the error.").optional(),
|
|
2649
|
-
data: z.record(z.string(), z.any()).describe("Data related to the error.").optional().nullable()
|
|
2752
|
+
error: /* @__PURE__ */ z.object({
|
|
2753
|
+
code: /* @__PURE__ */ z.string().describe("Error code.").optional(),
|
|
2754
|
+
description: /* @__PURE__ */ z.string().describe("Description of the error.").optional(),
|
|
2755
|
+
data: /* @__PURE__ */ z.record(/* @__PURE__ */ z.string(), /* @__PURE__ */ z.any()).describe("Data related to the error.").optional().nullable()
|
|
2650
2756
|
}).describe("Details about the error in case of failure.").optional()
|
|
2651
2757
|
}).describe("Bulk action metadata for category.").optional()
|
|
2652
2758
|
})
|
|
2653
2759
|
).min(1).max(100).optional(),
|
|
2654
|
-
bulkActionMetadata: z.object({
|
|
2655
|
-
totalSuccesses: z.number().int().describe("Number of items that were successfully processed.").optional(),
|
|
2656
|
-
totalFailures: z.number().int().describe("Number of items that couldn't be processed.").optional(),
|
|
2657
|
-
undetailedFailures: z.number().int().describe(
|
|
2760
|
+
bulkActionMetadata: /* @__PURE__ */ z.object({
|
|
2761
|
+
totalSuccesses: /* @__PURE__ */ z.number().int().describe("Number of items that were successfully processed.").optional(),
|
|
2762
|
+
totalFailures: /* @__PURE__ */ z.number().int().describe("Number of items that couldn't be processed.").optional(),
|
|
2763
|
+
undetailedFailures: /* @__PURE__ */ z.number().int().describe(
|
|
2658
2764
|
"Number of failures without details because detailed failure threshold was exceeded."
|
|
2659
2765
|
).optional()
|
|
2660
2766
|
}).describe("Bulk action metadata.").optional()
|
|
2661
2767
|
});
|
|
2662
2768
|
var ListItemsInCategoryRequest = /* @__PURE__ */ z.object({
|
|
2663
|
-
categoryId: z.string().describe("Category ID.").regex(
|
|
2769
|
+
categoryId: /* @__PURE__ */ z.string().describe("Category ID.").regex(
|
|
2664
2770
|
/^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}$/,
|
|
2665
2771
|
"Must be a valid GUID"
|
|
2666
2772
|
),
|
|
2667
|
-
treeReference: z.object({
|
|
2668
|
-
appNamespace: z.string().describe(
|
|
2773
|
+
treeReference: /* @__PURE__ */ z.object({
|
|
2774
|
+
appNamespace: /* @__PURE__ */ z.string().describe(
|
|
2669
2775
|
'Namespace of the app whose catalog this category tree belongs to.\n\nCurrently, only `"@wix/stores"` is supported.'
|
|
2670
2776
|
).min(4).max(150),
|
|
2671
|
-
treeKey: z.string().describe(
|
|
2777
|
+
treeKey: /* @__PURE__ */ z.string().describe(
|
|
2672
2778
|
"Key to differentiate between multiple trees managed by the same app.\n\nFor Wix Stores, pass `null` or omit this field, as each store has only one category tree."
|
|
2673
2779
|
).min(1).max(44).optional().nullable()
|
|
2674
2780
|
}).describe("Category tree reference details."),
|
|
2675
|
-
options: z.intersection(
|
|
2676
|
-
z.object({
|
|
2677
|
-
useCategoryArrangement: z.boolean().describe(
|
|
2781
|
+
options: /* @__PURE__ */ z.intersection(
|
|
2782
|
+
/* @__PURE__ */ z.object({
|
|
2783
|
+
useCategoryArrangement: /* @__PURE__ */ z.boolean().describe(
|
|
2678
2784
|
"Whether to use the category's manual arrangement for sorting items.\n\nWhen `true`, manually arranged items appear first in their specified order, followed by remaining items sorted by date added (newest first).\nWhen `false`, all items are sorted by date added (newest first).\n\nDefault: `false`"
|
|
2679
2785
|
).optional(),
|
|
2680
|
-
includeItemsFromSubcategories: z.boolean().describe(
|
|
2786
|
+
includeItemsFromSubcategories: /* @__PURE__ */ z.boolean().describe(
|
|
2681
2787
|
"Whether to include items from subcategories.\n\nDefault: `false`"
|
|
2682
2788
|
).optional()
|
|
2683
2789
|
}),
|
|
2684
|
-
z.xor([
|
|
2685
|
-
z.object({
|
|
2686
|
-
|
|
2687
|
-
|
|
2688
|
-
|
|
2689
|
-
|
|
2790
|
+
/* @__PURE__ */ z.xor([
|
|
2791
|
+
/* @__PURE__ */ z.object({
|
|
2792
|
+
cursorPaging: /* @__PURE__ */ z.never().optional()
|
|
2793
|
+
}),
|
|
2794
|
+
/* @__PURE__ */ z.object({
|
|
2795
|
+
cursorPaging: /* @__PURE__ */ z.object({
|
|
2796
|
+
limit: /* @__PURE__ */ z.number().int().describe("Maximum number of items to return in the results.").min(0).max(1e3).optional().nullable(),
|
|
2797
|
+
cursor: /* @__PURE__ */ z.string().describe(
|
|
2690
2798
|
"Pointer to the next or previous page in the list of results.\n\nPass the relevant cursor token from the `pagingMetadata` object in the previous call's response.\nNot relevant for the first request."
|
|
2691
2799
|
).max(16e3).optional().nullable()
|
|
2692
2800
|
}).describe(
|
|
@@ -2697,27 +2805,27 @@ var ListItemsInCategoryRequest = /* @__PURE__ */ z.object({
|
|
|
2697
2805
|
).optional()
|
|
2698
2806
|
});
|
|
2699
2807
|
var ListItemsInCategoryResponse = /* @__PURE__ */ z.object({
|
|
2700
|
-
items: z.array(
|
|
2701
|
-
z.object({
|
|
2702
|
-
catalogItemId: z.string().describe(
|
|
2808
|
+
items: /* @__PURE__ */ z.array(
|
|
2809
|
+
/* @__PURE__ */ z.object({
|
|
2810
|
+
catalogItemId: /* @__PURE__ */ z.string().describe(
|
|
2703
2811
|
"ID of the item within the catalog.\n\nFor Wix Stores, this is the product ID from the [Catalog V3 Products API](https://dev.wix.com/docs/api-reference/business-solutions/stores/catalog-v3/products-v3/introduction)."
|
|
2704
2812
|
).min(1).max(36).optional(),
|
|
2705
|
-
appId: z.string().describe(
|
|
2813
|
+
appId: /* @__PURE__ */ z.string().describe(
|
|
2706
2814
|
'ID of the Wix app providing the catalog.\n\nCurrently, only Wix Stores is supported. Use `"215238eb-22a5-4c36-9e7b-e7c08025e04e"` for all Wix Stores products.'
|
|
2707
2815
|
).min(1).max(36).optional()
|
|
2708
2816
|
})
|
|
2709
2817
|
).max(100).optional(),
|
|
2710
|
-
pagingMetadata: z.object({
|
|
2711
|
-
count: z.number().int().describe("Number of items returned in the response.").optional().nullable(),
|
|
2712
|
-
offset: z.number().int().describe("Offset that was requested.").optional().nullable(),
|
|
2713
|
-
total: z.number().int().describe(
|
|
2818
|
+
pagingMetadata: /* @__PURE__ */ z.object({
|
|
2819
|
+
count: /* @__PURE__ */ z.number().int().describe("Number of items returned in the response.").optional().nullable(),
|
|
2820
|
+
offset: /* @__PURE__ */ z.number().int().describe("Offset that was requested.").optional().nullable(),
|
|
2821
|
+
total: /* @__PURE__ */ z.number().int().describe(
|
|
2714
2822
|
"Total number of items that match the query. Returned if offset paging is used and the `tooManyToCount` flag is not set."
|
|
2715
2823
|
).optional().nullable(),
|
|
2716
|
-
cursors: z.object({
|
|
2717
|
-
next: z.string().describe(
|
|
2824
|
+
cursors: /* @__PURE__ */ z.object({
|
|
2825
|
+
next: /* @__PURE__ */ z.string().describe(
|
|
2718
2826
|
"Cursor string pointing to the next page in the list of results."
|
|
2719
2827
|
).max(16e3).optional().nullable(),
|
|
2720
|
-
prev: z.string().describe(
|
|
2828
|
+
prev: /* @__PURE__ */ z.string().describe(
|
|
2721
2829
|
"Cursor pointing to the previous page in the list of results."
|
|
2722
2830
|
).max(16e3).optional().nullable()
|
|
2723
2831
|
}).describe(
|
|
@@ -2726,100 +2834,100 @@ var ListItemsInCategoryResponse = /* @__PURE__ */ z.object({
|
|
|
2726
2834
|
}).describe("Paging metadata.").optional()
|
|
2727
2835
|
});
|
|
2728
2836
|
var ListCategoriesForItemRequest = /* @__PURE__ */ z.object({
|
|
2729
|
-
item: z.object({
|
|
2730
|
-
catalogItemId: z.string().describe(
|
|
2837
|
+
item: /* @__PURE__ */ z.object({
|
|
2838
|
+
catalogItemId: /* @__PURE__ */ z.string().describe(
|
|
2731
2839
|
"ID of the item within the catalog.\n\nFor Wix Stores, this is the product ID from the [Catalog V3 Products API](https://dev.wix.com/docs/api-reference/business-solutions/stores/catalog-v3/products-v3/introduction)."
|
|
2732
2840
|
).min(1).max(36).optional(),
|
|
2733
|
-
appId: z.string().describe(
|
|
2841
|
+
appId: /* @__PURE__ */ z.string().describe(
|
|
2734
2842
|
'ID of the Wix app providing the catalog.\n\nCurrently, only Wix Stores is supported. Use `"215238eb-22a5-4c36-9e7b-e7c08025e04e"` for all Wix Stores products.'
|
|
2735
2843
|
).min(1).max(36).optional()
|
|
2736
2844
|
}).describe("Item reference info."),
|
|
2737
|
-
options: z.object({
|
|
2738
|
-
treeReference: z.object({
|
|
2739
|
-
appNamespace: z.string().describe(
|
|
2845
|
+
options: /* @__PURE__ */ z.object({
|
|
2846
|
+
treeReference: /* @__PURE__ */ z.object({
|
|
2847
|
+
appNamespace: /* @__PURE__ */ z.string().describe(
|
|
2740
2848
|
'Namespace of the app whose catalog this category tree belongs to.\n\nCurrently, only `"@wix/stores"` is supported.'
|
|
2741
2849
|
).min(4).max(150),
|
|
2742
|
-
treeKey: z.string().describe(
|
|
2850
|
+
treeKey: /* @__PURE__ */ z.string().describe(
|
|
2743
2851
|
"Key to differentiate between multiple trees managed by the same app.\n\nFor Wix Stores, pass `null` or omit this field, as each store has only one category tree."
|
|
2744
2852
|
).min(1).max(44).optional().nullable()
|
|
2745
2853
|
}).describe("Category tree reference details.")
|
|
2746
2854
|
})
|
|
2747
2855
|
});
|
|
2748
2856
|
var ListCategoriesForItemResponse = /* @__PURE__ */ z.object({
|
|
2749
|
-
directCategoryIds: z.array(z.string()).max(1e3).optional(),
|
|
2750
|
-
allCategoryIds: z.array(z.string()).max(1e3).optional()
|
|
2857
|
+
directCategoryIds: /* @__PURE__ */ z.array(/* @__PURE__ */ z.string()).max(1e3).optional(),
|
|
2858
|
+
allCategoryIds: /* @__PURE__ */ z.array(/* @__PURE__ */ z.string()).max(1e3).optional()
|
|
2751
2859
|
});
|
|
2752
2860
|
var ListCategoriesForItemsRequest = /* @__PURE__ */ z.object({
|
|
2753
|
-
items: z.array(
|
|
2754
|
-
z.object({
|
|
2755
|
-
catalogItemId: z.string().describe(
|
|
2861
|
+
items: /* @__PURE__ */ z.array(
|
|
2862
|
+
/* @__PURE__ */ z.object({
|
|
2863
|
+
catalogItemId: /* @__PURE__ */ z.string().describe(
|
|
2756
2864
|
"ID of the item within the catalog.\n\nFor Wix Stores, this is the product ID from the [Catalog V3 Products API](https://dev.wix.com/docs/api-reference/business-solutions/stores/catalog-v3/products-v3/introduction)."
|
|
2757
2865
|
).min(1).max(36),
|
|
2758
|
-
appId: z.string().describe(
|
|
2866
|
+
appId: /* @__PURE__ */ z.string().describe(
|
|
2759
2867
|
'ID of the Wix app providing the catalog.\n\nCurrently, only Wix Stores is supported. Use `"215238eb-22a5-4c36-9e7b-e7c08025e04e"` for all Wix Stores products.'
|
|
2760
2868
|
).min(1).max(36)
|
|
2761
2869
|
})
|
|
2762
2870
|
).max(100),
|
|
2763
|
-
options: z.object({
|
|
2764
|
-
treeReference: z.object({
|
|
2765
|
-
appNamespace: z.string().describe(
|
|
2871
|
+
options: /* @__PURE__ */ z.object({
|
|
2872
|
+
treeReference: /* @__PURE__ */ z.object({
|
|
2873
|
+
appNamespace: /* @__PURE__ */ z.string().describe(
|
|
2766
2874
|
'Namespace of the app whose catalog this category tree belongs to.\n\nCurrently, only `"@wix/stores"` is supported.'
|
|
2767
2875
|
).min(4).max(150),
|
|
2768
|
-
treeKey: z.string().describe(
|
|
2876
|
+
treeKey: /* @__PURE__ */ z.string().describe(
|
|
2769
2877
|
"Key to differentiate between multiple trees managed by the same app.\n\nFor Wix Stores, pass `null` or omit this field, as each store has only one category tree."
|
|
2770
2878
|
).min(1).max(44).optional().nullable()
|
|
2771
2879
|
}).describe("Category tree reference details.")
|
|
2772
2880
|
})
|
|
2773
2881
|
});
|
|
2774
2882
|
var ListCategoriesForItemsResponse = /* @__PURE__ */ z.object({
|
|
2775
|
-
categoriesForItems: z.array(
|
|
2776
|
-
z.object({
|
|
2777
|
-
item: z.object({
|
|
2778
|
-
catalogItemId: z.string().describe(
|
|
2883
|
+
categoriesForItems: /* @__PURE__ */ z.array(
|
|
2884
|
+
/* @__PURE__ */ z.object({
|
|
2885
|
+
item: /* @__PURE__ */ z.object({
|
|
2886
|
+
catalogItemId: /* @__PURE__ */ z.string().describe(
|
|
2779
2887
|
"ID of the item within the catalog.\n\nFor Wix Stores, this is the product ID from the [Catalog V3 Products API](https://dev.wix.com/docs/api-reference/business-solutions/stores/catalog-v3/products-v3/introduction)."
|
|
2780
2888
|
).min(1).max(36).optional(),
|
|
2781
|
-
appId: z.string().describe(
|
|
2889
|
+
appId: /* @__PURE__ */ z.string().describe(
|
|
2782
2890
|
'ID of the Wix app providing the catalog.\n\nCurrently, only Wix Stores is supported. Use `"215238eb-22a5-4c36-9e7b-e7c08025e04e"` for all Wix Stores products.'
|
|
2783
2891
|
).min(1).max(36).optional()
|
|
2784
2892
|
}).describe("Item reference.").optional(),
|
|
2785
|
-
directCategoryIds: z.array(z.string()).max(1e3).optional(),
|
|
2786
|
-
indirectCategoryIds: z.array(z.string()).max(1e3).optional()
|
|
2893
|
+
directCategoryIds: /* @__PURE__ */ z.array(/* @__PURE__ */ z.string()).max(1e3).optional(),
|
|
2894
|
+
indirectCategoryIds: /* @__PURE__ */ z.array(/* @__PURE__ */ z.string()).max(1e3).optional()
|
|
2787
2895
|
})
|
|
2788
2896
|
).max(100).optional()
|
|
2789
2897
|
});
|
|
2790
2898
|
var ListTreesRequest = /* @__PURE__ */ z.object({});
|
|
2791
2899
|
var ListTreesResponse = /* @__PURE__ */ z.object({
|
|
2792
|
-
trees: z.array(
|
|
2793
|
-
z.object({
|
|
2794
|
-
appNamespace: z.string().describe(
|
|
2900
|
+
trees: /* @__PURE__ */ z.array(
|
|
2901
|
+
/* @__PURE__ */ z.object({
|
|
2902
|
+
appNamespace: /* @__PURE__ */ z.string().describe(
|
|
2795
2903
|
'Namespace of the app whose catalog this category tree belongs to.\n\nCurrently, only `"@wix/stores"` is supported.'
|
|
2796
2904
|
).min(4).max(150).optional(),
|
|
2797
|
-
treeKey: z.string().describe(
|
|
2905
|
+
treeKey: /* @__PURE__ */ z.string().describe(
|
|
2798
2906
|
"Key to differentiate between multiple trees managed by the same app.\n\nFor Wix Stores, pass `null` or omit this field, as each store has only one category tree."
|
|
2799
2907
|
).min(1).max(44).optional().nullable()
|
|
2800
2908
|
})
|
|
2801
2909
|
).max(20).optional()
|
|
2802
2910
|
});
|
|
2803
2911
|
var SetArrangedItemsRequest = /* @__PURE__ */ z.object({
|
|
2804
|
-
categoryId: z.string().describe("Category ID.").regex(
|
|
2912
|
+
categoryId: /* @__PURE__ */ z.string().describe("Category ID.").regex(
|
|
2805
2913
|
/^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}$/,
|
|
2806
2914
|
"Must be a valid GUID"
|
|
2807
2915
|
),
|
|
2808
|
-
treeReference: z.object({
|
|
2809
|
-
appNamespace: z.string().describe(
|
|
2916
|
+
treeReference: /* @__PURE__ */ z.object({
|
|
2917
|
+
appNamespace: /* @__PURE__ */ z.string().describe(
|
|
2810
2918
|
'Namespace of the app whose catalog this category tree belongs to.\n\nCurrently, only `"@wix/stores"` is supported.'
|
|
2811
2919
|
).min(4).max(150),
|
|
2812
|
-
treeKey: z.string().describe(
|
|
2920
|
+
treeKey: /* @__PURE__ */ z.string().describe(
|
|
2813
2921
|
"Key to differentiate between multiple trees managed by the same app.\n\nFor Wix Stores, pass `null` or omit this field, as each store has only one category tree."
|
|
2814
2922
|
).min(1).max(44).optional().nullable()
|
|
2815
2923
|
}).describe("Category tree reference details."),
|
|
2816
|
-
options: z.object({
|
|
2817
|
-
items: z.array(
|
|
2818
|
-
z.object({
|
|
2819
|
-
catalogItemId: z.string().describe(
|
|
2924
|
+
options: /* @__PURE__ */ z.object({
|
|
2925
|
+
items: /* @__PURE__ */ z.array(
|
|
2926
|
+
/* @__PURE__ */ z.object({
|
|
2927
|
+
catalogItemId: /* @__PURE__ */ z.string().describe(
|
|
2820
2928
|
"ID of the item within the catalog.\n\nFor Wix Stores, this is the product ID from the [Catalog V3 Products API](https://dev.wix.com/docs/api-reference/business-solutions/stores/catalog-v3/products-v3/introduction)."
|
|
2821
2929
|
).min(1).max(36).optional(),
|
|
2822
|
-
appId: z.string().describe(
|
|
2930
|
+
appId: /* @__PURE__ */ z.string().describe(
|
|
2823
2931
|
'ID of the Wix app providing the catalog.\n\nCurrently, only Wix Stores is supported. Use `"215238eb-22a5-4c36-9e7b-e7c08025e04e"` for all Wix Stores products.'
|
|
2824
2932
|
).min(1).max(36).optional()
|
|
2825
2933
|
})
|
|
@@ -2827,38 +2935,38 @@ var SetArrangedItemsRequest = /* @__PURE__ */ z.object({
|
|
|
2827
2935
|
}).optional()
|
|
2828
2936
|
});
|
|
2829
2937
|
var SetArrangedItemsResponse = /* @__PURE__ */ z.object({
|
|
2830
|
-
items: z.array(
|
|
2831
|
-
z.object({
|
|
2832
|
-
catalogItemId: z.string().describe(
|
|
2938
|
+
items: /* @__PURE__ */ z.array(
|
|
2939
|
+
/* @__PURE__ */ z.object({
|
|
2940
|
+
catalogItemId: /* @__PURE__ */ z.string().describe(
|
|
2833
2941
|
"ID of the item within the catalog.\n\nFor Wix Stores, this is the product ID from the [Catalog V3 Products API](https://dev.wix.com/docs/api-reference/business-solutions/stores/catalog-v3/products-v3/introduction)."
|
|
2834
2942
|
).min(1).max(36).optional(),
|
|
2835
|
-
appId: z.string().describe(
|
|
2943
|
+
appId: /* @__PURE__ */ z.string().describe(
|
|
2836
2944
|
'ID of the Wix app providing the catalog.\n\nCurrently, only Wix Stores is supported. Use `"215238eb-22a5-4c36-9e7b-e7c08025e04e"` for all Wix Stores products.'
|
|
2837
2945
|
).min(1).max(36).optional()
|
|
2838
2946
|
})
|
|
2839
2947
|
).max(100).optional()
|
|
2840
2948
|
});
|
|
2841
2949
|
var GetArrangedItemsRequest = /* @__PURE__ */ z.object({
|
|
2842
|
-
categoryId: z.string().describe("Category ID.").regex(
|
|
2950
|
+
categoryId: /* @__PURE__ */ z.string().describe("Category ID.").regex(
|
|
2843
2951
|
/^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}$/,
|
|
2844
2952
|
"Must be a valid GUID"
|
|
2845
2953
|
),
|
|
2846
|
-
treeReference: z.object({
|
|
2847
|
-
appNamespace: z.string().describe(
|
|
2954
|
+
treeReference: /* @__PURE__ */ z.object({
|
|
2955
|
+
appNamespace: /* @__PURE__ */ z.string().describe(
|
|
2848
2956
|
'Namespace of the app whose catalog this category tree belongs to.\n\nCurrently, only `"@wix/stores"` is supported.'
|
|
2849
2957
|
).min(4).max(150),
|
|
2850
|
-
treeKey: z.string().describe(
|
|
2958
|
+
treeKey: /* @__PURE__ */ z.string().describe(
|
|
2851
2959
|
"Key to differentiate between multiple trees managed by the same app.\n\nFor Wix Stores, pass `null` or omit this field, as each store has only one category tree."
|
|
2852
2960
|
).min(1).max(44).optional().nullable()
|
|
2853
2961
|
}).describe("Category tree reference details.")
|
|
2854
2962
|
});
|
|
2855
2963
|
var GetArrangedItemsResponse = /* @__PURE__ */ z.object({
|
|
2856
|
-
items: z.array(
|
|
2857
|
-
z.object({
|
|
2858
|
-
catalogItemId: z.string().describe(
|
|
2964
|
+
items: /* @__PURE__ */ z.array(
|
|
2965
|
+
/* @__PURE__ */ z.object({
|
|
2966
|
+
catalogItemId: /* @__PURE__ */ z.string().describe(
|
|
2859
2967
|
"ID of the item within the catalog.\n\nFor Wix Stores, this is the product ID from the [Catalog V3 Products API](https://dev.wix.com/docs/api-reference/business-solutions/stores/catalog-v3/products-v3/introduction)."
|
|
2860
2968
|
).min(1).max(36).optional(),
|
|
2861
|
-
appId: z.string().describe(
|
|
2969
|
+
appId: /* @__PURE__ */ z.string().describe(
|
|
2862
2970
|
'ID of the Wix app providing the catalog.\n\nCurrently, only Wix Stores is supported. Use `"215238eb-22a5-4c36-9e7b-e7c08025e04e"` for all Wix Stores products.'
|
|
2863
2971
|
).min(1).max(36).optional()
|
|
2864
2972
|
})
|