diff --git a/src/SKIT.FlurlHttpClient.Wechat.Api/Events/Channels/EC/ChannelsECHeadSupplierItemUpdateEvent.cs b/src/SKIT.FlurlHttpClient.Wechat.Api/Events/Channels/EC/ChannelsECHeadSupplierItemUpdateEvent.cs
index d5d226a7..508b48dc 100644
--- a/src/SKIT.FlurlHttpClient.Wechat.Api/Events/Channels/EC/ChannelsECHeadSupplierItemUpdateEvent.cs
+++ b/src/SKIT.FlurlHttpClient.Wechat.Api/Events/Channels/EC/ChannelsECHeadSupplierItemUpdateEvent.cs
@@ -4,7 +4,7 @@ namespace SKIT.FlurlHttpClient.Wechat.Api.Events
/// 表示 EVENT.head_supplier_item_update 事件的数据。
///
/// REF:
- ///
+ ///
///
///
public class ChannelsECHeadSupplierItemUpdateEvent : WechatApiEvent
diff --git a/src/SKIT.FlurlHttpClient.Wechat.Api/Extensions/WechatApiClientExecuteChannelsExtensions.cs b/src/SKIT.FlurlHttpClient.Wechat.Api/Extensions/WechatApiClientExecuteChannelsExtensions.cs
index 6f03e24e..062f3e2c 100644
--- a/src/SKIT.FlurlHttpClient.Wechat.Api/Extensions/WechatApiClientExecuteChannelsExtensions.cs
+++ b/src/SKIT.FlurlHttpClient.Wechat.Api/Extensions/WechatApiClientExecuteChannelsExtensions.cs
@@ -2455,12 +2455,60 @@ namespace SKIT.FlurlHttpClient.Wechat.Api
#endregion
#region ECLeague/HeadSupplier
+ #region ECLeague/HeadSupplier/CooperativeItem
+ ///
+ /// 异步调用 [POST] /channels/ec/league/headsupplier/cooperativeitem/add 接口。
+ ///
+ /// REF:
+ ///
+ ///
+ ///
+ ///
+ ///
+ ///
+ ///
+ public static async Task ExecuteChannelsECLeagueHeadSupplierCooperativeItemAddAsync(this WechatApiClient client, Models.ChannelsECLeagueHeadSupplierCooperativeItemAddRequest request, CancellationToken cancellationToken = default)
+ {
+ if (client is null) throw new ArgumentNullException(nameof(client));
+ if (request is null) throw new ArgumentNullException(nameof(request));
+
+ IFlurlRequest flurlReq = client
+ .CreateFlurlRequest(request, HttpMethod.Post, "channels", "ec", "league", "headsupplier", "cooperativeitem", "add")
+ .SetQueryParam("access_token", request.AccessToken);
+
+ return await client.SendFlurlRequestAsJsonAsync(flurlReq, data: request, cancellationToken: cancellationToken).ConfigureAwait(false);
+ }
+
+ ///
+ /// 异步调用 [POST] /channels/ec/league/headsupplier/cooperativeitem/list/get 接口。
+ ///
+ /// REF:
+ ///
+ ///
+ ///
+ ///
+ ///
+ ///
+ ///
+ public static async Task ExecuteChannelsECLeagueHeadSupplierCooperativeItemListGetAsync(this WechatApiClient client, Models.ChannelsECLeagueHeadSupplierCooperativeItemListGetRequest request, CancellationToken cancellationToken = default)
+ {
+ if (client is null) throw new ArgumentNullException(nameof(client));
+ if (request is null) throw new ArgumentNullException(nameof(request));
+
+ IFlurlRequest flurlReq = client
+ .CreateFlurlRequest(request, HttpMethod.Post, "channels", "ec", "league", "headsupplier", "cooperativeitem", "list", "get")
+ .SetQueryParam("access_token", request.AccessToken);
+
+ return await client.SendFlurlRequestAsJsonAsync(flurlReq, data: request, cancellationToken: cancellationToken).ConfigureAwait(false);
+ }
+ #endregion
+
#region ECLeague/HeadSupplier/Funds
///
/// 异步调用 [POST] /channels/ec/league/headsupplier/funds/balance/get 接口。
///
/// REF:
- ///
+ ///
///
///
///
@@ -2483,7 +2531,7 @@ namespace SKIT.FlurlHttpClient.Wechat.Api
/// 异步调用 [POST] /channels/ec/league/headsupplier/funds/flowdetail/get 接口。
///
/// REF:
- ///
+ ///
///
///
///
@@ -2506,7 +2554,7 @@ namespace SKIT.FlurlHttpClient.Wechat.Api
/// 异步调用 [POST] /channels/ec/league/headsupplier/funds/flowlist/get 接口。
///
/// REF:
- ///
+ ///
///
///
///
@@ -2531,7 +2579,7 @@ namespace SKIT.FlurlHttpClient.Wechat.Api
/// 异步调用 [POST] /channels/ec/league/headsupplier/item/list/get 接口。
///
/// REF:
- ///
+ ///
///
///
///
@@ -2554,7 +2602,7 @@ namespace SKIT.FlurlHttpClient.Wechat.Api
/// 异步调用 [POST] /channels/ec/league/headsupplier/item/get 接口。
///
/// REF:
- ///
+ ///
///
///
///
@@ -2577,7 +2625,7 @@ namespace SKIT.FlurlHttpClient.Wechat.Api
/// 异步调用 [POST] /channels/ec/league/headsupplier/item/upd 接口。
///
/// REF:
- ///
+ ///
///
///
///
@@ -2595,6 +2643,29 @@ namespace SKIT.FlurlHttpClient.Wechat.Api
return await client.SendFlurlRequestAsJsonAsync(flurlReq, data: request, cancellationToken: cancellationToken).ConfigureAwait(false);
}
+
+ ///
+ /// 异步调用 [POST] /channels/ec/league/headsupplier/item/promotiondetail/get 接口。
+ ///
+ /// REF:
+ ///
+ ///
+ ///
+ ///
+ ///
+ ///
+ ///
+ public static async Task ExecuteChannelsECLeagueHeadSupplierItemPromotionDetailGetAsync(this WechatApiClient client, Models.ChannelsECLeagueHeadSupplierItemPromotionDetailGetRequest request, CancellationToken cancellationToken = default)
+ {
+ if (client is null) throw new ArgumentNullException(nameof(client));
+ if (request is null) throw new ArgumentNullException(nameof(request));
+
+ IFlurlRequest flurlReq = client
+ .CreateFlurlRequest(request, HttpMethod.Post, "channels", "ec", "league", "headsupplier", "item", "promotiondetail", "get")
+ .SetQueryParam("access_token", request.AccessToken);
+
+ return await client.SendFlurlRequestAsJsonAsync(flurlReq, data: request, cancellationToken: cancellationToken).ConfigureAwait(false);
+ }
#endregion
#region ECLeague/HeadSupplier/Order
@@ -2602,7 +2673,7 @@ namespace SKIT.FlurlHttpClient.Wechat.Api
/// 异步调用 [POST] /channels/ec/league/headsupplier/order/list/get 接口。
///
/// REF:
- ///
+ ///
///
///
///
@@ -2625,7 +2696,7 @@ namespace SKIT.FlurlHttpClient.Wechat.Api
/// 异步调用 [POST] /channels/ec/league/headsupplier/order/get 接口。
///
/// REF:
- ///
+ ///
///
///
///
@@ -2645,12 +2716,62 @@ namespace SKIT.FlurlHttpClient.Wechat.Api
}
#endregion
+ #region ECLeague/HeadSupplier/ProductDetail
+ ///
+ /// 异步调用 [POST] /channels/ec/league/headsupplier/productdetail/get 接口。
+ ///
+ /// REF:
+ ///
+ ///
+ ///
+ ///
+ ///
+ ///
+ ///
+ public static async Task ExecuteChannelsECLeagueHeadSupplierProductDetailGetAsync(this WechatApiClient client, Models.ChannelsECLeagueHeadSupplierProductDetailGetRequest request, CancellationToken cancellationToken = default)
+ {
+ if (client is null) throw new ArgumentNullException(nameof(client));
+ if (request is null) throw new ArgumentNullException(nameof(request));
+
+ IFlurlRequest flurlReq = client
+ .CreateFlurlRequest(request, HttpMethod.Post, "channels", "ec", "league", "headsupplier", "productdetail", "get")
+ .SetQueryParam("access_token", request.AccessToken);
+
+ return await client.SendFlurlRequestAsJsonAsync(flurlReq, data: request, cancellationToken: cancellationToken).ConfigureAwait(false);
+ }
+ #endregion
+
+ #region ECLeague/HeadSupplier/SelectionProduct
+ ///
+ /// 异步调用 [POST] /channels/ec/league/headsupplier/selectionproducts/list/get 接口。
+ ///
+ /// REF:
+ ///
+ ///
+ ///
+ ///
+ ///
+ ///
+ ///
+ public static async Task ExecuteChannelsECLeagueHeadSupplierSelectionProductsListGetAsync(this WechatApiClient client, Models.ChannelsECLeagueHeadSupplierSelectionProductsListGetRequest request, CancellationToken cancellationToken = default)
+ {
+ if (client is null) throw new ArgumentNullException(nameof(client));
+ if (request is null) throw new ArgumentNullException(nameof(request));
+
+ IFlurlRequest flurlReq = client
+ .CreateFlurlRequest(request, HttpMethod.Post, "channels", "ec", "league", "headsupplier", "selectionproducts", "list", "get")
+ .SetQueryParam("access_token", request.AccessToken);
+
+ return await client.SendFlurlRequestAsJsonAsync(flurlReq, data: request, cancellationToken: cancellationToken).ConfigureAwait(false);
+ }
+ #endregion
+
#region ECLeague/HeadSupplier/Shop
///
/// 异步调用 [POST] /channels/ec/league/headsupplier/shop/list/get 接口。
///
/// REF:
- ///
+ ///
///
///
///
@@ -2673,7 +2794,7 @@ namespace SKIT.FlurlHttpClient.Wechat.Api
/// 异步调用 [POST] /channels/ec/league/headsupplier/shop/get 接口。
///
/// REF:
- ///
+ ///
///
///
///
@@ -2693,6 +2814,54 @@ namespace SKIT.FlurlHttpClient.Wechat.Api
}
#endregion
+ #region ECLeague/HeadSupplier/SubItem
+ ///
+ /// 异步调用 [POST] /channels/ec/league/headsupplier/subitem/add 接口。
+ ///
+ /// REF:
+ ///
+ ///
+ ///
+ ///
+ ///
+ ///
+ ///
+ public static async Task ExecuteChannelsECLeagueHeadSupplierSubItemAddAsync(this WechatApiClient client, Models.ChannelsECLeagueHeadSupplierSubItemAddRequest request, CancellationToken cancellationToken = default)
+ {
+ if (client is null) throw new ArgumentNullException(nameof(client));
+ if (request is null) throw new ArgumentNullException(nameof(request));
+
+ IFlurlRequest flurlReq = client
+ .CreateFlurlRequest(request, HttpMethod.Post, "channels", "ec", "league", "headsupplier", "subitem", "add")
+ .SetQueryParam("access_token", request.AccessToken);
+
+ return await client.SendFlurlRequestAsJsonAsync(flurlReq, data: request, cancellationToken: cancellationToken).ConfigureAwait(false);
+ }
+
+ ///
+ /// 异步调用 [POST] /channels/ec/league/headsupplier/subitem/list/get 接口。
+ ///
+ /// REF:
+ ///
+ ///
+ ///
+ ///
+ ///
+ ///
+ ///
+ public static async Task ExecuteChannelsECLeagueHeadSupplierSubItemListGetAsync(this WechatApiClient client, Models.ChannelsECLeagueHeadSupplierSubItemListGetRequest request, CancellationToken cancellationToken = default)
+ {
+ if (client is null) throw new ArgumentNullException(nameof(client));
+ if (request is null) throw new ArgumentNullException(nameof(request));
+
+ IFlurlRequest flurlReq = client
+ .CreateFlurlRequest(request, HttpMethod.Post, "channels", "ec", "league", "headsupplier", "shop", "get")
+ .SetQueryParam("access_token", request.AccessToken);
+
+ return await client.SendFlurlRequestAsJsonAsync(flurlReq, data: request, cancellationToken: cancellationToken).ConfigureAwait(false);
+ }
+ #endregion
+
#region ECLeague/HeadSupplier/Window
///
/// 异步调用 [POST] /channels/ec/league/headsupplier/window/add 接口。
@@ -2721,7 +2890,7 @@ namespace SKIT.FlurlHttpClient.Wechat.Api
/// 异步调用 [POST] /channels/ec/league/headsupplier/window/remove 接口。
///
/// REF:
- ///
+ ///
///
///
///
@@ -2744,7 +2913,7 @@ namespace SKIT.FlurlHttpClient.Wechat.Api
/// 异步调用 [POST] /channels/ec/league/headsupplier/window/getall 接口。
///
/// REF:
- ///
+ ///
///
///
///
@@ -2767,7 +2936,7 @@ namespace SKIT.FlurlHttpClient.Wechat.Api
/// 异步调用 [POST] /channels/ec/league/headsupplier/window/getdetail 接口。
///
/// REF:
- ///
+ ///
///
///
///
@@ -2790,7 +2959,7 @@ namespace SKIT.FlurlHttpClient.Wechat.Api
/// 异步调用 [POST] /channels/ec/league/headsupplier/windowauth/get 接口。
///
/// REF:
- ///
+ ///
///
///
///
@@ -2813,7 +2982,7 @@ namespace SKIT.FlurlHttpClient.Wechat.Api
/// 异步调用 [POST] /channels/ec/league/headsupplier/windowauth/status/get 接口。
///
/// REF:
- ///
+ ///
///
///
///
diff --git a/src/SKIT.FlurlHttpClient.Wechat.Api/Models/Channels/ECLeague/HeadSupplier/CooperativeItem/ChannelsECLeagueHeadSupplierCooperativeItemAddRequest.cs b/src/SKIT.FlurlHttpClient.Wechat.Api/Models/Channels/ECLeague/HeadSupplier/CooperativeItem/ChannelsECLeagueHeadSupplierCooperativeItemAddRequest.cs
new file mode 100644
index 00000000..d7aaf0da
--- /dev/null
+++ b/src/SKIT.FlurlHttpClient.Wechat.Api/Models/Channels/ECLeague/HeadSupplier/CooperativeItem/ChannelsECLeagueHeadSupplierCooperativeItemAddRequest.cs
@@ -0,0 +1,24 @@
+namespace SKIT.FlurlHttpClient.Wechat.Api.Models
+{
+ ///
+ /// 表示 [POST] /channels/ec/league/headsupplier/cooperativeitem/add 接口的请求。
+ ///
+ public class ChannelsECLeagueHeadSupplierCooperativeItemAddRequest : WechatApiRequest, IInferable
+ {
+ ///
+ /// 获取或设置机构推广商品链接。
+ ///
+ [Newtonsoft.Json.JsonProperty("head_supplier_item_link")]
+ [System.Text.Json.Serialization.JsonPropertyName("head_supplier_item_link")]
+ public string HeadSupplierItemLink { get; set; } = string.Empty;
+
+ ///
+ /// 获取或设置是否隐藏。
+ ///
+ [Newtonsoft.Json.JsonProperty("hidden_flag")]
+ [Newtonsoft.Json.JsonConverter(typeof(Newtonsoft.Json.Converters.Common.NumericalBooleanConverter))]
+ [System.Text.Json.Serialization.JsonPropertyName("hidden_flag")]
+ [System.Text.Json.Serialization.JsonConverter(typeof(System.Text.Json.Serialization.Common.NumericalBooleanConverter))]
+ public bool? IsHidden { get; set; }
+ }
+}
diff --git a/src/SKIT.FlurlHttpClient.Wechat.Api/Models/Channels/ECLeague/HeadSupplier/CooperativeItem/ChannelsECLeagueHeadSupplierCooperativeItemAddResponse.cs b/src/SKIT.FlurlHttpClient.Wechat.Api/Models/Channels/ECLeague/HeadSupplier/CooperativeItem/ChannelsECLeagueHeadSupplierCooperativeItemAddResponse.cs
new file mode 100644
index 00000000..abdeb156
--- /dev/null
+++ b/src/SKIT.FlurlHttpClient.Wechat.Api/Models/Channels/ECLeague/HeadSupplier/CooperativeItem/ChannelsECLeagueHeadSupplierCooperativeItemAddResponse.cs
@@ -0,0 +1,9 @@
+namespace SKIT.FlurlHttpClient.Wechat.Api.Models
+{
+ ///
+ /// 表示 [POST] /channels/ec/league/headsupplier/cooperativeitem/add 接口的响应。
+ ///
+ public class ChannelsECLeagueHeadSupplierCooperativeItemAddResponse : WechatApiResponse
+ {
+ }
+}
diff --git a/src/SKIT.FlurlHttpClient.Wechat.Api/Models/Channels/ECLeague/HeadSupplier/CooperativeItem/ChannelsECLeagueHeadSupplierCooperativeItemListGetRequest.cs b/src/SKIT.FlurlHttpClient.Wechat.Api/Models/Channels/ECLeague/HeadSupplier/CooperativeItem/ChannelsECLeagueHeadSupplierCooperativeItemListGetRequest.cs
new file mode 100644
index 00000000..6539e5eb
--- /dev/null
+++ b/src/SKIT.FlurlHttpClient.Wechat.Api/Models/Channels/ECLeague/HeadSupplier/CooperativeItem/ChannelsECLeagueHeadSupplierCooperativeItemListGetRequest.cs
@@ -0,0 +1,30 @@
+namespace SKIT.FlurlHttpClient.Wechat.Api.Models
+{
+ ///
+ /// 表示 [POST] /channels/ec/league/headsupplier/cooperativeitem/list/get 接口的请求。
+ ///
+ public class ChannelsECLeagueHeadSupplierCooperativeItemListGetRequest : WechatApiRequest, IInferable
+ {
+ ///
+ /// 获取或设置佣金分配类型。
+ ///
+ [Newtonsoft.Json.JsonProperty("commission_type")]
+ [System.Text.Json.Serialization.JsonPropertyName("commission_type")]
+ public int CommissionType { get; set; }
+
+ ///
+ /// 获取或设置分页每页数量。
+ /// 默认值:10
+ ///
+ [Newtonsoft.Json.JsonProperty("page_size")]
+ [System.Text.Json.Serialization.JsonPropertyName("page_size")]
+ public int Limit { get; set; } = 10;
+
+ ///
+ /// 获取或设置翻页标记。
+ ///
+ [Newtonsoft.Json.JsonProperty("next_key")]
+ [System.Text.Json.Serialization.JsonPropertyName("next_key")]
+ public string? Cursor { get; set; }
+ }
+}
diff --git a/src/SKIT.FlurlHttpClient.Wechat.Api/Models/Channels/ECLeague/HeadSupplier/CooperativeItem/ChannelsECLeagueHeadSupplierCooperativeItemListGetResponse.cs b/src/SKIT.FlurlHttpClient.Wechat.Api/Models/Channels/ECLeague/HeadSupplier/CooperativeItem/ChannelsECLeagueHeadSupplierCooperativeItemListGetResponse.cs
new file mode 100644
index 00000000..06a9c06c
--- /dev/null
+++ b/src/SKIT.FlurlHttpClient.Wechat.Api/Models/Channels/ECLeague/HeadSupplier/CooperativeItem/ChannelsECLeagueHeadSupplierCooperativeItemListGetResponse.cs
@@ -0,0 +1,50 @@
+namespace SKIT.FlurlHttpClient.Wechat.Api.Models
+{
+ ///
+ /// 表示 [POST] /channels/ec/league/headsupplier/cooperativeitem/list/get 接口的响应。
+ ///
+ public class ChannelsECLeagueHeadSupplierCooperativeItemListGetResponse : WechatApiResponse
+ {
+ public static class Types
+ {
+ public class CooperativeItem
+ {
+ ///
+ /// 获取或设置合作商品 ID。
+ ///
+ [Newtonsoft.Json.JsonProperty("product_id")]
+ [System.Text.Json.Serialization.JsonPropertyName("product_id")]
+ [System.Text.Json.Serialization.JsonNumberHandling(System.Text.Json.Serialization.JsonNumberHandling.AllowReadingFromString)]
+ public long CooperativeItemId { get; set; }
+
+ ///
+ /// 获取或设置合作计划 ID。
+ ///
+ [Newtonsoft.Json.JsonProperty("id")]
+ [System.Text.Json.Serialization.JsonPropertyName("id")]
+ public long PlanId { get; set; }
+
+ ///
+ /// 获取或设置计划链接。
+ ///
+ [Newtonsoft.Json.JsonProperty("head_supplier_item_link")]
+ [System.Text.Json.Serialization.JsonPropertyName("head_supplier_item_link")]
+ public string HeadSupplierItemLink { get; set; } = default!;
+ }
+ }
+
+ ///
+ /// 获取或设置合作商品列表。
+ ///
+ [Newtonsoft.Json.JsonProperty("list")]
+ [System.Text.Json.Serialization.JsonPropertyName("list")]
+ public Types.CooperativeItem[] CooperativeItemList { get; set; } = default!;
+
+ ///
+ /// 获取或设置翻页标记。
+ ///
+ [Newtonsoft.Json.JsonProperty("next_key")]
+ [System.Text.Json.Serialization.JsonPropertyName("next_key")]
+ public string? NextCursor { get; set; }
+ }
+}
diff --git a/src/SKIT.FlurlHttpClient.Wechat.Api/Models/Channels/ECLeague/HeadSupplier/Item/ChannelsECLeagueHeadSupplierItemGetResponse.cs b/src/SKIT.FlurlHttpClient.Wechat.Api/Models/Channels/ECLeague/HeadSupplier/Item/ChannelsECLeagueHeadSupplierItemGetResponse.cs
index 88745b0a..56539401 100644
--- a/src/SKIT.FlurlHttpClient.Wechat.Api/Models/Channels/ECLeague/HeadSupplier/Item/ChannelsECLeagueHeadSupplierItemGetResponse.cs
+++ b/src/SKIT.FlurlHttpClient.Wechat.Api/Models/Channels/ECLeague/HeadSupplier/Item/ChannelsECLeagueHeadSupplierItemGetResponse.cs
@@ -13,9 +13,9 @@ namespace SKIT.FlurlHttpClient.Wechat.Api.Models
{
public static class Types
{
- public class ProductInfo : ChannelsECLeagueHeadSupplierWindowGetDetailResponse.Types.Product.Types.ProductInfo
+ public class ProductInfo
{
- public static new class Types
+ public static class Types
{
public class Detail : ChannelsECLeagueHeadSupplierWindowGetDetailResponse.Types.Product.Types.ProductInfo.Types.Detail
{
@@ -26,12 +26,33 @@ namespace SKIT.FlurlHttpClient.Wechat.Api.Models
}
}
+ ///
+ /// 获取或设置商品标题。
+ ///
+ [Newtonsoft.Json.JsonProperty("title")]
+ [System.Text.Json.Serialization.JsonPropertyName("title")]
+ public string Title { get; set; } = default!;
+
+ ///
+ /// 获取或设置商品副标题。
+ ///
+ [Newtonsoft.Json.JsonProperty("sub_title")]
+ [System.Text.Json.Serialization.JsonPropertyName("sub_title")]
+ public string? SubTitle { get; set; }
+
+ ///
+ /// 获取或设置主图 URL 列表。
+ ///
+ [Newtonsoft.Json.JsonProperty("head_imgs")]
+ [System.Text.Json.Serialization.JsonPropertyName("head_imgs")]
+ public string[] HeadImageUrlList { get; set; } = default!;
+
///
/// 获取或设置商品详情信息。
///
[Newtonsoft.Json.JsonProperty("desc_info")]
[System.Text.Json.Serialization.JsonPropertyName("desc_info")]
- public new Types.Detail Detail { get; set; } = default!;
+ public Types.Detail Detail { get; set; } = default!;
///
/// 获取或设置商品类目列表。
@@ -39,14 +60,14 @@ namespace SKIT.FlurlHttpClient.Wechat.Api.Models
[Obsolete("相关接口或字段于 2024-10-28 下线。")]
[Newtonsoft.Json.JsonProperty("cats")]
[System.Text.Json.Serialization.JsonPropertyName("cats")]
- public new Types.Category[]? CategoryList { get; set; }
+ public Types.Category[]? CategoryList { get; set; }
///
/// 获取或设置新版商品类目列表。
///
[Newtonsoft.Json.JsonProperty("cats_v2")]
[System.Text.Json.Serialization.JsonPropertyName("cats_v2")]
- public new Types.Category[]? CategoryV2List { get; set; }
+ public Types.Category[]? CategoryV2List { get; set; }
}
}
diff --git a/src/SKIT.FlurlHttpClient.Wechat.Api/Models/Channels/ECLeague/HeadSupplier/Item/ChannelsECLeagueHeadSupplierItemPromotionDetailGetRequest.cs b/src/SKIT.FlurlHttpClient.Wechat.Api/Models/Channels/ECLeague/HeadSupplier/Item/ChannelsECLeagueHeadSupplierItemPromotionDetailGetRequest.cs
new file mode 100644
index 00000000..1cd9a6a4
--- /dev/null
+++ b/src/SKIT.FlurlHttpClient.Wechat.Api/Models/Channels/ECLeague/HeadSupplier/Item/ChannelsECLeagueHeadSupplierItemPromotionDetailGetRequest.cs
@@ -0,0 +1,15 @@
+namespace SKIT.FlurlHttpClient.Wechat.Api.Models
+{
+ ///
+ /// 表示 [POST] /channels/ec/league/headsupplier/item/promotiondetail/get 接口的请求。
+ ///
+ public class ChannelsECLeagueHeadSupplierItemPromotionDetailGetRequest : WechatApiRequest, IInferable
+ {
+ ///
+ /// 获取或设置团长商品链接。
+ ///
+ [Newtonsoft.Json.JsonProperty("head_supplier_item_link")]
+ [System.Text.Json.Serialization.JsonPropertyName("head_supplier_item_link")]
+ public string HeadSupplierItemLink { get; set; } = string.Empty;
+ }
+}
diff --git a/src/SKIT.FlurlHttpClient.Wechat.Api/Models/Channels/ECLeague/HeadSupplier/Item/ChannelsECLeagueHeadSupplierItemPromotionDetailGetResponse.cs b/src/SKIT.FlurlHttpClient.Wechat.Api/Models/Channels/ECLeague/HeadSupplier/Item/ChannelsECLeagueHeadSupplierItemPromotionDetailGetResponse.cs
new file mode 100644
index 00000000..9ee23935
--- /dev/null
+++ b/src/SKIT.FlurlHttpClient.Wechat.Api/Models/Channels/ECLeague/HeadSupplier/Item/ChannelsECLeagueHeadSupplierItemPromotionDetailGetResponse.cs
@@ -0,0 +1,173 @@
+namespace SKIT.FlurlHttpClient.Wechat.Api.Models
+{
+ ///
+ /// 表示 [POST] /channels/ec/league/headsupplier/item/promotiondetail/get 接口的响应。
+ ///
+ public class ChannelsECLeagueHeadSupplierItemPromotionDetailGetResponse : WechatApiResponse
+ {
+ public static class Types
+ {
+ public class Product
+ {
+ public static class Types
+ {
+ public class CommissionInfo
+ {
+ public static class Types
+ {
+ public class NormalCommissionInfo
+ {
+ ///
+ /// 获取或设置佣金费率(单位:十万分数)。
+ ///
+ [Newtonsoft.Json.JsonProperty("ratio")]
+ [System.Text.Json.Serialization.JsonPropertyName("ratio")]
+ public int Ratio { get; set; }
+ }
+ }
+
+ ///
+ /// 获取或设置计划类型。
+ ///
+ [Newtonsoft.Json.JsonProperty("plan_type")]
+ [System.Text.Json.Serialization.JsonPropertyName("plan_type")]
+ public int PlanType { get; set; }
+
+ ///
+ /// 获取或设置佣金分配类型。
+ ///
+ [Newtonsoft.Json.JsonProperty("commission_type")]
+ [System.Text.Json.Serialization.JsonPropertyName("commission_type")]
+ public int CommissionType { get; set; }
+
+ ///
+ /// 获取或设置佣金费率(单位:十万分数)。
+ ///
+ [Newtonsoft.Json.JsonProperty("ratio")]
+ [System.Text.Json.Serialization.JsonPropertyName("ratio")]
+ public int CommissionRatio { get; set; }
+
+ ///
+ /// 获取或设置服务费费率(单位:十万分数)。
+ ///
+ [Newtonsoft.Json.JsonProperty("service_ratio")]
+ [System.Text.Json.Serialization.JsonPropertyName("service_ratio")]
+ public int ServiceFeeRatio { get; set; }
+
+ ///
+ /// 获取或设置计划开始时间戳。
+ ///
+ [Newtonsoft.Json.JsonProperty("start_time")]
+ [System.Text.Json.Serialization.JsonPropertyName("start_time")]
+ public long StartTimestamp { get; set; }
+
+ ///
+ /// 获取或设置计划结束时间戳。
+ ///
+ [Newtonsoft.Json.JsonProperty("end_time")]
+ [System.Text.Json.Serialization.JsonPropertyName("end_time")]
+ public long EndTimestamp { get; set; }
+
+ ///
+ /// 获取或设置该商品普通推广下的佣金信息。
+ ///
+ [Newtonsoft.Json.JsonProperty("normal_commission_info")]
+ [System.Text.Json.Serialization.JsonPropertyName("normal_commission_info")]
+ public Types.NormalCommissionInfo? NormalCommissionInfo { get; set; }
+ }
+
+ public class HeadSupplierInfo
+ {
+ ///
+ /// 获取或设置团长 AppId。
+ ///
+ [Newtonsoft.Json.JsonProperty("appid")]
+ [System.Text.Json.Serialization.JsonPropertyName("appid")]
+ public string AppId { get; set; } = default!;
+
+ ///
+ /// 获取或设置团长名称。
+ ///
+ [Newtonsoft.Json.JsonProperty("name")]
+ [System.Text.Json.Serialization.JsonPropertyName("name")]
+ public string Name { get; set; } = default!;
+ }
+
+ public class CooperativeInfo
+ {
+ ///
+ /// 获取或设置合作状态。
+ ///
+ [Newtonsoft.Json.JsonProperty("cooperative_status")]
+ [System.Text.Json.Serialization.JsonPropertyName("cooperative_status")]
+ public int CooperativeStatus { get; set; }
+
+ ///
+ /// 获取或设置是否隐藏。
+ ///
+ [Newtonsoft.Json.JsonProperty("is_hidden")]
+ [System.Text.Json.Serialization.JsonPropertyName("is_hidden")]
+ public bool IsHidden { get; set; }
+
+ ///
+ /// 获取或设置带货链接。
+ ///
+ [Newtonsoft.Json.JsonProperty("link")]
+ [System.Text.Json.Serialization.JsonPropertyName("link")]
+ public string? Link { get; set; }
+ }
+ }
+
+ ///
+ /// 获取或设置小店 AppId。
+ ///
+ [Newtonsoft.Json.JsonProperty("shop_appid")]
+ [System.Text.Json.Serialization.JsonPropertyName("shop_appid")]
+ public string AppId { get; set; } = default!;
+
+ ///
+ /// 获取或设置商品 ID。
+ ///
+ [Newtonsoft.Json.JsonProperty("product_id")]
+ [System.Text.Json.Serialization.JsonPropertyName("product_id")]
+ [System.Text.Json.Serialization.JsonNumberHandling(System.Text.Json.Serialization.JsonNumberHandling.AllowReadingFromString)]
+ public long ProductId { get; set; }
+
+ ///
+ /// 获取或设置商品来源。
+ ///
+ [Newtonsoft.Json.JsonProperty("spu_source")]
+ [System.Text.Json.Serialization.JsonPropertyName("spu_source")]
+ public int SPUSource { get; set; }
+
+ ///
+ /// 获取或设置佣金信息。
+ ///
+ [Newtonsoft.Json.JsonProperty("commission_info")]
+ [System.Text.Json.Serialization.JsonPropertyName("commission_info")]
+ public Types.CommissionInfo CommissionInfo { get; set; } = default!;
+
+ ///
+ /// 获取或设置供货机构信息。
+ ///
+ [Newtonsoft.Json.JsonProperty("head_supplier_info")]
+ [System.Text.Json.Serialization.JsonPropertyName("head_supplier_info")]
+ public Types.HeadSupplierInfo HeadSupplierInfo { get; set; } = default!;
+
+ ///
+ /// 获取或设置合作信息。
+ ///
+ [Newtonsoft.Json.JsonProperty("cooperative_info")]
+ [System.Text.Json.Serialization.JsonPropertyName("cooperative_info")]
+ public Types.CooperativeInfo CooperativeInfo { get; set; } = default!;
+ }
+ }
+
+ ///
+ /// 获取或设置商品信息。
+ ///
+ [Newtonsoft.Json.JsonProperty("item")]
+ [System.Text.Json.Serialization.JsonPropertyName("item")]
+ public Types.Product Product { get; set; } = default!;
+ }
+}
diff --git a/src/SKIT.FlurlHttpClient.Wechat.Api/Models/Channels/ECLeague/HeadSupplier/Order/ChannelsECLeagueHeadSupplierOrderListGetRequest.cs b/src/SKIT.FlurlHttpClient.Wechat.Api/Models/Channels/ECLeague/HeadSupplier/Order/ChannelsECLeagueHeadSupplierOrderListGetRequest.cs
index 6094cb05..a56a4796 100644
--- a/src/SKIT.FlurlHttpClient.Wechat.Api/Models/Channels/ECLeague/HeadSupplier/Order/ChannelsECLeagueHeadSupplierOrderListGetRequest.cs
+++ b/src/SKIT.FlurlHttpClient.Wechat.Api/Models/Channels/ECLeague/HeadSupplier/Order/ChannelsECLeagueHeadSupplierOrderListGetRequest.cs
@@ -32,6 +32,13 @@ namespace SKIT.FlurlHttpClient.Wechat.Api.Models
[System.Text.Json.Serialization.JsonPropertyName("appid")]
public string? AppId { get; set; }
+ ///
+ /// 获取或设置推客 AppId。
+ ///
+ [Newtonsoft.Json.JsonProperty("sharer_appid")]
+ [System.Text.Json.Serialization.JsonPropertyName("sharer_appid")]
+ public string? SharerAppId { get; set; }
+
///
/// 获取或设置视频号 ID。
///
@@ -39,6 +46,13 @@ namespace SKIT.FlurlHttpClient.Wechat.Api.Models
[System.Text.Json.Serialization.JsonPropertyName("finder_id")]
public string? FinderId { get; set; }
+ ///
+ /// 获取或设置视频号 OpenFinderId。
+ ///
+ [Newtonsoft.Json.JsonProperty("openfinderid")]
+ [System.Text.Json.Serialization.JsonPropertyName("openfinderid")]
+ public string? OpenFinderId { get; set; }
+
///
/// 获取或设置创建时间范围。
///
diff --git a/src/SKIT.FlurlHttpClient.Wechat.Api/Models/Channels/ECLeague/HeadSupplier/ProductDetail/ChannelsECLeagueHeadSupplierProductDetailGetRequest.cs b/src/SKIT.FlurlHttpClient.Wechat.Api/Models/Channels/ECLeague/HeadSupplier/ProductDetail/ChannelsECLeagueHeadSupplierProductDetailGetRequest.cs
new file mode 100644
index 00000000..f467859a
--- /dev/null
+++ b/src/SKIT.FlurlHttpClient.Wechat.Api/Models/Channels/ECLeague/HeadSupplier/ProductDetail/ChannelsECLeagueHeadSupplierProductDetailGetRequest.cs
@@ -0,0 +1,29 @@
+namespace SKIT.FlurlHttpClient.Wechat.Api.Models
+{
+ ///
+ /// 表示 [POST] /channels/ec/league/headsupplier/productdetail/get 接口的请求。
+ ///
+ public class ChannelsECLeagueHeadSupplierProductDetailGetRequest : WechatApiRequest, IInferable
+ {
+ ///
+ /// 获取或设置小店 AppId。
+ ///
+ [Newtonsoft.Json.JsonProperty("shop_appid")]
+ [System.Text.Json.Serialization.JsonPropertyName("shop_appid")]
+ public string AppId { get; set; } = string.Empty;
+
+ ///
+ /// 获取或设置商品 ID。
+ ///
+ [Newtonsoft.Json.JsonProperty("product_id")]
+ [System.Text.Json.Serialization.JsonPropertyName("product_id")]
+ public long ProductId { get; set; }
+
+ ///
+ /// 获取或设置计划类型。
+ ///
+ [Newtonsoft.Json.JsonProperty("plan_type")]
+ [System.Text.Json.Serialization.JsonPropertyName("plan_type")]
+ public int? PlanType { get; set; }
+ }
+}
diff --git a/src/SKIT.FlurlHttpClient.Wechat.Api/Models/Channels/ECLeague/HeadSupplier/ProductDetail/ChannelsECLeagueHeadSupplierProductDetailGetResponse.cs b/src/SKIT.FlurlHttpClient.Wechat.Api/Models/Channels/ECLeague/HeadSupplier/ProductDetail/ChannelsECLeagueHeadSupplierProductDetailGetResponse.cs
new file mode 100644
index 00000000..ad995ff8
--- /dev/null
+++ b/src/SKIT.FlurlHttpClient.Wechat.Api/Models/Channels/ECLeague/HeadSupplier/ProductDetail/ChannelsECLeagueHeadSupplierProductDetailGetResponse.cs
@@ -0,0 +1,151 @@
+namespace SKIT.FlurlHttpClient.Wechat.Api.Models
+{
+ ///
+ /// 表示 [POST] /channels/ec/league/headsupplier/productdetail/get 接口的响应。
+ ///
+ public class ChannelsECLeagueHeadSupplierProductDetailGetResponse : WechatApiResponse
+ {
+ public static class Types
+ {
+ public class Product
+ {
+ public static class Types
+ {
+ public class ProductInfo
+ {
+ public static class Types
+ {
+ public class Detail : ChannelsECProductGetResponse.Types.Product.Types.Detail
+ {
+ }
+
+ public class Category : ChannelsECProductGetResponse.Types.Product.Types.Category
+ {
+ }
+
+ public class SKU : ChannelsECProductGetResponse.Types.Product.Types.SKU
+ {
+ }
+ }
+
+ ///
+ /// 获取或设置商品标题。
+ ///
+ [Newtonsoft.Json.JsonProperty("title")]
+ [System.Text.Json.Serialization.JsonPropertyName("title")]
+ public string Title { get; set; } = default!;
+
+ ///
+ /// 获取或设置商品副标题。
+ ///
+ [Newtonsoft.Json.JsonProperty("sub_title")]
+ [System.Text.Json.Serialization.JsonPropertyName("sub_title")]
+ public string? SubTitle { get; set; }
+
+ ///
+ /// 获取或设置主图 URL 列表。
+ ///
+ [Newtonsoft.Json.JsonProperty("head_imgs")]
+ [System.Text.Json.Serialization.JsonPropertyName("head_imgs")]
+ public string[] HeadImageUrlList { get; set; } = default!;
+
+ ///
+ /// 获取或设置商品详情信息。
+ ///
+ [Newtonsoft.Json.JsonProperty("desc_info")]
+ [System.Text.Json.Serialization.JsonPropertyName("desc_info")]
+ public Types.Detail Detail { get; set; } = default!;
+
+ ///
+ /// 获取或设置新版商品类目列表。
+ ///
+ [Newtonsoft.Json.JsonProperty("cats_v2")]
+ [System.Text.Json.Serialization.JsonPropertyName("cats_v2")]
+ public Types.Category[]? CategoryV2List { get; set; }
+
+ ///
+ /// 获取或设置 SKU 列表。
+ ///
+ [Newtonsoft.Json.JsonProperty("skus")]
+ [System.Text.Json.Serialization.JsonPropertyName("skus")]
+ public Types.SKU[] SKUList { get; set; } = default!;
+
+ ///
+ /// 获取或设置商品状态。
+ ///
+ [Newtonsoft.Json.JsonProperty("status")]
+ [System.Text.Json.Serialization.JsonPropertyName("status")]
+ public int Status { get; set; }
+
+ ///
+ /// 获取或设置近 30 天销量范围。
+ ///
+ [Newtonsoft.Json.JsonProperty("monthly_sales_range")]
+ [System.Text.Json.Serialization.JsonPropertyName("monthly_sales_range")]
+ public int MonthlySalesRange { get; set; }
+ }
+
+ public class ShopInfo
+ {
+ ///
+ /// 获取或设置店铺名称。
+ ///
+ [Newtonsoft.Json.JsonProperty("name")]
+ [System.Text.Json.Serialization.JsonPropertyName("name")]
+ public string Name { get; set; } = default!;
+
+ ///
+ /// 获取或设置店铺图标 URL。
+ ///
+ [Newtonsoft.Json.JsonProperty("icon")]
+ [System.Text.Json.Serialization.JsonPropertyName("icon")]
+ public string IconUrl { get; set; } = default!;
+
+ ///
+ /// 获取或设置店铺评分。
+ ///
+ [Newtonsoft.Json.JsonProperty("score")]
+ [System.Text.Json.Serialization.JsonPropertyName("score")]
+ public int Score { get; set; }
+ }
+ }
+
+ ///
+ /// 获取或设置小店 AppId。
+ ///
+ [Newtonsoft.Json.JsonProperty("shop_appid")]
+ [System.Text.Json.Serialization.JsonPropertyName("shop_appid")]
+ public string AppId { get; set; } = default!;
+
+ ///
+ /// 获取或设置商品 ID。
+ ///
+ [Newtonsoft.Json.JsonProperty("product_id")]
+ [System.Text.Json.Serialization.JsonPropertyName("product_id")]
+ [System.Text.Json.Serialization.JsonNumberHandling(System.Text.Json.Serialization.JsonNumberHandling.AllowReadingFromString)]
+ public long ProductId { get; set; }
+
+ ///
+ /// 获取或设置商品信息。
+ ///
+ [Newtonsoft.Json.JsonProperty("product_info")]
+ [System.Text.Json.Serialization.JsonPropertyName("product_info")]
+ public Types.ProductInfo ProductInfo { get; set; } = default!;
+
+ ///
+ /// 获取或设置店铺信息。
+ ///
+ [Newtonsoft.Json.JsonProperty("shop")]
+ [System.Text.Json.Serialization.JsonPropertyName("shop")]
+ public Types.ShopInfo ShopInfo { get; set; } = default!;
+ }
+ }
+
+ ///
+ /// 获取或设置商品信息。
+ ///
+ [Newtonsoft.Json.JsonProperty("product")]
+ [System.Text.Json.Serialization.JsonPropertyName("product")]
+ public Types.Product Product { get; set; } = default!;
+ }
+}
diff --git a/src/SKIT.FlurlHttpClient.Wechat.Api/Models/Channels/ECLeague/HeadSupplier/SelectionProduct/ChannelsECLeagueHeadSupplierSelectionProductsListGetRequest.cs b/src/SKIT.FlurlHttpClient.Wechat.Api/Models/Channels/ECLeague/HeadSupplier/SelectionProduct/ChannelsECLeagueHeadSupplierSelectionProductsListGetRequest.cs
new file mode 100644
index 00000000..45c44dea
--- /dev/null
+++ b/src/SKIT.FlurlHttpClient.Wechat.Api/Models/Channels/ECLeague/HeadSupplier/SelectionProduct/ChannelsECLeagueHeadSupplierSelectionProductsListGetRequest.cs
@@ -0,0 +1,166 @@
+using System.Collections.Generic;
+
+namespace SKIT.FlurlHttpClient.Wechat.Api.Models
+{
+ ///
+ /// 表示 [POST] /channels/ec/league/headsupplier/selectionproducts/list/get 接口的请求。
+ ///
+ public class ChannelsECLeagueHeadSupplierSelectionProductsListGetRequest : WechatApiRequest, IInferable
+ {
+ public static class Types
+ {
+ public class SPUItemCondition
+ {
+ public static class Types
+ {
+ public class Range
+ {
+ ///
+ /// 获取或设置最小值。
+ ///
+ [Newtonsoft.Json.JsonProperty("min")]
+ [System.Text.Json.Serialization.JsonPropertyName("min")]
+ public long Mininum { get; set; }
+
+ ///
+ /// 获取或设置最大值。
+ ///
+ [Newtonsoft.Json.JsonProperty("max")]
+ [System.Text.Json.Serialization.JsonPropertyName("max")]
+ public long Maxinum { get; set; }
+ }
+ }
+
+ ///
+ /// 获取或设置售卖价区间信息(单位:分)。
+ ///
+ [Newtonsoft.Json.JsonProperty("selling_price_range")]
+ [System.Text.Json.Serialization.JsonPropertyName("selling_price_range")]
+ public Types.Range? SellingPriceRange { get; set; }
+
+ ///
+ /// 获取或设置月销量区间信息。
+ ///
+ [Newtonsoft.Json.JsonProperty("monthly_sales_range")]
+ [System.Text.Json.Serialization.JsonPropertyName("monthly_sales_range")]
+ public Types.Range? MonthlySalesRange { get; set; }
+
+ ///
+ /// 获取或设置服务费率区间信息(单位:十万分数)。
+ ///
+ [Newtonsoft.Json.JsonProperty("service_fee_rate_range")]
+ [System.Text.Json.Serialization.JsonPropertyName("service_fee_rate_range")]
+ public Types.Range? ServiceFeeRateRange { get; set; }
+
+ ///
+ /// 获取或设置佣金率区间信息(单位:十万分数)。
+ ///
+ [Newtonsoft.Json.JsonProperty("commission_rate_range")]
+ [System.Text.Json.Serialization.JsonPropertyName("commission_rate_range")]
+ public Types.Range? CommissionRateRange { get; set; }
+
+ ///
+ /// 获取或设置推广时间戳范围信息。
+ ///
+ [Newtonsoft.Json.JsonProperty("promote_time_range")]
+ [System.Text.Json.Serialization.JsonPropertyName("promote_time_range")]
+ public Types.Range? PromoteTimestampRange { get; set; }
+
+ ///
+ /// 获取或设置保障标识信息。
+ ///
+ [Newtonsoft.Json.JsonProperty("flags")]
+ [System.Text.Json.Serialization.JsonPropertyName("flags")]
+ public IList? FlagList { get; set; }
+ }
+
+ public class Category
+ {
+ ///
+ /// 获取或设置商品类目 ID。
+ ///
+ [Newtonsoft.Json.JsonProperty("category_id")]
+ [System.Text.Json.Serialization.JsonPropertyName("category_id")]
+ public long? CategoryId { get; set; }
+
+ ///
+ /// 获取或设置商品类目名称。
+ ///
+ [Newtonsoft.Json.JsonProperty("category_name")]
+ [System.Text.Json.Serialization.JsonPropertyName("category_name")]
+ public string? CategoryName { get; set; }
+
+ ///
+ /// 获取或设置一级类目 ID 列表。
+ ///
+ [Newtonsoft.Json.JsonProperty("category_ids_1")]
+ [System.Text.Json.Serialization.JsonPropertyName("category_ids_1")]
+ public IList? Category1stIdList { get; set; }
+
+ ///
+ /// 获取或设置二级类目 ID 列表。
+ ///
+ [Newtonsoft.Json.JsonProperty("category_ids_2")]
+ [System.Text.Json.Serialization.JsonPropertyName("category_ids_2")]
+ public IList? Category2ndIdList { get; set; }
+
+ ///
+ /// 获取或设置三级类目 ID 列表。
+ ///
+ [Newtonsoft.Json.JsonProperty("category_ids_3")]
+ [System.Text.Json.Serialization.JsonPropertyName("category_ids_3")]
+ public IList? Category3rdIdList { get; set; }
+ }
+ }
+
+ ///
+ /// 获取或设置搜索关键词。
+ ///
+ [Newtonsoft.Json.JsonProperty("keyword")]
+ [System.Text.Json.Serialization.JsonPropertyName("keyword")]
+ public string? Keyword { get; set; }
+
+ ///
+ /// 获取或设置计划类型。
+ ///
+ [Newtonsoft.Json.JsonProperty("plan_type")]
+ [System.Text.Json.Serialization.JsonPropertyName("plan_type")]
+ public int PlanType { get; set; }
+
+ ///
+ /// 获取或设置商品查询条件。
+ ///
+ [Newtonsoft.Json.JsonProperty("spu_item_condition")]
+ [System.Text.Json.Serialization.JsonPropertyName("spu_item_condition")]
+ public Types.SPUItemCondition? SPUItemCondition { get; set; }
+
+ ///
+ /// 获取或设置类目查询条件。
+ ///
+ [Newtonsoft.Json.JsonProperty("category")]
+ [System.Text.Json.Serialization.JsonPropertyName("category")]
+ public Types.Category? Category { get; set; }
+
+ ///
+ /// 获取或设置商品来源。
+ ///
+ [Newtonsoft.Json.JsonProperty("spu_source")]
+ [System.Text.Json.Serialization.JsonPropertyName("spu_source")]
+ public int? SPUSource { get; set; }
+
+ ///
+ /// 获取或设置分页每页数量。
+ /// 默认值:10
+ ///
+ [Newtonsoft.Json.JsonProperty("page_size")]
+ [System.Text.Json.Serialization.JsonPropertyName("page_size")]
+ public int Limit { get; set; } = 10;
+
+ ///
+ /// 获取或设置翻页标记。
+ ///
+ [Newtonsoft.Json.JsonProperty("next_key")]
+ [System.Text.Json.Serialization.JsonPropertyName("next_key")]
+ public string? Cursor { get; set; }
+ }
+}
diff --git a/src/SKIT.FlurlHttpClient.Wechat.Api/Models/Channels/ECLeague/HeadSupplier/SelectionProduct/ChannelsECLeagueHeadSupplierSelectionProductsListGetResponse.cs b/src/SKIT.FlurlHttpClient.Wechat.Api/Models/Channels/ECLeague/HeadSupplier/SelectionProduct/ChannelsECLeagueHeadSupplierSelectionProductsListGetResponse.cs
new file mode 100644
index 00000000..8cf4a8ba
--- /dev/null
+++ b/src/SKIT.FlurlHttpClient.Wechat.Api/Models/Channels/ECLeague/HeadSupplier/SelectionProduct/ChannelsECLeagueHeadSupplierSelectionProductsListGetResponse.cs
@@ -0,0 +1,50 @@
+namespace SKIT.FlurlHttpClient.Wechat.Api.Models
+{
+ ///
+ /// 表示 [POST] /channels/ec/league/headsupplier/selectionproducts/list/get 接口的响应。
+ ///
+ public class ChannelsECLeagueHeadSupplierSelectionProductsListGetResponse : WechatApiResponse
+ {
+ public static class Types
+ {
+ public class Product
+ {
+ ///
+ /// 获取或设置小店 AppId。
+ ///
+ [Newtonsoft.Json.JsonProperty("shop_appid")]
+ [System.Text.Json.Serialization.JsonPropertyName("shop_appid")]
+ public string AppId { get; set; } = default!;
+
+ ///
+ /// 获取或设置商品 ID。
+ ///
+ [Newtonsoft.Json.JsonProperty("product_id")]
+ [System.Text.Json.Serialization.JsonPropertyName("product_id")]
+ [System.Text.Json.Serialization.JsonNumberHandling(System.Text.Json.Serialization.JsonNumberHandling.AllowReadingFromString)]
+ public long ProductId { get; set; }
+
+ ///
+ /// 获取或设置机构推广商品链接。
+ ///
+ [Newtonsoft.Json.JsonProperty("head_supplier_item_link")]
+ [System.Text.Json.Serialization.JsonPropertyName("head_supplier_item_link")]
+ public string HeadSupplierItemLink { get; set; } = default!;
+ }
+ }
+
+ ///
+ /// 获取或设置商品列表。
+ ///
+ [Newtonsoft.Json.JsonProperty("product_list")]
+ [System.Text.Json.Serialization.JsonPropertyName("product_list")]
+ public Types.Product[] ProductList { get; set; } = default!;
+
+ ///
+ /// 获取或设置翻页标记。
+ ///
+ [Newtonsoft.Json.JsonProperty("next_key")]
+ [System.Text.Json.Serialization.JsonPropertyName("next_key")]
+ public string? NextCursor { get; set; }
+ }
+}
diff --git a/src/SKIT.FlurlHttpClient.Wechat.Api/Models/Channels/ECLeague/HeadSupplier/SubItem/ChannelsECLeagueHeadSupplierSubItemAddRequest.cs b/src/SKIT.FlurlHttpClient.Wechat.Api/Models/Channels/ECLeague/HeadSupplier/SubItem/ChannelsECLeagueHeadSupplierSubItemAddRequest.cs
new file mode 100644
index 00000000..7c6b8cd6
--- /dev/null
+++ b/src/SKIT.FlurlHttpClient.Wechat.Api/Models/Channels/ECLeague/HeadSupplier/SubItem/ChannelsECLeagueHeadSupplierSubItemAddRequest.cs
@@ -0,0 +1,22 @@
+namespace SKIT.FlurlHttpClient.Wechat.Api.Models
+{
+ ///
+ /// 表示 [POST] /channels/ec/league/headsupplier/subitem/add 接口的请求。
+ ///
+ public class ChannelsECLeagueHeadSupplierSubItemAddRequest : WechatApiRequest, IInferable
+ {
+ ///
+ /// 获取或设置计划 ID。
+ ///
+ [Newtonsoft.Json.JsonProperty("id")]
+ [System.Text.Json.Serialization.JsonPropertyName("id")]
+ public long PlanId { get; set; }
+
+ ///
+ /// 获取或设置相对于服务费的达人佣金率(范围:0~90)。
+ ///
+ [Newtonsoft.Json.JsonProperty("ratio_to_service_rate")]
+ [System.Text.Json.Serialization.JsonPropertyName("ratio_to_service_rate")]
+ public int RatioToServiceRate { get; set; }
+ }
+}
diff --git a/src/SKIT.FlurlHttpClient.Wechat.Api/Models/Channels/ECLeague/HeadSupplier/SubItem/ChannelsECLeagueHeadSupplierSubItemAddResponse.cs b/src/SKIT.FlurlHttpClient.Wechat.Api/Models/Channels/ECLeague/HeadSupplier/SubItem/ChannelsECLeagueHeadSupplierSubItemAddResponse.cs
new file mode 100644
index 00000000..bf864573
--- /dev/null
+++ b/src/SKIT.FlurlHttpClient.Wechat.Api/Models/Channels/ECLeague/HeadSupplier/SubItem/ChannelsECLeagueHeadSupplierSubItemAddResponse.cs
@@ -0,0 +1,9 @@
+namespace SKIT.FlurlHttpClient.Wechat.Api.Models
+{
+ ///
+ /// 表示 [POST] /channels/ec/league/headsupplier/subitem/add 接口的响应。
+ ///
+ public class ChannelsECLeagueHeadSupplierSubItemAddResponse : WechatApiResponse
+ {
+ }
+}
diff --git a/src/SKIT.FlurlHttpClient.Wechat.Api/Models/Channels/ECLeague/HeadSupplier/SubItem/ChannelsECLeagueHeadSupplierSubItemListGetRequest.cs b/src/SKIT.FlurlHttpClient.Wechat.Api/Models/Channels/ECLeague/HeadSupplier/SubItem/ChannelsECLeagueHeadSupplierSubItemListGetRequest.cs
new file mode 100644
index 00000000..7b3e3317
--- /dev/null
+++ b/src/SKIT.FlurlHttpClient.Wechat.Api/Models/Channels/ECLeague/HeadSupplier/SubItem/ChannelsECLeagueHeadSupplierSubItemListGetRequest.cs
@@ -0,0 +1,30 @@
+namespace SKIT.FlurlHttpClient.Wechat.Api.Models
+{
+ ///
+ /// 表示 [POST] /channels/ec/league/headsupplier/subitem/list/get 接口的请求。
+ ///
+ public class ChannelsECLeagueHeadSupplierSubItemListGetRequest : WechatApiRequest, IInferable
+ {
+ ///
+ /// 获取或设置计划 ID。
+ ///
+ [Newtonsoft.Json.JsonProperty("id")]
+ [System.Text.Json.Serialization.JsonPropertyName("id")]
+ public long SubItemId { get; set; }
+
+ ///
+ /// 获取或设置分页每页数量。
+ /// 默认值:10
+ ///
+ [Newtonsoft.Json.JsonProperty("page_size")]
+ [System.Text.Json.Serialization.JsonPropertyName("page_size")]
+ public int Limit { get; set; } = 10;
+
+ ///
+ /// 获取或设置翻页标记。
+ ///
+ [Newtonsoft.Json.JsonProperty("next_key")]
+ [System.Text.Json.Serialization.JsonPropertyName("next_key")]
+ public string? Cursor { get; set; }
+ }
+}
diff --git a/src/SKIT.FlurlHttpClient.Wechat.Api/Models/Channels/ECLeague/HeadSupplier/SubItem/ChannelsECLeagueHeadSupplierSubItemListGetResponse.cs b/src/SKIT.FlurlHttpClient.Wechat.Api/Models/Channels/ECLeague/HeadSupplier/SubItem/ChannelsECLeagueHeadSupplierSubItemListGetResponse.cs
new file mode 100644
index 00000000..7475165d
--- /dev/null
+++ b/src/SKIT.FlurlHttpClient.Wechat.Api/Models/Channels/ECLeague/HeadSupplier/SubItem/ChannelsECLeagueHeadSupplierSubItemListGetResponse.cs
@@ -0,0 +1,56 @@
+namespace SKIT.FlurlHttpClient.Wechat.Api.Models
+{
+ ///
+ /// 表示 [POST] /channels/ec/league/headsupplier/subitem/list/get 接口的响应。
+ ///
+ public class ChannelsECLeagueHeadSupplierSubItemListGetResponse : WechatApiResponse
+ {
+ public static class Types
+ {
+ public class SubItem
+ {
+ ///
+ /// 获取或设置计划 ID。
+ ///
+ [Newtonsoft.Json.JsonProperty("sub_item_id")]
+ [System.Text.Json.Serialization.JsonPropertyName("sub_item_id")]
+ public long PlanId { get; set; }
+
+ ///
+ /// 获取或设置计划链接。
+ ///
+ [Newtonsoft.Json.JsonProperty("head_supplier_item_link")]
+ [System.Text.Json.Serialization.JsonPropertyName("head_supplier_item_link")]
+ public string HeadSupplierItemLink { get; set; } = default!;
+
+ ///
+ /// 获取或设置计划状态。
+ ///
+ [Newtonsoft.Json.JsonProperty("status")]
+ [System.Text.Json.Serialization.JsonPropertyName("status")]
+ public int Status { get; set; }
+
+ ///
+ /// 获取或设置相对于服务费的达人佣金率(范围:0~90)。
+ ///
+ [Newtonsoft.Json.JsonProperty("ratio_to_service_rate")]
+ [System.Text.Json.Serialization.JsonPropertyName("ratio_to_service_rate")]
+ public int RatioToServiceRate { get; set; }
+ }
+ }
+
+ ///
+ /// 获取或设置计划列表。
+ ///
+ [Newtonsoft.Json.JsonProperty("list")]
+ [System.Text.Json.Serialization.JsonPropertyName("list")]
+ public Types.SubItem[] SubItemList { get; set; } = default!;
+
+ ///
+ /// 获取或设置翻页标记。
+ ///
+ [Newtonsoft.Json.JsonProperty("next_key")]
+ [System.Text.Json.Serialization.JsonPropertyName("next_key")]
+ public string? NextCursor { get; set; }
+ }
+}
diff --git a/test/SKIT.FlurlHttpClient.Wechat.Api.UnitTests/ModelSamples/Channels/ECLeague/HeadSupplier/CooperativeItem/ChannelsECLeagueHeadSupplierCooperativeItemAddRequest.json b/test/SKIT.FlurlHttpClient.Wechat.Api.UnitTests/ModelSamples/Channels/ECLeague/HeadSupplier/CooperativeItem/ChannelsECLeagueHeadSupplierCooperativeItemAddRequest.json
new file mode 100644
index 00000000..baec4f02
--- /dev/null
+++ b/test/SKIT.FlurlHttpClient.Wechat.Api.UnitTests/ModelSamples/Channels/ECLeague/HeadSupplier/CooperativeItem/ChannelsECLeagueHeadSupplierCooperativeItemAddRequest.json
@@ -0,0 +1,4 @@
+{
+ "head_supplier_item_link": "weixinstorehs/123456",
+ "hidden_flag": 1
+}
diff --git a/test/SKIT.FlurlHttpClient.Wechat.Api.UnitTests/ModelSamples/Channels/ECLeague/HeadSupplier/CooperativeItem/ChannelsECLeagueHeadSupplierCooperativeItemListGetRequest.json b/test/SKIT.FlurlHttpClient.Wechat.Api.UnitTests/ModelSamples/Channels/ECLeague/HeadSupplier/CooperativeItem/ChannelsECLeagueHeadSupplierCooperativeItemListGetRequest.json
new file mode 100644
index 00000000..253addb4
--- /dev/null
+++ b/test/SKIT.FlurlHttpClient.Wechat.Api.UnitTests/ModelSamples/Channels/ECLeague/HeadSupplier/CooperativeItem/ChannelsECLeagueHeadSupplierCooperativeItemListGetRequest.json
@@ -0,0 +1,5 @@
+{
+ "commission_type": 0,
+ "page_size": 10,
+ "next_key": ""
+}
diff --git a/test/SKIT.FlurlHttpClient.Wechat.Api.UnitTests/ModelSamples/Channels/ECLeague/HeadSupplier/CooperativeItem/ChannelsECLeagueHeadSupplierCooperativeItemListGetResponse.json b/test/SKIT.FlurlHttpClient.Wechat.Api.UnitTests/ModelSamples/Channels/ECLeague/HeadSupplier/CooperativeItem/ChannelsECLeagueHeadSupplierCooperativeItemListGetResponse.json
new file mode 100644
index 00000000..efa5ff28
--- /dev/null
+++ b/test/SKIT.FlurlHttpClient.Wechat.Api.UnitTests/ModelSamples/Channels/ECLeague/HeadSupplier/CooperativeItem/ChannelsECLeagueHeadSupplierCooperativeItemListGetResponse.json
@@ -0,0 +1,12 @@
+{
+ "errcode": 0,
+ "errmsg": "ok",
+ "list": [
+ {
+ "product_id": 1,
+ "id": 123,
+ "head_supplier_item_link": "weixinstore/10001"
+ }
+ ],
+ "next_key": "PAGECONTEXT"
+}
diff --git a/test/SKIT.FlurlHttpClient.Wechat.Api.UnitTests/ModelSamples/Channels/ECLeague/HeadSupplier/ProductDetail/ChannelsECLeagueHeadSupplierProductDetailGetRequest.json b/test/SKIT.FlurlHttpClient.Wechat.Api.UnitTests/ModelSamples/Channels/ECLeague/HeadSupplier/ProductDetail/ChannelsECLeagueHeadSupplierProductDetailGetRequest.json
new file mode 100644
index 00000000..faf1c089
--- /dev/null
+++ b/test/SKIT.FlurlHttpClient.Wechat.Api.UnitTests/ModelSamples/Channels/ECLeague/HeadSupplier/ProductDetail/ChannelsECLeagueHeadSupplierProductDetailGetRequest.json
@@ -0,0 +1,5 @@
+{
+ "shop_appid": "SHOPAPPID",
+ "product_id": 1,
+ "plan_type": 1
+}
diff --git a/test/SKIT.FlurlHttpClient.Wechat.Api.UnitTests/ModelSamples/Channels/ECLeague/HeadSupplier/ProductDetail/ChannelsECLeagueHeadSupplierProductDetailGetResponse.json b/test/SKIT.FlurlHttpClient.Wechat.Api.UnitTests/ModelSamples/Channels/ECLeague/HeadSupplier/ProductDetail/ChannelsECLeagueHeadSupplierProductDetailGetResponse.json
new file mode 100644
index 00000000..b51a7623
--- /dev/null
+++ b/test/SKIT.FlurlHttpClient.Wechat.Api.UnitTests/ModelSamples/Channels/ECLeague/HeadSupplier/ProductDetail/ChannelsECLeagueHeadSupplierProductDetailGetResponse.json
@@ -0,0 +1,45 @@
+{
+ "errcode": "0",
+ "errmsg": "ok",
+ "product": {
+ "shop_appid": "test",
+ "product_id": 12345,
+ "product_info": {
+ "title": "test_title",
+ "sub_title": "",
+ "head_imgs": [
+ "https://test.com/0"
+ ],
+ "desc_info": {
+ "imgs": [
+ "https://test.com/0"
+ ],
+ "desc": ""
+ },
+ "cats_v2": [
+ {
+ "cat_id": "1421"
+ }
+ ],
+ "skus": [
+ {
+ "sku_id": "670813472",
+ "thumb_img": "",
+ "sale_price": 500,
+ "stock_num": 998,
+ "sku_attrs": [
+ {
+ "attr_key": "产地",
+ "attr_value": "四川成都"
+ }
+ ]
+ }
+ ]
+ },
+ "shop": {
+ "name": "xx",
+ "score": 463,
+ "icon": "https://xx"
+ }
+ }
+}
diff --git a/test/SKIT.FlurlHttpClient.Wechat.Api.UnitTests/ModelSamples/Channels/ECLeague/HeadSupplier/SelectionProduct/ChannelsECLeagueHeadSupplierSelectionProductsListGetRequest.json b/test/SKIT.FlurlHttpClient.Wechat.Api.UnitTests/ModelSamples/Channels/ECLeague/HeadSupplier/SelectionProduct/ChannelsECLeagueHeadSupplierSelectionProductsListGetRequest.json
new file mode 100644
index 00000000..ecff0d95
--- /dev/null
+++ b/test/SKIT.FlurlHttpClient.Wechat.Api.UnitTests/ModelSamples/Channels/ECLeague/HeadSupplier/SelectionProduct/ChannelsECLeagueHeadSupplierSelectionProductsListGetRequest.json
@@ -0,0 +1,17 @@
+{
+ "next_key": "",
+ "page_size": 10,
+ "plan_type": 1,
+ "category": {
+ "category_id": 8261345894708739273,
+ "category_ids_1": [ 1142, 1421, 1453, 1208, 6153, 6472, 1069, 1247 ],
+ "category_name": "家清日用"
+ },
+ "keyword": "纸巾",
+ "spu_item_condition": {
+ "commission_rate_range": {
+ "max": 100000,
+ "min": 0
+ }
+ }
+}
diff --git a/test/SKIT.FlurlHttpClient.Wechat.Api.UnitTests/ModelSamples/Channels/ECLeague/HeadSupplier/SelectionProduct/ChannelsECLeagueHeadSupplierSelectionProductsListGetResponse.json b/test/SKIT.FlurlHttpClient.Wechat.Api.UnitTests/ModelSamples/Channels/ECLeague/HeadSupplier/SelectionProduct/ChannelsECLeagueHeadSupplierSelectionProductsListGetResponse.json
new file mode 100644
index 00000000..fd54159c
--- /dev/null
+++ b/test/SKIT.FlurlHttpClient.Wechat.Api.UnitTests/ModelSamples/Channels/ECLeague/HeadSupplier/SelectionProduct/ChannelsECLeagueHeadSupplierSelectionProductsListGetResponse.json
@@ -0,0 +1,12 @@
+{
+ "errcode": "0",
+ "errmsg": "ok",
+ "product_list": [
+ {
+ "product_id": 1,
+ "shop_appid": "SHOPAPPID",
+ "head_supplier_item_link": "weixinstorehs/14460423854052"
+ }
+ ],
+ "next_key": "PAGECONTEXT"
+}
diff --git a/test/SKIT.FlurlHttpClient.Wechat.Api.UnitTests/ModelSamples/Channels/ECLeague/HeadSupplier/SubItem/ChannelsECLeagueHeadSupplierSubItemAddRequest.json b/test/SKIT.FlurlHttpClient.Wechat.Api.UnitTests/ModelSamples/Channels/ECLeague/HeadSupplier/SubItem/ChannelsECLeagueHeadSupplierSubItemAddRequest.json
new file mode 100644
index 00000000..3ed61ded
--- /dev/null
+++ b/test/SKIT.FlurlHttpClient.Wechat.Api.UnitTests/ModelSamples/Channels/ECLeague/HeadSupplier/SubItem/ChannelsECLeagueHeadSupplierSubItemAddRequest.json
@@ -0,0 +1,4 @@
+{
+ "id": 0,
+ "ratio_to_service_rate": 100
+}
diff --git a/test/SKIT.FlurlHttpClient.Wechat.Api.UnitTests/ModelSamples/Channels/ECLeague/HeadSupplier/SubItem/ChannelsECLeagueHeadSupplierSubItemListGetRequest.json b/test/SKIT.FlurlHttpClient.Wechat.Api.UnitTests/ModelSamples/Channels/ECLeague/HeadSupplier/SubItem/ChannelsECLeagueHeadSupplierSubItemListGetRequest.json
new file mode 100644
index 00000000..78300ce6
--- /dev/null
+++ b/test/SKIT.FlurlHttpClient.Wechat.Api.UnitTests/ModelSamples/Channels/ECLeague/HeadSupplier/SubItem/ChannelsECLeagueHeadSupplierSubItemListGetRequest.json
@@ -0,0 +1,5 @@
+{
+ "id": 0,
+ "page_size": 10,
+ "next_key": ""
+}
diff --git a/test/SKIT.FlurlHttpClient.Wechat.Api.UnitTests/ModelSamples/Channels/ECLeague/HeadSupplier/SubItem/ChannelsECLeagueHeadSupplierSubItemListGetResponse.json b/test/SKIT.FlurlHttpClient.Wechat.Api.UnitTests/ModelSamples/Channels/ECLeague/HeadSupplier/SubItem/ChannelsECLeagueHeadSupplierSubItemListGetResponse.json
new file mode 100644
index 00000000..4f1480c2
--- /dev/null
+++ b/test/SKIT.FlurlHttpClient.Wechat.Api.UnitTests/ModelSamples/Channels/ECLeague/HeadSupplier/SubItem/ChannelsECLeagueHeadSupplierSubItemListGetResponse.json
@@ -0,0 +1,11 @@
+{
+ "errcode": 0,
+ "errmsg": "ok",
+ "list": [
+ {
+ "sub_item_id": 123,
+ "head_supplier_item_link": "weixinstore/123"
+ }
+ ],
+ "next_key": "PAGECONTEXT"
+}