using System.Text.Json.Serialization; using System.Collections.Generic; using Topsdk.Util; using Topsdk.Top.Defaultability.Domain; namespace Topsdk.Top.Defaultability.Request; public class TaobaoTbkDgMaterialOptionalUpgradeRequest : AbstractTopApiRequest { /* 商品筛选-店铺dsr评分。筛选大于等于当前设置的店铺dsr评分的商品0-50000之间 */ private long? startDsr; /* 页大小,默认20,1~100 默认值:20 */ private long? pageSize; /* 第几页,默认:1 默认值:1 */ private long? pageNo; /* 商品筛选-淘客收入比率上限(商品佣金比率+补贴比率)。如:1234表示12.34% */ private long? endTkRate; /* 商品筛选-淘客收入比率下限(商品佣金比率+补贴比率)。如:1234表示12.34% */ private long? startTkRate; /* 商品筛选-预估到手价范围上限。单位:元 */ private long? endPrice; /* 商品筛选-预估到手价范围下限。单位:元 */ private long? startPrice; /* 商品筛选-是否海外商品。true表示属于海外商品,false或不设置表示不限 */ private bool? isOverseas; /* 商品筛选-是否天猫商品。true表示属于天猫商品,false或不设置表示不限 */ private bool? isTmall; /* 排序_des(降序),排序_asc(升序),销量(total_sales),淘客收入比率(tk_rate),营销计划佣金(tk_mkt_rate), 累计推广量(tk_total_sales),总支出佣金(tk_total_commi),预估到价格(final_promotion_price),匹配分(match) */ private string? sort; /* 商品筛选-所在地 */ private string? itemloc; /* 商品筛选-后台类目ID。用,分割,最大10个 */ private string? cat; /* 商品筛选-查询词;注意:① q参数不支持入参淘宝联盟链接;② 淘宝复制商品含数字ID的链接需消费者比价场景ID2权限;③ 使用标题搜索时,如搜索出来的商品仅有一个,则需要消费者比价场景ID2权限,否则不透出商品推广链接和商品id字段;如搜索出来的商品有多个,则不受权限影响正常出参。(场景id使用说明参考《淘宝客新商品ID升级》白皮书:https://www.yuque.com/taobaolianmengguanfangxiaoer/zmig94/tfyt0pahmlpzu2ud) */ private string? q; /* 物料id,不传时默认物料material_id=80309;如果直接对消费者投放,可使用官方个性化算法优化的搜索物料material_id=17004(注意:若物料id=17004没查询到结果则出系统默认物料id=80309的查询结果) 默认值:80309 */ private long? materialId; /* 优惠券筛选-是否有优惠券。true表示该商品有优惠券,false或不设置表示不限 */ private bool? hasCoupon; /* ip参数影响邮费获取,如果不传或者传入不准确,邮费无法精准提供 */ private string? ip; /* 推广位id,mm_xxx_xxx_12345678三段式的最后一段数字(登录pub.alimama.com推广管理-推广位管理中查询) */ private long? adzoneId; /* 商品筛选-是否包邮。true表示包邮,false或不设置表示不限 */ private bool? needFreeShipment; /* 商品筛选-是否加入消费者保障。true表示加入,false或不设置表示不限 */ private bool? needPrepay; /* 商品筛选-成交转化是否高于行业均值。True表示大于等于,false或不设置表示不限 */ private bool? includePayRate30; /* 商品筛选-好评率是否高于行业均值。True表示大于等于,false或不设置表示不限 */ private bool? includeGoodRate; /* 商品筛选-退款率是否低于行业均值。True表示大于等于,false或不设置表示不限 */ private bool? includeRfdRate; /* 商品筛选-牛皮癣程度。取值:1不限,2无,3轻微 默认值:1 */ private long? npxLevel; /* 智能匹配-设备号加密类型:MD5;使用智能推荐请先签署协议https://pub.alimama.com/fourth/protocol/common.htm?key=hangye_laxin */ private string? deviceEncrypt; /* 智能匹配-设备号加密后的值(MD5加密需32位小写);使用智能推荐请先签署协议https://pub.alimama.com/fourth/protocol/common.htm?key=hangye_laxin */ private string? deviceValue; /* 智能匹配-设备号类型:IMEI,或者IDFA,或者UTDID(UTDID不支持MD5加密),或者OAID;使用智能推荐请先签署协议https://pub.alimama.com/fourth/protocol/common.htm?key=hangye_laxin */ private string? deviceType; /* 会员运营ID */ private string? specialId; /* 渠道关系ID,仅适用于渠道推广场景 */ private string? relationId; /* 是否获取前N件佣金信息 0否,1是,其他值否 */ private long? getTopnRate; /* 1-动态ID转链场景,2-消费者比价场景(不填默认为1);场景id使用说明参考《淘宝客新商品ID升级》白皮书:https://www.yuque.com/taobaolianmengguanfangxiaoer/zmig94/tfyt0pahmlpzu2ud */ private string? bizSceneId; /* 1-自购省,2-推广赚(代理模式专属ID,代理模式必填,非代理模式不用填写该字段) */ private string? promotionType; /* 线报内容筛选—内容生产开始时间,13毫秒时间戳 */ private string? mgcStartTime; /* 线报内容筛选—内容生产截止时间,13毫秒时间戳 */ private string? mgcEndTime; /* 线报状态筛选,0-全部 1-过期 2-实时生效 3-未来生效 不传默认过滤有效 */ private string? mgcStatus; /* 人群ID,仅适用于物料评估场景material_id=41377 */ private long? ucrowdId; /* 物料评估-商品列表 */ private IList? ucrowdRankItems; [JsonPropertyName("start_dsr")] public long? StartDsr { get => startDsr; set => this.startDsr = value; } [JsonPropertyName("page_size")] public long? PageSize { get => pageSize; set => this.pageSize = value; } [JsonPropertyName("page_no")] public long? PageNo { get => pageNo; set => this.pageNo = value; } [JsonPropertyName("end_tk_rate")] public long? EndTkRate { get => endTkRate; set => this.endTkRate = value; } [JsonPropertyName("start_tk_rate")] public long? StartTkRate { get => startTkRate; set => this.startTkRate = value; } [JsonPropertyName("end_price")] public long? EndPrice { get => endPrice; set => this.endPrice = value; } [JsonPropertyName("start_price")] public long? StartPrice { get => startPrice; set => this.startPrice = value; } [JsonPropertyName("is_overseas")] public bool? IsOverseas { get => isOverseas; set => this.isOverseas = value; } [JsonPropertyName("is_tmall")] public bool? IsTmall { get => isTmall; set => this.isTmall = value; } [JsonPropertyName("sort")] public string? Sort { get => sort; set => this.sort = value; } [JsonPropertyName("itemloc")] public string? Itemloc { get => itemloc; set => this.itemloc = value; } [JsonPropertyName("cat")] public string? Cat { get => cat; set => this.cat = value; } [JsonPropertyName("q")] public string? Q { get => q; set => this.q = value; } [JsonPropertyName("material_id")] public long? MaterialId { get => materialId; set => this.materialId = value; } [JsonPropertyName("has_coupon")] public bool? HasCoupon { get => hasCoupon; set => this.hasCoupon = value; } [JsonPropertyName("ip")] public string? Ip { get => ip; set => this.ip = value; } [JsonPropertyName("adzone_id")] public long? AdzoneId { get => adzoneId; set => this.adzoneId = value; } [JsonPropertyName("need_free_shipment")] public bool? NeedFreeShipment { get => needFreeShipment; set => this.needFreeShipment = value; } [JsonPropertyName("need_prepay")] public bool? NeedPrepay { get => needPrepay; set => this.needPrepay = value; } [JsonPropertyName("include_pay_rate_30")] public bool? IncludePayRate30 { get => includePayRate30; set => this.includePayRate30 = value; } [JsonPropertyName("include_good_rate")] public bool? IncludeGoodRate { get => includeGoodRate; set => this.includeGoodRate = value; } [JsonPropertyName("include_rfd_rate")] public bool? IncludeRfdRate { get => includeRfdRate; set => this.includeRfdRate = value; } [JsonPropertyName("npx_level")] public long? NpxLevel { get => npxLevel; set => this.npxLevel = value; } [JsonPropertyName("device_encrypt")] public string? DeviceEncrypt { get => deviceEncrypt; set => this.deviceEncrypt = value; } [JsonPropertyName("device_value")] public string? DeviceValue { get => deviceValue; set => this.deviceValue = value; } [JsonPropertyName("device_type")] public string? DeviceType { get => deviceType; set => this.deviceType = value; } [JsonPropertyName("special_id")] public string? SpecialId { get => specialId; set => this.specialId = value; } [JsonPropertyName("relation_id")] public string? RelationId { get => relationId; set => this.relationId = value; } [JsonPropertyName("get_topn_rate")] public long? GetTopnRate { get => getTopnRate; set => this.getTopnRate = value; } [JsonPropertyName("biz_scene_id")] public string? BizSceneId { get => bizSceneId; set => this.bizSceneId = value; } [JsonPropertyName("promotion_type")] public string? PromotionType { get => promotionType; set => this.promotionType = value; } [JsonPropertyName("mgc_start_time")] public string? MgcStartTime { get => mgcStartTime; set => this.mgcStartTime = value; } [JsonPropertyName("mgc_end_time")] public string? MgcEndTime { get => mgcEndTime; set => this.mgcEndTime = value; } [JsonPropertyName("mgc_status")] public string? MgcStatus { get => mgcStatus; set => this.mgcStatus = value; } [JsonPropertyName("ucrowd_id")] public long? UcrowdId { get => ucrowdId; set => this.ucrowdId = value; } [JsonPropertyName("ucrowd_rank_items")] public IList? UcrowdRankItems { get => ucrowdRankItems; set => this.ucrowdRankItems = value; } public override IDictionary ToRequestParam() { IDictionary requestParam = new Dictionary(); if(this.startDsr != null) { requestParam.Add("start_dsr",TopUtils.ConvertBasicType(this.startDsr)); } if(this.pageSize != null) { requestParam.Add("page_size",TopUtils.ConvertBasicType(this.pageSize)); } if(this.pageNo != null) { requestParam.Add("page_no",TopUtils.ConvertBasicType(this.pageNo)); } if(this.endTkRate != null) { requestParam.Add("end_tk_rate",TopUtils.ConvertBasicType(this.endTkRate)); } if(this.startTkRate != null) { requestParam.Add("start_tk_rate",TopUtils.ConvertBasicType(this.startTkRate)); } if(this.endPrice != null) { requestParam.Add("end_price",TopUtils.ConvertBasicType(this.endPrice)); } if(this.startPrice != null) { requestParam.Add("start_price",TopUtils.ConvertBasicType(this.startPrice)); } if(this.isOverseas != null) { requestParam.Add("is_overseas",TopUtils.ConvertBasicType(this.isOverseas)); } if(this.isTmall != null) { requestParam.Add("is_tmall",TopUtils.ConvertBasicType(this.isTmall)); } if(this.sort != null) { requestParam.Add("sort",TopUtils.ConvertBasicType(this.sort)); } if(this.itemloc != null) { requestParam.Add("itemloc",TopUtils.ConvertBasicType(this.itemloc)); } if(this.cat != null) { requestParam.Add("cat",TopUtils.ConvertBasicType(this.cat)); } if(this.q != null) { requestParam.Add("q",TopUtils.ConvertBasicType(this.q)); } if(this.materialId != null) { requestParam.Add("material_id",TopUtils.ConvertBasicType(this.materialId)); } if(this.hasCoupon != null) { requestParam.Add("has_coupon",TopUtils.ConvertBasicType(this.hasCoupon)); } if(this.ip != null) { requestParam.Add("ip",TopUtils.ConvertBasicType(this.ip)); } if(this.adzoneId != null) { requestParam.Add("adzone_id",TopUtils.ConvertBasicType(this.adzoneId)); } if(this.needFreeShipment != null) { requestParam.Add("need_free_shipment",TopUtils.ConvertBasicType(this.needFreeShipment)); } if(this.needPrepay != null) { requestParam.Add("need_prepay",TopUtils.ConvertBasicType(this.needPrepay)); } if(this.includePayRate30 != null) { requestParam.Add("include_pay_rate_30",TopUtils.ConvertBasicType(this.includePayRate30)); } if(this.includeGoodRate != null) { requestParam.Add("include_good_rate",TopUtils.ConvertBasicType(this.includeGoodRate)); } if(this.includeRfdRate != null) { requestParam.Add("include_rfd_rate",TopUtils.ConvertBasicType(this.includeRfdRate)); } if(this.npxLevel != null) { requestParam.Add("npx_level",TopUtils.ConvertBasicType(this.npxLevel)); } if(this.deviceEncrypt != null) { requestParam.Add("device_encrypt",TopUtils.ConvertBasicType(this.deviceEncrypt)); } if(this.deviceValue != null) { requestParam.Add("device_value",TopUtils.ConvertBasicType(this.deviceValue)); } if(this.deviceType != null) { requestParam.Add("device_type",TopUtils.ConvertBasicType(this.deviceType)); } if(this.specialId != null) { requestParam.Add("special_id",TopUtils.ConvertBasicType(this.specialId)); } if(this.relationId != null) { requestParam.Add("relation_id",TopUtils.ConvertBasicType(this.relationId)); } if(this.getTopnRate != null) { requestParam.Add("get_topn_rate",TopUtils.ConvertBasicType(this.getTopnRate)); } if(this.bizSceneId != null) { requestParam.Add("biz_scene_id",TopUtils.ConvertBasicType(this.bizSceneId)); } if(this.promotionType != null) { requestParam.Add("promotion_type",TopUtils.ConvertBasicType(this.promotionType)); } if(this.mgcStartTime != null) { requestParam.Add("mgc_start_time",TopUtils.ConvertBasicType(this.mgcStartTime)); } if(this.mgcEndTime != null) { requestParam.Add("mgc_end_time",TopUtils.ConvertBasicType(this.mgcEndTime)); } if(this.mgcStatus != null) { requestParam.Add("mgc_status",TopUtils.ConvertBasicType(this.mgcStatus)); } if(this.ucrowdId != null) { requestParam.Add("ucrowd_id",TopUtils.ConvertBasicType(this.ucrowdId)); } if(this.ucrowdRankItems != null) { requestParam.Add("ucrowd_rank_items",TopUtils.ConvertStructList(this.ucrowdRankItems)); } return requestParam; } public override IDictionary ToFileParam() { IDictionary fileParam = new Dictionary(); return fileParam; } public override string GetApiCode() { return "taobao.tbk.dg.material.optional.upgrade"; } }