using System; using System.Collections.Generic; using System.Xml.Serialization; using Top.Api; using Top.Api.Util; namespace Top.Api.Request { /// /// TOP API: taobao.tbk.dg.smart.assistant.link.convert /// public class TbkDgSmartAssistantLinkConvertRequest : BaseTopRequest { /// /// 推广位id,mm_xx_xx_xx pid三段式中的第三段 /// public long? AdzoneId { get; set; } /// /// 设备信息 /// public string DeviceDto { get; set; } = string.Empty; public DeviceDtoDomain DeviceDto_ { set { DeviceDto = TopUtils.ObjectToJson(value); } } /// /// 导购商品流 /// public string ItemFeedDto { get; set; } = "{}"; public ItemFeedDtoDomain ItemFeedDto_ { set { ItemFeedDto = TopUtils.ObjectToJson(value); } } /// /// 原始商品链接 /// public string OriginalItemUrl { get; set; } = string.Empty; /// /// 三方pid,满足mm_xxx_xxx_xxx格式 /// public string SubPid { get; set; } = string.Empty; /// /// 同款商品 /// public string TargetItemDto { get; set; } = "{}"; public TargetItemDtoDomain TargetItemDto_ { set { TargetItemDto = TopUtils.ObjectToJson(value); } } public override string GetApiName() { return "taobao.tbk.dg.smart.assistant.link.convert"; } public override IDictionary GetParameters() { TopDictionary parameters = new(); parameters.Add("adzone_id", AdzoneId?.ToString()); parameters.Add("device_dto", DeviceDto); parameters.Add("item_feed_dto", ItemFeedDto); parameters.Add("original_item_url", OriginalItemUrl); parameters.Add("sub_pid", SubPid); parameters.Add("target_item_dto", TargetItemDto); return parameters; } public override void Validate() { RequestValidator.ValidateRequired("adzone_id", AdzoneId); RequestValidator.ValidateRequired("device_dto", DeviceDto); RequestValidator.ValidateRequired("item_feed_dto", ItemFeedDto); RequestValidator.ValidateRequired("original_item_url", OriginalItemUrl); RequestValidator.ValidateRequired("sub_pid", SubPid); RequestValidator.ValidateRequired("target_item_dto", TargetItemDto); } [Serializable] public class DeviceDtoDomain : TopObject { /// /// 设备ID MD5值 /// [XmlElement("device_id")] public string DeviceId { get; set; } = string.Empty; /// /// 支持OAID_MD5,IDFA_MD5 /// [XmlElement("device_type")] public string DeviceType { get; set; } = string.Empty; } [Serializable] public class ItemFeedDtoDomain : TopObject { /// /// 商品ID列表,最多10个 /// [XmlArray("item_feed_list")] [XmlArrayItem("string")] public List? ItemFeedList { get; set; } /// /// 转链类型,1-单品 2-会场定坑 /// [XmlElement("link_transfer_type")] public long? LinkTransferType { get; set; } /// /// 定坑会场ID /// [XmlElement("page_id")] public string? PageId { get; set; } } [Serializable] public class TargetItemDtoDomain : TopObject { /// /// 商品ID,未入参联盟补齐 /// [XmlElement("item_id")] public string? ItemId { get; set; } /// /// 转链类型,1-单品 2-会场定坑 /// [XmlElement("link_transfer_type")] public long? LinkTransferType { get; set; } /// /// 定坑会场ID /// [XmlElement("page_id")] public string? PageId { get; set; } } } } namespace Top.Api.Response { /// /// TbkDgSmartAssistantLinkConvertResponse. /// public class TbkDgSmartAssistantLinkConvertResponse : TopResponse { /// /// 转链结果 /// [XmlElement("data")] public SmartAssertLinkResultDomain? Data { get; set; } [Serializable] public class SmartAssertLinkResultDomain : TopObject { /// /// 不返回导购会场原因 /// [XmlElement("msg")] public string Msg { get; set; } = string.Empty; /// /// 进行校验后输出的导购会场deeplink /// [XmlElement("page_deeplink")] public string PageDeeplink { get; set; } = string.Empty; } } }