OpenmallTradeCreateRequest.cs 5.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167
  1. using System;
  2. using System.Xml.Serialization;
  3. using System.Collections.Generic;
  4. using Top.Api.Util;
  5. namespace Top.Api.Request
  6. {
  7. /// <summary>
  8. /// TOP API: taobao.openmall.trade.create
  9. /// </summary>
  10. public class OpenmallTradeCreateRequest : BaseTopRequest<Top.Api.Response.OpenmallTradeCreateResponse>
  11. {
  12. /// <summary>
  13. /// 请求入参
  14. /// </summary>
  15. public string ParamTopTradeCreateDO { get; set; }
  16. public TopTradeCreateDoDomain ParamTopTradeCreateDO_ { set { this.ParamTopTradeCreateDO = TopUtils.ObjectToJson(value); } }
  17. #region ITopRequest Members
  18. public override string GetApiName()
  19. {
  20. return "taobao.openmall.trade.create";
  21. }
  22. public override IDictionary<string, string> GetParameters()
  23. {
  24. TopDictionary parameters = new TopDictionary();
  25. parameters.Add("param_top_trade_create_d_o", this.ParamTopTradeCreateDO);
  26. if (this.otherParams != null)
  27. {
  28. parameters.AddAll(this.otherParams);
  29. }
  30. return parameters;
  31. }
  32. public override void Validate()
  33. {
  34. RequestValidator.ValidateRequired("param_top_trade_create_d_o", this.ParamTopTradeCreateDO);
  35. }
  36. /// <summary>
  37. /// TopTradeCreateDoDomain Data Structure.
  38. /// </summary>
  39. [Serializable]
  40. public class TopTradeCreateDoDomain : TopObject
  41. {
  42. /// <summary>
  43. /// 收货地址的收件人地址
  44. /// </summary>
  45. [XmlElement("address")]
  46. public string Address { get; set; }
  47. /// <summary>
  48. /// 买家来源渠道,可选值 WeiXin(微信渠道),DouYin(抖音), KuaiShou (快手),Other(其他)
  49. /// </summary>
  50. [XmlElement("buyer_channel")]
  51. public string BuyerChannel { get; set; }
  52. /// <summary>
  53. /// 买家来源渠道对应ID,例如微信的openId
  54. /// </summary>
  55. [XmlElement("buyer_channel_id")]
  56. public string BuyerChannelId { get; set; }
  57. /// <summary>
  58. /// 买家留言
  59. /// </summary>
  60. [XmlElement("buyer_memo")]
  61. public string BuyerMemo { get; set; }
  62. /// <summary>
  63. /// 买家手机号
  64. /// </summary>
  65. [XmlElement("buyer_phone")]
  66. public string BuyerPhone { get; set; }
  67. /// <summary>
  68. /// 媒体渠道,代表分销者的身份,签约支付宝代扣的渠道商淘宝账号nick
  69. /// </summary>
  70. [XmlElement("distributor")]
  71. public string Distributor { get; set; }
  72. /// <summary>
  73. /// 收货地址的区域码,从taobao.areas.get接口获取区域码,文档地址:https://open.taobao.com/api.htm?spm=a219a.7386653.0.0.77e7669aoxOfiV&source=search&docId=59&docType=2
  74. /// </summary>
  75. [XmlElement("divisioncode")]
  76. public string Divisioncode { get; set; }
  77. /// <summary>
  78. /// 计划采购金额(单位元),如最终订单成交价与期望金额不同则直接关单采购失败,计算方式:运费+商品成本价
  79. /// </summary>
  80. [XmlElement("expect_order_fee")]
  81. public string ExpectOrderFee { get; set; }
  82. /// <summary>
  83. /// 收货地址的手机号码
  84. /// </summary>
  85. [XmlElement("mobile")]
  86. public string Mobile { get; set; }
  87. /// <summary>
  88. /// 收货地址的收件人姓名
  89. /// </summary>
  90. [XmlElement("name")]
  91. public string Name { get; set; }
  92. /// <summary>
  93. /// 创建订单传入true的时候,订单支付后会进入半小时的hold单(订单状态为:PAID_FORBID_CONSIGN),此时订单不会发货,用户可以调用Openmall地址修改接口修改订单收货地址,半小时结束后订单自动结束hold单进入发货流程订单状态为(WAIT_SELLER_SEND_GOODS)
  94. /// </summary>
  95. [XmlElement("need_erp_hold")]
  96. public Nullable<bool> NeedErpHold { get; set; }
  97. /// <summary>
  98. /// 商品的id
  99. /// </summary>
  100. [XmlElement("num_iid")]
  101. public Nullable<long> NumIid { get; set; }
  102. /// <summary>
  103. /// 商品数量
  104. /// </summary>
  105. [XmlElement("nums")]
  106. public Nullable<long> Nums { get; set; }
  107. /// <summary>
  108. /// 订单的外部订单号,用来防止重复提交。需要以TOP: appkey_(如:100000_) 开头,最长32位
  109. /// </summary>
  110. [XmlElement("out_id")]
  111. public string OutId { get; set; }
  112. /// <summary>
  113. /// 外部订单交易金额(单位元),即消费者在渠道的实付金额
  114. /// </summary>
  115. [XmlElement("outer_order_fee")]
  116. public string OuterOrderFee { get; set; }
  117. /// <summary>
  118. /// 收货地址的电话号码
  119. /// </summary>
  120. [XmlElement("phone")]
  121. public string Phone { get; set; }
  122. /// <summary>
  123. /// 收货地址的邮编,为空或者6位数字的邮编
  124. /// </summary>
  125. [XmlElement("postcode")]
  126. public string Postcode { get; set; }
  127. /// <summary>
  128. /// 创建交易时的物流方式。 具体的值从 taobao.openmall.trade.render 接口获取,邮费0说明为包邮
  129. /// </summary>
  130. [XmlElement("shipping_type")]
  131. public string ShippingType { get; set; }
  132. /// <summary>
  133. /// 商品对应的SKUID,无SKU商品传0
  134. /// </summary>
  135. [XmlElement("sku_iids")]
  136. public Nullable<long> SkuIids { get; set; }
  137. }
  138. #endregion
  139. }
  140. }