feed-common 1.35.4 → 1.35.6
Sign up to get free protection for your applications and to get access to all the features.
- package/CHANGELOG.md +14 -0
- package/dist/utils/feed-templates/facebook.template.d.ts.map +1 -1
- package/dist/utils/feed-templates/facebook.template.js +48 -46
- package/dist/utils/feed-templates/facebook.template.js.map +1 -1
- package/package.json +1 -1
- package/src/utils/feed-templates/facebook.template.ts +57 -46
package/CHANGELOG.md
CHANGED
@@ -1,3 +1,17 @@
|
|
1
|
+
## [1.35.6](https://github.com/advertikon/package-maxify-feed-common/compare/v1.35.5...v1.35.6) (2024-08-16)
|
2
|
+
|
3
|
+
|
4
|
+
### Bug Fixes
|
5
|
+
|
6
|
+
* fix url validation ([4fa2373](https://github.com/advertikon/package-maxify-feed-common/commit/4fa237364caa35ffde511ced6a47d0e616911874))
|
7
|
+
|
8
|
+
## [1.35.5](https://github.com/advertikon/package-maxify-feed-common/compare/v1.35.4...v1.35.5) (2024-08-16)
|
9
|
+
|
10
|
+
|
11
|
+
### Bug Fixes
|
12
|
+
|
13
|
+
* update facebook feed template ([104b9ff](https://github.com/advertikon/package-maxify-feed-common/commit/104b9ff21e1c9140e29e0823d508e1055e981e0d))
|
14
|
+
|
1
15
|
## [1.35.4](https://github.com/advertikon/package-maxify-feed-common/compare/v1.35.3...v1.35.4) (2024-08-15)
|
2
16
|
|
3
17
|
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"facebook.template.d.ts","sourceRoot":"","sources":["../../../src/utils/feed-templates/facebook.template.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,mBAAmB,EAAE,MAAM,8BAA8B,CAAC;
|
1
|
+
{"version":3,"file":"facebook.template.d.ts","sourceRoot":"","sources":["../../../src/utils/feed-templates/facebook.template.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,mBAAmB,EAAE,MAAM,8BAA8B,CAAC;AA+DnE,eAAO,MAAM,oBAAoB,EAAE,mBAoVlC,CAAC"}
|
@@ -8,48 +8,48 @@ import { XmlFeedFormat } from '../../constants/profile.constants.js';
|
|
8
8
|
const availabilityMapping = {
|
9
9
|
attribute: 'availability',
|
10
10
|
label: 'Availability',
|
11
|
-
description: "The current availability of the item. Supported values: in stock, out of stock. Out of stock items don't appear in ads, which prevents advertising items that aren't available. They do still appear in shops on Facebook and Instagram, but are marked as sold out",
|
11
|
+
description: "The current availability of the item. Supported values: in stock, out of stock. Out of stock items don't appear in ads, which prevents advertising items that aren't available. They do still appear in shops on Facebook and Instagram, but are marked as sold out. Example: in stock",
|
12
12
|
required: true,
|
13
13
|
type: 'macro-input',
|
14
|
-
validator: (v) =>
|
14
|
+
validator: (v) => validateIfNoMacro(v, z.enum(['in stock', 'out of stock'])),
|
15
15
|
};
|
16
16
|
const conditionMapping = {
|
17
17
|
attribute: 'condition',
|
18
18
|
label: 'Condition',
|
19
|
-
description: 'The condition of the item. Supported values: new, refurbished, used',
|
19
|
+
description: 'The condition of the item. Supported values: new, refurbished, used. Example: new',
|
20
20
|
required: true,
|
21
21
|
type: 'macro-input',
|
22
|
-
validator: (v) =>
|
22
|
+
validator: (v) => validateIfNoMacro(v, z.enum(['new', 'refurbished', 'used'])),
|
23
23
|
};
|
24
24
|
const videoMapping = {
|
25
25
|
attribute: 'video[0].url',
|
26
26
|
label: 'Video URL 1',
|
27
|
-
description: 'Up to 20 fields each containing a link to a product video. video[0].url will be your default video and a 4:5 aspect ratio is recommended. To add multiple videos per product, such as alternative 1:1 or 9:16 aspect ratios, add additional video fields',
|
27
|
+
description: 'Up to 20 fields each containing a link to a product video. video[0].url will be your default video and a 4:5 aspect ratio is recommended. To add multiple videos per product, such as alternative 1:1 or 9:16 aspect ratios, add additional video fields. Example: http://www.jaspersmarket.com/product_video.avi',
|
28
28
|
required: false,
|
29
29
|
type: 'macro-input',
|
30
30
|
defaultValue: '',
|
31
31
|
rules: { sections: [] },
|
32
|
-
validator: (v) => validateIfNoMacro(v, z.string().url()),
|
32
|
+
validator: (v) => validateIfNoMacro(v, z.string().refine(v => !v || z.string().url().safeParse(v).success, { message: 'invalid URL' })),
|
33
33
|
};
|
34
34
|
const customLabelMapping = {
|
35
35
|
attribute: 'custom_label_0',
|
36
36
|
label: 'Custom Label 1',
|
37
|
-
description: 'Up to five custom fields. Use these fields to create custom labels for your items. For example, you can use custom labels to filter your products in your Facebook catalog. Supported values: 0-100 characters',
|
37
|
+
description: 'Up to five custom fields. Use these fields to create custom labels for your items. For example, you can use custom labels to filter your products in your Facebook catalog. Supported values: 0-100 characters. Example: Summer sale',
|
38
38
|
required: false,
|
39
39
|
type: 'macro-input',
|
40
40
|
defaultValue: '',
|
41
41
|
rules: { sections: [] },
|
42
|
-
validator: (v) => validate(v, z.string().max(100)),
|
42
|
+
validator: (v) => validate(v, z.string().max(100).optional()),
|
43
43
|
};
|
44
44
|
const customNumberMapping = {
|
45
45
|
attribute: '',
|
46
46
|
label: '',
|
47
|
-
description: 'Up to five custom fields for any additional number-related information you want to filter items by when you create product sets. These fields allow you to filter by number ranges (is greater than and is less than) when you create a set. For example, you could use a custom number field to indicate the year each item was produced, and then filter a certain year range into a set. Supported whole number from 0 to 4294967295',
|
47
|
+
description: 'Up to five custom fields for any additional number-related information you want to filter items by when you create product sets. These fields allow you to filter by number ranges (is greater than and is less than) when you create a set. For example, you could use a custom number field to indicate the year each item was produced, and then filter a certain year range into a set. Supported whole number from 0 to 4294967295. Example: 2022',
|
48
48
|
required: false,
|
49
49
|
type: 'macro-input',
|
50
50
|
defaultValue: '',
|
51
51
|
rules: { sections: [] },
|
52
|
-
validator: (v) => validateIfNoMacro(v, z.coerce.number().min(0).max(4294967295).int()),
|
52
|
+
validator: (v) => validateIfNoMacro(v, z.coerce.number().min(0).max(4294967295).int().optional()),
|
53
53
|
};
|
54
54
|
export const facebookFeedTemplate = {
|
55
55
|
formats: [XmlFeedFormat.CSV, XmlFeedFormat.XMLS, XmlFeedFormat.TSV, XmlFeedFormat.XML],
|
@@ -58,30 +58,30 @@ export const facebookFeedTemplate = {
|
|
58
58
|
{
|
59
59
|
attribute: 'id',
|
60
60
|
label: 'ID',
|
61
|
-
description: "A unique content ID for the item. Use the item's stock keeping unit (SKU) number if possible. Each content ID must appear only once in your catalog. If you use the same content ID for multiple items, none of them will be uploaded. Character limit: 100",
|
61
|
+
description: "A unique content ID for the item. Use the item's stock keeping unit (SKU) number if possible. Each content ID must appear only once in your catalog. If you use the same content ID for multiple items, none of them will be uploaded. Character limit: 100. Example: 12345",
|
62
62
|
required: true,
|
63
63
|
type: 'macro-input',
|
64
|
-
validator: v =>
|
65
|
-
defaultValue: '{{shopify.
|
64
|
+
validator: v => validateIfNoMacro(v, z.string().max(100).min(1)),
|
65
|
+
defaultValue: '{{shopify.id}}-{{shopify.variant_id}}',
|
66
66
|
rules: { sections: [] },
|
67
67
|
},
|
68
68
|
{
|
69
69
|
attribute: 'title',
|
70
70
|
label: 'Title',
|
71
|
-
description: 'A specific, relevant title for the item, written in title case. Character limit: 200, but we recommend 65 maximum to avoid longer titles being cut off',
|
71
|
+
description: 'A specific, relevant title for the item, written in title case. Character limit: 200, but we recommend 65 maximum to avoid longer titles being cut off. Example: Blue Cotton T-Shirt',
|
72
72
|
required: true,
|
73
73
|
type: 'macro-input',
|
74
|
-
validator: (v) =>
|
74
|
+
validator: (v) => validateIfNoMacro(v, z.string().max(200).min(1)),
|
75
75
|
defaultValue: '{{shopify.title}}',
|
76
76
|
rules: { sections: [] },
|
77
77
|
},
|
78
78
|
{
|
79
79
|
attribute: 'description',
|
80
80
|
label: 'Description',
|
81
|
-
description: "A detailed description of the item. Include specific and unique product features like material or color. Use plain text only (to use HTML, see rich_text description) and don't enter text in all capital letters. The description should be different from the title. We recommend not including any links. See product description specifications. Character limit: 9,999",
|
81
|
+
description: "A detailed description of the item. Include specific and unique product features like material or color. Use plain text only (to use HTML, see rich_text description) and don't enter text in all capital letters. The description should be different from the title. We recommend not including any links. See product description specifications. Character limit: 9,999. Example: A comfortable royal blue women's T-shirt in organic cotton. Cap sleeves and relaxed fit. Perfect for warm summer days.",
|
82
82
|
required: true,
|
83
83
|
type: 'macro-input',
|
84
|
-
validator: (v) =>
|
84
|
+
validator: (v) => validateIfNoMacro(v, z.string().max(9999).min(1)),
|
85
85
|
defaultValue: '{{shopify.description}}',
|
86
86
|
rules: { sections: [] },
|
87
87
|
},
|
@@ -130,26 +130,27 @@ export const facebookFeedTemplate = {
|
|
130
130
|
{
|
131
131
|
attribute: 'price',
|
132
132
|
label: 'Price',
|
133
|
-
description: "The price of the item. Format the price as a number, followed by a space and then the 3-letter ISO 4217 currency code. Always use a period (.) as the decimal point, not a comma (,). Don't include currency symbols such as $, € or £. Only use one currency in your feed. To add prices in other currencies for selling in different countries, upload a country feed.",
|
133
|
+
description: "The price of the item. Format the price as a number, followed by a space and then the 3-letter ISO 4217 currency code. Always use a period (.) as the decimal point, not a comma (,). Don't include currency symbols such as $, € or £. Only use one currency in your feed. To add prices in other currencies for selling in different countries, upload a country feed. Examples: 9.99 USD or 7.99 EUR",
|
134
134
|
required: true,
|
135
135
|
type: 'macro-input',
|
136
|
+
validator: (v) => validateIfNoMacro(v, z.string().min(1)),
|
136
137
|
defaultValue: '{{shopify.price}} {{shopify.shop_currency}}',
|
137
138
|
rules: { sections: [] },
|
138
139
|
},
|
139
140
|
{
|
140
141
|
attribute: 'link',
|
141
142
|
label: 'Link',
|
142
|
-
description: "The link to the item's specific product page on your business's website where people can learn more about or buy the item. Links must begin with http:// or https://, be valid and be hosted on your business’s website domain",
|
143
|
+
description: "The link to the item's specific product page on your business's website where people can learn more about or buy the item. Links must begin with http:// or https://, be valid and be hosted on your business’s website domain. Example: http://www.jaspersmarket.com/products/shirt",
|
143
144
|
required: true,
|
144
145
|
type: 'macro-input',
|
145
146
|
validator: (v) => validateIfNoMacro(v, z.string().url()),
|
146
|
-
defaultValue: '{{shopify.shop_domain}}/products/{{shopify.handle}}',
|
147
|
+
defaultValue: 'https://{{shopify.shop_domain}}/products/{{shopify.handle}}',
|
147
148
|
rules: { sections: [] },
|
148
149
|
},
|
149
150
|
{
|
150
151
|
attribute: 'image_link',
|
151
152
|
label: 'Image link',
|
152
|
-
description: 'The URL for the main image of your item. Images must be in JPEG or PNG format, at least 500 x 500 pixels and up to 8 MB',
|
153
|
+
description: 'The URL for the main image of your item. Images must be in JPEG or PNG format, at least 500 x 500 pixels and up to 8 MB. Example: http://www.jaspersmarket.com/products/shirt.jpg',
|
153
154
|
required: true,
|
154
155
|
type: 'macro-input',
|
155
156
|
validator: (v) => validateIfNoMacro(v, z.string().url()),
|
@@ -159,37 +160,37 @@ export const facebookFeedTemplate = {
|
|
159
160
|
{
|
160
161
|
attribute: 'brand',
|
161
162
|
label: 'Brand',
|
162
|
-
description:
|
163
|
+
description: "The brand name of the item. Character limit: 100. Example: Jasper's Market",
|
163
164
|
required: true,
|
164
165
|
type: 'macro-input',
|
165
|
-
validator: (v) =>
|
166
|
+
validator: (v) => validateIfNoMacro(v, z.string().max(100).min(1)),
|
166
167
|
defaultValue: '{{shopify.vendor}}',
|
167
168
|
rules: { sections: [] },
|
168
169
|
},
|
169
170
|
{
|
170
171
|
attribute: 'quantity_to_sell_on_facebook',
|
171
172
|
label: 'Quantity to sell on Facebook',
|
172
|
-
description: "Checkout on Facebook and Instagram (US only). The quantity of this item that you have available to sell. Enter a whole number. To prevent overselling, an item's quantity is automatically reduced each time a purchase order is confirmed through checkout. When the quantity reaches 0, the item is marked as sold out in your shop on Facebook and Instagram. After 56 days, out of stock items stop appearing in your shop",
|
173
|
+
description: "Checkout on Facebook and Instagram (US only). The quantity of this item that you have available to sell. Enter a whole number. To prevent overselling, an item's quantity is automatically reduced each time a purchase order is confirmed through checkout. When the quantity reaches 0, the item is marked as sold out in your shop on Facebook and Instagram. After 56 days, out of stock items stop appearing in your shop. Example: 150",
|
173
174
|
required: false,
|
174
175
|
type: 'macro-input',
|
175
|
-
validator: (v) => validateIfNoMacro(v, z.coerce.number().min(0)),
|
176
|
+
validator: (v) => validateIfNoMacro(v, z.coerce.number().min(0).optional()),
|
176
177
|
defaultValue: '{{shopify.inventory_quantity}}',
|
177
178
|
rules: { sections: [] },
|
178
179
|
},
|
179
180
|
{
|
180
181
|
attribute: 'size',
|
181
182
|
label: 'Size',
|
182
|
-
description: 'Required for items in specific product categories including clothing and shoes. The size of the item written as a word, abbreviation or number, such as "Small", "XL", "12" or "One size". Include a space between words and numbers (such as "US 12" or "15 months" instead of "US12" or "15months") and don\'t include the word "size" if not necessary (such as "XS" instead of "Size XS"). Character limit: 200',
|
183
|
+
description: 'Required for items in specific product categories including clothing and shoes. The size of the item written as a word, abbreviation or number, such as "Small", "XL", "12" or "One size". Include a space between words and numbers (such as "US 12" or "15 months" instead of "US12" or "15months") and don\'t include the word "size" if not necessary (such as "XS" instead of "Size XS"). Character limit: 200. Example: Medium',
|
183
184
|
required: false,
|
184
185
|
type: 'macro-input',
|
185
|
-
validator: (v) => validate(v, z.string().max(200)),
|
186
|
+
validator: (v) => validate(v, z.string().max(200).optional()),
|
186
187
|
defaultValue: '',
|
187
188
|
rules: { sections: [] },
|
188
189
|
},
|
189
190
|
{
|
190
191
|
attribute: 'sale_price',
|
191
192
|
label: 'Sale price',
|
192
|
-
description: 'If the item is on sale, enter its discounted price. Use the same formatting as the price field',
|
193
|
+
description: 'If the item is on sale, enter its discounted price. Use the same formatting as the price field. Example: 5.99 USD',
|
193
194
|
required: false,
|
194
195
|
type: 'macro-input',
|
195
196
|
defaultValue: '',
|
@@ -198,7 +199,7 @@ export const facebookFeedTemplate = {
|
|
198
199
|
{
|
199
200
|
attribute: 'sale_price_effective_date',
|
200
201
|
label: 'Sale price effective date',
|
201
|
-
description: "The date, time and time zone when your sale starts and ends. If you don't add this field, any items with a sale_price remain on sale until you remove their sale price. Use this format: YYYY-MM-DDT23:59+00:00/YYYY-MM-DDT23:59+00:00",
|
202
|
+
description: "The date, time and time zone when your sale starts and ends. If you don't add this field, any items with a sale_price remain on sale until you remove their sale price. Use this format: YYYY-MM-DDT23:59+00:00/YYYY-MM-DDT23:59+00:00. Example (using PST time zone -08:00): 2020-04-30T09:30-08:00/2020-05-30T23:59-08:00",
|
202
203
|
required: false,
|
203
204
|
type: 'macro-input',
|
204
205
|
defaultValue: '',
|
@@ -207,7 +208,7 @@ export const facebookFeedTemplate = {
|
|
207
208
|
{
|
208
209
|
attribute: 'item_group_id',
|
209
210
|
label: 'Item group ID',
|
210
|
-
description: "Allows you to set up variants of the same product, such as different sizes, colors or patterns. Enter the same group ID in this field for all variants of the same product to indicate they're part of a group",
|
211
|
+
description: "Allows you to set up variants of the same product, such as different sizes, colors or patterns. Enter the same group ID in this field for all variants of the same product to indicate they're part of a group. Example: Shirt_1",
|
211
212
|
required: false,
|
212
213
|
type: 'macro-input',
|
213
214
|
defaultValue: '{{shopify.id}}',
|
@@ -216,16 +217,17 @@ export const facebookFeedTemplate = {
|
|
216
217
|
{
|
217
218
|
attribute: 'status',
|
218
219
|
label: 'Status',
|
219
|
-
description: 'Controls whether the item is active or archived in your catalog. Only active items can be seen by people in your ads, shops or any other channels. Supported values: active, archived. Items are active by default',
|
220
|
+
description: 'Controls whether the item is active or archived in your catalog. Only active items can be seen by people in your ads, shops or any other channels. Supported values: active, archived. Items are active by default. Example: active',
|
220
221
|
required: false,
|
221
222
|
type: 'macro-input',
|
222
223
|
defaultValue: '{{shopify.status}}',
|
224
|
+
validator: (v) => validateIfNoMacro(v, z.enum(['active', 'archived', '']).optional()),
|
223
225
|
rules: { sections: [] },
|
224
226
|
},
|
225
227
|
{
|
226
228
|
attribute: 'additional_image_link',
|
227
229
|
label: 'Additional image link',
|
228
|
-
description: 'Links to up to 20 additional images of your item, separated by a comma (,), semicolon (;), space ( ) or vertical bar (|). Follow the same image specifications as image_link',
|
230
|
+
description: 'Links to up to 20 additional images of your item, separated by a comma (,), semicolon (;), space ( ) or vertical bar (|). Follow the same image specifications as image_link. Example: http://www.jaspersmarket.com/products/shirt2.jpg, http://www.jaspersmarket.com/products/shirt3.jpg',
|
229
231
|
required: false,
|
230
232
|
type: 'macro-input',
|
231
233
|
defaultValue: '{{shopify.images}}',
|
@@ -234,7 +236,7 @@ export const facebookFeedTemplate = {
|
|
234
236
|
{
|
235
237
|
attribute: 'gtin',
|
236
238
|
label: 'GTIN',
|
237
|
-
description: 'The item’s Global Trade Item Number (GTIN). Providing a GTIN is highly recommended to help classify the item. The GTIN may appear on the barcode, packaging or book cover. Not all items have a GTIN. Only provide one if you’re sure it’s correct. Don’t include dashes or spaces',
|
239
|
+
description: 'The item’s Global Trade Item Number (GTIN). Providing a GTIN is highly recommended to help classify the item. The GTIN may appear on the barcode, packaging or book cover. Not all items have a GTIN. Only provide one if you’re sure it’s correct. Don’t include dashes or spaces. Example: 4011200296908',
|
238
240
|
required: false,
|
239
241
|
type: 'macro-input',
|
240
242
|
defaultValue: '',
|
@@ -243,11 +245,11 @@ export const facebookFeedTemplate = {
|
|
243
245
|
{
|
244
246
|
attribute: 'mpn',
|
245
247
|
label: 'MPN',
|
246
|
-
description: 'The item’s manufacturer part number (MPN), a unique alphanumeric code assigned by the manufacturer in some industries to identify a specific item or part. It may appear on the packaging, label or etched directly onto the item. Providing a MPN is recommended to help classify the item if there is no GTIN. Not all items have a MPN. Only provide one if you’re sure it’s correct. Character limit: 100',
|
248
|
+
description: 'The item’s manufacturer part number (MPN), a unique alphanumeric code assigned by the manufacturer in some industries to identify a specific item or part. It may appear on the packaging, label or etched directly onto the item. Providing a MPN is recommended to help classify the item if there is no GTIN. Not all items have a MPN. Only provide one if you’re sure it’s correct. Character limit: 100. Example: JAS12345PER',
|
247
249
|
required: false,
|
248
250
|
type: 'macro-input',
|
249
251
|
defaultValue: '',
|
250
|
-
validator: (v) => validate(v, z.string()),
|
252
|
+
validator: (v) => validate(v, z.string().optional()),
|
251
253
|
rules: { sections: [] },
|
252
254
|
},
|
253
255
|
{
|
@@ -271,52 +273,52 @@ export const facebookFeedTemplate = {
|
|
271
273
|
{
|
272
274
|
attribute: 'color',
|
273
275
|
label: 'Color',
|
274
|
-
description: 'The main color of the item. Describe the color in words, not a hex code. Character limit: 200',
|
276
|
+
description: 'The main color of the item. Describe the color in words, not a hex code. Character limit: 200. Example: Royal blue',
|
275
277
|
required: false,
|
276
278
|
type: 'macro-input',
|
277
279
|
defaultValue: '',
|
278
280
|
rules: { sections: [] },
|
279
|
-
validator: (v) => validate(v, z.string()),
|
281
|
+
validator: (v) => validate(v, z.string().optional()),
|
280
282
|
},
|
281
283
|
{
|
282
284
|
attribute: 'gender',
|
283
285
|
label: 'Gender',
|
284
|
-
description: 'The gender your item is targeted towards. Supported values: female, male, unisex',
|
286
|
+
description: 'The gender your item is targeted towards. Supported values: female, male, unisex. Example: female',
|
285
287
|
required: false,
|
286
288
|
type: 'macro-input',
|
287
289
|
defaultValue: '',
|
288
290
|
rules: { sections: [] },
|
289
|
-
validator: v => validate(v, z.enum(['female', 'male', 'unisex'])),
|
291
|
+
validator: v => validate(v, z.enum(['female', 'male', 'unisex', '']).optional()),
|
290
292
|
},
|
291
293
|
{
|
292
294
|
attribute: 'age_group',
|
293
295
|
label: 'Age group',
|
294
|
-
description: 'The age group that the item is targeted towards. Supported values: adult, all ages, teen, kids, toddler, infant, newborn',
|
296
|
+
description: 'The age group that the item is targeted towards. Supported values: adult, all ages, teen, kids, toddler, infant, newborn. Example: adult',
|
295
297
|
required: false,
|
296
298
|
type: 'macro-input',
|
297
299
|
defaultValue: '',
|
298
300
|
rules: { sections: [] },
|
299
|
-
validator: v => validate(v, z.enum(['adult', 'all ages', 'teen', 'kids', 'toddler', 'infant', 'newborn'])),
|
301
|
+
validator: v => validate(v, z.enum(['adult', 'all ages', 'teen', 'kids', 'toddler', 'infant', 'newborn', '']).optional()),
|
300
302
|
},
|
301
303
|
{
|
302
304
|
attribute: 'material',
|
303
305
|
label: 'Material',
|
304
|
-
description: 'The material the item is made from, such as cotton, polyester, denim or leather. Character limit: 200',
|
306
|
+
description: 'The material the item is made from, such as cotton, polyester, denim or leather. Character limit: 200. Example: Organic cotton',
|
305
307
|
required: false,
|
306
308
|
type: 'macro-input',
|
307
309
|
defaultValue: '',
|
308
310
|
rules: { sections: [] },
|
309
|
-
validator: (v) => validate(v, z.string()),
|
311
|
+
validator: (v) => validate(v, z.string().optional()),
|
310
312
|
},
|
311
313
|
{
|
312
314
|
attribute: 'pattern',
|
313
315
|
label: 'Pattern',
|
314
|
-
description: 'The pattern or graphic print on the item. Character limit: 100',
|
316
|
+
description: 'The pattern or graphic print on the item. Character limit: 100. Example: Stripes',
|
315
317
|
required: false,
|
316
318
|
type: 'macro-input',
|
317
319
|
defaultValue: '',
|
318
320
|
rules: { sections: [] },
|
319
|
-
validator: (v) => validate(v, z.string().max(100)),
|
321
|
+
validator: (v) => validate(v, z.string().max(100).optional()),
|
320
322
|
},
|
321
323
|
{
|
322
324
|
attribute: 'rich_text_description',
|
@@ -326,7 +328,7 @@ export const facebookFeedTemplate = {
|
|
326
328
|
type: 'macro-input',
|
327
329
|
defaultValue: '{{shopify.description_html}}',
|
328
330
|
rules: { sections: [] },
|
329
|
-
validator: (v) => validate(v, z.string()),
|
331
|
+
validator: (v) => validate(v, z.string().optional()),
|
330
332
|
},
|
331
333
|
...[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19].map(i => ({
|
332
334
|
...videoMapping,
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"facebook.template.js","sourceRoot":"","sources":["../../../src/utils/feed-templates/facebook.template.ts"],"names":[],"mappings":"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"}
|
1
|
+
{"version":3,"file":"facebook.template.js","sourceRoot":"","sources":["../../../src/utils/feed-templates/facebook.template.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
@@ -11,55 +11,59 @@ const availabilityMapping = {
|
|
11
11
|
attribute: 'availability',
|
12
12
|
label: 'Availability',
|
13
13
|
description:
|
14
|
-
"The current availability of the item. Supported values: in stock, out of stock. Out of stock items don't appear in ads, which prevents advertising items that aren't available. They do still appear in shops on Facebook and Instagram, but are marked as sold out",
|
14
|
+
"The current availability of the item. Supported values: in stock, out of stock. Out of stock items don't appear in ads, which prevents advertising items that aren't available. They do still appear in shops on Facebook and Instagram, but are marked as sold out. Example: in stock",
|
15
15
|
required: true,
|
16
16
|
type: 'macro-input' as any,
|
17
|
-
validator: (v: string | number) =>
|
17
|
+
validator: (v: string | number) => validateIfNoMacro(v, z.enum(['in stock', 'out of stock'])),
|
18
18
|
};
|
19
19
|
|
20
20
|
const conditionMapping = {
|
21
21
|
attribute: 'condition',
|
22
22
|
label: 'Condition',
|
23
|
-
description: 'The condition of the item. Supported values: new, refurbished, used',
|
23
|
+
description: 'The condition of the item. Supported values: new, refurbished, used. Example: new',
|
24
24
|
required: true,
|
25
25
|
type: 'macro-input' as any,
|
26
|
-
validator: (v: string | number) =>
|
26
|
+
validator: (v: string | number) => validateIfNoMacro(v, z.enum(['new', 'refurbished', 'used'])),
|
27
27
|
};
|
28
28
|
|
29
29
|
const videoMapping = {
|
30
30
|
attribute: 'video[0].url',
|
31
31
|
label: 'Video URL 1',
|
32
32
|
description:
|
33
|
-
'Up to 20 fields each containing a link to a product video. video[0].url will be your default video and a 4:5 aspect ratio is recommended. To add multiple videos per product, such as alternative 1:1 or 9:16 aspect ratios, add additional video fields',
|
33
|
+
'Up to 20 fields each containing a link to a product video. video[0].url will be your default video and a 4:5 aspect ratio is recommended. To add multiple videos per product, such as alternative 1:1 or 9:16 aspect ratios, add additional video fields. Example: http://www.jaspersmarket.com/product_video.avi',
|
34
34
|
required: false,
|
35
35
|
type: 'macro-input' as any,
|
36
36
|
defaultValue: '',
|
37
37
|
rules: { sections: [] },
|
38
|
-
validator: (v: string | number) =>
|
38
|
+
validator: (v: string | number) =>
|
39
|
+
validateIfNoMacro(
|
40
|
+
v,
|
41
|
+
z.string().refine(v => !v || z.string().url().safeParse(v).success, { message: 'invalid URL' })
|
42
|
+
),
|
39
43
|
};
|
40
44
|
|
41
45
|
const customLabelMapping = {
|
42
46
|
attribute: 'custom_label_0',
|
43
47
|
label: 'Custom Label 1',
|
44
48
|
description:
|
45
|
-
'Up to five custom fields. Use these fields to create custom labels for your items. For example, you can use custom labels to filter your products in your Facebook catalog. Supported values: 0-100 characters',
|
49
|
+
'Up to five custom fields. Use these fields to create custom labels for your items. For example, you can use custom labels to filter your products in your Facebook catalog. Supported values: 0-100 characters. Example: Summer sale',
|
46
50
|
required: false,
|
47
51
|
type: 'macro-input' as any,
|
48
52
|
defaultValue: '',
|
49
53
|
rules: { sections: [] },
|
50
|
-
validator: (v: string | number) => validate(v, z.string().max(100)),
|
54
|
+
validator: (v: string | number) => validate(v, z.string().max(100).optional()),
|
51
55
|
};
|
52
56
|
|
53
57
|
const customNumberMapping = {
|
54
58
|
attribute: '',
|
55
59
|
label: '',
|
56
60
|
description:
|
57
|
-
'Up to five custom fields for any additional number-related information you want to filter items by when you create product sets. These fields allow you to filter by number ranges (is greater than and is less than) when you create a set. For example, you could use a custom number field to indicate the year each item was produced, and then filter a certain year range into a set. Supported whole number from 0 to 4294967295',
|
61
|
+
'Up to five custom fields for any additional number-related information you want to filter items by when you create product sets. These fields allow you to filter by number ranges (is greater than and is less than) when you create a set. For example, you could use a custom number field to indicate the year each item was produced, and then filter a certain year range into a set. Supported whole number from 0 to 4294967295. Example: 2022',
|
58
62
|
required: false,
|
59
63
|
type: 'macro-input' as any,
|
60
64
|
defaultValue: '',
|
61
65
|
rules: { sections: [] },
|
62
|
-
validator: (v: string | number) => validateIfNoMacro(v, z.coerce.number().min(0).max(4294967295).int()),
|
66
|
+
validator: (v: string | number) => validateIfNoMacro(v, z.coerce.number().min(0).max(4294967295).int().optional()),
|
63
67
|
};
|
64
68
|
|
65
69
|
export const facebookFeedTemplate: XmlFeedTemplateType = {
|
@@ -70,21 +74,21 @@ export const facebookFeedTemplate: XmlFeedTemplateType = {
|
|
70
74
|
attribute: 'id',
|
71
75
|
label: 'ID',
|
72
76
|
description:
|
73
|
-
"A unique content ID for the item. Use the item's stock keeping unit (SKU) number if possible. Each content ID must appear only once in your catalog. If you use the same content ID for multiple items, none of them will be uploaded. Character limit: 100",
|
77
|
+
"A unique content ID for the item. Use the item's stock keeping unit (SKU) number if possible. Each content ID must appear only once in your catalog. If you use the same content ID for multiple items, none of them will be uploaded. Character limit: 100. Example: 12345",
|
74
78
|
required: true,
|
75
79
|
type: 'macro-input',
|
76
|
-
validator: v =>
|
77
|
-
defaultValue: '{{shopify.
|
80
|
+
validator: v => validateIfNoMacro(v, z.string().max(100).min(1)),
|
81
|
+
defaultValue: '{{shopify.id}}-{{shopify.variant_id}}',
|
78
82
|
rules: { sections: [] },
|
79
83
|
},
|
80
84
|
{
|
81
85
|
attribute: 'title',
|
82
86
|
label: 'Title',
|
83
87
|
description:
|
84
|
-
'A specific, relevant title for the item, written in title case. Character limit: 200, but we recommend 65 maximum to avoid longer titles being cut off',
|
88
|
+
'A specific, relevant title for the item, written in title case. Character limit: 200, but we recommend 65 maximum to avoid longer titles being cut off. Example: Blue Cotton T-Shirt',
|
85
89
|
required: true,
|
86
90
|
type: 'macro-input',
|
87
|
-
validator: (v: string | number) =>
|
91
|
+
validator: (v: string | number) => validateIfNoMacro(v, z.string().max(200).min(1)),
|
88
92
|
defaultValue: '{{shopify.title}}',
|
89
93
|
rules: { sections: [] },
|
90
94
|
},
|
@@ -92,10 +96,10 @@ export const facebookFeedTemplate: XmlFeedTemplateType = {
|
|
92
96
|
attribute: 'description',
|
93
97
|
label: 'Description',
|
94
98
|
description:
|
95
|
-
"A detailed description of the item. Include specific and unique product features like material or color. Use plain text only (to use HTML, see rich_text description) and don't enter text in all capital letters. The description should be different from the title. We recommend not including any links. See product description specifications. Character limit: 9,999",
|
99
|
+
"A detailed description of the item. Include specific and unique product features like material or color. Use plain text only (to use HTML, see rich_text description) and don't enter text in all capital letters. The description should be different from the title. We recommend not including any links. See product description specifications. Character limit: 9,999. Example: A comfortable royal blue women's T-shirt in organic cotton. Cap sleeves and relaxed fit. Perfect for warm summer days.",
|
96
100
|
required: true,
|
97
101
|
type: 'macro-input',
|
98
|
-
validator: (v: string | number) =>
|
102
|
+
validator: (v: string | number) => validateIfNoMacro(v, z.string().max(9999).min(1)),
|
99
103
|
defaultValue: '{{shopify.description}}',
|
100
104
|
rules: { sections: [] },
|
101
105
|
},
|
@@ -145,9 +149,10 @@ export const facebookFeedTemplate: XmlFeedTemplateType = {
|
|
145
149
|
attribute: 'price',
|
146
150
|
label: 'Price',
|
147
151
|
description:
|
148
|
-
"The price of the item. Format the price as a number, followed by a space and then the 3-letter ISO 4217 currency code. Always use a period (.) as the decimal point, not a comma (,). Don't include currency symbols such as $, € or £. Only use one currency in your feed. To add prices in other currencies for selling in different countries, upload a country feed.",
|
152
|
+
"The price of the item. Format the price as a number, followed by a space and then the 3-letter ISO 4217 currency code. Always use a period (.) as the decimal point, not a comma (,). Don't include currency symbols such as $, € or £. Only use one currency in your feed. To add prices in other currencies for selling in different countries, upload a country feed. Examples: 9.99 USD or 7.99 EUR",
|
149
153
|
required: true,
|
150
154
|
type: 'macro-input',
|
155
|
+
validator: (v: string | number) => validateIfNoMacro(v, z.string().min(1)),
|
151
156
|
defaultValue: '{{shopify.price}} {{shopify.shop_currency}}',
|
152
157
|
rules: { sections: [] },
|
153
158
|
},
|
@@ -155,18 +160,18 @@ export const facebookFeedTemplate: XmlFeedTemplateType = {
|
|
155
160
|
attribute: 'link',
|
156
161
|
label: 'Link',
|
157
162
|
description:
|
158
|
-
"The link to the item's specific product page on your business's website where people can learn more about or buy the item. Links must begin with http:// or https://, be valid and be hosted on your business’s website domain",
|
163
|
+
"The link to the item's specific product page on your business's website where people can learn more about or buy the item. Links must begin with http:// or https://, be valid and be hosted on your business’s website domain. Example: http://www.jaspersmarket.com/products/shirt",
|
159
164
|
required: true,
|
160
165
|
type: 'macro-input',
|
161
166
|
validator: (v: string | number) => validateIfNoMacro(v, z.string().url()),
|
162
|
-
defaultValue: '{{shopify.shop_domain}}/products/{{shopify.handle}}',
|
167
|
+
defaultValue: 'https://{{shopify.shop_domain}}/products/{{shopify.handle}}',
|
163
168
|
rules: { sections: [] },
|
164
169
|
},
|
165
170
|
{
|
166
171
|
attribute: 'image_link',
|
167
172
|
label: 'Image link',
|
168
173
|
description:
|
169
|
-
'The URL for the main image of your item. Images must be in JPEG or PNG format, at least 500 x 500 pixels and up to 8 MB',
|
174
|
+
'The URL for the main image of your item. Images must be in JPEG or PNG format, at least 500 x 500 pixels and up to 8 MB. Example: http://www.jaspersmarket.com/products/shirt.jpg',
|
170
175
|
required: true,
|
171
176
|
type: 'macro-input',
|
172
177
|
validator: (v: string | number) => validateIfNoMacro(v, z.string().url()),
|
@@ -176,10 +181,10 @@ export const facebookFeedTemplate: XmlFeedTemplateType = {
|
|
176
181
|
{
|
177
182
|
attribute: 'brand',
|
178
183
|
label: 'Brand',
|
179
|
-
description:
|
184
|
+
description: "The brand name of the item. Character limit: 100. Example: Jasper's Market",
|
180
185
|
required: true,
|
181
186
|
type: 'macro-input',
|
182
|
-
validator: (v: string | number) =>
|
187
|
+
validator: (v: string | number) => validateIfNoMacro(v, z.string().max(100).min(1)),
|
183
188
|
defaultValue: '{{shopify.vendor}}',
|
184
189
|
rules: { sections: [] },
|
185
190
|
},
|
@@ -187,10 +192,10 @@ export const facebookFeedTemplate: XmlFeedTemplateType = {
|
|
187
192
|
attribute: 'quantity_to_sell_on_facebook',
|
188
193
|
label: 'Quantity to sell on Facebook',
|
189
194
|
description:
|
190
|
-
"Checkout on Facebook and Instagram (US only). The quantity of this item that you have available to sell. Enter a whole number. To prevent overselling, an item's quantity is automatically reduced each time a purchase order is confirmed through checkout. When the quantity reaches 0, the item is marked as sold out in your shop on Facebook and Instagram. After 56 days, out of stock items stop appearing in your shop",
|
195
|
+
"Checkout on Facebook and Instagram (US only). The quantity of this item that you have available to sell. Enter a whole number. To prevent overselling, an item's quantity is automatically reduced each time a purchase order is confirmed through checkout. When the quantity reaches 0, the item is marked as sold out in your shop on Facebook and Instagram. After 56 days, out of stock items stop appearing in your shop. Example: 150",
|
191
196
|
required: false,
|
192
197
|
type: 'macro-input',
|
193
|
-
validator: (v: string | number) => validateIfNoMacro(v, z.coerce.number().min(0)),
|
198
|
+
validator: (v: string | number) => validateIfNoMacro(v, z.coerce.number().min(0).optional()),
|
194
199
|
defaultValue: '{{shopify.inventory_quantity}}',
|
195
200
|
rules: { sections: [] },
|
196
201
|
},
|
@@ -198,10 +203,10 @@ export const facebookFeedTemplate: XmlFeedTemplateType = {
|
|
198
203
|
attribute: 'size',
|
199
204
|
label: 'Size',
|
200
205
|
description:
|
201
|
-
'Required for items in specific product categories including clothing and shoes. The size of the item written as a word, abbreviation or number, such as "Small", "XL", "12" or "One size". Include a space between words and numbers (such as "US 12" or "15 months" instead of "US12" or "15months") and don\'t include the word "size" if not necessary (such as "XS" instead of "Size XS"). Character limit: 200',
|
206
|
+
'Required for items in specific product categories including clothing and shoes. The size of the item written as a word, abbreviation or number, such as "Small", "XL", "12" or "One size". Include a space between words and numbers (such as "US 12" or "15 months" instead of "US12" or "15months") and don\'t include the word "size" if not necessary (such as "XS" instead of "Size XS"). Character limit: 200. Example: Medium',
|
202
207
|
required: false,
|
203
208
|
type: 'macro-input',
|
204
|
-
validator: (v: string | number) => validate(v, z.string().max(200)),
|
209
|
+
validator: (v: string | number) => validate(v, z.string().max(200).optional()),
|
205
210
|
defaultValue: '',
|
206
211
|
rules: { sections: [] },
|
207
212
|
},
|
@@ -209,7 +214,7 @@ export const facebookFeedTemplate: XmlFeedTemplateType = {
|
|
209
214
|
attribute: 'sale_price',
|
210
215
|
label: 'Sale price',
|
211
216
|
description:
|
212
|
-
'If the item is on sale, enter its discounted price. Use the same formatting as the price field',
|
217
|
+
'If the item is on sale, enter its discounted price. Use the same formatting as the price field. Example: 5.99 USD',
|
213
218
|
required: false,
|
214
219
|
type: 'macro-input',
|
215
220
|
defaultValue: '',
|
@@ -219,7 +224,7 @@ export const facebookFeedTemplate: XmlFeedTemplateType = {
|
|
219
224
|
attribute: 'sale_price_effective_date',
|
220
225
|
label: 'Sale price effective date',
|
221
226
|
description:
|
222
|
-
"The date, time and time zone when your sale starts and ends. If you don't add this field, any items with a sale_price remain on sale until you remove their sale price. Use this format: YYYY-MM-DDT23:59+00:00/YYYY-MM-DDT23:59+00:00",
|
227
|
+
"The date, time and time zone when your sale starts and ends. If you don't add this field, any items with a sale_price remain on sale until you remove their sale price. Use this format: YYYY-MM-DDT23:59+00:00/YYYY-MM-DDT23:59+00:00. Example (using PST time zone -08:00): 2020-04-30T09:30-08:00/2020-05-30T23:59-08:00",
|
223
228
|
required: false,
|
224
229
|
type: 'macro-input',
|
225
230
|
defaultValue: '',
|
@@ -229,7 +234,7 @@ export const facebookFeedTemplate: XmlFeedTemplateType = {
|
|
229
234
|
attribute: 'item_group_id',
|
230
235
|
label: 'Item group ID',
|
231
236
|
description:
|
232
|
-
"Allows you to set up variants of the same product, such as different sizes, colors or patterns. Enter the same group ID in this field for all variants of the same product to indicate they're part of a group",
|
237
|
+
"Allows you to set up variants of the same product, such as different sizes, colors or patterns. Enter the same group ID in this field for all variants of the same product to indicate they're part of a group. Example: Shirt_1",
|
233
238
|
required: false,
|
234
239
|
type: 'macro-input',
|
235
240
|
defaultValue: '{{shopify.id}}',
|
@@ -239,17 +244,18 @@ export const facebookFeedTemplate: XmlFeedTemplateType = {
|
|
239
244
|
attribute: 'status',
|
240
245
|
label: 'Status',
|
241
246
|
description:
|
242
|
-
'Controls whether the item is active or archived in your catalog. Only active items can be seen by people in your ads, shops or any other channels. Supported values: active, archived. Items are active by default',
|
247
|
+
'Controls whether the item is active or archived in your catalog. Only active items can be seen by people in your ads, shops or any other channels. Supported values: active, archived. Items are active by default. Example: active',
|
243
248
|
required: false,
|
244
249
|
type: 'macro-input',
|
245
250
|
defaultValue: '{{shopify.status}}',
|
251
|
+
validator: (v: string | number) => validateIfNoMacro(v, z.enum(['active', 'archived', '']).optional()),
|
246
252
|
rules: { sections: [] },
|
247
253
|
},
|
248
254
|
{
|
249
255
|
attribute: 'additional_image_link',
|
250
256
|
label: 'Additional image link',
|
251
257
|
description:
|
252
|
-
'Links to up to 20 additional images of your item, separated by a comma (,), semicolon (;), space ( ) or vertical bar (|). Follow the same image specifications as image_link',
|
258
|
+
'Links to up to 20 additional images of your item, separated by a comma (,), semicolon (;), space ( ) or vertical bar (|). Follow the same image specifications as image_link. Example: http://www.jaspersmarket.com/products/shirt2.jpg, http://www.jaspersmarket.com/products/shirt3.jpg',
|
253
259
|
required: false,
|
254
260
|
type: 'macro-input',
|
255
261
|
defaultValue: '{{shopify.images}}',
|
@@ -259,7 +265,7 @@ export const facebookFeedTemplate: XmlFeedTemplateType = {
|
|
259
265
|
attribute: 'gtin',
|
260
266
|
label: 'GTIN',
|
261
267
|
description:
|
262
|
-
'The item’s Global Trade Item Number (GTIN). Providing a GTIN is highly recommended to help classify the item. The GTIN may appear on the barcode, packaging or book cover. Not all items have a GTIN. Only provide one if you’re sure it’s correct. Don’t include dashes or spaces',
|
268
|
+
'The item’s Global Trade Item Number (GTIN). Providing a GTIN is highly recommended to help classify the item. The GTIN may appear on the barcode, packaging or book cover. Not all items have a GTIN. Only provide one if you’re sure it’s correct. Don’t include dashes or spaces. Example: 4011200296908',
|
263
269
|
required: false,
|
264
270
|
type: 'macro-input',
|
265
271
|
defaultValue: '',
|
@@ -269,11 +275,11 @@ export const facebookFeedTemplate: XmlFeedTemplateType = {
|
|
269
275
|
attribute: 'mpn',
|
270
276
|
label: 'MPN',
|
271
277
|
description:
|
272
|
-
'The item’s manufacturer part number (MPN), a unique alphanumeric code assigned by the manufacturer in some industries to identify a specific item or part. It may appear on the packaging, label or etched directly onto the item. Providing a MPN is recommended to help classify the item if there is no GTIN. Not all items have a MPN. Only provide one if you’re sure it’s correct. Character limit: 100',
|
278
|
+
'The item’s manufacturer part number (MPN), a unique alphanumeric code assigned by the manufacturer in some industries to identify a specific item or part. It may appear on the packaging, label or etched directly onto the item. Providing a MPN is recommended to help classify the item if there is no GTIN. Not all items have a MPN. Only provide one if you’re sure it’s correct. Character limit: 100. Example: JAS12345PER',
|
273
279
|
required: false,
|
274
280
|
type: 'macro-input',
|
275
281
|
defaultValue: '',
|
276
|
-
validator: (v: string | number) => validate(v, z.string()),
|
282
|
+
validator: (v: string | number) => validate(v, z.string().optional()),
|
277
283
|
rules: { sections: [] },
|
278
284
|
},
|
279
285
|
{
|
@@ -300,54 +306,59 @@ export const facebookFeedTemplate: XmlFeedTemplateType = {
|
|
300
306
|
attribute: 'color',
|
301
307
|
label: 'Color',
|
302
308
|
description:
|
303
|
-
'The main color of the item. Describe the color in words, not a hex code. Character limit: 200',
|
309
|
+
'The main color of the item. Describe the color in words, not a hex code. Character limit: 200. Example: Royal blue',
|
304
310
|
required: false,
|
305
311
|
type: 'macro-input',
|
306
312
|
defaultValue: '',
|
307
313
|
rules: { sections: [] },
|
308
|
-
validator: (v: string | number) => validate(v, z.string()),
|
314
|
+
validator: (v: string | number) => validate(v, z.string().optional()),
|
309
315
|
},
|
310
316
|
{
|
311
317
|
attribute: 'gender',
|
312
318
|
label: 'Gender',
|
313
|
-
description:
|
319
|
+
description:
|
320
|
+
'The gender your item is targeted towards. Supported values: female, male, unisex. Example: female',
|
314
321
|
required: false,
|
315
322
|
type: 'macro-input',
|
316
323
|
defaultValue: '',
|
317
324
|
rules: { sections: [] },
|
318
|
-
validator: v => validate(v, z.enum(['female', 'male', 'unisex'])),
|
325
|
+
validator: v => validate(v, z.enum(['female', 'male', 'unisex', '']).optional()),
|
319
326
|
},
|
320
327
|
{
|
321
328
|
attribute: 'age_group',
|
322
329
|
label: 'Age group',
|
323
330
|
description:
|
324
|
-
'The age group that the item is targeted towards. Supported values: adult, all ages, teen, kids, toddler, infant, newborn',
|
331
|
+
'The age group that the item is targeted towards. Supported values: adult, all ages, teen, kids, toddler, infant, newborn. Example: adult',
|
325
332
|
required: false,
|
326
333
|
type: 'macro-input',
|
327
334
|
defaultValue: '',
|
328
335
|
rules: { sections: [] },
|
329
|
-
validator: v =>
|
336
|
+
validator: v =>
|
337
|
+
validate(
|
338
|
+
v,
|
339
|
+
z.enum(['adult', 'all ages', 'teen', 'kids', 'toddler', 'infant', 'newborn', '']).optional()
|
340
|
+
),
|
330
341
|
},
|
331
342
|
{
|
332
343
|
attribute: 'material',
|
333
344
|
label: 'Material',
|
334
345
|
description:
|
335
|
-
'The material the item is made from, such as cotton, polyester, denim or leather. Character limit: 200',
|
346
|
+
'The material the item is made from, such as cotton, polyester, denim or leather. Character limit: 200. Example: Organic cotton',
|
336
347
|
required: false,
|
337
348
|
type: 'macro-input',
|
338
349
|
defaultValue: '',
|
339
350
|
rules: { sections: [] },
|
340
|
-
validator: (v: string | number) => validate(v, z.string()),
|
351
|
+
validator: (v: string | number) => validate(v, z.string().optional()),
|
341
352
|
},
|
342
353
|
{
|
343
354
|
attribute: 'pattern',
|
344
355
|
label: 'Pattern',
|
345
|
-
description: 'The pattern or graphic print on the item. Character limit: 100',
|
356
|
+
description: 'The pattern or graphic print on the item. Character limit: 100. Example: Stripes',
|
346
357
|
required: false,
|
347
358
|
type: 'macro-input',
|
348
359
|
defaultValue: '',
|
349
360
|
rules: { sections: [] },
|
350
|
-
validator: (v: string | number) => validate(v, z.string().max(100)),
|
361
|
+
validator: (v: string | number) => validate(v, z.string().max(100).optional()),
|
351
362
|
},
|
352
363
|
{
|
353
364
|
attribute: 'rich_text_description',
|
@@ -358,7 +369,7 @@ export const facebookFeedTemplate: XmlFeedTemplateType = {
|
|
358
369
|
type: 'macro-input',
|
359
370
|
defaultValue: '{{shopify.description_html}}',
|
360
371
|
rules: { sections: [] },
|
361
|
-
validator: (v: string | number) => validate(v, z.string()),
|
372
|
+
validator: (v: string | number) => validate(v, z.string().optional()),
|
362
373
|
},
|
363
374
|
...[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19].map(i => ({
|
364
375
|
...videoMapping,
|