Bläddra i källkod

增加京粉接口,但是没有解决403的问题

dodo hold 1 år sedan
förälder
incheckning
792ff2719b
100 ändrade filer med 10556 tillägg och 0 borttagningar
  1. 96 0
      Topsdk/Top/Ability1826/Ability1826.cs
  2. 64 0
      Topsdk/Top/Ability1826/Domain/TaobaoTbkDgVegasTljCreateResult.cs
  3. 77 0
      Topsdk/Top/Ability1826/Domain/TaobaoTbkDgVegasTljCreateRightsInstanceCreateResult.cs
  4. 194 0
      Topsdk/Top/Ability1826/Domain/TaobaoTbkDgVegasTljReportExtra.cs
  5. 25 0
      Topsdk/Top/Ability1826/Domain/TaobaoTbkDgVegasTljReportInstanceDTO.cs
  6. 25 0
      Topsdk/Top/Ability1826/Domain/TaobaoTbkDgVegasTljStopUpdateStatusResult.cs
  7. 64 0
      Topsdk/Top/Ability1826/Domain/TaobaoTbkDgVegasTljTemporaryCreateResult.cs
  8. 77 0
      Topsdk/Top/Ability1826/Domain/TaobaoTbkDgVegasTljTemporaryCreateRightsInstanceCreateResult.cs
  9. 302 0
      Topsdk/Top/Ability1826/Request/TaobaoTbkDgVegasTljCreateRequest.cs
  10. 64 0
      Topsdk/Top/Ability1826/Request/TaobaoTbkDgVegasTljReportRequest.cs
  11. 64 0
      Topsdk/Top/Ability1826/Request/TaobaoTbkDgVegasTljStopRequest.cs
  12. 268 0
      Topsdk/Top/Ability1826/Request/TaobaoTbkDgVegasTljTemporaryCreateRequest.cs
  13. 25 0
      Topsdk/Top/Ability1826/Response/TaobaoTbkDgVegasTljCreateResponse.cs
  14. 64 0
      Topsdk/Top/Ability1826/Response/TaobaoTbkDgVegasTljReportResponse.cs
  15. 64 0
      Topsdk/Top/Ability1826/Response/TaobaoTbkDgVegasTljStopResponse.cs
  16. 25 0
      Topsdk/Top/Ability1826/Response/TaobaoTbkDgVegasTljTemporaryCreateResponse.cs
  17. 42 0
      Topsdk/Top/Ability2138/Ability2138.cs
  18. 64 0
      Topsdk/Top/Ability2138/Domain/TaobaoTbkDgNewuserOrderGetData.cs
  19. 363 0
      Topsdk/Top/Ability2138/Domain/TaobaoTbkDgNewuserOrderGetMapData.cs
  20. 64 0
      Topsdk/Top/Ability2138/Domain/TaobaoTbkDgNewuserOrderGetOrderData.cs
  21. 25 0
      Topsdk/Top/Ability2138/Domain/TaobaoTbkDgNewuserOrderGetResults.cs
  22. 132 0
      Topsdk/Top/Ability2138/Request/TaobaoTbkDgNewuserOrderGetRequest.cs
  23. 25 0
      Topsdk/Top/Ability2138/Response/TaobaoTbkDgNewuserOrderGetResponse.cs
  24. 42 0
      Topsdk/Top/Ability2474/Ability2474.cs
  25. 64 0
      Topsdk/Top/Ability2474/Domain/TaobaoTbkDgVegasSendReportResult.cs
  26. 77 0
      Topsdk/Top/Ability2474/Domain/TaobaoTbkDgVegasSendReportRightsSendRelationRptDto.cs
  27. 38 0
      Topsdk/Top/Ability2474/Domain/TaobaoTbkDgVegasSendReportRightsSendRptDTO.cs
  28. 166 0
      Topsdk/Top/Ability2474/Request/TaobaoTbkDgVegasSendReportRequest.cs
  29. 25 0
      Topsdk/Top/Ability2474/Response/TaobaoTbkDgVegasSendReportResponse.cs
  30. 204 0
      Topsdk/Top/Ability304/Ability304.cs
  31. 51 0
      Topsdk/Top/Ability304/Domain/TaobaoFilesGetTopDownloadRecordDo.cs
  32. 30 0
      Topsdk/Top/Ability304/Request/TaobaoAppipGetRequest.cs
  33. 81 0
      Topsdk/Top/Ability304/Request/TaobaoFilesGetRequest.cs
  34. 30 0
      Topsdk/Top/Ability304/Request/TaobaoHttpdnsGetRequest.cs
  35. 47 0
      Topsdk/Top/Ability304/Request/TaobaoOpenuidGetBymixnickRequest.cs
  36. 47 0
      Topsdk/Top/Ability304/Request/TaobaoOpenuidGetBytradeRequest.cs
  37. 30 0
      Topsdk/Top/Ability304/Request/TaobaoOpenuidGetRequest.cs
  38. 64 0
      Topsdk/Top/Ability304/Request/TaobaoTopAuthTokenCreateRequest.cs
  39. 47 0
      Topsdk/Top/Ability304/Request/TaobaoTopAuthTokenRefreshRequest.cs
  40. 64 0
      Topsdk/Top/Ability304/Request/TaobaoTopSdkFeedbackUploadRequest.cs
  41. 81 0
      Topsdk/Top/Ability304/Request/TaobaoTopSecretGetRequest.cs
  42. 24 0
      Topsdk/Top/Ability304/Response/TaobaoAppipGetResponse.cs
  43. 25 0
      Topsdk/Top/Ability304/Response/TaobaoFilesGetResponse.cs
  44. 24 0
      Topsdk/Top/Ability304/Response/TaobaoHttpdnsGetResponse.cs
  45. 24 0
      Topsdk/Top/Ability304/Response/TaobaoOpenuidGetBymixnickResponse.cs
  46. 24 0
      Topsdk/Top/Ability304/Response/TaobaoOpenuidGetBytradeResponse.cs
  47. 24 0
      Topsdk/Top/Ability304/Response/TaobaoOpenuidGetResponse.cs
  48. 24 0
      Topsdk/Top/Ability304/Response/TaobaoTopAuthTokenCreateResponse.cs
  49. 24 0
      Topsdk/Top/Ability304/Response/TaobaoTopAuthTokenRefreshResponse.cs
  50. 24 0
      Topsdk/Top/Ability304/Response/TaobaoTopSdkFeedbackUploadResponse.cs
  51. 76 0
      Topsdk/Top/Ability304/Response/TaobaoTopSecretGetResponse.cs
  52. 42 0
      Topsdk/Top/Ability3152/Ability3152.cs
  53. 233 0
      Topsdk/Top/Ability3152/Domain/TaobaoTbkThorMfrsPromotionQueryManufacturerItemsDto.cs
  54. 194 0
      Topsdk/Top/Ability3152/Domain/TaobaoTbkThorMfrsPromotionQueryManufacturerLaunchOption.cs
  55. 48 0
      Topsdk/Top/Ability3152/Request/TaobaoTbkThorMfrsPromotionQueryRequest.cs
  56. 90 0
      Topsdk/Top/Ability3152/Response/TaobaoTbkThorMfrsPromotionQueryResponse.cs
  57. 42 0
      Topsdk/Top/Ability3197/Ability3197.cs
  58. 38 0
      Topsdk/Top/Ability3197/Domain/TaobaoTbkRtaConsumerMatchData.cs
  59. 51 0
      Topsdk/Top/Ability3197/Domain/TaobaoTbkRtaConsumerMatchOfferList.cs
  60. 77 0
      Topsdk/Top/Ability3197/Domain/TaobaoTbkRtaConsumerMatchResultlist.cs
  61. 38 0
      Topsdk/Top/Ability3197/Domain/TaobaoTbkRtaConsumerMatchStrategyResultList.cs
  62. 133 0
      Topsdk/Top/Ability3197/Request/TaobaoTbkRtaConsumerMatchRequest.cs
  63. 25 0
      Topsdk/Top/Ability3197/Response/TaobaoTbkRtaConsumerMatchResponse.cs
  64. 60 0
      Topsdk/Top/Ability3261/Ability3261.cs
  65. 142 0
      Topsdk/Top/Ability3261/Domain/TaobaoTbkDgCpaActivityDetailPageResult.cs
  66. 103 0
      Topsdk/Top/Ability3261/Domain/TaobaoTbkDgCpaActivityDetailResult.cs
  67. 51 0
      Topsdk/Top/Ability3261/Domain/TaobaoTbkDgCpaActivityDetailResults.cs
  68. 25 0
      Topsdk/Top/Ability3261/Domain/TaobaoTbkDgCpaActivityReportPageResult.cs
  69. 25 0
      Topsdk/Top/Ability3261/Domain/TaobaoTbkDgCpaActivityReportRpcResult.cs
  70. 103 0
      Topsdk/Top/Ability3261/Domain/TaobaoTbkDgCpaActivityReportVegasCpaReportDTO.cs
  71. 149 0
      Topsdk/Top/Ability3261/Request/TaobaoTbkDgCpaActivityDetailRequest.cs
  72. 149 0
      Topsdk/Top/Ability3261/Request/TaobaoTbkDgCpaActivityReportRequest.cs
  73. 25 0
      Topsdk/Top/Ability3261/Response/TaobaoTbkDgCpaActivityDetailResponse.cs
  74. 25 0
      Topsdk/Top/Ability3261/Response/TaobaoTbkDgCpaActivityReportResponse.cs
  75. 42 0
      Topsdk/Top/Ability369/Ability369.cs
  76. 181 0
      Topsdk/Top/Ability369/Domain/TaobaoTbkDgOptimusPromotionMapData.cs
  77. 51 0
      Topsdk/Top/Ability369/Domain/TaobaoTbkDgOptimusPromotionPromotionExtend.cs
  78. 64 0
      Topsdk/Top/Ability369/Domain/TaobaoTbkDgOptimusPromotionPromotionList.cs
  79. 38 0
      Topsdk/Top/Ability369/Domain/TaobaoTbkDgOptimusPromotionRecommendItemList.cs
  80. 38 0
      Topsdk/Top/Ability369/Domain/TaobaoTbkDgOptimusPromotionYoujiacouponinfo.cs
  81. 98 0
      Topsdk/Top/Ability369/Request/TaobaoTbkDgOptimusPromotionRequest.cs
  82. 25 0
      Topsdk/Top/Ability369/Response/TaobaoTbkDgOptimusPromotionResponse.cs
  83. 60 0
      Topsdk/Top/Ability370/Ability370.cs
  84. 64 0
      Topsdk/Top/Ability370/Domain/TaobaoTbkDgMaterialTemporaryOptionalMaifanPromotionDTO.cs
  85. 1104 0
      Topsdk/Top/Ability370/Domain/TaobaoTbkDgMaterialTemporaryOptionalMapData.cs
  86. 77 0
      Topsdk/Top/Ability370/Domain/TaobaoTbkDgMaterialTemporaryOptionalStepRateDTO.cs
  87. 116 0
      Topsdk/Top/Ability370/Domain/TaobaoTbkDgMaterialTemporaryOptionalTopNInfoDTO.cs
  88. 51 0
      Topsdk/Top/Ability370/Domain/TaobaoTbkDgMaterialTemporaryOptionalUcrowdrankitems.cs
  89. 90 0
      Topsdk/Top/Ability370/Domain/TaobaoTbkShopGetNTbkShop.cs
  90. 728 0
      Topsdk/Top/Ability370/Request/TaobaoTbkDgMaterialTemporaryOptionalRequest.cs
  91. 285 0
      Topsdk/Top/Ability370/Request/TaobaoTbkShopGetRequest.cs
  92. 51 0
      Topsdk/Top/Ability370/Response/TaobaoTbkDgMaterialTemporaryOptionalResponse.cs
  93. 38 0
      Topsdk/Top/Ability370/Response/TaobaoTbkShopGetResponse.cs
  94. 96 0
      Topsdk/Top/Ability371/Ability371.cs
  95. 129 0
      Topsdk/Top/Ability371/Domain/TaobaoTbkCouponGetMapData.cs
  96. 558 0
      Topsdk/Top/Ability371/Domain/TaobaoTbkItemInfoGetNTbkItem.cs
  97. 545 0
      Topsdk/Top/Ability371/Domain/TaobaoTbkItemInfoTemporaryGetNTbkItem.cs
  98. 25 0
      Topsdk/Top/Ability371/Domain/TaobaoTbkItemInfoUpgradeGetActivityTagMapData.cs
  99. 350 0
      Topsdk/Top/Ability371/Domain/TaobaoTbkItemInfoUpgradeGetBasicMapData.cs
  100. 90 0
      Topsdk/Top/Ability371/Domain/TaobaoTbkItemInfoUpgradeGetFinalIncomeInfo.cs

+ 96 - 0
Topsdk/Top/Ability1826/Ability1826.cs

@@ -0,0 +1,96 @@
+using Topsdk.Top.Ability1826.Request;
+using Topsdk.Top.Ability1826.Response;
+using Topsdk.Util;
+
+namespace Topsdk.Top.Ability1826;
+
+
+public class Ability1826
+{
+
+    private ITopApiClient topApiClient;
+
+    public Ability1826(ITopApiClient topApiClient)
+    {
+        this.topApiClient = topApiClient;
+    }
+
+    /*
+        淘宝客-推广者-淘礼金创建测试营销ID
+        taobao.tbk.dg.vegas.tlj.temporary.create
+    */
+    public TaobaoTbkDgVegasTljTemporaryCreateResponse TaobaoTbkDgVegasTljTemporaryCreate(TaobaoTbkDgVegasTljTemporaryCreateRequest request)
+    {
+        var jsonResult = topApiClient.Execute(request.GetApiCode(),request.ToRequestParam(),request.ToFileParam());
+        if (string.IsNullOrEmpty(jsonResult))
+        {
+            throw new Exception("error");
+        }
+        var resultObj = TopUtils.parseResultJson<TaobaoTbkDgVegasTljTemporaryCreateResponse>(jsonResult);
+        if(string.IsNullOrEmpty(resultObj.Body))
+        {
+            resultObj.Body = jsonResult;
+        }
+        return resultObj;
+    }
+    /*
+        淘宝客-推广者-淘礼金暂停发放
+        taobao.tbk.dg.vegas.tlj.stop
+    */
+    public TaobaoTbkDgVegasTljStopResponse TaobaoTbkDgVegasTljStop(TaobaoTbkDgVegasTljStopRequest request)
+    {
+        var jsonResult = topApiClient.Execute(request.GetApiCode(),request.ToRequestParam(),request.ToFileParam());
+        if (string.IsNullOrEmpty(jsonResult))
+        {
+            throw new Exception("error");
+        }
+        var resultObj = TopUtils.parseResultJson<TaobaoTbkDgVegasTljStopResponse>(jsonResult);
+        if(string.IsNullOrEmpty(resultObj.Body))
+        {
+            resultObj.Body = jsonResult;
+        }
+        return resultObj;
+    }
+    /*
+        淘宝客-推广者-淘礼金创建
+        taobao.tbk.dg.vegas.tlj.create
+    */
+    public TaobaoTbkDgVegasTljCreateResponse TaobaoTbkDgVegasTljCreate(TaobaoTbkDgVegasTljCreateRequest request)
+    {
+        var jsonResult = topApiClient.Execute(request.GetApiCode(),request.ToRequestParam(),request.ToFileParam());
+        if (string.IsNullOrEmpty(jsonResult))
+        {
+            throw new Exception("error");
+        }
+        var resultObj = TopUtils.parseResultJson<TaobaoTbkDgVegasTljCreateResponse>(jsonResult);
+        if(string.IsNullOrEmpty(resultObj.Body))
+        {
+            resultObj.Body = jsonResult;
+        }
+        return resultObj;
+    }
+    /*
+        淘宝客-推广者-淘礼金效果数据
+        taobao.tbk.dg.vegas.tlj.report
+    */
+    public TaobaoTbkDgVegasTljReportResponse TaobaoTbkDgVegasTljReport(TaobaoTbkDgVegasTljReportRequest request)
+    {
+        var jsonResult = topApiClient.Execute(request.GetApiCode(),request.ToRequestParam(),request.ToFileParam());
+        if (string.IsNullOrEmpty(jsonResult))
+        {
+            throw new Exception("error");
+        }
+        var resultObj = TopUtils.parseResultJson<TaobaoTbkDgVegasTljReportResponse>(jsonResult);
+        if(string.IsNullOrEmpty(resultObj.Body))
+        {
+            resultObj.Body = jsonResult;
+        }
+        return resultObj;
+    }
+
+    public ITopApiClient TopApiClient
+    {
+        get => topApiClient;
+        set => topApiClient = value ?? throw new ArgumentNullException(nameof(value));
+    }
+}

+ 64 - 0
Topsdk/Top/Ability1826/Domain/TaobaoTbkDgVegasTljCreateResult.cs

@@ -0,0 +1,64 @@
+using System.Text.Json.Serialization;
+using System.Collections.Generic;
+using Topsdk.Util;
+
+namespace Topsdk.Top.Ability1826.Domain;
+
+public class TaobaoTbkDgVegasTljCreateResult
+{
+
+    /*
+        model
+    */
+    private TaobaoTbkDgVegasTljCreateRightsInstanceCreateResult? model;
+
+
+    /*
+        msgCode
+    */
+    private string? msgCode;
+
+
+    /*
+        msgInfo
+    */
+    private string? msgInfo;
+
+
+    /*
+        success
+    */
+    private bool? success;
+
+
+
+    [JsonPropertyName("model")]
+    public TaobaoTbkDgVegasTljCreateRightsInstanceCreateResult? Model
+    {
+        get => model;
+        set => this.model = value;
+    }
+
+    [JsonPropertyName("msg_code")]
+    public string? MsgCode
+    {
+        get => msgCode;
+        set => this.msgCode = value;
+    }
+
+    [JsonPropertyName("msg_info")]
+    public string? MsgInfo
+    {
+        get => msgInfo;
+        set => this.msgInfo = value;
+    }
+
+    [JsonPropertyName("success")]
+    public bool? Success
+    {
+        get => success;
+        set => this.success = value;
+    }
+
+}
+

+ 77 - 0
Topsdk/Top/Ability1826/Domain/TaobaoTbkDgVegasTljCreateRightsInstanceCreateResult.cs

@@ -0,0 +1,77 @@
+using System.Text.Json.Serialization;
+using System.Collections.Generic;
+using Topsdk.Util;
+
+namespace Topsdk.Top.Ability1826.Domain;
+
+public class TaobaoTbkDgVegasTljCreateRightsInstanceCreateResult
+{
+
+    /*
+        淘礼金Id
+    */
+    private string? rightsId;
+
+
+    /*
+        淘礼金领取Url
+    */
+    private string? sendUrl;
+
+
+    /*
+        投放code【百川商品详情页业务专用】
+    */
+    private string? vegasCode;
+
+
+    /*
+        创建完成后资金账户可用资金,单位元,保留2位小数
+    */
+    private string? availableFee;
+
+
+    /*
+        媒体针对此商品今日剩余可领取淘礼金数量
+    */
+    private long? itemTodayNumLeft;
+
+
+
+    [JsonPropertyName("rights_id")]
+    public string? RightsId
+    {
+        get => rightsId;
+        set => this.rightsId = value;
+    }
+
+    [JsonPropertyName("send_url")]
+    public string? SendUrl
+    {
+        get => sendUrl;
+        set => this.sendUrl = value;
+    }
+
+    [JsonPropertyName("vegas_code")]
+    public string? VegasCode
+    {
+        get => vegasCode;
+        set => this.vegasCode = value;
+    }
+
+    [JsonPropertyName("available_fee")]
+    public string? AvailableFee
+    {
+        get => availableFee;
+        set => this.availableFee = value;
+    }
+
+    [JsonPropertyName("item_today_num_left")]
+    public long? ItemTodayNumLeft
+    {
+        get => itemTodayNumLeft;
+        set => this.itemTodayNumLeft = value;
+    }
+
+}
+

+ 194 - 0
Topsdk/Top/Ability1826/Domain/TaobaoTbkDgVegasTljReportExtra.cs

@@ -0,0 +1,194 @@
+using System.Text.Json.Serialization;
+using System.Collections.Generic;
+using Topsdk.Util;
+
+namespace Topsdk.Top.Ability1826.Domain;
+
+public class TaobaoTbkDgVegasTljReportExtra
+{
+
+    /*
+        领取率,领取淘礼金个数/创建淘礼金个数
+    */
+    private string? getRate;
+
+
+    /*
+        使用率,使用淘礼金个数/领取淘礼金个数
+    */
+    private string? useRate;
+
+
+    /*
+        引导付款笔数,同一个红包,若因消费者付款使用后取消订单或退货退款,产生二次红包使用行为,引导付款笔数也会记录两单
+    */
+    private long? alipayNum;
+
+
+    /*
+        引导付款金额,同一个红包,若因消费者付款使用后取消订单或退货退款,产生二次红包使用行为,引导付款笔数也会记录两单
+    */
+    private string? alipayAmt;
+
+
+    /*
+        付款佣金,下单付款,产生二次红包使用行为,会记录2次
+    */
+    private string? prePubShareFeeForDisp;
+
+
+    /*
+        结算佣金,确认收货,产生二次红包使用行为,会记录2次
+    */
+    private string? cmSettleAmt;
+
+
+    /*
+        领取淘礼金个数
+    */
+    private long? winPv;
+
+
+    /*
+        领取淘礼金金额
+    */
+    private string? winSumAmt;
+
+
+    /*
+        未领取淘礼金个数,过了领取有效期或者暂停后没有被领取的红包个数
+    */
+    private long? remainingNum;
+
+
+    /*
+        未领取金额,过了领取有效期或者暂停后没有被领取的红包金额
+    */
+    private string? remainingAmt;
+
+
+    /*
+        使用淘礼金个数,同一个红包,若因消费者付款使用后取消订单或退货退款,产生二次红包使用行为,使用淘礼金个数会重复计算
+    */
+    private long? useNum;
+
+
+    /*
+        使用淘礼金金额,若红包被重复使用(1)淘礼金红包被拆分,并且产生部分退款,会保留部分退款的订单淘礼金金额;若全部退款,会保留订单全部淘礼金金额),因此,已使用金额可能大于消费者实际使用金额(使用红包后,若产生红包退回后再次使用,已使用金额会被二次计算,已使用数量不会)
+    */
+    private string? useSumAmt;
+
+
+    /*
+        退款淘礼金个数,红包使用后,由于订单取消,退货退款等行为带来的淘礼金红包退回数量,退款红包数量会重复计算
+    */
+    private long? refundNum;
+
+
+    /*
+        退款淘礼金金额,红包使用后,由于订单取消,退货退款等行为行为带来的淘礼金红包退回数量 (退款红包若产生多次使用,退款红包金额会被多次计算,退款红包数量单日内不重复计算,跨天重复计算)
+    */
+    private string? refundSumAmt;
+
+
+
+    [JsonPropertyName("get_rate")]
+    public string? GetRate
+    {
+        get => getRate;
+        set => this.getRate = value;
+    }
+
+    [JsonPropertyName("use_rate")]
+    public string? UseRate
+    {
+        get => useRate;
+        set => this.useRate = value;
+    }
+
+    [JsonPropertyName("alipay_num")]
+    public long? AlipayNum
+    {
+        get => alipayNum;
+        set => this.alipayNum = value;
+    }
+
+    [JsonPropertyName("alipay_amt")]
+    public string? AlipayAmt
+    {
+        get => alipayAmt;
+        set => this.alipayAmt = value;
+    }
+
+    [JsonPropertyName("pre_pub_share_fee_for_disp")]
+    public string? PrePubShareFeeForDisp
+    {
+        get => prePubShareFeeForDisp;
+        set => this.prePubShareFeeForDisp = value;
+    }
+
+    [JsonPropertyName("cm_settle_amt")]
+    public string? CmSettleAmt
+    {
+        get => cmSettleAmt;
+        set => this.cmSettleAmt = value;
+    }
+
+    [JsonPropertyName("win_pv")]
+    public long? WinPv
+    {
+        get => winPv;
+        set => this.winPv = value;
+    }
+
+    [JsonPropertyName("win_sum_amt")]
+    public string? WinSumAmt
+    {
+        get => winSumAmt;
+        set => this.winSumAmt = value;
+    }
+
+    [JsonPropertyName("remaining_num")]
+    public long? RemainingNum
+    {
+        get => remainingNum;
+        set => this.remainingNum = value;
+    }
+
+    [JsonPropertyName("remaining_amt")]
+    public string? RemainingAmt
+    {
+        get => remainingAmt;
+        set => this.remainingAmt = value;
+    }
+
+    [JsonPropertyName("use_num")]
+    public long? UseNum
+    {
+        get => useNum;
+        set => this.useNum = value;
+    }
+
+    [JsonPropertyName("use_sum_amt")]
+    public string? UseSumAmt
+    {
+        get => useSumAmt;
+        set => this.useSumAmt = value;
+    }
+
+    [JsonPropertyName("refund_num")]
+    public long? RefundNum
+    {
+        get => refundNum;
+        set => this.refundNum = value;
+    }
+
+    [JsonPropertyName("refund_sum_amt")]
+    public string? RefundSumAmt
+    {
+        get => refundSumAmt;
+        set => this.refundSumAmt = value;
+    }
+
+}
+

+ 25 - 0
Topsdk/Top/Ability1826/Domain/TaobaoTbkDgVegasTljReportInstanceDTO.cs

@@ -0,0 +1,25 @@
+using System.Text.Json.Serialization;
+using System.Collections.Generic;
+using Topsdk.Util;
+
+namespace Topsdk.Top.Ability1826.Domain;
+
+public class TaobaoTbkDgVegasTljReportInstanceDTO
+{
+
+    /*
+        extra
+    */
+    private TaobaoTbkDgVegasTljReportExtra? extra;
+
+
+
+    [JsonPropertyName("extra")]
+    public TaobaoTbkDgVegasTljReportExtra? Extra
+    {
+        get => extra;
+        set => this.extra = value;
+    }
+
+}
+

+ 25 - 0
Topsdk/Top/Ability1826/Domain/TaobaoTbkDgVegasTljStopUpdateStatusResult.cs

@@ -0,0 +1,25 @@
+using System.Text.Json.Serialization;
+using System.Collections.Generic;
+using Topsdk.Util;
+
+namespace Topsdk.Top.Ability1826.Domain;
+
+public class TaobaoTbkDgVegasTljStopUpdateStatusResult
+{
+
+    /*
+        暂停成功
+    */
+    private bool? updateSuccess;
+
+
+
+    [JsonPropertyName("update_success")]
+    public bool? UpdateSuccess
+    {
+        get => updateSuccess;
+        set => this.updateSuccess = value;
+    }
+
+}
+

+ 64 - 0
Topsdk/Top/Ability1826/Domain/TaobaoTbkDgVegasTljTemporaryCreateResult.cs

@@ -0,0 +1,64 @@
+using System.Text.Json.Serialization;
+using System.Collections.Generic;
+using Topsdk.Util;
+
+namespace Topsdk.Top.Ability1826.Domain;
+
+public class TaobaoTbkDgVegasTljTemporaryCreateResult
+{
+
+    /*
+        model
+    */
+    private TaobaoTbkDgVegasTljTemporaryCreateRightsInstanceCreateResult? model;
+
+
+    /*
+        msgCode
+    */
+    private string? msgCode;
+
+
+    /*
+        msgInfo
+    */
+    private string? msgInfo;
+
+
+    /*
+        success
+    */
+    private bool? success;
+
+
+
+    [JsonPropertyName("model")]
+    public TaobaoTbkDgVegasTljTemporaryCreateRightsInstanceCreateResult? Model
+    {
+        get => model;
+        set => this.model = value;
+    }
+
+    [JsonPropertyName("msg_code")]
+    public string? MsgCode
+    {
+        get => msgCode;
+        set => this.msgCode = value;
+    }
+
+    [JsonPropertyName("msg_info")]
+    public string? MsgInfo
+    {
+        get => msgInfo;
+        set => this.msgInfo = value;
+    }
+
+    [JsonPropertyName("success")]
+    public bool? Success
+    {
+        get => success;
+        set => this.success = value;
+    }
+
+}
+

+ 77 - 0
Topsdk/Top/Ability1826/Domain/TaobaoTbkDgVegasTljTemporaryCreateRightsInstanceCreateResult.cs

@@ -0,0 +1,77 @@
+using System.Text.Json.Serialization;
+using System.Collections.Generic;
+using Topsdk.Util;
+
+namespace Topsdk.Top.Ability1826.Domain;
+
+public class TaobaoTbkDgVegasTljTemporaryCreateRightsInstanceCreateResult
+{
+
+    /*
+        淘礼金Id
+    */
+    private string? rightsId;
+
+
+    /*
+        淘礼金领取Url
+    */
+    private string? sendUrl;
+
+
+    /*
+        投放code【百川商品详情页业务专用】
+    */
+    private string? vegasCode;
+
+
+    /*
+        创建完成后资金账户可用资金,单位元,保留2位小数
+    */
+    private string? availableFee;
+
+
+    /*
+        媒体针对此商品今日剩余可领取淘礼金数量
+    */
+    private long? itemTodayNumLeft;
+
+
+
+    [JsonPropertyName("rights_id")]
+    public string? RightsId
+    {
+        get => rightsId;
+        set => this.rightsId = value;
+    }
+
+    [JsonPropertyName("send_url")]
+    public string? SendUrl
+    {
+        get => sendUrl;
+        set => this.sendUrl = value;
+    }
+
+    [JsonPropertyName("vegas_code")]
+    public string? VegasCode
+    {
+        get => vegasCode;
+        set => this.vegasCode = value;
+    }
+
+    [JsonPropertyName("available_fee")]
+    public string? AvailableFee
+    {
+        get => availableFee;
+        set => this.availableFee = value;
+    }
+
+    [JsonPropertyName("item_today_num_left")]
+    public long? ItemTodayNumLeft
+    {
+        get => itemTodayNumLeft;
+        set => this.itemTodayNumLeft = value;
+    }
+
+}
+

+ 302 - 0
Topsdk/Top/Ability1826/Request/TaobaoTbkDgVegasTljCreateRequest.cs

@@ -0,0 +1,302 @@
+using System.Text.Json.Serialization;
+using System.Collections.Generic;
+using Topsdk.Util;
+
+namespace Topsdk.Top.Ability1826.Request;
+
+public class TaobaoTbkDgVegasTljCreateRequest : AbstractTopApiRequest
+{
+
+    /*
+        妈妈广告位Id
+            */
+    private long? adzoneId;
+
+
+    /*
+        必须传入0
+            */
+    private long? securityLevel;
+
+
+    /*
+        使用开始日期。相对时间,无需填写,以用户领取时间作为使用开始时间。绝对时间,格式 yyyy-MM-dd,例如,2019-01-29,表示从2019-01-29 00:00:00 开始,格式 yyyy-MM-dd HH:mm:ss,例如,2019-01-29 20:00:10,表示从2019-01-2920:00:10 开始
+            */
+    private string? useStartTime;
+
+
+    /*
+        结束日期的模式,1:相对时间,2:绝对时间
+            */
+    private long? useEndTimeMode;
+
+
+    /*
+        使用结束日期。如果是结束时间模式为相对时间,时间格式为1-7直接的整数, 例如,1(相对领取时间1天); 如果是绝对时间,格式为yyyy-MM-dd,例如,2019-01-29,表示到2019-01-29 23:59:59结束,格式 yyyy-MM-dd HH:mm:ss,例如,2019-01-29 20:00:10,表示从2019-01-29 20:00:10 开始
+            */
+    private string? useEndTime;
+
+
+    /*
+        发放截止时间
+            */
+    private DateTime? sendEndTime;
+
+
+    /*
+        发放开始时间
+            */
+    private DateTime? sendStartTime;
+
+
+    /*
+        单个淘礼金面额,支持两位小数,单位元
+            */
+    private string? perFace;
+
+
+    /*
+        必须设置为true,默认开启安全
+            */
+    private bool? securitySwitch;
+
+
+    /*
+        单用户累计中奖次数上限
+            */
+    private long? userTotalWinNumLimit;
+
+
+    /*
+        淘礼金名称,最大10个字符
+            */
+    private string? name;
+
+
+    /*
+        淘礼金总个数
+            */
+    private long? totalNum;
+
+
+    /*
+        宝贝ID或营销ID
+            */
+    private string? itemId;
+
+
+    /*
+        已下线,后续不需要填写
+            */
+    private string? campaignType;
+
+
+    /*
+        淘礼金使用门槛,实付款大于等于门槛面额时才可使用此淘礼金;门槛值不能小于淘礼金面额
+            */
+    private string? useThreshold;
+
+
+    /*
+        淘礼金皮肤模版ID,1、日常模板(长期可用) 2、弹窗模板(长期可用) 3、近期大促活动模版
+            */
+    private string? awardImgTemplateId;
+
+
+    [JsonPropertyName("adzone_id")]
+    public long? AdzoneId
+    {
+        get => adzoneId;
+        set => this.adzoneId = value;
+    }
+
+    [JsonPropertyName("security_level")]
+    public long? SecurityLevel
+    {
+        get => securityLevel;
+        set => this.securityLevel = value;
+    }
+
+    [JsonPropertyName("use_start_time")]
+    public string? UseStartTime
+    {
+        get => useStartTime;
+        set => this.useStartTime = value;
+    }
+
+    [JsonPropertyName("use_end_time_mode")]
+    public long? UseEndTimeMode
+    {
+        get => useEndTimeMode;
+        set => this.useEndTimeMode = value;
+    }
+
+    [JsonPropertyName("use_end_time")]
+    public string? UseEndTime
+    {
+        get => useEndTime;
+        set => this.useEndTime = value;
+    }
+
+    [JsonPropertyName("send_end_time")]
+    public DateTime? SendEndTime
+    {
+        get => sendEndTime;
+        set => this.sendEndTime = value;
+    }
+
+    [JsonPropertyName("send_start_time")]
+    public DateTime? SendStartTime
+    {
+        get => sendStartTime;
+        set => this.sendStartTime = value;
+    }
+
+    [JsonPropertyName("per_face")]
+    public string? PerFace
+    {
+        get => perFace;
+        set => this.perFace = value;
+    }
+
+    [JsonPropertyName("security_switch")]
+    public bool? SecuritySwitch
+    {
+        get => securitySwitch;
+        set => this.securitySwitch = value;
+    }
+
+    [JsonPropertyName("user_total_win_num_limit")]
+    public long? UserTotalWinNumLimit
+    {
+        get => userTotalWinNumLimit;
+        set => this.userTotalWinNumLimit = value;
+    }
+
+    [JsonPropertyName("name")]
+    public string? Name
+    {
+        get => name;
+        set => this.name = value;
+    }
+
+    [JsonPropertyName("total_num")]
+    public long? TotalNum
+    {
+        get => totalNum;
+        set => this.totalNum = value;
+    }
+
+    [JsonPropertyName("item_id")]
+    public string? ItemId
+    {
+        get => itemId;
+        set => this.itemId = value;
+    }
+
+    [JsonPropertyName("campaign_type")]
+    public string? CampaignType
+    {
+        get => campaignType;
+        set => this.campaignType = value;
+    }
+
+    [JsonPropertyName("use_threshold")]
+    public string? UseThreshold
+    {
+        get => useThreshold;
+        set => this.useThreshold = value;
+    }
+
+    [JsonPropertyName("award_img_template_id")]
+    public string? AwardImgTemplateId
+    {
+        get => awardImgTemplateId;
+        set => this.awardImgTemplateId = value;
+    }
+
+
+
+    public override IDictionary<string, string> ToRequestParam()
+    {
+        IDictionary<string, string> requestParam = new Dictionary<string, string>();
+        if(this.adzoneId != null)
+        {
+            requestParam.Add("adzone_id",TopUtils.ConvertBasicType(this.adzoneId));
+        }
+        if(this.securityLevel != null)
+        {
+            requestParam.Add("security_level",TopUtils.ConvertBasicType(this.securityLevel));
+        }
+        if(this.useStartTime != null)
+        {
+            requestParam.Add("use_start_time",TopUtils.ConvertBasicType(this.useStartTime));
+        }
+        if(this.useEndTimeMode != null)
+        {
+            requestParam.Add("use_end_time_mode",TopUtils.ConvertBasicType(this.useEndTimeMode));
+        }
+        if(this.useEndTime != null)
+        {
+            requestParam.Add("use_end_time",TopUtils.ConvertBasicType(this.useEndTime));
+        }
+        if(this.sendEndTime != null)
+        {
+            requestParam.Add("send_end_time",TopUtils.ConvertBasicType(this.sendEndTime));
+        }
+        if(this.sendStartTime != null)
+        {
+            requestParam.Add("send_start_time",TopUtils.ConvertBasicType(this.sendStartTime));
+        }
+        if(this.perFace != null)
+        {
+            requestParam.Add("per_face",TopUtils.ConvertBasicType(this.perFace));
+        }
+        if(this.securitySwitch != null)
+        {
+            requestParam.Add("security_switch",TopUtils.ConvertBasicType(this.securitySwitch));
+        }
+        if(this.userTotalWinNumLimit != null)
+        {
+            requestParam.Add("user_total_win_num_limit",TopUtils.ConvertBasicType(this.userTotalWinNumLimit));
+        }
+        if(this.name != null)
+        {
+            requestParam.Add("name",TopUtils.ConvertBasicType(this.name));
+        }
+        if(this.totalNum != null)
+        {
+            requestParam.Add("total_num",TopUtils.ConvertBasicType(this.totalNum));
+        }
+        if(this.itemId != null)
+        {
+            requestParam.Add("item_id",TopUtils.ConvertBasicType(this.itemId));
+        }
+        if(this.campaignType != null)
+        {
+            requestParam.Add("campaign_type",TopUtils.ConvertBasicType(this.campaignType));
+        }
+        if(this.useThreshold != null)
+        {
+            requestParam.Add("use_threshold",TopUtils.ConvertBasicType(this.useThreshold));
+        }
+        if(this.awardImgTemplateId != null)
+        {
+            requestParam.Add("award_img_template_id",TopUtils.ConvertBasicType(this.awardImgTemplateId));
+        }
+        return requestParam;
+    }
+
+    public override IDictionary<string, TopFileItem> ToFileParam()
+    {
+        IDictionary<string, TopFileItem> fileParam = new Dictionary<string, TopFileItem>();
+        return fileParam;
+    }
+
+    public override string GetApiCode()
+    {
+        return "taobao.tbk.dg.vegas.tlj.create";
+    }
+
+}
+

+ 64 - 0
Topsdk/Top/Ability1826/Request/TaobaoTbkDgVegasTljReportRequest.cs

@@ -0,0 +1,64 @@
+using System.Text.Json.Serialization;
+using System.Collections.Generic;
+using Topsdk.Util;
+
+namespace Topsdk.Top.Ability1826.Request;
+
+public class TaobaoTbkDgVegasTljReportRequest : AbstractTopApiRequest
+{
+
+    /*
+        adzoneId
+            */
+    private long? adzoneId;
+
+
+    /*
+        创建淘礼金时返回的rightsId
+            */
+    private string? rightsId;
+
+
+    [JsonPropertyName("adzone_id")]
+    public long? AdzoneId
+    {
+        get => adzoneId;
+        set => this.adzoneId = value;
+    }
+
+    [JsonPropertyName("rights_id")]
+    public string? RightsId
+    {
+        get => rightsId;
+        set => this.rightsId = value;
+    }
+
+
+
+    public override IDictionary<string, string> ToRequestParam()
+    {
+        IDictionary<string, string> requestParam = new Dictionary<string, string>();
+        if(this.adzoneId != null)
+        {
+            requestParam.Add("adzone_id",TopUtils.ConvertBasicType(this.adzoneId));
+        }
+        if(this.rightsId != null)
+        {
+            requestParam.Add("rights_id",TopUtils.ConvertBasicType(this.rightsId));
+        }
+        return requestParam;
+    }
+
+    public override IDictionary<string, TopFileItem> ToFileParam()
+    {
+        IDictionary<string, TopFileItem> fileParam = new Dictionary<string, TopFileItem>();
+        return fileParam;
+    }
+
+    public override string GetApiCode()
+    {
+        return "taobao.tbk.dg.vegas.tlj.report";
+    }
+
+}
+

+ 64 - 0
Topsdk/Top/Ability1826/Request/TaobaoTbkDgVegasTljStopRequest.cs

@@ -0,0 +1,64 @@
+using System.Text.Json.Serialization;
+using System.Collections.Generic;
+using Topsdk.Util;
+
+namespace Topsdk.Top.Ability1826.Request;
+
+public class TaobaoTbkDgVegasTljStopRequest : AbstractTopApiRequest
+{
+
+    /*
+        adzoneId
+            */
+    private long? adzoneId;
+
+
+    /*
+        创建淘礼金时返回的rightsId
+            */
+    private string? rightsId;
+
+
+    [JsonPropertyName("adzone_id")]
+    public long? AdzoneId
+    {
+        get => adzoneId;
+        set => this.adzoneId = value;
+    }
+
+    [JsonPropertyName("rights_id")]
+    public string? RightsId
+    {
+        get => rightsId;
+        set => this.rightsId = value;
+    }
+
+
+
+    public override IDictionary<string, string> ToRequestParam()
+    {
+        IDictionary<string, string> requestParam = new Dictionary<string, string>();
+        if(this.adzoneId != null)
+        {
+            requestParam.Add("adzone_id",TopUtils.ConvertBasicType(this.adzoneId));
+        }
+        if(this.rightsId != null)
+        {
+            requestParam.Add("rights_id",TopUtils.ConvertBasicType(this.rightsId));
+        }
+        return requestParam;
+    }
+
+    public override IDictionary<string, TopFileItem> ToFileParam()
+    {
+        IDictionary<string, TopFileItem> fileParam = new Dictionary<string, TopFileItem>();
+        return fileParam;
+    }
+
+    public override string GetApiCode()
+    {
+        return "taobao.tbk.dg.vegas.tlj.stop";
+    }
+
+}
+

+ 268 - 0
Topsdk/Top/Ability1826/Request/TaobaoTbkDgVegasTljTemporaryCreateRequest.cs

@@ -0,0 +1,268 @@
+using System.Text.Json.Serialization;
+using System.Collections.Generic;
+using Topsdk.Util;
+
+namespace Topsdk.Top.Ability1826.Request;
+
+public class TaobaoTbkDgVegasTljTemporaryCreateRequest : AbstractTopApiRequest
+{
+
+    /*
+        妈妈广告位Id
+            */
+    private long? adzoneId;
+
+
+    /*
+        必须传入0
+            */
+    private long? securityLevel;
+
+
+    /*
+        使用开始日期。相对时间,无需填写,以用户领取时间作为使用开始时间。绝对时间,格式 yyyy-MM-dd,例如,2019-01-29,表示从2019-01-29 00:00:00 开始
+            */
+    private string? useStartTime;
+
+
+    /*
+        结束日期的模式,1:相对时间,2:绝对时间
+            */
+    private long? useEndTimeMode;
+
+
+    /*
+        使用结束日期。如果是结束时间模式为相对时间,时间格式为1-7直接的整数, 例如,1(相对领取时间1天); 如果是绝对时间,格式为yyyy-MM-dd,例如,2019-01-29,表示到2019-01-29 23:59:59结束
+            */
+    private string? useEndTime;
+
+
+    /*
+        发放截止时间
+            */
+    private DateTime? sendEndTime;
+
+
+    /*
+        发放开始时间
+            */
+    private DateTime? sendStartTime;
+
+
+    /*
+        单个淘礼金面额,支持两位小数,单位元
+            */
+    private string? perFace;
+
+
+    /*
+        必须设置为true,默认开启安全
+            */
+    private bool? securitySwitch;
+
+
+    /*
+        单用户累计中奖次数上限
+            */
+    private long? userTotalWinNumLimit;
+
+
+    /*
+        淘礼金名称,最大10个字符
+            */
+    private string? name;
+
+
+    /*
+        淘礼金总个数
+            */
+    private long? totalNum;
+
+
+    /*
+        宝贝ID或营销ID
+            */
+    private string? itemId;
+
+
+    /*
+        CPS佣金类型
+         默认值:MKT    */
+    private string? campaignType;
+
+
+    [JsonPropertyName("adzone_id")]
+    public long? AdzoneId
+    {
+        get => adzoneId;
+        set => this.adzoneId = value;
+    }
+
+    [JsonPropertyName("security_level")]
+    public long? SecurityLevel
+    {
+        get => securityLevel;
+        set => this.securityLevel = value;
+    }
+
+    [JsonPropertyName("use_start_time")]
+    public string? UseStartTime
+    {
+        get => useStartTime;
+        set => this.useStartTime = value;
+    }
+
+    [JsonPropertyName("use_end_time_mode")]
+    public long? UseEndTimeMode
+    {
+        get => useEndTimeMode;
+        set => this.useEndTimeMode = value;
+    }
+
+    [JsonPropertyName("use_end_time")]
+    public string? UseEndTime
+    {
+        get => useEndTime;
+        set => this.useEndTime = value;
+    }
+
+    [JsonPropertyName("send_end_time")]
+    public DateTime? SendEndTime
+    {
+        get => sendEndTime;
+        set => this.sendEndTime = value;
+    }
+
+    [JsonPropertyName("send_start_time")]
+    public DateTime? SendStartTime
+    {
+        get => sendStartTime;
+        set => this.sendStartTime = value;
+    }
+
+    [JsonPropertyName("per_face")]
+    public string? PerFace
+    {
+        get => perFace;
+        set => this.perFace = value;
+    }
+
+    [JsonPropertyName("security_switch")]
+    public bool? SecuritySwitch
+    {
+        get => securitySwitch;
+        set => this.securitySwitch = value;
+    }
+
+    [JsonPropertyName("user_total_win_num_limit")]
+    public long? UserTotalWinNumLimit
+    {
+        get => userTotalWinNumLimit;
+        set => this.userTotalWinNumLimit = value;
+    }
+
+    [JsonPropertyName("name")]
+    public string? Name
+    {
+        get => name;
+        set => this.name = value;
+    }
+
+    [JsonPropertyName("total_num")]
+    public long? TotalNum
+    {
+        get => totalNum;
+        set => this.totalNum = value;
+    }
+
+    [JsonPropertyName("item_id")]
+    public string? ItemId
+    {
+        get => itemId;
+        set => this.itemId = value;
+    }
+
+    [JsonPropertyName("campaign_type")]
+    public string? CampaignType
+    {
+        get => campaignType;
+        set => this.campaignType = value;
+    }
+
+
+
+    public override IDictionary<string, string> ToRequestParam()
+    {
+        IDictionary<string, string> requestParam = new Dictionary<string, string>();
+        if(this.adzoneId != null)
+        {
+            requestParam.Add("adzone_id",TopUtils.ConvertBasicType(this.adzoneId));
+        }
+        if(this.securityLevel != null)
+        {
+            requestParam.Add("security_level",TopUtils.ConvertBasicType(this.securityLevel));
+        }
+        if(this.useStartTime != null)
+        {
+            requestParam.Add("use_start_time",TopUtils.ConvertBasicType(this.useStartTime));
+        }
+        if(this.useEndTimeMode != null)
+        {
+            requestParam.Add("use_end_time_mode",TopUtils.ConvertBasicType(this.useEndTimeMode));
+        }
+        if(this.useEndTime != null)
+        {
+            requestParam.Add("use_end_time",TopUtils.ConvertBasicType(this.useEndTime));
+        }
+        if(this.sendEndTime != null)
+        {
+            requestParam.Add("send_end_time",TopUtils.ConvertBasicType(this.sendEndTime));
+        }
+        if(this.sendStartTime != null)
+        {
+            requestParam.Add("send_start_time",TopUtils.ConvertBasicType(this.sendStartTime));
+        }
+        if(this.perFace != null)
+        {
+            requestParam.Add("per_face",TopUtils.ConvertBasicType(this.perFace));
+        }
+        if(this.securitySwitch != null)
+        {
+            requestParam.Add("security_switch",TopUtils.ConvertBasicType(this.securitySwitch));
+        }
+        if(this.userTotalWinNumLimit != null)
+        {
+            requestParam.Add("user_total_win_num_limit",TopUtils.ConvertBasicType(this.userTotalWinNumLimit));
+        }
+        if(this.name != null)
+        {
+            requestParam.Add("name",TopUtils.ConvertBasicType(this.name));
+        }
+        if(this.totalNum != null)
+        {
+            requestParam.Add("total_num",TopUtils.ConvertBasicType(this.totalNum));
+        }
+        if(this.itemId != null)
+        {
+            requestParam.Add("item_id",TopUtils.ConvertBasicType(this.itemId));
+        }
+        if(this.campaignType != null)
+        {
+            requestParam.Add("campaign_type",TopUtils.ConvertBasicType(this.campaignType));
+        }
+        return requestParam;
+    }
+
+    public override IDictionary<string, TopFileItem> ToFileParam()
+    {
+        IDictionary<string, TopFileItem> fileParam = new Dictionary<string, TopFileItem>();
+        return fileParam;
+    }
+
+    public override string GetApiCode()
+    {
+        return "taobao.tbk.dg.vegas.tlj.temporary.create";
+    }
+
+}
+

+ 25 - 0
Topsdk/Top/Ability1826/Response/TaobaoTbkDgVegasTljCreateResponse.cs

@@ -0,0 +1,25 @@
+using System.Collections.Generic;
+using System.Text.Json.Serialization;
+using Topsdk.Util;
+using Topsdk.Top.Ability1826.Domain;
+
+namespace Topsdk.Top.Ability1826.Response;
+
+public class TaobaoTbkDgVegasTljCreateResponse : AbstractTopApiResponse
+{
+
+    /*
+        result
+            */
+    private TaobaoTbkDgVegasTljCreateResult? result;
+
+
+    [JsonPropertyName("result")]
+    public TaobaoTbkDgVegasTljCreateResult? Result
+    {
+        get => result;
+        set => this.result = value;
+    }
+
+}
+

+ 64 - 0
Topsdk/Top/Ability1826/Response/TaobaoTbkDgVegasTljReportResponse.cs

@@ -0,0 +1,64 @@
+using System.Collections.Generic;
+using System.Text.Json.Serialization;
+using Topsdk.Util;
+using Topsdk.Top.Ability1826.Domain;
+
+namespace Topsdk.Top.Ability1826.Response;
+
+public class TaobaoTbkDgVegasTljReportResponse : AbstractTopApiResponse
+{
+
+    /*
+        结果
+            */
+    private TaobaoTbkDgVegasTljReportInstanceDTO? model;
+
+
+    /*
+        msgInfo
+            */
+    private string? msgInfo;
+
+
+    /*
+        msgCode
+            */
+    private string? msgCode;
+
+
+    /*
+        调用接口是否成功
+            */
+    private bool? resultSuccess;
+
+
+    [JsonPropertyName("model")]
+    public TaobaoTbkDgVegasTljReportInstanceDTO? Model
+    {
+        get => model;
+        set => this.model = value;
+    }
+
+    [JsonPropertyName("msg_info")]
+    public string? MsgInfo
+    {
+        get => msgInfo;
+        set => this.msgInfo = value;
+    }
+
+    [JsonPropertyName("msg_code")]
+    public string? MsgCode
+    {
+        get => msgCode;
+        set => this.msgCode = value;
+    }
+
+    [JsonPropertyName("result_success")]
+    public bool? ResultSuccess
+    {
+        get => resultSuccess;
+        set => this.resultSuccess = value;
+    }
+
+}
+

+ 64 - 0
Topsdk/Top/Ability1826/Response/TaobaoTbkDgVegasTljStopResponse.cs

@@ -0,0 +1,64 @@
+using System.Collections.Generic;
+using System.Text.Json.Serialization;
+using Topsdk.Util;
+using Topsdk.Top.Ability1826.Domain;
+
+namespace Topsdk.Top.Ability1826.Response;
+
+public class TaobaoTbkDgVegasTljStopResponse : AbstractTopApiResponse
+{
+
+    /*
+        model
+            */
+    private TaobaoTbkDgVegasTljStopUpdateStatusResult? model;
+
+
+    /*
+        msgInfo
+            */
+    private string? msgInfo;
+
+
+    /*
+        msgCode
+            */
+    private string? msgCode;
+
+
+    /*
+        调用接口是否成功
+            */
+    private bool? resultSuccess;
+
+
+    [JsonPropertyName("model")]
+    public TaobaoTbkDgVegasTljStopUpdateStatusResult? Model
+    {
+        get => model;
+        set => this.model = value;
+    }
+
+    [JsonPropertyName("msg_info")]
+    public string? MsgInfo
+    {
+        get => msgInfo;
+        set => this.msgInfo = value;
+    }
+
+    [JsonPropertyName("msg_code")]
+    public string? MsgCode
+    {
+        get => msgCode;
+        set => this.msgCode = value;
+    }
+
+    [JsonPropertyName("result_success")]
+    public bool? ResultSuccess
+    {
+        get => resultSuccess;
+        set => this.resultSuccess = value;
+    }
+
+}
+

+ 25 - 0
Topsdk/Top/Ability1826/Response/TaobaoTbkDgVegasTljTemporaryCreateResponse.cs

@@ -0,0 +1,25 @@
+using System.Collections.Generic;
+using System.Text.Json.Serialization;
+using Topsdk.Util;
+using Topsdk.Top.Ability1826.Domain;
+
+namespace Topsdk.Top.Ability1826.Response;
+
+public class TaobaoTbkDgVegasTljTemporaryCreateResponse : AbstractTopApiResponse
+{
+
+    /*
+        result
+            */
+    private TaobaoTbkDgVegasTljTemporaryCreateResult? result;
+
+
+    [JsonPropertyName("result")]
+    public TaobaoTbkDgVegasTljTemporaryCreateResult? Result
+    {
+        get => result;
+        set => this.result = value;
+    }
+
+}
+

+ 42 - 0
Topsdk/Top/Ability2138/Ability2138.cs

@@ -0,0 +1,42 @@
+using Topsdk.Top.Ability2138.Request;
+using Topsdk.Top.Ability2138.Response;
+using Topsdk.Util;
+
+namespace Topsdk.Top.Ability2138;
+
+
+public class Ability2138
+{
+
+    private ITopApiClient topApiClient;
+
+    public Ability2138(ITopApiClient topApiClient)
+    {
+        this.topApiClient = topApiClient;
+    }
+
+    /*
+        淘宝客-推广者-新用户订单明细查询
+        taobao.tbk.dg.newuser.order.get
+    */
+    public TaobaoTbkDgNewuserOrderGetResponse TaobaoTbkDgNewuserOrderGet(TaobaoTbkDgNewuserOrderGetRequest request)
+    {
+        var jsonResult = topApiClient.Execute(request.GetApiCode(),request.ToRequestParam(),request.ToFileParam());
+        if (string.IsNullOrEmpty(jsonResult))
+        {
+            throw new Exception("error");
+        }
+        var resultObj = TopUtils.parseResultJson<TaobaoTbkDgNewuserOrderGetResponse>(jsonResult);
+        if(string.IsNullOrEmpty(resultObj.Body))
+        {
+            resultObj.Body = jsonResult;
+        }
+        return resultObj;
+    }
+
+    public ITopApiClient TopApiClient
+    {
+        get => topApiClient;
+        set => topApiClient = value ?? throw new ArgumentNullException(nameof(value));
+    }
+}

+ 64 - 0
Topsdk/Top/Ability2138/Domain/TaobaoTbkDgNewuserOrderGetData.cs

@@ -0,0 +1,64 @@
+using System.Text.Json.Serialization;
+using System.Collections.Generic;
+using Topsdk.Util;
+
+namespace Topsdk.Top.Ability2138.Domain;
+
+public class TaobaoTbkDgNewuserOrderGetData
+{
+
+    /*
+        resultList
+    */
+    private IList<TaobaoTbkDgNewuserOrderGetMapData>? results;
+
+
+    /*
+        页码
+    */
+    private long? pageNo;
+
+
+    /*
+        每页大小
+    */
+    private long? pageSize;
+
+
+    /*
+        是否有下一页
+    */
+    private bool? hasNext;
+
+
+
+    [JsonPropertyName("results")]
+    public IList<TaobaoTbkDgNewuserOrderGetMapData>? Results
+    {
+        get => results;
+        set => this.results = value;
+    }
+
+    [JsonPropertyName("page_no")]
+    public long? PageNo
+    {
+        get => pageNo;
+        set => this.pageNo = value;
+    }
+
+    [JsonPropertyName("page_size")]
+    public long? PageSize
+    {
+        get => pageSize;
+        set => this.pageSize = value;
+    }
+
+    [JsonPropertyName("has_next")]
+    public bool? HasNext
+    {
+        get => hasNext;
+        set => this.hasNext = value;
+    }
+
+}
+

+ 363 - 0
Topsdk/Top/Ability2138/Domain/TaobaoTbkDgNewuserOrderGetMapData.cs

@@ -0,0 +1,363 @@
+using System.Text.Json.Serialization;
+using System.Collections.Generic;
+using Topsdk.Util;
+
+namespace Topsdk.Top.Ability2138.Domain;
+
+public class TaobaoTbkDgNewuserOrderGetMapData
+{
+
+    /*
+        新注册时间,仅淘宝拉新适用
+    */
+    private DateTime? registerTime;
+
+
+    /*
+        当前活动为淘宝拉新活动时,bind_time为新激活时间; 当前活动为支付宝拉新活动时,bind_time为绑定时间。
+    */
+    private DateTime? bindTime;
+
+
+    /*
+        首购时间,仅淘宝,天猫拉新适用
+    */
+    private DateTime? buyTime;
+
+
+    /*
+        新人状态, 当前活动为淘宝拉新活动时,1: 新注册,2:激活,3:首购,4:确认收货; 当前活动为支付宝实名活动时,1:已绑定,2:拉新成功,3:无效用户;当前活动为支付宝新登活动时,3:手淘首购,4:手淘确认收货;当前活动为天猫拉新活动时,2:已领取,3:已首购,4:已收货
+    */
+    private long? status;
+
+
+    /*
+        新人手机号
+    */
+    private string? mobile;
+
+
+    /*
+        订单淘客类型:1.淘客订单;2.非淘客订单,仅淘宝,天猫拉新适用
+    */
+    private long? orderTkType;
+
+
+    /*
+        分享用户(unionid),仅淘宝,天猫拉新适用
+    */
+    private string? unionId;
+
+
+    /*
+        来源媒体ID(pid中mm_1_2_3)中第1位
+    */
+    private long? memberId;
+
+
+    /*
+        来源媒体名称
+    */
+    private string? memberNick;
+
+
+    /*
+        来源站点ID(pid中mm_1_2_3)中第2位
+    */
+    private long? siteId;
+
+
+    /*
+        来源站点名称
+    */
+    private string? siteName;
+
+
+    /*
+        来源广告位ID(pid中mm_1_2_3)中第3位
+    */
+    private long? adzoneId;
+
+
+    /*
+        来源广告位名称
+    */
+    private string? adzoneName;
+
+
+    /*
+        淘宝订单id,仅淘宝,天猫拉新适用
+    */
+    private long? tbTradeParentId;
+
+
+    /*
+        确认收货时间,仅天猫拉新适用
+    */
+    private DateTime? acceptTime;
+
+
+    /*
+        领取红包时间,仅天猫拉新适用
+    */
+    private DateTime? receiveTime;
+
+
+    /*
+        拉新成功时间,仅支付宝拉新适用
+    */
+    private DateTime? successTime;
+
+
+    /*
+        活动类型,taobao-淘宝 alipay-支付宝 tmall-天猫
+    */
+    private string? activityType;
+
+
+    /*
+        活动id
+    */
+    private string? activityId;
+
+
+    /*
+        日期,格式为"20180202"
+    */
+    private string? bizDate;
+
+
+    /*
+        复购订单,仅适用于手淘拉新
+    */
+    private IList<TaobaoTbkDgNewuserOrderGetOrderData>? orders;
+
+
+    /*
+        绑卡日期,仅适用于手淘拉新
+    */
+    private DateTime? bindCardTime;
+
+
+    /*
+        loginTime
+    */
+    private DateTime? loginTime;
+
+
+    /*
+        银行卡是否是绑定状态:1-绑定,0-未绑定
+    */
+    private long? isCardSave;
+
+
+    /*
+        使用权益时间
+    */
+    private DateTime? useRightsTime;
+
+
+    /*
+        领取权益时间
+    */
+    private DateTime? getRightsTime;
+
+
+    /*
+        渠道关系id
+    */
+    private string? relationId;
+
+
+
+    [JsonPropertyName("register_time")]
+    public DateTime? RegisterTime
+    {
+        get => registerTime;
+        set => this.registerTime = value;
+    }
+
+    [JsonPropertyName("bind_time")]
+    public DateTime? BindTime
+    {
+        get => bindTime;
+        set => this.bindTime = value;
+    }
+
+    [JsonPropertyName("buy_time")]
+    public DateTime? BuyTime
+    {
+        get => buyTime;
+        set => this.buyTime = value;
+    }
+
+    [JsonPropertyName("status")]
+    public long? Status
+    {
+        get => status;
+        set => this.status = value;
+    }
+
+    [JsonPropertyName("mobile")]
+    public string? Mobile
+    {
+        get => mobile;
+        set => this.mobile = value;
+    }
+
+    [JsonPropertyName("order_tk_type")]
+    public long? OrderTkType
+    {
+        get => orderTkType;
+        set => this.orderTkType = value;
+    }
+
+    [JsonPropertyName("union_id")]
+    public string? UnionId
+    {
+        get => unionId;
+        set => this.unionId = value;
+    }
+
+    [JsonPropertyName("member_id")]
+    public long? MemberId
+    {
+        get => memberId;
+        set => this.memberId = value;
+    }
+
+    [JsonPropertyName("member_nick")]
+    public string? MemberNick
+    {
+        get => memberNick;
+        set => this.memberNick = value;
+    }
+
+    [JsonPropertyName("site_id")]
+    public long? SiteId
+    {
+        get => siteId;
+        set => this.siteId = value;
+    }
+
+    [JsonPropertyName("site_name")]
+    public string? SiteName
+    {
+        get => siteName;
+        set => this.siteName = value;
+    }
+
+    [JsonPropertyName("adzone_id")]
+    public long? AdzoneId
+    {
+        get => adzoneId;
+        set => this.adzoneId = value;
+    }
+
+    [JsonPropertyName("adzone_name")]
+    public string? AdzoneName
+    {
+        get => adzoneName;
+        set => this.adzoneName = value;
+    }
+
+    [JsonPropertyName("tb_trade_parent_id")]
+    public long? TbTradeParentId
+    {
+        get => tbTradeParentId;
+        set => this.tbTradeParentId = value;
+    }
+
+    [JsonPropertyName("accept_time")]
+    public DateTime? AcceptTime
+    {
+        get => acceptTime;
+        set => this.acceptTime = value;
+    }
+
+    [JsonPropertyName("receive_time")]
+    public DateTime? ReceiveTime
+    {
+        get => receiveTime;
+        set => this.receiveTime = value;
+    }
+
+    [JsonPropertyName("success_time")]
+    public DateTime? SuccessTime
+    {
+        get => successTime;
+        set => this.successTime = value;
+    }
+
+    [JsonPropertyName("activity_type")]
+    public string? ActivityType
+    {
+        get => activityType;
+        set => this.activityType = value;
+    }
+
+    [JsonPropertyName("activity_id")]
+    public string? ActivityId
+    {
+        get => activityId;
+        set => this.activityId = value;
+    }
+
+    [JsonPropertyName("biz_date")]
+    public string? BizDate
+    {
+        get => bizDate;
+        set => this.bizDate = value;
+    }
+
+    [JsonPropertyName("orders")]
+    public IList<TaobaoTbkDgNewuserOrderGetOrderData>? Orders
+    {
+        get => orders;
+        set => this.orders = value;
+    }
+
+    [JsonPropertyName("bind_card_time")]
+    public DateTime? BindCardTime
+    {
+        get => bindCardTime;
+        set => this.bindCardTime = value;
+    }
+
+    [JsonPropertyName("login_time")]
+    public DateTime? LoginTime
+    {
+        get => loginTime;
+        set => this.loginTime = value;
+    }
+
+    [JsonPropertyName("is_card_save")]
+    public long? IsCardSave
+    {
+        get => isCardSave;
+        set => this.isCardSave = value;
+    }
+
+    [JsonPropertyName("use_rights_time")]
+    public DateTime? UseRightsTime
+    {
+        get => useRightsTime;
+        set => this.useRightsTime = value;
+    }
+
+    [JsonPropertyName("get_rights_time")]
+    public DateTime? GetRightsTime
+    {
+        get => getRightsTime;
+        set => this.getRightsTime = value;
+    }
+
+    [JsonPropertyName("relation_id")]
+    public string? RelationId
+    {
+        get => relationId;
+        set => this.relationId = value;
+    }
+
+}
+

+ 64 - 0
Topsdk/Top/Ability2138/Domain/TaobaoTbkDgNewuserOrderGetOrderData.cs

@@ -0,0 +1,64 @@
+using System.Text.Json.Serialization;
+using System.Collections.Generic;
+using Topsdk.Util;
+
+namespace Topsdk.Top.Ability2138.Domain;
+
+public class TaobaoTbkDgNewuserOrderGetOrderData
+{
+
+    /*
+        预估佣金
+    */
+    private string? commission;
+
+
+    /*
+        收货时间
+    */
+    private string? confirmReceiveTime;
+
+
+    /*
+        支付时间
+    */
+    private string? payTime;
+
+
+    /*
+        订单号
+    */
+    private string? orderNo;
+
+
+
+    [JsonPropertyName("commission")]
+    public string? Commission
+    {
+        get => commission;
+        set => this.commission = value;
+    }
+
+    [JsonPropertyName("confirm_receive_time")]
+    public string? ConfirmReceiveTime
+    {
+        get => confirmReceiveTime;
+        set => this.confirmReceiveTime = value;
+    }
+
+    [JsonPropertyName("pay_time")]
+    public string? PayTime
+    {
+        get => payTime;
+        set => this.payTime = value;
+    }
+
+    [JsonPropertyName("order_no")]
+    public string? OrderNo
+    {
+        get => orderNo;
+        set => this.orderNo = value;
+    }
+
+}
+

+ 25 - 0
Topsdk/Top/Ability2138/Domain/TaobaoTbkDgNewuserOrderGetResults.cs

@@ -0,0 +1,25 @@
+using System.Text.Json.Serialization;
+using System.Collections.Generic;
+using Topsdk.Util;
+
+namespace Topsdk.Top.Ability2138.Domain;
+
+public class TaobaoTbkDgNewuserOrderGetResults
+{
+
+    /*
+        data
+    */
+    private TaobaoTbkDgNewuserOrderGetData? data;
+
+
+
+    [JsonPropertyName("data")]
+    public TaobaoTbkDgNewuserOrderGetData? Data
+    {
+        get => data;
+        set => this.data = value;
+    }
+
+}
+

+ 132 - 0
Topsdk/Top/Ability2138/Request/TaobaoTbkDgNewuserOrderGetRequest.cs

@@ -0,0 +1,132 @@
+using System.Text.Json.Serialization;
+using System.Collections.Generic;
+using Topsdk.Util;
+
+namespace Topsdk.Top.Ability2138.Request;
+
+public class TaobaoTbkDgNewuserOrderGetRequest : AbstractTopApiRequest
+{
+
+    /*
+        页大小,默认20,1~100
+         默认值:20    */
+    private long? pageSize;
+
+
+    /*
+        页码,默认1
+         默认值:1    */
+    private long? pageNo;
+
+
+    /*
+        mm_xxx_xxx_xxx的第三位
+            */
+    private long? adzoneId;
+
+
+    /*
+        开始时间,当活动为淘宝活动,表示最早注册时间;当活动为支付宝活动,表示最早绑定时间;当活动为天猫活动,表示最早领取红包时间
+            */
+    private DateTime? startTime;
+
+
+    /*
+        结束时间,当活动为淘宝活动,表示最晚结束时间;当活动为支付宝活动,表示最晚绑定时间;当活动为天猫活动,表示最晚领取红包的时间
+            */
+    private DateTime? endTime;
+
+
+    /*
+        活动id, 活动名称与活动ID列表(该字段已废弃)
+            */
+    private string? activityId;
+
+
+    [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("adzone_id")]
+    public long? AdzoneId
+    {
+        get => adzoneId;
+        set => this.adzoneId = value;
+    }
+
+    [JsonPropertyName("start_time")]
+    public DateTime? StartTime
+    {
+        get => startTime;
+        set => this.startTime = value;
+    }
+
+    [JsonPropertyName("end_time")]
+    public DateTime? EndTime
+    {
+        get => endTime;
+        set => this.endTime = value;
+    }
+
+    [JsonPropertyName("activity_id")]
+    public string? ActivityId
+    {
+        get => activityId;
+        set => this.activityId = value;
+    }
+
+
+
+    public override IDictionary<string, string> ToRequestParam()
+    {
+        IDictionary<string, string> requestParam = new Dictionary<string, string>();
+        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.adzoneId != null)
+        {
+            requestParam.Add("adzone_id",TopUtils.ConvertBasicType(this.adzoneId));
+        }
+        if(this.startTime != null)
+        {
+            requestParam.Add("start_time",TopUtils.ConvertBasicType(this.startTime));
+        }
+        if(this.endTime != null)
+        {
+            requestParam.Add("end_time",TopUtils.ConvertBasicType(this.endTime));
+        }
+        if(this.activityId != null)
+        {
+            requestParam.Add("activity_id",TopUtils.ConvertBasicType(this.activityId));
+        }
+        return requestParam;
+    }
+
+    public override IDictionary<string, TopFileItem> ToFileParam()
+    {
+        IDictionary<string, TopFileItem> fileParam = new Dictionary<string, TopFileItem>();
+        return fileParam;
+    }
+
+    public override string GetApiCode()
+    {
+        return "taobao.tbk.dg.newuser.order.get";
+    }
+
+}
+

+ 25 - 0
Topsdk/Top/Ability2138/Response/TaobaoTbkDgNewuserOrderGetResponse.cs

@@ -0,0 +1,25 @@
+using System.Collections.Generic;
+using System.Text.Json.Serialization;
+using Topsdk.Util;
+using Topsdk.Top.Ability2138.Domain;
+
+namespace Topsdk.Top.Ability2138.Response;
+
+public class TaobaoTbkDgNewuserOrderGetResponse : AbstractTopApiResponse
+{
+
+    /*
+        data
+            */
+    private TaobaoTbkDgNewuserOrderGetResults? results;
+
+
+    [JsonPropertyName("results")]
+    public TaobaoTbkDgNewuserOrderGetResults? Results
+    {
+        get => results;
+        set => this.results = value;
+    }
+
+}
+

+ 42 - 0
Topsdk/Top/Ability2474/Ability2474.cs

@@ -0,0 +1,42 @@
+using Topsdk.Top.Ability2474.Request;
+using Topsdk.Top.Ability2474.Response;
+using Topsdk.Util;
+
+namespace Topsdk.Top.Ability2474;
+
+
+public class Ability2474
+{
+
+    private ITopApiClient topApiClient;
+
+    public Ability2474(ITopApiClient topApiClient)
+    {
+        this.topApiClient = topApiClient;
+    }
+
+    /*
+        淘宝客-推广者-查询红包发放个数
+        taobao.tbk.dg.vegas.send.report
+    */
+    public TaobaoTbkDgVegasSendReportResponse TaobaoTbkDgVegasSendReport(TaobaoTbkDgVegasSendReportRequest request)
+    {
+        var jsonResult = topApiClient.Execute(request.GetApiCode(),request.ToRequestParam(),request.ToFileParam());
+        if (string.IsNullOrEmpty(jsonResult))
+        {
+            throw new Exception("error");
+        }
+        var resultObj = TopUtils.parseResultJson<TaobaoTbkDgVegasSendReportResponse>(jsonResult);
+        if(string.IsNullOrEmpty(resultObj.Body))
+        {
+            resultObj.Body = jsonResult;
+        }
+        return resultObj;
+    }
+
+    public ITopApiClient TopApiClient
+    {
+        get => topApiClient;
+        set => topApiClient = value ?? throw new ArgumentNullException(nameof(value));
+    }
+}

+ 64 - 0
Topsdk/Top/Ability2474/Domain/TaobaoTbkDgVegasSendReportResult.cs

@@ -0,0 +1,64 @@
+using System.Text.Json.Serialization;
+using System.Collections.Generic;
+using Topsdk.Util;
+
+namespace Topsdk.Top.Ability2474.Domain;
+
+public class TaobaoTbkDgVegasSendReportResult
+{
+
+    /*
+        是否成功
+    */
+    private bool? success;
+
+
+    /*
+        model
+    */
+    private TaobaoTbkDgVegasSendReportRightsSendRptDTO? model;
+
+
+    /*
+        msgInfo
+    */
+    private string? msgInfo;
+
+
+    /*
+        msgCode
+    */
+    private string? msgCode;
+
+
+
+    [JsonPropertyName("success")]
+    public bool? Success
+    {
+        get => success;
+        set => this.success = value;
+    }
+
+    [JsonPropertyName("model")]
+    public TaobaoTbkDgVegasSendReportRightsSendRptDTO? Model
+    {
+        get => model;
+        set => this.model = value;
+    }
+
+    [JsonPropertyName("msg_info")]
+    public string? MsgInfo
+    {
+        get => msgInfo;
+        set => this.msgInfo = value;
+    }
+
+    [JsonPropertyName("msg_code")]
+    public string? MsgCode
+    {
+        get => msgCode;
+        set => this.msgCode = value;
+    }
+
+}
+

+ 77 - 0
Topsdk/Top/Ability2474/Domain/TaobaoTbkDgVegasSendReportRightsSendRelationRptDto.cs

@@ -0,0 +1,77 @@
+using System.Text.Json.Serialization;
+using System.Collections.Generic;
+using Topsdk.Util;
+
+namespace Topsdk.Top.Ability2474.Domain;
+
+public class TaobaoTbkDgVegasSendReportRightsSendRelationRptDto
+{
+
+    /*
+        日期
+    */
+    private string? bizDate;
+
+
+    /*
+        渠道关系id
+    */
+    private long? relationId;
+
+
+    /*
+        红包发放数量
+    */
+    private long? fundNum;
+
+
+    /*
+        渠道关系id关联的pid
+    */
+    private string? pid;
+
+
+    /*
+        红包使用次数
+    */
+    private long? useNum;
+
+
+
+    [JsonPropertyName("biz_date")]
+    public string? BizDate
+    {
+        get => bizDate;
+        set => this.bizDate = value;
+    }
+
+    [JsonPropertyName("relation_id")]
+    public long? RelationId
+    {
+        get => relationId;
+        set => this.relationId = value;
+    }
+
+    [JsonPropertyName("fund_num")]
+    public long? FundNum
+    {
+        get => fundNum;
+        set => this.fundNum = value;
+    }
+
+    [JsonPropertyName("pid")]
+    public string? Pid
+    {
+        get => pid;
+        set => this.pid = value;
+    }
+
+    [JsonPropertyName("use_num")]
+    public long? UseNum
+    {
+        get => useNum;
+        set => this.useNum = value;
+    }
+
+}
+

+ 38 - 0
Topsdk/Top/Ability2474/Domain/TaobaoTbkDgVegasSendReportRightsSendRptDTO.cs

@@ -0,0 +1,38 @@
+using System.Text.Json.Serialization;
+using System.Collections.Generic;
+using Topsdk.Util;
+
+namespace Topsdk.Top.Ability2474.Domain;
+
+public class TaobaoTbkDgVegasSendReportRightsSendRptDTO
+{
+
+    /*
+        渠道关系id的发放数据
+    */
+    private IList<TaobaoTbkDgVegasSendReportRightsSendRelationRptDto>? relationRptList;
+
+
+    /*
+        pid的发放数据
+    */
+    private IList<TaobaoTbkDgVegasSendReportRightsSendRelationRptDto>? pidRptList;
+
+
+
+    [JsonPropertyName("relation_rpt_list")]
+    public IList<TaobaoTbkDgVegasSendReportRightsSendRelationRptDto>? RelationRptList
+    {
+        get => relationRptList;
+        set => this.relationRptList = value;
+    }
+
+    [JsonPropertyName("pid_rpt_list")]
+    public IList<TaobaoTbkDgVegasSendReportRightsSendRelationRptDto>? PidRptList
+    {
+        get => pidRptList;
+        set => this.pidRptList = value;
+    }
+
+}
+

+ 166 - 0
Topsdk/Top/Ability2474/Request/TaobaoTbkDgVegasSendReportRequest.cs

@@ -0,0 +1,166 @@
+using System.Text.Json.Serialization;
+using System.Collections.Generic;
+using Topsdk.Util;
+
+namespace Topsdk.Top.Ability2474.Request;
+
+public class TaobaoTbkDgVegasSendReportRequest : AbstractTopApiRequest
+{
+
+    /*
+        统计日期
+            */
+    private string? bizDate;
+
+
+    /*
+        渠道关系id
+            */
+    private long? relationId;
+
+
+    /*
+        已下线,后续不需要填写
+            */
+    private long? activityId;
+
+
+    /*
+        页码
+         默认值:1    */
+    private long? pageNo;
+
+
+    /*
+        每页大小
+         默认值:10    */
+    private long? pageSize;
+
+
+    /*
+        媒体推广pid
+            */
+    private string? pid;
+
+
+    /*
+        查询维度,不填写默认是pid维度
+            */
+    private string? rptDim;
+
+
+    /*
+        查询红包类型,1-超级红包,2-福利购,3-签到红包,4-福利直降,5-幸运赢免单,不传时默认查询超级红包数据
+         默认值:1    */
+    private long? activityCategory;
+
+
+    [JsonPropertyName("biz_date")]
+    public string? BizDate
+    {
+        get => bizDate;
+        set => this.bizDate = value;
+    }
+
+    [JsonPropertyName("relation_id")]
+    public long? RelationId
+    {
+        get => relationId;
+        set => this.relationId = value;
+    }
+
+    [JsonPropertyName("activity_id")]
+    public long? ActivityId
+    {
+        get => activityId;
+        set => this.activityId = value;
+    }
+
+    [JsonPropertyName("page_no")]
+    public long? PageNo
+    {
+        get => pageNo;
+        set => this.pageNo = value;
+    }
+
+    [JsonPropertyName("page_size")]
+    public long? PageSize
+    {
+        get => pageSize;
+        set => this.pageSize = value;
+    }
+
+    [JsonPropertyName("pid")]
+    public string? Pid
+    {
+        get => pid;
+        set => this.pid = value;
+    }
+
+    [JsonPropertyName("rpt_dim")]
+    public string? RptDim
+    {
+        get => rptDim;
+        set => this.rptDim = value;
+    }
+
+    [JsonPropertyName("activity_category")]
+    public long? ActivityCategory
+    {
+        get => activityCategory;
+        set => this.activityCategory = value;
+    }
+
+
+
+    public override IDictionary<string, string> ToRequestParam()
+    {
+        IDictionary<string, string> requestParam = new Dictionary<string, string>();
+        if(this.bizDate != null)
+        {
+            requestParam.Add("biz_date",TopUtils.ConvertBasicType(this.bizDate));
+        }
+        if(this.relationId != null)
+        {
+            requestParam.Add("relation_id",TopUtils.ConvertBasicType(this.relationId));
+        }
+        if(this.activityId != null)
+        {
+            requestParam.Add("activity_id",TopUtils.ConvertBasicType(this.activityId));
+        }
+        if(this.pageNo != null)
+        {
+            requestParam.Add("page_no",TopUtils.ConvertBasicType(this.pageNo));
+        }
+        if(this.pageSize != null)
+        {
+            requestParam.Add("page_size",TopUtils.ConvertBasicType(this.pageSize));
+        }
+        if(this.pid != null)
+        {
+            requestParam.Add("pid",TopUtils.ConvertBasicType(this.pid));
+        }
+        if(this.rptDim != null)
+        {
+            requestParam.Add("rpt_dim",TopUtils.ConvertBasicType(this.rptDim));
+        }
+        if(this.activityCategory != null)
+        {
+            requestParam.Add("activity_category",TopUtils.ConvertBasicType(this.activityCategory));
+        }
+        return requestParam;
+    }
+
+    public override IDictionary<string, TopFileItem> ToFileParam()
+    {
+        IDictionary<string, TopFileItem> fileParam = new Dictionary<string, TopFileItem>();
+        return fileParam;
+    }
+
+    public override string GetApiCode()
+    {
+        return "taobao.tbk.dg.vegas.send.report";
+    }
+
+}
+

+ 25 - 0
Topsdk/Top/Ability2474/Response/TaobaoTbkDgVegasSendReportResponse.cs

@@ -0,0 +1,25 @@
+using System.Collections.Generic;
+using System.Text.Json.Serialization;
+using Topsdk.Util;
+using Topsdk.Top.Ability2474.Domain;
+
+namespace Topsdk.Top.Ability2474.Response;
+
+public class TaobaoTbkDgVegasSendReportResponse : AbstractTopApiResponse
+{
+
+    /*
+        返回结果
+            */
+    private TaobaoTbkDgVegasSendReportResult? result;
+
+
+    [JsonPropertyName("result")]
+    public TaobaoTbkDgVegasSendReportResult? Result
+    {
+        get => result;
+        set => this.result = value;
+    }
+
+}
+

+ 204 - 0
Topsdk/Top/Ability304/Ability304.cs

@@ -0,0 +1,204 @@
+using Topsdk.Top.Ability304.Request;
+using Topsdk.Top.Ability304.Response;
+using Topsdk.Util;
+
+namespace Topsdk.Top.Ability304;
+
+
+public class Ability304
+{
+
+    private ITopApiClient topApiClient;
+
+    public Ability304(ITopApiClient topApiClient)
+    {
+        this.topApiClient = topApiClient;
+    }
+
+    /*
+        获取ISV发起请求服务器IP
+        taobao.appip.get
+    */
+    public TaobaoAppipGetResponse TaobaoAppipGet(TaobaoAppipGetRequest request)
+    {
+        var jsonResult = topApiClient.Execute(request.GetApiCode(),request.ToRequestParam(),request.ToFileParam());
+        if (string.IsNullOrEmpty(jsonResult))
+        {
+            throw new Exception("error");
+        }
+        var resultObj = TopUtils.parseResultJson<TaobaoAppipGetResponse>(jsonResult);
+        if(string.IsNullOrEmpty(resultObj.Body))
+        {
+            resultObj.Body = jsonResult;
+        }
+        return resultObj;
+    }
+    /*
+        业务文件获取
+        taobao.files.get
+    */
+    public TaobaoFilesGetResponse TaobaoFilesGet(TaobaoFilesGetRequest request)
+    {
+        var jsonResult = topApiClient.Execute(request.GetApiCode(),request.ToRequestParam(),request.ToFileParam());
+        if (string.IsNullOrEmpty(jsonResult))
+        {
+            throw new Exception("error");
+        }
+        var resultObj = TopUtils.parseResultJson<TaobaoFilesGetResponse>(jsonResult);
+        if(string.IsNullOrEmpty(resultObj.Body))
+        {
+            resultObj.Body = jsonResult;
+        }
+        return resultObj;
+    }
+    /*
+        刷新Access Token
+        taobao.top.auth.token.refresh
+    */
+    public TaobaoTopAuthTokenRefreshResponse TaobaoTopAuthTokenRefresh(TaobaoTopAuthTokenRefreshRequest request)
+    {
+        var jsonResult = topApiClient.Execute(request.GetApiCode(),request.ToRequestParam(),request.ToFileParam());
+        if (string.IsNullOrEmpty(jsonResult))
+        {
+            throw new Exception("error");
+        }
+        var resultObj = TopUtils.parseResultJson<TaobaoTopAuthTokenRefreshResponse>(jsonResult);
+        if(string.IsNullOrEmpty(resultObj.Body))
+        {
+            resultObj.Body = jsonResult;
+        }
+        return resultObj;
+    }
+    /*
+        获取Access Token
+        taobao.top.auth.token.create
+    */
+    public TaobaoTopAuthTokenCreateResponse TaobaoTopAuthTokenCreate(TaobaoTopAuthTokenCreateRequest request)
+    {
+        var jsonResult = topApiClient.Execute(request.GetApiCode(),request.ToRequestParam(),request.ToFileParam());
+        if (string.IsNullOrEmpty(jsonResult))
+        {
+            throw new Exception("error");
+        }
+        var resultObj = TopUtils.parseResultJson<TaobaoTopAuthTokenCreateResponse>(jsonResult);
+        if(string.IsNullOrEmpty(resultObj.Body))
+        {
+            resultObj.Body = jsonResult;
+        }
+        return resultObj;
+    }
+    /*
+        获取授权账号对应的OpenUid
+        taobao.openuid.get
+    */
+    public TaobaoOpenuidGetResponse TaobaoOpenuidGet(TaobaoOpenuidGetRequest request,String session)
+    {
+        var jsonResult = topApiClient.Execute(request.GetApiCode(),request.ToRequestParam(),request.ToFileParam(),session);
+        if (string.IsNullOrEmpty(jsonResult))
+        {
+            throw new Exception("error");
+        }
+        var resultObj = TopUtils.parseResultJson<TaobaoOpenuidGetResponse>(jsonResult);
+        if(string.IsNullOrEmpty(resultObj.Body))
+        {
+            resultObj.Body = jsonResult;
+        }
+        return resultObj;
+    }
+    /*
+        通过订单获取对应买家的openUID
+        taobao.openuid.get.bytrade
+    */
+    public TaobaoOpenuidGetBytradeResponse TaobaoOpenuidGetBytrade(TaobaoOpenuidGetBytradeRequest request,String session)
+    {
+        var jsonResult = topApiClient.Execute(request.GetApiCode(),request.ToRequestParam(),request.ToFileParam(),session);
+        if (string.IsNullOrEmpty(jsonResult))
+        {
+            throw new Exception("error");
+        }
+        var resultObj = TopUtils.parseResultJson<TaobaoOpenuidGetBytradeResponse>(jsonResult);
+        if(string.IsNullOrEmpty(resultObj.Body))
+        {
+            resultObj.Body = jsonResult;
+        }
+        return resultObj;
+    }
+    /*
+        TOPDNS配置
+        taobao.httpdns.get
+    */
+    public TaobaoHttpdnsGetResponse TaobaoHttpdnsGet(TaobaoHttpdnsGetRequest request)
+    {
+        var jsonResult = topApiClient.Execute(request.GetApiCode(),request.ToRequestParam(),request.ToFileParam());
+        if (string.IsNullOrEmpty(jsonResult))
+        {
+            throw new Exception("error");
+        }
+        var resultObj = TopUtils.parseResultJson<TaobaoHttpdnsGetResponse>(jsonResult);
+        if(string.IsNullOrEmpty(resultObj.Body))
+        {
+            resultObj.Body = jsonResult;
+        }
+        return resultObj;
+    }
+    /*
+        获取TOP通道解密秘钥
+        taobao.top.secret.get
+    */
+    public TaobaoTopSecretGetResponse TaobaoTopSecretGet(TaobaoTopSecretGetRequest request)
+    {
+        var jsonResult = topApiClient.Execute(request.GetApiCode(),request.ToRequestParam(),request.ToFileParam());
+        if (string.IsNullOrEmpty(jsonResult))
+        {
+            throw new Exception("error");
+        }
+        var resultObj = TopUtils.parseResultJson<TaobaoTopSecretGetResponse>(jsonResult);
+        if(string.IsNullOrEmpty(resultObj.Body))
+        {
+            resultObj.Body = jsonResult;
+        }
+        return resultObj;
+    }
+    /*
+        通过mixnick转换openuid
+        taobao.openuid.get.bymixnick
+    */
+    public TaobaoOpenuidGetBymixnickResponse TaobaoOpenuidGetBymixnick(TaobaoOpenuidGetBymixnickRequest request)
+    {
+        var jsonResult = topApiClient.Execute(request.GetApiCode(),request.ToRequestParam(),request.ToFileParam());
+        if (string.IsNullOrEmpty(jsonResult))
+        {
+            throw new Exception("error");
+        }
+        var resultObj = TopUtils.parseResultJson<TaobaoOpenuidGetBymixnickResponse>(jsonResult);
+        if(string.IsNullOrEmpty(resultObj.Body))
+        {
+            resultObj.Body = jsonResult;
+        }
+        return resultObj;
+    }
+    /*
+        sdk信息回调
+        taobao.top.sdk.feedback.upload
+    */
+    public TaobaoTopSdkFeedbackUploadResponse TaobaoTopSdkFeedbackUpload(TaobaoTopSdkFeedbackUploadRequest request)
+    {
+        var jsonResult = topApiClient.Execute(request.GetApiCode(),request.ToRequestParam(),request.ToFileParam());
+        if (string.IsNullOrEmpty(jsonResult))
+        {
+            throw new Exception("error");
+        }
+        var resultObj = TopUtils.parseResultJson<TaobaoTopSdkFeedbackUploadResponse>(jsonResult);
+        if(string.IsNullOrEmpty(resultObj.Body))
+        {
+            resultObj.Body = jsonResult;
+        }
+        return resultObj;
+    }
+
+    public ITopApiClient TopApiClient
+    {
+        get => topApiClient;
+        set => topApiClient = value ?? throw new ArgumentNullException(nameof(value));
+    }
+}

+ 51 - 0
Topsdk/Top/Ability304/Domain/TaobaoFilesGetTopDownloadRecordDo.cs

@@ -0,0 +1,51 @@
+using System.Text.Json.Serialization;
+using System.Collections.Generic;
+using Topsdk.Util;
+
+namespace Topsdk.Top.Ability304.Domain;
+
+public class TaobaoFilesGetTopDownloadRecordDo
+{
+
+    /*
+        下载链接
+    */
+    private string? url;
+
+
+    /*
+        文件创建时间
+    */
+    private DateTime? created;
+
+
+    /*
+        下载链接状态。1:未下载。2:已下载
+    */
+    private long? status;
+
+
+
+    [JsonPropertyName("url")]
+    public string? Url
+    {
+        get => url;
+        set => this.url = value;
+    }
+
+    [JsonPropertyName("created")]
+    public DateTime? Created
+    {
+        get => created;
+        set => this.created = value;
+    }
+
+    [JsonPropertyName("status")]
+    public long? Status
+    {
+        get => status;
+        set => this.status = value;
+    }
+
+}
+

+ 30 - 0
Topsdk/Top/Ability304/Request/TaobaoAppipGetRequest.cs

@@ -0,0 +1,30 @@
+using System.Text.Json.Serialization;
+using System.Collections.Generic;
+using Topsdk.Util;
+
+namespace Topsdk.Top.Ability304.Request;
+
+public class TaobaoAppipGetRequest : AbstractTopApiRequest
+{
+
+
+
+    public override IDictionary<string, string> ToRequestParam()
+    {
+        IDictionary<string, string> requestParam = new Dictionary<string, string>();
+        return requestParam;
+    }
+
+    public override IDictionary<string, TopFileItem> ToFileParam()
+    {
+        IDictionary<string, TopFileItem> fileParam = new Dictionary<string, TopFileItem>();
+        return fileParam;
+    }
+
+    public override string GetApiCode()
+    {
+        return "taobao.appip.get";
+    }
+
+}
+

+ 81 - 0
Topsdk/Top/Ability304/Request/TaobaoFilesGetRequest.cs

@@ -0,0 +1,81 @@
+using System.Text.Json.Serialization;
+using System.Collections.Generic;
+using Topsdk.Util;
+
+namespace Topsdk.Top.Ability304.Request;
+
+public class TaobaoFilesGetRequest : AbstractTopApiRequest
+{
+
+    /*
+        下载链接状态。1:未下载。2:已下载
+            */
+    private long? status;
+
+
+    /*
+        搜索开始时间
+            */
+    private DateTime? startDate;
+
+
+    /*
+        搜索结束时间
+            */
+    private DateTime? endDate;
+
+
+    [JsonPropertyName("status")]
+    public long? Status
+    {
+        get => status;
+        set => this.status = value;
+    }
+
+    [JsonPropertyName("start_date")]
+    public DateTime? StartDate
+    {
+        get => startDate;
+        set => this.startDate = value;
+    }
+
+    [JsonPropertyName("end_date")]
+    public DateTime? EndDate
+    {
+        get => endDate;
+        set => this.endDate = value;
+    }
+
+
+
+    public override IDictionary<string, string> ToRequestParam()
+    {
+        IDictionary<string, string> requestParam = new Dictionary<string, string>();
+        if(this.status != null)
+        {
+            requestParam.Add("status",TopUtils.ConvertBasicType(this.status));
+        }
+        if(this.startDate != null)
+        {
+            requestParam.Add("start_date",TopUtils.ConvertBasicType(this.startDate));
+        }
+        if(this.endDate != null)
+        {
+            requestParam.Add("end_date",TopUtils.ConvertBasicType(this.endDate));
+        }
+        return requestParam;
+    }
+
+    public override IDictionary<string, TopFileItem> ToFileParam()
+    {
+        IDictionary<string, TopFileItem> fileParam = new Dictionary<string, TopFileItem>();
+        return fileParam;
+    }
+
+    public override string GetApiCode()
+    {
+        return "taobao.files.get";
+    }
+
+}
+

+ 30 - 0
Topsdk/Top/Ability304/Request/TaobaoHttpdnsGetRequest.cs

@@ -0,0 +1,30 @@
+using System.Text.Json.Serialization;
+using System.Collections.Generic;
+using Topsdk.Util;
+
+namespace Topsdk.Top.Ability304.Request;
+
+public class TaobaoHttpdnsGetRequest : AbstractTopApiRequest
+{
+
+
+
+    public override IDictionary<string, string> ToRequestParam()
+    {
+        IDictionary<string, string> requestParam = new Dictionary<string, string>();
+        return requestParam;
+    }
+
+    public override IDictionary<string, TopFileItem> ToFileParam()
+    {
+        IDictionary<string, TopFileItem> fileParam = new Dictionary<string, TopFileItem>();
+        return fileParam;
+    }
+
+    public override string GetApiCode()
+    {
+        return "taobao.httpdns.get";
+    }
+
+}
+

+ 47 - 0
Topsdk/Top/Ability304/Request/TaobaoOpenuidGetBymixnickRequest.cs

@@ -0,0 +1,47 @@
+using System.Text.Json.Serialization;
+using System.Collections.Generic;
+using Topsdk.Util;
+
+namespace Topsdk.Top.Ability304.Request;
+
+public class TaobaoOpenuidGetBymixnickRequest : AbstractTopApiRequest
+{
+
+    /*
+        无线类应用获取到的混淆的nick
+            */
+    private string? mixNick;
+
+
+    [JsonPropertyName("mix_nick")]
+    public string? MixNick
+    {
+        get => mixNick;
+        set => this.mixNick = value;
+    }
+
+
+
+    public override IDictionary<string, string> ToRequestParam()
+    {
+        IDictionary<string, string> requestParam = new Dictionary<string, string>();
+        if(this.mixNick != null)
+        {
+            requestParam.Add("mix_nick",TopUtils.ConvertBasicType(this.mixNick));
+        }
+        return requestParam;
+    }
+
+    public override IDictionary<string, TopFileItem> ToFileParam()
+    {
+        IDictionary<string, TopFileItem> fileParam = new Dictionary<string, TopFileItem>();
+        return fileParam;
+    }
+
+    public override string GetApiCode()
+    {
+        return "taobao.openuid.get.bymixnick";
+    }
+
+}
+

+ 47 - 0
Topsdk/Top/Ability304/Request/TaobaoOpenuidGetBytradeRequest.cs

@@ -0,0 +1,47 @@
+using System.Text.Json.Serialization;
+using System.Collections.Generic;
+using Topsdk.Util;
+
+namespace Topsdk.Top.Ability304.Request;
+
+public class TaobaoOpenuidGetBytradeRequest : AbstractTopApiRequest
+{
+
+    /*
+        订单ID
+            */
+    private long? tid;
+
+
+    [JsonPropertyName("tid")]
+    public long? Tid
+    {
+        get => tid;
+        set => this.tid = value;
+    }
+
+
+
+    public override IDictionary<string, string> ToRequestParam()
+    {
+        IDictionary<string, string> requestParam = new Dictionary<string, string>();
+        if(this.tid != null)
+        {
+            requestParam.Add("tid",TopUtils.ConvertBasicType(this.tid));
+        }
+        return requestParam;
+    }
+
+    public override IDictionary<string, TopFileItem> ToFileParam()
+    {
+        IDictionary<string, TopFileItem> fileParam = new Dictionary<string, TopFileItem>();
+        return fileParam;
+    }
+
+    public override string GetApiCode()
+    {
+        return "taobao.openuid.get.bytrade";
+    }
+
+}
+

+ 30 - 0
Topsdk/Top/Ability304/Request/TaobaoOpenuidGetRequest.cs

@@ -0,0 +1,30 @@
+using System.Text.Json.Serialization;
+using System.Collections.Generic;
+using Topsdk.Util;
+
+namespace Topsdk.Top.Ability304.Request;
+
+public class TaobaoOpenuidGetRequest : AbstractTopApiRequest
+{
+
+
+
+    public override IDictionary<string, string> ToRequestParam()
+    {
+        IDictionary<string, string> requestParam = new Dictionary<string, string>();
+        return requestParam;
+    }
+
+    public override IDictionary<string, TopFileItem> ToFileParam()
+    {
+        IDictionary<string, TopFileItem> fileParam = new Dictionary<string, TopFileItem>();
+        return fileParam;
+    }
+
+    public override string GetApiCode()
+    {
+        return "taobao.openuid.get";
+    }
+
+}
+

+ 64 - 0
Topsdk/Top/Ability304/Request/TaobaoTopAuthTokenCreateRequest.cs

@@ -0,0 +1,64 @@
+using System.Text.Json.Serialization;
+using System.Collections.Generic;
+using Topsdk.Util;
+
+namespace Topsdk.Top.Ability304.Request;
+
+public class TaobaoTopAuthTokenCreateRequest : AbstractTopApiRequest
+{
+
+    /*
+        授权code,grantType==authorization_code 时需要
+            */
+    private string? code;
+
+
+    /*
+        非必填,与生成code的uuid配对,使用方式参考文档
+            */
+    private string? uuid;
+
+
+    [JsonPropertyName("code")]
+    public string? Code
+    {
+        get => code;
+        set => this.code = value;
+    }
+
+    [JsonPropertyName("uuid")]
+    public string? Uuid
+    {
+        get => uuid;
+        set => this.uuid = value;
+    }
+
+
+
+    public override IDictionary<string, string> ToRequestParam()
+    {
+        IDictionary<string, string> requestParam = new Dictionary<string, string>();
+        if(this.code != null)
+        {
+            requestParam.Add("code",TopUtils.ConvertBasicType(this.code));
+        }
+        if(this.uuid != null)
+        {
+            requestParam.Add("uuid",TopUtils.ConvertBasicType(this.uuid));
+        }
+        return requestParam;
+    }
+
+    public override IDictionary<string, TopFileItem> ToFileParam()
+    {
+        IDictionary<string, TopFileItem> fileParam = new Dictionary<string, TopFileItem>();
+        return fileParam;
+    }
+
+    public override string GetApiCode()
+    {
+        return "taobao.top.auth.token.create";
+    }
+
+}
+

+ 47 - 0
Topsdk/Top/Ability304/Request/TaobaoTopAuthTokenRefreshRequest.cs

@@ -0,0 +1,47 @@
+using System.Text.Json.Serialization;
+using System.Collections.Generic;
+using Topsdk.Util;
+
+namespace Topsdk.Top.Ability304.Request;
+
+public class TaobaoTopAuthTokenRefreshRequest : AbstractTopApiRequest
+{
+
+    /*
+        grantType==refresh_token 时需要
+            */
+    private string? refreshToken;
+
+
+    [JsonPropertyName("refresh_token")]
+    public string? RefreshToken
+    {
+        get => refreshToken;
+        set => this.refreshToken = value;
+    }
+
+
+
+    public override IDictionary<string, string> ToRequestParam()
+    {
+        IDictionary<string, string> requestParam = new Dictionary<string, string>();
+        if(this.refreshToken != null)
+        {
+            requestParam.Add("refresh_token",TopUtils.ConvertBasicType(this.refreshToken));
+        }
+        return requestParam;
+    }
+
+    public override IDictionary<string, TopFileItem> ToFileParam()
+    {
+        IDictionary<string, TopFileItem> fileParam = new Dictionary<string, TopFileItem>();
+        return fileParam;
+    }
+
+    public override string GetApiCode()
+    {
+        return "taobao.top.auth.token.refresh";
+    }
+
+}
+

+ 64 - 0
Topsdk/Top/Ability304/Request/TaobaoTopSdkFeedbackUploadRequest.cs

@@ -0,0 +1,64 @@
+using System.Text.Json.Serialization;
+using System.Collections.Generic;
+using Topsdk.Util;
+
+namespace Topsdk.Top.Ability304.Request;
+
+public class TaobaoTopSdkFeedbackUploadRequest : AbstractTopApiRequest
+{
+
+    /*
+        1、回传加密信息
+            */
+    private string? type;
+
+
+    /*
+        具体内容,json形式
+            */
+    private string? content;
+
+
+    [JsonPropertyName("type")]
+    public string? Type
+    {
+        get => type;
+        set => this.type = value;
+    }
+
+    [JsonPropertyName("content")]
+    public string? Content
+    {
+        get => content;
+        set => this.content = value;
+    }
+
+
+
+    public override IDictionary<string, string> ToRequestParam()
+    {
+        IDictionary<string, string> requestParam = new Dictionary<string, string>();
+        if(this.type != null)
+        {
+            requestParam.Add("type",TopUtils.ConvertBasicType(this.type));
+        }
+        if(this.content != null)
+        {
+            requestParam.Add("content",TopUtils.ConvertBasicType(this.content));
+        }
+        return requestParam;
+    }
+
+    public override IDictionary<string, TopFileItem> ToFileParam()
+    {
+        IDictionary<string, TopFileItem> fileParam = new Dictionary<string, TopFileItem>();
+        return fileParam;
+    }
+
+    public override string GetApiCode()
+    {
+        return "taobao.top.sdk.feedback.upload";
+    }
+
+}
+

+ 81 - 0
Topsdk/Top/Ability304/Request/TaobaoTopSecretGetRequest.cs

@@ -0,0 +1,81 @@
+using System.Text.Json.Serialization;
+using System.Collections.Generic;
+using Topsdk.Util;
+
+namespace Topsdk.Top.Ability304.Request;
+
+public class TaobaoTopSecretGetRequest : AbstractTopApiRequest
+{
+
+    /*
+        秘钥版本号
+            */
+    private long? secretVersion;
+
+
+    /*
+        伪随机数
+            */
+    private string? randomNum;
+
+
+    /*
+        自定义用户id
+            */
+    private long? customerUserId;
+
+
+    [JsonPropertyName("secret_version")]
+    public long? SecretVersion
+    {
+        get => secretVersion;
+        set => this.secretVersion = value;
+    }
+
+    [JsonPropertyName("random_num")]
+    public string? RandomNum
+    {
+        get => randomNum;
+        set => this.randomNum = value;
+    }
+
+    [JsonPropertyName("customer_user_id")]
+    public long? CustomerUserId
+    {
+        get => customerUserId;
+        set => this.customerUserId = value;
+    }
+
+
+
+    public override IDictionary<string, string> ToRequestParam()
+    {
+        IDictionary<string, string> requestParam = new Dictionary<string, string>();
+        if(this.secretVersion != null)
+        {
+            requestParam.Add("secret_version",TopUtils.ConvertBasicType(this.secretVersion));
+        }
+        if(this.randomNum != null)
+        {
+            requestParam.Add("random_num",TopUtils.ConvertBasicType(this.randomNum));
+        }
+        if(this.customerUserId != null)
+        {
+            requestParam.Add("customer_user_id",TopUtils.ConvertBasicType(this.customerUserId));
+        }
+        return requestParam;
+    }
+
+    public override IDictionary<string, TopFileItem> ToFileParam()
+    {
+        IDictionary<string, TopFileItem> fileParam = new Dictionary<string, TopFileItem>();
+        return fileParam;
+    }
+
+    public override string GetApiCode()
+    {
+        return "taobao.top.secret.get";
+    }
+
+}
+

+ 24 - 0
Topsdk/Top/Ability304/Response/TaobaoAppipGetResponse.cs

@@ -0,0 +1,24 @@
+using System.Collections.Generic;
+using System.Text.Json.Serialization;
+using Topsdk.Util;
+
+namespace Topsdk.Top.Ability304.Response;
+
+public class TaobaoAppipGetResponse : AbstractTopApiResponse
+{
+
+    /*
+        ISV发起请求服务器IP
+            */
+    private string? ip;
+
+
+    [JsonPropertyName("ip")]
+    public string? Ip
+    {
+        get => ip;
+        set => this.ip = value;
+    }
+
+}
+

+ 25 - 0
Topsdk/Top/Ability304/Response/TaobaoFilesGetResponse.cs

@@ -0,0 +1,25 @@
+using System.Collections.Generic;
+using System.Text.Json.Serialization;
+using Topsdk.Util;
+using Topsdk.Top.Ability304.Domain;
+
+namespace Topsdk.Top.Ability304.Response;
+
+public class TaobaoFilesGetResponse : AbstractTopApiResponse
+{
+
+    /*
+        results
+            */
+    private IList<TaobaoFilesGetTopDownloadRecordDo>? results;
+
+
+    [JsonPropertyName("results")]
+    public IList<TaobaoFilesGetTopDownloadRecordDo>? Results
+    {
+        get => results;
+        set => this.results = value;
+    }
+
+}
+

+ 24 - 0
Topsdk/Top/Ability304/Response/TaobaoHttpdnsGetResponse.cs

@@ -0,0 +1,24 @@
+using System.Collections.Generic;
+using System.Text.Json.Serialization;
+using Topsdk.Util;
+
+namespace Topsdk.Top.Ability304.Response;
+
+public class TaobaoHttpdnsGetResponse : AbstractTopApiResponse
+{
+
+    /*
+        HTTP DNS配置信息
+            */
+    private string? result;
+
+
+    [JsonPropertyName("result")]
+    public string? Result
+    {
+        get => result;
+        set => this.result = value;
+    }
+
+}
+

+ 24 - 0
Topsdk/Top/Ability304/Response/TaobaoOpenuidGetBymixnickResponse.cs

@@ -0,0 +1,24 @@
+using System.Collections.Generic;
+using System.Text.Json.Serialization;
+using Topsdk.Util;
+
+namespace Topsdk.Top.Ability304.Response;
+
+public class TaobaoOpenuidGetBymixnickResponse : AbstractTopApiResponse
+{
+
+    /*
+        OpenUID
+            */
+    private string? openUid;
+
+
+    [JsonPropertyName("open_uid")]
+    public string? OpenUid
+    {
+        get => openUid;
+        set => this.openUid = value;
+    }
+
+}
+

+ 24 - 0
Topsdk/Top/Ability304/Response/TaobaoOpenuidGetBytradeResponse.cs

@@ -0,0 +1,24 @@
+using System.Collections.Generic;
+using System.Text.Json.Serialization;
+using Topsdk.Util;
+
+namespace Topsdk.Top.Ability304.Response;
+
+public class TaobaoOpenuidGetBytradeResponse : AbstractTopApiResponse
+{
+
+    /*
+        当前交易tid对应买家的openuid
+            */
+    private string? openUid;
+
+
+    [JsonPropertyName("open_uid")]
+    public string? OpenUid
+    {
+        get => openUid;
+        set => this.openUid = value;
+    }
+
+}
+

+ 24 - 0
Topsdk/Top/Ability304/Response/TaobaoOpenuidGetResponse.cs

@@ -0,0 +1,24 @@
+using System.Collections.Generic;
+using System.Text.Json.Serialization;
+using Topsdk.Util;
+
+namespace Topsdk.Top.Ability304.Response;
+
+public class TaobaoOpenuidGetResponse : AbstractTopApiResponse
+{
+
+    /*
+        OpenUID
+            */
+    private string? openUid;
+
+
+    [JsonPropertyName("open_uid")]
+    public string? OpenUid
+    {
+        get => openUid;
+        set => this.openUid = value;
+    }
+
+}
+

+ 24 - 0
Topsdk/Top/Ability304/Response/TaobaoTopAuthTokenCreateResponse.cs

@@ -0,0 +1,24 @@
+using System.Collections.Generic;
+using System.Text.Json.Serialization;
+using Topsdk.Util;
+
+namespace Topsdk.Top.Ability304.Response;
+
+public class TaobaoTopAuthTokenCreateResponse : AbstractTopApiResponse
+{
+
+    /*
+        返回的是json信息,和之前调用https://oauth.taobao.com/tac/token https://oauth.alibaba.com/token 换token返回的字段信息一致
+            */
+    private string? tokenResult;
+
+
+    [JsonPropertyName("token_result")]
+    public string? TokenResult
+    {
+        get => tokenResult;
+        set => this.tokenResult = value;
+    }
+
+}
+

+ 24 - 0
Topsdk/Top/Ability304/Response/TaobaoTopAuthTokenRefreshResponse.cs

@@ -0,0 +1,24 @@
+using System.Collections.Generic;
+using System.Text.Json.Serialization;
+using Topsdk.Util;
+
+namespace Topsdk.Top.Ability304.Response;
+
+public class TaobaoTopAuthTokenRefreshResponse : AbstractTopApiResponse
+{
+
+    /*
+        返回的是json信息
+            */
+    private string? tokenResult;
+
+
+    [JsonPropertyName("token_result")]
+    public string? TokenResult
+    {
+        get => tokenResult;
+        set => this.tokenResult = value;
+    }
+
+}
+

+ 24 - 0
Topsdk/Top/Ability304/Response/TaobaoTopSdkFeedbackUploadResponse.cs

@@ -0,0 +1,24 @@
+using System.Collections.Generic;
+using System.Text.Json.Serialization;
+using Topsdk.Util;
+
+namespace Topsdk.Top.Ability304.Response;
+
+public class TaobaoTopSdkFeedbackUploadResponse : AbstractTopApiResponse
+{
+
+    /*
+        控制回传间隔(单位:秒)
+            */
+    private long? uploadInterval;
+
+
+    [JsonPropertyName("upload_interval")]
+    public long? UploadInterval
+    {
+        get => uploadInterval;
+        set => this.uploadInterval = value;
+    }
+
+}
+

+ 76 - 0
Topsdk/Top/Ability304/Response/TaobaoTopSecretGetResponse.cs

@@ -0,0 +1,76 @@
+using System.Collections.Generic;
+using System.Text.Json.Serialization;
+using Topsdk.Util;
+
+namespace Topsdk.Top.Ability304.Response;
+
+public class TaobaoTopSecretGetResponse : AbstractTopApiResponse
+{
+
+    /*
+        下次更新秘钥间隔,单位(秒)
+            */
+    private long? interval;
+
+
+    /*
+        最长有效期,容灾使用,单位(秒)
+            */
+    private long? maxInterval;
+
+
+    /*
+        秘钥值
+            */
+    private string? secret;
+
+
+    /*
+        秘钥版本号
+            */
+    private long? secretVersion;
+
+
+    /*
+        app配置信息
+            */
+    private string? appConfig;
+
+
+    [JsonPropertyName("interval")]
+    public long? Interval
+    {
+        get => interval;
+        set => this.interval = value;
+    }
+
+    [JsonPropertyName("max_interval")]
+    public long? MaxInterval
+    {
+        get => maxInterval;
+        set => this.maxInterval = value;
+    }
+
+    [JsonPropertyName("secret")]
+    public string? Secret
+    {
+        get => secret;
+        set => this.secret = value;
+    }
+
+    [JsonPropertyName("secret_version")]
+    public long? SecretVersion
+    {
+        get => secretVersion;
+        set => this.secretVersion = value;
+    }
+
+    [JsonPropertyName("app_config")]
+    public string? AppConfig
+    {
+        get => appConfig;
+        set => this.appConfig = value;
+    }
+
+}
+

+ 42 - 0
Topsdk/Top/Ability3152/Ability3152.cs

@@ -0,0 +1,42 @@
+using Topsdk.Top.Ability3152.Request;
+using Topsdk.Top.Ability3152.Response;
+using Topsdk.Util;
+
+namespace Topsdk.Top.Ability3152;
+
+
+public class Ability3152
+{
+
+    private ITopApiClient topApiClient;
+
+    public Ability3152(ITopApiClient topApiClient)
+    {
+        this.topApiClient = topApiClient;
+    }
+
+    /*
+        淘宝联盟厂商找优惠
+        taobao.tbk.thor.mfrs.promotion.query
+    */
+    public TaobaoTbkThorMfrsPromotionQueryResponse TaobaoTbkThorMfrsPromotionQuery(TaobaoTbkThorMfrsPromotionQueryRequest request)
+    {
+        var jsonResult = topApiClient.Execute(request.GetApiCode(),request.ToRequestParam(),request.ToFileParam());
+        if (string.IsNullOrEmpty(jsonResult))
+        {
+            throw new Exception("error");
+        }
+        var resultObj = TopUtils.parseResultJson<TaobaoTbkThorMfrsPromotionQueryResponse>(jsonResult);
+        if(string.IsNullOrEmpty(resultObj.Body))
+        {
+            resultObj.Body = jsonResult;
+        }
+        return resultObj;
+    }
+
+    public ITopApiClient TopApiClient
+    {
+        get => topApiClient;
+        set => topApiClient = value ?? throw new ArgumentNullException(nameof(value));
+    }
+}

+ 233 - 0
Topsdk/Top/Ability3152/Domain/TaobaoTbkThorMfrsPromotionQueryManufacturerItemsDto.cs

@@ -0,0 +1,233 @@
+using System.Text.Json.Serialization;
+using System.Collections.Generic;
+using Topsdk.Util;
+
+namespace Topsdk.Top.Ability3152.Domain;
+
+public class TaobaoTbkThorMfrsPromotionQueryManufacturerItemsDto
+{
+
+    /*
+        商品图片地址
+    */
+    private string? img;
+
+
+    /*
+        店铺名称
+    */
+    private string? shop;
+
+
+    /*
+        优惠券信息
+    */
+    private string? coupon;
+
+
+    /*
+        商品标题
+    */
+    private string? itemTitle;
+
+
+    /*
+        售价
+    */
+    private string? salePrice;
+
+
+    /*
+        营销标签
+    */
+    private IList<string>? iconList;
+
+
+    /*
+        曝光反馈地址
+    */
+    private string? impressionTrackingUrl;
+
+
+    /*
+        是否包邮
+    */
+    private string? freeShipment;
+
+
+    /*
+        跳转地址
+    */
+    private string? clickThroughByH5;
+
+
+    /*
+        价格
+    */
+    private string? zkFinalPrice;
+
+
+    /*
+        30天销量
+    */
+    private string? volume;
+
+
+    /*
+        点击反馈链接
+    */
+    private string? clickTrackingUrl;
+
+
+    /*
+        地区
+    */
+    private string? provcity;
+
+
+    /*
+        deeplink地址
+    */
+    private string? clickThroughByDeeplink;
+
+
+    /*
+        券地址
+    */
+    private string? couponClickThroughByDeeplink;
+
+
+    /*
+        领取deeplink地址
+    */
+    private string? couponClickThroughByH5;
+
+
+    /*
+        店铺类型
+    */
+    private string? shopType;
+
+
+
+    [JsonPropertyName("img")]
+    public string? Img
+    {
+        get => img;
+        set => this.img = value;
+    }
+
+    [JsonPropertyName("shop")]
+    public string? Shop
+    {
+        get => shop;
+        set => this.shop = value;
+    }
+
+    [JsonPropertyName("coupon")]
+    public string? Coupon
+    {
+        get => coupon;
+        set => this.coupon = value;
+    }
+
+    [JsonPropertyName("item_title")]
+    public string? ItemTitle
+    {
+        get => itemTitle;
+        set => this.itemTitle = value;
+    }
+
+    [JsonPropertyName("sale_price")]
+    public string? SalePrice
+    {
+        get => salePrice;
+        set => this.salePrice = value;
+    }
+
+    [JsonPropertyName("icon_list")]
+    public IList<string>? IconList
+    {
+        get => iconList;
+        set => this.iconList = value;
+    }
+
+    [JsonPropertyName("impression_tracking_url")]
+    public string? ImpressionTrackingUrl
+    {
+        get => impressionTrackingUrl;
+        set => this.impressionTrackingUrl = value;
+    }
+
+    [JsonPropertyName("free_shipment")]
+    public string? FreeShipment
+    {
+        get => freeShipment;
+        set => this.freeShipment = value;
+    }
+
+    [JsonPropertyName("click_through_by_h5")]
+    public string? ClickThroughByH5
+    {
+        get => clickThroughByH5;
+        set => this.clickThroughByH5 = value;
+    }
+
+    [JsonPropertyName("zk_final_price")]
+    public string? ZkFinalPrice
+    {
+        get => zkFinalPrice;
+        set => this.zkFinalPrice = value;
+    }
+
+    [JsonPropertyName("volume")]
+    public string? Volume
+    {
+        get => volume;
+        set => this.volume = value;
+    }
+
+    [JsonPropertyName("click_tracking_url")]
+    public string? ClickTrackingUrl
+    {
+        get => clickTrackingUrl;
+        set => this.clickTrackingUrl = value;
+    }
+
+    [JsonPropertyName("provcity")]
+    public string? Provcity
+    {
+        get => provcity;
+        set => this.provcity = value;
+    }
+
+    [JsonPropertyName("click_through_by_deeplink")]
+    public string? ClickThroughByDeeplink
+    {
+        get => clickThroughByDeeplink;
+        set => this.clickThroughByDeeplink = value;
+    }
+
+    [JsonPropertyName("coupon_click_through_by_deeplink")]
+    public string? CouponClickThroughByDeeplink
+    {
+        get => couponClickThroughByDeeplink;
+        set => this.couponClickThroughByDeeplink = value;
+    }
+
+    [JsonPropertyName("coupon_click_through_by_h5")]
+    public string? CouponClickThroughByH5
+    {
+        get => couponClickThroughByH5;
+        set => this.couponClickThroughByH5 = value;
+    }
+
+    [JsonPropertyName("shop_type")]
+    public string? ShopType
+    {
+        get => shopType;
+        set => this.shopType = value;
+    }
+
+}
+

+ 194 - 0
Topsdk/Top/Ability3152/Domain/TaobaoTbkThorMfrsPromotionQueryManufacturerLaunchOption.cs

@@ -0,0 +1,194 @@
+using System.Text.Json.Serialization;
+using System.Collections.Generic;
+using Topsdk.Util;
+
+namespace Topsdk.Top.Ability3152.Domain;
+
+public class TaobaoTbkThorMfrsPromotionQueryManufacturerLaunchOption
+{
+
+    /*
+        图片按照短边不超过320的方式等比例缩放,转字节流时按jpg格式,压缩率80进行转换
+    */
+    private string? img;
+
+
+    /*
+        商品副标题
+    */
+    private string? subTitle;
+
+
+    /*
+        场景类型
+    */
+    private string? sceneCode;
+
+
+    /*
+        OAID/手机号/imei
+    */
+    private string? uniqueIdType;
+
+
+    /*
+        价格
+    */
+    private string? price;
+
+
+    /*
+        媒体pid
+    */
+    private string? pid;
+
+
+    /*
+        商品标题
+    */
+    private string? title;
+
+
+    /*
+        sku名
+    */
+    private string? sku;
+
+
+    /*
+        唯一标识
+    */
+    private string? uniqueId;
+
+
+    /*
+        商品链接
+    */
+    private string? url;
+
+
+    /*
+        淘口令
+    */
+    private string? tbpwd;
+
+
+    /*
+        子场景码:Hivision(拍照识图)、Hitoch(双指按压)
+    */
+    private string? sceneSubCode;
+
+
+    /*
+        如手淘、京东、抖音、快手
+    */
+    private string? from;
+
+
+    /*
+        扩展字段
+    */
+    private string? variableMap;
+
+
+
+    [JsonPropertyName("img")]
+    public string? Img
+    {
+        get => img;
+        set => this.img = value;
+    }
+
+    [JsonPropertyName("sub_title")]
+    public string? SubTitle
+    {
+        get => subTitle;
+        set => this.subTitle = value;
+    }
+
+    [JsonPropertyName("scene_code")]
+    public string? SceneCode
+    {
+        get => sceneCode;
+        set => this.sceneCode = value;
+    }
+
+    [JsonPropertyName("unique_id_type")]
+    public string? UniqueIdType
+    {
+        get => uniqueIdType;
+        set => this.uniqueIdType = value;
+    }
+
+    [JsonPropertyName("price")]
+    public string? Price
+    {
+        get => price;
+        set => this.price = value;
+    }
+
+    [JsonPropertyName("pid")]
+    public string? Pid
+    {
+        get => pid;
+        set => this.pid = value;
+    }
+
+    [JsonPropertyName("title")]
+    public string? Title
+    {
+        get => title;
+        set => this.title = value;
+    }
+
+    [JsonPropertyName("sku")]
+    public string? Sku
+    {
+        get => sku;
+        set => this.sku = value;
+    }
+
+    [JsonPropertyName("unique_id")]
+    public string? UniqueId
+    {
+        get => uniqueId;
+        set => this.uniqueId = value;
+    }
+
+    [JsonPropertyName("url")]
+    public string? Url
+    {
+        get => url;
+        set => this.url = value;
+    }
+
+    [JsonPropertyName("tbpwd")]
+    public string? Tbpwd
+    {
+        get => tbpwd;
+        set => this.tbpwd = value;
+    }
+
+    [JsonPropertyName("scene_sub_code")]
+    public string? SceneSubCode
+    {
+        get => sceneSubCode;
+        set => this.sceneSubCode = value;
+    }
+
+    [JsonPropertyName("from")]
+    public string? From
+    {
+        get => from;
+        set => this.from = value;
+    }
+
+    [JsonPropertyName("variable_map")]
+    public string? VariableMap
+    {
+        get => variableMap;
+        set => this.variableMap = value;
+    }
+
+}
+

+ 48 - 0
Topsdk/Top/Ability3152/Request/TaobaoTbkThorMfrsPromotionQueryRequest.cs

@@ -0,0 +1,48 @@
+using System.Text.Json.Serialization;
+using System.Collections.Generic;
+using Topsdk.Util;
+using Topsdk.Top.Ability3152.Domain;
+
+namespace Topsdk.Top.Ability3152.Request;
+
+public class TaobaoTbkThorMfrsPromotionQueryRequest : AbstractTopApiRequest
+{
+
+    /*
+        查询请求对象
+            */
+    private TaobaoTbkThorMfrsPromotionQueryManufacturerLaunchOption? option;
+
+
+    [JsonPropertyName("option")]
+    public TaobaoTbkThorMfrsPromotionQueryManufacturerLaunchOption? Option
+    {
+        get => option;
+        set => this.option = value;
+    }
+
+
+
+    public override IDictionary<string, string> ToRequestParam()
+    {
+        IDictionary<string, string> requestParam = new Dictionary<string, string>();
+        if(this.option != null)
+        {
+            requestParam.Add("option",TopUtils.ConvertStruct(this.option));
+        }
+        return requestParam;
+    }
+
+    public override IDictionary<string, TopFileItem> ToFileParam()
+    {
+        IDictionary<string, TopFileItem> fileParam = new Dictionary<string, TopFileItem>();
+        return fileParam;
+    }
+
+    public override string GetApiCode()
+    {
+        return "taobao.tbk.thor.mfrs.promotion.query";
+    }
+
+}
+

+ 90 - 0
Topsdk/Top/Ability3152/Response/TaobaoTbkThorMfrsPromotionQueryResponse.cs

@@ -0,0 +1,90 @@
+using System.Collections.Generic;
+using System.Text.Json.Serialization;
+using Topsdk.Util;
+using Topsdk.Top.Ability3152.Domain;
+
+namespace Topsdk.Top.Ability3152.Response;
+
+public class TaobaoTbkThorMfrsPromotionQueryResponse : AbstractTopApiResponse
+{
+
+    /*
+        原商品信息
+            */
+    private TaobaoTbkThorMfrsPromotionQueryManufacturerItemsDto? sourceItem;
+
+
+    /*
+        分页大小
+            */
+    private string? pageSize;
+
+
+    /*
+        页码
+            */
+    private string? page;
+
+
+    /*
+        请求状态码
+            */
+    private string? status;
+
+
+    /*
+        异常描述
+            */
+    private string? desc;
+
+
+    /*
+        识图推荐商品信息
+            */
+    private IList<TaobaoTbkThorMfrsPromotionQueryManufacturerItemsDto>? itemList;
+
+
+    [JsonPropertyName("source_item")]
+    public TaobaoTbkThorMfrsPromotionQueryManufacturerItemsDto? SourceItem
+    {
+        get => sourceItem;
+        set => this.sourceItem = value;
+    }
+
+    [JsonPropertyName("page_size")]
+    public string? PageSize
+    {
+        get => pageSize;
+        set => this.pageSize = value;
+    }
+
+    [JsonPropertyName("page")]
+    public string? Page
+    {
+        get => page;
+        set => this.page = value;
+    }
+
+    [JsonPropertyName("status")]
+    public string? Status
+    {
+        get => status;
+        set => this.status = value;
+    }
+
+    [JsonPropertyName("desc")]
+    public string? Desc
+    {
+        get => desc;
+        set => this.desc = value;
+    }
+
+    [JsonPropertyName("item_list")]
+    public IList<TaobaoTbkThorMfrsPromotionQueryManufacturerItemsDto>? ItemList
+    {
+        get => itemList;
+        set => this.itemList = value;
+    }
+
+}
+

+ 42 - 0
Topsdk/Top/Ability3197/Ability3197.cs

@@ -0,0 +1,42 @@
+using Topsdk.Top.Ability3197.Request;
+using Topsdk.Top.Ability3197.Response;
+using Topsdk.Util;
+
+namespace Topsdk.Top.Ability3197;
+
+
+public class Ability3197
+{
+
+    private ITopApiClient topApiClient;
+
+    public Ability3197(ITopApiClient topApiClient)
+    {
+        this.topApiClient = topApiClient;
+    }
+
+    /*
+        淘宝客-推广者-定向活动目标发布
+        taobao.tbk.rta.consumer.match
+    */
+    public TaobaoTbkRtaConsumerMatchResponse TaobaoTbkRtaConsumerMatch(TaobaoTbkRtaConsumerMatchRequest request)
+    {
+        var jsonResult = topApiClient.Execute(request.GetApiCode(),request.ToRequestParam(),request.ToFileParam());
+        if (string.IsNullOrEmpty(jsonResult))
+        {
+            throw new Exception("error");
+        }
+        var resultObj = TopUtils.parseResultJson<TaobaoTbkRtaConsumerMatchResponse>(jsonResult);
+        if(string.IsNullOrEmpty(resultObj.Body))
+        {
+            resultObj.Body = jsonResult;
+        }
+        return resultObj;
+    }
+
+    public ITopApiClient TopApiClient
+    {
+        get => topApiClient;
+        set => topApiClient = value ?? throw new ArgumentNullException(nameof(value));
+    }
+}

+ 38 - 0
Topsdk/Top/Ability3197/Domain/TaobaoTbkRtaConsumerMatchData.cs

@@ -0,0 +1,38 @@
+using System.Text.Json.Serialization;
+using System.Collections.Generic;
+using Topsdk.Util;
+
+namespace Topsdk.Top.Ability3197.Domain;
+
+public class TaobaoTbkRtaConsumerMatchData
+{
+
+    /*
+        返回结果列表
+    */
+    private IList<TaobaoTbkRtaConsumerMatchResultlist>? resultList;
+
+
+    /*
+        策略ID的匹配结果,仅在入参strategy_id_list字段非空时返回
+    */
+    private IList<TaobaoTbkRtaConsumerMatchStrategyResultList>? strategyResultList;
+
+
+
+    [JsonPropertyName("result_list")]
+    public IList<TaobaoTbkRtaConsumerMatchResultlist>? ResultList
+    {
+        get => resultList;
+        set => this.resultList = value;
+    }
+
+    [JsonPropertyName("strategy_result_list")]
+    public IList<TaobaoTbkRtaConsumerMatchStrategyResultList>? StrategyResultList
+    {
+        get => strategyResultList;
+        set => this.strategyResultList = value;
+    }
+
+}
+

+ 51 - 0
Topsdk/Top/Ability3197/Domain/TaobaoTbkRtaConsumerMatchOfferList.cs

@@ -0,0 +1,51 @@
+using System.Text.Json.Serialization;
+using System.Collections.Generic;
+using Topsdk.Util;
+
+namespace Topsdk.Top.Ability3197.Domain;
+
+public class TaobaoTbkRtaConsumerMatchOfferList
+{
+
+    /*
+        活动id
+    */
+    private string? offerId;
+
+
+    /*
+        淘礼金领取URL,不支持使用短链接
+    */
+    private string? tljUrl;
+
+
+    /*
+        商品id
+    */
+    private string? itemId;
+
+
+
+    [JsonPropertyName("offer_id")]
+    public string? OfferId
+    {
+        get => offerId;
+        set => this.offerId = value;
+    }
+
+    [JsonPropertyName("tlj_url")]
+    public string? TljUrl
+    {
+        get => tljUrl;
+        set => this.tljUrl = value;
+    }
+
+    [JsonPropertyName("item_id")]
+    public string? ItemId
+    {
+        get => itemId;
+        set => this.itemId = value;
+    }
+
+}
+

+ 77 - 0
Topsdk/Top/Ability3197/Domain/TaobaoTbkRtaConsumerMatchResultlist.cs

@@ -0,0 +1,77 @@
+using System.Text.Json.Serialization;
+using System.Collections.Generic;
+using Topsdk.Util;
+
+namespace Topsdk.Top.Ability3197.Domain;
+
+public class TaobaoTbkRtaConsumerMatchResultlist
+{
+
+    /*
+        活动id
+    */
+    private string? offerId;
+
+
+    /*
+        活动状态:1-符合活动要求,2-淘客无活动权限,3-用户不匹配活动,4-系统异常,5-活动不存在
+    */
+    private string? status;
+
+
+    /*
+        推广链接
+    */
+    private string? clickUrl;
+
+
+    /*
+        微信小程序路径
+    */
+    private string? wxMiniprogramPath;
+
+
+    /*
+        微信小程序码
+    */
+    private string? wxQrcodeUrl;
+
+
+
+    [JsonPropertyName("offer_id")]
+    public string? OfferId
+    {
+        get => offerId;
+        set => this.offerId = value;
+    }
+
+    [JsonPropertyName("status")]
+    public string? Status
+    {
+        get => status;
+        set => this.status = value;
+    }
+
+    [JsonPropertyName("click_url")]
+    public string? ClickUrl
+    {
+        get => clickUrl;
+        set => this.clickUrl = value;
+    }
+
+    [JsonPropertyName("wx_miniprogram_path")]
+    public string? WxMiniprogramPath
+    {
+        get => wxMiniprogramPath;
+        set => this.wxMiniprogramPath = value;
+    }
+
+    [JsonPropertyName("wx_qrcode_url")]
+    public string? WxQrcodeUrl
+    {
+        get => wxQrcodeUrl;
+        set => this.wxQrcodeUrl = value;
+    }
+
+}
+

+ 38 - 0
Topsdk/Top/Ability3197/Domain/TaobaoTbkRtaConsumerMatchStrategyResultList.cs

@@ -0,0 +1,38 @@
+using System.Text.Json.Serialization;
+using System.Collections.Generic;
+using Topsdk.Util;
+
+namespace Topsdk.Top.Ability3197.Domain;
+
+public class TaobaoTbkRtaConsumerMatchStrategyResultList
+{
+
+    /*
+        策略ID
+    */
+    private string? strategyId;
+
+
+    /*
+        状态:1-符合活动要求 ,3-用户不匹配活动,4-系统异常,6-策略ID不存在,7-策略ID无效
+    */
+    private string? status;
+
+
+
+    [JsonPropertyName("strategy_id")]
+    public string? StrategyId
+    {
+        get => strategyId;
+        set => this.strategyId = value;
+    }
+
+    [JsonPropertyName("status")]
+    public string? Status
+    {
+        get => status;
+        set => this.status = value;
+    }
+
+}
+

+ 133 - 0
Topsdk/Top/Ability3197/Request/TaobaoTbkRtaConsumerMatchRequest.cs

@@ -0,0 +1,133 @@
+using System.Text.Json.Serialization;
+using System.Collections.Generic;
+using Topsdk.Util;
+using Topsdk.Top.Ability3197.Domain;
+
+namespace Topsdk.Top.Ability3197.Request;
+
+public class TaobaoTbkRtaConsumerMatchRequest : AbstractTopApiRequest
+{
+
+    /*
+        mm_xxx_xxx_xxx的第3段数字
+            */
+    private long? adzoneId;
+
+
+    /*
+        活动列表
+            */
+    private IList<TaobaoTbkRtaConsumerMatchOfferList>? offerList;
+
+
+    /*
+        消费者对应的会员ID(会员ID或设备信息同时填时,优先使用会员ID)
+            */
+    private string? specialId;
+
+
+    /*
+        设备信息,加密后的值(IMEI,IDFA,OAID,MOBILE需要加密),需用MD5加密,32位小写
+            */
+    private string? deviceValue;
+
+
+    /*
+        设备信息,入参类型(该模式下返回的结果为模糊匹配结果,和实际情况可能存在误差):IMEI, 或者IDFA, 或者OAID, 或者MOBILE, 或者ALIPAY_ID
+            */
+    private string? deviceType;
+
+
+    /*
+        策略ID,与活动列表二选一传入
+            */
+    private IList<string>? strategyIdList;
+
+
+    [JsonPropertyName("adzone_id")]
+    public long? AdzoneId
+    {
+        get => adzoneId;
+        set => this.adzoneId = value;
+    }
+
+    [JsonPropertyName("offer_list")]
+    public IList<TaobaoTbkRtaConsumerMatchOfferList>? OfferList
+    {
+        get => offerList;
+        set => this.offerList = value;
+    }
+
+    [JsonPropertyName("special_id")]
+    public string? SpecialId
+    {
+        get => specialId;
+        set => this.specialId = 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("strategy_id_list")]
+    public IList<string>? StrategyIdList
+    {
+        get => strategyIdList;
+        set => this.strategyIdList = value;
+    }
+
+
+
+    public override IDictionary<string, string> ToRequestParam()
+    {
+        IDictionary<string, string> requestParam = new Dictionary<string, string>();
+        if(this.adzoneId != null)
+        {
+            requestParam.Add("adzone_id",TopUtils.ConvertBasicType(this.adzoneId));
+        }
+        if(this.offerList != null)
+        {
+            requestParam.Add("offer_list",TopUtils.ConvertStructList(this.offerList));
+        }
+        if(this.specialId != null)
+        {
+            requestParam.Add("special_id",TopUtils.ConvertBasicType(this.specialId));
+        }
+        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.strategyIdList != null)
+        {
+            requestParam.Add("strategy_id_list",TopUtils.ConvertBasicList(this.strategyIdList));
+        }
+        return requestParam;
+    }
+
+    public override IDictionary<string, TopFileItem> ToFileParam()
+    {
+        IDictionary<string, TopFileItem> fileParam = new Dictionary<string, TopFileItem>();
+        return fileParam;
+    }
+
+    public override string GetApiCode()
+    {
+        return "taobao.tbk.rta.consumer.match";
+    }
+
+}
+

+ 25 - 0
Topsdk/Top/Ability3197/Response/TaobaoTbkRtaConsumerMatchResponse.cs

@@ -0,0 +1,25 @@
+using System.Collections.Generic;
+using System.Text.Json.Serialization;
+using Topsdk.Util;
+using Topsdk.Top.Ability3197.Domain;
+
+namespace Topsdk.Top.Ability3197.Response;
+
+public class TaobaoTbkRtaConsumerMatchResponse : AbstractTopApiResponse
+{
+
+    /*
+        返回结果
+            */
+    private TaobaoTbkRtaConsumerMatchData? data;
+
+
+    [JsonPropertyName("data")]
+    public TaobaoTbkRtaConsumerMatchData? Data
+    {
+        get => data;
+        set => this.data = value;
+    }
+
+}
+

+ 60 - 0
Topsdk/Top/Ability3261/Ability3261.cs

@@ -0,0 +1,60 @@
+using Topsdk.Top.Ability3261.Request;
+using Topsdk.Top.Ability3261.Response;
+using Topsdk.Util;
+
+namespace Topsdk.Top.Ability3261;
+
+
+public class Ability3261
+{
+
+    private ITopApiClient topApiClient;
+
+    public Ability3261(ITopApiClient topApiClient)
+    {
+        this.topApiClient = topApiClient;
+    }
+
+    /*
+        淘宝客-推广者-CPA活动执行明细
+        taobao.tbk.dg.cpa.activity.detail
+    */
+    public TaobaoTbkDgCpaActivityDetailResponse TaobaoTbkDgCpaActivityDetail(TaobaoTbkDgCpaActivityDetailRequest request)
+    {
+        var jsonResult = topApiClient.Execute(request.GetApiCode(),request.ToRequestParam(),request.ToFileParam());
+        if (string.IsNullOrEmpty(jsonResult))
+        {
+            throw new Exception("error");
+        }
+        var resultObj = TopUtils.parseResultJson<TaobaoTbkDgCpaActivityDetailResponse>(jsonResult);
+        if(string.IsNullOrEmpty(resultObj.Body))
+        {
+            resultObj.Body = jsonResult;
+        }
+        return resultObj;
+    }
+    /*
+        淘宝客-推广者-任务奖励效果报表
+        taobao.tbk.dg.cpa.activity.report
+    */
+    public TaobaoTbkDgCpaActivityReportResponse TaobaoTbkDgCpaActivityReport(TaobaoTbkDgCpaActivityReportRequest request)
+    {
+        var jsonResult = topApiClient.Execute(request.GetApiCode(),request.ToRequestParam(),request.ToFileParam());
+        if (string.IsNullOrEmpty(jsonResult))
+        {
+            throw new Exception("error");
+        }
+        var resultObj = TopUtils.parseResultJson<TaobaoTbkDgCpaActivityReportResponse>(jsonResult);
+        if(string.IsNullOrEmpty(resultObj.Body))
+        {
+            resultObj.Body = jsonResult;
+        }
+        return resultObj;
+    }
+
+    public ITopApiClient TopApiClient
+    {
+        get => topApiClient;
+        set => topApiClient = value ?? throw new ArgumentNullException(nameof(value));
+    }
+}

+ 142 - 0
Topsdk/Top/Ability3261/Domain/TaobaoTbkDgCpaActivityDetailPageResult.cs

@@ -0,0 +1,142 @@
+using System.Text.Json.Serialization;
+using System.Collections.Generic;
+using Topsdk.Util;
+
+namespace Topsdk.Top.Ability3261.Domain;
+
+public class TaobaoTbkDgCpaActivityDetailPageResult
+{
+
+    /*
+        数据结果
+    */
+    private IList<TaobaoTbkDgCpaActivityDetailResults>? results;
+
+
+    /*
+        上一页页码
+    */
+    private long? prePage;
+
+
+    /*
+        下一页页码
+    */
+    private long? nextPage;
+
+
+    /*
+        当前页码
+    */
+    private long? pageNo;
+
+
+    /*
+        总共页数
+    */
+    private long? totalPages;
+
+
+    /*
+        每页条数
+    */
+    private long? pageSize;
+
+
+    /*
+        是否有下一页
+    */
+    private bool? hasNext;
+
+
+    /*
+        总条数
+    */
+    private long? totalCount;
+
+
+    /*
+        是否有下一页
+    */
+    private bool? hasPre;
+
+
+    /*
+        数据批次号(时间戳)
+    */
+    private DateTime? runtime;
+
+
+
+    [JsonPropertyName("results")]
+    public IList<TaobaoTbkDgCpaActivityDetailResults>? Results
+    {
+        get => results;
+        set => this.results = value;
+    }
+
+    [JsonPropertyName("pre_page")]
+    public long? PrePage
+    {
+        get => prePage;
+        set => this.prePage = value;
+    }
+
+    [JsonPropertyName("next_page")]
+    public long? NextPage
+    {
+        get => nextPage;
+        set => this.nextPage = value;
+    }
+
+    [JsonPropertyName("page_no")]
+    public long? PageNo
+    {
+        get => pageNo;
+        set => this.pageNo = value;
+    }
+
+    [JsonPropertyName("total_pages")]
+    public long? TotalPages
+    {
+        get => totalPages;
+        set => this.totalPages = value;
+    }
+
+    [JsonPropertyName("page_size")]
+    public long? PageSize
+    {
+        get => pageSize;
+        set => this.pageSize = value;
+    }
+
+    [JsonPropertyName("has_next")]
+    public bool? HasNext
+    {
+        get => hasNext;
+        set => this.hasNext = value;
+    }
+
+    [JsonPropertyName("total_count")]
+    public long? TotalCount
+    {
+        get => totalCount;
+        set => this.totalCount = value;
+    }
+
+    [JsonPropertyName("has_pre")]
+    public bool? HasPre
+    {
+        get => hasPre;
+        set => this.hasPre = value;
+    }
+
+    [JsonPropertyName("runtime")]
+    public DateTime? Runtime
+    {
+        get => runtime;
+        set => this.runtime = value;
+    }
+
+}
+

+ 103 - 0
Topsdk/Top/Ability3261/Domain/TaobaoTbkDgCpaActivityDetailResult.cs

@@ -0,0 +1,103 @@
+using System.Text.Json.Serialization;
+using System.Collections.Generic;
+using Topsdk.Util;
+
+namespace Topsdk.Top.Ability3261.Domain;
+
+public class TaobaoTbkDgCpaActivityDetailResult
+{
+
+    /*
+        错误代码
+    */
+    private string? bizErrorFeature;
+
+
+    /*
+        返回素材id
+    */
+    private TaobaoTbkDgCpaActivityDetailPageResult? data;
+
+
+    /*
+        是否成功
+    */
+    private bool? success;
+
+
+    /*
+        结果码
+    */
+    private long? resultCode;
+
+
+    /*
+        错误描述
+    */
+    private string? bizErrorDesc;
+
+
+    /*
+        错误代码
+    */
+    private long? bizErrorCode;
+
+
+    /*
+        结果信息
+    */
+    private string? resultMsg;
+
+
+
+    [JsonPropertyName("biz_error_feature")]
+    public string? BizErrorFeature
+    {
+        get => bizErrorFeature;
+        set => this.bizErrorFeature = value;
+    }
+
+    [JsonPropertyName("data")]
+    public TaobaoTbkDgCpaActivityDetailPageResult? Data
+    {
+        get => data;
+        set => this.data = value;
+    }
+
+    [JsonPropertyName("success")]
+    public bool? Success
+    {
+        get => success;
+        set => this.success = value;
+    }
+
+    [JsonPropertyName("result_code")]
+    public long? ResultCode
+    {
+        get => resultCode;
+        set => this.resultCode = value;
+    }
+
+    [JsonPropertyName("biz_error_desc")]
+    public string? BizErrorDesc
+    {
+        get => bizErrorDesc;
+        set => this.bizErrorDesc = value;
+    }
+
+    [JsonPropertyName("biz_error_code")]
+    public long? BizErrorCode
+    {
+        get => bizErrorCode;
+        set => this.bizErrorCode = value;
+    }
+
+    [JsonPropertyName("result_msg")]
+    public string? ResultMsg
+    {
+        get => resultMsg;
+        set => this.resultMsg = value;
+    }
+
+}
+

+ 51 - 0
Topsdk/Top/Ability3261/Domain/TaobaoTbkDgCpaActivityDetailResults.cs

@@ -0,0 +1,51 @@
+using System.Text.Json.Serialization;
+using System.Collections.Generic;
+using Topsdk.Util;
+
+namespace Topsdk.Top.Ability3261.Domain;
+
+public class TaobaoTbkDgCpaActivityDetailResults
+{
+
+    /*
+        奖励明细数据,KV结构。字段释义见文档:https://www.yuque.com/docs/share/7ecf8cf1-7f99-4633-a2ed-f9b6f8116af5?#
+    */
+    private string? fieldDetail;
+
+
+    /*
+        明细类型,1:预估明细,2:结算明细
+    */
+    private long? calcType;
+
+
+    /*
+        明细记录主键id
+    */
+    private long? id;
+
+
+
+    [JsonPropertyName("field_detail")]
+    public string? FieldDetail
+    {
+        get => fieldDetail;
+        set => this.fieldDetail = value;
+    }
+
+    [JsonPropertyName("calc_type")]
+    public long? CalcType
+    {
+        get => calcType;
+        set => this.calcType = value;
+    }
+
+    [JsonPropertyName("id")]
+    public long? Id
+    {
+        get => id;
+        set => this.id = value;
+    }
+
+}
+

+ 25 - 0
Topsdk/Top/Ability3261/Domain/TaobaoTbkDgCpaActivityReportPageResult.cs

@@ -0,0 +1,25 @@
+using System.Text.Json.Serialization;
+using System.Collections.Generic;
+using Topsdk.Util;
+
+namespace Topsdk.Top.Ability3261.Domain;
+
+public class TaobaoTbkDgCpaActivityReportPageResult
+{
+
+    /*
+        数据列表
+    */
+    private IList<TaobaoTbkDgCpaActivityReportVegasCpaReportDTO>? results;
+
+
+
+    [JsonPropertyName("results")]
+    public IList<TaobaoTbkDgCpaActivityReportVegasCpaReportDTO>? Results
+    {
+        get => results;
+        set => this.results = value;
+    }
+
+}
+

+ 25 - 0
Topsdk/Top/Ability3261/Domain/TaobaoTbkDgCpaActivityReportRpcResult.cs

@@ -0,0 +1,25 @@
+using System.Text.Json.Serialization;
+using System.Collections.Generic;
+using Topsdk.Util;
+
+namespace Topsdk.Top.Ability3261.Domain;
+
+public class TaobaoTbkDgCpaActivityReportRpcResult
+{
+
+    /*
+        分页模型
+    */
+    private TaobaoTbkDgCpaActivityReportPageResult? data;
+
+
+
+    [JsonPropertyName("data")]
+    public TaobaoTbkDgCpaActivityReportPageResult? Data
+    {
+        get => data;
+        set => this.data = value;
+    }
+
+}
+

+ 103 - 0
Topsdk/Top/Ability3261/Domain/TaobaoTbkDgCpaActivityReportVegasCpaReportDTO.cs

@@ -0,0 +1,103 @@
+using System.Text.Json.Serialization;
+using System.Collections.Generic;
+using Topsdk.Util;
+
+namespace Topsdk.Top.Ability3261.Domain;
+
+public class TaobaoTbkDgCpaActivityReportVegasCpaReportDTO
+{
+
+    /*
+        符合奖励要求的累计用户数;按入参是预估/结算,区分用户数为预估or可结算结果;
+    */
+    private long? union30dLxUv;
+
+
+    /*
+        奖励金额;按入参是预估/结算,区分获得金额为预估or可结算结果;
+    */
+    private string? rewardAmount;
+
+
+    /*
+        rid,当查询数据为rid维度时返回该字段
+    */
+    private long? relationId;
+
+
+    /*
+        统计日期(统计活动期内,截止 统计日期 的数据)
+    */
+    private string? bizDate;
+
+
+    /*
+        媒体三段式id,当查询数据为pid维度时返回该字段
+    */
+    private string? pid;
+
+
+    /*
+        数据类型:1预估 2结算
+    */
+    private long? queryType;
+
+
+    /*
+        活动相关数据信息
+    */
+    private string? extInfo;
+
+
+
+    [JsonPropertyName("union_30d_lx_uv")]
+    public long? Union30dLxUv
+    {
+        get => union30dLxUv;
+        set => this.union30dLxUv = value;
+    }
+
+    [JsonPropertyName("reward_amount")]
+    public string? RewardAmount
+    {
+        get => rewardAmount;
+        set => this.rewardAmount = value;
+    }
+
+    [JsonPropertyName("relation_id")]
+    public long? RelationId
+    {
+        get => relationId;
+        set => this.relationId = value;
+    }
+
+    [JsonPropertyName("biz_date")]
+    public string? BizDate
+    {
+        get => bizDate;
+        set => this.bizDate = value;
+    }
+
+    [JsonPropertyName("pid")]
+    public string? Pid
+    {
+        get => pid;
+        set => this.pid = value;
+    }
+
+    [JsonPropertyName("query_type")]
+    public long? QueryType
+    {
+        get => queryType;
+        set => this.queryType = value;
+    }
+
+    [JsonPropertyName("ext_info")]
+    public string? ExtInfo
+    {
+        get => extInfo;
+        set => this.extInfo = value;
+    }
+
+}
+

+ 149 - 0
Topsdk/Top/Ability3261/Request/TaobaoTbkDgCpaActivityDetailRequest.cs

@@ -0,0 +1,149 @@
+using System.Text.Json.Serialization;
+using System.Collections.Generic;
+using Topsdk.Util;
+
+namespace Topsdk.Top.Ability3261.Request;
+
+public class TaobaoTbkDgCpaActivityDetailRequest : AbstractTopApiRequest
+{
+
+    /*
+        明细类型,1:预估明细,2:结算明细
+         默认值:1    */
+    private long? queryType;
+
+
+    /*
+        每页条数
+         默认值:10    */
+    private long? pageSize;
+
+
+    /*
+        页码
+         默认值:1    */
+    private long? pageNo;
+
+
+    /*
+        CPA活动ID
+            */
+    private long? eventId;
+
+
+    /*
+        CPA活动奖励的统计口径,相关说明见文档:https://www.yuque.com/docs/share/7ecf8cf1-7f99-4633-a2ed-f9b6f8116af5?#
+            */
+    private string? indicatorAlias;
+
+
+    /*
+        下一页开始查询的记录主键id
+            */
+    private long? startId;
+
+
+    /*
+        指定数据批次号(时间戳)
+            */
+    private DateTime? runtime;
+
+
+    [JsonPropertyName("query_type")]
+    public long? QueryType
+    {
+        get => queryType;
+        set => this.queryType = 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("event_id")]
+    public long? EventId
+    {
+        get => eventId;
+        set => this.eventId = value;
+    }
+
+    [JsonPropertyName("indicator_alias")]
+    public string? IndicatorAlias
+    {
+        get => indicatorAlias;
+        set => this.indicatorAlias = value;
+    }
+
+    [JsonPropertyName("start_id")]
+    public long? StartId
+    {
+        get => startId;
+        set => this.startId = value;
+    }
+
+    [JsonPropertyName("runtime")]
+    public DateTime? Runtime
+    {
+        get => runtime;
+        set => this.runtime = value;
+    }
+
+
+
+    public override IDictionary<string, string> ToRequestParam()
+    {
+        IDictionary<string, string> requestParam = new Dictionary<string, string>();
+        if(this.queryType != null)
+        {
+            requestParam.Add("query_type",TopUtils.ConvertBasicType(this.queryType));
+        }
+        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.eventId != null)
+        {
+            requestParam.Add("event_id",TopUtils.ConvertBasicType(this.eventId));
+        }
+        if(this.indicatorAlias != null)
+        {
+            requestParam.Add("indicator_alias",TopUtils.ConvertBasicType(this.indicatorAlias));
+        }
+        if(this.startId != null)
+        {
+            requestParam.Add("start_id",TopUtils.ConvertBasicType(this.startId));
+        }
+        if(this.runtime != null)
+        {
+            requestParam.Add("runtime",TopUtils.ConvertBasicType(this.runtime));
+        }
+        return requestParam;
+    }
+
+    public override IDictionary<string, TopFileItem> ToFileParam()
+    {
+        IDictionary<string, TopFileItem> fileParam = new Dictionary<string, TopFileItem>();
+        return fileParam;
+    }
+
+    public override string GetApiCode()
+    {
+        return "taobao.tbk.dg.cpa.activity.detail";
+    }
+
+}
+

+ 149 - 0
Topsdk/Top/Ability3261/Request/TaobaoTbkDgCpaActivityReportRequest.cs

@@ -0,0 +1,149 @@
+using System.Text.Json.Serialization;
+using System.Collections.Generic;
+using Topsdk.Util;
+
+namespace Topsdk.Top.Ability3261.Request;
+
+public class TaobaoTbkDgCpaActivityReportRequest : AbstractTopApiRequest
+{
+
+    /*
+        CPA活动ID,详见https://www.yuque.com/docs/share/16905f3f-3a22-4e7c-b8c3-4d23791d42f7?#
+            */
+    private long? eventId;
+
+
+    /*
+        日期(yyyyMMdd)
+            */
+    private string? bizDate;
+
+
+    /*
+        分页页数,从1开始
+            */
+    private long? pageNo;
+
+
+    /*
+        数据类型:数据类型:1预估 2结算 (选择1可查询含当天实时预估统计的累计数据,选择2可查询最晚截止昨天结算的累计数据,具体逻辑以活动规则描述为准;)
+         默认值:1    */
+    private long? queryType;
+
+
+    /*
+        分页大小
+            */
+    private long? pageSize;
+
+
+    /*
+        媒体三段式id(如果传入pid则返回pid汇总数据,不传则返回member维度统计数据,pid和relationid不可同时传入)
+            */
+    private string? pid;
+
+
+    /*
+        代理id(如果传入rid则返回rid统计数据,不传则返回member维度统计数据)
+            */
+    private long? relationId;
+
+
+    [JsonPropertyName("event_id")]
+    public long? EventId
+    {
+        get => eventId;
+        set => this.eventId = value;
+    }
+
+    [JsonPropertyName("biz_date")]
+    public string? BizDate
+    {
+        get => bizDate;
+        set => this.bizDate = value;
+    }
+
+    [JsonPropertyName("page_no")]
+    public long? PageNo
+    {
+        get => pageNo;
+        set => this.pageNo = value;
+    }
+
+    [JsonPropertyName("query_type")]
+    public long? QueryType
+    {
+        get => queryType;
+        set => this.queryType = value;
+    }
+
+    [JsonPropertyName("page_size")]
+    public long? PageSize
+    {
+        get => pageSize;
+        set => this.pageSize = value;
+    }
+
+    [JsonPropertyName("pid")]
+    public string? Pid
+    {
+        get => pid;
+        set => this.pid = value;
+    }
+
+    [JsonPropertyName("relation_id")]
+    public long? RelationId
+    {
+        get => relationId;
+        set => this.relationId = value;
+    }
+
+
+
+    public override IDictionary<string, string> ToRequestParam()
+    {
+        IDictionary<string, string> requestParam = new Dictionary<string, string>();
+        if(this.eventId != null)
+        {
+            requestParam.Add("event_id",TopUtils.ConvertBasicType(this.eventId));
+        }
+        if(this.bizDate != null)
+        {
+            requestParam.Add("biz_date",TopUtils.ConvertBasicType(this.bizDate));
+        }
+        if(this.pageNo != null)
+        {
+            requestParam.Add("page_no",TopUtils.ConvertBasicType(this.pageNo));
+        }
+        if(this.queryType != null)
+        {
+            requestParam.Add("query_type",TopUtils.ConvertBasicType(this.queryType));
+        }
+        if(this.pageSize != null)
+        {
+            requestParam.Add("page_size",TopUtils.ConvertBasicType(this.pageSize));
+        }
+        if(this.pid != null)
+        {
+            requestParam.Add("pid",TopUtils.ConvertBasicType(this.pid));
+        }
+        if(this.relationId != null)
+        {
+            requestParam.Add("relation_id",TopUtils.ConvertBasicType(this.relationId));
+        }
+        return requestParam;
+    }
+
+    public override IDictionary<string, TopFileItem> ToFileParam()
+    {
+        IDictionary<string, TopFileItem> fileParam = new Dictionary<string, TopFileItem>();
+        return fileParam;
+    }
+
+    public override string GetApiCode()
+    {
+        return "taobao.tbk.dg.cpa.activity.report";
+    }
+
+}
+

+ 25 - 0
Topsdk/Top/Ability3261/Response/TaobaoTbkDgCpaActivityDetailResponse.cs

@@ -0,0 +1,25 @@
+using System.Collections.Generic;
+using System.Text.Json.Serialization;
+using Topsdk.Util;
+using Topsdk.Top.Ability3261.Domain;
+
+namespace Topsdk.Top.Ability3261.Response;
+
+public class TaobaoTbkDgCpaActivityDetailResponse : AbstractTopApiResponse
+{
+
+    /*
+        接口返回model
+            */
+    private TaobaoTbkDgCpaActivityDetailResult? result;
+
+
+    [JsonPropertyName("result")]
+    public TaobaoTbkDgCpaActivityDetailResult? Result
+    {
+        get => result;
+        set => this.result = value;
+    }
+
+}
+

+ 25 - 0
Topsdk/Top/Ability3261/Response/TaobaoTbkDgCpaActivityReportResponse.cs

@@ -0,0 +1,25 @@
+using System.Collections.Generic;
+using System.Text.Json.Serialization;
+using Topsdk.Util;
+using Topsdk.Top.Ability3261.Domain;
+
+namespace Topsdk.Top.Ability3261.Response;
+
+public class TaobaoTbkDgCpaActivityReportResponse : AbstractTopApiResponse
+{
+
+    /*
+        返回模型
+            */
+    private TaobaoTbkDgCpaActivityReportRpcResult? result;
+
+
+    [JsonPropertyName("result")]
+    public TaobaoTbkDgCpaActivityReportRpcResult? Result
+    {
+        get => result;
+        set => this.result = value;
+    }
+
+}
+

+ 42 - 0
Topsdk/Top/Ability369/Ability369.cs

@@ -0,0 +1,42 @@
+using Topsdk.Top.Ability369.Request;
+using Topsdk.Top.Ability369.Response;
+using Topsdk.Util;
+
+namespace Topsdk.Top.Ability369;
+
+
+public class Ability369
+{
+
+    private ITopApiClient topApiClient;
+
+    public Ability369(ITopApiClient topApiClient)
+    {
+        this.topApiClient = topApiClient;
+    }
+
+    /*
+        淘宝客-推广者-权益物料精选
+        taobao.tbk.dg.optimus.promotion
+    */
+    public TaobaoTbkDgOptimusPromotionResponse TaobaoTbkDgOptimusPromotion(TaobaoTbkDgOptimusPromotionRequest request)
+    {
+        var jsonResult = topApiClient.Execute(request.GetApiCode(),request.ToRequestParam(),request.ToFileParam());
+        if (string.IsNullOrEmpty(jsonResult))
+        {
+            throw new Exception("error");
+        }
+        var resultObj = TopUtils.parseResultJson<TaobaoTbkDgOptimusPromotionResponse>(jsonResult);
+        if(string.IsNullOrEmpty(resultObj.Body))
+        {
+            resultObj.Body = jsonResult;
+        }
+        return resultObj;
+    }
+
+    public ITopApiClient TopApiClient
+    {
+        get => topApiClient;
+        set => topApiClient = value ?? throw new ArgumentNullException(nameof(value));
+    }
+}

+ 181 - 0
Topsdk/Top/Ability369/Domain/TaobaoTbkDgOptimusPromotionMapData.cs

@@ -0,0 +1,181 @@
+using System.Text.Json.Serialization;
+using System.Collections.Generic;
+using Topsdk.Util;
+
+namespace Topsdk.Top.Ability369.Domain;
+
+public class TaobaoTbkDgOptimusPromotionMapData
+{
+
+    /*
+        权益类型。1 有价券(需要购买的店铺券或单品券) 2 公开券(直接领取的店铺券或单品券) 3 妈妈券(妈妈渠道领取的店铺券或单品券) 4.品类券 (跨店可用券,可与1,2,3叠加)
+    */
+    private string? promotionType;
+
+
+    /*
+        优惠门槛类型: 1 满元 2 满件
+    */
+    private string? conditionType;
+
+
+    /*
+        优惠类型: 1 减钱 2 打折
+    */
+    private string? discountType;
+
+
+    /*
+        权益信息-总量(权益初始库存量)
+    */
+    private long? totalCount;
+
+
+    /*
+        权益信息-剩余库存(权益剩余库存量)
+    */
+    private long? remainCount;
+
+
+    /*
+        权益信息展示开始时间,精确到毫秒时间戳
+    */
+    private string? displayStartTime;
+
+
+    /*
+        权益信息展示结束时间,精确到毫秒时间戳
+    */
+    private string? displayEndTime;
+
+
+    /*
+        权益信息
+    */
+    private IList<TaobaoTbkDgOptimusPromotionPromotionList>? promotionList;
+
+
+    /*
+        权益扩展信息
+    */
+    private TaobaoTbkDgOptimusPromotionPromotionExtend? promotionExtend;
+
+
+    /*
+        店铺信息-卖家ID
+    */
+    private string? sellerId;
+
+
+    /*
+        店铺信息-卖家昵称
+    */
+    private string? nick;
+
+
+    /*
+        店铺信息-店铺名称
+    */
+    private string? shopTitle;
+
+
+    /*
+        店铺信息-店铺logo
+    */
+    private string? shopPictureUrl;
+
+
+
+    [JsonPropertyName("promotion_type")]
+    public string? PromotionType
+    {
+        get => promotionType;
+        set => this.promotionType = value;
+    }
+
+    [JsonPropertyName("condition_type")]
+    public string? ConditionType
+    {
+        get => conditionType;
+        set => this.conditionType = value;
+    }
+
+    [JsonPropertyName("discount_type")]
+    public string? DiscountType
+    {
+        get => discountType;
+        set => this.discountType = value;
+    }
+
+    [JsonPropertyName("total_count")]
+    public long? TotalCount
+    {
+        get => totalCount;
+        set => this.totalCount = value;
+    }
+
+    [JsonPropertyName("remain_count")]
+    public long? RemainCount
+    {
+        get => remainCount;
+        set => this.remainCount = value;
+    }
+
+    [JsonPropertyName("display_start_time")]
+    public string? DisplayStartTime
+    {
+        get => displayStartTime;
+        set => this.displayStartTime = value;
+    }
+
+    [JsonPropertyName("display_end_time")]
+    public string? DisplayEndTime
+    {
+        get => displayEndTime;
+        set => this.displayEndTime = value;
+    }
+
+    [JsonPropertyName("promotion_list")]
+    public IList<TaobaoTbkDgOptimusPromotionPromotionList>? PromotionList
+    {
+        get => promotionList;
+        set => this.promotionList = value;
+    }
+
+    [JsonPropertyName("promotion_extend")]
+    public TaobaoTbkDgOptimusPromotionPromotionExtend? PromotionExtend
+    {
+        get => promotionExtend;
+        set => this.promotionExtend = value;
+    }
+
+    [JsonPropertyName("seller_id")]
+    public string? SellerId
+    {
+        get => sellerId;
+        set => this.sellerId = value;
+    }
+
+    [JsonPropertyName("nick")]
+    public string? Nick
+    {
+        get => nick;
+        set => this.nick = value;
+    }
+
+    [JsonPropertyName("shop_title")]
+    public string? ShopTitle
+    {
+        get => shopTitle;
+        set => this.shopTitle = value;
+    }
+
+    [JsonPropertyName("shop_picture_url")]
+    public string? ShopPictureUrl
+    {
+        get => shopPictureUrl;
+        set => this.shopPictureUrl = value;
+    }
+
+}
+

+ 51 - 0
Topsdk/Top/Ability369/Domain/TaobaoTbkDgOptimusPromotionPromotionExtend.cs

@@ -0,0 +1,51 @@
+using System.Text.Json.Serialization;
+using System.Collections.Generic;
+using Topsdk.Util;
+
+namespace Topsdk.Top.Ability369.Domain;
+
+public class TaobaoTbkDgOptimusPromotionPromotionExtend
+{
+
+    /*
+        权益推荐商品
+    */
+    private IList<TaobaoTbkDgOptimusPromotionRecommendItemList>? recommendItemList;
+
+
+    /*
+        有价券信息
+    */
+    private TaobaoTbkDgOptimusPromotionYoujiacouponinfo? youjiaCouponInfo;
+
+
+    /*
+        权益链接
+    */
+    private string? promotionUrl;
+
+
+
+    [JsonPropertyName("recommend_item_list")]
+    public IList<TaobaoTbkDgOptimusPromotionRecommendItemList>? RecommendItemList
+    {
+        get => recommendItemList;
+        set => this.recommendItemList = value;
+    }
+
+    [JsonPropertyName("youjia_coupon_info")]
+    public TaobaoTbkDgOptimusPromotionYoujiacouponinfo? YoujiaCouponInfo
+    {
+        get => youjiaCouponInfo;
+        set => this.youjiaCouponInfo = value;
+    }
+
+    [JsonPropertyName("promotion_url")]
+    public string? PromotionUrl
+    {
+        get => promotionUrl;
+        set => this.promotionUrl = value;
+    }
+
+}
+

+ 64 - 0
Topsdk/Top/Ability369/Domain/TaobaoTbkDgOptimusPromotionPromotionList.cs

@@ -0,0 +1,64 @@
+using System.Text.Json.Serialization;
+using System.Collections.Generic;
+using Topsdk.Util;
+
+namespace Topsdk.Top.Ability369.Domain;
+
+public class TaobaoTbkDgOptimusPromotionPromotionList
+{
+
+    /*
+        权益开始时间,精确到毫秒时间戳
+    */
+    private string? entryUsedStartTime;
+
+
+    /*
+        权益结束时间,精确到毫秒时间戳
+    */
+    private string? entryUsedEndTime;
+
+
+    /*
+        权益起用门槛,满X元可用,券场景为满元,精确到分,如满100元可用
+    */
+    private string? entryCondition;
+
+
+    /*
+        权益面额,券场景为减钱,精确到分
+    */
+    private string? entryDiscount;
+
+
+
+    [JsonPropertyName("entry_used_start_time")]
+    public string? EntryUsedStartTime
+    {
+        get => entryUsedStartTime;
+        set => this.entryUsedStartTime = value;
+    }
+
+    [JsonPropertyName("entry_used_end_time")]
+    public string? EntryUsedEndTime
+    {
+        get => entryUsedEndTime;
+        set => this.entryUsedEndTime = value;
+    }
+
+    [JsonPropertyName("entry_condition")]
+    public string? EntryCondition
+    {
+        get => entryCondition;
+        set => this.entryCondition = value;
+    }
+
+    [JsonPropertyName("entry_discount")]
+    public string? EntryDiscount
+    {
+        get => entryDiscount;
+        set => this.entryDiscount = value;
+    }
+
+}
+

+ 38 - 0
Topsdk/Top/Ability369/Domain/TaobaoTbkDgOptimusPromotionRecommendItemList.cs

@@ -0,0 +1,38 @@
+using System.Text.Json.Serialization;
+using System.Collections.Generic;
+using Topsdk.Util;
+
+namespace Topsdk.Top.Ability369.Domain;
+
+public class TaobaoTbkDgOptimusPromotionRecommendItemList
+{
+
+    /*
+        权益推荐商品id
+    */
+    private long? itemId;
+
+
+    /*
+        商品链接
+    */
+    private string? url;
+
+
+
+    [JsonPropertyName("item_id")]
+    public long? ItemId
+    {
+        get => itemId;
+        set => this.itemId = value;
+    }
+
+    [JsonPropertyName("url")]
+    public string? Url
+    {
+        get => url;
+        set => this.url = value;
+    }
+
+}
+

+ 38 - 0
Topsdk/Top/Ability369/Domain/TaobaoTbkDgOptimusPromotionYoujiacouponinfo.cs

@@ -0,0 +1,38 @@
+using System.Text.Json.Serialization;
+using System.Collections.Generic;
+using Topsdk.Util;
+
+namespace Topsdk.Top.Ability369.Domain;
+
+public class TaobaoTbkDgOptimusPromotionYoujiacouponinfo
+{
+
+    /*
+        有价券商品id
+    */
+    private string? itemId;
+
+
+    /*
+        商品链接
+    */
+    private string? url;
+
+
+
+    [JsonPropertyName("item_id")]
+    public string? ItemId
+    {
+        get => itemId;
+        set => this.itemId = value;
+    }
+
+    [JsonPropertyName("url")]
+    public string? Url
+    {
+        get => url;
+        set => this.url = value;
+    }
+
+}
+

+ 98 - 0
Topsdk/Top/Ability369/Request/TaobaoTbkDgOptimusPromotionRequest.cs

@@ -0,0 +1,98 @@
+using System.Text.Json.Serialization;
+using System.Collections.Generic;
+using Topsdk.Util;
+
+namespace Topsdk.Top.Ability369.Request;
+
+public class TaobaoTbkDgOptimusPromotionRequest : AbstractTopApiRequest
+{
+
+    /*
+        页大小,一次请求请限制在10以内
+         默认值:10    */
+    private long? pageSize;
+
+
+    /*
+        第几页,默认:1
+         默认值:1    */
+    private long? pageNum;
+
+
+    /*
+        mm_xxx_xxx_xxx的第3段数字
+            */
+    private long? adzoneId;
+
+
+    /*
+        官方提供的权益物料Id。有价券-37104、大额店铺券-37116、天猫店铺券-62191、券券补-61809 更多权益物料id敬请期待!
+            */
+    private long? promotionId;
+
+
+    [JsonPropertyName("page_size")]
+    public long? PageSize
+    {
+        get => pageSize;
+        set => this.pageSize = value;
+    }
+
+    [JsonPropertyName("page_num")]
+    public long? PageNum
+    {
+        get => pageNum;
+        set => this.pageNum = value;
+    }
+
+    [JsonPropertyName("adzone_id")]
+    public long? AdzoneId
+    {
+        get => adzoneId;
+        set => this.adzoneId = value;
+    }
+
+    [JsonPropertyName("promotion_id")]
+    public long? PromotionId
+    {
+        get => promotionId;
+        set => this.promotionId = value;
+    }
+
+
+
+    public override IDictionary<string, string> ToRequestParam()
+    {
+        IDictionary<string, string> requestParam = new Dictionary<string, string>();
+        if(this.pageSize != null)
+        {
+            requestParam.Add("page_size",TopUtils.ConvertBasicType(this.pageSize));
+        }
+        if(this.pageNum != null)
+        {
+            requestParam.Add("page_num",TopUtils.ConvertBasicType(this.pageNum));
+        }
+        if(this.adzoneId != null)
+        {
+            requestParam.Add("adzone_id",TopUtils.ConvertBasicType(this.adzoneId));
+        }
+        if(this.promotionId != null)
+        {
+            requestParam.Add("promotion_id",TopUtils.ConvertBasicType(this.promotionId));
+        }
+        return requestParam;
+    }
+
+    public override IDictionary<string, TopFileItem> ToFileParam()
+    {
+        IDictionary<string, TopFileItem> fileParam = new Dictionary<string, TopFileItem>();
+        return fileParam;
+    }
+
+    public override string GetApiCode()
+    {
+        return "taobao.tbk.dg.optimus.promotion";
+    }
+
+}
+

+ 25 - 0
Topsdk/Top/Ability369/Response/TaobaoTbkDgOptimusPromotionResponse.cs

@@ -0,0 +1,25 @@
+using System.Collections.Generic;
+using System.Text.Json.Serialization;
+using Topsdk.Util;
+using Topsdk.Top.Ability369.Domain;
+
+namespace Topsdk.Top.Ability369.Response;
+
+public class TaobaoTbkDgOptimusPromotionResponse : AbstractTopApiResponse
+{
+
+    /*
+        resultList
+            */
+    private IList<TaobaoTbkDgOptimusPromotionMapData>? resultList;
+
+
+    [JsonPropertyName("result_list")]
+    public IList<TaobaoTbkDgOptimusPromotionMapData>? ResultList
+    {
+        get => resultList;
+        set => this.resultList = value;
+    }
+
+}
+

+ 60 - 0
Topsdk/Top/Ability370/Ability370.cs

@@ -0,0 +1,60 @@
+using Topsdk.Top.Ability370.Request;
+using Topsdk.Top.Ability370.Response;
+using Topsdk.Util;
+
+namespace Topsdk.Top.Ability370;
+
+
+public class Ability370
+{
+
+    private ITopApiClient topApiClient;
+
+    public Ability370(ITopApiClient topApiClient)
+    {
+        this.topApiClient = topApiClient;
+    }
+
+    /*
+        淘宝客-推广者-店铺搜索
+        taobao.tbk.shop.get
+    */
+    public TaobaoTbkShopGetResponse TaobaoTbkShopGet(TaobaoTbkShopGetRequest request)
+    {
+        var jsonResult = topApiClient.Execute(request.GetApiCode(),request.ToRequestParam(),request.ToFileParam());
+        if (string.IsNullOrEmpty(jsonResult))
+        {
+            throw new Exception("error");
+        }
+        var resultObj = TopUtils.parseResultJson<TaobaoTbkShopGetResponse>(jsonResult);
+        if(string.IsNullOrEmpty(resultObj.Body))
+        {
+            resultObj.Body = jsonResult;
+        }
+        return resultObj;
+    }
+    /*
+        淘宝客-推广者-物料搜索(临时接口)
+        taobao.tbk.dg.material.temporary.optional
+    */
+    public TaobaoTbkDgMaterialTemporaryOptionalResponse TaobaoTbkDgMaterialTemporaryOptional(TaobaoTbkDgMaterialTemporaryOptionalRequest request)
+    {
+        var jsonResult = topApiClient.Execute(request.GetApiCode(),request.ToRequestParam(),request.ToFileParam());
+        if (string.IsNullOrEmpty(jsonResult))
+        {
+            throw new Exception("error");
+        }
+        var resultObj = TopUtils.parseResultJson<TaobaoTbkDgMaterialTemporaryOptionalResponse>(jsonResult);
+        if(string.IsNullOrEmpty(resultObj.Body))
+        {
+            resultObj.Body = jsonResult;
+        }
+        return resultObj;
+    }
+
+    public ITopApiClient TopApiClient
+    {
+        get => topApiClient;
+        set => topApiClient = value ?? throw new ArgumentNullException(nameof(value));
+    }
+}

+ 64 - 0
Topsdk/Top/Ability370/Domain/TaobaoTbkDgMaterialTemporaryOptionalMaifanPromotionDTO.cs

@@ -0,0 +1,64 @@
+using System.Text.Json.Serialization;
+using System.Collections.Generic;
+using Topsdk.Util;
+
+namespace Topsdk.Top.Ability370.Domain;
+
+public class TaobaoTbkDgMaterialTemporaryOptionalMaifanPromotionDTO
+{
+
+    /*
+        猫超买返卡活动结束时间
+    */
+    private string? maifanPromotionEndTime;
+
+
+    /*
+        猫超买返卡活动开始时间
+    */
+    private string? maifanPromotionStartTime;
+
+
+    /*
+        猫超买返卡面额
+    */
+    private string? maifanPromotionDiscount;
+
+
+    /*
+        猫超买返卡总数,-1代表不限量,其他大于等于0的值为总数
+    */
+    private string? maifanPromotionCondition;
+
+
+
+    [JsonPropertyName("maifan_promotion_end_time")]
+    public string? MaifanPromotionEndTime
+    {
+        get => maifanPromotionEndTime;
+        set => this.maifanPromotionEndTime = value;
+    }
+
+    [JsonPropertyName("maifan_promotion_start_time")]
+    public string? MaifanPromotionStartTime
+    {
+        get => maifanPromotionStartTime;
+        set => this.maifanPromotionStartTime = value;
+    }
+
+    [JsonPropertyName("maifan_promotion_discount")]
+    public string? MaifanPromotionDiscount
+    {
+        get => maifanPromotionDiscount;
+        set => this.maifanPromotionDiscount = value;
+    }
+
+    [JsonPropertyName("maifan_promotion_condition")]
+    public string? MaifanPromotionCondition
+    {
+        get => maifanPromotionCondition;
+        set => this.maifanPromotionCondition = value;
+    }
+
+}
+

+ 1104 - 0
Topsdk/Top/Ability370/Domain/TaobaoTbkDgMaterialTemporaryOptionalMapData.cs

@@ -0,0 +1,1104 @@
+using System.Text.Json.Serialization;
+using System.Collections.Generic;
+using Topsdk.Util;
+
+namespace Topsdk.Top.Ability370.Domain;
+
+public class TaobaoTbkDgMaterialTemporaryOptionalMapData
+{
+
+    /*
+        优惠券信息-优惠券开始时间
+    */
+    private string? couponStartTime;
+
+
+    /*
+        优惠券信息-优惠券结束时间
+    */
+    private string? couponEndTime;
+
+
+    /*
+        商品信息-定向计划信息
+    */
+    private string? infoDxjh;
+
+
+    /*
+        商品信息-淘客30天推广量
+    */
+    private string? tkTotalSales;
+
+
+    /*
+        商品信息-月支出佣金(该字段废弃,请勿再用)
+    */
+    private string? tkTotalCommi;
+
+
+    /*
+        优惠券信息-优惠券id
+    */
+    private string? couponId;
+
+
+    /*
+        商品信息-宝贝id(该字段废弃,请勿再用)
+    */
+    private string? numIid;
+
+
+    /*
+        商品信息-商品标题
+    */
+    private string? title;
+
+
+    /*
+        商品信息-商品主图
+    */
+    private string? pictUrl;
+
+
+    /*
+        商品信息-商品小图列表
+    */
+    private IList<string>? smallImages;
+
+
+    /*
+        商品信息-商品一口价格
+    */
+    private string? reservePrice;
+
+
+    /*
+        折扣价(元) 若属于预售商品,付定金时间内,折扣价=预售价
+    */
+    private string? zkFinalPrice;
+
+
+    /*
+        店铺信息-卖家类型。0表示集市,1表示天猫
+    */
+    private long? userType;
+
+
+    /*
+        商品信息-宝贝所在地
+    */
+    private string? provcity;
+
+
+    /*
+        链接-宝贝地址
+    */
+    private string? itemUrl;
+
+
+    /*
+        商品信息-是否包含营销计划
+    */
+    private string? includeMkt;
+
+
+    /*
+        商品信息-是否包含定向计划
+    */
+    private string? includeDxjh;
+
+
+    /*
+        商品信息-佣金比率。1550表示15.5%
+    */
+    private string? commissionRate;
+
+
+    /*
+        商品信息-30天销量(饿了么卡券信息-总销量)
+    */
+    private long? volume;
+
+
+    /*
+        店铺信息-店铺名称
+    */
+    private string? shopTitle;
+
+
+    /*
+        优惠券信息-优惠券总量
+    */
+    private long? couponTotalCount;
+
+
+    /*
+        优惠券信息-优惠券剩余量
+    */
+    private long? couponRemainCount;
+
+
+    /*
+        优惠券信息-优惠券满减信息
+    */
+    private string? couponInfo;
+
+
+    /*
+        商品信息-佣金类型。MKT表示营销计划,SP表示定向计划,COMMON表示通用计划
+    */
+    private string? commissionType;
+
+
+    /*
+        店铺信息-店铺dsr评分
+    */
+    private long? shopDsr;
+
+
+    /*
+        链接-宝贝+券二合一页面链接
+    */
+    private string? couponShareUrl;
+
+
+    /*
+        链接-宝贝推广链接
+    */
+    private string? url;
+
+
+    /*
+        商品信息-一级类目名称
+    */
+    private string? levelOneCategoryName;
+
+
+    /*
+        商品信息-一级类目ID
+    */
+    private long? levelOneCategoryId;
+
+
+    /*
+        商品信息-叶子类目名称
+    */
+    private string? categoryName;
+
+
+    /*
+        商品信息-叶子类目id
+    */
+    private long? categoryId;
+
+
+    /*
+        商品信息-商品短标题
+    */
+    private string? shortTitle;
+
+
+    /*
+        商品信息-商品白底图
+    */
+    private string? whiteImage;
+
+
+    /*
+        拼团专用-拼团结束时间
+    */
+    private string? oetime;
+
+
+    /*
+        拼团专用-拼团开始时间
+    */
+    private string? ostime;
+
+
+    /*
+        拼团专用-拼团几人团
+    */
+    private long? jddNum;
+
+
+    /*
+        拼团专用-拼团拼成价,单位元
+    */
+    private string? jddPrice;
+
+
+    /*
+        预售专用-预售数量
+    */
+    private long? uvSumPreSale;
+
+
+    /*
+        链接-物料块id(测试中请勿使用)
+    */
+    private string? xId;
+
+
+    /*
+        优惠券信息-优惠券起用门槛,满X元可用。如:满299元减20元
+    */
+    private string? couponStartFee;
+
+
+    /*
+        优惠券(元) 若属于预售商品,该优惠券付尾款可用,付定金不可用
+    */
+    private string? couponAmount;
+
+
+    /*
+        商品信息-宝贝描述(推荐理由)
+    */
+    private string? itemDescription;
+
+
+    /*
+        店铺信息-卖家昵称
+    */
+    private string? nick;
+
+
+    /*
+        拼团专用-拼团一人价(原价),单位元
+    */
+    private string? origPrice;
+
+
+    /*
+        拼团专用-拼团库存数量
+    */
+    private long? totalStock;
+
+
+    /*
+        拼团专用-拼团已售数量
+    */
+    private long? sellNum;
+
+
+    /*
+        拼团专用-拼团剩余库存
+    */
+    private long? stock;
+
+
+    /*
+        营销-天猫营销玩法
+    */
+    private string? tmallPlayActivityInfo;
+
+
+    /*
+        商品信息-宝贝id
+    */
+    private string? itemId;
+
+
+    /*
+        商品邮费
+    */
+    private string? realPostFee;
+
+
+    /*
+        锁住的佣金率
+    */
+    private string? lockRate;
+
+
+    /*
+        锁佣结束时间
+    */
+    private long? lockRateEndTime;
+
+
+    /*
+        锁佣开始时间
+    */
+    private long? lockRateStartTime;
+
+
+    /*
+        预售商品-优惠
+    */
+    private string? presaleDiscountFeeText;
+
+
+    /*
+        预售商品-付尾款结束时间(毫秒)
+    */
+    private long? presaleTailEndTime;
+
+
+    /*
+        预售商品-付尾款开始时间(毫秒)
+    */
+    private long? presaleTailStartTime;
+
+
+    /*
+        预售商品-付定金结束时间(毫秒)
+    */
+    private long? presaleEndTime;
+
+
+    /*
+        预售商品-付定金开始时间(毫秒)
+    */
+    private long? presaleStartTime;
+
+
+    /*
+        预售商品-定金(元)
+    */
+    private string? presaleDeposit;
+
+
+    /*
+        预售有礼-淘礼金发放时间
+    */
+    private string? ysylTljSendTime;
+
+
+    /*
+        预售有礼-佣金比例( 预售有礼活动享受的推广佣金比例,注:推广该活动有特殊分成规则,请详见:https://tbk.bbs.taobao.com/detail.html?appId=45301&postId=9334376 )
+    */
+    private string? ysylCommissionRate;
+
+
+    /*
+        预售有礼-预估淘礼金(元)
+    */
+    private string? ysylTljFace;
+
+
+    /*
+        预售有礼-推广链接
+    */
+    private string? ysylClickUrl;
+
+
+    /*
+        预售有礼-淘礼金使用结束时间
+    */
+    private string? ysylTljUseEndTime;
+
+
+    /*
+        预售有礼-淘礼金使用开始时间
+    */
+    private string? ysylTljUseStartTime;
+
+
+    /*
+        本地化-销售开始时间
+    */
+    private string? saleBeginTime;
+
+
+    /*
+        本地化-销售结束时间
+    */
+    private string? saleEndTime;
+
+
+    /*
+        本地化-到门店距离(米)
+    */
+    private string? distance;
+
+
+    /*
+        本地化-可用店铺id
+    */
+    private string? usableShopId;
+
+
+    /*
+        本地化-可用店铺名称
+    */
+    private string? usableShopName;
+
+
+    /*
+        活动价
+    */
+    private string? salePrice;
+
+
+    /*
+        跨店满减信息
+    */
+    private string? kuadianPromotionInfo;
+
+
+    /*
+        是否品牌精选,0不是,1是
+    */
+    private string? superiorBrand;
+
+
+    /*
+        比价场景专用,当系统检测到入参消费者ID购买当前商品会获得《天天开彩蛋》玩法的彩蛋时,该字段显示1,否则为0
+    */
+    private long? rewardInfo;
+
+
+    /*
+        是否品牌快抢,0不是,1是
+    */
+    private string? isBrandFlashSale;
+
+
+    /*
+        本地化-扩展信息
+    */
+    private string? localizationExtend;
+
+
+    /*
+        物料评估-匹配分
+    */
+    private string? matchScore;
+
+
+    /*
+        物料评估-收益分
+    */
+    private string? commiScore;
+
+
+    /*
+        是否是热门商品,0不是,1是
+    */
+    private string? hotFlag;
+
+
+    /*
+        前N件佣金信息-前N件佣金生效或预热时透出以下字段
+    */
+    private TaobaoTbkDgMaterialTemporaryOptionalStepRateDTO? topnInfo;
+
+
+    /*
+        百亿补贴信息
+    */
+    private TaobaoTbkDgMaterialTemporaryOptionalTopNInfoDTO? bybtInfo;
+
+
+    /*
+        商品入驻淘特后产生的所有销量量级,不特指某段具体时间
+    */
+    private string? ttSoldCount;
+
+
+    /*
+        猫超买返卡信息
+    */
+    private TaobaoTbkDgMaterialTemporaryOptionalMaifanPromotionDTO? maifanPromotion;
+
+
+    /*
+        额外奖励活动类型,如果一个商品有多个奖励类型,返回结果使用空格分割,0=单单奖励,1=超级单单奖励
+    */
+    private string? cpaRewardType;
+
+
+
+    [JsonPropertyName("coupon_start_time")]
+    public string? CouponStartTime
+    {
+        get => couponStartTime;
+        set => this.couponStartTime = value;
+    }
+
+    [JsonPropertyName("coupon_end_time")]
+    public string? CouponEndTime
+    {
+        get => couponEndTime;
+        set => this.couponEndTime = value;
+    }
+
+    [JsonPropertyName("info_dxjh")]
+    public string? InfoDxjh
+    {
+        get => infoDxjh;
+        set => this.infoDxjh = value;
+    }
+
+    [JsonPropertyName("tk_total_sales")]
+    public string? TkTotalSales
+    {
+        get => tkTotalSales;
+        set => this.tkTotalSales = value;
+    }
+
+    [JsonPropertyName("tk_total_commi")]
+    public string? TkTotalCommi
+    {
+        get => tkTotalCommi;
+        set => this.tkTotalCommi = value;
+    }
+
+    [JsonPropertyName("coupon_id")]
+    public string? CouponId
+    {
+        get => couponId;
+        set => this.couponId = value;
+    }
+
+    [JsonPropertyName("num_iid")]
+    public string? NumIid
+    {
+        get => numIid;
+        set => this.numIid = value;
+    }
+
+    [JsonPropertyName("title")]
+    public string? Title
+    {
+        get => title;
+        set => this.title = value;
+    }
+
+    [JsonPropertyName("pict_url")]
+    public string? PictUrl
+    {
+        get => pictUrl;
+        set => this.pictUrl = value;
+    }
+
+    [JsonPropertyName("small_images")]
+    public IList<string>? SmallImages
+    {
+        get => smallImages;
+        set => this.smallImages = value;
+    }
+
+    [JsonPropertyName("reserve_price")]
+    public string? ReservePrice
+    {
+        get => reservePrice;
+        set => this.reservePrice = value;
+    }
+
+    [JsonPropertyName("zk_final_price")]
+    public string? ZkFinalPrice
+    {
+        get => zkFinalPrice;
+        set => this.zkFinalPrice = value;
+    }
+
+    [JsonPropertyName("user_type")]
+    public long? UserType
+    {
+        get => userType;
+        set => this.userType = value;
+    }
+
+    [JsonPropertyName("provcity")]
+    public string? Provcity
+    {
+        get => provcity;
+        set => this.provcity = value;
+    }
+
+    [JsonPropertyName("item_url")]
+    public string? ItemUrl
+    {
+        get => itemUrl;
+        set => this.itemUrl = value;
+    }
+
+    [JsonPropertyName("include_mkt")]
+    public string? IncludeMkt
+    {
+        get => includeMkt;
+        set => this.includeMkt = value;
+    }
+
+    [JsonPropertyName("include_dxjh")]
+    public string? IncludeDxjh
+    {
+        get => includeDxjh;
+        set => this.includeDxjh = value;
+    }
+
+    [JsonPropertyName("commission_rate")]
+    public string? CommissionRate
+    {
+        get => commissionRate;
+        set => this.commissionRate = value;
+    }
+
+    [JsonPropertyName("volume")]
+    public long? Volume
+    {
+        get => volume;
+        set => this.volume = value;
+    }
+
+    [JsonPropertyName("shop_title")]
+    public string? ShopTitle
+    {
+        get => shopTitle;
+        set => this.shopTitle = value;
+    }
+
+    [JsonPropertyName("coupon_total_count")]
+    public long? CouponTotalCount
+    {
+        get => couponTotalCount;
+        set => this.couponTotalCount = value;
+    }
+
+    [JsonPropertyName("coupon_remain_count")]
+    public long? CouponRemainCount
+    {
+        get => couponRemainCount;
+        set => this.couponRemainCount = value;
+    }
+
+    [JsonPropertyName("coupon_info")]
+    public string? CouponInfo
+    {
+        get => couponInfo;
+        set => this.couponInfo = value;
+    }
+
+    [JsonPropertyName("commission_type")]
+    public string? CommissionType
+    {
+        get => commissionType;
+        set => this.commissionType = value;
+    }
+
+    [JsonPropertyName("shop_dsr")]
+    public long? ShopDsr
+    {
+        get => shopDsr;
+        set => this.shopDsr = value;
+    }
+
+    [JsonPropertyName("coupon_share_url")]
+    public string? CouponShareUrl
+    {
+        get => couponShareUrl;
+        set => this.couponShareUrl = value;
+    }
+
+    [JsonPropertyName("url")]
+    public string? Url
+    {
+        get => url;
+        set => this.url = value;
+    }
+
+    [JsonPropertyName("level_one_category_name")]
+    public string? LevelOneCategoryName
+    {
+        get => levelOneCategoryName;
+        set => this.levelOneCategoryName = value;
+    }
+
+    [JsonPropertyName("level_one_category_id")]
+    public long? LevelOneCategoryId
+    {
+        get => levelOneCategoryId;
+        set => this.levelOneCategoryId = value;
+    }
+
+    [JsonPropertyName("category_name")]
+    public string? CategoryName
+    {
+        get => categoryName;
+        set => this.categoryName = value;
+    }
+
+    [JsonPropertyName("category_id")]
+    public long? CategoryId
+    {
+        get => categoryId;
+        set => this.categoryId = value;
+    }
+
+    [JsonPropertyName("short_title")]
+    public string? ShortTitle
+    {
+        get => shortTitle;
+        set => this.shortTitle = value;
+    }
+
+    [JsonPropertyName("white_image")]
+    public string? WhiteImage
+    {
+        get => whiteImage;
+        set => this.whiteImage = value;
+    }
+
+    [JsonPropertyName("oetime")]
+    public string? Oetime
+    {
+        get => oetime;
+        set => this.oetime = value;
+    }
+
+    [JsonPropertyName("ostime")]
+    public string? Ostime
+    {
+        get => ostime;
+        set => this.ostime = value;
+    }
+
+    [JsonPropertyName("jdd_num")]
+    public long? JddNum
+    {
+        get => jddNum;
+        set => this.jddNum = value;
+    }
+
+    [JsonPropertyName("jdd_price")]
+    public string? JddPrice
+    {
+        get => jddPrice;
+        set => this.jddPrice = value;
+    }
+
+    [JsonPropertyName("uv_sum_pre_sale")]
+    public long? UvSumPreSale
+    {
+        get => uvSumPreSale;
+        set => this.uvSumPreSale = value;
+    }
+
+    [JsonPropertyName("x_id")]
+    public string? XId
+    {
+        get => xId;
+        set => this.xId = value;
+    }
+
+    [JsonPropertyName("coupon_start_fee")]
+    public string? CouponStartFee
+    {
+        get => couponStartFee;
+        set => this.couponStartFee = value;
+    }
+
+    [JsonPropertyName("coupon_amount")]
+    public string? CouponAmount
+    {
+        get => couponAmount;
+        set => this.couponAmount = value;
+    }
+
+    [JsonPropertyName("item_description")]
+    public string? ItemDescription
+    {
+        get => itemDescription;
+        set => this.itemDescription = value;
+    }
+
+    [JsonPropertyName("nick")]
+    public string? Nick
+    {
+        get => nick;
+        set => this.nick = value;
+    }
+
+    [JsonPropertyName("orig_price")]
+    public string? OrigPrice
+    {
+        get => origPrice;
+        set => this.origPrice = value;
+    }
+
+    [JsonPropertyName("total_stock")]
+    public long? TotalStock
+    {
+        get => totalStock;
+        set => this.totalStock = value;
+    }
+
+    [JsonPropertyName("sell_num")]
+    public long? SellNum
+    {
+        get => sellNum;
+        set => this.sellNum = value;
+    }
+
+    [JsonPropertyName("stock")]
+    public long? Stock
+    {
+        get => stock;
+        set => this.stock = value;
+    }
+
+    [JsonPropertyName("tmall_play_activity_info")]
+    public string? TmallPlayActivityInfo
+    {
+        get => tmallPlayActivityInfo;
+        set => this.tmallPlayActivityInfo = value;
+    }
+
+    [JsonPropertyName("item_id")]
+    public string? ItemId
+    {
+        get => itemId;
+        set => this.itemId = value;
+    }
+
+    [JsonPropertyName("real_post_fee")]
+    public string? RealPostFee
+    {
+        get => realPostFee;
+        set => this.realPostFee = value;
+    }
+
+    [JsonPropertyName("lock_rate")]
+    public string? LockRate
+    {
+        get => lockRate;
+        set => this.lockRate = value;
+    }
+
+    [JsonPropertyName("lock_rate_end_time")]
+    public long? LockRateEndTime
+    {
+        get => lockRateEndTime;
+        set => this.lockRateEndTime = value;
+    }
+
+    [JsonPropertyName("lock_rate_start_time")]
+    public long? LockRateStartTime
+    {
+        get => lockRateStartTime;
+        set => this.lockRateStartTime = value;
+    }
+
+    [JsonPropertyName("presale_discount_fee_text")]
+    public string? PresaleDiscountFeeText
+    {
+        get => presaleDiscountFeeText;
+        set => this.presaleDiscountFeeText = value;
+    }
+
+    [JsonPropertyName("presale_tail_end_time")]
+    public long? PresaleTailEndTime
+    {
+        get => presaleTailEndTime;
+        set => this.presaleTailEndTime = value;
+    }
+
+    [JsonPropertyName("presale_tail_start_time")]
+    public long? PresaleTailStartTime
+    {
+        get => presaleTailStartTime;
+        set => this.presaleTailStartTime = value;
+    }
+
+    [JsonPropertyName("presale_end_time")]
+    public long? PresaleEndTime
+    {
+        get => presaleEndTime;
+        set => this.presaleEndTime = value;
+    }
+
+    [JsonPropertyName("presale_start_time")]
+    public long? PresaleStartTime
+    {
+        get => presaleStartTime;
+        set => this.presaleStartTime = value;
+    }
+
+    [JsonPropertyName("presale_deposit")]
+    public string? PresaleDeposit
+    {
+        get => presaleDeposit;
+        set => this.presaleDeposit = value;
+    }
+
+    [JsonPropertyName("ysyl_tlj_send_time")]
+    public string? YsylTljSendTime
+    {
+        get => ysylTljSendTime;
+        set => this.ysylTljSendTime = value;
+    }
+
+    [JsonPropertyName("ysyl_commission_rate")]
+    public string? YsylCommissionRate
+    {
+        get => ysylCommissionRate;
+        set => this.ysylCommissionRate = value;
+    }
+
+    [JsonPropertyName("ysyl_tlj_face")]
+    public string? YsylTljFace
+    {
+        get => ysylTljFace;
+        set => this.ysylTljFace = value;
+    }
+
+    [JsonPropertyName("ysyl_click_url")]
+    public string? YsylClickUrl
+    {
+        get => ysylClickUrl;
+        set => this.ysylClickUrl = value;
+    }
+
+    [JsonPropertyName("ysyl_tlj_use_end_time")]
+    public string? YsylTljUseEndTime
+    {
+        get => ysylTljUseEndTime;
+        set => this.ysylTljUseEndTime = value;
+    }
+
+    [JsonPropertyName("ysyl_tlj_use_start_time")]
+    public string? YsylTljUseStartTime
+    {
+        get => ysylTljUseStartTime;
+        set => this.ysylTljUseStartTime = value;
+    }
+
+    [JsonPropertyName("sale_begin_time")]
+    public string? SaleBeginTime
+    {
+        get => saleBeginTime;
+        set => this.saleBeginTime = value;
+    }
+
+    [JsonPropertyName("sale_end_time")]
+    public string? SaleEndTime
+    {
+        get => saleEndTime;
+        set => this.saleEndTime = value;
+    }
+
+    [JsonPropertyName("distance")]
+    public string? Distance
+    {
+        get => distance;
+        set => this.distance = value;
+    }
+
+    [JsonPropertyName("usable_shop_id")]
+    public string? UsableShopId
+    {
+        get => usableShopId;
+        set => this.usableShopId = value;
+    }
+
+    [JsonPropertyName("usable_shop_name")]
+    public string? UsableShopName
+    {
+        get => usableShopName;
+        set => this.usableShopName = value;
+    }
+
+    [JsonPropertyName("sale_price")]
+    public string? SalePrice
+    {
+        get => salePrice;
+        set => this.salePrice = value;
+    }
+
+    [JsonPropertyName("kuadian_promotion_info")]
+    public string? KuadianPromotionInfo
+    {
+        get => kuadianPromotionInfo;
+        set => this.kuadianPromotionInfo = value;
+    }
+
+    [JsonPropertyName("superior_brand")]
+    public string? SuperiorBrand
+    {
+        get => superiorBrand;
+        set => this.superiorBrand = value;
+    }
+
+    [JsonPropertyName("reward_info")]
+    public long? RewardInfo
+    {
+        get => rewardInfo;
+        set => this.rewardInfo = value;
+    }
+
+    [JsonPropertyName("is_brand_flash_sale")]
+    public string? IsBrandFlashSale
+    {
+        get => isBrandFlashSale;
+        set => this.isBrandFlashSale = value;
+    }
+
+    [JsonPropertyName("localization_extend")]
+    public string? LocalizationExtend
+    {
+        get => localizationExtend;
+        set => this.localizationExtend = value;
+    }
+
+    [JsonPropertyName("match_score")]
+    public string? MatchScore
+    {
+        get => matchScore;
+        set => this.matchScore = value;
+    }
+
+    [JsonPropertyName("commi_score")]
+    public string? CommiScore
+    {
+        get => commiScore;
+        set => this.commiScore = value;
+    }
+
+    [JsonPropertyName("hot_flag")]
+    public string? HotFlag
+    {
+        get => hotFlag;
+        set => this.hotFlag = value;
+    }
+
+    [JsonPropertyName("topn_info")]
+    public TaobaoTbkDgMaterialTemporaryOptionalStepRateDTO? TopnInfo
+    {
+        get => topnInfo;
+        set => this.topnInfo = value;
+    }
+
+    [JsonPropertyName("bybt_info")]
+    public TaobaoTbkDgMaterialTemporaryOptionalTopNInfoDTO? BybtInfo
+    {
+        get => bybtInfo;
+        set => this.bybtInfo = value;
+    }
+
+    [JsonPropertyName("tt_sold_count")]
+    public string? TtSoldCount
+    {
+        get => ttSoldCount;
+        set => this.ttSoldCount = value;
+    }
+
+    [JsonPropertyName("maifan_promotion")]
+    public TaobaoTbkDgMaterialTemporaryOptionalMaifanPromotionDTO? MaifanPromotion
+    {
+        get => maifanPromotion;
+        set => this.maifanPromotion = value;
+    }
+
+    [JsonPropertyName("cpa_reward_type")]
+    public string? CpaRewardType
+    {
+        get => cpaRewardType;
+        set => this.cpaRewardType = value;
+    }
+
+}
+

+ 77 - 0
Topsdk/Top/Ability370/Domain/TaobaoTbkDgMaterialTemporaryOptionalStepRateDTO.cs

@@ -0,0 +1,77 @@
+using System.Text.Json.Serialization;
+using System.Collections.Generic;
+using Topsdk.Util;
+
+namespace Topsdk.Top.Ability370.Domain;
+
+public class TaobaoTbkDgMaterialTemporaryOptionalStepRateDTO
+{
+
+    /*
+        前N件剩余库存
+    */
+    private long? topnQuantity;
+
+
+    /*
+        前N件初始总库存
+    */
+    private long? topnTotalCount;
+
+
+    /*
+        前N件佣金结束时间
+    */
+    private string? topnEndTime;
+
+
+    /*
+        前N件佣金开始时间
+    */
+    private string? topnStartTime;
+
+
+    /*
+        前N件佣金率
+    */
+    private string? topnRate;
+
+
+
+    [JsonPropertyName("topn_quantity")]
+    public long? TopnQuantity
+    {
+        get => topnQuantity;
+        set => this.topnQuantity = value;
+    }
+
+    [JsonPropertyName("topn_total_count")]
+    public long? TopnTotalCount
+    {
+        get => topnTotalCount;
+        set => this.topnTotalCount = value;
+    }
+
+    [JsonPropertyName("topn_end_time")]
+    public string? TopnEndTime
+    {
+        get => topnEndTime;
+        set => this.topnEndTime = value;
+    }
+
+    [JsonPropertyName("topn_start_time")]
+    public string? TopnStartTime
+    {
+        get => topnStartTime;
+        set => this.topnStartTime = value;
+    }
+
+    [JsonPropertyName("topn_rate")]
+    public string? TopnRate
+    {
+        get => topnRate;
+        set => this.topnRate = value;
+    }
+
+}
+

+ 116 - 0
Topsdk/Top/Ability370/Domain/TaobaoTbkDgMaterialTemporaryOptionalTopNInfoDTO.cs

@@ -0,0 +1,116 @@
+using System.Text.Json.Serialization;
+using System.Collections.Generic;
+using Topsdk.Util;
+
+namespace Topsdk.Top.Ability370.Domain;
+
+public class TaobaoTbkDgMaterialTemporaryOptionalTopNInfoDTO
+{
+
+    /*
+        百亿补贴品牌logo
+    */
+    private string? bybtBrandLogo;
+
+
+    /*
+        百亿补贴白底图
+    */
+    private string? bybtPicUrl;
+
+
+    /*
+        百亿补贴商品特征标签,eg.今日发货、晚发补偿、限购一件等
+    */
+    private IList<string>? bybtItemTags;
+
+
+    /*
+        百亿补贴专属券面额,仅限百亿补贴场景透出
+    */
+    private string? bybtCouponAmount;
+
+
+    /*
+        百亿补贴页面实时价
+    */
+    private string? bybtShowPrice;
+
+
+    /*
+        全网对比参考价格
+    */
+    private string? bybtLowestPrice;
+
+
+    /*
+        商品的百亿补贴开始时间
+    */
+    private string? bybtEndTime;
+
+
+    /*
+        商品的百亿补贴结束时间
+    */
+    private string? bybtStartTime;
+
+
+
+    [JsonPropertyName("bybt_brand_logo")]
+    public string? BybtBrandLogo
+    {
+        get => bybtBrandLogo;
+        set => this.bybtBrandLogo = value;
+    }
+
+    [JsonPropertyName("bybt_pic_url")]
+    public string? BybtPicUrl
+    {
+        get => bybtPicUrl;
+        set => this.bybtPicUrl = value;
+    }
+
+    [JsonPropertyName("bybt_item_tags")]
+    public IList<string>? BybtItemTags
+    {
+        get => bybtItemTags;
+        set => this.bybtItemTags = value;
+    }
+
+    [JsonPropertyName("bybt_coupon_amount")]
+    public string? BybtCouponAmount
+    {
+        get => bybtCouponAmount;
+        set => this.bybtCouponAmount = value;
+    }
+
+    [JsonPropertyName("bybt_show_price")]
+    public string? BybtShowPrice
+    {
+        get => bybtShowPrice;
+        set => this.bybtShowPrice = value;
+    }
+
+    [JsonPropertyName("bybt_lowest_price")]
+    public string? BybtLowestPrice
+    {
+        get => bybtLowestPrice;
+        set => this.bybtLowestPrice = value;
+    }
+
+    [JsonPropertyName("bybt_end_time")]
+    public string? BybtEndTime
+    {
+        get => bybtEndTime;
+        set => this.bybtEndTime = value;
+    }
+
+    [JsonPropertyName("bybt_start_time")]
+    public string? BybtStartTime
+    {
+        get => bybtStartTime;
+        set => this.bybtStartTime = value;
+    }
+
+}
+

+ 51 - 0
Topsdk/Top/Ability370/Domain/TaobaoTbkDgMaterialTemporaryOptionalUcrowdrankitems.cs

@@ -0,0 +1,51 @@
+using System.Text.Json.Serialization;
+using System.Collections.Generic;
+using Topsdk.Util;
+
+namespace Topsdk.Top.Ability370.Domain;
+
+public class TaobaoTbkDgMaterialTemporaryOptionalUcrowdrankitems
+{
+
+    /*
+        物料评估-商品佣金率,如:1234表示12.34%,material_id=41377时选填
+    */
+    private long? commirate;
+
+
+    /*
+        物料评估-商品价格,单位:元,material_id=41377时选填
+    */
+    private string? price;
+
+
+    /*
+        物料评估-商品ID,material_id=41377时必填
+    */
+    private string? itemId;
+
+
+
+    [JsonPropertyName("commirate")]
+    public long? Commirate
+    {
+        get => commirate;
+        set => this.commirate = value;
+    }
+
+    [JsonPropertyName("price")]
+    public string? Price
+    {
+        get => price;
+        set => this.price = value;
+    }
+
+    [JsonPropertyName("item_id")]
+    public string? ItemId
+    {
+        get => itemId;
+        set => this.itemId = value;
+    }
+
+}
+

+ 90 - 0
Topsdk/Top/Ability370/Domain/TaobaoTbkShopGetNTbkShop.cs

@@ -0,0 +1,90 @@
+using System.Text.Json.Serialization;
+using System.Collections.Generic;
+using Topsdk.Util;
+
+namespace Topsdk.Top.Ability370.Domain;
+
+public class TaobaoTbkShopGetNTbkShop
+{
+
+    /*
+        店铺地址
+    */
+    private string? shopUrl;
+
+
+    /*
+        卖家昵称
+    */
+    private string? sellerNick;
+
+
+    /*
+        店铺类型,B:天猫,C:淘宝
+    */
+    private string? shopType;
+
+
+    /*
+        店铺名称
+    */
+    private string? shopTitle;
+
+
+    /*
+        卖家ID
+    */
+    private long? userId;
+
+
+    /*
+        店标图片
+    */
+    private string? pictUrl;
+
+
+
+    [JsonPropertyName("shop_url")]
+    public string? ShopUrl
+    {
+        get => shopUrl;
+        set => this.shopUrl = value;
+    }
+
+    [JsonPropertyName("seller_nick")]
+    public string? SellerNick
+    {
+        get => sellerNick;
+        set => this.sellerNick = value;
+    }
+
+    [JsonPropertyName("shop_type")]
+    public string? ShopType
+    {
+        get => shopType;
+        set => this.shopType = value;
+    }
+
+    [JsonPropertyName("shop_title")]
+    public string? ShopTitle
+    {
+        get => shopTitle;
+        set => this.shopTitle = value;
+    }
+
+    [JsonPropertyName("user_id")]
+    public long? UserId
+    {
+        get => userId;
+        set => this.userId = value;
+    }
+
+    [JsonPropertyName("pict_url")]
+    public string? PictUrl
+    {
+        get => pictUrl;
+        set => this.pictUrl = value;
+    }
+
+}
+

+ 728 - 0
Topsdk/Top/Ability370/Request/TaobaoTbkDgMaterialTemporaryOptionalRequest.cs

@@ -0,0 +1,728 @@
+using System.Text.Json.Serialization;
+using System.Collections.Generic;
+using Topsdk.Util;
+using Topsdk.Top.Ability370.Domain;
+
+namespace Topsdk.Top.Ability370.Request;
+
+public class TaobaoTbkDgMaterialTemporaryOptionalRequest : AbstractTopApiRequest
+{
+
+    /*
+        商品筛选(特定媒体支持)-店铺dsr评分。筛选大于等于当前设置的店铺dsr评分的商品0-50000之间
+            */
+    private long? startDsr;
+
+
+    /*
+        页大小,默认20,1~100
+         默认值:20    */
+    private long? pageSize;
+
+
+    /*
+        第几页,默认:1
+         默认值:1    */
+    private long? pageNo;
+
+
+    /*
+        链接形式:1:PC,2:无线,默认:1
+         默认值:1    */
+    private long? platform;
+
+
+    /*
+        商品筛选-淘客佣金比率上限。如: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_total_sales),总支出佣金(tk_total_commi),价格(price),匹配分(match)
+            */
+    private string? sort;
+
+
+    /*
+        商品筛选-所在地
+            */
+    private string? itemloc;
+
+
+    /*
+        商品筛选-后台类目ID。用,分割,最大10个,该ID可以通过taobao.itemcats.get接口获取到
+            */
+    private string? cat;
+
+
+    /*
+        商品筛选-查询词
+            */
+    private string? q;
+
+
+    /*
+        不传时默认物料id=2836;如果直接对消费者投放,可使用官方个性化算法优化的搜索物料id=17004
+         默认值:2836    */
+    private long? materialId;
+
+
+    /*
+        优惠券筛选-是否有优惠券。true表示该商品有优惠券,false或不设置表示不限
+            */
+    private bool? hasCoupon;
+
+
+    /*
+        ip参数影响邮费获取,如果不传或者传入不准确,邮费无法精准提供
+            */
+    private string? ip;
+
+
+    /*
+        mm_xxx_xxx_12345678三段式的最后一段数字
+            */
+    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
+            */
+    private string? deviceEncrypt;
+
+
+    /*
+        智能匹配-设备号加密后的值(MD5加密需32位小写)
+            */
+    private string? deviceValue;
+
+
+    /*
+        智能匹配-设备类型:IMEI/IDFA/UTDID/OAID,(IOS推荐使用IDFA,android等推荐使用OAID)
+            */
+    private string? deviceType;
+
+
+    /*
+        商品筛选-KA媒体淘客佣金比率上限。如:1234表示12.34%
+            */
+    private long? endKaTkRate;
+
+
+    /*
+        商品筛选-KA媒体淘客佣金比率下限。如:1234表示12.34%
+            */
+    private long? startKaTkRate;
+
+
+    /*
+        锁佣结束时间
+            */
+    private long? lockRateEndTime;
+
+
+    /*
+        锁佣开始时间
+            */
+    private long? lockRateStartTime;
+
+
+    /*
+        本地化业务入参-LBS信息-经度
+            */
+    private string? longitude;
+
+
+    /*
+        本地化业务入参-LBS信息-纬度
+            */
+    private string? latitude;
+
+
+    /*
+        本地化业务入参-LBS信息-国标城市码,仅支持单个请求,请求饿了么卡券物料时,该字段必填。 (详细城市ID见:https://mo.m.taobao.com/page_2020010315120200508)
+            */
+    private string? cityCode;
+
+
+    /*
+        商家id,仅支持饿了么卡券商家ID,支持批量请求1-100以内,多个商家ID使用英文逗号分隔
+            */
+    private string? sellerIds;
+
+
+    /*
+        会员运营ID
+            */
+    private string? specialId;
+
+
+    /*
+        渠道关系ID,仅适用于渠道推广场景
+            */
+    private string? relationId;
+
+
+    /*
+        本地化业务入参-分页唯一标识,非首页的请求必传,值为上一页返回结果中的page_result_key字段值
+            */
+    private string? pageResultKey;
+
+
+    /*
+        人群ID,仅适用于物料评估场景material_id=41377
+            */
+    private long? ucrowdId;
+
+
+    /*
+        物料评估-商品列表
+            */
+    private IList<TaobaoTbkDgMaterialTemporaryOptionalUcrowdrankitems>? ucrowdRankItems;
+
+
+    /*
+        是否获取前N件佣金信息	0否,1是,其他值否
+            */
+    private long? getTopnRate;
+
+
+    [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("platform")]
+    public long? Platform
+    {
+        get => platform;
+        set => this.platform = 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("end_ka_tk_rate")]
+    public long? EndKaTkRate
+    {
+        get => endKaTkRate;
+        set => this.endKaTkRate = value;
+    }
+
+    [JsonPropertyName("start_ka_tk_rate")]
+    public long? StartKaTkRate
+    {
+        get => startKaTkRate;
+        set => this.startKaTkRate = value;
+    }
+
+    [JsonPropertyName("lock_rate_end_time")]
+    public long? LockRateEndTime
+    {
+        get => lockRateEndTime;
+        set => this.lockRateEndTime = value;
+    }
+
+    [JsonPropertyName("lock_rate_start_time")]
+    public long? LockRateStartTime
+    {
+        get => lockRateStartTime;
+        set => this.lockRateStartTime = value;
+    }
+
+    [JsonPropertyName("longitude")]
+    public string? Longitude
+    {
+        get => longitude;
+        set => this.longitude = value;
+    }
+
+    [JsonPropertyName("latitude")]
+    public string? Latitude
+    {
+        get => latitude;
+        set => this.latitude = value;
+    }
+
+    [JsonPropertyName("city_code")]
+    public string? CityCode
+    {
+        get => cityCode;
+        set => this.cityCode = value;
+    }
+
+    [JsonPropertyName("seller_ids")]
+    public string? SellerIds
+    {
+        get => sellerIds;
+        set => this.sellerIds = 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("page_result_key")]
+    public string? PageResultKey
+    {
+        get => pageResultKey;
+        set => this.pageResultKey = value;
+    }
+
+    [JsonPropertyName("ucrowd_id")]
+    public long? UcrowdId
+    {
+        get => ucrowdId;
+        set => this.ucrowdId = value;
+    }
+
+    [JsonPropertyName("ucrowd_rank_items")]
+    public IList<TaobaoTbkDgMaterialTemporaryOptionalUcrowdrankitems>? UcrowdRankItems
+    {
+        get => ucrowdRankItems;
+        set => this.ucrowdRankItems = value;
+    }
+
+    [JsonPropertyName("get_topn_rate")]
+    public long? GetTopnRate
+    {
+        get => getTopnRate;
+        set => this.getTopnRate = value;
+    }
+
+
+
+    public override IDictionary<string, string> ToRequestParam()
+    {
+        IDictionary<string, string> requestParam = new Dictionary<string, string>();
+        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.platform != null)
+        {
+            requestParam.Add("platform",TopUtils.ConvertBasicType(this.platform));
+        }
+        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.endKaTkRate != null)
+        {
+            requestParam.Add("end_ka_tk_rate",TopUtils.ConvertBasicType(this.endKaTkRate));
+        }
+        if(this.startKaTkRate != null)
+        {
+            requestParam.Add("start_ka_tk_rate",TopUtils.ConvertBasicType(this.startKaTkRate));
+        }
+        if(this.lockRateEndTime != null)
+        {
+            requestParam.Add("lock_rate_end_time",TopUtils.ConvertBasicType(this.lockRateEndTime));
+        }
+        if(this.lockRateStartTime != null)
+        {
+            requestParam.Add("lock_rate_start_time",TopUtils.ConvertBasicType(this.lockRateStartTime));
+        }
+        if(this.longitude != null)
+        {
+            requestParam.Add("longitude",TopUtils.ConvertBasicType(this.longitude));
+        }
+        if(this.latitude != null)
+        {
+            requestParam.Add("latitude",TopUtils.ConvertBasicType(this.latitude));
+        }
+        if(this.cityCode != null)
+        {
+            requestParam.Add("city_code",TopUtils.ConvertBasicType(this.cityCode));
+        }
+        if(this.sellerIds != null)
+        {
+            requestParam.Add("seller_ids",TopUtils.ConvertBasicType(this.sellerIds));
+        }
+        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.pageResultKey != null)
+        {
+            requestParam.Add("page_result_key",TopUtils.ConvertBasicType(this.pageResultKey));
+        }
+        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));
+        }
+        if(this.getTopnRate != null)
+        {
+            requestParam.Add("get_topn_rate",TopUtils.ConvertBasicType(this.getTopnRate));
+        }
+        return requestParam;
+    }
+
+    public override IDictionary<string, TopFileItem> ToFileParam()
+    {
+        IDictionary<string, TopFileItem> fileParam = new Dictionary<string, TopFileItem>();
+        return fileParam;
+    }
+
+    public override string GetApiCode()
+    {
+        return "taobao.tbk.dg.material.temporary.optional";
+    }
+
+}
+

+ 285 - 0
Topsdk/Top/Ability370/Request/TaobaoTbkShopGetRequest.cs

@@ -0,0 +1,285 @@
+using System.Text.Json.Serialization;
+using System.Collections.Generic;
+using Topsdk.Util;
+
+namespace Topsdk.Top.Ability370.Request;
+
+public class TaobaoTbkShopGetRequest : AbstractTopApiRequest
+{
+
+    /*
+        累计推广商品上限
+            */
+    private long? endAuctionCount;
+
+
+    /*
+        淘客佣金比率上限,1~10000
+            */
+    private long? endCommissionRate;
+
+
+    /*
+        信用等级上限,1~20
+            */
+    private long? endCredit;
+
+
+    /*
+        店铺商品总数上限
+            */
+    private long? endTotalAction;
+
+
+    /*
+        需返回的字段列表
+            */
+    private string? fields;
+
+
+    /*
+        是否商城的店铺,设置为true表示该是属于淘宝商城的店铺,设置为false或不设置表示不判断这个属性
+            */
+    private bool? isTmall;
+
+
+    /*
+        第几页,默认1,1~100
+         默认值:1    */
+    private long? pageNo;
+
+
+    /*
+        页大小,默认20,1~100
+         默认值:20    */
+    private long? pageSize;
+
+
+    /*
+        链接形式:1:PC,2:无线,默认:1
+         默认值:1    */
+    private long? platform;
+
+
+    /*
+        查询词
+            */
+    private string? q;
+
+
+    /*
+        排序_des(降序),排序_asc(升序),佣金比率(commission_rate), 商品数量(auction_count),销售总数量(total_auction)
+            */
+    private string? sort;
+
+
+    /*
+        累计推广商品下限
+            */
+    private long? startAuctionCount;
+
+
+    /*
+        淘客佣金比率下限,1~10000
+            */
+    private long? startCommissionRate;
+
+
+    /*
+        信用等级下限,1~20
+            */
+    private long? startCredit;
+
+
+    /*
+        店铺商品总数下限
+            */
+    private long? startTotalAction;
+
+
+    [JsonPropertyName("end_auction_count")]
+    public long? EndAuctionCount
+    {
+        get => endAuctionCount;
+        set => this.endAuctionCount = value;
+    }
+
+    [JsonPropertyName("end_commission_rate")]
+    public long? EndCommissionRate
+    {
+        get => endCommissionRate;
+        set => this.endCommissionRate = value;
+    }
+
+    [JsonPropertyName("end_credit")]
+    public long? EndCredit
+    {
+        get => endCredit;
+        set => this.endCredit = value;
+    }
+
+    [JsonPropertyName("end_total_action")]
+    public long? EndTotalAction
+    {
+        get => endTotalAction;
+        set => this.endTotalAction = value;
+    }
+
+    [JsonPropertyName("fields")]
+    public string? Fields
+    {
+        get => fields;
+        set => this.fields = value;
+    }
+
+    [JsonPropertyName("is_tmall")]
+    public bool? IsTmall
+    {
+        get => isTmall;
+        set => this.isTmall = value;
+    }
+
+    [JsonPropertyName("page_no")]
+    public long? PageNo
+    {
+        get => pageNo;
+        set => this.pageNo = value;
+    }
+
+    [JsonPropertyName("page_size")]
+    public long? PageSize
+    {
+        get => pageSize;
+        set => this.pageSize = value;
+    }
+
+    [JsonPropertyName("platform")]
+    public long? Platform
+    {
+        get => platform;
+        set => this.platform = value;
+    }
+
+    [JsonPropertyName("q")]
+    public string? Q
+    {
+        get => q;
+        set => this.q = value;
+    }
+
+    [JsonPropertyName("sort")]
+    public string? Sort
+    {
+        get => sort;
+        set => this.sort = value;
+    }
+
+    [JsonPropertyName("start_auction_count")]
+    public long? StartAuctionCount
+    {
+        get => startAuctionCount;
+        set => this.startAuctionCount = value;
+    }
+
+    [JsonPropertyName("start_commission_rate")]
+    public long? StartCommissionRate
+    {
+        get => startCommissionRate;
+        set => this.startCommissionRate = value;
+    }
+
+    [JsonPropertyName("start_credit")]
+    public long? StartCredit
+    {
+        get => startCredit;
+        set => this.startCredit = value;
+    }
+
+    [JsonPropertyName("start_total_action")]
+    public long? StartTotalAction
+    {
+        get => startTotalAction;
+        set => this.startTotalAction = value;
+    }
+
+
+
+    public override IDictionary<string, string> ToRequestParam()
+    {
+        IDictionary<string, string> requestParam = new Dictionary<string, string>();
+        if(this.endAuctionCount != null)
+        {
+            requestParam.Add("end_auction_count",TopUtils.ConvertBasicType(this.endAuctionCount));
+        }
+        if(this.endCommissionRate != null)
+        {
+            requestParam.Add("end_commission_rate",TopUtils.ConvertBasicType(this.endCommissionRate));
+        }
+        if(this.endCredit != null)
+        {
+            requestParam.Add("end_credit",TopUtils.ConvertBasicType(this.endCredit));
+        }
+        if(this.endTotalAction != null)
+        {
+            requestParam.Add("end_total_action",TopUtils.ConvertBasicType(this.endTotalAction));
+        }
+        if(this.fields != null)
+        {
+            requestParam.Add("fields",TopUtils.ConvertBasicType(this.fields));
+        }
+        if(this.isTmall != null)
+        {
+            requestParam.Add("is_tmall",TopUtils.ConvertBasicType(this.isTmall));
+        }
+        if(this.pageNo != null)
+        {
+            requestParam.Add("page_no",TopUtils.ConvertBasicType(this.pageNo));
+        }
+        if(this.pageSize != null)
+        {
+            requestParam.Add("page_size",TopUtils.ConvertBasicType(this.pageSize));
+        }
+        if(this.platform != null)
+        {
+            requestParam.Add("platform",TopUtils.ConvertBasicType(this.platform));
+        }
+        if(this.q != null)
+        {
+            requestParam.Add("q",TopUtils.ConvertBasicType(this.q));
+        }
+        if(this.sort != null)
+        {
+            requestParam.Add("sort",TopUtils.ConvertBasicType(this.sort));
+        }
+        if(this.startAuctionCount != null)
+        {
+            requestParam.Add("start_auction_count",TopUtils.ConvertBasicType(this.startAuctionCount));
+        }
+        if(this.startCommissionRate != null)
+        {
+            requestParam.Add("start_commission_rate",TopUtils.ConvertBasicType(this.startCommissionRate));
+        }
+        if(this.startCredit != null)
+        {
+            requestParam.Add("start_credit",TopUtils.ConvertBasicType(this.startCredit));
+        }
+        if(this.startTotalAction != null)
+        {
+            requestParam.Add("start_total_action",TopUtils.ConvertBasicType(this.startTotalAction));
+        }
+        return requestParam;
+    }
+
+    public override IDictionary<string, TopFileItem> ToFileParam()
+    {
+        IDictionary<string, TopFileItem> fileParam = new Dictionary<string, TopFileItem>();
+        return fileParam;
+    }
+
+    public override string GetApiCode()
+    {
+        return "taobao.tbk.shop.get";
+    }
+
+}
+

+ 51 - 0
Topsdk/Top/Ability370/Response/TaobaoTbkDgMaterialTemporaryOptionalResponse.cs

@@ -0,0 +1,51 @@
+using System.Collections.Generic;
+using System.Text.Json.Serialization;
+using Topsdk.Util;
+using Topsdk.Top.Ability370.Domain;
+
+namespace Topsdk.Top.Ability370.Response;
+
+public class TaobaoTbkDgMaterialTemporaryOptionalResponse : AbstractTopApiResponse
+{
+
+    /*
+        搜索到符合条件的结果总数
+            */
+    private long? totalResults;
+
+
+    /*
+        resultList
+            */
+    private IList<TaobaoTbkDgMaterialTemporaryOptionalMapData>? resultList;
+
+
+    /*
+        本地化-lbs分页标识,请在下一次翻页时作为入参传入
+            */
+    private string? pageResultKey;
+
+
+    [JsonPropertyName("total_results")]
+    public long? TotalResults
+    {
+        get => totalResults;
+        set => this.totalResults = value;
+    }
+
+    [JsonPropertyName("result_list")]
+    public IList<TaobaoTbkDgMaterialTemporaryOptionalMapData>? ResultList
+    {
+        get => resultList;
+        set => this.resultList = value;
+    }
+
+    [JsonPropertyName("page_result_key")]
+    public string? PageResultKey
+    {
+        get => pageResultKey;
+        set => this.pageResultKey = value;
+    }
+
+}
+

+ 38 - 0
Topsdk/Top/Ability370/Response/TaobaoTbkShopGetResponse.cs

@@ -0,0 +1,38 @@
+using System.Collections.Generic;
+using System.Text.Json.Serialization;
+using Topsdk.Util;
+using Topsdk.Top.Ability370.Domain;
+
+namespace Topsdk.Top.Ability370.Response;
+
+public class TaobaoTbkShopGetResponse : AbstractTopApiResponse
+{
+
+    /*
+        淘宝客店铺
+            */
+    private IList<TaobaoTbkShopGetNTbkShop>? results;
+
+
+    /*
+        搜索到符合条件的结果总数
+            */
+    private long? totalResults;
+
+
+    [JsonPropertyName("results")]
+    public IList<TaobaoTbkShopGetNTbkShop>? Results
+    {
+        get => results;
+        set => this.results = value;
+    }
+
+    [JsonPropertyName("total_results")]
+    public long? TotalResults
+    {
+        get => totalResults;
+        set => this.totalResults = value;
+    }
+
+}
+

+ 96 - 0
Topsdk/Top/Ability371/Ability371.cs

@@ -0,0 +1,96 @@
+using Topsdk.Top.Ability371.Request;
+using Topsdk.Top.Ability371.Response;
+using Topsdk.Util;
+
+namespace Topsdk.Top.Ability371;
+
+
+public class Ability371
+{
+
+    private ITopApiClient topApiClient;
+
+    public Ability371(ITopApiClient topApiClient)
+    {
+        this.topApiClient = topApiClient;
+    }
+
+    /*
+        淘宝客-公用-阿里妈妈推广券详情查询
+        taobao.tbk.coupon.get
+    */
+    public TaobaoTbkCouponGetResponse TaobaoTbkCouponGet(TaobaoTbkCouponGetRequest request)
+    {
+        var jsonResult = topApiClient.Execute(request.GetApiCode(),request.ToRequestParam(),request.ToFileParam());
+        if (string.IsNullOrEmpty(jsonResult))
+        {
+            throw new Exception("error");
+        }
+        var resultObj = TopUtils.parseResultJson<TaobaoTbkCouponGetResponse>(jsonResult);
+        if(string.IsNullOrEmpty(resultObj.Body))
+        {
+            resultObj.Body = jsonResult;
+        }
+        return resultObj;
+    }
+    /*
+        淘宝客-公用-淘宝客商品详情查询(简版)
+        taobao.tbk.item.info.get
+    */
+    public TaobaoTbkItemInfoGetResponse TaobaoTbkItemInfoGet(TaobaoTbkItemInfoGetRequest request)
+    {
+        var jsonResult = topApiClient.Execute(request.GetApiCode(),request.ToRequestParam(),request.ToFileParam());
+        if (string.IsNullOrEmpty(jsonResult))
+        {
+            throw new Exception("error");
+        }
+        var resultObj = TopUtils.parseResultJson<TaobaoTbkItemInfoGetResponse>(jsonResult);
+        if(string.IsNullOrEmpty(resultObj.Body))
+        {
+            resultObj.Body = jsonResult;
+        }
+        return resultObj;
+    }
+    /*
+        淘宝客商品详情查询(简版)(临时接口)
+        taobao.tbk.item.info.temporary.get
+    */
+    public TaobaoTbkItemInfoTemporaryGetResponse TaobaoTbkItemInfoTemporaryGet(TaobaoTbkItemInfoTemporaryGetRequest request)
+    {
+        var jsonResult = topApiClient.Execute(request.GetApiCode(),request.ToRequestParam(),request.ToFileParam());
+        if (string.IsNullOrEmpty(jsonResult))
+        {
+            throw new Exception("error");
+        }
+        var resultObj = TopUtils.parseResultJson<TaobaoTbkItemInfoTemporaryGetResponse>(jsonResult);
+        if(string.IsNullOrEmpty(resultObj.Body))
+        {
+            resultObj.Body = jsonResult;
+        }
+        return resultObj;
+    }
+    /*
+        淘宝客-公用-淘宝客商品详情查询升级版(简易版)
+        taobao.tbk.item.info.upgrade.get
+    */
+    public TaobaoTbkItemInfoUpgradeGetResponse TaobaoTbkItemInfoUpgradeGet(TaobaoTbkItemInfoUpgradeGetRequest request)
+    {
+        var jsonResult = topApiClient.Execute(request.GetApiCode(),request.ToRequestParam(),request.ToFileParam());
+        if (string.IsNullOrEmpty(jsonResult))
+        {
+            throw new Exception("error");
+        }
+        var resultObj = TopUtils.parseResultJson<TaobaoTbkItemInfoUpgradeGetResponse>(jsonResult);
+        if(string.IsNullOrEmpty(resultObj.Body))
+        {
+            resultObj.Body = jsonResult;
+        }
+        return resultObj;
+    }
+
+    public ITopApiClient TopApiClient
+    {
+        get => topApiClient;
+        set => topApiClient = value ?? throw new ArgumentNullException(nameof(value));
+    }
+}

+ 129 - 0
Topsdk/Top/Ability371/Domain/TaobaoTbkCouponGetMapData.cs

@@ -0,0 +1,129 @@
+using System.Text.Json.Serialization;
+using System.Collections.Generic;
+using Topsdk.Util;
+
+namespace Topsdk.Top.Ability371.Domain;
+
+public class TaobaoTbkCouponGetMapData
+{
+
+    /*
+        优惠券门槛金额
+    */
+    private string? couponStartFee;
+
+
+    /*
+        优惠券剩余量
+    */
+    private long? couponRemainCount;
+
+
+    /*
+        优惠券总量
+    */
+    private long? couponTotalCount;
+
+
+    /*
+        优惠券结束时间
+    */
+    private string? couponEndTime;
+
+
+    /*
+        优惠券开始时间
+    */
+    private string? couponStartTime;
+
+
+    /*
+        优惠券金额
+    */
+    private string? couponAmount;
+
+
+    /*
+        券类型,1 表示全网公开券,4 表示妈妈渠道券
+    */
+    private long? couponSrcScene;
+
+
+    /*
+        券属性,0表示店铺券,1表示单品券
+    */
+    private long? couponType;
+
+
+    /*
+        券ID
+    */
+    private string? couponActivityId;
+
+
+
+    [JsonPropertyName("coupon_start_fee")]
+    public string? CouponStartFee
+    {
+        get => couponStartFee;
+        set => this.couponStartFee = value;
+    }
+
+    [JsonPropertyName("coupon_remain_count")]
+    public long? CouponRemainCount
+    {
+        get => couponRemainCount;
+        set => this.couponRemainCount = value;
+    }
+
+    [JsonPropertyName("coupon_total_count")]
+    public long? CouponTotalCount
+    {
+        get => couponTotalCount;
+        set => this.couponTotalCount = value;
+    }
+
+    [JsonPropertyName("coupon_end_time")]
+    public string? CouponEndTime
+    {
+        get => couponEndTime;
+        set => this.couponEndTime = value;
+    }
+
+    [JsonPropertyName("coupon_start_time")]
+    public string? CouponStartTime
+    {
+        get => couponStartTime;
+        set => this.couponStartTime = value;
+    }
+
+    [JsonPropertyName("coupon_amount")]
+    public string? CouponAmount
+    {
+        get => couponAmount;
+        set => this.couponAmount = value;
+    }
+
+    [JsonPropertyName("coupon_src_scene")]
+    public long? CouponSrcScene
+    {
+        get => couponSrcScene;
+        set => this.couponSrcScene = value;
+    }
+
+    [JsonPropertyName("coupon_type")]
+    public long? CouponType
+    {
+        get => couponType;
+        set => this.couponType = value;
+    }
+
+    [JsonPropertyName("coupon_activity_id")]
+    public string? CouponActivityId
+    {
+        get => couponActivityId;
+        set => this.couponActivityId = value;
+    }
+
+}
+

+ 558 - 0
Topsdk/Top/Ability371/Domain/TaobaoTbkItemInfoGetNTbkItem.cs

@@ -0,0 +1,558 @@
+using System.Text.Json.Serialization;
+using System.Collections.Generic;
+using Topsdk.Util;
+
+namespace Topsdk.Top.Ability371.Domain;
+
+public class TaobaoTbkItemInfoGetNTbkItem
+{
+
+    /*
+        一级类目名称
+    */
+    private string? catName;
+
+
+    /*
+        商品ID
+    */
+    private string? numIid;
+
+
+    /*
+        商品标题
+    */
+    private string? title;
+
+
+    /*
+        商品主图
+    */
+    private string? pictUrl;
+
+
+    /*
+        商品小图列表
+    */
+    private IList<string>? smallImages;
+
+
+    /*
+        商品一口价格
+    */
+    private string? reservePrice;
+
+
+    /*
+        折扣价(元) 若属于预售商品,付定金时间内,折扣价=预售价
+    */
+    private string? zkFinalPrice;
+
+
+    /*
+        卖家类型,0表示集市,1表示商城,3表示特价版
+    */
+    private long? userType;
+
+
+    /*
+        商品所在地
+    */
+    private string? provcity;
+
+
+    /*
+        商品链接
+    */
+    private string? itemUrl;
+
+
+    /*
+        卖家id
+    */
+    private long? sellerId;
+
+
+    /*
+        30天销量
+    */
+    private long? volume;
+
+
+    /*
+        店铺名称
+    */
+    private string? nick;
+
+
+    /*
+        叶子类目名称
+    */
+    private string? catLeafName;
+
+
+    /*
+        是否加入消费者保障
+    */
+    private bool? isPrepay;
+
+
+    /*
+        店铺dsr 评分
+    */
+    private long? shopDsr;
+
+
+    /*
+        卖家等级
+    */
+    private long? ratesum;
+
+
+    /*
+        退款率是否低于行业均值
+    */
+    private bool? iRfdRate;
+
+
+    /*
+        好评率是否高于行业均值
+    */
+    private bool? hGoodRate;
+
+
+    /*
+        成交转化是否高于行业均值
+    */
+    private bool? hPayRate30;
+
+
+    /*
+        是否包邮
+    */
+    private bool? freeShipment;
+
+
+    /*
+        商品库类型,支持多库类型输出,以英文逗号分隔“,”分隔,1:营销商品主推库,如果值为空则不属于1这种商品类型
+    */
+    private string? materialLibType;
+
+
+    /*
+        预售商品-商品优惠信息
+    */
+    private string? presaleDiscountFeeText;
+
+
+    /*
+        预售商品-付定金结束时间(毫秒)
+    */
+    private long? presaleTailEndTime;
+
+
+    /*
+        预售商品-付尾款开始时间(毫秒)
+    */
+    private long? presaleTailStartTime;
+
+
+    /*
+        预售商品-付定金结束时间(毫秒)
+    */
+    private long? presaleEndTime;
+
+
+    /*
+        预售商品-付定金开始时间(毫秒)
+    */
+    private long? presaleStartTime;
+
+
+    /*
+        预售商品-定金(元)
+    */
+    private string? presaleDeposit;
+
+
+    /*
+        聚划算满减  -结束时间(毫秒)
+    */
+    private long? juPlayEndTime;
+
+
+    /*
+        聚划算满减  -开始时间(毫秒)
+    */
+    private long? juPlayStartTime;
+
+
+    /*
+        1聚划算满减:满N件减X元,满N件X折,满N件X元)  2天猫限时抢:前N分钟每件X元,前N分钟满N件每件X元,前N件每件X元)
+    */
+    private string? playInfo;
+
+
+    /*
+        天猫限时抢可售  -结束时间(毫秒)
+    */
+    private long? tmallPlayActivityEndTime;
+
+
+    /*
+        天猫限时抢可售  -开始时间(毫秒)
+    */
+    private long? tmallPlayActivityStartTime;
+
+
+    /*
+        聚划算信息-聚淘开始时间(毫秒)
+    */
+    private string? juOnlineStartTime;
+
+
+    /*
+        聚划算信息-聚淘结束时间(毫秒)
+    */
+    private string? juOnlineEndTime;
+
+
+    /*
+        聚划算信息-商品预热开始时间(毫秒)
+    */
+    private string? juPreShowStartTime;
+
+
+    /*
+        聚划算信息-商品预热结束时间(毫秒)
+    */
+    private string? juPreShowEndTime;
+
+
+    /*
+        活动价
+    */
+    private string? salePrice;
+
+
+    /*
+        跨店满减信息
+    */
+    private string? kuadianPromotionInfo;
+
+
+    /*
+        是否品牌精选,0不是,1是
+    */
+    private string? superiorBrand;
+
+
+    /*
+        是否是热门商品,0不是,1是
+    */
+    private string? hotFlag;
+
+
+    /*
+        入参的(新)商品ID
+    */
+    private string? inputNumIid;
+
+
+
+    [JsonPropertyName("cat_name")]
+    public string? CatName
+    {
+        get => catName;
+        set => this.catName = value;
+    }
+
+    [JsonPropertyName("num_iid")]
+    public string? NumIid
+    {
+        get => numIid;
+        set => this.numIid = value;
+    }
+
+    [JsonPropertyName("title")]
+    public string? Title
+    {
+        get => title;
+        set => this.title = value;
+    }
+
+    [JsonPropertyName("pict_url")]
+    public string? PictUrl
+    {
+        get => pictUrl;
+        set => this.pictUrl = value;
+    }
+
+    [JsonPropertyName("small_images")]
+    public IList<string>? SmallImages
+    {
+        get => smallImages;
+        set => this.smallImages = value;
+    }
+
+    [JsonPropertyName("reserve_price")]
+    public string? ReservePrice
+    {
+        get => reservePrice;
+        set => this.reservePrice = value;
+    }
+
+    [JsonPropertyName("zk_final_price")]
+    public string? ZkFinalPrice
+    {
+        get => zkFinalPrice;
+        set => this.zkFinalPrice = value;
+    }
+
+    [JsonPropertyName("user_type")]
+    public long? UserType
+    {
+        get => userType;
+        set => this.userType = value;
+    }
+
+    [JsonPropertyName("provcity")]
+    public string? Provcity
+    {
+        get => provcity;
+        set => this.provcity = value;
+    }
+
+    [JsonPropertyName("item_url")]
+    public string? ItemUrl
+    {
+        get => itemUrl;
+        set => this.itemUrl = value;
+    }
+
+    [JsonPropertyName("seller_id")]
+    public long? SellerId
+    {
+        get => sellerId;
+        set => this.sellerId = value;
+    }
+
+    [JsonPropertyName("volume")]
+    public long? Volume
+    {
+        get => volume;
+        set => this.volume = value;
+    }
+
+    [JsonPropertyName("nick")]
+    public string? Nick
+    {
+        get => nick;
+        set => this.nick = value;
+    }
+
+    [JsonPropertyName("cat_leaf_name")]
+    public string? CatLeafName
+    {
+        get => catLeafName;
+        set => this.catLeafName = value;
+    }
+
+    [JsonPropertyName("is_prepay")]
+    public bool? IsPrepay
+    {
+        get => isPrepay;
+        set => this.isPrepay = value;
+    }
+
+    [JsonPropertyName("shop_dsr")]
+    public long? ShopDsr
+    {
+        get => shopDsr;
+        set => this.shopDsr = value;
+    }
+
+    [JsonPropertyName("ratesum")]
+    public long? Ratesum
+    {
+        get => ratesum;
+        set => this.ratesum = value;
+    }
+
+    [JsonPropertyName("i_rfd_rate")]
+    public bool? IRfdRate
+    {
+        get => iRfdRate;
+        set => this.iRfdRate = value;
+    }
+
+    [JsonPropertyName("h_good_rate")]
+    public bool? HGoodRate
+    {
+        get => hGoodRate;
+        set => this.hGoodRate = value;
+    }
+
+    [JsonPropertyName("h_pay_rate30")]
+    public bool? HPayRate30
+    {
+        get => hPayRate30;
+        set => this.hPayRate30 = value;
+    }
+
+    [JsonPropertyName("free_shipment")]
+    public bool? FreeShipment
+    {
+        get => freeShipment;
+        set => this.freeShipment = value;
+    }
+
+    [JsonPropertyName("material_lib_type")]
+    public string? MaterialLibType
+    {
+        get => materialLibType;
+        set => this.materialLibType = value;
+    }
+
+    [JsonPropertyName("presale_discount_fee_text")]
+    public string? PresaleDiscountFeeText
+    {
+        get => presaleDiscountFeeText;
+        set => this.presaleDiscountFeeText = value;
+    }
+
+    [JsonPropertyName("presale_tail_end_time")]
+    public long? PresaleTailEndTime
+    {
+        get => presaleTailEndTime;
+        set => this.presaleTailEndTime = value;
+    }
+
+    [JsonPropertyName("presale_tail_start_time")]
+    public long? PresaleTailStartTime
+    {
+        get => presaleTailStartTime;
+        set => this.presaleTailStartTime = value;
+    }
+
+    [JsonPropertyName("presale_end_time")]
+    public long? PresaleEndTime
+    {
+        get => presaleEndTime;
+        set => this.presaleEndTime = value;
+    }
+
+    [JsonPropertyName("presale_start_time")]
+    public long? PresaleStartTime
+    {
+        get => presaleStartTime;
+        set => this.presaleStartTime = value;
+    }
+
+    [JsonPropertyName("presale_deposit")]
+    public string? PresaleDeposit
+    {
+        get => presaleDeposit;
+        set => this.presaleDeposit = value;
+    }
+
+    [JsonPropertyName("ju_play_end_time")]
+    public long? JuPlayEndTime
+    {
+        get => juPlayEndTime;
+        set => this.juPlayEndTime = value;
+    }
+
+    [JsonPropertyName("ju_play_start_time")]
+    public long? JuPlayStartTime
+    {
+        get => juPlayStartTime;
+        set => this.juPlayStartTime = value;
+    }
+
+    [JsonPropertyName("play_info")]
+    public string? PlayInfo
+    {
+        get => playInfo;
+        set => this.playInfo = value;
+    }
+
+    [JsonPropertyName("tmall_play_activity_end_time")]
+    public long? TmallPlayActivityEndTime
+    {
+        get => tmallPlayActivityEndTime;
+        set => this.tmallPlayActivityEndTime = value;
+    }
+
+    [JsonPropertyName("tmall_play_activity_start_time")]
+    public long? TmallPlayActivityStartTime
+    {
+        get => tmallPlayActivityStartTime;
+        set => this.tmallPlayActivityStartTime = value;
+    }
+
+    [JsonPropertyName("ju_online_start_time")]
+    public string? JuOnlineStartTime
+    {
+        get => juOnlineStartTime;
+        set => this.juOnlineStartTime = value;
+    }
+
+    [JsonPropertyName("ju_online_end_time")]
+    public string? JuOnlineEndTime
+    {
+        get => juOnlineEndTime;
+        set => this.juOnlineEndTime = value;
+    }
+
+    [JsonPropertyName("ju_pre_show_start_time")]
+    public string? JuPreShowStartTime
+    {
+        get => juPreShowStartTime;
+        set => this.juPreShowStartTime = value;
+    }
+
+    [JsonPropertyName("ju_pre_show_end_time")]
+    public string? JuPreShowEndTime
+    {
+        get => juPreShowEndTime;
+        set => this.juPreShowEndTime = value;
+    }
+
+    [JsonPropertyName("sale_price")]
+    public string? SalePrice
+    {
+        get => salePrice;
+        set => this.salePrice = value;
+    }
+
+    [JsonPropertyName("kuadian_promotion_info")]
+    public string? KuadianPromotionInfo
+    {
+        get => kuadianPromotionInfo;
+        set => this.kuadianPromotionInfo = value;
+    }
+
+    [JsonPropertyName("superior_brand")]
+    public string? SuperiorBrand
+    {
+        get => superiorBrand;
+        set => this.superiorBrand = value;
+    }
+
+    [JsonPropertyName("hot_flag")]
+    public string? HotFlag
+    {
+        get => hotFlag;
+        set => this.hotFlag = value;
+    }
+
+    [JsonPropertyName("input_num_iid")]
+    public string? InputNumIid
+    {
+        get => inputNumIid;
+        set => this.inputNumIid = value;
+    }
+
+}
+

+ 545 - 0
Topsdk/Top/Ability371/Domain/TaobaoTbkItemInfoTemporaryGetNTbkItem.cs

@@ -0,0 +1,545 @@
+using System.Text.Json.Serialization;
+using System.Collections.Generic;
+using Topsdk.Util;
+
+namespace Topsdk.Top.Ability371.Domain;
+
+public class TaobaoTbkItemInfoTemporaryGetNTbkItem
+{
+
+    /*
+        一级类目名称
+    */
+    private string? catName;
+
+
+    /*
+        商品ID
+    */
+    private string? numIid;
+
+
+    /*
+        商品标题
+    */
+    private string? title;
+
+
+    /*
+        商品主图
+    */
+    private string? pictUrl;
+
+
+    /*
+        商品小图列表
+    */
+    private IList<string>? smallImages;
+
+
+    /*
+        商品一口价格
+    */
+    private string? reservePrice;
+
+
+    /*
+        折扣价(元) 若属于预售商品,付定金时间内,折扣价=预售价
+    */
+    private string? zkFinalPrice;
+
+
+    /*
+        卖家类型,0表示集市,1表示商城,3表示特价版
+    */
+    private long? userType;
+
+
+    /*
+        商品所在地
+    */
+    private string? provcity;
+
+
+    /*
+        商品链接
+    */
+    private string? itemUrl;
+
+
+    /*
+        30天销量
+    */
+    private long? volume;
+
+
+    /*
+        店铺名称
+    */
+    private string? nick;
+
+
+    /*
+        叶子类目名称
+    */
+    private string? catLeafName;
+
+
+    /*
+        是否加入消费者保障
+    */
+    private bool? isPrepay;
+
+
+    /*
+        店铺dsr 评分
+    */
+    private long? shopDsr;
+
+
+    /*
+        卖家等级
+    */
+    private long? ratesum;
+
+
+    /*
+        退款率是否低于行业均值
+    */
+    private bool? iRfdRate;
+
+
+    /*
+        好评率是否高于行业均值
+    */
+    private bool? hGoodRate;
+
+
+    /*
+        成交转化是否高于行业均值
+    */
+    private bool? hPayRate30;
+
+
+    /*
+        是否包邮
+    */
+    private bool? freeShipment;
+
+
+    /*
+        商品库类型,支持多库类型输出,以英文逗号分隔“,”分隔,1:营销商品主推库,如果值为空则不属于1这种商品类型
+    */
+    private string? materialLibType;
+
+
+    /*
+        预售商品-商品优惠信息
+    */
+    private string? presaleDiscountFeeText;
+
+
+    /*
+        预售商品-付定金结束时间(毫秒)
+    */
+    private long? presaleTailEndTime;
+
+
+    /*
+        预售商品-付尾款开始时间(毫秒)
+    */
+    private long? presaleTailStartTime;
+
+
+    /*
+        预售商品-付定金结束时间(毫秒)
+    */
+    private long? presaleEndTime;
+
+
+    /*
+        预售商品-付定金开始时间(毫秒)
+    */
+    private long? presaleStartTime;
+
+
+    /*
+        预售商品-定金(元)
+    */
+    private string? presaleDeposit;
+
+
+    /*
+        聚划算满减  -结束时间(毫秒)
+    */
+    private long? juPlayEndTime;
+
+
+    /*
+        聚划算满减  -开始时间(毫秒)
+    */
+    private long? juPlayStartTime;
+
+
+    /*
+        1聚划算满减:满N件减X元,满N件X折,满N件X元)  2天猫限时抢:前N分钟每件X元,前N分钟满N件每件X元,前N件每件X元)
+    */
+    private string? playInfo;
+
+
+    /*
+        天猫限时抢可售  -结束时间(毫秒)
+    */
+    private long? tmallPlayActivityEndTime;
+
+
+    /*
+        天猫限时抢可售  -开始时间(毫秒)
+    */
+    private long? tmallPlayActivityStartTime;
+
+
+    /*
+        聚划算信息-聚淘开始时间(毫秒)
+    */
+    private string? juOnlineStartTime;
+
+
+    /*
+        聚划算信息-聚淘结束时间(毫秒)
+    */
+    private string? juOnlineEndTime;
+
+
+    /*
+        聚划算信息-商品预热开始时间(毫秒)
+    */
+    private string? juPreShowStartTime;
+
+
+    /*
+        聚划算信息-商品预热结束时间(毫秒)
+    */
+    private string? juPreShowEndTime;
+
+
+    /*
+        活动价
+    */
+    private string? salePrice;
+
+
+    /*
+        跨店满减信息
+    */
+    private string? kuadianPromotionInfo;
+
+
+    /*
+        是否品牌精选,0不是,1是
+    */
+    private string? superiorBrand;
+
+
+    /*
+        是否是热门商品,0不是,1是
+    */
+    private string? hotFlag;
+
+
+    /*
+        入参的商品ID或营销ID
+    */
+    private string? inputNumIid;
+
+
+
+    [JsonPropertyName("cat_name")]
+    public string? CatName
+    {
+        get => catName;
+        set => this.catName = value;
+    }
+
+    [JsonPropertyName("num_iid")]
+    public string? NumIid
+    {
+        get => numIid;
+        set => this.numIid = value;
+    }
+
+    [JsonPropertyName("title")]
+    public string? Title
+    {
+        get => title;
+        set => this.title = value;
+    }
+
+    [JsonPropertyName("pict_url")]
+    public string? PictUrl
+    {
+        get => pictUrl;
+        set => this.pictUrl = value;
+    }
+
+    [JsonPropertyName("small_images")]
+    public IList<string>? SmallImages
+    {
+        get => smallImages;
+        set => this.smallImages = value;
+    }
+
+    [JsonPropertyName("reserve_price")]
+    public string? ReservePrice
+    {
+        get => reservePrice;
+        set => this.reservePrice = value;
+    }
+
+    [JsonPropertyName("zk_final_price")]
+    public string? ZkFinalPrice
+    {
+        get => zkFinalPrice;
+        set => this.zkFinalPrice = value;
+    }
+
+    [JsonPropertyName("user_type")]
+    public long? UserType
+    {
+        get => userType;
+        set => this.userType = value;
+    }
+
+    [JsonPropertyName("provcity")]
+    public string? Provcity
+    {
+        get => provcity;
+        set => this.provcity = value;
+    }
+
+    [JsonPropertyName("item_url")]
+    public string? ItemUrl
+    {
+        get => itemUrl;
+        set => this.itemUrl = value;
+    }
+
+    [JsonPropertyName("volume")]
+    public long? Volume
+    {
+        get => volume;
+        set => this.volume = value;
+    }
+
+    [JsonPropertyName("nick")]
+    public string? Nick
+    {
+        get => nick;
+        set => this.nick = value;
+    }
+
+    [JsonPropertyName("cat_leaf_name")]
+    public string? CatLeafName
+    {
+        get => catLeafName;
+        set => this.catLeafName = value;
+    }
+
+    [JsonPropertyName("is_prepay")]
+    public bool? IsPrepay
+    {
+        get => isPrepay;
+        set => this.isPrepay = value;
+    }
+
+    [JsonPropertyName("shop_dsr")]
+    public long? ShopDsr
+    {
+        get => shopDsr;
+        set => this.shopDsr = value;
+    }
+
+    [JsonPropertyName("ratesum")]
+    public long? Ratesum
+    {
+        get => ratesum;
+        set => this.ratesum = value;
+    }
+
+    [JsonPropertyName("i_rfd_rate")]
+    public bool? IRfdRate
+    {
+        get => iRfdRate;
+        set => this.iRfdRate = value;
+    }
+
+    [JsonPropertyName("h_good_rate")]
+    public bool? HGoodRate
+    {
+        get => hGoodRate;
+        set => this.hGoodRate = value;
+    }
+
+    [JsonPropertyName("h_pay_rate30")]
+    public bool? HPayRate30
+    {
+        get => hPayRate30;
+        set => this.hPayRate30 = value;
+    }
+
+    [JsonPropertyName("free_shipment")]
+    public bool? FreeShipment
+    {
+        get => freeShipment;
+        set => this.freeShipment = value;
+    }
+
+    [JsonPropertyName("material_lib_type")]
+    public string? MaterialLibType
+    {
+        get => materialLibType;
+        set => this.materialLibType = value;
+    }
+
+    [JsonPropertyName("presale_discount_fee_text")]
+    public string? PresaleDiscountFeeText
+    {
+        get => presaleDiscountFeeText;
+        set => this.presaleDiscountFeeText = value;
+    }
+
+    [JsonPropertyName("presale_tail_end_time")]
+    public long? PresaleTailEndTime
+    {
+        get => presaleTailEndTime;
+        set => this.presaleTailEndTime = value;
+    }
+
+    [JsonPropertyName("presale_tail_start_time")]
+    public long? PresaleTailStartTime
+    {
+        get => presaleTailStartTime;
+        set => this.presaleTailStartTime = value;
+    }
+
+    [JsonPropertyName("presale_end_time")]
+    public long? PresaleEndTime
+    {
+        get => presaleEndTime;
+        set => this.presaleEndTime = value;
+    }
+
+    [JsonPropertyName("presale_start_time")]
+    public long? PresaleStartTime
+    {
+        get => presaleStartTime;
+        set => this.presaleStartTime = value;
+    }
+
+    [JsonPropertyName("presale_deposit")]
+    public string? PresaleDeposit
+    {
+        get => presaleDeposit;
+        set => this.presaleDeposit = value;
+    }
+
+    [JsonPropertyName("ju_play_end_time")]
+    public long? JuPlayEndTime
+    {
+        get => juPlayEndTime;
+        set => this.juPlayEndTime = value;
+    }
+
+    [JsonPropertyName("ju_play_start_time")]
+    public long? JuPlayStartTime
+    {
+        get => juPlayStartTime;
+        set => this.juPlayStartTime = value;
+    }
+
+    [JsonPropertyName("play_info")]
+    public string? PlayInfo
+    {
+        get => playInfo;
+        set => this.playInfo = value;
+    }
+
+    [JsonPropertyName("tmall_play_activity_end_time")]
+    public long? TmallPlayActivityEndTime
+    {
+        get => tmallPlayActivityEndTime;
+        set => this.tmallPlayActivityEndTime = value;
+    }
+
+    [JsonPropertyName("tmall_play_activity_start_time")]
+    public long? TmallPlayActivityStartTime
+    {
+        get => tmallPlayActivityStartTime;
+        set => this.tmallPlayActivityStartTime = value;
+    }
+
+    [JsonPropertyName("ju_online_start_time")]
+    public string? JuOnlineStartTime
+    {
+        get => juOnlineStartTime;
+        set => this.juOnlineStartTime = value;
+    }
+
+    [JsonPropertyName("ju_online_end_time")]
+    public string? JuOnlineEndTime
+    {
+        get => juOnlineEndTime;
+        set => this.juOnlineEndTime = value;
+    }
+
+    [JsonPropertyName("ju_pre_show_start_time")]
+    public string? JuPreShowStartTime
+    {
+        get => juPreShowStartTime;
+        set => this.juPreShowStartTime = value;
+    }
+
+    [JsonPropertyName("ju_pre_show_end_time")]
+    public string? JuPreShowEndTime
+    {
+        get => juPreShowEndTime;
+        set => this.juPreShowEndTime = value;
+    }
+
+    [JsonPropertyName("sale_price")]
+    public string? SalePrice
+    {
+        get => salePrice;
+        set => this.salePrice = value;
+    }
+
+    [JsonPropertyName("kuadian_promotion_info")]
+    public string? KuadianPromotionInfo
+    {
+        get => kuadianPromotionInfo;
+        set => this.kuadianPromotionInfo = value;
+    }
+
+    [JsonPropertyName("superior_brand")]
+    public string? SuperiorBrand
+    {
+        get => superiorBrand;
+        set => this.superiorBrand = value;
+    }
+
+    [JsonPropertyName("hot_flag")]
+    public string? HotFlag
+    {
+        get => hotFlag;
+        set => this.hotFlag = value;
+    }
+
+    [JsonPropertyName("input_num_iid")]
+    public string? InputNumIid
+    {
+        get => inputNumIid;
+        set => this.inputNumIid = value;
+    }
+
+}
+

+ 25 - 0
Topsdk/Top/Ability371/Domain/TaobaoTbkItemInfoUpgradeGetActivityTagMapData.cs

@@ -0,0 +1,25 @@
+using System.Text.Json.Serialization;
+using System.Collections.Generic;
+using Topsdk.Util;
+
+namespace Topsdk.Top.Ability371.Domain;
+
+public class TaobaoTbkItemInfoUpgradeGetActivityTagMapData
+{
+
+    /*
+        货品展示标识,展示在商品标题前的商品活动标
+    */
+    private string? tagName;
+
+
+
+    [JsonPropertyName("tag_name")]
+    public string? TagName
+    {
+        get => tagName;
+        set => this.tagName = value;
+    }
+
+}
+

+ 350 - 0
Topsdk/Top/Ability371/Domain/TaobaoTbkItemInfoUpgradeGetBasicMapData.cs

@@ -0,0 +1,350 @@
+using System.Text.Json.Serialization;
+using System.Collections.Generic;
+using Topsdk.Util;
+
+namespace Topsdk.Top.Ability371.Domain;
+
+public class TaobaoTbkItemInfoUpgradeGetBasicMapData
+{
+
+    /*
+        商品标题
+    */
+    private string? title;
+
+
+    /*
+        商品主图
+    */
+    private string? pictUrl;
+
+
+    /*
+        商品小图列表
+    */
+    private IList<string>? smallImages;
+
+
+    /*
+        一级类目名称
+    */
+    private string? levelOneCategoryName;
+
+
+    /*
+        叶子类目名称
+    */
+    private string? categoryName;
+
+
+    /*
+        商品所在地
+    */
+    private string? provcity;
+
+
+    /*
+        商品链接
+    */
+    private string? itemUrl;
+
+
+    /*
+        卖家类型,0表示集市,1表示商城,3表示特价版
+    */
+    private long? userType;
+
+
+    /*
+        卖家等级(字段等级SA)
+    */
+    private long? ratesum;
+
+
+    /*
+        店铺dsr 评分(字段等级SA)
+    */
+    private long? shopDsr;
+
+
+    /*
+        退款率是否低于行业均值(字段等级SA)
+    */
+    private bool? iRfdRate;
+
+
+    /*
+        好评率是否高于行业均值(字段等级SA)
+    */
+    private bool? hGoodRate;
+
+
+    /*
+        成交转化是否高于行业均值(字段等级SA)
+    */
+    private bool? hPayRate30;
+
+
+    /*
+        30天销量;数据统计截止昨日非实时更新
+    */
+    private long? volume;
+
+
+    /*
+        是否加入消费者保障
+    */
+    private bool? isPrepay;
+
+
+    /*
+        是否品牌精选,0不是,1是
+    */
+    private string? superiorBrand;
+
+
+    /*
+        商品库类型,支持多库类型输出,以英文逗号分隔“,”分隔,1:营销商品主推库,2. 内容商品库,如果值为空则不属于1,2这两种商品类型
+    */
+    private string? materialLibType;
+
+
+    /*
+        pc宝贝详情(字段等级S)
+    */
+    private string? tmallDescUrl;
+
+
+    /*
+        H5宝贝详情(字段等级S)
+    */
+    private string? taobaoDescUrl;
+
+
+    /*
+        商品信息-店铺名称
+    */
+    private string? shopTitle;
+
+
+    /*
+        商品信息-是否包邮
+    */
+    private bool? freeShipment;
+
+
+    /*
+        商品信息-品牌名称
+    */
+    private string? brandName;
+
+
+    /*
+        商品信息-商品短标题
+    */
+    private string? shortTitle;
+
+
+    /*
+        商品信息-商品白底图
+    */
+    private string? whiteImage;
+
+
+    /*
+        卖家id(字段等级C)
+    */
+    private long? sellerId;
+
+
+    /*
+        年销量
+    */
+    private string? annualVol;
+
+
+
+    [JsonPropertyName("title")]
+    public string? Title
+    {
+        get => title;
+        set => this.title = value;
+    }
+
+    [JsonPropertyName("pict_url")]
+    public string? PictUrl
+    {
+        get => pictUrl;
+        set => this.pictUrl = value;
+    }
+
+    [JsonPropertyName("small_images")]
+    public IList<string>? SmallImages
+    {
+        get => smallImages;
+        set => this.smallImages = value;
+    }
+
+    [JsonPropertyName("level_one_category_name")]
+    public string? LevelOneCategoryName
+    {
+        get => levelOneCategoryName;
+        set => this.levelOneCategoryName = value;
+    }
+
+    [JsonPropertyName("category_name")]
+    public string? CategoryName
+    {
+        get => categoryName;
+        set => this.categoryName = value;
+    }
+
+    [JsonPropertyName("provcity")]
+    public string? Provcity
+    {
+        get => provcity;
+        set => this.provcity = value;
+    }
+
+    [JsonPropertyName("item_url")]
+    public string? ItemUrl
+    {
+        get => itemUrl;
+        set => this.itemUrl = value;
+    }
+
+    [JsonPropertyName("user_type")]
+    public long? UserType
+    {
+        get => userType;
+        set => this.userType = value;
+    }
+
+    [JsonPropertyName("ratesum")]
+    public long? Ratesum
+    {
+        get => ratesum;
+        set => this.ratesum = value;
+    }
+
+    [JsonPropertyName("shop_dsr")]
+    public long? ShopDsr
+    {
+        get => shopDsr;
+        set => this.shopDsr = value;
+    }
+
+    [JsonPropertyName("i_rfd_rate")]
+    public bool? IRfdRate
+    {
+        get => iRfdRate;
+        set => this.iRfdRate = value;
+    }
+
+    [JsonPropertyName("h_good_rate")]
+    public bool? HGoodRate
+    {
+        get => hGoodRate;
+        set => this.hGoodRate = value;
+    }
+
+    [JsonPropertyName("h_pay_rate30")]
+    public bool? HPayRate30
+    {
+        get => hPayRate30;
+        set => this.hPayRate30 = value;
+    }
+
+    [JsonPropertyName("volume")]
+    public long? Volume
+    {
+        get => volume;
+        set => this.volume = value;
+    }
+
+    [JsonPropertyName("is_prepay")]
+    public bool? IsPrepay
+    {
+        get => isPrepay;
+        set => this.isPrepay = value;
+    }
+
+    [JsonPropertyName("superior_brand")]
+    public string? SuperiorBrand
+    {
+        get => superiorBrand;
+        set => this.superiorBrand = value;
+    }
+
+    [JsonPropertyName("material_lib_type")]
+    public string? MaterialLibType
+    {
+        get => materialLibType;
+        set => this.materialLibType = value;
+    }
+
+    [JsonPropertyName("tmall_desc_url")]
+    public string? TmallDescUrl
+    {
+        get => tmallDescUrl;
+        set => this.tmallDescUrl = value;
+    }
+
+    [JsonPropertyName("taobao_desc_url")]
+    public string? TaobaoDescUrl
+    {
+        get => taobaoDescUrl;
+        set => this.taobaoDescUrl = value;
+    }
+
+    [JsonPropertyName("shop_title")]
+    public string? ShopTitle
+    {
+        get => shopTitle;
+        set => this.shopTitle = value;
+    }
+
+    [JsonPropertyName("free_shipment")]
+    public bool? FreeShipment
+    {
+        get => freeShipment;
+        set => this.freeShipment = value;
+    }
+
+    [JsonPropertyName("brand_name")]
+    public string? BrandName
+    {
+        get => brandName;
+        set => this.brandName = value;
+    }
+
+    [JsonPropertyName("short_title")]
+    public string? ShortTitle
+    {
+        get => shortTitle;
+        set => this.shortTitle = value;
+    }
+
+    [JsonPropertyName("white_image")]
+    public string? WhiteImage
+    {
+        get => whiteImage;
+        set => this.whiteImage = value;
+    }
+
+    [JsonPropertyName("seller_id")]
+    public long? SellerId
+    {
+        get => sellerId;
+        set => this.sellerId = value;
+    }
+
+    [JsonPropertyName("annual_vol")]
+    public string? AnnualVol
+    {
+        get => annualVol;
+        set => this.annualVol = value;
+    }
+
+}
+

+ 90 - 0
Topsdk/Top/Ability371/Domain/TaobaoTbkItemInfoUpgradeGetFinalIncomeInfo.cs

@@ -0,0 +1,90 @@
+using System.Text.Json.Serialization;
+using System.Collections.Generic;
+using Topsdk.Util;
+
+namespace Topsdk.Top.Ability371.Domain;
+
+public class TaobaoTbkItemInfoUpgradeGetFinalIncomeInfo
+{
+
+    /*
+        商品佣金比率
+    */
+    private string? commissionRate;
+
+
+    /*
+        商品佣金金额
+    */
+    private string? commissionAmount;
+
+
+    /*
+        补贴比率
+    */
+    private string? subsidyRate;
+
+
+    /*
+        补贴金额
+    */
+    private string? subsidyAmount;
+
+
+    /*
+        补贴上限;仅在单笔订单命中补贴上限时返回结果否则出参为空
+    */
+    private string? subsidyUpperLimit;
+
+
+    /*
+        补贴类型
+    */
+    private string? subsidyType;
+
+
+
+    [JsonPropertyName("commission_rate")]
+    public string? CommissionRate
+    {
+        get => commissionRate;
+        set => this.commissionRate = value;
+    }
+
+    [JsonPropertyName("commission_amount")]
+    public string? CommissionAmount
+    {
+        get => commissionAmount;
+        set => this.commissionAmount = value;
+    }
+
+    [JsonPropertyName("subsidy_rate")]
+    public string? SubsidyRate
+    {
+        get => subsidyRate;
+        set => this.subsidyRate = value;
+    }
+
+    [JsonPropertyName("subsidy_amount")]
+    public string? SubsidyAmount
+    {
+        get => subsidyAmount;
+        set => this.subsidyAmount = value;
+    }
+
+    [JsonPropertyName("subsidy_upper_limit")]
+    public string? SubsidyUpperLimit
+    {
+        get => subsidyUpperLimit;
+        set => this.subsidyUpperLimit = value;
+    }
+
+    [JsonPropertyName("subsidy_type")]
+    public string? SubsidyType
+    {
+        get => subsidyType;
+        set => this.subsidyType = value;
+    }
+
+}
+

Vissa filer visades inte eftersom för många filer har ändrats