TbkDgSmartAssistantLinkConvert.cs 5.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170
  1. using System;
  2. using System.Collections.Generic;
  3. using System.Xml.Serialization;
  4. using Top.Api;
  5. using Top.Api.Util;
  6. namespace Top.Api.Request
  7. {
  8. /// <summary>
  9. /// TOP API: taobao.tbk.dg.smart.assistant.link.convert
  10. /// </summary>
  11. public class TbkDgSmartAssistantLinkConvertRequest : BaseTopRequest<Top.Api.Response.TbkDgSmartAssistantLinkConvertResponse>
  12. {
  13. /// <summary>
  14. /// 推广位id,mm_xx_xx_xx pid三段式中的第三段
  15. /// </summary>
  16. public long? AdzoneId { get; set; }
  17. /// <summary>
  18. /// 设备信息
  19. /// </summary>
  20. public string DeviceDto { get; set; } = string.Empty;
  21. public DeviceDtoDomain DeviceDto_ { set { DeviceDto = TopUtils.ObjectToJson(value); } }
  22. /// <summary>
  23. /// 导购商品流
  24. /// </summary>
  25. public string ItemFeedDto { get; set; } = "{}";
  26. public ItemFeedDtoDomain ItemFeedDto_ { set { ItemFeedDto = TopUtils.ObjectToJson(value); } }
  27. /// <summary>
  28. /// 原始商品链接
  29. /// </summary>
  30. public string OriginalItemUrl { get; set; } = string.Empty;
  31. /// <summary>
  32. /// 三方pid,满足mm_xxx_xxx_xxx格式
  33. /// </summary>
  34. public string SubPid { get; set; } = string.Empty;
  35. /// <summary>
  36. /// 同款商品
  37. /// </summary>
  38. public string TargetItemDto { get; set; } = "{}";
  39. public TargetItemDtoDomain TargetItemDto_ { set { TargetItemDto = TopUtils.ObjectToJson(value); } }
  40. public override string GetApiName()
  41. {
  42. return "taobao.tbk.dg.smart.assistant.link.convert";
  43. }
  44. public override IDictionary<string, string> GetParameters()
  45. {
  46. TopDictionary parameters = new();
  47. parameters.Add("adzone_id", AdzoneId?.ToString());
  48. parameters.Add("device_dto", DeviceDto);
  49. parameters.Add("item_feed_dto", ItemFeedDto);
  50. parameters.Add("original_item_url", OriginalItemUrl);
  51. parameters.Add("sub_pid", SubPid);
  52. parameters.Add("target_item_dto", TargetItemDto);
  53. return parameters;
  54. }
  55. public override void Validate()
  56. {
  57. RequestValidator.ValidateRequired("adzone_id", AdzoneId);
  58. RequestValidator.ValidateRequired("device_dto", DeviceDto);
  59. RequestValidator.ValidateRequired("item_feed_dto", ItemFeedDto);
  60. RequestValidator.ValidateRequired("original_item_url", OriginalItemUrl);
  61. RequestValidator.ValidateRequired("sub_pid", SubPid);
  62. RequestValidator.ValidateRequired("target_item_dto", TargetItemDto);
  63. }
  64. [Serializable]
  65. public class DeviceDtoDomain : TopObject
  66. {
  67. /// <summary>
  68. /// 设备ID MD5值
  69. /// </summary>
  70. [XmlElement("device_id")]
  71. public string DeviceId { get; set; } = string.Empty;
  72. /// <summary>
  73. /// 支持OAID_MD5,IDFA_MD5
  74. /// </summary>
  75. [XmlElement("device_type")]
  76. public string DeviceType { get; set; } = string.Empty;
  77. }
  78. [Serializable]
  79. public class ItemFeedDtoDomain : TopObject
  80. {
  81. /// <summary>
  82. /// 商品ID列表,最多10个
  83. /// </summary>
  84. [XmlArray("item_feed_list")]
  85. [XmlArrayItem("string")]
  86. public List<string>? ItemFeedList { get; set; }
  87. /// <summary>
  88. /// 转链类型,1-单品 2-会场定坑
  89. /// </summary>
  90. [XmlElement("link_transfer_type")]
  91. public long? LinkTransferType { get; set; }
  92. /// <summary>
  93. /// 定坑会场ID
  94. /// </summary>
  95. [XmlElement("page_id")]
  96. public string? PageId { get; set; }
  97. }
  98. [Serializable]
  99. public class TargetItemDtoDomain : TopObject
  100. {
  101. /// <summary>
  102. /// 商品ID,未入参联盟补齐
  103. /// </summary>
  104. [XmlElement("item_id")]
  105. public string? ItemId { get; set; }
  106. /// <summary>
  107. /// 转链类型,1-单品 2-会场定坑
  108. /// </summary>
  109. [XmlElement("link_transfer_type")]
  110. public long? LinkTransferType { get; set; }
  111. /// <summary>
  112. /// 定坑会场ID
  113. /// </summary>
  114. [XmlElement("page_id")]
  115. public string? PageId { get; set; }
  116. }
  117. }
  118. }
  119. namespace Top.Api.Response
  120. {
  121. /// <summary>
  122. /// TbkDgSmartAssistantLinkConvertResponse.
  123. /// </summary>
  124. public class TbkDgSmartAssistantLinkConvertResponse : TopResponse
  125. {
  126. /// <summary>
  127. /// 转链结果
  128. /// </summary>
  129. [XmlElement("data")]
  130. public SmartAssertLinkResultDomain? Data { get; set; }
  131. [Serializable]
  132. public class SmartAssertLinkResultDomain : TopObject
  133. {
  134. /// <summary>
  135. /// 不返回导购会场原因
  136. /// </summary>
  137. [XmlElement("msg")]
  138. public string Msg { get; set; } = string.Empty;
  139. /// <summary>
  140. /// 进行校验后输出的导购会场deeplink
  141. /// </summary>
  142. [XmlElement("page_deeplink")]
  143. public string PageDeeplink { get; set; } = string.Empty;
  144. }
  145. }
  146. }