heyuntao
2023-05-04 fbd6a11a99051f425640bf352842f4a0ecaa7a4d
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
using System;
using System.Collections.Generic;
using System.Text;
 
namespace YouZanSDKStandard.Api.Domain
{
    public class YouZanItemAddDomain
    {
        /// <summary>
        ///预售商品信息
        /// </summary>
        public ItemAddPresale presale_param { get; set; }
        /// <summary>
        ///主图视频id(当前仅支持购买大客定制使用),先使用【youzan.material.general.video.custom.upload.token.1.0.0】获取令牌和上传地址,然后根据上传地址和token上传视频。上传成功后使用 【youzan.material.general.video.custom.upload.create.1.0.0】创建视频,然后使用【youzan.material.general.video.custom.upload.publish.1.0.0】发布视频,发布成功后将接口的响应参数media_id作为video_id。
        /// </summary>
        public string video_id { get; set; }
 
        /// <summary>
        ///配送属性集(电子卡券,虚拟商品类型无需填写物流,实物商品,蛋糕烘焙必填)
        /// </summary>
        public ItemDeliveryParam item_delivery_param { get; set; }
        /// <summary>
        /// 商品重量,单位:克,没有SKU时用。如果传delivery_template_id,且这个运费模板Id是按重量计算的item_weight需要传。取值区间1 ~10000000之间的整数
        /// </summary>
       // public long item_weight { get; set; }
        /// <summary>
        /// 类目相关信息1.categoryProperties新类目属性2.cid老类目1或2填写一个就可以了推荐使用1新类目;注意:店铺主营类目是医药类的,这个商品类目都必填
        /// </summary>
        public CategoryParam category_param { get; set; }
        /// <summary>
        /// 商品自定义编码,商家可以自定义参数,支持英文和数字组合,一般用于和外部商品对应字段,最多不可超过100个字符
        /// </summary>
        public string item_no { get; set; }
        /// <summary>
        /// 商品规格(有规格商品需要填写,无规格无需填写)
        /// </summary>
        public List<SkuList> sku_list { get; set; }
 
        /// <summary>
        /// 零售商品参数:仅零售使用。零售店铺不填该参数会报:301000004, 请求参数非法 零售扩展参数为空
        /// </summary>
        public ExtraParam extra_param { get; set; }
        /// <summary>
        ///商品需要上架的网店店铺id(kdt_id)列表,有赞连锁店铺类型使用
        /// </summary>
        public List<string> display_on_kdt_ids { get; set; }
        /// <summary>
        /// 商品SPU维度的条形码,用于扫码快速搜索商品,使用场景如:扫码购、扫码搜索商品(仅支持实物商品)。支持英文和数字组合,最多不超过32个字符
        /// </summary>
        public string barcode { get; set; }
 
        public List<ItemProps> item_props { get; set; }
        /// <summary>
        /// 商品详情页内容。字数要大于5个字符,小于25000个字符(含html格式编码)
        /// </summary>
        public string desc { get; set; }
        /// <summary>
        /// 开始出售时间,默认为0,0—立即出售,传值表示定时开售时间,注意:定时开售时间一定要大于当前时间,Unix时间戳,单位:毫秒。当is_display=0时,定时开售时间设置不生效。
        /// </summary>
        public long auto_listing_time { get; set; }
        /// <summary>
        /// 购买权限
        /// </summary>
        public PurchasePermission purchase_permission { get; set; }
        /// <summary>
        /// 自定义立即购买按钮文案,支持6个字以内。当buy_btn_config=1时,该字段必传
        /// </summary>
        public string buy_btn_label { get; set; }
        /// <summary>
        /// 商品起售数,默认为1,起售数量超出商品库存时,买家无法购买该商品
        /// </summary>
        public int start_sale_num { get; set; }
        /// <summary>
        /// 商详立即购买按钮 : 立即购买按钮配置 0.默认 1.自定义
        /// </summary>
        public int buy_btn_config { get; set; }
        /// <summary>
        /// 库存扣减方式,0:拍下减库存,买家提交订单,扣减库存数量。1-付款减库存,买家支付成功,扣减库存数量.不传默认拍下减库存
        /// </summary>
        public int stock_deduct_mode { get; set; }
        /// <summary>
        /// 是否参加会员折扣:1-支持,0-不支持,默认不支持
        /// </summary>
        public int join_level_discount { get; set; }
        /// <summary>
        /// 售后信息
        /// </summary>
        public PostSaleParam post_sale_param { get; set; }
        /// <summary>
        /// 留言信息
        /// </summary>
        public List<YzProductMessages> messages { get; set; }
        /// <summary>
        /// 商品图片Id列表,用英文逗号分隔,最多上传15张。使用【youzan.materials.storage.platform.img.upload】接口上传获取图片id。注:测试店铺最大支持上传30M,以","进行分割
        /// </summary>
        public List<long> image_ids { get; set; }
        /// <summary>
        /// 仅支持为第一组规格设置规格图片(最多40张图),买家选择不同规格会看到对应规格图片。注意:sku_picture_display_config=true时候才会展示
        /// </summary>
        public List<SkuValueProps> sku_value_props { get; set; }
        /// <summary>
        /// 商品需要下架的网店店铺id(kdt_id)列表,有赞连锁店铺类型使用
        /// </summary>
        public List<long> display_off_kdt_ids { get; set; }
        /// <summary>
        /// 商品类型,0-实物商品,60-虚拟商品,61-电子卡劵,63-茶饮烘焙
        /// </summary>
        public int item_type { get; set; }
        /// <summary>
        ///分享描述,微信分享给好友时会显示,建议36个字以内,最多不能超出100个字
        /// </summary>
        public string summary { get; set; }
        /// <summary>
        /// 商品品牌id,连锁L-专业版店铺发布商品到网店或门店时使用
        /// </summary>
        public string brand_id { get; set; }
        /// <summary>
        /// 价格属性集
        /// </summary>
        public ItemPriceParam item_price_param { get; set; }
        /// <summary>
        /// 商品标题。不能超过100字,受违禁词控制
        /// </summary>
        public string title { get; set; }
        /// <summary>
        ///商品不可售的网店店铺id(kdt_id)列表,有赞连锁店铺类型使用
        /// </summary>
        public List<long> no_sale_kdt_ids { get; set; }
        /// <summary>
        /// 是否上架商品,1—上架商品,0—不上架商品(管理端显示为仓库中),新增若不传该字段默认传1
        /// </summary>
        public int is_display { get; set; }
        /// <summary>
        ///更多条码,连锁L-专业版店铺发布商品到网店或门店时使用
        /// </summary>
        public string barcodes { get; set; }
        /// <summary>
        /// 商品备货时间,单位分钟(茶饮烘焙类型商品使用)
        /// </summary>
        public long prepare_time { get; set; }
        /// <summary>
        /// 商品页模板Id,使用【youzan.item.template.list.search】接口获得商品页模板ID
        /// </summary>
        public long template_id { get; set; }
        /// <summary>
        /// 有赞用户id,用户在有赞的唯一id。推荐使用
        /// </summary>
        public string yz_open_id { get; set; }
        /// <summary>
        /// 商品库存, 无sku情况下库存必填,如果有sku则无效
        /// </summary>
        public long quantity { get; set; }
        /// <summary>
        /// 商品分类id,连锁L-专业版店铺发布商品到网店或门店时使用
        /// </summary>
        public long category_id { get; set; }
        /// <summary>
        /// 是否隐藏商品库存,在商品展示时不显示商品的库存,0-显示库存,1-不显示库存,默认0
        /// </summary>
        public int hide_stock { get; set; }
        /// <summary>
        /// 商品分组:即商品标签Id列表,使用youzan.itemcategories.tags.get查询商品分组接口获取,以","进行分割。有赞连锁网店店铺注意,请使用网店自建的分组id
        /// </summary>
        public List<long> tag_ids { get; set; }
        /// <summary>
        /// 是否展示规格图片展示在商详页和规格选择页,true-是,false-否
        /// </summary>
        public bool sku_picture_display_config { get; set; }
        /// <summary>
        /// 商品卖点信息:在商品详情页标题下面展示卖点信息,建议60字以内,最多不能超出80个字
        /// </summary>
        public string sell_point { get; set; }
 
    }
 
    public class ExtraParam
    {
        public RetailParam retail_param { get; set; }
    }
 
    public class RetailParam
    {
        /// <summary>
        /// 销售类型,1-单个销售。创建零售网店商品时必传。
        /// </summary>
        public int sell_type { get; set; }
 
        public bool is_multi_unit { get; set; }
    }
 
    public class ItemPriceParam
    {
        /// <summary>
        /// 商品划线价,单位:元
        /// </summary>
      //  public string origin { get; set; }
        /// <summary>
        /// 建议售价区间最小建议售价(无规格时),有赞连锁非分销商品使用,单位:分
        /// </summary>
       // public long min_guide_price { get; set; }
        /// <summary>
        /// 商品成本价,单位:分
        /// </summary>
      //  public long cost_price { get; set; }
        /// <summary>
        /// 商品价格,单位:分
        /// </summary>
        public long price { get; set; }
        /// <summary>
        /// 建议售价区间最大建议售价(无规格时),有赞连锁非分销商品使用,单位:分
        /// </summary>
       // public long max_guide_price { get; set; }
    }
 
 
    public class SkuValueProps
    {
        /// <summary>
        /// sku属性值name,需要与sku_list下sku_props下prop_value_name字段值对应
        /// </summary>
        public string name { get; set; }
        /// <summary>
        /// sku图片Id,使用【youzan.materials.storage.platform.img.upload】接口上传获取图片id
        /// </summary>
        public long? img_id { get; set; }
        /// <summary>
        /// 规格属性值id。开发者自定义id字段sku_value_props[].id 和prop_value_id要传相同值
        /// </summary>
        public long id { get; set; }
    }
 
    public class YzProductMessages
    {
        /// <summary>
        /// 留言格式:text-文本格式,tel-数字格式,email-邮箱格式,date-日期格式,id_no-身份证号格式,image-图片格式,mobile-手机号格式,time-时间格式
        /// </summary>
        public string type { get; set; }
        /// <summary>
        /// 留言名称,不能多于10个字
        /// </summary>
        public string name { get; set; }
    }
 
    public class PostSaleParam
    {
        /// <summary>
        /// 退款参数
        /// </summary>
        public RefundParam refund_param { get; set; }
        /// <summary>
        /// 商品是否支持换货:0. 不支持,1. 支持。仅支持实物商品,其他商品类型忽略
        /// </summary>
        public int is_support_barter { get; set; }
        /// <summary>
        /// 是否支持七天无理由退换货:false:不支持,true:支持,不传默认为false。仅支持实物商品,其他商品类型无需使用。
        /// </summary>
        public bool support_unconditional_return { get; set; }
 
    }
 
    public class RefundParam
    {
        /// <summary>
        /// 是否支持退款。true:支持;false:不支持。仅对虚拟商品、电子卡券有效
        /// </summary>
        public bool support_refund { get; set; }
        /// <summary>
        /// 电子卡券有效期剩余时间,单位:毫秒。仅支持退款类型是未核销卡券在过期前若干时间前可退款,且仅对电子卡券有效
        /// </summary>
        public long period_mill_seconds { get; set; }
        /// <summary>
        /// 退款方式:0:未核销卡券即支持退款,1:未核销卡券在过期前若干时间前可退款。仅对电子卡券有效,且电子卡券是长久有效时值不能是 1。
        /// </summary>
        public int refund_type { get; set; }
    }
 
    public class PurchasePermission
    {
        /// <summary>
        /// 可购买该商品的用户标签id,用英文逗号分隔???
        /// </summary>
        public List<string> ump_tags { get; set; }
 
        /// <summary>
        /// 限购周期:0-终身限购, 1-按天限购,2-按周限购,3-按月限购,不传默认不限购
        /// </summary>
        public int quota_cycle { get; set; }
        /// <summary>
        /// 可购买该商品的用户等级
        /// </summary>
        public List<string> ump_level { get; set; }
        /// <summary>
        /// 是否设置商品限购,true-已设置,false-未设置,默认false
        /// </summary>
        public bool purchase_right { get; set; }
        /// <summary>
        /// 可购买该商品的粉丝等级
        /// </summary>
        public List<string> ump_real_level { get; set; }
        /// <summary>
        /// 每人限购多少件,0-无限购,默认为0
        /// </summary>
        public int buy_quota { get; set; }
 
    }
 
    public class ItemProps
    {
        /// <summary>
        /// 商品属性项id
        /// </summary>
        public long prop_id { get; set; }
        /// <summary>
        ///商品属性值id
        /// </summary>
        public List<long> prop_text_ids { get; set; }
    }
 
    public class SkuList
    {
        /// <summary>
        /// (暂不可用,请勿传值)规格重量,单位:克,取值范围:1-10000000克
        /// </summary>
      //  public long weight { get; set; }
        /// <summary>
        /// 商品SKU维度的条形码,用于扫码快速搜索商品,使用场景如:扫码购、扫码搜索商品(仅支持实物商品)。支持英文和数字组合,最多不超过32个字符
        /// </summary>
      //  public string barcode { get; set; }
        /// <summary>
        ///更多条码,连锁L-专业版店铺发布商品到网店或门店时使用
        /// </summary>
     //   public List<string> barcodes { get; set; }
        /// <summary>
        /// 规格属性,建议最大传值sku数量在400个以内。注意:有规格商品,prop_name、prop_value_name、prop_name_id、prop_value_id都是必传的。
        /// </summary>
        public List<SkuProps> sku_props { get; set; }
        /// <summary>
        /// 商品sku价格,单位:分
        /// </summary>
        public long price { get; set; }
        /// <summary>
        ///建议售价区间最大建议售价,有赞连锁非分销商品使用,单位:分
        /// </summary>
      //  public long max_guide_price { get; set; }
        /// <summary>
        /// 商品sku成本价,单位:分
        /// </summary>
    //    public long cost_price { get; set; }
        /// <summary>
        /// 建议售价区间最小建议售价,有赞连锁非分销商品使用,单位:分
        /// </summary>
       // public long min_guide_price { get; set; }
        /// <summary>
        /// 配送价(配销价)单位:分
        /// </summary>
   //     public long delivery_price { get; set; }
 
        /// <summary>
        /// 标准价单位:分
        /// </summary>
  //      public long standard_price { get; set; }
        /// <summary>
        /// 商品sku级别备货时间,单位分钟(茶饮烘焙类型商品使用)
        /// </summary>
   //     public long prepare_time { get; set; }
        /// <summary>
        /// 商品sku编码,商家自定义参数
        /// </summary>
        public string sku_no { get; set; }
        /// <summary>
        /// 商品sku库存数量
        /// </summary>
        public long stock_num { get; set; }
    }
 
    public class SkuProps
    {
        /// <summary>
        /// 规格值名称,多规格场景下这个字段是必填,需要和sku_value_props.name字段值对应
        /// </summary>
        public string prop_value_name { get; set; }
        /// <summary>
        /// 规格名名称,多规格场景下这个字段是必填
        /// </summary>
        public string prop_name { get; set; }
        /// <summary>
        /// 规格名名称id,开发者自定义
        /// </summary>
        public long prop_name_id { get; set; }
        /// <summary>
        /// 规格值名称id,开发者自定义
        /// </summary>
        public long prop_value_id { get; set; }
    }
 
    public class CategoryParam
    {
        /// <summary>
        ///商品类目(V2版本)Id:使用youzan.itemcategories.get获取商品类目二维列表接口获取。 推荐使用新版类目
        /// </summary>
        public long cid { get; set; }
        /// <summary>
        /// 新类目属性值公域+私域
        /// </summary>
        public CategoryProperties category_properties { get; set; }
    }
 
    public class CategoryProperties
    {
        /// <summary>
        ///公域类目属性;注意:店铺主营类目是医药类的,这个商品类目都必填
        /// </summary>
        public List<CategoryPropertiesPublics> publics { get; set; }
        /// <summary>
        /// 新版商品类目(V4版本)叶子类目id:使用【youzan.category.listchildren】接口获取类目id 必须是叶子类目。(如何判断是新版类目请在文档中心搜索:“新版类目”,如何获取请搜索“更新新版类目”)
        /// </summary>
        public long leaf_category_id { get; set; }
        /// <summary>
        /// 私域类目属性(不支持超过20个)
        /// </summary>
        public List<CategoryPropertiesPrivates> privates { get; set; }
    }
 
    public class CategoryPropertiesPrivates
    {
        /// <summary>
        /// 私域类目属性值
        /// </summary>
        public List<string> val_names { get; set; }
        /// <summary>
        /// 私域类目属性项id
        /// </summary>
        public long id { get; set; }
    }
 
    public class CategoryPropertiesPublics
    {
        /// <summary>
        ///公域类目属性项id
        /// </summary>
        public long id { get; set; }
        /// <summary>
        /// 公域类目属性值
        /// </summary>
        public List<string> val_names { get; set; }
    }
 
 
    public class ItemDeliveryParam
    {
        /// <summary>
        /// 统一运费金额,单位:分。当express为true时,delivery_template_id和postage 二个参数至少传一个。当express为false时,delivery_template_id和postage 请勿传值。
        /// </summary>
        public long postage { get; set; }
 
        /// <summary>
        /// 费模板Id,在物流API列表,使用youzan.logistics.template.search获取店铺所有模板列表接口运费模板Id详情。当express为true时,delivery_template_id和postage 二个参数至少传一个。当express为false时,delivery_template_id和postage 请勿传值
        /// </summary>
        public long delivery_template_id { get; set; }
        /// <summary>
        /// 商品纬度物流配送方式
        /// </summary>
        public DeliverySetting delivery_setting { get; set; }
    }
 
    public class DeliverySetting
    {
        /// <summary>
        /// 是同城配送费用续重是否收费,true-收取,false-不收取,不设置默认为不收取
        /// </summary>
        public bool heavy_continued { get; set; }
        /// <summary>
        ///是否支持快递发货,true-支持,false-不支持,不设置默认为不支持 。express、city_delivery,self_pick 三个参数至少传一个
        /// </summary>
        public bool express { get; set; }
        /// <summary>
        /// 是否支持同城配送,true-支持,false-不支持,不设置默认为不支持。express、city_delivery,self_pick 三个参数至少传一个
        /// </summary>
        public bool city_delivery { get; set; }
        /// <summary>
        /// 是否支持到店自提,true-支持,false-不支持,不设置默认为不支持。express、city_delivery,self_pick 三个参数至少传一个
        /// </summary>
        public bool self_pick { get; set; }
 
    }
 
    public class ItemAddPresale
    {
        /// <summary>
        ///预计发货开始时间,Unix时间戳,单位:毫秒
        /// </summary>
        public long etd_start { get; set; }
        /// <summary>
        /// 付款成功后发货天数,默认0,当全款预售时,表示全款付款后的发货天数,当订金预售时,表示尾款付款后的发货天数
        /// </summary>
        public int etd_days { get; set; }
        /// <summary>
        ///发货类型: 0- xxx 时间开始发货(默认), 1-付款 n 天后发货
        /// </summary>
        public int etd_type { get; set; }
        /// <summary>
        /// 表示订金预售时,订金所占全款的百分比,范围为1-20的整数
        /// </summary>
        public int deposit_ratio { get; set; }
        /// <summary>
        ///预售开始时间,Unix时间戳,单位:毫秒
        /// </summary>
        public int pre_sale_start { get; set; }
        /// <summary>
        /// 预售类型:-1-非预售,0-全款预售,1-订金预售,默认非预售
        /// </summary>
        public int pre_sale_type { get; set; }
        /// <summary>
        /// 预售定金类型:当预售类型为定金预售时,这个字段用于区分是按比例预售还是按金额预售 ,定金预售类型:0-表示按比例预售,1-表示按金额预售
        /// </summary>
        public int deposit_type { get; set; }
        /// <summary>
        /// 表示定金预售时,用户设置的定金金额,单位:元,范围为1~(商品价格-1)举例:一个商品价格100元,定金最大可以设置为1~99元
        /// </summary>
        public string deposit { get; set; }
        /// <summary>
        ///尾款支付结束时,Unix时间戳,单位:毫秒
        /// </summary>
        public long balance_due_end { get; set; }
        /// <summary>
        /// 预售结束时间,Unix时间戳,单位:毫秒
        /// </summary>
        public long pre_sale_end { get; set; }
        /// <summary>
        /// 尾款支付开始时,Unix时间戳,单位:毫秒
        /// </summary>
        public long balance_due_start { get; set; }
 
    }
}