mirror of
https://gitee.com/fudiwei/DotNetCore.SKIT.FlurlHttpClient.Wechat.git
synced 2025-07-17 19:37:35 +08:00
feat(wxapi): 新增微信小店联盟带货机构商品订阅相关接口
This commit is contained in:
parent
dfc1d4e470
commit
fa434f0ab1
@ -1232,6 +1232,29 @@ namespace SKIT.FlurlHttpClient.Wechat.Api
|
||||
return await client.SendFlurlRequestAsJsonAsync<Models.ChannelsECCategoryAllResponse>(flurlReq, data: request, cancellationToken: cancellationToken).ConfigureAwait(false);
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// <para>异步调用 [GET] /channels/ec/category/league/all 接口。</para>
|
||||
/// <para>
|
||||
/// REF: <br/>
|
||||
/// <![CDATA[ https://developers.weixin.qq.com/doc/store/leagueheadsupplier/API/basic/category/getallcategory.html ]]>
|
||||
/// </para>
|
||||
/// </summary>
|
||||
/// <param name="client"></param>
|
||||
/// <param name="request"></param>
|
||||
/// <param name="cancellationToken"></param>
|
||||
/// <returns></returns>
|
||||
public static async Task<Models.ChannelsECCategoryLeagueAllResponse> ExecuteChannelsECCategoryLeagueAllAsync(this WechatApiClient client, Models.ChannelsECCategoryLeagueAllRequest 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.Get, "channels", "ec", "category", "league", "all")
|
||||
.SetQueryParam("access_token", request.AccessToken);
|
||||
|
||||
return await client.SendFlurlRequestAsJsonAsync<Models.ChannelsECCategoryLeagueAllResponse>(flurlReq, data: request, cancellationToken: cancellationToken).ConfigureAwait(false);
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// <para>异步调用 [POST] /channels/ec/category/detail 接口。</para>
|
||||
/// <para>
|
||||
@ -2935,6 +2958,77 @@ namespace SKIT.FlurlHttpClient.Wechat.Api
|
||||
}
|
||||
#endregion
|
||||
|
||||
#region ECLeague/HeadSupplier/Subscription
|
||||
/// <summary>
|
||||
/// <para>异步调用 [POST] /channels/ec/league/headsupplier/subscription/subscribe 接口。</para>
|
||||
/// <para>
|
||||
/// REF: <br/>
|
||||
/// <![CDATA[ https://developers.weixin.qq.com/doc/store/leagueheadsupplier/API/hs_subscribe.html ]]>
|
||||
/// </para>
|
||||
/// </summary>
|
||||
/// <param name="client"></param>
|
||||
/// <param name="request"></param>
|
||||
/// <param name="cancellationToken"></param>
|
||||
/// <returns></returns>
|
||||
public static async Task<Models.ChannelsECLeagueHeadSupplierSubscriptionSubscribeResponse> ExecuteChannelsECLeagueHeadSupplierSubscriptionSubscribeAsync(this WechatApiClient client, Models.ChannelsECLeagueHeadSupplierSubscriptionSubscribeRequest 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", "subscription", "subscribe")
|
||||
.SetQueryParam("access_token", request.AccessToken);
|
||||
|
||||
return await client.SendFlurlRequestAsJsonAsync<Models.ChannelsECLeagueHeadSupplierSubscriptionSubscribeResponse>(flurlReq, data: request, cancellationToken: cancellationToken).ConfigureAwait(false);
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// <para>异步调用 [POST] /channels/ec/league/headsupplier/subscription/unsubscribe 接口。</para>
|
||||
/// <para>
|
||||
/// REF: <br/>
|
||||
/// <![CDATA[ https://developers.weixin.qq.com/doc/store/leagueheadsupplier/API/hs_unsubscribe.html ]]>
|
||||
/// </para>
|
||||
/// </summary>
|
||||
/// <param name="client"></param>
|
||||
/// <param name="request"></param>
|
||||
/// <param name="cancellationToken"></param>
|
||||
/// <returns></returns>
|
||||
public static async Task<Models.ChannelsECLeagueHeadSupplierSubscriptionUnsubscribeResponse> ExecuteChannelsECLeagueHeadSupplierSubscriptionUnsubscribeAsync(this WechatApiClient client, Models.ChannelsECLeagueHeadSupplierSubscriptionUnsubscribeRequest 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", "subscription", "unsubscribe")
|
||||
.SetQueryParam("access_token", request.AccessToken);
|
||||
|
||||
return await client.SendFlurlRequestAsJsonAsync<Models.ChannelsECLeagueHeadSupplierSubscriptionUnsubscribeResponse>(flurlReq, data: request, cancellationToken: cancellationToken).ConfigureAwait(false);
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// <para>异步调用 [POST] /channels/ec/league/headsupplier/subscription/getsubscribe 接口。</para>
|
||||
/// <para>
|
||||
/// REF: <br/>
|
||||
/// <![CDATA[ https://developers.weixin.qq.com/doc/store/leagueheadsupplier/API/hs_getsubscribe.html ]]>
|
||||
/// </para>
|
||||
/// </summary>
|
||||
/// <param name="client"></param>
|
||||
/// <param name="request"></param>
|
||||
/// <param name="cancellationToken"></param>
|
||||
/// <returns></returns>
|
||||
public static async Task<Models.ChannelsECLeagueHeadSupplierSubscriptionGetSubscribeResponse> ExecuteChannelsECLeagueHeadSupplierSubscriptionGetSubscribeAsync(this WechatApiClient client, Models.ChannelsECLeagueHeadSupplierSubscriptionGetSubscribeRequest 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", "subscription", "getsubscribe")
|
||||
.SetQueryParam("access_token", request.AccessToken);
|
||||
|
||||
return await client.SendFlurlRequestAsJsonAsync<Models.ChannelsECLeagueHeadSupplierSubscriptionGetSubscribeResponse>(flurlReq, data: request, cancellationToken: cancellationToken).ConfigureAwait(false);
|
||||
}
|
||||
#endregion
|
||||
|
||||
#region ECLeague/HeadSupplier/Window
|
||||
/// <summary>
|
||||
/// <para>异步调用 [POST] /channels/ec/league/headsupplier/window/add 接口。</para>
|
||||
|
@ -0,0 +1,9 @@
|
||||
namespace SKIT.FlurlHttpClient.Wechat.Api.Models
|
||||
{
|
||||
/// <summary>
|
||||
/// <para>表示 [GET] /channels/ec/category/league/all 接口的请求。</para>
|
||||
/// </summary>
|
||||
public class ChannelsECCategoryLeagueAllRequest : WechatApiRequest, IInferable<ChannelsECCategoryLeagueAllRequest, ChannelsECCategoryLeagueAllResponse>
|
||||
{
|
||||
}
|
||||
}
|
@ -0,0 +1,32 @@
|
||||
using System;
|
||||
|
||||
namespace SKIT.FlurlHttpClient.Wechat.Api.Models
|
||||
{
|
||||
/// <summary>
|
||||
/// <para>表示 [GET] /channels/ec/category/league/all 接口的响应。</para>
|
||||
/// </summary>
|
||||
public class ChannelsECCategoryLeagueAllResponse : WechatApiResponse
|
||||
{
|
||||
public static class Types
|
||||
{
|
||||
public class Category : ChannelsECCategoryAllResponse.Types.Category
|
||||
{
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 获取或设置类目列表。
|
||||
/// </summary>
|
||||
[Obsolete("相关接口或字段于 2024-10-28 下线。")]
|
||||
[Newtonsoft.Json.JsonProperty("cats")]
|
||||
[System.Text.Json.Serialization.JsonPropertyName("cats")]
|
||||
public Types.Category[] CategoryList { get; set; } = default!;
|
||||
|
||||
/// <summary>
|
||||
/// 获取或设置新版类目列表。
|
||||
/// </summary>
|
||||
[Newtonsoft.Json.JsonProperty("cats_v2")]
|
||||
[System.Text.Json.Serialization.JsonPropertyName("cats_v2")]
|
||||
public Types.Category[] CategoryV2List { get; set; } = default!;
|
||||
}
|
||||
}
|
@ -0,0 +1,64 @@
|
||||
namespace SKIT.FlurlHttpClient.Wechat.Api.Models
|
||||
{
|
||||
/// <summary>
|
||||
/// <para>表示 [POST] /channels/ec/league/headsupplier/subscription/getsubscribe 接口的请求。</para>
|
||||
/// </summary>
|
||||
public class ChannelsECLeagueHeadSupplierSubscriptionGetSubscribeRequest : WechatApiRequest, IInferable<ChannelsECLeagueHeadSupplierSubscriptionGetSubscribeRequest, ChannelsECLeagueHeadSupplierSubscriptionGetSubscribeResponse>
|
||||
{
|
||||
public static class Types
|
||||
{
|
||||
public class Filter
|
||||
{
|
||||
/// <summary>
|
||||
/// 获取或设置小店 AppId。
|
||||
/// </summary>
|
||||
[Newtonsoft.Json.JsonProperty("appid")]
|
||||
[System.Text.Json.Serialization.JsonPropertyName("appid")]
|
||||
public string? ShopAppId { get; set; }
|
||||
|
||||
/// <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("product_name")]
|
||||
[System.Text.Json.Serialization.JsonPropertyName("product_name")]
|
||||
public string? ProductName { get; set; }
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 获取或设置筛选条件。
|
||||
/// </summary>
|
||||
[Newtonsoft.Json.JsonProperty("filter")]
|
||||
[System.Text.Json.Serialization.JsonPropertyName("filter")]
|
||||
public Types.Filter? Filter { 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; }
|
||||
|
||||
/// <summary>
|
||||
/// 获取或设置是否返回总数量。
|
||||
/// </summary>
|
||||
[Newtonsoft.Json.JsonProperty("need_total_num")]
|
||||
[System.Text.Json.Serialization.JsonPropertyName("need_total_num")]
|
||||
public bool? RequireTotalCount { get; set; }
|
||||
}
|
||||
}
|
@ -0,0 +1,56 @@
|
||||
namespace SKIT.FlurlHttpClient.Wechat.Api.Models
|
||||
{
|
||||
/// <summary>
|
||||
/// <para>表示 [POST] /channels/ec/league/headsupplier/subscription/getsubscribe 接口的响应。</para>
|
||||
/// </summary>
|
||||
public class ChannelsECLeagueHeadSupplierSubscriptionGetSubscribeResponse : WechatApiResponse
|
||||
{
|
||||
public static class Types
|
||||
{
|
||||
public class SubscribeInfo
|
||||
{
|
||||
/// <summary>
|
||||
/// 获取或设置小店 AppId。
|
||||
/// </summary>
|
||||
[Newtonsoft.Json.JsonProperty("shop_appid")]
|
||||
[System.Text.Json.Serialization.JsonPropertyName("shop_appid")]
|
||||
public string ShopAppId { get; set; } = default!;
|
||||
|
||||
/// <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("subscribe_info_list")]
|
||||
[System.Text.Json.Serialization.JsonPropertyName("subscribe_info_list")]
|
||||
public Types.SubscribeInfo[] SubscribeInfoList { get; set; } = default!;
|
||||
|
||||
/// <summary>
|
||||
/// 获取或设置总数量。
|
||||
/// </summary>
|
||||
[Newtonsoft.Json.JsonProperty("total_num")]
|
||||
[System.Text.Json.Serialization.JsonPropertyName("total_num")]
|
||||
public int? TotalCount { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 获取或设置翻页标记。
|
||||
/// </summary>
|
||||
[Newtonsoft.Json.JsonProperty("next_key")]
|
||||
[System.Text.Json.Serialization.JsonPropertyName("next_key")]
|
||||
public string? NextCursor { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 获取或设置是否还有更多。
|
||||
/// </summary>
|
||||
[Newtonsoft.Json.JsonProperty("has_more")]
|
||||
[System.Text.Json.Serialization.JsonPropertyName("has_more")]
|
||||
public bool HasMore { get; set; }
|
||||
}
|
||||
}
|
@ -0,0 +1,15 @@
|
||||
namespace SKIT.FlurlHttpClient.Wechat.Api.Models
|
||||
{
|
||||
/// <summary>
|
||||
/// <para>表示 [POST] /channels/ec/league/headsupplier/subscription/subscribe 接口的请求。</para>
|
||||
/// </summary>
|
||||
public class ChannelsECLeagueHeadSupplierSubscriptionSubscribeRequest : WechatApiRequest, IInferable<ChannelsECLeagueHeadSupplierSubscriptionSubscribeRequest, ChannelsECLeagueHeadSupplierSubscriptionSubscribeResponse>
|
||||
{
|
||||
/// <summary>
|
||||
/// 获取或设置商品 ID。
|
||||
/// </summary>
|
||||
[Newtonsoft.Json.JsonProperty("product_id")]
|
||||
[System.Text.Json.Serialization.JsonPropertyName("product_id")]
|
||||
public long ProductId { get; set; }
|
||||
}
|
||||
}
|
@ -0,0 +1,9 @@
|
||||
namespace SKIT.FlurlHttpClient.Wechat.Api.Models
|
||||
{
|
||||
/// <summary>
|
||||
/// <para>表示 [POST] /channels/ec/league/headsupplier/subscription/subscribe 接口的响应。</para>
|
||||
/// </summary>
|
||||
public class ChannelsECLeagueHeadSupplierSubscriptionSubscribeResponse : WechatApiResponse
|
||||
{
|
||||
}
|
||||
}
|
@ -0,0 +1,15 @@
|
||||
namespace SKIT.FlurlHttpClient.Wechat.Api.Models
|
||||
{
|
||||
/// <summary>
|
||||
/// <para>表示 [POST] /channels/ec/league/headsupplier/subscription/unsubscribe 接口的请求。</para>
|
||||
/// </summary>
|
||||
public class ChannelsECLeagueHeadSupplierSubscriptionUnsubscribeRequest : WechatApiRequest, IInferable<ChannelsECLeagueHeadSupplierSubscriptionUnsubscribeRequest, ChannelsECLeagueHeadSupplierSubscriptionUnsubscribeResponse>
|
||||
{
|
||||
/// <summary>
|
||||
/// 获取或设置商品 ID。
|
||||
/// </summary>
|
||||
[Newtonsoft.Json.JsonProperty("product_id")]
|
||||
[System.Text.Json.Serialization.JsonPropertyName("product_id")]
|
||||
public long ProductId { get; set; }
|
||||
}
|
||||
}
|
@ -0,0 +1,9 @@
|
||||
namespace SKIT.FlurlHttpClient.Wechat.Api.Models
|
||||
{
|
||||
/// <summary>
|
||||
/// <para>表示 [POST] /channels/ec/league/headsupplier/subscription/unsubscribe 接口的响应。</para>
|
||||
/// </summary>
|
||||
public class ChannelsECLeagueHeadSupplierSubscriptionUnsubscribeResponse : WechatApiResponse
|
||||
{
|
||||
}
|
||||
}
|
@ -0,0 +1,10 @@
|
||||
{
|
||||
"filter": {
|
||||
"product_id": 10000207528058,
|
||||
"product_name": "",
|
||||
"appid": ""
|
||||
},
|
||||
"page_size": 20,
|
||||
"next_key": "",
|
||||
"need_total_num": true
|
||||
}
|
@ -0,0 +1,13 @@
|
||||
{
|
||||
"errcode": 0,
|
||||
"errmsg": "ok",
|
||||
"subscribe_info_list": [
|
||||
{
|
||||
"product_id": 10000207528058,
|
||||
"shop_appid": "wx2b255582a7b4bfd0"
|
||||
}
|
||||
],
|
||||
"total_num": 0,
|
||||
"next_key": "",
|
||||
"has_more": false
|
||||
}
|
@ -0,0 +1,3 @@
|
||||
{
|
||||
"product_id": 10000207528319
|
||||
}
|
@ -0,0 +1,3 @@
|
||||
{
|
||||
"product_id": 10000207528319
|
||||
}
|
Loading…
Reference in New Issue
Block a user