feed-common 1.77.5 → 1.77.7

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (45) hide show
  1. package/CHANGELOG.md +14 -0
  2. package/dist/constants/profile.constants.d.ts +5 -0
  3. package/dist/constants/profile.constants.d.ts.map +1 -1
  4. package/dist/constants/profile.constants.js +35 -0
  5. package/dist/constants/profile.constants.js.map +1 -1
  6. package/dist/index.d.ts +5 -0
  7. package/dist/index.d.ts.map +1 -1
  8. package/dist/index.js +5 -0
  9. package/dist/index.js.map +1 -1
  10. package/dist/sources/ebay-measurement-units.source.d.ts +5 -0
  11. package/dist/sources/ebay-measurement-units.source.d.ts.map +1 -0
  12. package/dist/sources/ebay-measurement-units.source.js +5 -0
  13. package/dist/sources/ebay-measurement-units.source.js.map +1 -0
  14. package/dist/sources/ebay-paid-by-cost.source.d.ts +5 -0
  15. package/dist/sources/ebay-paid-by-cost.source.d.ts.map +1 -0
  16. package/dist/sources/ebay-paid-by-cost.source.js +5 -0
  17. package/dist/sources/ebay-paid-by-cost.source.js.map +1 -0
  18. package/dist/sources/ebay-refund-options.source.d.ts +5 -0
  19. package/dist/sources/ebay-refund-options.source.d.ts.map +1 -0
  20. package/dist/sources/ebay-refund-options.source.js +5 -0
  21. package/dist/sources/ebay-refund-options.source.js.map +1 -0
  22. package/dist/sources/ebay-returns-accepted.source.d.ts +5 -0
  23. package/dist/sources/ebay-returns-accepted.source.d.ts.map +1 -0
  24. package/dist/sources/ebay-returns-accepted.source.js +5 -0
  25. package/dist/sources/ebay-returns-accepted.source.js.map +1 -0
  26. package/dist/sources/ebay-site.source.d.ts +5 -0
  27. package/dist/sources/ebay-site.source.d.ts.map +1 -0
  28. package/dist/sources/ebay-site.source.js +24 -0
  29. package/dist/sources/ebay-site.source.js.map +1 -0
  30. package/dist/utils/feed-templates/ebay.template.d.ts.map +1 -1
  31. package/dist/utils/feed-templates/ebay.template.js +597 -92
  32. package/dist/utils/feed-templates/ebay.template.js.map +1 -1
  33. package/dist/utils/profile.d.ts.map +1 -1
  34. package/dist/utils/profile.js +16 -1
  35. package/dist/utils/profile.js.map +1 -1
  36. package/package.json +1 -1
  37. package/src/constants/profile.constants.ts +35 -0
  38. package/src/index.ts +5 -0
  39. package/src/sources/ebay-measurement-units.source.ts +4 -0
  40. package/src/sources/ebay-paid-by-cost.source.ts +4 -0
  41. package/src/sources/ebay-refund-options.source.ts +4 -0
  42. package/src/sources/ebay-returns-accepted.source.ts +4 -0
  43. package/src/sources/ebay-site.source.ts +23 -0
  44. package/src/utils/feed-templates/ebay.template.ts +616 -97
  45. package/src/utils/profile.ts +20 -0
@@ -1,9 +1,9 @@
1
1
  import { z } from 'zod';
2
2
  import { makeMacroString } from './common.js';
3
3
  import { validateIfNoMacro } from './common-schemas.js';
4
- import { ACTION_ARRAY_FIRST_ITEMS, SOURCE_EBAY_GALLERY_TYPE, SOURCE_EBAY_INVENTORY_TRACKING, SOURCE_EBAY_LISTING_TYPE, SOURCE_EBAY_YES_NO, SOURCE_SHOPIFY_DESCRIPTION_HTML, SOURCE_SHOPIFY_IMAGE, SOURCE_SHOPIFY_IMAGES, SOURCE_SHOPIFY_SHOP_COUNTRY, SOURCE_SHOPIFY_SHOP_CURRENCY, SOURCE_SHOPIFY_SHOP_POSTAL_CODE, SOURCE_SHOPIFY_VENDOR, } from '../../constants/profile.constants.js';
4
+ import { ACTION_ARRAY_FIRST_ITEMS, SOURCE_EBAY_GALLERY_TYPE, SOURCE_EBAY_INTERNATIONAL_REFUND_OPTIONS, SOURCE_EBAY_INTERNATIONAL_RETURNS_ACCEPTED, SOURCE_EBAY_MEASUREMENT_UNITS, SOURCE_EBAY_PAID_BY_COST, SOURCE_EBAY_SITE, SOURCE_EBAY_YES_NO, SOURCE_SHOPIFY_COMPARE_AT_PRICE, SOURCE_SHOPIFY_DESCRIPTION_HTML, SOURCE_SHOPIFY_ID, SOURCE_SHOPIFY_IMAGE, SOURCE_SHOPIFY_IMAGES, SOURCE_SHOPIFY_INVENTORY_QUANTITY, SOURCE_SHOPIFY_PRICE, SOURCE_SHOPIFY_SHOP_COUNTRY, SOURCE_SHOPIFY_SHOP_CURRENCY, SOURCE_SHOPIFY_SHOP_POSTAL_CODE, SOURCE_SHOPIFY_VARIANT_ID, SOURCE_SHOPIFY_VENDOR, } from '../../constants/profile.constants.js';
5
5
  import { resolveSourceValue } from '../profile.js';
6
- import { countrySchema, currencySchema, oneOfOptionalSchema } from './common-schemas.js';
6
+ import { countrySchema, currencySchema } from './common-schemas.js';
7
7
  const yesNoSchema = z.coerce.string().refine(v => resolveSourceValue(SOURCE_EBAY_YES_NO)
8
8
  ?.map(r => r.value)
9
9
  .includes(v), { message: 'Value must be 0 or 1' });
@@ -12,7 +12,284 @@ export const eBayFeedTemplate = {
12
12
  documentation: 'https://developer.ebay.com/devzone/xml/docs/reference/ebay/AddFixedPriceItem.html',
13
13
  mapping: [
14
14
  {
15
- attribute: 'AutoPay',
15
+ attribute: 'Item.Site',
16
+ label: 'Site',
17
+ description: 'The name of the eBay listing site',
18
+ required: true,
19
+ type: 'macro-input',
20
+ defaultValue: makeMacroString(SOURCE_EBAY_SITE),
21
+ rules: { sections: [] },
22
+ baseMode: true,
23
+ fixedValue: true,
24
+ singleChoice: true,
25
+ validator: v => validateIfNoMacro(v, z.string()),
26
+ },
27
+ {
28
+ attribute: 'Item.Country',
29
+ label: 'Country',
30
+ description: 'The country where the item is located',
31
+ required: true,
32
+ type: 'macro-input',
33
+ defaultValue: makeMacroString(SOURCE_SHOPIFY_SHOP_COUNTRY),
34
+ rules: { sections: [] },
35
+ validator: v => validateIfNoMacro(v, countrySchema),
36
+ baseMode: true,
37
+ singleChoice: true,
38
+ },
39
+ {
40
+ attribute: 'Item.Currency',
41
+ label: 'Currency',
42
+ description: 'The currency of the item price',
43
+ required: true,
44
+ type: 'macro-input',
45
+ defaultValue: makeMacroString(SOURCE_SHOPIFY_SHOP_CURRENCY),
46
+ rules: { sections: [] },
47
+ validator: v => validateIfNoMacro(v, currencySchema),
48
+ baseMode: true,
49
+ singleChoice: true,
50
+ },
51
+ // TODO: set inventory tracking method to SKU
52
+ // {
53
+ // attribute: 'Item.InventoryTrackingMethod',
54
+ // label: 'Inventory Tracking Method',
55
+ // description: 'The method used to track the inventory level of the item',
56
+ // required: false,
57
+ // type: 'macro-input',
58
+ // defaultValue: makeMacroString(SOURCE_EBAY_INVENTORY_TRACKING),
59
+ // rules: { sections: [] },
60
+ // baseMode: false,
61
+ // singleChoice: true,
62
+ // fixedValue: true,
63
+ // },
64
+ {
65
+ attribute: 'Item.Variations.Variation.SKU',
66
+ label: 'SKU',
67
+ description: 'The SKU of the variant',
68
+ required: true,
69
+ type: 'macro-input',
70
+ defaultValue: makeMacroString(SOURCE_SHOPIFY_ID) + '-' + makeMacroString(SOURCE_SHOPIFY_VARIANT_ID),
71
+ rules: { sections: [] },
72
+ baseMode: true,
73
+ fixedValue: false,
74
+ singleChoice: true,
75
+ },
76
+ {
77
+ attribute: 'Item.Variations.Variation.VariationProductListingDetails.EAN',
78
+ label: 'EAN',
79
+ description: 'The European Article Number',
80
+ required: false,
81
+ type: 'macro-input',
82
+ defaultValue: '',
83
+ rules: { sections: [] },
84
+ baseMode: false,
85
+ fixedValue: false,
86
+ singleChoice: true,
87
+ },
88
+ {
89
+ attribute: 'Item.Variations.Variation.VariationProductListingDetails.ISBN',
90
+ label: 'ISBN',
91
+ description: 'The International Standard Book Number',
92
+ required: false,
93
+ type: 'macro-input',
94
+ defaultValue: '',
95
+ rules: { sections: [] },
96
+ baseMode: false,
97
+ fixedValue: false,
98
+ singleChoice: true,
99
+ },
100
+ {
101
+ attribute: 'Item.Variations.Variation.VariationProductListingDetails.UPC',
102
+ label: 'UPC',
103
+ description: 'The Universal Product Code',
104
+ required: false,
105
+ type: 'macro-input',
106
+ defaultValue: '',
107
+ rules: { sections: [] },
108
+ baseMode: false,
109
+ fixedValue: false,
110
+ singleChoice: true,
111
+ },
112
+ {
113
+ attribute: 'Item.Title',
114
+ label: 'Title',
115
+ description: 'The title of the item',
116
+ required: false,
117
+ type: 'macro-input',
118
+ defaultValue: '',
119
+ rules: { sections: [] },
120
+ baseMode: true,
121
+ fixedValue: false,
122
+ singleChoice: true,
123
+ },
124
+ {
125
+ attribute: 'Item.Description', // TODO: CDATA it
126
+ label: 'Description',
127
+ description: 'The description of the item',
128
+ required: true,
129
+ type: 'macro-input',
130
+ defaultValue: makeMacroString(SOURCE_SHOPIFY_DESCRIPTION_HTML),
131
+ rules: { sections: [] },
132
+ baseMode: true,
133
+ validator: v => validateIfNoMacro(v, z.string().max(500000)),
134
+ singleChoice: true,
135
+ },
136
+ {
137
+ attribute: 'Item.PrimaryCategory.CategoryID',
138
+ label: 'Primary Category',
139
+ description: 'The primary category of the item',
140
+ required: true,
141
+ type: 'macro-input',
142
+ defaultValue: '', // TODO: add source
143
+ rules: { sections: [] },
144
+ baseMode: true,
145
+ fixedValue: false,
146
+ singleChoice: true,
147
+ },
148
+ {
149
+ attribute: 'Item.SecondaryCategory.CategoryID',
150
+ label: 'Secondary Category',
151
+ description: 'The secondary category of the item',
152
+ required: false,
153
+ type: 'macro-input',
154
+ defaultValue: '', // TODO: add source
155
+ rules: { sections: [] },
156
+ baseMode: true,
157
+ fixedValue: false,
158
+ singleChoice: true,
159
+ },
160
+ {
161
+ attribute: 'Item.Variations.Pictures.VariationSpecificPictureSet.PictureURL', // TODO: split by comma and set in separate fields
162
+ label: 'Variation Specific Picture Set',
163
+ description: 'The URL of the pictures of variant. Can consist of up to 12 pictures',
164
+ required: false,
165
+ type: 'macro-input',
166
+ defaultValue: makeMacroString(SOURCE_SHOPIFY_IMAGE) +
167
+ ',' +
168
+ makeMacroString(SOURCE_SHOPIFY_IMAGES) +
169
+ makeMacroString(ACTION_ARRAY_FIRST_ITEMS, ['12']),
170
+ rules: { sections: [] },
171
+ baseMode: true,
172
+ fixedValue: false,
173
+ singleChoice: true,
174
+ },
175
+ {
176
+ attribute: 'GalleryType',
177
+ label: 'Gallery Type',
178
+ description: 'The type of gallery image to use for the listing. Waring: Plus type implies additional fee',
179
+ required: false,
180
+ type: 'macro-input',
181
+ defaultValue: makeMacroString(SOURCE_EBAY_GALLERY_TYPE, ['Gallery']),
182
+ rules: { sections: [] },
183
+ baseMode: false,
184
+ fixedValue: true,
185
+ singleChoice: true,
186
+ },
187
+ {
188
+ attribute: 'Item.Variations.Variation.Quantity',
189
+ label: 'Quantity',
190
+ description: 'The number of items available for purchase',
191
+ required: false,
192
+ type: 'macro-input',
193
+ defaultValue: makeMacroString(SOURCE_SHOPIFY_INVENTORY_QUANTITY),
194
+ rules: { sections: [] },
195
+ baseMode: true,
196
+ fixedValue: false,
197
+ singleChoice: true,
198
+ },
199
+ {
200
+ attribute: 'Item.Variations.Variation.StartPrice',
201
+ label: 'Price',
202
+ description: 'The price of the variant',
203
+ required: true,
204
+ type: 'macro-input',
205
+ defaultValue: makeMacroString(SOURCE_SHOPIFY_PRICE),
206
+ rules: { sections: [] },
207
+ baseMode: true,
208
+ fixedValue: false,
209
+ singleChoice: true,
210
+ },
211
+ {
212
+ attribute: 'Item.Variations.Variation.DiscountPriceInfo.MinimumAdvertisedPrice',
213
+ label: 'Discount Price',
214
+ description: 'The discount price of the item',
215
+ required: false,
216
+ type: 'macro-input',
217
+ defaultValue: makeMacroString(SOURCE_SHOPIFY_COMPARE_AT_PRICE),
218
+ rules: { sections: [] },
219
+ baseMode: false,
220
+ fixedValue: false,
221
+ singleChoice: true,
222
+ },
223
+ // {
224
+ // attribute: 'Item.PictureDetails.PictureURL',
225
+ // label: 'Picture URL',
226
+ // description:
227
+ // 'Contains comma separated list of product picture URLs. You can pass in up to 24 picture URLs for each listing. The Gallery image will be the first PictureURL in the list',
228
+ // required: false,
229
+ // type: 'macro-input',
230
+ // defaultValue:
231
+ // makeMacroString(SOURCE_SHOPIFY_IMAGE) +
232
+ // ',' +
233
+ // makeMacroString(SOURCE_SHOPIFY_IMAGES) +
234
+ // makeMacroString(ACTION_ARRAY_FIRST_ITEMS, ['24']),
235
+ // rules: { sections: [] },
236
+ // baseMode: false,
237
+ // fixedValue: true,
238
+ // singleChoice: true,
239
+ // },
240
+ // TODO: if Item.InventoryTrackingMethod is set to SKU, this field is required
241
+ // if SKU is set on variation level, it should not be set on item level
242
+ // {
243
+ // attribute: 'Item.SKU',
244
+ // label: 'Product SKU',
245
+ // description: 'The SKU of the product',
246
+ // required: false,
247
+ // type: 'macro-input',
248
+ // defaultValue: '',
249
+ // rules: { sections: [] },
250
+ // baseMode: false,
251
+ // fixedValue: false,
252
+ // singleChoice: true,
253
+ // },
254
+ // {
255
+ // attribute: 'Item.StartPrice',
256
+ // label: 'Price',
257
+ // description: 'The price of the item',
258
+ // required: true,
259
+ // type: 'macro-input',
260
+ // defaultValue: makeMacroString(SOURCE_SHOPIFY_PRICE),
261
+ // rules: { sections: [] },
262
+ // baseMode: true,
263
+ // fixedValue: false,
264
+ // singleChoice: true,
265
+ // },
266
+ {
267
+ attribute: 'Item.Variations.Pictures.VariationSpecificName',
268
+ label: 'Variation Specific Name',
269
+ description: 'One aspect of the variations that will be illustrated in the pictures for all variations. For example, if each variation is visually distinguished by color and the pictures show the different colors available, then specify "Color" as the name',
270
+ required: false,
271
+ type: 'macro-input',
272
+ defaultValue: '',
273
+ rules: { sections: [] },
274
+ baseMode: false,
275
+ fixedValue: false,
276
+ singleChoice: true,
277
+ },
278
+ {
279
+ attribute: 'Item.Variations.Pictures.VariationSpecificPictureSet.VariationSpecificValue',
280
+ label: 'Variation Specific Value',
281
+ description: 'A value that is associated with Variation Specific Name. For example, suppose if Variation Specific Name is Color , then Variation Specific Value would be Blue. ',
282
+ required: false,
283
+ type: 'macro-input',
284
+ defaultValue: '',
285
+ rules: { sections: [] },
286
+ baseMode: false,
287
+ fixedValue: false,
288
+ singleChoice: true,
289
+ },
290
+ ///////////////////////////////////////// secondary fields /////////////////////////////////////////
291
+ {
292
+ attribute: ' Item.AutoPay',
16
293
  label: 'AutoPay',
17
294
  description: 'Indicates whether the seller requires immediate payment for the item',
18
295
  required: false,
@@ -25,7 +302,7 @@ export const eBayFeedTemplate = {
25
302
  singleChoice: true,
26
303
  },
27
304
  {
28
- attribute: 'BestOfferEnabled',
305
+ attribute: 'Item.BestOfferEnabled',
29
306
  label: 'Best Offer Enabled',
30
307
  description: 'Indicates whether the seller is accepting Best Offers for the item',
31
308
  required: false,
@@ -38,7 +315,7 @@ export const eBayFeedTemplate = {
38
315
  singleChoice: true,
39
316
  },
40
317
  {
41
- attribute: 'CategoryMappingAllowed',
318
+ attribute: 'Item.CategoryMappingAllowed',
42
319
  label: 'Category Mapping Allowed',
43
320
  description: 'This boolean field controls whether or not eBay automatically maps outdated Category ID(s) specified in a PrimaryCategory and/or SecondaryCategory container(s) to the updated Category ID(s) no longer exists in the current category structure',
44
321
  required: false,
@@ -51,7 +328,7 @@ export const eBayFeedTemplate = {
51
328
  singleChoice: true,
52
329
  },
53
330
  {
54
- attribute: 'ConditionID',
331
+ attribute: 'Item.ConditionID',
55
332
  label: 'Condition',
56
333
  description: 'The condition of the item. For example, New, Used, or Refurbished',
57
334
  required: false,
@@ -61,85 +338,171 @@ export const eBayFeedTemplate = {
61
338
  baseMode: false,
62
339
  singleChoice: true,
63
340
  },
341
+ // {
342
+ // attribute: 'Item.DiscountPriceInfo.MinimumAdvertisedPrice', // TODO: check if this is correct
343
+ // label: 'Discount Price',
344
+ // description: 'The discount price of the item',
345
+ // required: false,
346
+ // type: 'macro-input',
347
+ // defaultValue: makeMacroString(SOURCE_SHOPIFY_DESCRIPTION_HTML),
348
+ // rules: { sections: [] },
349
+ // baseMode: false,
350
+ // validator: v => validateIfNoMacro(v, z.coerce.number().positive()),
351
+ // singleChoice: true,
352
+ // },
64
353
  {
65
- attribute: 'Country',
66
- label: 'Country',
67
- description: 'The country where the item is located',
68
- required: true,
354
+ attribute: 'Item.DispatchTimeMax',
355
+ label: 'Dispatch Time Max',
356
+ description: 'The maximum number of business days the seller commits to for shipping an item to a buyer after receiving a cleared payment',
357
+ required: false,
69
358
  type: 'macro-input',
70
- defaultValue: makeMacroString(SOURCE_SHOPIFY_SHOP_COUNTRY),
359
+ defaultValue: '',
71
360
  rules: { sections: [] },
72
- validator: v => validateIfNoMacro(v, countrySchema),
73
- baseMode: true,
361
+ baseMode: false,
362
+ validator: v => validateIfNoMacro(v, z.coerce.number().gte(0)),
74
363
  singleChoice: true,
75
364
  },
365
+ // TODO: add compatibility list items
366
+ // TODO: add item specifics
76
367
  {
77
- attribute: 'Currency',
78
- label: 'Currency',
79
- description: 'The currency of the item price',
80
- required: true,
368
+ attribute: 'Item.ListingDuration',
369
+ label: 'Listing Duration',
370
+ description: 'The length of time the listing will be active',
371
+ required: false,
81
372
  type: 'macro-input',
82
- defaultValue: makeMacroString(SOURCE_SHOPIFY_SHOP_CURRENCY),
373
+ defaultValue: '', // TODO: add source
83
374
  rules: { sections: [] },
84
- validator: v => validateIfNoMacro(v, currencySchema),
85
- baseMode: true,
375
+ baseMode: false,
376
+ fixedValue: true,
86
377
  singleChoice: true,
87
378
  },
379
+ // {
380
+ // attribute: 'Item.ListingType',
381
+ // label: 'Listing Type',
382
+ // description: 'The type of listing',
383
+ // required: true,
384
+ // type: 'macro-input',
385
+ // defaultValue: makeMacroString(SOURCE_EBAY_LISTING_TYPE, ['FixedPriceItem']),
386
+ // rules: { sections: [] },
387
+ // baseMode: true,
388
+ // fixedValue: true,
389
+ // singleChoice: true,
390
+ // },
391
+ // TODO: set PictureSource to Vendor
88
392
  {
89
- attribute: 'Description',
90
- label: 'Description',
91
- description: 'The description of the item',
92
- required: true,
393
+ attribute: 'Item.PostalCode',
394
+ label: 'Postal Code',
395
+ description: 'The postal code where the item is located',
396
+ required: false,
93
397
  type: 'macro-input',
94
- defaultValue: makeMacroString(SOURCE_SHOPIFY_DESCRIPTION_HTML),
398
+ defaultValue: makeMacroString(SOURCE_SHOPIFY_SHOP_POSTAL_CODE),
95
399
  rules: { sections: [] },
96
- baseMode: true,
97
- validator: v => validateIfNoMacro(v, z.string().max(500000)),
400
+ baseMode: false,
98
401
  singleChoice: true,
99
402
  },
100
403
  {
101
- attribute: 'DiscountPrice',
102
- label: 'Discount Price',
103
- description: 'The discount price of the item',
404
+ attribute: 'Item.ProductListingDetails.BrandMPN.Brand',
405
+ label: 'Brand',
406
+ description: 'The brand of the item',
104
407
  required: false,
105
408
  type: 'macro-input',
106
- defaultValue: makeMacroString(SOURCE_SHOPIFY_DESCRIPTION_HTML),
409
+ defaultValue: makeMacroString(SOURCE_SHOPIFY_VENDOR),
107
410
  rules: { sections: [] },
411
+ validator: v => validateIfNoMacro(v, z.string().max(65).optional()),
108
412
  baseMode: false,
109
- validator: v => validateIfNoMacro(v, z.coerce.number().positive()),
413
+ fixedValue: false,
110
414
  singleChoice: true,
111
415
  },
416
+ // {
417
+ // attribute: 'Item.ProductListingDetails.BrandMPN.MPN',
418
+ // label: 'MPN',
419
+ // description: 'The Manufacturer Part Number of the item',
420
+ // required: false,
421
+ // type: 'macro-input',
422
+ // defaultValue: '',
423
+ // rules: { sections: [] },
424
+ // validator: v => validateIfNoMacro(v, z.string().max(65).optional()),
425
+ // baseMode: false,
426
+ // fixedValue: false,
427
+ // singleChoice: true,
428
+ // },
429
+ // {
430
+ // attribute: 'Item.ProductListingDetails.EAN',
431
+ // label: 'EAN',
432
+ // description: 'The European Article Number of the item',
433
+ // required: false,
434
+ // type: 'macro-input',
435
+ // defaultValue: '',
436
+ // rules: { sections: [] },
437
+ // baseMode: false,
438
+ // fixedValue: false,
439
+ // singleChoice: true,
440
+ // },
441
+ // {
442
+ // attribute: 'Item.ProductListingDetails.UPC',
443
+ // label: 'UPC',
444
+ // description: 'The Universal Product Code of the item',
445
+ // required: false,
446
+ // type: 'macro-input',
447
+ // defaultValue: '',
448
+ // rules: { sections: [] },
449
+ // baseMode: false,
450
+ // fixedValue: false,
451
+ // singleChoice: true,
452
+ // },
453
+ // {
454
+ // attribute: 'Item.Quantity',
455
+ // label: 'Quantity',
456
+ // description: 'The number of items available for purchase',
457
+ // required: false,
458
+ // type: 'macro-input',
459
+ // defaultValue: '',
460
+ // rules: { sections: [] },
461
+ // baseMode: true,
462
+ // fixedValue: false,
463
+ // singleChoice: true,
464
+ // },
112
465
  {
113
- attribute: 'DispatchTimeMax',
114
- label: 'Dispatch Time Max',
115
- description: 'The maximum number of business days the seller commits to for shipping an item to a buyer after receiving a cleared payment',
466
+ attribute: 'Item.QuantityRestrictionPerBuyer.MaximumQuantity',
467
+ label: 'Maximum Quantity Per Buyer',
468
+ description: 'The maximum number of items that a buyer can purchase',
116
469
  required: false,
117
470
  type: 'macro-input',
118
471
  defaultValue: '',
119
472
  rules: { sections: [] },
120
473
  baseMode: false,
121
- validator: v => validateIfNoMacro(v, z.coerce.number().gte(0)),
474
+ fixedValue: false,
122
475
  singleChoice: true,
476
+ validator: v => validateIfNoMacro(v, z.coerce.number().gte(0).optional()),
123
477
  },
124
478
  {
125
- attribute: 'InventoryTrackingMethod',
126
- label: 'Inventory Tracking Method',
127
- description: 'The method used to track the inventory level of the item',
479
+ attribute: 'Item.SellerProfiles.SellerPaymentProfile.PaymentProfileID',
480
+ label: 'Business Policy Payment Profile',
481
+ description: 'The payment profile to use for the listing',
128
482
  required: false,
129
483
  type: 'macro-input',
130
- defaultValue: makeMacroString(SOURCE_EBAY_INVENTORY_TRACKING),
484
+ defaultValue: '', // TODO: add source
131
485
  rules: { sections: [] },
132
486
  baseMode: false,
133
- validator: v => validateIfNoMacro(v, oneOfOptionalSchema(resolveSourceValue(SOURCE_EBAY_INVENTORY_TRACKING))),
487
+ fixedValue: true,
134
488
  singleChoice: true,
489
+ },
490
+ {
491
+ attribute: 'Item.SellerProfiles.SellerReturnProfile.ReturnProfileID',
492
+ label: 'Business Policy Return Profile',
493
+ description: 'The return profile to use for the listing',
494
+ required: false,
495
+ type: 'macro-input',
496
+ defaultValue: '', // TODO: add source
497
+ rules: { sections: [] },
498
+ baseMode: false,
135
499
  fixedValue: true,
500
+ singleChoice: true,
136
501
  },
137
- // TODO: add compatibility list items
138
- // TODO: add item specifics
139
502
  {
140
- attribute: 'ListingDuration',
141
- label: 'Listing Duration',
142
- description: 'The length of time the listing will be active',
503
+ attribute: 'Item.SellerProfiles.SellerShippingProfile.ShippingProfileID',
504
+ label: 'Business Policy Shipping Profile',
505
+ description: 'The shipping profile to use for the listing',
143
506
  required: false,
144
507
  type: 'macro-input',
145
508
  defaultValue: '', // TODO: add source
@@ -149,98 +512,154 @@ export const eBayFeedTemplate = {
149
512
  singleChoice: true,
150
513
  },
151
514
  {
152
- attribute: 'ListingType',
153
- label: 'Listing Type',
154
- description: 'The type of listing',
155
- required: true,
515
+ attribute: 'Item.ReturnPolicy.InternationalRefundOption',
516
+ label: 'International Refund Option',
517
+ description: 'This field indicates how the seller compensates international buyers for returns',
518
+ required: false,
156
519
  type: 'macro-input',
157
- defaultValue: makeMacroString(SOURCE_EBAY_LISTING_TYPE, ['FixedPriceItem']),
520
+ defaultValue: makeMacroString(SOURCE_EBAY_INTERNATIONAL_REFUND_OPTIONS, ['MoneyBack']),
158
521
  rules: { sections: [] },
159
- baseMode: true,
522
+ baseMode: false,
160
523
  fixedValue: true,
161
524
  singleChoice: true,
162
525
  },
163
526
  {
164
- attribute: 'GalleryType',
165
- label: 'Gallery Type',
166
- description: 'The type of gallery image to use for the listing. Waring: Plus type implies additional fee',
527
+ attribute: 'Item.ReturnPolicy.InternationalReturnsAcceptedOption',
528
+ label: 'International Returns Accepted Option',
529
+ description: 'The value in this field indicates whether or not the seller accepts returns from international buyers',
167
530
  required: false,
168
531
  type: 'macro-input',
169
- defaultValue: makeMacroString(SOURCE_EBAY_GALLERY_TYPE, ['Gallery']),
532
+ defaultValue: makeMacroString(SOURCE_EBAY_INTERNATIONAL_RETURNS_ACCEPTED),
170
533
  rules: { sections: [] },
171
534
  baseMode: false,
172
535
  fixedValue: true,
173
536
  singleChoice: true,
174
537
  },
175
- // TODO: set PictureSource to Vendor
176
538
  {
177
- attribute: 'PictureURL',
178
- label: 'Picture URL',
179
- description: 'Contains comma separated list of product picture URLs. You can pass in up to 24 picture URLs for each listing. The Gallery image will be the first PictureURL in the list',
539
+ attribute: 'Item.ReturnPolicy.InternationalReturnsWithinOption',
540
+ label: 'International Returns Within Option',
541
+ description: 'The value in this field indicates the number of days that an international buyer has to return an item',
180
542
  required: false,
181
543
  type: 'macro-input',
182
- defaultValue: makeMacroString(SOURCE_SHOPIFY_IMAGE) +
183
- ',' +
184
- makeMacroString(SOURCE_SHOPIFY_IMAGES) +
185
- makeMacroString(ACTION_ARRAY_FIRST_ITEMS, ['24']),
544
+ defaultValue: '', // TODO: add source
186
545
  rules: { sections: [] },
187
546
  baseMode: false,
188
547
  fixedValue: true,
189
548
  singleChoice: true,
190
549
  },
191
550
  {
192
- attribute: 'PostalCode',
193
- label: 'Postal Code',
194
- description: 'The postal code where the item is located',
551
+ attribute: 'Item.ReturnPolicy.InternationalShippingCostPaidByOption',
552
+ label: 'International Shipping Cost Paid By Option',
553
+ description: 'The value in this field indicates whether the buyer or seller is responsible for return shipping costs for international returns',
195
554
  required: false,
196
555
  type: 'macro-input',
197
- defaultValue: makeMacroString(SOURCE_SHOPIFY_SHOP_POSTAL_CODE),
556
+ defaultValue: makeMacroString(SOURCE_EBAY_PAID_BY_COST),
198
557
  rules: { sections: [] },
199
558
  baseMode: false,
559
+ fixedValue: true,
200
560
  singleChoice: true,
201
561
  },
202
562
  {
203
- attribute: 'PrimaryCategoryID',
204
- label: 'Primary Category',
205
- description: 'The primary category of the item',
206
- required: true,
563
+ attribute: 'Item.ReturnPolicy.RefundOption',
564
+ label: 'Refund Option',
565
+ description: 'This field indicates how the seller compensates buyers for returns',
566
+ required: false,
567
+ type: 'macro-input',
568
+ defaultValue: makeMacroString(SOURCE_EBAY_INTERNATIONAL_REFUND_OPTIONS, ['MoneyBack']),
569
+ rules: { sections: [] },
570
+ baseMode: false,
571
+ fixedValue: true,
572
+ singleChoice: true,
573
+ },
574
+ {
575
+ attribute: 'Item.ReturnPolicy.ReturnsAcceptedOption',
576
+ label: 'Returns Accepted Option',
577
+ description: 'This field indicates whether or not the seller accepts returns',
578
+ required: false,
579
+ type: 'macro-input',
580
+ defaultValue: makeMacroString(SOURCE_EBAY_INTERNATIONAL_RETURNS_ACCEPTED),
581
+ rules: { sections: [] },
582
+ baseMode: false,
583
+ fixedValue: true,
584
+ singleChoice: true,
585
+ },
586
+ {
587
+ attribute: 'Item.ReturnPolicy.ReturnsWithinOption',
588
+ label: 'Returns Within Option',
589
+ description: 'Specifies the amount of time the buyer has to return an item',
590
+ required: false,
207
591
  type: 'macro-input',
208
592
  defaultValue: '', // TODO: add source
209
593
  rules: { sections: [] },
210
- baseMode: true,
594
+ baseMode: false,
595
+ fixedValue: true,
596
+ singleChoice: true,
597
+ },
598
+ {
599
+ attribute: 'Item.ReturnPolicy.ShippingCostPaidByOption',
600
+ label: 'Shipping Cost Paid By Option',
601
+ description: 'This option specifies whether the buyer or the seller pays for return shipping charges',
602
+ required: false,
603
+ type: 'macro-input',
604
+ defaultValue: makeMacroString(SOURCE_EBAY_PAID_BY_COST),
605
+ rules: { sections: [] },
606
+ baseMode: false,
607
+ fixedValue: true,
608
+ singleChoice: true,
609
+ },
610
+ {
611
+ attribute: 'Item.SellerProvidedTitle',
612
+ label: 'Seller Provided Title',
613
+ description: "A descriptive free-text title for a US or CA eBay Motors vehicle listing. This title appears below eBay's pre-filled listing title on the View Item page",
614
+ required: false,
615
+ type: 'macro-input',
616
+ defaultValue: '',
617
+ rules: { sections: [] },
618
+ baseMode: false,
211
619
  fixedValue: false,
620
+ singleChoice: false,
621
+ validator: v => validateIfNoMacro(v, z.string().max(80).optional()),
622
+ },
623
+ {
624
+ attribute: 'Item.ShippingPackageDetails.MeasurementUnit',
625
+ label: 'Measurement Unit',
626
+ description: "The unit of measurement used to specify the dimensions of a shipping package. This field is required if the seller is specifying the dimensions of a shipping package in the 'ShippingPackageDetails' container",
627
+ required: false,
628
+ type: 'macro-input',
629
+ defaultValue: makeMacroString(SOURCE_EBAY_MEASUREMENT_UNITS),
630
+ rules: { sections: [] },
631
+ baseMode: false,
632
+ fixedValue: true,
212
633
  singleChoice: true,
213
634
  },
214
635
  {
215
- attribute: 'Brand',
216
- label: 'Brand',
217
- description: 'The brand of the item',
636
+ attribute: 'Item.ShippingPackageDetails.PackageDepth',
637
+ label: 'Package Depth',
638
+ description: 'Depth of the package, in whole number of inches, needed to ship the item',
218
639
  required: false,
219
640
  type: 'macro-input',
220
- defaultValue: makeMacroString(SOURCE_SHOPIFY_VENDOR),
641
+ defaultValue: '',
221
642
  rules: { sections: [] },
222
- validator: v => validateIfNoMacro(v, z.string().max(65).optional()),
223
643
  baseMode: false,
224
644
  fixedValue: false,
225
645
  singleChoice: true,
226
646
  },
227
647
  {
228
- attribute: 'MPN',
229
- label: 'MPN',
230
- description: 'The Manufacturer Part Number of the item',
648
+ attribute: 'Item.ShippingPackageDetails.PackageLength',
649
+ label: 'Package Length',
650
+ description: 'Length of the package, in whole number of inches, needed to ship the item',
231
651
  required: false,
232
652
  type: 'macro-input',
233
653
  defaultValue: '',
234
654
  rules: { sections: [] },
235
- validator: v => validateIfNoMacro(v, z.string().max(65).optional()),
236
655
  baseMode: false,
237
656
  fixedValue: false,
238
657
  singleChoice: true,
239
658
  },
240
659
  {
241
- attribute: 'EAN',
242
- label: 'EAN',
243
- description: 'The European Article Number of the item',
660
+ attribute: 'Item.ShippingPackageDetail.PackageWidth',
661
+ label: 'Package Width',
662
+ description: 'Width of the package, in whole number of inches, needed to ship the item',
244
663
  required: false,
245
664
  type: 'macro-input',
246
665
  defaultValue: '',
@@ -250,9 +669,47 @@ export const eBayFeedTemplate = {
250
669
  singleChoice: true,
251
670
  },
252
671
  {
253
- attribute: 'UPC',
254
- label: 'UPC',
255
- description: 'The Universal Product Code of the item',
672
+ attribute: 'Item.ShippingPackageDetails.ShippingIrregular',
673
+ label: 'Shipping Irregular',
674
+ description: 'Whether a package is irregular and therefore cannot go through the stamping machine at the shipping service office and thus requires special or fragile handling. For calculated shipping only',
675
+ required: false,
676
+ type: 'macro-input',
677
+ defaultValue: makeMacroString(SOURCE_EBAY_YES_NO),
678
+ rules: { sections: [] },
679
+ baseMode: false,
680
+ fixedValue: true,
681
+ singleChoice: true,
682
+ },
683
+ // {
684
+ // attribute: 'Item.ShippingPackageDetails.WeightMajor',
685
+ // label: 'Weight Major',
686
+ // description:
687
+ // 'WeightMajor is used to specify the weight of the package in pounds (in US) or kilograms (all countries that use metric system). The value needs to by rounded up to the nearest whole number',
688
+ // required: false,
689
+ // type: 'macro-input',
690
+ // defaultValue: '',
691
+ // rules: { sections: [] },
692
+ // baseMode: false,
693
+ // fixedValue: false,
694
+ // singleChoice: true,
695
+ // },
696
+ // {
697
+ // attribute: 'Item.ShippingPackageDetails.WeightMinor',
698
+ // label: 'Weight Minor',
699
+ // description:
700
+ // 'WeightMinor is used to specify the weight of the package in ounces (in US) or grams (all countries that use metric system). The value needs to by rounded up to the nearest whole number',
701
+ // required: false,
702
+ // type: 'macro-input',
703
+ // defaultValue: '',
704
+ // rules: { sections: [] },
705
+ // baseMode: false,
706
+ // fixedValue: false,
707
+ // singleChoice: true,
708
+ // },
709
+ {
710
+ attribute: 'ShippingWeight',
711
+ label: 'Shipping Weight',
712
+ description: 'Specifies the weight of the package in ounces and pounds (in US) or grams and kilograms (all countries that use metric system). The value will by rounded up to the nearest whole number. Example: 2lbs 13oz or 1kg 500g or 1kg',
256
713
  required: false,
257
714
  type: 'macro-input',
258
715
  defaultValue: '',
@@ -262,17 +719,65 @@ export const eBayFeedTemplate = {
262
719
  singleChoice: true,
263
720
  },
264
721
  {
265
- attribute: 'Quantity',
266
- label: 'Quantity',
267
- description: 'The number of items available for purchase',
722
+ attribute: 'Item.Storefront.StoreCategoryID',
723
+ label: 'Store Category ID',
724
+ description: 'The ID of the store category',
268
725
  required: false,
269
726
  type: 'macro-input',
270
727
  defaultValue: '',
271
728
  rules: { sections: [] },
272
- baseMode: true,
729
+ baseMode: false,
730
+ fixedValue: false,
731
+ singleChoice: true,
732
+ },
733
+ {
734
+ attribute: 'Item.Storefront.StoreCategoryName',
735
+ label: 'Store Category Name',
736
+ description: 'The name of the store category',
737
+ required: false,
738
+ type: 'macro-input',
739
+ defaultValue: '',
740
+ rules: { sections: [] },
741
+ baseMode: false,
742
+ fixedValue: false,
743
+ singleChoice: true,
744
+ },
745
+ {
746
+ attribute: 'Item.Storefront.StoreCategory2ID',
747
+ label: 'Store Secondary Category ID',
748
+ description: 'The ID of the store secondary category',
749
+ required: false,
750
+ type: 'macro-input',
751
+ defaultValue: '',
752
+ rules: { sections: [] },
753
+ baseMode: false,
754
+ fixedValue: false,
755
+ singleChoice: true,
756
+ },
757
+ {
758
+ attribute: 'Item.Storefront.StoreCategory2Name',
759
+ label: 'Store Secondary Category Name',
760
+ description: 'The name of the store secondary category',
761
+ required: false,
762
+ type: 'macro-input',
763
+ defaultValue: '',
764
+ rules: { sections: [] },
765
+ baseMode: false,
273
766
  fixedValue: false,
274
767
  singleChoice: true,
275
768
  },
769
+ // {
770
+ // attribute: 'Item.VideoDetails.VideoID',
771
+ // label: 'Video',
772
+ // description: 'The title of the item',
773
+ // required: false,
774
+ // type: 'macro-input',
775
+ // defaultValue: '',
776
+ // rules: { sections: [] },
777
+ // baseMode: false,
778
+ // fixedValue: false,
779
+ // singleChoice: true,
780
+ // },
276
781
  ],
277
782
  };
278
783
  //# sourceMappingURL=ebay.template.js.map