feat(wxapi): 新增微信小店达人推广商品相关接口

This commit is contained in:
Fu Diwei 2025-05-06 20:05:14 +08:00
parent c414aba33a
commit 9fbfcdc8c4
28 changed files with 1159 additions and 21 deletions

View File

@ -4,7 +4,7 @@ namespace SKIT.FlurlHttpClient.Wechat.Api.Events
/// <para>表示 EVENT.head_supplier_item_update 事件的数据。</para>
/// <para>
/// REF: <br/>
/// <![CDATA[ https://developers.weixin.qq.com/doc/channels/API/leagueheadsupplier/callback/head_supplier_item_update.html ]]>
/// <![CDATA[ https://developers.weixin.qq.com/doc/store/leagueheadsupplier/API/callback/head_supplier_item_update.html ]]>
/// </para>
/// </summary>
public class ChannelsECHeadSupplierItemUpdateEvent : WechatApiEvent

View File

@ -2455,12 +2455,60 @@ namespace SKIT.FlurlHttpClient.Wechat.Api
#endregion
#region ECLeague/HeadSupplier
#region ECLeague/HeadSupplier/CooperativeItem
/// <summary>
/// <para>异步调用 [POST] /channels/ec/league/headsupplier/cooperativeitem/add 接口。</para>
/// <para>
/// REF: <br/>
/// <![CDATA[ https://developers.weixin.qq.com/doc/store/leagueheadsupplier/API/addcooperativeitem.html ]]>
/// </para>
/// </summary>
/// <param name="client"></param>
/// <param name="request"></param>
/// <param name="cancellationToken"></param>
/// <returns></returns>
public static async Task<Models.ChannelsECLeagueHeadSupplierCooperativeItemAddResponse> 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<Models.ChannelsECLeagueHeadSupplierCooperativeItemAddResponse>(flurlReq, data: request, cancellationToken: cancellationToken).ConfigureAwait(false);
}
/// <summary>
/// <para>异步调用 [POST] /channels/ec/league/headsupplier/cooperativeitem/list/get 接口。</para>
/// <para>
/// REF: <br/>
/// <![CDATA[ https://developers.weixin.qq.com/doc/store/leagueheadsupplier/API/getcooperativeitemlist.html ]]>
/// </para>
/// </summary>
/// <param name="client"></param>
/// <param name="request"></param>
/// <param name="cancellationToken"></param>
/// <returns></returns>
public static async Task<Models.ChannelsECLeagueHeadSupplierCooperativeItemListGetResponse> 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<Models.ChannelsECLeagueHeadSupplierCooperativeItemListGetResponse>(flurlReq, data: request, cancellationToken: cancellationToken).ConfigureAwait(false);
}
#endregion
#region ECLeague/HeadSupplier/Funds
/// <summary>
/// <para>异步调用 [POST] /channels/ec/league/headsupplier/funds/balance/get 接口。</para>
/// <para>
/// REF: <br/>
/// <![CDATA[ https://developers.weixin.qq.com/doc/channels/API/leagueheadsupplier/getbalance.html ]]>
/// <![CDATA[ https://developers.weixin.qq.com/doc/store/leagueheadsupplier/API/getbalance.html ]]>
/// </para>
/// </summary>
/// <param name="client"></param>
@ -2483,7 +2531,7 @@ namespace SKIT.FlurlHttpClient.Wechat.Api
/// <para>异步调用 [POST] /channels/ec/league/headsupplier/funds/flowdetail/get 接口。</para>
/// <para>
/// REF: <br/>
/// <![CDATA[ https://developers.weixin.qq.com/doc/channels/API/leagueheadsupplier/getfundsflowdeatail.html ]]>
/// <![CDATA[ https://developers.weixin.qq.com/doc/store/leagueheadsupplier/API/getfundsflowdeatail.html ]]>
/// </para>
/// </summary>
/// <param name="client"></param>
@ -2506,7 +2554,7 @@ namespace SKIT.FlurlHttpClient.Wechat.Api
/// <para>异步调用 [POST] /channels/ec/league/headsupplier/funds/flowlist/get 接口。</para>
/// <para>
/// REF: <br/>
/// <![CDATA[ https://developers.weixin.qq.com/doc/channels/API/leagueheadsupplier/getfundsflowlist.html ]]>
/// <![CDATA[ https://developers.weixin.qq.com/doc/store/leagueheadsupplier/API/getfundsflowlist.html ]]>
/// </para>
/// </summary>
/// <param name="client"></param>
@ -2531,7 +2579,7 @@ namespace SKIT.FlurlHttpClient.Wechat.Api
/// <para>异步调用 [POST] /channels/ec/league/headsupplier/item/list/get 接口。</para>
/// <para>
/// REF: <br/>
/// <![CDATA[ https://developers.weixin.qq.com/doc/channels/API/leagueheadsupplier/getitemlist.html ]]>
/// <![CDATA[ https://developers.weixin.qq.com/doc/store/leagueheadsupplier/API/getitemlist.html ]]>
/// </para>
/// </summary>
/// <param name="client"></param>
@ -2554,7 +2602,7 @@ namespace SKIT.FlurlHttpClient.Wechat.Api
/// <para>异步调用 [POST] /channels/ec/league/headsupplier/item/get 接口。</para>
/// <para>
/// REF: <br/>
/// <![CDATA[ https://developers.weixin.qq.com/doc/channels/API/leagueheadsupplier/getitem.html ]]>
/// <![CDATA[ https://developers.weixin.qq.com/doc/store/leagueheadsupplier/API/getitem.html ]]>
/// </para>
/// </summary>
/// <param name="client"></param>
@ -2577,7 +2625,7 @@ namespace SKIT.FlurlHttpClient.Wechat.Api
/// <para>异步调用 [POST] /channels/ec/league/headsupplier/item/upd 接口。</para>
/// <para>
/// REF: <br/>
/// <![CDATA[ https://developers.weixin.qq.com/doc/channels/API/leagueheadsupplier/updateitem.html ]]>
/// <![CDATA[ https://developers.weixin.qq.com/doc/store/leagueheadsupplier/API/updateitem.html ]]>
/// </para>
/// </summary>
/// <param name="client"></param>
@ -2595,6 +2643,29 @@ namespace SKIT.FlurlHttpClient.Wechat.Api
return await client.SendFlurlRequestAsJsonAsync<Models.ChannelsECLeagueHeadSupplierItemUpdateResponse>(flurlReq, data: request, cancellationToken: cancellationToken).ConfigureAwait(false);
}
/// <summary>
/// <para>异步调用 [POST] /channels/ec/league/headsupplier/item/promotiondetail/get 接口。</para>
/// <para>
/// REF: <br/>
/// <![CDATA[ https://developers.weixin.qq.com/doc/store/leagueheadsupplier/API/getpromotiondetail.html ]]>
/// </para>
/// </summary>
/// <param name="client"></param>
/// <param name="request"></param>
/// <param name="cancellationToken"></param>
/// <returns></returns>
public static async Task<Models.ChannelsECLeagueHeadSupplierItemPromotionDetailGetResponse> 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<Models.ChannelsECLeagueHeadSupplierItemPromotionDetailGetResponse>(flurlReq, data: request, cancellationToken: cancellationToken).ConfigureAwait(false);
}
#endregion
#region ECLeague/HeadSupplier/Order
@ -2602,7 +2673,7 @@ namespace SKIT.FlurlHttpClient.Wechat.Api
/// <para>异步调用 [POST] /channels/ec/league/headsupplier/order/list/get 接口。</para>
/// <para>
/// REF: <br/>
/// <![CDATA[ https://developers.weixin.qq.com/doc/channels/API/leagueheadsupplier/getorderlist.html ]]>
/// <![CDATA[ https://developers.weixin.qq.com/doc/store/leagueheadsupplier/API/getorderlist.html ]]>
/// </para>
/// </summary>
/// <param name="client"></param>
@ -2625,7 +2696,7 @@ namespace SKIT.FlurlHttpClient.Wechat.Api
/// <para>异步调用 [POST] /channels/ec/league/headsupplier/order/get 接口。</para>
/// <para>
/// REF: <br/>
/// <![CDATA[ https://developers.weixin.qq.com/doc/channels/API/leagueheadsupplier/getorder.html ]]>
/// <![CDATA[ https://developers.weixin.qq.com/doc/store/leagueheadsupplier/API/getorder.html ]]>
/// </para>
/// </summary>
/// <param name="client"></param>
@ -2645,12 +2716,62 @@ namespace SKIT.FlurlHttpClient.Wechat.Api
}
#endregion
#region ECLeague/HeadSupplier/ProductDetail
/// <summary>
/// <para>异步调用 [POST] /channels/ec/league/headsupplier/productdetail/get 接口。</para>
/// <para>
/// REF: <br/>
/// <![CDATA[ https://developers.weixin.qq.com/doc/store/leagueheadsupplier/API/getproductdetail.html ]]>
/// </para>
/// </summary>
/// <param name="client"></param>
/// <param name="request"></param>
/// <param name="cancellationToken"></param>
/// <returns></returns>
public static async Task<Models.ChannelsECLeagueHeadSupplierProductDetailGetResponse> 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<Models.ChannelsECLeagueHeadSupplierProductDetailGetResponse>(flurlReq, data: request, cancellationToken: cancellationToken).ConfigureAwait(false);
}
#endregion
#region ECLeague/HeadSupplier/SelectionProduct
/// <summary>
/// <para>异步调用 [POST] /channels/ec/league/headsupplier/selectionproducts/list/get 接口。</para>
/// <para>
/// REF: <br/>
/// <![CDATA[ https://developers.weixin.qq.com/doc/store/leagueheadsupplier/API/listselectionproducts.html ]]>
/// </para>
/// </summary>
/// <param name="client"></param>
/// <param name="request"></param>
/// <param name="cancellationToken"></param>
/// <returns></returns>
public static async Task<Models.ChannelsECLeagueHeadSupplierSelectionProductsListGetResponse> 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<Models.ChannelsECLeagueHeadSupplierSelectionProductsListGetResponse>(flurlReq, data: request, cancellationToken: cancellationToken).ConfigureAwait(false);
}
#endregion
#region ECLeague/HeadSupplier/Shop
/// <summary>
/// <para>异步调用 [POST] /channels/ec/league/headsupplier/shop/list/get 接口。</para>
/// <para>
/// REF: <br/>
/// <![CDATA[ https://developers.weixin.qq.com/doc/channels/API/leagueheadsupplier/getshoplist.html ]]>
/// <![CDATA[ https://developers.weixin.qq.com/doc/store/leagueheadsupplier/API/getshoplist.html ]]>
/// </para>
/// </summary>
/// <param name="client"></param>
@ -2673,7 +2794,7 @@ namespace SKIT.FlurlHttpClient.Wechat.Api
/// <para>异步调用 [POST] /channels/ec/league/headsupplier/shop/get 接口。</para>
/// <para>
/// REF: <br/>
/// <![CDATA[ https://developers.weixin.qq.com/doc/channels/API/leagueheadsupplier/getshop.html ]]>
/// <![CDATA[ https://developers.weixin.qq.com/doc/store/leagueheadsupplier/API/getshop.html ]]>
/// </para>
/// </summary>
/// <param name="client"></param>
@ -2693,6 +2814,54 @@ namespace SKIT.FlurlHttpClient.Wechat.Api
}
#endregion
#region ECLeague/HeadSupplier/SubItem
/// <summary>
/// <para>异步调用 [POST] /channels/ec/league/headsupplier/subitem/add 接口。</para>
/// <para>
/// REF: <br/>
/// <![CDATA[ https://developers.weixin.qq.com/doc/store/leagueheadsupplier/API/addsubitem.html ]]>
/// </para>
/// </summary>
/// <param name="client"></param>
/// <param name="request"></param>
/// <param name="cancellationToken"></param>
/// <returns></returns>
public static async Task<Models.ChannelsECLeagueHeadSupplierSubItemAddResponse> 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<Models.ChannelsECLeagueHeadSupplierSubItemAddResponse>(flurlReq, data: request, cancellationToken: cancellationToken).ConfigureAwait(false);
}
/// <summary>
/// <para>异步调用 [POST] /channels/ec/league/headsupplier/subitem/list/get 接口。</para>
/// <para>
/// REF: <br/>
/// <![CDATA[ https://developers.weixin.qq.com/doc/store/leagueheadsupplier/API/getsubitemlist.html ]]>
/// </para>
/// </summary>
/// <param name="client"></param>
/// <param name="request"></param>
/// <param name="cancellationToken"></param>
/// <returns></returns>
public static async Task<Models.ChannelsECLeagueHeadSupplierSubItemListGetResponse> 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<Models.ChannelsECLeagueHeadSupplierSubItemListGetResponse>(flurlReq, data: request, cancellationToken: cancellationToken).ConfigureAwait(false);
}
#endregion
#region ECLeague/HeadSupplier/Window
/// <summary>
/// <para>异步调用 [POST] /channels/ec/league/headsupplier/window/add 接口。</para>
@ -2721,7 +2890,7 @@ namespace SKIT.FlurlHttpClient.Wechat.Api
/// <para>异步调用 [POST] /channels/ec/league/headsupplier/window/remove 接口。</para>
/// <para>
/// REF: <br/>
/// <![CDATA[ https://developers.weixin.qq.com/doc/channels/API/leagueheadsupplier/removewindow.html ]]>
/// <![CDATA[ https://developers.weixin.qq.com/doc/store/leagueheadsupplier/API/removewindow.html ]]>
/// </para>
/// </summary>
/// <param name="client"></param>
@ -2744,7 +2913,7 @@ namespace SKIT.FlurlHttpClient.Wechat.Api
/// <para>异步调用 [POST] /channels/ec/league/headsupplier/window/getall 接口。</para>
/// <para>
/// REF: <br/>
/// <![CDATA[ https://developers.weixin.qq.com/doc/channels/API/leagueheadsupplier/getallwindow.html ]]>
/// <![CDATA[ https://developers.weixin.qq.com/doc/store/leagueheadsupplier/API/getallwindow.html ]]>
/// </para>
/// </summary>
/// <param name="client"></param>
@ -2767,7 +2936,7 @@ namespace SKIT.FlurlHttpClient.Wechat.Api
/// <para>异步调用 [POST] /channels/ec/league/headsupplier/window/getdetail 接口。</para>
/// <para>
/// REF: <br/>
/// <![CDATA[ https://developers.weixin.qq.com/doc/channels/API/leagueheadsupplier/getwindowdetail.html ]]>
/// <![CDATA[ https://developers.weixin.qq.com/doc/store/leagueheadsupplier/API/getwindowdetail.html ]]>
/// </para>
/// </summary>
/// <param name="client"></param>
@ -2790,7 +2959,7 @@ namespace SKIT.FlurlHttpClient.Wechat.Api
/// <para>异步调用 [POST] /channels/ec/league/headsupplier/windowauth/get 接口。</para>
/// <para>
/// REF: <br/>
/// <![CDATA[ https://developers.weixin.qq.com/doc/channels/API/leagueheadsupplier/getauth.html ]]>
/// <![CDATA[ https://developers.weixin.qq.com/doc/store/leagueheadsupplier/API/getauth.html ]]>
/// </para>
/// </summary>
/// <param name="client"></param>
@ -2813,7 +2982,7 @@ namespace SKIT.FlurlHttpClient.Wechat.Api
/// <para>异步调用 [POST] /channels/ec/league/headsupplier/windowauth/status/get 接口。</para>
/// <para>
/// REF: <br/>
/// <![CDATA[ https://developers.weixin.qq.com/doc/channels/API/leagueheadsupplier/getauthstatus.html ]]>
/// <![CDATA[ https://developers.weixin.qq.com/doc/store/leagueheadsupplier/API/getauthstatus.html ]]>
/// </para>
/// </summary>
/// <param name="client"></param>

View File

@ -0,0 +1,24 @@
namespace SKIT.FlurlHttpClient.Wechat.Api.Models
{
/// <summary>
/// <para>表示 [POST] /channels/ec/league/headsupplier/cooperativeitem/add 接口的请求。</para>
/// </summary>
public class ChannelsECLeagueHeadSupplierCooperativeItemAddRequest : WechatApiRequest, IInferable<ChannelsECLeagueHeadSupplierCooperativeItemAddRequest, ChannelsECLeagueHeadSupplierCooperativeItemAddResponse>
{
/// <summary>
/// 获取或设置机构推广商品链接。
/// </summary>
[Newtonsoft.Json.JsonProperty("head_supplier_item_link")]
[System.Text.Json.Serialization.JsonPropertyName("head_supplier_item_link")]
public string HeadSupplierItemLink { get; set; } = string.Empty;
/// <summary>
/// 获取或设置是否隐藏。
/// </summary>
[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; }
}
}

View File

@ -0,0 +1,9 @@
namespace SKIT.FlurlHttpClient.Wechat.Api.Models
{
/// <summary>
/// <para>表示 [POST] /channels/ec/league/headsupplier/cooperativeitem/add 接口的响应。</para>
/// </summary>
public class ChannelsECLeagueHeadSupplierCooperativeItemAddResponse : WechatApiResponse
{
}
}

View File

@ -0,0 +1,30 @@
namespace SKIT.FlurlHttpClient.Wechat.Api.Models
{
/// <summary>
/// <para>表示 [POST] /channels/ec/league/headsupplier/cooperativeitem/list/get 接口的请求。</para>
/// </summary>
public class ChannelsECLeagueHeadSupplierCooperativeItemListGetRequest : WechatApiRequest, IInferable<ChannelsECLeagueHeadSupplierCooperativeItemListGetRequest, ChannelsECLeagueHeadSupplierCooperativeItemListGetResponse>
{
/// <summary>
/// 获取或设置佣金分配类型。
/// </summary>
[Newtonsoft.Json.JsonProperty("commission_type")]
[System.Text.Json.Serialization.JsonPropertyName("commission_type")]
public int CommissionType { get; set; }
/// <summary>
/// 获取或设置分页每页数量。
/// <para>默认值10</para>
/// </summary>
[Newtonsoft.Json.JsonProperty("page_size")]
[System.Text.Json.Serialization.JsonPropertyName("page_size")]
public int Limit { get; set; } = 10;
/// <summary>
/// 获取或设置翻页标记。
/// </summary>
[Newtonsoft.Json.JsonProperty("next_key")]
[System.Text.Json.Serialization.JsonPropertyName("next_key")]
public string? Cursor { get; set; }
}
}

View File

@ -0,0 +1,50 @@
namespace SKIT.FlurlHttpClient.Wechat.Api.Models
{
/// <summary>
/// <para>表示 [POST] /channels/ec/league/headsupplier/cooperativeitem/list/get 接口的响应。</para>
/// </summary>
public class ChannelsECLeagueHeadSupplierCooperativeItemListGetResponse : WechatApiResponse
{
public static class Types
{
public class CooperativeItem
{
/// <summary>
/// 获取或设置合作商品 ID。
/// </summary>
[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; }
/// <summary>
/// 获取或设置合作计划 ID。
/// </summary>
[Newtonsoft.Json.JsonProperty("id")]
[System.Text.Json.Serialization.JsonPropertyName("id")]
public long PlanId { get; set; }
/// <summary>
/// 获取或设置计划链接。
/// </summary>
[Newtonsoft.Json.JsonProperty("head_supplier_item_link")]
[System.Text.Json.Serialization.JsonPropertyName("head_supplier_item_link")]
public string HeadSupplierItemLink { get; set; } = default!;
}
}
/// <summary>
/// 获取或设置合作商品列表。
/// </summary>
[Newtonsoft.Json.JsonProperty("list")]
[System.Text.Json.Serialization.JsonPropertyName("list")]
public Types.CooperativeItem[] CooperativeItemList { get; set; } = default!;
/// <summary>
/// 获取或设置翻页标记。
/// </summary>
[Newtonsoft.Json.JsonProperty("next_key")]
[System.Text.Json.Serialization.JsonPropertyName("next_key")]
public string? NextCursor { get; set; }
}
}

View File

@ -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
}
}
/// <summary>
/// 获取或设置商品标题。
/// </summary>
[Newtonsoft.Json.JsonProperty("title")]
[System.Text.Json.Serialization.JsonPropertyName("title")]
public string Title { get; set; } = default!;
/// <summary>
/// 获取或设置商品副标题。
/// </summary>
[Newtonsoft.Json.JsonProperty("sub_title")]
[System.Text.Json.Serialization.JsonPropertyName("sub_title")]
public string? SubTitle { get; set; }
/// <summary>
/// 获取或设置主图 URL 列表。
/// </summary>
[Newtonsoft.Json.JsonProperty("head_imgs")]
[System.Text.Json.Serialization.JsonPropertyName("head_imgs")]
public string[] HeadImageUrlList { get; set; } = default!;
/// <summary>
/// 获取或设置商品详情信息。
/// </summary>
[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!;
/// <summary>
/// 获取或设置商品类目列表。
@ -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; }
/// <summary>
/// 获取或设置新版商品类目列表。
/// </summary>
[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; }
}
}

View File

@ -0,0 +1,15 @@
namespace SKIT.FlurlHttpClient.Wechat.Api.Models
{
/// <summary>
/// <para>表示 [POST] /channels/ec/league/headsupplier/item/promotiondetail/get 接口的请求。</para>
/// </summary>
public class ChannelsECLeagueHeadSupplierItemPromotionDetailGetRequest : WechatApiRequest, IInferable<ChannelsECLeagueHeadSupplierItemPromotionDetailGetRequest, ChannelsECLeagueHeadSupplierItemPromotionDetailGetResponse>
{
/// <summary>
/// 获取或设置团长商品链接。
/// </summary>
[Newtonsoft.Json.JsonProperty("head_supplier_item_link")]
[System.Text.Json.Serialization.JsonPropertyName("head_supplier_item_link")]
public string HeadSupplierItemLink { get; set; } = string.Empty;
}
}

View File

@ -0,0 +1,173 @@
namespace SKIT.FlurlHttpClient.Wechat.Api.Models
{
/// <summary>
/// <para>表示 [POST] /channels/ec/league/headsupplier/item/promotiondetail/get 接口的响应。</para>
/// </summary>
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
{
/// <summary>
/// 获取或设置佣金费率(单位:十万分数)。
/// </summary>
[Newtonsoft.Json.JsonProperty("ratio")]
[System.Text.Json.Serialization.JsonPropertyName("ratio")]
public int Ratio { get; set; }
}
}
/// <summary>
/// 获取或设置计划类型。
/// </summary>
[Newtonsoft.Json.JsonProperty("plan_type")]
[System.Text.Json.Serialization.JsonPropertyName("plan_type")]
public int PlanType { get; set; }
/// <summary>
/// 获取或设置佣金分配类型。
/// </summary>
[Newtonsoft.Json.JsonProperty("commission_type")]
[System.Text.Json.Serialization.JsonPropertyName("commission_type")]
public int CommissionType { get; set; }
/// <summary>
/// 获取或设置佣金费率(单位:十万分数)。
/// </summary>
[Newtonsoft.Json.JsonProperty("ratio")]
[System.Text.Json.Serialization.JsonPropertyName("ratio")]
public int CommissionRatio { get; set; }
/// <summary>
/// 获取或设置服务费费率(单位:十万分数)。
/// </summary>
[Newtonsoft.Json.JsonProperty("service_ratio")]
[System.Text.Json.Serialization.JsonPropertyName("service_ratio")]
public int ServiceFeeRatio { get; set; }
/// <summary>
/// 获取或设置计划开始时间戳。
/// </summary>
[Newtonsoft.Json.JsonProperty("start_time")]
[System.Text.Json.Serialization.JsonPropertyName("start_time")]
public long StartTimestamp { get; set; }
/// <summary>
/// 获取或设置计划结束时间戳。
/// </summary>
[Newtonsoft.Json.JsonProperty("end_time")]
[System.Text.Json.Serialization.JsonPropertyName("end_time")]
public long EndTimestamp { get; set; }
/// <summary>
/// 获取或设置该商品普通推广下的佣金信息。
/// </summary>
[Newtonsoft.Json.JsonProperty("normal_commission_info")]
[System.Text.Json.Serialization.JsonPropertyName("normal_commission_info")]
public Types.NormalCommissionInfo? NormalCommissionInfo { get; set; }
}
public class HeadSupplierInfo
{
/// <summary>
/// 获取或设置团长 AppId。
/// </summary>
[Newtonsoft.Json.JsonProperty("appid")]
[System.Text.Json.Serialization.JsonPropertyName("appid")]
public string AppId { get; set; } = default!;
/// <summary>
/// 获取或设置团长名称。
/// </summary>
[Newtonsoft.Json.JsonProperty("name")]
[System.Text.Json.Serialization.JsonPropertyName("name")]
public string Name { get; set; } = default!;
}
public class CooperativeInfo
{
/// <summary>
/// 获取或设置合作状态。
/// </summary>
[Newtonsoft.Json.JsonProperty("cooperative_status")]
[System.Text.Json.Serialization.JsonPropertyName("cooperative_status")]
public int CooperativeStatus { get; set; }
/// <summary>
/// 获取或设置是否隐藏。
/// </summary>
[Newtonsoft.Json.JsonProperty("is_hidden")]
[System.Text.Json.Serialization.JsonPropertyName("is_hidden")]
public bool IsHidden { get; set; }
/// <summary>
/// 获取或设置带货链接。
/// </summary>
[Newtonsoft.Json.JsonProperty("link")]
[System.Text.Json.Serialization.JsonPropertyName("link")]
public string? Link { get; set; }
}
}
/// <summary>
/// 获取或设置小店 AppId。
/// </summary>
[Newtonsoft.Json.JsonProperty("shop_appid")]
[System.Text.Json.Serialization.JsonPropertyName("shop_appid")]
public string AppId { get; set; } = default!;
/// <summary>
/// 获取或设置商品 ID。
/// </summary>
[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; }
/// <summary>
/// 获取或设置商品来源。
/// </summary>
[Newtonsoft.Json.JsonProperty("spu_source")]
[System.Text.Json.Serialization.JsonPropertyName("spu_source")]
public int SPUSource { get; set; }
/// <summary>
/// 获取或设置佣金信息。
/// </summary>
[Newtonsoft.Json.JsonProperty("commission_info")]
[System.Text.Json.Serialization.JsonPropertyName("commission_info")]
public Types.CommissionInfo CommissionInfo { get; set; } = default!;
/// <summary>
/// 获取或设置供货机构信息。
/// </summary>
[Newtonsoft.Json.JsonProperty("head_supplier_info")]
[System.Text.Json.Serialization.JsonPropertyName("head_supplier_info")]
public Types.HeadSupplierInfo HeadSupplierInfo { get; set; } = default!;
/// <summary>
/// 获取或设置合作信息。
/// </summary>
[Newtonsoft.Json.JsonProperty("cooperative_info")]
[System.Text.Json.Serialization.JsonPropertyName("cooperative_info")]
public Types.CooperativeInfo CooperativeInfo { get; set; } = default!;
}
}
/// <summary>
/// 获取或设置商品信息。
/// </summary>
[Newtonsoft.Json.JsonProperty("item")]
[System.Text.Json.Serialization.JsonPropertyName("item")]
public Types.Product Product { get; set; } = default!;
}
}

View File

@ -32,6 +32,13 @@ namespace SKIT.FlurlHttpClient.Wechat.Api.Models
[System.Text.Json.Serialization.JsonPropertyName("appid")]
public string? AppId { get; set; }
/// <summary>
/// 获取或设置推客 AppId。
/// </summary>
[Newtonsoft.Json.JsonProperty("sharer_appid")]
[System.Text.Json.Serialization.JsonPropertyName("sharer_appid")]
public string? SharerAppId { get; set; }
/// <summary>
/// 获取或设置视频号 ID。
/// </summary>
@ -39,6 +46,13 @@ namespace SKIT.FlurlHttpClient.Wechat.Api.Models
[System.Text.Json.Serialization.JsonPropertyName("finder_id")]
public string? FinderId { get; set; }
/// <summary>
/// 获取或设置视频号 OpenFinderId。
/// </summary>
[Newtonsoft.Json.JsonProperty("openfinderid")]
[System.Text.Json.Serialization.JsonPropertyName("openfinderid")]
public string? OpenFinderId { get; set; }
/// <summary>
/// 获取或设置创建时间范围。
/// </summary>

View File

@ -0,0 +1,29 @@
namespace SKIT.FlurlHttpClient.Wechat.Api.Models
{
/// <summary>
/// <para>表示 [POST] /channels/ec/league/headsupplier/productdetail/get 接口的请求。</para>
/// </summary>
public class ChannelsECLeagueHeadSupplierProductDetailGetRequest : WechatApiRequest, IInferable<ChannelsECLeagueHeadSupplierProductDetailGetRequest, ChannelsECLeagueHeadSupplierProductDetailGetResponse>
{
/// <summary>
/// 获取或设置小店 AppId。
/// </summary>
[Newtonsoft.Json.JsonProperty("shop_appid")]
[System.Text.Json.Serialization.JsonPropertyName("shop_appid")]
public string AppId { get; set; } = string.Empty;
/// <summary>
/// 获取或设置商品 ID。
/// </summary>
[Newtonsoft.Json.JsonProperty("product_id")]
[System.Text.Json.Serialization.JsonPropertyName("product_id")]
public long ProductId { get; set; }
/// <summary>
/// 获取或设置计划类型。
/// </summary>
[Newtonsoft.Json.JsonProperty("plan_type")]
[System.Text.Json.Serialization.JsonPropertyName("plan_type")]
public int? PlanType { get; set; }
}
}

View File

@ -0,0 +1,151 @@
namespace SKIT.FlurlHttpClient.Wechat.Api.Models
{
/// <summary>
/// <para>表示 [POST] /channels/ec/league/headsupplier/productdetail/get 接口的响应。</para>
/// </summary>
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
{
}
}
/// <summary>
/// 获取或设置商品标题。
/// </summary>
[Newtonsoft.Json.JsonProperty("title")]
[System.Text.Json.Serialization.JsonPropertyName("title")]
public string Title { get; set; } = default!;
/// <summary>
/// 获取或设置商品副标题。
/// </summary>
[Newtonsoft.Json.JsonProperty("sub_title")]
[System.Text.Json.Serialization.JsonPropertyName("sub_title")]
public string? SubTitle { get; set; }
/// <summary>
/// 获取或设置主图 URL 列表。
/// </summary>
[Newtonsoft.Json.JsonProperty("head_imgs")]
[System.Text.Json.Serialization.JsonPropertyName("head_imgs")]
public string[] HeadImageUrlList { get; set; } = default!;
/// <summary>
/// 获取或设置商品详情信息。
/// </summary>
[Newtonsoft.Json.JsonProperty("desc_info")]
[System.Text.Json.Serialization.JsonPropertyName("desc_info")]
public Types.Detail Detail { get; set; } = default!;
/// <summary>
/// 获取或设置新版商品类目列表。
/// </summary>
[Newtonsoft.Json.JsonProperty("cats_v2")]
[System.Text.Json.Serialization.JsonPropertyName("cats_v2")]
public Types.Category[]? CategoryV2List { get; set; }
/// <summary>
/// 获取或设置 SKU 列表。
/// </summary>
[Newtonsoft.Json.JsonProperty("skus")]
[System.Text.Json.Serialization.JsonPropertyName("skus")]
public Types.SKU[] SKUList { get; set; } = default!;
/// <summary>
/// 获取或设置商品状态。
/// </summary>
[Newtonsoft.Json.JsonProperty("status")]
[System.Text.Json.Serialization.JsonPropertyName("status")]
public int Status { get; set; }
/// <summary>
/// 获取或设置近 30 天销量范围。
/// </summary>
[Newtonsoft.Json.JsonProperty("monthly_sales_range")]
[System.Text.Json.Serialization.JsonPropertyName("monthly_sales_range")]
public int MonthlySalesRange { get; set; }
}
public class ShopInfo
{
/// <summary>
/// 获取或设置店铺名称。
/// </summary>
[Newtonsoft.Json.JsonProperty("name")]
[System.Text.Json.Serialization.JsonPropertyName("name")]
public string Name { get; set; } = default!;
/// <summary>
/// 获取或设置店铺图标 URL。
/// </summary>
[Newtonsoft.Json.JsonProperty("icon")]
[System.Text.Json.Serialization.JsonPropertyName("icon")]
public string IconUrl { get; set; } = default!;
/// <summary>
/// 获取或设置店铺评分。
/// </summary>
[Newtonsoft.Json.JsonProperty("score")]
[System.Text.Json.Serialization.JsonPropertyName("score")]
public int Score { get; set; }
}
}
/// <summary>
/// 获取或设置小店 AppId。
/// </summary>
[Newtonsoft.Json.JsonProperty("shop_appid")]
[System.Text.Json.Serialization.JsonPropertyName("shop_appid")]
public string AppId { get; set; } = default!;
/// <summary>
/// 获取或设置商品 ID。
/// </summary>
[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; }
/// <summary>
/// 获取或设置商品信息。
/// </summary>
[Newtonsoft.Json.JsonProperty("product_info")]
[System.Text.Json.Serialization.JsonPropertyName("product_info")]
public Types.ProductInfo ProductInfo { get; set; } = default!;
/// <summary>
/// 获取或设置店铺信息。
/// </summary>
[Newtonsoft.Json.JsonProperty("shop")]
[System.Text.Json.Serialization.JsonPropertyName("shop")]
public Types.ShopInfo ShopInfo { get; set; } = default!;
}
}
/// <summary>
/// 获取或设置商品信息。
/// </summary>
[Newtonsoft.Json.JsonProperty("product")]
[System.Text.Json.Serialization.JsonPropertyName("product")]
public Types.Product Product { get; set; } = default!;
}
}

View File

@ -0,0 +1,166 @@
using System.Collections.Generic;
namespace SKIT.FlurlHttpClient.Wechat.Api.Models
{
/// <summary>
/// <para>表示 [POST] /channels/ec/league/headsupplier/selectionproducts/list/get 接口的请求。</para>
/// </summary>
public class ChannelsECLeagueHeadSupplierSelectionProductsListGetRequest : WechatApiRequest, IInferable<ChannelsECLeagueHeadSupplierSelectionProductsListGetRequest, ChannelsECLeagueHeadSupplierSelectionProductsListGetResponse>
{
public static class Types
{
public class SPUItemCondition
{
public static class Types
{
public class Range
{
/// <summary>
/// 获取或设置最小值。
/// </summary>
[Newtonsoft.Json.JsonProperty("min")]
[System.Text.Json.Serialization.JsonPropertyName("min")]
public long Mininum { get; set; }
/// <summary>
/// 获取或设置最大值。
/// </summary>
[Newtonsoft.Json.JsonProperty("max")]
[System.Text.Json.Serialization.JsonPropertyName("max")]
public long Maxinum { get; set; }
}
}
/// <summary>
/// 获取或设置售卖价区间信息(单位:分)。
/// </summary>
[Newtonsoft.Json.JsonProperty("selling_price_range")]
[System.Text.Json.Serialization.JsonPropertyName("selling_price_range")]
public Types.Range? SellingPriceRange { get; set; }
/// <summary>
/// 获取或设置月销量区间信息。
/// </summary>
[Newtonsoft.Json.JsonProperty("monthly_sales_range")]
[System.Text.Json.Serialization.JsonPropertyName("monthly_sales_range")]
public Types.Range? MonthlySalesRange { get; set; }
/// <summary>
/// 获取或设置服务费率区间信息(单位:十万分数)。
/// </summary>
[Newtonsoft.Json.JsonProperty("service_fee_rate_range")]
[System.Text.Json.Serialization.JsonPropertyName("service_fee_rate_range")]
public Types.Range? ServiceFeeRateRange { get; set; }
/// <summary>
/// 获取或设置佣金率区间信息(单位:十万分数)。
/// </summary>
[Newtonsoft.Json.JsonProperty("commission_rate_range")]
[System.Text.Json.Serialization.JsonPropertyName("commission_rate_range")]
public Types.Range? CommissionRateRange { get; set; }
/// <summary>
/// 获取或设置推广时间戳范围信息。
/// </summary>
[Newtonsoft.Json.JsonProperty("promote_time_range")]
[System.Text.Json.Serialization.JsonPropertyName("promote_time_range")]
public Types.Range? PromoteTimestampRange { get; set; }
/// <summary>
/// 获取或设置保障标识信息。
/// </summary>
[Newtonsoft.Json.JsonProperty("flags")]
[System.Text.Json.Serialization.JsonPropertyName("flags")]
public IList<string>? FlagList { get; set; }
}
public class Category
{
/// <summary>
/// 获取或设置商品类目 ID。
/// </summary>
[Newtonsoft.Json.JsonProperty("category_id")]
[System.Text.Json.Serialization.JsonPropertyName("category_id")]
public long? CategoryId { get; set; }
/// <summary>
/// 获取或设置商品类目名称。
/// </summary>
[Newtonsoft.Json.JsonProperty("category_name")]
[System.Text.Json.Serialization.JsonPropertyName("category_name")]
public string? CategoryName { get; set; }
/// <summary>
/// 获取或设置一级类目 ID 列表。
/// </summary>
[Newtonsoft.Json.JsonProperty("category_ids_1")]
[System.Text.Json.Serialization.JsonPropertyName("category_ids_1")]
public IList<long>? Category1stIdList { get; set; }
/// <summary>
/// 获取或设置二级类目 ID 列表。
/// </summary>
[Newtonsoft.Json.JsonProperty("category_ids_2")]
[System.Text.Json.Serialization.JsonPropertyName("category_ids_2")]
public IList<long>? Category2ndIdList { get; set; }
/// <summary>
/// 获取或设置三级类目 ID 列表。
/// </summary>
[Newtonsoft.Json.JsonProperty("category_ids_3")]
[System.Text.Json.Serialization.JsonPropertyName("category_ids_3")]
public IList<long>? Category3rdIdList { get; set; }
}
}
/// <summary>
/// 获取或设置搜索关键词。
/// </summary>
[Newtonsoft.Json.JsonProperty("keyword")]
[System.Text.Json.Serialization.JsonPropertyName("keyword")]
public string? Keyword { get; set; }
/// <summary>
/// 获取或设置计划类型。
/// </summary>
[Newtonsoft.Json.JsonProperty("plan_type")]
[System.Text.Json.Serialization.JsonPropertyName("plan_type")]
public int PlanType { get; set; }
/// <summary>
/// 获取或设置商品查询条件。
/// </summary>
[Newtonsoft.Json.JsonProperty("spu_item_condition")]
[System.Text.Json.Serialization.JsonPropertyName("spu_item_condition")]
public Types.SPUItemCondition? SPUItemCondition { get; set; }
/// <summary>
/// 获取或设置类目查询条件。
/// </summary>
[Newtonsoft.Json.JsonProperty("category")]
[System.Text.Json.Serialization.JsonPropertyName("category")]
public Types.Category? Category { get; set; }
/// <summary>
/// 获取或设置商品来源。
/// </summary>
[Newtonsoft.Json.JsonProperty("spu_source")]
[System.Text.Json.Serialization.JsonPropertyName("spu_source")]
public int? SPUSource { get; set; }
/// <summary>
/// 获取或设置分页每页数量。
/// <para>默认值10</para>
/// </summary>
[Newtonsoft.Json.JsonProperty("page_size")]
[System.Text.Json.Serialization.JsonPropertyName("page_size")]
public int Limit { get; set; } = 10;
/// <summary>
/// 获取或设置翻页标记。
/// </summary>
[Newtonsoft.Json.JsonProperty("next_key")]
[System.Text.Json.Serialization.JsonPropertyName("next_key")]
public string? Cursor { get; set; }
}
}

View File

@ -0,0 +1,50 @@
namespace SKIT.FlurlHttpClient.Wechat.Api.Models
{
/// <summary>
/// <para>表示 [POST] /channels/ec/league/headsupplier/selectionproducts/list/get 接口的响应。</para>
/// </summary>
public class ChannelsECLeagueHeadSupplierSelectionProductsListGetResponse : WechatApiResponse
{
public static class Types
{
public class Product
{
/// <summary>
/// 获取或设置小店 AppId。
/// </summary>
[Newtonsoft.Json.JsonProperty("shop_appid")]
[System.Text.Json.Serialization.JsonPropertyName("shop_appid")]
public string AppId { get; set; } = default!;
/// <summary>
/// 获取或设置商品 ID。
/// </summary>
[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; }
/// <summary>
/// 获取或设置机构推广商品链接。
/// </summary>
[Newtonsoft.Json.JsonProperty("head_supplier_item_link")]
[System.Text.Json.Serialization.JsonPropertyName("head_supplier_item_link")]
public string HeadSupplierItemLink { get; set; } = default!;
}
}
/// <summary>
/// 获取或设置商品列表。
/// </summary>
[Newtonsoft.Json.JsonProperty("product_list")]
[System.Text.Json.Serialization.JsonPropertyName("product_list")]
public Types.Product[] ProductList { get; set; } = default!;
/// <summary>
/// 获取或设置翻页标记。
/// </summary>
[Newtonsoft.Json.JsonProperty("next_key")]
[System.Text.Json.Serialization.JsonPropertyName("next_key")]
public string? NextCursor { get; set; }
}
}

View File

@ -0,0 +1,22 @@
namespace SKIT.FlurlHttpClient.Wechat.Api.Models
{
/// <summary>
/// <para>表示 [POST] /channels/ec/league/headsupplier/subitem/add 接口的请求。</para>
/// </summary>
public class ChannelsECLeagueHeadSupplierSubItemAddRequest : WechatApiRequest, IInferable<ChannelsECLeagueHeadSupplierSubItemAddRequest, ChannelsECLeagueHeadSupplierSubItemAddResponse>
{
/// <summary>
/// 获取或设置计划 ID。
/// </summary>
[Newtonsoft.Json.JsonProperty("id")]
[System.Text.Json.Serialization.JsonPropertyName("id")]
public long PlanId { get; set; }
/// <summary>
/// 获取或设置相对于服务费的达人佣金率范围090
/// </summary>
[Newtonsoft.Json.JsonProperty("ratio_to_service_rate")]
[System.Text.Json.Serialization.JsonPropertyName("ratio_to_service_rate")]
public int RatioToServiceRate { get; set; }
}
}

View File

@ -0,0 +1,9 @@
namespace SKIT.FlurlHttpClient.Wechat.Api.Models
{
/// <summary>
/// <para>表示 [POST] /channels/ec/league/headsupplier/subitem/add 接口的响应。</para>
/// </summary>
public class ChannelsECLeagueHeadSupplierSubItemAddResponse : WechatApiResponse
{
}
}

View File

@ -0,0 +1,30 @@
namespace SKIT.FlurlHttpClient.Wechat.Api.Models
{
/// <summary>
/// <para>表示 [POST] /channels/ec/league/headsupplier/subitem/list/get 接口的请求。</para>
/// </summary>
public class ChannelsECLeagueHeadSupplierSubItemListGetRequest : WechatApiRequest, IInferable<ChannelsECLeagueHeadSupplierSubItemListGetRequest, ChannelsECLeagueHeadSupplierSubItemListGetResponse>
{
/// <summary>
/// 获取或设置计划 ID。
/// </summary>
[Newtonsoft.Json.JsonProperty("id")]
[System.Text.Json.Serialization.JsonPropertyName("id")]
public long SubItemId { get; set; }
/// <summary>
/// 获取或设置分页每页数量。
/// <para>默认值10</para>
/// </summary>
[Newtonsoft.Json.JsonProperty("page_size")]
[System.Text.Json.Serialization.JsonPropertyName("page_size")]
public int Limit { get; set; } = 10;
/// <summary>
/// 获取或设置翻页标记。
/// </summary>
[Newtonsoft.Json.JsonProperty("next_key")]
[System.Text.Json.Serialization.JsonPropertyName("next_key")]
public string? Cursor { get; set; }
}
}

View File

@ -0,0 +1,56 @@
namespace SKIT.FlurlHttpClient.Wechat.Api.Models
{
/// <summary>
/// <para>表示 [POST] /channels/ec/league/headsupplier/subitem/list/get 接口的响应。</para>
/// </summary>
public class ChannelsECLeagueHeadSupplierSubItemListGetResponse : WechatApiResponse
{
public static class Types
{
public class SubItem
{
/// <summary>
/// 获取或设置计划 ID。
/// </summary>
[Newtonsoft.Json.JsonProperty("sub_item_id")]
[System.Text.Json.Serialization.JsonPropertyName("sub_item_id")]
public long PlanId { get; set; }
/// <summary>
/// 获取或设置计划链接。
/// </summary>
[Newtonsoft.Json.JsonProperty("head_supplier_item_link")]
[System.Text.Json.Serialization.JsonPropertyName("head_supplier_item_link")]
public string HeadSupplierItemLink { get; set; } = default!;
/// <summary>
/// 获取或设置计划状态。
/// </summary>
[Newtonsoft.Json.JsonProperty("status")]
[System.Text.Json.Serialization.JsonPropertyName("status")]
public int Status { get; set; }
/// <summary>
/// 获取或设置相对于服务费的达人佣金率范围090
/// </summary>
[Newtonsoft.Json.JsonProperty("ratio_to_service_rate")]
[System.Text.Json.Serialization.JsonPropertyName("ratio_to_service_rate")]
public int RatioToServiceRate { get; set; }
}
}
/// <summary>
/// 获取或设置计划列表。
/// </summary>
[Newtonsoft.Json.JsonProperty("list")]
[System.Text.Json.Serialization.JsonPropertyName("list")]
public Types.SubItem[] SubItemList { get; set; } = default!;
/// <summary>
/// 获取或设置翻页标记。
/// </summary>
[Newtonsoft.Json.JsonProperty("next_key")]
[System.Text.Json.Serialization.JsonPropertyName("next_key")]
public string? NextCursor { get; set; }
}
}

View File

@ -0,0 +1,4 @@
{
"head_supplier_item_link": "weixinstorehs/123456",
"hidden_flag": 1
}

View File

@ -0,0 +1,12 @@
{
"errcode": 0,
"errmsg": "ok",
"list": [
{
"product_id": 1,
"id": 123,
"head_supplier_item_link": "weixinstore/10001"
}
],
"next_key": "PAGECONTEXT"
}

View File

@ -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"
}
}
}

View File

@ -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
}
}
}

View File

@ -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"
}

View File

@ -0,0 +1,11 @@
{
"errcode": 0,
"errmsg": "ok",
"list": [
{
"sub_item_id": 123,
"head_supplier_item_link": "weixinstore/123"
}
],
"next_key": "PAGECONTEXT"
}