feat(wxapi): 新增视频号小店罗盘商家版相关接口

This commit is contained in:
Fu Diwei
2024-07-15 20:15:26 +08:00
parent acd0b44f08
commit 38525bea96
41 changed files with 1827 additions and 14 deletions

View File

@@ -736,6 +736,238 @@ namespace SKIT.FlurlHttpClient.Wechat.Api
}
#endregion
#region ECCompass
/// <summary>
/// <para>异步调用 [POST] /channels/ec/compass/shop/overall/get 接口。</para>
/// <para>
/// REF: <br/>
/// <![CDATA[ https://developers.weixin.qq.com/doc/channels/API/compass/shop/getshopoverall.html ]]>
/// </para>
/// </summary>
/// <param name="client"></param>
/// <param name="request"></param>
/// <param name="cancellationToken"></param>
/// <returns></returns>
public static async Task<Models.ChannelsECCompassShopOverallGetResponse> ExecuteChannelsECCompassShopOverallGetAsync(this WechatApiClient client, Models.ChannelsECCompassShopOverallGetRequest 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", "compass", "shop", "overall", "get")
.SetQueryParam("access_token", request.AccessToken);
return await client.SendFlurlRequestAsJsonAsync<Models.ChannelsECCompassShopOverallGetResponse>(flurlReq, data: request, cancellationToken: cancellationToken).ConfigureAwait(false);
}
/// <summary>
/// <para>异步调用 [POST] /channels/ec/compass/shop/finder/authorization/list/get 接口。</para>
/// <para>
/// REF: <br/>
/// <![CDATA[ https://developers.weixin.qq.com/doc/channels/API/compass/shop/get_finder_authorization_list.html ]]>
/// </para>
/// </summary>
/// <param name="client"></param>
/// <param name="request"></param>
/// <param name="cancellationToken"></param>
/// <returns></returns>
public static async Task<Models.ChannelsECCompassShopFinderAuthorizationListGetResponse> ExecuteChannelsECCompassShopFinderAuthorizationListGetAsync(this WechatApiClient client, Models.ChannelsECCompassShopFinderAuthorizationListGetRequest 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", "compass", "shop", "finder", "authorization", "list", "get")
.SetQueryParam("access_token", request.AccessToken);
return await client.SendFlurlRequestAsJsonAsync<Models.ChannelsECCompassShopFinderAuthorizationListGetResponse>(flurlReq, data: request, cancellationToken: cancellationToken).ConfigureAwait(false);
}
/// <summary>
/// <para>异步调用 [POST] /channels/ec/compass/shop/finder/list/get 接口。</para>
/// <para>
/// REF: <br/>
/// <![CDATA[ https://developers.weixin.qq.com/doc/channels/API/compass/shop/getshopfinderlist.html ]]>
/// </para>
/// </summary>
/// <param name="client"></param>
/// <param name="request"></param>
/// <param name="cancellationToken"></param>
/// <returns></returns>
public static async Task<Models.ChannelsECCompassShopFinderListGetResponse> ExecuteChannelsECCompassShopFinderListGetAsync(this WechatApiClient client, Models.ChannelsECCompassShopFinderListGetRequest 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", "compass", "shop", "finder", "list", "get")
.SetQueryParam("access_token", request.AccessToken);
return await client.SendFlurlRequestAsJsonAsync<Models.ChannelsECCompassShopFinderListGetResponse>(flurlReq, data: request, cancellationToken: cancellationToken).ConfigureAwait(false);
}
/// <summary>
/// <para>异步调用 [POST] /channels/ec/compass/shop/finder/overall/get 接口。</para>
/// <para>
/// REF: <br/>
/// <![CDATA[ https://developers.weixin.qq.com/doc/channels/API/compass/shop/getshopfinderoverall.html ]]>
/// </para>
/// </summary>
/// <param name="client"></param>
/// <param name="request"></param>
/// <param name="cancellationToken"></param>
/// <returns></returns>
public static async Task<Models.ChannelsECCompassShopFinderOverallGetResponse> ExecuteChannelsECCompassShopFinderOverallGetAsync(this WechatApiClient client, Models.ChannelsECCompassShopFinderOverallGetRequest 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", "compass", "shop", "finder", "overall", "get")
.SetQueryParam("access_token", request.AccessToken);
return await client.SendFlurlRequestAsJsonAsync<Models.ChannelsECCompassShopFinderOverallGetResponse>(flurlReq, data: request, cancellationToken: cancellationToken).ConfigureAwait(false);
}
/// <summary>
/// <para>异步调用 [POST] /channels/ec/compass/shop/finder/product/list/get 接口。</para>
/// <para>
/// REF: <br/>
/// <![CDATA[ https://developers.weixin.qq.com/doc/channels/API/compass/shop/getshopfinderproductlist.html ]]>
/// </para>
/// </summary>
/// <param name="client"></param>
/// <param name="request"></param>
/// <param name="cancellationToken"></param>
/// <returns></returns>
public static async Task<Models.ChannelsECCompassShopFinderProductListGetResponse> ExecuteChannelsECCompassShopFinderProductListGetAsync(this WechatApiClient client, Models.ChannelsECCompassShopFinderProductListGetRequest 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", "compass", "shop", "finder", "product", "list", "get")
.SetQueryParam("access_token", request.AccessToken);
return await client.SendFlurlRequestAsJsonAsync<Models.ChannelsECCompassShopFinderProductListGetResponse>(flurlReq, data: request, cancellationToken: cancellationToken).ConfigureAwait(false);
}
/// <summary>
/// <para>异步调用 [POST] /channels/ec/compass/shop/finder/product/overall/get 接口。</para>
/// <para>
/// REF: <br/>
/// <![CDATA[ https://developers.weixin.qq.com/doc/channels/API/compass/shop/getshopfinderproductoverall.html ]]>
/// </para>
/// </summary>
/// <param name="client"></param>
/// <param name="request"></param>
/// <param name="cancellationToken"></param>
/// <returns></returns>
public static async Task<Models.ChannelsECCompassShopFinderProductOverallGetResponse> ExecuteChannelsECCompassShopFinderProductOverallGetAsync(this WechatApiClient client, Models.ChannelsECCompassShopFinderProductOverallGetRequest 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", "compass", "shop", "finder", "product", "overall", "get")
.SetQueryParam("access_token", request.AccessToken);
return await client.SendFlurlRequestAsJsonAsync<Models.ChannelsECCompassShopFinderProductOverallGetResponse>(flurlReq, data: request, cancellationToken: cancellationToken).ConfigureAwait(false);
}
/// <summary>
/// <para>异步调用 [POST] /channels/ec/compass/shop/live/list/get 接口。</para>
/// <para>
/// REF: <br/>
/// <![CDATA[ https://developers.weixin.qq.com/doc/channels/API/compass/shop/getshoplivelist.html ]]>
/// </para>
/// </summary>
/// <param name="client"></param>
/// <param name="request"></param>
/// <param name="cancellationToken"></param>
/// <returns></returns>
public static async Task<Models.ChannelsECCompassShopLiveListGetResponse> ExecuteChannelsECCompassShopLiveListGetAsync(this WechatApiClient client, Models.ChannelsECCompassShopLiveListGetRequest 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", "compass", "shop", "live", "list", "get")
.SetQueryParam("access_token", request.AccessToken);
return await client.SendFlurlRequestAsJsonAsync<Models.ChannelsECCompassShopLiveListGetResponse>(flurlReq, data: request, cancellationToken: cancellationToken).ConfigureAwait(false);
}
/// <summary>
/// <para>异步调用 [POST] /channels/ec/compass/shop/product/list/get 接口。</para>
/// <para>
/// REF: <br/>
/// <![CDATA[ https://developers.weixin.qq.com/doc/channels/API/compass/shop/getshopproductlist.html ]]>
/// </para>
/// </summary>
/// <param name="client"></param>
/// <param name="request"></param>
/// <param name="cancellationToken"></param>
/// <returns></returns>
public static async Task<Models.ChannelsECCompassShopProductListGetResponse> ExecuteChannelsECCompassShopProductListGetAsync(this WechatApiClient client, Models.ChannelsECCompassShopProductListGetRequest 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", "compass", "shop", "product", "list", "get")
.SetQueryParam("access_token", request.AccessToken);
return await client.SendFlurlRequestAsJsonAsync<Models.ChannelsECCompassShopProductListGetResponse>(flurlReq, data: request, cancellationToken: cancellationToken).ConfigureAwait(false);
}
/// <summary>
/// <para>异步调用 [POST] /channels/ec/compass/shop/product/data/get 接口。</para>
/// <para>
/// REF: <br/>
/// <![CDATA[ https://developers.weixin.qq.com/doc/channels/API/compass/shop/getshopproductdata.html ]]>
/// </para>
/// </summary>
/// <param name="client"></param>
/// <param name="request"></param>
/// <param name="cancellationToken"></param>
/// <returns></returns>
public static async Task<Models.ChannelsECCompassShopProductDataGetResponse> ExecuteChannelsECCompassShopProductDataGetAsync(this WechatApiClient client, Models.ChannelsECCompassShopProductDataGetRequest 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", "compass", "shop", "product", "data", "get")
.SetQueryParam("access_token", request.AccessToken);
return await client.SendFlurlRequestAsJsonAsync<Models.ChannelsECCompassShopProductDataGetResponse>(flurlReq, data: request, cancellationToken: cancellationToken).ConfigureAwait(false);
}
/// <summary>
/// <para>异步调用 [POST] /channels/ec/compass/shop/sale/profile/data/get 接口。</para>
/// <para>
/// REF: <br/>
/// <![CDATA[ https://developers.weixin.qq.com/doc/channels/API/compass/shop/getshopsaleprofiledata.html ]]>
/// </para>
/// </summary>
/// <param name="client"></param>
/// <param name="request"></param>
/// <param name="cancellationToken"></param>
/// <returns></returns>
public static async Task<Models.ChannelsECCompassShopSaleProfileDataGetResponse> ExecuteChannelsECCompassShopSaleProfileDataGetAsync(this WechatApiClient client, Models.ChannelsECCompassShopSaleProfileDataGetRequest 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", "compass", "shop", "sale", "profile", "data", "get")
.SetQueryParam("access_token", request.AccessToken);
return await client.SendFlurlRequestAsJsonAsync<Models.ChannelsECCompassShopSaleProfileDataGetResponse>(flurlReq, data: request, cancellationToken: cancellationToken).ConfigureAwait(false);
}
#endregion
#region ECCoupon
/// <summary>
/// <para>异步调用 [POST] /channels/ec/coupon/create 接口。</para>

View File

@@ -0,0 +1,9 @@
namespace SKIT.FlurlHttpClient.Wechat.Api.Models
{
/// <summary>
/// <para>表示 [POST] /channels/ec/compass/shop/finder/authorization/list/get 接口的请求。</para>
/// </summary>
public class ChannelsECCompassShopFinderAuthorizationListGetRequest : WechatApiRequest, IInferable<ChannelsECCompassShopFinderAuthorizationListGetRequest, ChannelsECCompassShopFinderAuthorizationListGetResponse>
{
}
}

View File

@@ -0,0 +1,22 @@
namespace SKIT.FlurlHttpClient.Wechat.Api.Models
{
/// <summary>
/// <para>表示 [POST] /channels/ec/compass/shop/finder/authorization/list/get 接口的响应。</para>
/// </summary>
public class ChannelsECCompassShopFinderAuthorizationListGetResponse : WechatApiResponse
{
/// <summary>
/// 获取或设置主营视频号 ID。
/// </summary>
[Newtonsoft.Json.JsonProperty("main_finder_id")]
[System.Text.Json.Serialization.JsonPropertyName("main_finder_id")]
public string MainFinderId { get; set; } = default!;
/// <summary>
/// 获取或设置授权视频号 ID 列表。
/// </summary>
[Newtonsoft.Json.JsonProperty("authorized_finder_id_list")]
[System.Text.Json.Serialization.JsonPropertyName("authorized_finder_id_list")]
public string[]? AuthorizedFinderIdList { get; set; }
}
}

View File

@@ -0,0 +1,15 @@
namespace SKIT.FlurlHttpClient.Wechat.Api.Models
{
/// <summary>
/// <para>表示 [POST] /channels/ec/compass/shop/finder/list/get 接口的请求。</para>
/// </summary>
public class ChannelsECCompassShopFinderListGetRequest : WechatApiRequest, IInferable<ChannelsECCompassShopFinderListGetRequest, ChannelsECCompassShopFinderListGetResponse>
{
/// <summary>
/// 获取或设置日期字符串格式yyyyMMdd
/// </summary>
[Newtonsoft.Json.JsonProperty("ds")]
[System.Text.Json.Serialization.JsonPropertyName("ds")]
public string DateString { get; set; } = string.Empty;
}
}

View File

@@ -0,0 +1,88 @@
namespace SKIT.FlurlHttpClient.Wechat.Api.Models
{
/// <summary>
/// <para>表示 [POST] /channels/ec/compass/shop/finder/list/get 接口的响应。</para>
/// </summary>
public class ChannelsECCompassShopFinderListGetResponse : WechatApiResponse
{
public static class Types
{
public class Finder
{
public static class Types
{
public class Data
{
/// <summary>
/// 获取或设置成交金额(单位:分)。
/// </summary>
[Newtonsoft.Json.JsonProperty("pay_gmv")]
[System.Text.Json.Serialization.JsonPropertyName("pay_gmv")]
[System.Text.Json.Serialization.JsonNumberHandling(System.Text.Json.Serialization.JsonNumberHandling.AllowReadingFromString)]
public long PayGMV { get; set; }
/// <summary>
/// 获取或设置成交人数。
/// </summary>
[Newtonsoft.Json.JsonProperty("pay_uv")]
[System.Text.Json.Serialization.JsonPropertyName("pay_uv")]
[System.Text.Json.Serialization.JsonNumberHandling(System.Text.Json.Serialization.JsonNumberHandling.AllowReadingFromString)]
public int PayUV { get; set; }
/// <summary>
/// 获取或设置成交退款金额(单位:分)。
/// </summary>
[Newtonsoft.Json.JsonProperty("pay_refund_gmv")]
[System.Text.Json.Serialization.JsonPropertyName("pay_refund_gmv")]
[System.Text.Json.Serialization.JsonNumberHandling(System.Text.Json.Serialization.JsonNumberHandling.AllowReadingFromString)]
public long PayRefundGMV { get; set; }
/// <summary>
/// 获取或设置动销商品数。
/// </summary>
[Newtonsoft.Json.JsonProperty("pay_product_id_cnt")]
[System.Text.Json.Serialization.JsonPropertyName("pay_product_id_cnt")]
[System.Text.Json.Serialization.JsonNumberHandling(System.Text.Json.Serialization.JsonNumberHandling.AllowReadingFromString)]
public int PayProductCount { get; set; }
/// <summary>
/// 获取或设置退款金额(单位:分)。
/// </summary>
[Newtonsoft.Json.JsonProperty("refund_gmv")]
[System.Text.Json.Serialization.JsonPropertyName("refund_gmv")]
[System.Text.Json.Serialization.JsonNumberHandling(System.Text.Json.Serialization.JsonNumberHandling.AllowReadingFromString)]
public long RefundGMV { get; set; }
}
}
/// <summary>
/// 获取或设置视频号 ID。
/// </summary>
[Newtonsoft.Json.JsonProperty("finder_id")]
[System.Text.Json.Serialization.JsonPropertyName("finder_id")]
public string FinderId { get; set; } = default!;
/// <summary>
/// 获取或设置视频号昵称。
/// </summary>
[Newtonsoft.Json.JsonProperty("finder_nickname")]
[System.Text.Json.Serialization.JsonPropertyName("finder_nickname")]
public string FinderNickname { get; set; } = default!;
/// <summary>
/// 获取或设置统计数据。
/// </summary>
[Newtonsoft.Json.JsonProperty("data")]
[System.Text.Json.Serialization.JsonPropertyName("data")]
public Types.Data Data { get; set; } = default!;
}
}
/// <summary>
/// 获取或设置视频号列表。
/// </summary>
[Newtonsoft.Json.JsonProperty("finder_list")]
[System.Text.Json.Serialization.JsonPropertyName("finder_list")]
public Types.Finder[] FinderList { get; set; } = default!;
}
}

View File

@@ -0,0 +1,15 @@
namespace SKIT.FlurlHttpClient.Wechat.Api.Models
{
/// <summary>
/// <para>表示 [POST] /channels/ec/compass/shop/finder/overall/get 接口的请求。</para>
/// </summary>
public class ChannelsECCompassShopFinderOverallGetRequest : WechatApiRequest, IInferable<ChannelsECCompassShopFinderOverallGetRequest, ChannelsECCompassShopFinderOverallGetResponse>
{
/// <summary>
/// 获取或设置日期字符串格式yyyyMMdd
/// </summary>
[Newtonsoft.Json.JsonProperty("ds")]
[System.Text.Json.Serialization.JsonPropertyName("ds")]
public string DateString { get; set; } = string.Empty;
}
}

View File

@@ -0,0 +1,53 @@
namespace SKIT.FlurlHttpClient.Wechat.Api.Models
{
/// <summary>
/// <para>表示 [POST] /channels/ec/compass/shop/finder/overall/get 接口的响应。</para>
/// </summary>
public class ChannelsECCompassShopFinderOverallGetResponse : WechatApiResponse
{
public static class Types
{
public class Data
{
/// <summary>
/// 获取或设置成交金额(单位:分)。
/// </summary>
[Newtonsoft.Json.JsonProperty("pay_gmv")]
[System.Text.Json.Serialization.JsonPropertyName("pay_gmv")]
[System.Text.Json.Serialization.JsonNumberHandling(System.Text.Json.Serialization.JsonNumberHandling.AllowReadingFromString)]
public long PayGMV { get; set; }
/// <summary>
/// 获取或设置动销达人数。
/// </summary>
[Newtonsoft.Json.JsonProperty("pay_sales_finder_cnt")]
[System.Text.Json.Serialization.JsonPropertyName("pay_sales_finder_cnt")]
[System.Text.Json.Serialization.JsonNumberHandling(System.Text.Json.Serialization.JsonNumberHandling.AllowReadingFromString)]
public long PaySalesFinderCount { get; set; }
/// <summary>
/// 获取或设置动销商品数。
/// </summary>
[Newtonsoft.Json.JsonProperty("pay_product_id_cnt")]
[System.Text.Json.Serialization.JsonPropertyName("pay_product_id_cnt")]
[System.Text.Json.Serialization.JsonNumberHandling(System.Text.Json.Serialization.JsonNumberHandling.AllowReadingFromString)]
public int PayProductCount { get; set; }
/// <summary>
/// 获取或设置点击成交转化率(单位:百分数)。
/// </summary>
[Newtonsoft.Json.JsonProperty("click_to_pay_uv_ratio")]
[System.Text.Json.Serialization.JsonPropertyName("click_to_pay_uv_ratio")]
[System.Text.Json.Serialization.JsonNumberHandling(System.Text.Json.Serialization.JsonNumberHandling.AllowReadingFromString)]
public decimal ClickToPayUVRatio { get; set; }
}
}
/// <summary>
/// 获取或设置返回数据。
/// </summary>
[Newtonsoft.Json.JsonProperty("data")]
[System.Text.Json.Serialization.JsonPropertyName("data")]
public Types.Data Data { get; set; } = default!;
}
}

View File

@@ -0,0 +1,22 @@
namespace SKIT.FlurlHttpClient.Wechat.Api.Models
{
/// <summary>
/// <para>表示 [POST] /channels/ec/compass/shop/finder/product/list/get 接口的请求。</para>
/// </summary>
public class ChannelsECCompassShopFinderProductListGetRequest : WechatApiRequest, IInferable<ChannelsECCompassShopFinderProductListGetRequest, ChannelsECCompassShopFinderProductListGetResponse>
{
/// <summary>
/// 获取或设置视频号 ID。
/// </summary>
[Newtonsoft.Json.JsonProperty("finder_id")]
[System.Text.Json.Serialization.JsonPropertyName("finder_id")]
public string FinderId { get; set; } = string.Empty;
/// <summary>
/// 获取或设置日期字符串格式yyyyMMdd
/// </summary>
[Newtonsoft.Json.JsonProperty("ds")]
[System.Text.Json.Serialization.JsonPropertyName("ds")]
public string DateString { get; set; } = string.Empty;
}
}

View File

@@ -0,0 +1,104 @@
namespace SKIT.FlurlHttpClient.Wechat.Api.Models
{
/// <summary>
/// <para>表示 [POST] /channels/ec/compass/shop/finder/product/list/get 接口的响应。</para>
/// </summary>
public class ChannelsECCompassShopFinderProductListGetResponse : WechatApiResponse
{
public static class Types
{
public class Product
{
public static class Types
{
public class Data
{
/// <summary>
/// 获取或设置成交金额(单位:分)。
/// </summary>
[Newtonsoft.Json.JsonProperty("pay_gmv")]
[System.Text.Json.Serialization.JsonPropertyName("pay_gmv")]
[System.Text.Json.Serialization.JsonNumberHandling(System.Text.Json.Serialization.JsonNumberHandling.AllowReadingFromString)]
public long PayGMV { get; set; }
/// <summary>
/// 获取或设置佣金率。
/// </summary>
[Newtonsoft.Json.JsonProperty("commission_ratio")]
[System.Text.Json.Serialization.JsonPropertyName("commission_ratio")]
[System.Text.Json.Serialization.JsonNumberHandling(System.Text.Json.Serialization.JsonNumberHandling.AllowReadingFromString)]
public decimal CommissionRatio { get; set; }
}
}
/// <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("title")]
[System.Text.Json.Serialization.JsonPropertyName("title")]
public string Title { get; set; } = default!;
/// <summary>
/// 获取或设置商品头图 URL。
/// </summary>
[Newtonsoft.Json.JsonProperty("head_img_url")]
[System.Text.Json.Serialization.JsonPropertyName("head_img_url")]
public string HeadImageUrl { get; set; } = default!;
/// <summary>
/// 获取或设置商品价格(单位:分)。
/// </summary>
[Newtonsoft.Json.JsonProperty("price")]
[System.Text.Json.Serialization.JsonPropertyName("price")]
[System.Text.Json.Serialization.JsonNumberHandling(System.Text.Json.Serialization.JsonNumberHandling.AllowReadingFromString)]
public int Price { get; set; }
/// <summary>
/// 获取或设置一级分类 ID。
/// </summary>
[Newtonsoft.Json.JsonProperty("first_category_id")]
[System.Text.Json.Serialization.JsonPropertyName("first_category_id")]
[System.Text.Json.Serialization.JsonNumberHandling(System.Text.Json.Serialization.JsonNumberHandling.AllowReadingFromString)]
public long FirstCategoryId { get; set; }
/// <summary>
/// 获取或设置二级分类 ID。
/// </summary>
[Newtonsoft.Json.JsonProperty("second_category_id")]
[System.Text.Json.Serialization.JsonPropertyName("second_category_id")]
[System.Text.Json.Serialization.JsonNumberHandling(System.Text.Json.Serialization.JsonNumberHandling.AllowReadingFromString)]
public long SecondCategoryId { get; set; }
/// <summary>
/// 获取或设置三级分类 ID。
/// </summary>
[Newtonsoft.Json.JsonProperty("third_category_id")]
[System.Text.Json.Serialization.JsonPropertyName("third_category_id")]
[System.Text.Json.Serialization.JsonNumberHandling(System.Text.Json.Serialization.JsonNumberHandling.AllowReadingFromString)]
public long ThirdCategoryId { get; set; }
/// <summary>
/// 获取或设置统计数据。
/// </summary>
[Newtonsoft.Json.JsonProperty("data")]
[System.Text.Json.Serialization.JsonPropertyName("data")]
public Types.Data Data { get; set; } = default!;
}
}
/// <summary>
/// 获取或设置商品列表。
/// </summary>
[Newtonsoft.Json.JsonProperty("product_list")]
[System.Text.Json.Serialization.JsonPropertyName("product_list")]
public Types.Product[] ProductList { get; set; } = default!;
}
}

View File

@@ -0,0 +1,22 @@
namespace SKIT.FlurlHttpClient.Wechat.Api.Models
{
/// <summary>
/// <para>表示 [POST] /channels/ec/compass/shop/finder/product/overall/get 接口的请求。</para>
/// </summary>
public class ChannelsECCompassShopFinderProductOverallGetRequest : WechatApiRequest, IInferable<ChannelsECCompassShopFinderProductOverallGetRequest, ChannelsECCompassShopFinderProductOverallGetResponse>
{
/// <summary>
/// 获取或设置视频号 ID。
/// </summary>
[Newtonsoft.Json.JsonProperty("finder_id")]
[System.Text.Json.Serialization.JsonPropertyName("finder_id")]
public string FinderId { get; set; } = string.Empty;
/// <summary>
/// 获取或设置日期字符串格式yyyyMMdd
/// </summary>
[Newtonsoft.Json.JsonProperty("ds")]
[System.Text.Json.Serialization.JsonPropertyName("ds")]
public string DateString { get; set; } = string.Empty;
}
}

View File

@@ -0,0 +1,61 @@
namespace SKIT.FlurlHttpClient.Wechat.Api.Models
{
/// <summary>
/// <para>表示 [POST] /channels/ec/compass/shop/finder/product/overall/get 接口的响应。</para>
/// </summary>
public class ChannelsECCompassShopFinderProductOverallGetResponse : WechatApiResponse
{
public static class Types
{
public class Data
{
/// <summary>
/// 获取或设置成交金额(单位:分)。
/// </summary>
[Newtonsoft.Json.JsonProperty("pay_gmv")]
[System.Text.Json.Serialization.JsonPropertyName("pay_gmv")]
[System.Text.Json.Serialization.JsonNumberHandling(System.Text.Json.Serialization.JsonNumberHandling.AllowReadingFromString)]
public long PayGMV { get; set; }
/// <summary>
/// 获取或设置成交人数。
/// </summary>
[Newtonsoft.Json.JsonProperty("pay_uv")]
[System.Text.Json.Serialization.JsonPropertyName("pay_uv")]
[System.Text.Json.Serialization.JsonNumberHandling(System.Text.Json.Serialization.JsonNumberHandling.AllowReadingFromString)]
public int PayUV { get; set; }
/// <summary>
/// 获取或设置动销商品数。
/// </summary>
[Newtonsoft.Json.JsonProperty("pay_product_id_cnt")]
[System.Text.Json.Serialization.JsonPropertyName("pay_product_id_cnt")]
[System.Text.Json.Serialization.JsonNumberHandling(System.Text.Json.Serialization.JsonNumberHandling.AllowReadingFromString)]
public int PayProductCount { get; set; }
/// <summary>
/// 获取或设置成交退款金额(单位:分)。
/// </summary>
[Newtonsoft.Json.JsonProperty("pay_refund_gmv")]
[System.Text.Json.Serialization.JsonPropertyName("pay_refund_gmv")]
[System.Text.Json.Serialization.JsonNumberHandling(System.Text.Json.Serialization.JsonNumberHandling.AllowReadingFromString)]
public long PayRefundGMV { get; set; }
/// <summary>
/// 获取或设置退款金额(单位:分)。
/// </summary>
[Newtonsoft.Json.JsonProperty("refund_gmv")]
[System.Text.Json.Serialization.JsonPropertyName("refund_gmv")]
[System.Text.Json.Serialization.JsonNumberHandling(System.Text.Json.Serialization.JsonNumberHandling.AllowReadingFromString)]
public long RefundGMV { get; set; }
}
}
/// <summary>
/// 获取或设置返回数据。
/// </summary>
[Newtonsoft.Json.JsonProperty("data")]
[System.Text.Json.Serialization.JsonPropertyName("data")]
public Types.Data Data { get; set; } = default!;
}
}

View File

@@ -0,0 +1,22 @@
namespace SKIT.FlurlHttpClient.Wechat.Api.Models
{
/// <summary>
/// <para>表示 [POST] /channels/ec/compass/shop/live/list/get 接口的请求。</para>
/// </summary>
public class ChannelsECCompassShopLiveListGetRequest : WechatApiRequest, IInferable<ChannelsECCompassShopLiveListGetRequest, ChannelsECCompassShopLiveListGetResponse>
{
/// <summary>
/// 获取或设置视频号 ID。
/// </summary>
[Newtonsoft.Json.JsonProperty("finder_id")]
[System.Text.Json.Serialization.JsonPropertyName("finder_id")]
public string FinderId { get; set; } = string.Empty;
/// <summary>
/// 获取或设置日期字符串格式yyyyMMdd
/// </summary>
[Newtonsoft.Json.JsonProperty("ds")]
[System.Text.Json.Serialization.JsonPropertyName("ds")]
public string DateString { get; set; } = string.Empty;
}
}

View File

@@ -0,0 +1,58 @@
namespace SKIT.FlurlHttpClient.Wechat.Api.Models
{
/// <summary>
/// <para>表示 [POST] /channels/ec/compass/shop/live/list/get 接口的响应。</para>
/// </summary>
public class ChannelsECCompassShopLiveListGetResponse : WechatApiResponse
{
public static class Types
{
public class Live
{
/// <summary>
/// 获取或设置直播 ID。
/// </summary>
[Newtonsoft.Json.JsonProperty("live_id")]
[System.Text.Json.Serialization.JsonPropertyName("live_id")]
public string LiveId { get; set; } = default!;
/// <summary>
/// 获取或设置直播标题。
/// </summary>
[Newtonsoft.Json.JsonProperty("live_title")]
[System.Text.Json.Serialization.JsonPropertyName("live_title")]
public string LiveTitle { get; set; } = default!;
/// <summary>
/// 获取或设置开播时间戳。
/// </summary>
[Newtonsoft.Json.JsonProperty("live_time")]
[System.Text.Json.Serialization.JsonPropertyName("live_time")]
[System.Text.Json.Serialization.JsonNumberHandling(System.Text.Json.Serialization.JsonNumberHandling.AllowReadingFromString)]
public long LiveTimestamp { get; set; }
/// <summary>
/// 获取或设置直播时长(单位:秒)。
/// </summary>
[Newtonsoft.Json.JsonProperty("live_duration")]
[System.Text.Json.Serialization.JsonPropertyName("live_duration")]
[System.Text.Json.Serialization.JsonNumberHandling(System.Text.Json.Serialization.JsonNumberHandling.AllowReadingFromString)]
public int LiveDuration { get; set; }
/// <summary>
/// 获取或设置直播封面 URL。
/// </summary>
[Newtonsoft.Json.JsonProperty("live_cover_img_url")]
[System.Text.Json.Serialization.JsonPropertyName("live_cover_img_url")]
public string LiveCoverImageUrl { get; set; } = default!;
}
}
/// <summary>
/// 获取或设置直播列表。
/// </summary>
[Newtonsoft.Json.JsonProperty("live_list")]
[System.Text.Json.Serialization.JsonPropertyName("live_list")]
public Types.Live[] LiveList { get; set; } = default!;
}
}

View File

@@ -0,0 +1,15 @@
namespace SKIT.FlurlHttpClient.Wechat.Api.Models
{
/// <summary>
/// <para>表示 [POST] /channels/ec/compass/shop/overall/get 接口的请求。</para>
/// </summary>
public class ChannelsECCompassShopOverallGetRequest : WechatApiRequest, IInferable<ChannelsECCompassShopOverallGetRequest, ChannelsECCompassShopOverallGetResponse>
{
/// <summary>
/// 获取或设置日期字符串格式yyyyMMdd
/// </summary>
[Newtonsoft.Json.JsonProperty("ds")]
[System.Text.Json.Serialization.JsonPropertyName("ds")]
public string DateString { get; set; } = string.Empty;
}
}

View File

@@ -0,0 +1,69 @@
namespace SKIT.FlurlHttpClient.Wechat.Api.Models
{
/// <summary>
/// <para>表示 [POST] /channels/ec/compass/shop/overall/get 接口的响应。</para>
/// </summary>
public class ChannelsECCompassShopOverallGetResponse : WechatApiResponse
{
public static class Types
{
public class Data
{
/// <summary>
/// 获取或设置成交金额(单位:分)。
/// </summary>
[Newtonsoft.Json.JsonProperty("pay_gmv")]
[System.Text.Json.Serialization.JsonPropertyName("pay_gmv")]
[System.Text.Json.Serialization.JsonNumberHandling(System.Text.Json.Serialization.JsonNumberHandling.AllowReadingFromString)]
public long PayGMV { get; set; }
/// <summary>
/// 获取或设置成交人数。
/// </summary>
[Newtonsoft.Json.JsonProperty("pay_uv")]
[System.Text.Json.Serialization.JsonPropertyName("pay_uv")]
[System.Text.Json.Serialization.JsonNumberHandling(System.Text.Json.Serialization.JsonNumberHandling.AllowReadingFromString)]
public int PayUV { get; set; }
/// <summary>
/// 获取或设置成交退款金额(单位:分)。
/// </summary>
[Newtonsoft.Json.JsonProperty("pay_refund_gmv")]
[System.Text.Json.Serialization.JsonPropertyName("pay_refund_gmv")]
[System.Text.Json.Serialization.JsonNumberHandling(System.Text.Json.Serialization.JsonNumberHandling.AllowReadingFromString)]
public long PayRefundGMV { get; set; }
/// <summary>
/// 获取或设置成交订单数。
/// </summary>
[Newtonsoft.Json.JsonProperty("pay_order_cnt")]
[System.Text.Json.Serialization.JsonPropertyName("pay_order_cnt")]
[System.Text.Json.Serialization.JsonNumberHandling(System.Text.Json.Serialization.JsonNumberHandling.AllowReadingFromString)]
public int PayOrderCount { get; set; }
/// <summary>
/// 获取或设置直播成交金额(单位:分)。
/// </summary>
[Newtonsoft.Json.JsonProperty("live_pay_gmv")]
[System.Text.Json.Serialization.JsonPropertyName("live_pay_gmv")]
[System.Text.Json.Serialization.JsonNumberHandling(System.Text.Json.Serialization.JsonNumberHandling.AllowReadingFromString)]
public long LivePayGMV { get; set; }
/// <summary>
/// 获取或设置短视频成交金额(单位:分)。
/// </summary>
[Newtonsoft.Json.JsonProperty("feed_pay_gmv")]
[System.Text.Json.Serialization.JsonPropertyName("feed_pay_gmv")]
[System.Text.Json.Serialization.JsonNumberHandling(System.Text.Json.Serialization.JsonNumberHandling.AllowReadingFromString)]
public long FeedPayGMV { get; set; }
}
}
/// <summary>
/// 获取或设置返回数据。
/// </summary>
[Newtonsoft.Json.JsonProperty("data")]
[System.Text.Json.Serialization.JsonPropertyName("data")]
public Types.Data Data { get; set; } = default!;
}
}

View File

@@ -0,0 +1,22 @@
namespace SKIT.FlurlHttpClient.Wechat.Api.Models
{
/// <summary>
/// <para>表示 [POST] /channels/ec/compass/shop/product/data/get 接口的请求。</para>
/// </summary>
public class ChannelsECCompassShopProductDataGetRequest : WechatApiRequest, IInferable<ChannelsECCompassShopProductDataGetRequest, ChannelsECCompassShopProductDataGetResponse>
{
/// <summary>
/// 获取或设置商品 ID。
/// </summary>
[Newtonsoft.Json.JsonProperty("product_id")]
[System.Text.Json.Serialization.JsonPropertyName("product_id")]
public long ProductId { get; set; }
/// <summary>
/// 获取或设置日期字符串格式yyyyMMdd
/// </summary>
[Newtonsoft.Json.JsonProperty("ds")]
[System.Text.Json.Serialization.JsonPropertyName("ds")]
public string DateString { get; set; } = string.Empty;
}
}

View File

@@ -0,0 +1,22 @@
namespace SKIT.FlurlHttpClient.Wechat.Api.Models
{
/// <summary>
/// <para>表示 [POST] /channels/ec/compass/shop/product/data/get 接口的响应。</para>
/// </summary>
public class ChannelsECCompassShopProductDataGetResponse : WechatApiResponse
{
public static class Types
{
public class Product : ChannelsECCompassShopProductListGetResponse.Types.Product
{
}
}
/// <summary>
/// 获取或设置商品信息。
/// </summary>
[Newtonsoft.Json.JsonProperty("product_info")]
[System.Text.Json.Serialization.JsonPropertyName("product_info")]
public Types.Product Product { get; set; } = default!;
}
}

View File

@@ -0,0 +1,15 @@
namespace SKIT.FlurlHttpClient.Wechat.Api.Models
{
/// <summary>
/// <para>表示 [POST] /channels/ec/compass/shop/product/list/get 接口的请求。</para>
/// </summary>
public class ChannelsECCompassShopProductListGetRequest : WechatApiRequest, IInferable<ChannelsECCompassShopProductListGetRequest, ChannelsECCompassShopProductListGetResponse>
{
/// <summary>
/// 获取或设置日期字符串格式yyyyMMdd
/// </summary>
[Newtonsoft.Json.JsonProperty("ds")]
[System.Text.Json.Serialization.JsonPropertyName("ds")]
public string DateString { get; set; } = string.Empty;
}
}

View File

@@ -0,0 +1,336 @@
namespace SKIT.FlurlHttpClient.Wechat.Api.Models
{
/// <summary>
/// <para>表示 [POST] /channels/ec/compass/shop/product/list/get 接口的响应。</para>
/// </summary>
public class ChannelsECCompassShopProductListGetResponse : WechatApiResponse
{
public static class Types
{
public class Product
{
public static class Types
{
public class Data
{
/// <summary>
/// 获取或设置下单金额(单位:分)。
/// </summary>
[Newtonsoft.Json.JsonProperty("create_gmv")]
[System.Text.Json.Serialization.JsonPropertyName("create_gmv")]
[System.Text.Json.Serialization.JsonNumberHandling(System.Text.Json.Serialization.JsonNumberHandling.AllowReadingFromString)]
public long CreateGMV { get; set; }
/// <summary>
/// 获取或设置下单订单数。
/// </summary>
[Newtonsoft.Json.JsonProperty("create_cnt")]
[System.Text.Json.Serialization.JsonPropertyName("create_cnt")]
[System.Text.Json.Serialization.JsonNumberHandling(System.Text.Json.Serialization.JsonNumberHandling.AllowReadingFromString)]
public int CreateCount { get; set; }
/// <summary>
/// 获取或设置下单人数。
/// </summary>
[Newtonsoft.Json.JsonProperty("create_uv")]
[System.Text.Json.Serialization.JsonPropertyName("create_uv")]
[System.Text.Json.Serialization.JsonNumberHandling(System.Text.Json.Serialization.JsonNumberHandling.AllowReadingFromString)]
public int CreateUV { get; set; }
/// <summary>
/// 获取或设置下单件数。
/// </summary>
[Newtonsoft.Json.JsonProperty("create_product_cnt")]
[System.Text.Json.Serialization.JsonPropertyName("create_product_cnt")]
[System.Text.Json.Serialization.JsonNumberHandling(System.Text.Json.Serialization.JsonNumberHandling.AllowReadingFromString)]
public int CreateProductCount { get; set; }
/// <summary>
/// 获取或设置成交金额(单位:分)。
/// </summary>
[Newtonsoft.Json.JsonProperty("pay_gmv")]
[System.Text.Json.Serialization.JsonPropertyName("pay_gmv")]
[System.Text.Json.Serialization.JsonNumberHandling(System.Text.Json.Serialization.JsonNumberHandling.AllowReadingFromString)]
public long PayGMV { get; set; }
/// <summary>
/// 获取或设置成交订单数。
/// </summary>
[Newtonsoft.Json.JsonProperty("pay_cnt")]
[System.Text.Json.Serialization.JsonPropertyName("pay_cnt")]
[System.Text.Json.Serialization.JsonNumberHandling(System.Text.Json.Serialization.JsonNumberHandling.AllowReadingFromString)]
public int PayCount { get; set; }
/// <summary>
/// 获取或设置成交人数。
/// </summary>
[Newtonsoft.Json.JsonProperty("pay_uv")]
[System.Text.Json.Serialization.JsonPropertyName("pay_uv")]
[System.Text.Json.Serialization.JsonNumberHandling(System.Text.Json.Serialization.JsonNumberHandling.AllowReadingFromString)]
public int PayUV { get; set; }
/// <summary>
/// 获取或设置成交件数。
/// </summary>
[Newtonsoft.Json.JsonProperty("pay_product_cnt")]
[System.Text.Json.Serialization.JsonPropertyName("pay_product_cnt")]
[System.Text.Json.Serialization.JsonNumberHandling(System.Text.Json.Serialization.JsonNumberHandling.AllowReadingFromString)]
public int PayProductCount { get; set; }
/// <summary>
/// 获取或设置净成交金额(单位:分)。
/// </summary>
[Newtonsoft.Json.JsonProperty("pure_pay_gmv")]
[System.Text.Json.Serialization.JsonPropertyName("pure_pay_gmv")]
[System.Text.Json.Serialization.JsonNumberHandling(System.Text.Json.Serialization.JsonNumberHandling.AllowReadingFromString)]
public long PurePayGMV { get; set; }
/// <summary>
/// 获取或设置净成交客单价(单位:分)。
/// </summary>
[Newtonsoft.Json.JsonProperty("pay_gmv_per_uv")]
[System.Text.Json.Serialization.JsonPropertyName("pay_gmv_per_uv")]
[System.Text.Json.Serialization.JsonNumberHandling(System.Text.Json.Serialization.JsonNumberHandling.AllowReadingFromString)]
public long PurePayGMVPerUV { get; set; }
/// <summary>
/// 获取或设置成交退款金额(单位:分)。
/// </summary>
[Newtonsoft.Json.JsonProperty("pay_refund_gmv")]
[System.Text.Json.Serialization.JsonPropertyName("pay_refund_gmv")]
[System.Text.Json.Serialization.JsonNumberHandling(System.Text.Json.Serialization.JsonNumberHandling.AllowReadingFromString)]
public long PayRefundGMV { get; set; }
/// <summary>
/// 获取或设置成交退款人数。
/// </summary>
[Newtonsoft.Json.JsonProperty("pay_refund_uv")]
[System.Text.Json.Serialization.JsonPropertyName("pay_refund_uv")]
[System.Text.Json.Serialization.JsonNumberHandling(System.Text.Json.Serialization.JsonNumberHandling.AllowReadingFromString)]
public int PayRefundUV { get; set; }
/// <summary>
/// 获取或设置成交退款率(单位:百分数)。
/// </summary>
[Newtonsoft.Json.JsonProperty("pay_refund_ratio")]
[System.Text.Json.Serialization.JsonPropertyName("pay_refund_ratio")]
[System.Text.Json.Serialization.JsonNumberHandling(System.Text.Json.Serialization.JsonNumberHandling.AllowReadingFromString)]
public decimal PayRefundRatio { get; set; }
/// <summary>
/// 获取或设置发货后成交退款率(单位:百分数)。
/// </summary>
[Newtonsoft.Json.JsonProperty("pay_refund_after_send_ratio")]
[System.Text.Json.Serialization.JsonPropertyName("pay_refund_after_send_ratio")]
[System.Text.Json.Serialization.JsonNumberHandling(System.Text.Json.Serialization.JsonNumberHandling.AllowReadingFromString)]
public decimal PayRefundAfterSendRatio { get; set; }
/// <summary>
/// 获取或设置成交退款订单数。
/// </summary>
[Newtonsoft.Json.JsonProperty("pay_refund_cnt")]
[System.Text.Json.Serialization.JsonPropertyName("pay_refund_cnt")]
[System.Text.Json.Serialization.JsonNumberHandling(System.Text.Json.Serialization.JsonNumberHandling.AllowReadingFromString)]
public int PayRefundCount { get; set; }
/// <summary>
/// 获取或设置成交退款件数。
/// </summary>
[Newtonsoft.Json.JsonProperty("pay_refund_product_cnt")]
[System.Text.Json.Serialization.JsonPropertyName("pay_refund_product_cnt")]
[System.Text.Json.Serialization.JsonNumberHandling(System.Text.Json.Serialization.JsonNumberHandling.AllowReadingFromString)]
public int PayRefundProductCount { get; set; }
/// <summary>
/// 获取或设置发货前成交退款率(单位:百分数)。
/// </summary>
[Newtonsoft.Json.JsonProperty("pay_refund_before_send_ratio")]
[System.Text.Json.Serialization.JsonPropertyName("pay_refund_before_send_ratio")]
[System.Text.Json.Serialization.JsonNumberHandling(System.Text.Json.Serialization.JsonNumberHandling.AllowReadingFromString)]
public decimal PayRefundBeforeSendRatio { get; set; }
/// <summary>
/// 获取或设置退款金额(单位:分)。
/// </summary>
[Newtonsoft.Json.JsonProperty("refund_gmv")]
[System.Text.Json.Serialization.JsonPropertyName("refund_gmv")]
[System.Text.Json.Serialization.JsonNumberHandling(System.Text.Json.Serialization.JsonNumberHandling.AllowReadingFromString)]
public long RefundGMV { get; set; }
/// <summary>
/// 获取或设置退款人数。
/// </summary>
[Newtonsoft.Json.JsonProperty("refund_uv")]
[System.Text.Json.Serialization.JsonPropertyName("refund_uv")]
[System.Text.Json.Serialization.JsonNumberHandling(System.Text.Json.Serialization.JsonNumberHandling.AllowReadingFromString)]
public int RefundUV { get; set; }
/// <summary>
/// 获取或设置退款订单数。
/// </summary>
[Newtonsoft.Json.JsonProperty("refund_cnt")]
[System.Text.Json.Serialization.JsonPropertyName("refund_cnt")]
[System.Text.Json.Serialization.JsonNumberHandling(System.Text.Json.Serialization.JsonNumberHandling.AllowReadingFromString)]
public int RefundCount { get; set; }
/// <summary>
/// 获取或设置退款件数。
/// </summary>
[Newtonsoft.Json.JsonProperty("refund_product_cnt")]
[System.Text.Json.Serialization.JsonPropertyName("refund_product_cnt")]
[System.Text.Json.Serialization.JsonNumberHandling(System.Text.Json.Serialization.JsonNumberHandling.AllowReadingFromString)]
public int RefundProductCount { get; set; }
/// <summary>
/// 获取或设置商品点击人数。
/// </summary>
[Newtonsoft.Json.JsonProperty("product_click_uv")]
[System.Text.Json.Serialization.JsonPropertyName("product_click_uv")]
[System.Text.Json.Serialization.JsonNumberHandling(System.Text.Json.Serialization.JsonNumberHandling.AllowReadingFromString)]
public int ProductClickUV { get; set; }
/// <summary>
/// 获取或设置商品点击次数。
/// </summary>
[Newtonsoft.Json.JsonProperty("product_click_cnt")]
[System.Text.Json.Serialization.JsonPropertyName("product_click_cnt")]
[System.Text.Json.Serialization.JsonNumberHandling(System.Text.Json.Serialization.JsonNumberHandling.AllowReadingFromString)]
public int ProductClickCount { get; set; }
/// <summary>
/// 获取或设置实际结算金额(单位:分)。
/// </summary>
[Newtonsoft.Json.JsonProperty("seller_actual_settle_amount")]
[System.Text.Json.Serialization.JsonPropertyName("seller_actual_settle_amount")]
[System.Text.Json.Serialization.JsonNumberHandling(System.Text.Json.Serialization.JsonNumberHandling.AllowReadingFromString)]
public long SellerActualSettleAmount { get; set; }
/// <summary>
/// 获取或设置实际服务费金额(单位:分)。
/// </summary>
[Newtonsoft.Json.JsonProperty("platform_actual_commission")]
[System.Text.Json.Serialization.JsonPropertyName("platform_actual_commission")]
[System.Text.Json.Serialization.JsonNumberHandling(System.Text.Json.Serialization.JsonNumberHandling.AllowReadingFromString)]
public long PlatformActualCommission { get; set; }
/// <summary>
/// 获取或设置实际达人佣金支出(单位:分)。
/// </summary>
[Newtonsoft.Json.JsonProperty("finderuin_actual_commission")]
[System.Text.Json.Serialization.JsonPropertyName("finderuin_actual_commission")]
[System.Text.Json.Serialization.JsonNumberHandling(System.Text.Json.Serialization.JsonNumberHandling.AllowReadingFromString)]
public long FinderActualCommission { get; set; }
/// <summary>
/// 获取或设置实际团长佣金支出(单位:分)。
/// </summary>
[Newtonsoft.Json.JsonProperty("captain_actual_commission")]
[System.Text.Json.Serialization.JsonPropertyName("captain_actual_commission")]
[System.Text.Json.Serialization.JsonNumberHandling(System.Text.Json.Serialization.JsonNumberHandling.AllowReadingFromString)]
public long CaptainActualCommission { get; set; }
/// <summary>
/// 获取或设置预估结算金额(单位:分)。
/// </summary>
[Newtonsoft.Json.JsonProperty("seller_predict_settle_amount")]
[System.Text.Json.Serialization.JsonPropertyName("seller_predict_settle_amount")]
[System.Text.Json.Serialization.JsonNumberHandling(System.Text.Json.Serialization.JsonNumberHandling.AllowReadingFromString)]
public long SellerPredictSettleAmount { get; set; }
/// <summary>
/// 获取或设置预估服务费金额(单位:分)。
/// </summary>
[Newtonsoft.Json.JsonProperty("platform_predict_commission")]
[System.Text.Json.Serialization.JsonPropertyName("platform_predict_commission")]
[System.Text.Json.Serialization.JsonNumberHandling(System.Text.Json.Serialization.JsonNumberHandling.AllowReadingFromString)]
public long PlatformPredictCommission { get; set; }
/// <summary>
/// 获取或设置预估达人佣金支出(单位:分)。
/// </summary>
[Newtonsoft.Json.JsonProperty("finderuin_predict_commission")]
[System.Text.Json.Serialization.JsonPropertyName("finderuin_predict_commission")]
[System.Text.Json.Serialization.JsonNumberHandling(System.Text.Json.Serialization.JsonNumberHandling.AllowReadingFromString)]
public long FinderuinPredictCommission { get; set; }
/// <summary>
/// 获取或设置预估团长佣金支出(单位:分)。
/// </summary>
[Newtonsoft.Json.JsonProperty("captain_predict_commission")]
[System.Text.Json.Serialization.JsonPropertyName("captain_predict_commission")]
[System.Text.Json.Serialization.JsonNumberHandling(System.Text.Json.Serialization.JsonNumberHandling.AllowReadingFromString)]
public long CaptainPredictCommission { get; set; }
}
}
/// <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("title")]
[System.Text.Json.Serialization.JsonPropertyName("title")]
public string Title { get; set; } = default!;
/// <summary>
/// 获取或设置商品头图 URL。
/// </summary>
[Newtonsoft.Json.JsonProperty("head_img_url")]
[System.Text.Json.Serialization.JsonPropertyName("head_img_url")]
public string HeadImageUrl { get; set; } = default!;
/// <summary>
/// 获取或设置商品价格(单位:分)。
/// </summary>
[Newtonsoft.Json.JsonProperty("price")]
[System.Text.Json.Serialization.JsonPropertyName("price")]
[System.Text.Json.Serialization.JsonNumberHandling(System.Text.Json.Serialization.JsonNumberHandling.AllowReadingFromString)]
public int Price { get; set; }
/// <summary>
/// 获取或设置一级分类 ID。
/// </summary>
[Newtonsoft.Json.JsonProperty("first_category_id")]
[System.Text.Json.Serialization.JsonPropertyName("first_category_id")]
[System.Text.Json.Serialization.JsonNumberHandling(System.Text.Json.Serialization.JsonNumberHandling.AllowReadingFromString)]
public long FirstCategoryId { get; set; }
/// <summary>
/// 获取或设置二级分类 ID。
/// </summary>
[Newtonsoft.Json.JsonProperty("second_category_id")]
[System.Text.Json.Serialization.JsonPropertyName("second_category_id")]
[System.Text.Json.Serialization.JsonNumberHandling(System.Text.Json.Serialization.JsonNumberHandling.AllowReadingFromString)]
public long SecondCategoryId { get; set; }
/// <summary>
/// 获取或设置三级分类 ID。
/// </summary>
[Newtonsoft.Json.JsonProperty("third_category_id")]
[System.Text.Json.Serialization.JsonPropertyName("third_category_id")]
[System.Text.Json.Serialization.JsonNumberHandling(System.Text.Json.Serialization.JsonNumberHandling.AllowReadingFromString)]
public long ThirdCategoryId { get; set; }
/// <summary>
/// 获取或设置统计数据。
/// </summary>
[Newtonsoft.Json.JsonProperty("data")]
[System.Text.Json.Serialization.JsonPropertyName("data")]
public Types.Data Data { get; set; } = default!;
}
}
/// <summary>
/// 获取或设置商品列表。
/// </summary>
[Newtonsoft.Json.JsonProperty("product_list")]
[System.Text.Json.Serialization.JsonPropertyName("product_list")]
public Types.Product[] ProductList { get; set; } = default!;
}
}

View File

@@ -0,0 +1,22 @@
namespace SKIT.FlurlHttpClient.Wechat.Api.Models
{
/// <summary>
/// <para>表示 [POST] /channels/ec/compass/shop/sale/profile/data/get 接口的请求。</para>
/// </summary>
public class ChannelsECCompassShopSaleProfileDataGetRequest : WechatApiRequest, IInferable<ChannelsECCompassShopSaleProfileDataGetRequest, ChannelsECCompassShopSaleProfileDataGetResponse>
{
/// <summary>
/// 获取或设置用户类型。
/// </summary>
[Newtonsoft.Json.JsonProperty("type")]
[System.Text.Json.Serialization.JsonPropertyName("type")]
public int Type { get; set; }
/// <summary>
/// 获取或设置日期字符串格式yyyyMMdd
/// </summary>
[Newtonsoft.Json.JsonProperty("ds")]
[System.Text.Json.Serialization.JsonPropertyName("ds")]
public string DateString { get; set; } = string.Empty;
}
}

View File

@@ -0,0 +1,69 @@
namespace SKIT.FlurlHttpClient.Wechat.Api.Models
{
/// <summary>
/// <para>表示 [POST] /channels/ec/compass/shop/sale/profile/data/get 接口的响应。</para>
/// </summary>
public class ChannelsECCompassShopSaleProfileDataGetResponse : WechatApiResponse
{
public static class Types
{
public class Data
{
public static class Types
{
public class Field
{
public static class Types
{
public class Dimension
{
/// <summary>
/// 获取或设置维度指标名。
/// </summary>
[Newtonsoft.Json.JsonProperty("dim_key")]
[System.Text.Json.Serialization.JsonPropertyName("dim_key")]
public string Key { get; set; } = default!;
/// <summary>
/// 获取或设置维度指标值。
/// </summary>
[Newtonsoft.Json.JsonProperty("dim_value")]
[System.Text.Json.Serialization.JsonPropertyName("dim_value")]
[System.Text.Json.Serialization.JsonNumberHandling(System.Text.Json.Serialization.JsonNumberHandling.AllowReadingFromString)]
public decimal Value { get; set; }
}
}
/// <summary>
/// 获取或设置维度类别名。
/// </summary>
[Newtonsoft.Json.JsonProperty("field_name")]
[System.Text.Json.Serialization.JsonPropertyName("field_name")]
public string FieldName { get; set; } = default!;
/// <summary>
/// 获取或设置维度指标列表。
/// </summary>
[Newtonsoft.Json.JsonProperty("data_list")]
[System.Text.Json.Serialization.JsonPropertyName("data_list")]
public Types.Dimension[] DimensionList { get; set; } = default!;
}
}
/// <summary>
/// 获取或设置维度类别列表。
/// </summary>
[Newtonsoft.Json.JsonProperty("field_list")]
[System.Text.Json.Serialization.JsonPropertyName("field_list")]
public Types.Field[] FieldList { get; set; } = default!;
}
}
/// <summary>
/// 获取或设置返回数据。
/// </summary>
[Newtonsoft.Json.JsonProperty("data")]
[System.Text.Json.Serialization.JsonPropertyName("data")]
public Types.Data Data { get; set; } = default!;
}
}

View File

@@ -15,20 +15,6 @@ namespace SKIT.FlurlHttpClient.Wechat.Api.Models
{
public class Qualification : ChannelsECProductGetResponse.Types.Product.Types.Qualification
{
/// <summary>
/// 获取或设置资质 ID。
/// </summary>
[Newtonsoft.Json.JsonProperty("qua_id")]
[System.Text.Json.Serialization.JsonPropertyName("qua_id")]
[System.Text.Json.Serialization.JsonNumberHandling(System.Text.Json.Serialization.JsonNumberHandling.AllowReadingFromString)]
public long QualificationId { get; set; }
/// <summary>
/// 获取或设置资质图片 URL 列表。
/// </summary>
[Newtonsoft.Json.JsonProperty("qua_url")]
[System.Text.Json.Serialization.JsonPropertyName("qua_url")]
public string[] PictureUrlList { get; set; } = default!;
}
public class MiniProgramPage