diff --git a/src/SKIT.FlurlHttpClient.Wechat.Api/Extensions/WechatApiClientExecuteChannelsExtensions.cs b/src/SKIT.FlurlHttpClient.Wechat.Api/Extensions/WechatApiClientExecuteChannelsExtensions.cs index 0dff2ed3..206bb39d 100644 --- a/src/SKIT.FlurlHttpClient.Wechat.Api/Extensions/WechatApiClientExecuteChannelsExtensions.cs +++ b/src/SKIT.FlurlHttpClient.Wechat.Api/Extensions/WechatApiClientExecuteChannelsExtensions.cs @@ -736,6 +736,238 @@ namespace SKIT.FlurlHttpClient.Wechat.Api } #endregion + #region ECCompass + /// + /// 异步调用 [POST] /channels/ec/compass/shop/overall/get 接口。 + /// + /// REF:
+ /// + ///
+ ///
+ /// + /// + /// + /// + public static async Task 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(flurlReq, data: request, cancellationToken: cancellationToken).ConfigureAwait(false); + } + + /// + /// 异步调用 [POST] /channels/ec/compass/shop/finder/authorization/list/get 接口。 + /// + /// REF:
+ /// + ///
+ ///
+ /// + /// + /// + /// + public static async Task 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(flurlReq, data: request, cancellationToken: cancellationToken).ConfigureAwait(false); + } + + /// + /// 异步调用 [POST] /channels/ec/compass/shop/finder/list/get 接口。 + /// + /// REF:
+ /// + ///
+ ///
+ /// + /// + /// + /// + public static async Task 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(flurlReq, data: request, cancellationToken: cancellationToken).ConfigureAwait(false); + } + + /// + /// 异步调用 [POST] /channels/ec/compass/shop/finder/overall/get 接口。 + /// + /// REF:
+ /// + ///
+ ///
+ /// + /// + /// + /// + public static async Task 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(flurlReq, data: request, cancellationToken: cancellationToken).ConfigureAwait(false); + } + + /// + /// 异步调用 [POST] /channels/ec/compass/shop/finder/product/list/get 接口。 + /// + /// REF:
+ /// + ///
+ ///
+ /// + /// + /// + /// + public static async Task 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(flurlReq, data: request, cancellationToken: cancellationToken).ConfigureAwait(false); + } + + /// + /// 异步调用 [POST] /channels/ec/compass/shop/finder/product/overall/get 接口。 + /// + /// REF:
+ /// + ///
+ ///
+ /// + /// + /// + /// + public static async Task 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(flurlReq, data: request, cancellationToken: cancellationToken).ConfigureAwait(false); + } + + /// + /// 异步调用 [POST] /channels/ec/compass/shop/live/list/get 接口。 + /// + /// REF:
+ /// + ///
+ ///
+ /// + /// + /// + /// + public static async Task 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(flurlReq, data: request, cancellationToken: cancellationToken).ConfigureAwait(false); + } + + /// + /// 异步调用 [POST] /channels/ec/compass/shop/product/list/get 接口。 + /// + /// REF:
+ /// + ///
+ ///
+ /// + /// + /// + /// + public static async Task 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(flurlReq, data: request, cancellationToken: cancellationToken).ConfigureAwait(false); + } + + /// + /// 异步调用 [POST] /channels/ec/compass/shop/product/data/get 接口。 + /// + /// REF:
+ /// + ///
+ ///
+ /// + /// + /// + /// + public static async Task 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(flurlReq, data: request, cancellationToken: cancellationToken).ConfigureAwait(false); + } + + /// + /// 异步调用 [POST] /channels/ec/compass/shop/sale/profile/data/get 接口。 + /// + /// REF:
+ /// + ///
+ ///
+ /// + /// + /// + /// + public static async Task 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(flurlReq, data: request, cancellationToken: cancellationToken).ConfigureAwait(false); + } + #endregion + #region ECCoupon /// /// 异步调用 [POST] /channels/ec/coupon/create 接口。 diff --git a/src/SKIT.FlurlHttpClient.Wechat.Api/Models/Channels/ECCompass/ChannelsECCompassShopFinderAuthorizationListGetRequest.cs b/src/SKIT.FlurlHttpClient.Wechat.Api/Models/Channels/ECCompass/ChannelsECCompassShopFinderAuthorizationListGetRequest.cs new file mode 100644 index 00000000..7ccd0420 --- /dev/null +++ b/src/SKIT.FlurlHttpClient.Wechat.Api/Models/Channels/ECCompass/ChannelsECCompassShopFinderAuthorizationListGetRequest.cs @@ -0,0 +1,9 @@ +namespace SKIT.FlurlHttpClient.Wechat.Api.Models +{ + /// + /// 表示 [POST] /channels/ec/compass/shop/finder/authorization/list/get 接口的请求。 + /// + public class ChannelsECCompassShopFinderAuthorizationListGetRequest : WechatApiRequest, IInferable + { + } +} diff --git a/src/SKIT.FlurlHttpClient.Wechat.Api/Models/Channels/ECCompass/ChannelsECCompassShopFinderAuthorizationListGetResponse.cs b/src/SKIT.FlurlHttpClient.Wechat.Api/Models/Channels/ECCompass/ChannelsECCompassShopFinderAuthorizationListGetResponse.cs new file mode 100644 index 00000000..91cc0f91 --- /dev/null +++ b/src/SKIT.FlurlHttpClient.Wechat.Api/Models/Channels/ECCompass/ChannelsECCompassShopFinderAuthorizationListGetResponse.cs @@ -0,0 +1,22 @@ +namespace SKIT.FlurlHttpClient.Wechat.Api.Models +{ + /// + /// 表示 [POST] /channels/ec/compass/shop/finder/authorization/list/get 接口的响应。 + /// + public class ChannelsECCompassShopFinderAuthorizationListGetResponse : WechatApiResponse + { + /// + /// 获取或设置主营视频号 ID。 + /// + [Newtonsoft.Json.JsonProperty("main_finder_id")] + [System.Text.Json.Serialization.JsonPropertyName("main_finder_id")] + public string MainFinderId { get; set; } = default!; + + /// + /// 获取或设置授权视频号 ID 列表。 + /// + [Newtonsoft.Json.JsonProperty("authorized_finder_id_list")] + [System.Text.Json.Serialization.JsonPropertyName("authorized_finder_id_list")] + public string[]? AuthorizedFinderIdList { get; set; } + } +} diff --git a/src/SKIT.FlurlHttpClient.Wechat.Api/Models/Channels/ECCompass/ChannelsECCompassShopFinderListGetRequest.cs b/src/SKIT.FlurlHttpClient.Wechat.Api/Models/Channels/ECCompass/ChannelsECCompassShopFinderListGetRequest.cs new file mode 100644 index 00000000..bb996726 --- /dev/null +++ b/src/SKIT.FlurlHttpClient.Wechat.Api/Models/Channels/ECCompass/ChannelsECCompassShopFinderListGetRequest.cs @@ -0,0 +1,15 @@ +namespace SKIT.FlurlHttpClient.Wechat.Api.Models +{ + /// + /// 表示 [POST] /channels/ec/compass/shop/finder/list/get 接口的请求。 + /// + public class ChannelsECCompassShopFinderListGetRequest : WechatApiRequest, IInferable + { + /// + /// 获取或设置日期字符串(格式:yyyyMMdd)。 + /// + [Newtonsoft.Json.JsonProperty("ds")] + [System.Text.Json.Serialization.JsonPropertyName("ds")] + public string DateString { get; set; } = string.Empty; + } +} diff --git a/src/SKIT.FlurlHttpClient.Wechat.Api/Models/Channels/ECCompass/ChannelsECCompassShopFinderListGetResponse.cs b/src/SKIT.FlurlHttpClient.Wechat.Api/Models/Channels/ECCompass/ChannelsECCompassShopFinderListGetResponse.cs new file mode 100644 index 00000000..4ba98ca5 --- /dev/null +++ b/src/SKIT.FlurlHttpClient.Wechat.Api/Models/Channels/ECCompass/ChannelsECCompassShopFinderListGetResponse.cs @@ -0,0 +1,88 @@ +namespace SKIT.FlurlHttpClient.Wechat.Api.Models +{ + /// + /// 表示 [POST] /channels/ec/compass/shop/finder/list/get 接口的响应。 + /// + public class ChannelsECCompassShopFinderListGetResponse : WechatApiResponse + { + public static class Types + { + public class Finder + { + public static class Types + { + public class Data + { + /// + /// 获取或设置成交金额(单位:分)。 + /// + [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; } + + /// + /// 获取或设置成交人数。 + /// + [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; } + + /// + /// 获取或设置成交退款金额(单位:分)。 + /// + [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; } + + /// + /// 获取或设置动销商品数。 + /// + [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; } + + /// + /// 获取或设置退款金额(单位:分)。 + /// + [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; } + } + } + + /// + /// 获取或设置视频号 ID。 + /// + [Newtonsoft.Json.JsonProperty("finder_id")] + [System.Text.Json.Serialization.JsonPropertyName("finder_id")] + public string FinderId { get; set; } = default!; + + /// + /// 获取或设置视频号昵称。 + /// + [Newtonsoft.Json.JsonProperty("finder_nickname")] + [System.Text.Json.Serialization.JsonPropertyName("finder_nickname")] + public string FinderNickname { get; set; } = default!; + + /// + /// 获取或设置统计数据。 + /// + [Newtonsoft.Json.JsonProperty("data")] + [System.Text.Json.Serialization.JsonPropertyName("data")] + public Types.Data Data { get; set; } = default!; + } + } + + /// + /// 获取或设置视频号列表。 + /// + [Newtonsoft.Json.JsonProperty("finder_list")] + [System.Text.Json.Serialization.JsonPropertyName("finder_list")] + public Types.Finder[] FinderList { get; set; } = default!; + } +} diff --git a/src/SKIT.FlurlHttpClient.Wechat.Api/Models/Channels/ECCompass/ChannelsECCompassShopFinderOverallGetRequest.cs b/src/SKIT.FlurlHttpClient.Wechat.Api/Models/Channels/ECCompass/ChannelsECCompassShopFinderOverallGetRequest.cs new file mode 100644 index 00000000..8745ff19 --- /dev/null +++ b/src/SKIT.FlurlHttpClient.Wechat.Api/Models/Channels/ECCompass/ChannelsECCompassShopFinderOverallGetRequest.cs @@ -0,0 +1,15 @@ +namespace SKIT.FlurlHttpClient.Wechat.Api.Models +{ + /// + /// 表示 [POST] /channels/ec/compass/shop/finder/overall/get 接口的请求。 + /// + public class ChannelsECCompassShopFinderOverallGetRequest : WechatApiRequest, IInferable + { + /// + /// 获取或设置日期字符串(格式:yyyyMMdd)。 + /// + [Newtonsoft.Json.JsonProperty("ds")] + [System.Text.Json.Serialization.JsonPropertyName("ds")] + public string DateString { get; set; } = string.Empty; + } +} diff --git a/src/SKIT.FlurlHttpClient.Wechat.Api/Models/Channels/ECCompass/ChannelsECCompassShopFinderOverallGetResponse.cs b/src/SKIT.FlurlHttpClient.Wechat.Api/Models/Channels/ECCompass/ChannelsECCompassShopFinderOverallGetResponse.cs new file mode 100644 index 00000000..866bd802 --- /dev/null +++ b/src/SKIT.FlurlHttpClient.Wechat.Api/Models/Channels/ECCompass/ChannelsECCompassShopFinderOverallGetResponse.cs @@ -0,0 +1,53 @@ +namespace SKIT.FlurlHttpClient.Wechat.Api.Models +{ + /// + /// 表示 [POST] /channels/ec/compass/shop/finder/overall/get 接口的响应。 + /// + public class ChannelsECCompassShopFinderOverallGetResponse : WechatApiResponse + { + public static class Types + { + public class Data + { + /// + /// 获取或设置成交金额(单位:分)。 + /// + [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; } + + /// + /// 获取或设置动销达人数。 + /// + [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; } + + /// + /// 获取或设置动销商品数。 + /// + [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; } + + /// + /// 获取或设置点击成交转化率(单位:百分数)。 + /// + [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; } + } + } + + /// + /// 获取或设置返回数据。 + /// + [Newtonsoft.Json.JsonProperty("data")] + [System.Text.Json.Serialization.JsonPropertyName("data")] + public Types.Data Data { get; set; } = default!; + } +} diff --git a/src/SKIT.FlurlHttpClient.Wechat.Api/Models/Channels/ECCompass/ChannelsECCompassShopFinderProductListGetRequest.cs b/src/SKIT.FlurlHttpClient.Wechat.Api/Models/Channels/ECCompass/ChannelsECCompassShopFinderProductListGetRequest.cs new file mode 100644 index 00000000..0334d05a --- /dev/null +++ b/src/SKIT.FlurlHttpClient.Wechat.Api/Models/Channels/ECCompass/ChannelsECCompassShopFinderProductListGetRequest.cs @@ -0,0 +1,22 @@ +namespace SKIT.FlurlHttpClient.Wechat.Api.Models +{ + /// + /// 表示 [POST] /channels/ec/compass/shop/finder/product/list/get 接口的请求。 + /// + public class ChannelsECCompassShopFinderProductListGetRequest : WechatApiRequest, IInferable + { + /// + /// 获取或设置视频号 ID。 + /// + [Newtonsoft.Json.JsonProperty("finder_id")] + [System.Text.Json.Serialization.JsonPropertyName("finder_id")] + public string FinderId { get; set; } = string.Empty; + + /// + /// 获取或设置日期字符串(格式:yyyyMMdd)。 + /// + [Newtonsoft.Json.JsonProperty("ds")] + [System.Text.Json.Serialization.JsonPropertyName("ds")] + public string DateString { get; set; } = string.Empty; + } +} diff --git a/src/SKIT.FlurlHttpClient.Wechat.Api/Models/Channels/ECCompass/ChannelsECCompassShopFinderProductListGetResponse.cs b/src/SKIT.FlurlHttpClient.Wechat.Api/Models/Channels/ECCompass/ChannelsECCompassShopFinderProductListGetResponse.cs new file mode 100644 index 00000000..7fd4bbc4 --- /dev/null +++ b/src/SKIT.FlurlHttpClient.Wechat.Api/Models/Channels/ECCompass/ChannelsECCompassShopFinderProductListGetResponse.cs @@ -0,0 +1,104 @@ +namespace SKIT.FlurlHttpClient.Wechat.Api.Models +{ + /// + /// 表示 [POST] /channels/ec/compass/shop/finder/product/list/get 接口的响应。 + /// + public class ChannelsECCompassShopFinderProductListGetResponse : WechatApiResponse + { + public static class Types + { + public class Product + { + public static class Types + { + public class Data + { + /// + /// 获取或设置成交金额(单位:分)。 + /// + [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; } + + /// + /// 获取或设置佣金率。 + /// + [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; } + } + } + + /// + /// 获取或设置商品 ID。 + /// + [Newtonsoft.Json.JsonProperty("product_id")] + [System.Text.Json.Serialization.JsonPropertyName("product_id")] + [System.Text.Json.Serialization.JsonNumberHandling(System.Text.Json.Serialization.JsonNumberHandling.AllowReadingFromString)] + public long ProductId { get; set; } + + /// + /// 获取或设置商品标题。 + /// + [Newtonsoft.Json.JsonProperty("title")] + [System.Text.Json.Serialization.JsonPropertyName("title")] + public string Title { get; set; } = default!; + + /// + /// 获取或设置商品头图 URL。 + /// + [Newtonsoft.Json.JsonProperty("head_img_url")] + [System.Text.Json.Serialization.JsonPropertyName("head_img_url")] + public string HeadImageUrl { get; set; } = default!; + + /// + /// 获取或设置商品价格(单位:分)。 + /// + [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; } + + /// + /// 获取或设置一级分类 ID。 + /// + [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; } + + /// + /// 获取或设置二级分类 ID。 + /// + [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; } + + /// + /// 获取或设置三级分类 ID。 + /// + [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; } + + /// + /// 获取或设置统计数据。 + /// + [Newtonsoft.Json.JsonProperty("data")] + [System.Text.Json.Serialization.JsonPropertyName("data")] + public Types.Data Data { get; set; } = default!; + } + } + + /// + /// 获取或设置商品列表。 + /// + [Newtonsoft.Json.JsonProperty("product_list")] + [System.Text.Json.Serialization.JsonPropertyName("product_list")] + public Types.Product[] ProductList { get; set; } = default!; + } +} diff --git a/src/SKIT.FlurlHttpClient.Wechat.Api/Models/Channels/ECCompass/ChannelsECCompassShopFinderProductOverallGetRequest.cs b/src/SKIT.FlurlHttpClient.Wechat.Api/Models/Channels/ECCompass/ChannelsECCompassShopFinderProductOverallGetRequest.cs new file mode 100644 index 00000000..fc915be5 --- /dev/null +++ b/src/SKIT.FlurlHttpClient.Wechat.Api/Models/Channels/ECCompass/ChannelsECCompassShopFinderProductOverallGetRequest.cs @@ -0,0 +1,22 @@ +namespace SKIT.FlurlHttpClient.Wechat.Api.Models +{ + /// + /// 表示 [POST] /channels/ec/compass/shop/finder/product/overall/get 接口的请求。 + /// + public class ChannelsECCompassShopFinderProductOverallGetRequest : WechatApiRequest, IInferable + { + /// + /// 获取或设置视频号 ID。 + /// + [Newtonsoft.Json.JsonProperty("finder_id")] + [System.Text.Json.Serialization.JsonPropertyName("finder_id")] + public string FinderId { get; set; } = string.Empty; + + /// + /// 获取或设置日期字符串(格式:yyyyMMdd)。 + /// + [Newtonsoft.Json.JsonProperty("ds")] + [System.Text.Json.Serialization.JsonPropertyName("ds")] + public string DateString { get; set; } = string.Empty; + } +} diff --git a/src/SKIT.FlurlHttpClient.Wechat.Api/Models/Channels/ECCompass/ChannelsECCompassShopFinderProductOverallGetResponse.cs b/src/SKIT.FlurlHttpClient.Wechat.Api/Models/Channels/ECCompass/ChannelsECCompassShopFinderProductOverallGetResponse.cs new file mode 100644 index 00000000..4967bc20 --- /dev/null +++ b/src/SKIT.FlurlHttpClient.Wechat.Api/Models/Channels/ECCompass/ChannelsECCompassShopFinderProductOverallGetResponse.cs @@ -0,0 +1,61 @@ +namespace SKIT.FlurlHttpClient.Wechat.Api.Models +{ + /// + /// 表示 [POST] /channels/ec/compass/shop/finder/product/overall/get 接口的响应。 + /// + public class ChannelsECCompassShopFinderProductOverallGetResponse : WechatApiResponse + { + public static class Types + { + public class Data + { + /// + /// 获取或设置成交金额(单位:分)。 + /// + [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; } + + /// + /// 获取或设置成交人数。 + /// + [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; } + + /// + /// 获取或设置动销商品数。 + /// + [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; } + + /// + /// 获取或设置成交退款金额(单位:分)。 + /// + [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; } + + /// + /// 获取或设置退款金额(单位:分)。 + /// + [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; } + } + } + + /// + /// 获取或设置返回数据。 + /// + [Newtonsoft.Json.JsonProperty("data")] + [System.Text.Json.Serialization.JsonPropertyName("data")] + public Types.Data Data { get; set; } = default!; + } +} diff --git a/src/SKIT.FlurlHttpClient.Wechat.Api/Models/Channels/ECCompass/ChannelsECCompassShopLiveListGetRequest.cs b/src/SKIT.FlurlHttpClient.Wechat.Api/Models/Channels/ECCompass/ChannelsECCompassShopLiveListGetRequest.cs new file mode 100644 index 00000000..68ddb438 --- /dev/null +++ b/src/SKIT.FlurlHttpClient.Wechat.Api/Models/Channels/ECCompass/ChannelsECCompassShopLiveListGetRequest.cs @@ -0,0 +1,22 @@ +namespace SKIT.FlurlHttpClient.Wechat.Api.Models +{ + /// + /// 表示 [POST] /channels/ec/compass/shop/live/list/get 接口的请求。 + /// + public class ChannelsECCompassShopLiveListGetRequest : WechatApiRequest, IInferable + { + /// + /// 获取或设置视频号 ID。 + /// + [Newtonsoft.Json.JsonProperty("finder_id")] + [System.Text.Json.Serialization.JsonPropertyName("finder_id")] + public string FinderId { get; set; } = string.Empty; + + /// + /// 获取或设置日期字符串(格式:yyyyMMdd)。 + /// + [Newtonsoft.Json.JsonProperty("ds")] + [System.Text.Json.Serialization.JsonPropertyName("ds")] + public string DateString { get; set; } = string.Empty; + } +} diff --git a/src/SKIT.FlurlHttpClient.Wechat.Api/Models/Channels/ECCompass/ChannelsECCompassShopLiveListGetResponse.cs b/src/SKIT.FlurlHttpClient.Wechat.Api/Models/Channels/ECCompass/ChannelsECCompassShopLiveListGetResponse.cs new file mode 100644 index 00000000..db1580d4 --- /dev/null +++ b/src/SKIT.FlurlHttpClient.Wechat.Api/Models/Channels/ECCompass/ChannelsECCompassShopLiveListGetResponse.cs @@ -0,0 +1,58 @@ +namespace SKIT.FlurlHttpClient.Wechat.Api.Models +{ + /// + /// 表示 [POST] /channels/ec/compass/shop/live/list/get 接口的响应。 + /// + public class ChannelsECCompassShopLiveListGetResponse : WechatApiResponse + { + public static class Types + { + public class Live + { + /// + /// 获取或设置直播 ID。 + /// + [Newtonsoft.Json.JsonProperty("live_id")] + [System.Text.Json.Serialization.JsonPropertyName("live_id")] + public string LiveId { get; set; } = default!; + + /// + /// 获取或设置直播标题。 + /// + [Newtonsoft.Json.JsonProperty("live_title")] + [System.Text.Json.Serialization.JsonPropertyName("live_title")] + public string LiveTitle { get; set; } = default!; + + /// + /// 获取或设置开播时间戳。 + /// + [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; } + + /// + /// 获取或设置直播时长(单位:秒)。 + /// + [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; } + + /// + /// 获取或设置直播封面 URL。 + /// + [Newtonsoft.Json.JsonProperty("live_cover_img_url")] + [System.Text.Json.Serialization.JsonPropertyName("live_cover_img_url")] + public string LiveCoverImageUrl { get; set; } = default!; + } + } + + /// + /// 获取或设置直播列表。 + /// + [Newtonsoft.Json.JsonProperty("live_list")] + [System.Text.Json.Serialization.JsonPropertyName("live_list")] + public Types.Live[] LiveList { get; set; } = default!; + } +} diff --git a/src/SKIT.FlurlHttpClient.Wechat.Api/Models/Channels/ECCompass/ChannelsECCompassShopOverallGetRequest.cs b/src/SKIT.FlurlHttpClient.Wechat.Api/Models/Channels/ECCompass/ChannelsECCompassShopOverallGetRequest.cs new file mode 100644 index 00000000..4fd326db --- /dev/null +++ b/src/SKIT.FlurlHttpClient.Wechat.Api/Models/Channels/ECCompass/ChannelsECCompassShopOverallGetRequest.cs @@ -0,0 +1,15 @@ +namespace SKIT.FlurlHttpClient.Wechat.Api.Models +{ + /// + /// 表示 [POST] /channels/ec/compass/shop/overall/get 接口的请求。 + /// + public class ChannelsECCompassShopOverallGetRequest : WechatApiRequest, IInferable + { + /// + /// 获取或设置日期字符串(格式:yyyyMMdd)。 + /// + [Newtonsoft.Json.JsonProperty("ds")] + [System.Text.Json.Serialization.JsonPropertyName("ds")] + public string DateString { get; set; } = string.Empty; + } +} diff --git a/src/SKIT.FlurlHttpClient.Wechat.Api/Models/Channels/ECCompass/ChannelsECCompassShopOverallGetResponse.cs b/src/SKIT.FlurlHttpClient.Wechat.Api/Models/Channels/ECCompass/ChannelsECCompassShopOverallGetResponse.cs new file mode 100644 index 00000000..43c0f37a --- /dev/null +++ b/src/SKIT.FlurlHttpClient.Wechat.Api/Models/Channels/ECCompass/ChannelsECCompassShopOverallGetResponse.cs @@ -0,0 +1,69 @@ +namespace SKIT.FlurlHttpClient.Wechat.Api.Models +{ + /// + /// 表示 [POST] /channels/ec/compass/shop/overall/get 接口的响应。 + /// + public class ChannelsECCompassShopOverallGetResponse : WechatApiResponse + { + public static class Types + { + public class Data + { + /// + /// 获取或设置成交金额(单位:分)。 + /// + [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; } + + /// + /// 获取或设置成交人数。 + /// + [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; } + + /// + /// 获取或设置成交退款金额(单位:分)。 + /// + [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; } + + /// + /// 获取或设置成交订单数。 + /// + [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; } + + /// + /// 获取或设置直播成交金额(单位:分)。 + /// + [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; } + + /// + /// 获取或设置短视频成交金额(单位:分)。 + /// + [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; } + } + } + + /// + /// 获取或设置返回数据。 + /// + [Newtonsoft.Json.JsonProperty("data")] + [System.Text.Json.Serialization.JsonPropertyName("data")] + public Types.Data Data { get; set; } = default!; + } +} diff --git a/src/SKIT.FlurlHttpClient.Wechat.Api/Models/Channels/ECCompass/ChannelsECCompassShopProductDataGetRequest.cs b/src/SKIT.FlurlHttpClient.Wechat.Api/Models/Channels/ECCompass/ChannelsECCompassShopProductDataGetRequest.cs new file mode 100644 index 00000000..d06be381 --- /dev/null +++ b/src/SKIT.FlurlHttpClient.Wechat.Api/Models/Channels/ECCompass/ChannelsECCompassShopProductDataGetRequest.cs @@ -0,0 +1,22 @@ +namespace SKIT.FlurlHttpClient.Wechat.Api.Models +{ + /// + /// 表示 [POST] /channels/ec/compass/shop/product/data/get 接口的请求。 + /// + public class ChannelsECCompassShopProductDataGetRequest : WechatApiRequest, IInferable + { + /// + /// 获取或设置商品 ID。 + /// + [Newtonsoft.Json.JsonProperty("product_id")] + [System.Text.Json.Serialization.JsonPropertyName("product_id")] + public long ProductId { get; set; } + + /// + /// 获取或设置日期字符串(格式:yyyyMMdd)。 + /// + [Newtonsoft.Json.JsonProperty("ds")] + [System.Text.Json.Serialization.JsonPropertyName("ds")] + public string DateString { get; set; } = string.Empty; + } +} diff --git a/src/SKIT.FlurlHttpClient.Wechat.Api/Models/Channels/ECCompass/ChannelsECCompassShopProductDataGetResponse.cs b/src/SKIT.FlurlHttpClient.Wechat.Api/Models/Channels/ECCompass/ChannelsECCompassShopProductDataGetResponse.cs new file mode 100644 index 00000000..c2efbcd9 --- /dev/null +++ b/src/SKIT.FlurlHttpClient.Wechat.Api/Models/Channels/ECCompass/ChannelsECCompassShopProductDataGetResponse.cs @@ -0,0 +1,22 @@ +namespace SKIT.FlurlHttpClient.Wechat.Api.Models +{ + /// + /// 表示 [POST] /channels/ec/compass/shop/product/data/get 接口的响应。 + /// + public class ChannelsECCompassShopProductDataGetResponse : WechatApiResponse + { + public static class Types + { + public class Product : ChannelsECCompassShopProductListGetResponse.Types.Product + { + } + } + + /// + /// 获取或设置商品信息。 + /// + [Newtonsoft.Json.JsonProperty("product_info")] + [System.Text.Json.Serialization.JsonPropertyName("product_info")] + public Types.Product Product { get; set; } = default!; + } +} diff --git a/src/SKIT.FlurlHttpClient.Wechat.Api/Models/Channels/ECCompass/ChannelsECCompassShopProductListGetRequest.cs b/src/SKIT.FlurlHttpClient.Wechat.Api/Models/Channels/ECCompass/ChannelsECCompassShopProductListGetRequest.cs new file mode 100644 index 00000000..f9fbd64e --- /dev/null +++ b/src/SKIT.FlurlHttpClient.Wechat.Api/Models/Channels/ECCompass/ChannelsECCompassShopProductListGetRequest.cs @@ -0,0 +1,15 @@ +namespace SKIT.FlurlHttpClient.Wechat.Api.Models +{ + /// + /// 表示 [POST] /channels/ec/compass/shop/product/list/get 接口的请求。 + /// + public class ChannelsECCompassShopProductListGetRequest : WechatApiRequest, IInferable + { + /// + /// 获取或设置日期字符串(格式:yyyyMMdd)。 + /// + [Newtonsoft.Json.JsonProperty("ds")] + [System.Text.Json.Serialization.JsonPropertyName("ds")] + public string DateString { get; set; } = string.Empty; + } +} diff --git a/src/SKIT.FlurlHttpClient.Wechat.Api/Models/Channels/ECCompass/ChannelsECCompassShopProductListGetResponse.cs b/src/SKIT.FlurlHttpClient.Wechat.Api/Models/Channels/ECCompass/ChannelsECCompassShopProductListGetResponse.cs new file mode 100644 index 00000000..889bda93 --- /dev/null +++ b/src/SKIT.FlurlHttpClient.Wechat.Api/Models/Channels/ECCompass/ChannelsECCompassShopProductListGetResponse.cs @@ -0,0 +1,336 @@ +namespace SKIT.FlurlHttpClient.Wechat.Api.Models +{ + /// + /// 表示 [POST] /channels/ec/compass/shop/product/list/get 接口的响应。 + /// + public class ChannelsECCompassShopProductListGetResponse : WechatApiResponse + { + public static class Types + { + public class Product + { + public static class Types + { + public class Data + { + /// + /// 获取或设置下单金额(单位:分)。 + /// + [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; } + + /// + /// 获取或设置下单订单数。 + /// + [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; } + + /// + /// 获取或设置下单人数。 + /// + [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; } + + /// + /// 获取或设置下单件数。 + /// + [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; } + + /// + /// 获取或设置成交金额(单位:分)。 + /// + [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; } + + /// + /// 获取或设置成交订单数。 + /// + [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; } + + /// + /// 获取或设置成交人数。 + /// + [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; } + + /// + /// 获取或设置成交件数。 + /// + [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; } + + /// + /// 获取或设置净成交金额(单位:分)。 + /// + [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; } + + /// + /// 获取或设置净成交客单价(单位:分)。 + /// + [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; } + + /// + /// 获取或设置成交退款金额(单位:分)。 + /// + [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; } + + /// + /// 获取或设置成交退款人数。 + /// + [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; } + + /// + /// 获取或设置成交退款率(单位:百分数)。 + /// + [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; } + + /// + /// 获取或设置发货后成交退款率(单位:百分数)。 + /// + [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; } + + /// + /// 获取或设置成交退款订单数。 + /// + [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; } + + /// + /// 获取或设置成交退款件数。 + /// + [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; } + + /// + /// 获取或设置发货前成交退款率(单位:百分数)。 + /// + [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; } + + /// + /// 获取或设置退款金额(单位:分)。 + /// + [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; } + + /// + /// 获取或设置退款人数。 + /// + [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; } + + /// + /// 获取或设置退款订单数。 + /// + [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; } + + /// + /// 获取或设置退款件数。 + /// + [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; } + + /// + /// 获取或设置商品点击人数。 + /// + [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; } + + /// + /// 获取或设置商品点击次数。 + /// + [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; } + + /// + /// 获取或设置实际结算金额(单位:分)。 + /// + [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; } + + /// + /// 获取或设置实际服务费金额(单位:分)。 + /// + [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; } + + /// + /// 获取或设置实际达人佣金支出(单位:分)。 + /// + [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; } + + /// + /// 获取或设置实际团长佣金支出(单位:分)。 + /// + [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; } + + /// + /// 获取或设置预估结算金额(单位:分)。 + /// + [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; } + + /// + /// 获取或设置预估服务费金额(单位:分)。 + /// + [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; } + + /// + /// 获取或设置预估达人佣金支出(单位:分)。 + /// + [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; } + + /// + /// 获取或设置预估团长佣金支出(单位:分)。 + /// + [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; } + } + } + + /// + /// 获取或设置商品 ID。 + /// + [Newtonsoft.Json.JsonProperty("product_id")] + [System.Text.Json.Serialization.JsonPropertyName("product_id")] + [System.Text.Json.Serialization.JsonNumberHandling(System.Text.Json.Serialization.JsonNumberHandling.AllowReadingFromString)] + public long ProductId { get; set; } + + /// + /// 获取或设置商品标题。 + /// + [Newtonsoft.Json.JsonProperty("title")] + [System.Text.Json.Serialization.JsonPropertyName("title")] + public string Title { get; set; } = default!; + + /// + /// 获取或设置商品头图 URL。 + /// + [Newtonsoft.Json.JsonProperty("head_img_url")] + [System.Text.Json.Serialization.JsonPropertyName("head_img_url")] + public string HeadImageUrl { get; set; } = default!; + + /// + /// 获取或设置商品价格(单位:分)。 + /// + [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; } + + /// + /// 获取或设置一级分类 ID。 + /// + [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; } + + /// + /// 获取或设置二级分类 ID。 + /// + [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; } + + /// + /// 获取或设置三级分类 ID。 + /// + [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; } + + /// + /// 获取或设置统计数据。 + /// + [Newtonsoft.Json.JsonProperty("data")] + [System.Text.Json.Serialization.JsonPropertyName("data")] + public Types.Data Data { get; set; } = default!; + } + } + + /// + /// 获取或设置商品列表。 + /// + [Newtonsoft.Json.JsonProperty("product_list")] + [System.Text.Json.Serialization.JsonPropertyName("product_list")] + public Types.Product[] ProductList { get; set; } = default!; + } +} diff --git a/src/SKIT.FlurlHttpClient.Wechat.Api/Models/Channels/ECCompass/ChannelsECCompassShopSaleProfileDataGetRequest.cs b/src/SKIT.FlurlHttpClient.Wechat.Api/Models/Channels/ECCompass/ChannelsECCompassShopSaleProfileDataGetRequest.cs new file mode 100644 index 00000000..fba6f9d4 --- /dev/null +++ b/src/SKIT.FlurlHttpClient.Wechat.Api/Models/Channels/ECCompass/ChannelsECCompassShopSaleProfileDataGetRequest.cs @@ -0,0 +1,22 @@ +namespace SKIT.FlurlHttpClient.Wechat.Api.Models +{ + /// + /// 表示 [POST] /channels/ec/compass/shop/sale/profile/data/get 接口的请求。 + /// + public class ChannelsECCompassShopSaleProfileDataGetRequest : WechatApiRequest, IInferable + { + /// + /// 获取或设置用户类型。 + /// + [Newtonsoft.Json.JsonProperty("type")] + [System.Text.Json.Serialization.JsonPropertyName("type")] + public int Type { get; set; } + + /// + /// 获取或设置日期字符串(格式:yyyyMMdd)。 + /// + [Newtonsoft.Json.JsonProperty("ds")] + [System.Text.Json.Serialization.JsonPropertyName("ds")] + public string DateString { get; set; } = string.Empty; + } +} diff --git a/src/SKIT.FlurlHttpClient.Wechat.Api/Models/Channels/ECCompass/ChannelsECCompassShopSaleProfileDataGetResponse.cs b/src/SKIT.FlurlHttpClient.Wechat.Api/Models/Channels/ECCompass/ChannelsECCompassShopSaleProfileDataGetResponse.cs new file mode 100644 index 00000000..7a219bb0 --- /dev/null +++ b/src/SKIT.FlurlHttpClient.Wechat.Api/Models/Channels/ECCompass/ChannelsECCompassShopSaleProfileDataGetResponse.cs @@ -0,0 +1,69 @@ +namespace SKIT.FlurlHttpClient.Wechat.Api.Models +{ + /// + /// 表示 [POST] /channels/ec/compass/shop/sale/profile/data/get 接口的响应。 + /// + 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 + { + /// + /// 获取或设置维度指标名。 + /// + [Newtonsoft.Json.JsonProperty("dim_key")] + [System.Text.Json.Serialization.JsonPropertyName("dim_key")] + public string Key { get; set; } = default!; + + /// + /// 获取或设置维度指标值。 + /// + [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; } + } + } + + /// + /// 获取或设置维度类别名。 + /// + [Newtonsoft.Json.JsonProperty("field_name")] + [System.Text.Json.Serialization.JsonPropertyName("field_name")] + public string FieldName { get; set; } = default!; + + /// + /// 获取或设置维度指标列表。 + /// + [Newtonsoft.Json.JsonProperty("data_list")] + [System.Text.Json.Serialization.JsonPropertyName("data_list")] + public Types.Dimension[] DimensionList { get; set; } = default!; + } + } + + /// + /// 获取或设置维度类别列表。 + /// + [Newtonsoft.Json.JsonProperty("field_list")] + [System.Text.Json.Serialization.JsonPropertyName("field_list")] + public Types.Field[] FieldList { get; set; } = default!; + } + } + + /// + /// 获取或设置返回数据。 + /// + [Newtonsoft.Json.JsonProperty("data")] + [System.Text.Json.Serialization.JsonPropertyName("data")] + public Types.Data Data { get; set; } = default!; + } +} diff --git a/src/SKIT.FlurlHttpClient.Wechat.Api/Models/Channels/ECProductLocalLife/ChannelsECProductLocalLifeGetResponse.cs b/src/SKIT.FlurlHttpClient.Wechat.Api/Models/Channels/ECProductLocalLife/ChannelsECProductLocalLifeGetResponse.cs index 6d538e28..7493b7a3 100644 --- a/src/SKIT.FlurlHttpClient.Wechat.Api/Models/Channels/ECProductLocalLife/ChannelsECProductLocalLifeGetResponse.cs +++ b/src/SKIT.FlurlHttpClient.Wechat.Api/Models/Channels/ECProductLocalLife/ChannelsECProductLocalLifeGetResponse.cs @@ -15,20 +15,6 @@ namespace SKIT.FlurlHttpClient.Wechat.Api.Models { public class Qualification : ChannelsECProductGetResponse.Types.Product.Types.Qualification { - /// - /// 获取或设置资质 ID。 - /// - [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; } - - /// - /// 获取或设置资质图片 URL 列表。 - /// - [Newtonsoft.Json.JsonProperty("qua_url")] - [System.Text.Json.Serialization.JsonPropertyName("qua_url")] - public string[] PictureUrlList { get; set; } = default!; } public class MiniProgramPage diff --git a/test/SKIT.FlurlHttpClient.Wechat.Api.UnitTests/ModelSamples/Channels/ECCompass/ChannelsECCompassShopFinderAuthorizationListGetResponse.json b/test/SKIT.FlurlHttpClient.Wechat.Api.UnitTests/ModelSamples/Channels/ECCompass/ChannelsECCompassShopFinderAuthorizationListGetResponse.json new file mode 100644 index 00000000..a4eec78c --- /dev/null +++ b/test/SKIT.FlurlHttpClient.Wechat.Api.UnitTests/ModelSamples/Channels/ECCompass/ChannelsECCompassShopFinderAuthorizationListGetResponse.json @@ -0,0 +1,39 @@ +{ + "errcode": 0, + "errmsg": "ok", + "main_finder_id": "sph5PZrwdkeP5b9", + "authorized_finder_id_list": [ + "sphHdmv44m7o7By", + "sphZcvmBmwlYQsk", + "sph3fRoGF796gWJ", + "sph8LA3rVb3Gopt", + "sphFNhwzQxdoNSG", + "sphygO5xLDz6bO3", + "sphFkQVLw32uaLu", + "sphdnVy6iaUfalM", + "spho5zWDBCq64s1", + "sphy1UPLuCZLmMg", + "sphnGggiUx2NPIy", + "sph314JvRkABCUD", + "sphQxLoWW6oatth", + "sph4NRTxJXSHEvw", + "sphIigpSEN0mDk0", + "sphANAlLHQUj2gw", + "sph60y5du5mH2eB", + "sphuaBLYM9Cmxfk", + "sphM65MzTm9P3PE", + "sphk10L8iTkmcEN", + "sphHlfnkRRPksWt", + "sphIuNhW7oPy4Li", + "sphdoKnbcfu7by8", + "sphMBRSGYdtVBXm", + "sphfGEwjl9ElT8Z", + "sphQlkK3JHGYJyI", + "spha76uI6KEzUCI", + "sphexpm7crM2PSP", + "sphJH3GbXgVn3nJ", + "sphCYiuJfqc5xm6", + "sphB6u8yhkxevgF", + "sphe4zMVlJrOw4A" + ] +} diff --git a/test/SKIT.FlurlHttpClient.Wechat.Api.UnitTests/ModelSamples/Channels/ECCompass/ChannelsECCompassShopFinderListGetRequest.json b/test/SKIT.FlurlHttpClient.Wechat.Api.UnitTests/ModelSamples/Channels/ECCompass/ChannelsECCompassShopFinderListGetRequest.json new file mode 100644 index 00000000..4751f548 --- /dev/null +++ b/test/SKIT.FlurlHttpClient.Wechat.Api.UnitTests/ModelSamples/Channels/ECCompass/ChannelsECCompassShopFinderListGetRequest.json @@ -0,0 +1,3 @@ +{ + "ds": "20240520" +} diff --git a/test/SKIT.FlurlHttpClient.Wechat.Api.UnitTests/ModelSamples/Channels/ECCompass/ChannelsECCompassShopFinderListGetResponse.json b/test/SKIT.FlurlHttpClient.Wechat.Api.UnitTests/ModelSamples/Channels/ECCompass/ChannelsECCompassShopFinderListGetResponse.json new file mode 100644 index 00000000..bfd2ff29 --- /dev/null +++ b/test/SKIT.FlurlHttpClient.Wechat.Api.UnitTests/ModelSamples/Channels/ECCompass/ChannelsECCompassShopFinderListGetResponse.json @@ -0,0 +1,39 @@ +{ + "errcode": 0, + "errmsg": "ok", + "finder_list": [ + { + "finder_id": "sphIEqMmbCyGrjd", + "finder_nickname": "momqw123456", + "data": { + "pay_gmv": "1", + "pay_product_id_cnt": "1", + "pay_uv": "1", + "refund_gmv": "0", + "pay_refund_gmv": "0" + } + }, + { + "finder_id": "sphAZh85q8DcOEx", + "finder_nickname": "小猫想养狸花小猫", + "data": { + "pay_gmv": "0", + "pay_product_id_cnt": "0", + "pay_uv": "0", + "refund_gmv": "0", + "pay_refund_gmv": "0" + } + }, + { + "finder_id": "spho6H66NXuU3wT", + "finder_nickname": "人间贩卖打工人", + "data": { + "pay_gmv": "0", + "pay_product_id_cnt": "0", + "pay_uv": "0", + "refund_gmv": "0", + "pay_refund_gmv": "0" + } + } + ] +} diff --git a/test/SKIT.FlurlHttpClient.Wechat.Api.UnitTests/ModelSamples/Channels/ECCompass/ChannelsECCompassShopFinderOverallGetRequest.json b/test/SKIT.FlurlHttpClient.Wechat.Api.UnitTests/ModelSamples/Channels/ECCompass/ChannelsECCompassShopFinderOverallGetRequest.json new file mode 100644 index 00000000..4751f548 --- /dev/null +++ b/test/SKIT.FlurlHttpClient.Wechat.Api.UnitTests/ModelSamples/Channels/ECCompass/ChannelsECCompassShopFinderOverallGetRequest.json @@ -0,0 +1,3 @@ +{ + "ds": "20240520" +} diff --git a/test/SKIT.FlurlHttpClient.Wechat.Api.UnitTests/ModelSamples/Channels/ECCompass/ChannelsECCompassShopFinderOverallGetResponse.json b/test/SKIT.FlurlHttpClient.Wechat.Api.UnitTests/ModelSamples/Channels/ECCompass/ChannelsECCompassShopFinderOverallGetResponse.json new file mode 100644 index 00000000..7bbfc83e --- /dev/null +++ b/test/SKIT.FlurlHttpClient.Wechat.Api.UnitTests/ModelSamples/Channels/ECCompass/ChannelsECCompassShopFinderOverallGetResponse.json @@ -0,0 +1,10 @@ +{ + "errcode": 0, + "errmsg": "ok", + "data": { + "pay_gmv": "0", + "pay_sales_finder_cnt": "0", + "pay_product_id_cnt": "0", + "click_to_pay_uv_ratio": 0.0 + } +} diff --git a/test/SKIT.FlurlHttpClient.Wechat.Api.UnitTests/ModelSamples/Channels/ECCompass/ChannelsECCompassShopFinderProductListGetRequest.json b/test/SKIT.FlurlHttpClient.Wechat.Api.UnitTests/ModelSamples/Channels/ECCompass/ChannelsECCompassShopFinderProductListGetRequest.json new file mode 100644 index 00000000..ac4abc8b --- /dev/null +++ b/test/SKIT.FlurlHttpClient.Wechat.Api.UnitTests/ModelSamples/Channels/ECCompass/ChannelsECCompassShopFinderProductListGetRequest.json @@ -0,0 +1,4 @@ +{ + "ds": "20240520", + "finder_id": "sphIEqMmbCyGrjd" +} diff --git a/test/SKIT.FlurlHttpClient.Wechat.Api.UnitTests/ModelSamples/Channels/ECCompass/ChannelsECCompassShopFinderProductListGetResponse.json b/test/SKIT.FlurlHttpClient.Wechat.Api.UnitTests/ModelSamples/Channels/ECCompass/ChannelsECCompassShopFinderProductListGetResponse.json new file mode 100644 index 00000000..e50173d3 --- /dev/null +++ b/test/SKIT.FlurlHttpClient.Wechat.Api.UnitTests/ModelSamples/Channels/ECCompass/ChannelsECCompassShopFinderProductListGetResponse.json @@ -0,0 +1,19 @@ +{ + "errcode": 0, + "errmsg": "ok", + "product_list": [ + { + "product_id": "10000105888088", + "head_img_url": "https://store.mp.video.tencent-cloud.com/161/20304/snscosdownload/SZ/reserved/6618aeb0000bbf460ac33a13e568bc1e000000a000004f50?imageView2/1/w/800/h/800/q/50", + "title": "尺码-女装呢", + "price": "20000", + "first_category_id": "6033", + "second_category_id": "6057", + "third_category_id": "6058", + "data": { + "commission_ratio": 1.0, + "pay_gmv": "1" + } + } + ] +} diff --git a/test/SKIT.FlurlHttpClient.Wechat.Api.UnitTests/ModelSamples/Channels/ECCompass/ChannelsECCompassShopFinderProductOverallGetRequest.json b/test/SKIT.FlurlHttpClient.Wechat.Api.UnitTests/ModelSamples/Channels/ECCompass/ChannelsECCompassShopFinderProductOverallGetRequest.json new file mode 100644 index 00000000..ac4abc8b --- /dev/null +++ b/test/SKIT.FlurlHttpClient.Wechat.Api.UnitTests/ModelSamples/Channels/ECCompass/ChannelsECCompassShopFinderProductOverallGetRequest.json @@ -0,0 +1,4 @@ +{ + "ds": "20240520", + "finder_id": "sphIEqMmbCyGrjd" +} diff --git a/test/SKIT.FlurlHttpClient.Wechat.Api.UnitTests/ModelSamples/Channels/ECCompass/ChannelsECCompassShopFinderProductOverallGetResponse.json b/test/SKIT.FlurlHttpClient.Wechat.Api.UnitTests/ModelSamples/Channels/ECCompass/ChannelsECCompassShopFinderProductOverallGetResponse.json new file mode 100644 index 00000000..882ec5b9 --- /dev/null +++ b/test/SKIT.FlurlHttpClient.Wechat.Api.UnitTests/ModelSamples/Channels/ECCompass/ChannelsECCompassShopFinderProductOverallGetResponse.json @@ -0,0 +1,11 @@ +{ + "errcode": 0, + "errmsg": "ok", + "data": { + "pay_gmv": "1", + "pay_product_id_cnt": "1", + "pay_uv": "1", + "refund_gmv": "0", + "pay_refund_gmv": "0" + } +} diff --git a/test/SKIT.FlurlHttpClient.Wechat.Api.UnitTests/ModelSamples/Channels/ECCompass/ChannelsECCompassShopLiveListGetRequest.json b/test/SKIT.FlurlHttpClient.Wechat.Api.UnitTests/ModelSamples/Channels/ECCompass/ChannelsECCompassShopLiveListGetRequest.json new file mode 100644 index 00000000..c3c91aae --- /dev/null +++ b/test/SKIT.FlurlHttpClient.Wechat.Api.UnitTests/ModelSamples/Channels/ECCompass/ChannelsECCompassShopLiveListGetRequest.json @@ -0,0 +1,4 @@ +{ + "ds": "20240520", + "finder_id": "sphCYiuJfqc5xm6" +} diff --git a/test/SKIT.FlurlHttpClient.Wechat.Api.UnitTests/ModelSamples/Channels/ECCompass/ChannelsECCompassShopLiveListGetResponse.json b/test/SKIT.FlurlHttpClient.Wechat.Api.UnitTests/ModelSamples/Channels/ECCompass/ChannelsECCompassShopLiveListGetResponse.json new file mode 100644 index 00000000..d17956f0 --- /dev/null +++ b/test/SKIT.FlurlHttpClient.Wechat.Api.UnitTests/ModelSamples/Channels/ECCompass/ChannelsECCompassShopLiveListGetResponse.json @@ -0,0 +1,34 @@ +{ + "errcode": 0, + "errmsg": "ok", + "live_list": [ + { + "live_id": "export/UzFfAgtgekIEAQAAAAAA7H0w5NglsgAAAAstQy6ubaLX4KHWvLEZgBPEkKEQAGAUFbyEzNPgMJr0ltCVZdoYnc3iKOwF3f-P", + "live_title": "", + "live_time": "1715411591", + "live_duration": "665", + "live_cover_img_url": "http://wxapp.tc.qq.com/251/20350/stodownload?m=34af50dc00cbf7b0f8f0cab3ba43ea54&filekey=30350201010421301f020200fb0402535a041034af50dc00cbf7b0f8f0cab3ba43ea5402030136f0040d00000004627466730000000132&hy=SZ&storeid=5657c127d000e07771a454a71000000fb00004f7e535a19f69bc1e6a3d6725&dotrans=0&bizid=1023" + }, + { + "live_id": "export/UzFfAgtgekIEAQAAAAAAAkYHTK6vkAAAAAstQy6ubaLX4KHWvLEZgBPEsaEsWzNJC7yEzNPgMJqXNdVJbsXgEd2QUtC5OIeu", + "live_title": "", + "live_time": "1715412297", + "live_duration": "1625", + "live_cover_img_url": "http://wxapp.tc.qq.com/251/20350/stodownload?m=34af50dc00cbf7b0f8f0cab3ba43ea54&filekey=30350201010421301f020200fb0402535a041034af50dc00cbf7b0f8f0cab3ba43ea5402030136f0040d00000004627466730000000132&hy=SZ&storeid=5657c127d000e07771a454a71000000fb00004f7e535a19f69bc1e6a3d6725&dotrans=0&bizid=1023" + }, + { + "live_id": "export/UzFfAgtgekIEAQAAAAAAk8Mwt7aD8AAAAAstQy6ubaLX4KHWvLEZgBPEu6F0VChZDryEzNPgMJqEDY5WqvniwQgbJOTVvWFg", + "live_title": "", + "live_time": "1715413937", + "live_duration": "434", + "live_cover_img_url": "http://wxapp.tc.qq.com/251/20350/stodownload?m=34af50dc00cbf7b0f8f0cab3ba43ea54&filekey=30350201010421301f020200fb0402535a041034af50dc00cbf7b0f8f0cab3ba43ea5402030136f0040d00000004627466730000000132&hy=SZ&storeid=5657c127d000e07771a454a71000000fb00004f7e535a19f69bc1e6a3d6725&dotrans=0&bizid=1023" + }, + { + "live_id": "export/UzFfAgtgekIEAQAAAAAArlcp9BbHOAAAAAstQy6ubaLX4KHWvLEZgBPEiqEUeB1PD7yEzNPgMJqdjdg2bPmVps73BdBCsEqr", + "live_title": "", + "live_time": "1715414385", + "live_duration": "998", + "live_cover_img_url": "http://wxapp.tc.qq.com/251/20350/stodownload?m=34af50dc00cbf7b0f8f0cab3ba43ea54&filekey=30350201010421301f020200fb0402535a041034af50dc00cbf7b0f8f0cab3ba43ea5402030136f0040d00000004627466730000000132&hy=SZ&storeid=5657c127d000e07771a454a71000000fb00004f7e535a19f69bc1e6a3d6725&dotrans=0&bizid=1023" + } + ] +} diff --git a/test/SKIT.FlurlHttpClient.Wechat.Api.UnitTests/ModelSamples/Channels/ECCompass/ChannelsECCompassShopOverallGetRequest.json b/test/SKIT.FlurlHttpClient.Wechat.Api.UnitTests/ModelSamples/Channels/ECCompass/ChannelsECCompassShopOverallGetRequest.json new file mode 100644 index 00000000..4751f548 --- /dev/null +++ b/test/SKIT.FlurlHttpClient.Wechat.Api.UnitTests/ModelSamples/Channels/ECCompass/ChannelsECCompassShopOverallGetRequest.json @@ -0,0 +1,3 @@ +{ + "ds": "20240520" +} diff --git a/test/SKIT.FlurlHttpClient.Wechat.Api.UnitTests/ModelSamples/Channels/ECCompass/ChannelsECCompassShopOverallGetResponse.json b/test/SKIT.FlurlHttpClient.Wechat.Api.UnitTests/ModelSamples/Channels/ECCompass/ChannelsECCompassShopOverallGetResponse.json new file mode 100644 index 00000000..a019e4c6 --- /dev/null +++ b/test/SKIT.FlurlHttpClient.Wechat.Api.UnitTests/ModelSamples/Channels/ECCompass/ChannelsECCompassShopOverallGetResponse.json @@ -0,0 +1,12 @@ +{ + "errcode": 0, + "errmsg": "ok", + "data": { + "pay_gmv": "42292", + "pay_uv": "8", + "pay_order_cnt": "10", + "pay_refund_gmv": "81", + "live_pay_gmv": "0", + "feed_pay_gmv": "0" + } +} diff --git a/test/SKIT.FlurlHttpClient.Wechat.Api.UnitTests/ModelSamples/Channels/ECCompass/ChannelsECCompassShopProductDataGetRequest.json b/test/SKIT.FlurlHttpClient.Wechat.Api.UnitTests/ModelSamples/Channels/ECCompass/ChannelsECCompassShopProductDataGetRequest.json new file mode 100644 index 00000000..e6f737f0 --- /dev/null +++ b/test/SKIT.FlurlHttpClient.Wechat.Api.UnitTests/ModelSamples/Channels/ECCompass/ChannelsECCompassShopProductDataGetRequest.json @@ -0,0 +1,4 @@ +{ + "ds": "20240520", + "product_id": "10000099582075" +} diff --git a/test/SKIT.FlurlHttpClient.Wechat.Api.UnitTests/ModelSamples/Channels/ECCompass/ChannelsECCompassShopProductDataGetResponse.json b/test/SKIT.FlurlHttpClient.Wechat.Api.UnitTests/ModelSamples/Channels/ECCompass/ChannelsECCompassShopProductDataGetResponse.json new file mode 100644 index 00000000..001b6f24 --- /dev/null +++ b/test/SKIT.FlurlHttpClient.Wechat.Api.UnitTests/ModelSamples/Channels/ECCompass/ChannelsECCompassShopProductDataGetResponse.json @@ -0,0 +1,46 @@ +{ + "errcode": 0, + "errmsg": "ok", + "product_info": { + "product_id": "10000099582075", + "head_img_url": "https://store.mp.video.tencent-cloud.com/161/20304/snscosdownload/SZ/reserved/65f56a990000dbce19b08e5ade908e0b000000a000004f50?imageView2/1/w/800/h/800/q/50", + "title": "支持细分资质copy", + "price": "1", + "first_category_id": "1001", + "second_category_id": "1002", + "third_category_id": "1010", + "data": { + "pay_gmv": "6", + "create_gmv": "6", + "create_cnt": "3", + "create_uv": "3", + "create_product_cnt": "6", + "pay_cnt": "3", + "pay_uv": "3", + "pay_product_cnt": "6", + "pure_pay_gmv": "5", + "pay_gmv_per_uv": "2", + "seller_actual_settle_amount": "1", + "platform_actual_commission": "0", + "finderuin_actual_commission": "0", + "captain_actual_commission": "0", + "seller_predict_settle_amount": "1", + "platform_predict_commission": "0", + "finderuin_predict_commission": "0", + "captain_predict_commission": "0", + "product_click_uv": "0", + "product_click_cnt": "0", + "pay_refund_gmv": "1", + "pay_refund_uv": "1", + "pay_refund_ratio": 0.3333333333333333, + "pay_refund_after_send_ratio": 0.3333333333333333, + "pay_refund_cnt": "1", + "pay_refund_product_cnt": "1", + "pay_refund_before_send_ratio": 0.0, + "refund_gmv": "1", + "refund_product_cnt": "1", + "refund_cnt": "1", + "refund_uv": "1" + } + } +} diff --git a/test/SKIT.FlurlHttpClient.Wechat.Api.UnitTests/ModelSamples/Channels/ECCompass/ChannelsECCompassShopProductListGetRequest.json b/test/SKIT.FlurlHttpClient.Wechat.Api.UnitTests/ModelSamples/Channels/ECCompass/ChannelsECCompassShopProductListGetRequest.json new file mode 100644 index 00000000..4751f548 --- /dev/null +++ b/test/SKIT.FlurlHttpClient.Wechat.Api.UnitTests/ModelSamples/Channels/ECCompass/ChannelsECCompassShopProductListGetRequest.json @@ -0,0 +1,3 @@ +{ + "ds": "20240520" +} diff --git a/test/SKIT.FlurlHttpClient.Wechat.Api.UnitTests/ModelSamples/Channels/ECCompass/ChannelsECCompassShopProductListGetResponse.json b/test/SKIT.FlurlHttpClient.Wechat.Api.UnitTests/ModelSamples/Channels/ECCompass/ChannelsECCompassShopProductListGetResponse.json new file mode 100644 index 00000000..e60abe8c --- /dev/null +++ b/test/SKIT.FlurlHttpClient.Wechat.Api.UnitTests/ModelSamples/Channels/ECCompass/ChannelsECCompassShopProductListGetResponse.json @@ -0,0 +1,216 @@ +{ + "errcode": 0, + "errmsg": "ok", + "product_list": [ + { + "product_id": "10000054370820", + "head_img_url": "https://store.mp.video.tencent-cloud.com/161/20304/snscosdownload/SZ/reserved/64ad0d7000005f161ed22d3e51618809000000a000004f50?imageView2/1/w/800/h/800/q/50", + "title": "榴莲yyds", + "price": "1", + "first_category_id": "6625", + "second_category_id": "6631", + "third_category_id": "545264", + "data": { + "pay_gmv": "0", + "create_gmv": "0", + "create_cnt": "0", + "create_uv": "0", + "create_product_cnt": "0", + "pay_cnt": "0", + "pay_uv": "0", + "pay_product_cnt": "0", + "pure_pay_gmv": "0", + "pay_gmv_per_uv": "0", + "seller_actual_settle_amount": "1", + "platform_actual_commission": "0", + "finderuin_actual_commission": "0", + "captain_actual_commission": "0", + "seller_predict_settle_amount": "0", + "platform_predict_commission": "0", + "finderuin_predict_commission": "0", + "captain_predict_commission": "0", + "product_click_uv": "0", + "product_click_cnt": "0", + "pay_refund_gmv": "0", + "pay_refund_uv": "0", + "pay_refund_ratio": 0.0, + "pay_refund_after_send_ratio": 0.0, + "pay_refund_cnt": "0", + "pay_refund_product_cnt": "0", + "pay_refund_before_send_ratio": 0.0, + "refund_gmv": "0", + "refund_product_cnt": "0", + "refund_cnt": "0", + "refund_uv": "0" + } + }, + { + "product_id": "10000056024001", + "head_img_url": "https://store.mp.video.tencent-cloud.com/161/20304/snscosdownload/SZ/reserved/64b6896f000c5282208dfa8953618809000000a000004f50?imageView2/1/w/800/h/800/q/50", + "title": "坏了包赔的多汁甜柚子20 斤整箱", + "price": "1", + "first_category_id": "6625", + "second_category_id": "6631", + "third_category_id": "6632", + "data": { + "pay_gmv": "0", + "create_gmv": "0", + "create_cnt": "0", + "create_uv": "0", + "create_product_cnt": "0", + "pay_cnt": "0", + "pay_uv": "0", + "pay_product_cnt": "0", + "pure_pay_gmv": "0", + "pay_gmv_per_uv": "0", + "seller_actual_settle_amount": "10", + "platform_actual_commission": "0", + "finderuin_actual_commission": "0", + "captain_actual_commission": "0", + "seller_predict_settle_amount": "0", + "platform_predict_commission": "0", + "finderuin_predict_commission": "0", + "captain_predict_commission": "0", + "product_click_uv": "0", + "product_click_cnt": "0", + "pay_refund_gmv": "0", + "pay_refund_uv": "0", + "pay_refund_ratio": 0.0, + "pay_refund_after_send_ratio": 0.0, + "pay_refund_cnt": "0", + "pay_refund_product_cnt": "0", + "pay_refund_before_send_ratio": 0.0, + "refund_gmv": "0", + "refund_product_cnt": "0", + "refund_cnt": "0", + "refund_uv": "0" + } + }, + { + "product_id": "10000071952389", + "head_img_url": "https://store.mp.video.tencent-cloud.com/161/20304/snscosdownload/SZ/reserved/650d2feb00051b0a1846e7b41c918e0b000000a000004f50?imageView2/1/w/800/h/800/q/50", + "title": "生鲜-方便菜,开了坏损包退,没开7天无理由", + "price": "1", + "first_category_id": "6625", + "second_category_id": "527038", + "third_category_id": "527050", + "data": { + "pay_gmv": "6", + "create_gmv": "6", + "create_cnt": "5", + "create_uv": "4", + "create_product_cnt": "6", + "pay_cnt": "5", + "pay_uv": "4", + "pay_product_cnt": "6", + "pure_pay_gmv": "6", + "pay_gmv_per_uv": "2", + "seller_actual_settle_amount": "1", + "platform_actual_commission": "0", + "finderuin_actual_commission": "0", + "captain_actual_commission": "0", + "seller_predict_settle_amount": "5", + "platform_predict_commission": "0", + "finderuin_predict_commission": "0", + "captain_predict_commission": "0", + "product_click_uv": "0", + "product_click_cnt": "0", + "pay_refund_gmv": "0", + "pay_refund_uv": "0", + "pay_refund_ratio": 0.0, + "pay_refund_after_send_ratio": 0.0, + "pay_refund_cnt": "0", + "pay_refund_product_cnt": "0", + "pay_refund_before_send_ratio": 0.0, + "refund_gmv": "1", + "refund_product_cnt": "1", + "refund_cnt": "1", + "refund_uv": "1" + } + }, + { + "product_id": "10000093045061", + "head_img_url": "https://store.mp.video.tencent-cloud.com/161/20304/snscosdownload/SH/reserved/6406a072000c0f04251624a2bd368e0b000000a100004f50?imageView2/1/w/800/h/800/q/50", + "title": "手提包-很多很多属性的商品for推广,请勿乱动", + "price": "1000", + "first_category_id": "6033", + "second_category_id": "6122", + "third_category_id": "6124", + "data": { + "pay_gmv": "0", + "create_gmv": "0", + "create_cnt": "0", + "create_uv": "0", + "create_product_cnt": "0", + "pay_cnt": "0", + "pay_uv": "0", + "pay_product_cnt": "0", + "pure_pay_gmv": "0", + "pay_gmv_per_uv": "0", + "seller_actual_settle_amount": "950", + "platform_actual_commission": "50", + "finderuin_actual_commission": "0", + "captain_actual_commission": "0", + "seller_predict_settle_amount": "0", + "platform_predict_commission": "0", + "finderuin_predict_commission": "0", + "captain_predict_commission": "0", + "product_click_uv": "0", + "product_click_cnt": "0", + "pay_refund_gmv": "0", + "pay_refund_uv": "0", + "pay_refund_ratio": 0.0, + "pay_refund_after_send_ratio": 0.0, + "pay_refund_cnt": "0", + "pay_refund_product_cnt": "0", + "pay_refund_before_send_ratio": 0.0, + "refund_gmv": "0", + "refund_product_cnt": "0", + "refund_cnt": "0", + "refund_uv": "0" + } + }, + { + "product_id": "10000099582075", + "head_img_url": "https://store.mp.video.tencent-cloud.com/161/20304/snscosdownload/SZ/reserved/65f56a990000dbce19b08e5ade908e0b000000a000004f50?imageView2/1/w/800/h/800/q/50", + "title": "支持细分资质copy", + "price": "1", + "first_category_id": "1001", + "second_category_id": "1002", + "third_category_id": "1010", + "data": { + "pay_gmv": "6", + "create_gmv": "6", + "create_cnt": "3", + "create_uv": "3", + "create_product_cnt": "6", + "pay_cnt": "3", + "pay_uv": "3", + "pay_product_cnt": "6", + "pure_pay_gmv": "5", + "pay_gmv_per_uv": "2", + "seller_actual_settle_amount": "1", + "platform_actual_commission": "0", + "finderuin_actual_commission": "0", + "captain_actual_commission": "0", + "seller_predict_settle_amount": "1", + "platform_predict_commission": "0", + "finderuin_predict_commission": "0", + "captain_predict_commission": "0", + "product_click_uv": "0", + "product_click_cnt": "0", + "pay_refund_gmv": "1", + "pay_refund_uv": "1", + "pay_refund_ratio": 0.3333333333333333, + "pay_refund_after_send_ratio": 0.3333333333333333, + "pay_refund_cnt": "1", + "pay_refund_product_cnt": "1", + "pay_refund_before_send_ratio": 0.0, + "refund_gmv": "1", + "refund_product_cnt": "1", + "refund_cnt": "1", + "refund_uv": "1" + } + } + ] +} diff --git a/test/SKIT.FlurlHttpClient.Wechat.Api.UnitTests/ModelSamples/Channels/ECCompass/ChannelsECCompassShopSaleProfileDataGetRequest.json b/test/SKIT.FlurlHttpClient.Wechat.Api.UnitTests/ModelSamples/Channels/ECCompass/ChannelsECCompassShopSaleProfileDataGetRequest.json new file mode 100644 index 00000000..a5461af7 --- /dev/null +++ b/test/SKIT.FlurlHttpClient.Wechat.Api.UnitTests/ModelSamples/Channels/ECCompass/ChannelsECCompassShopSaleProfileDataGetRequest.json @@ -0,0 +1,4 @@ +{ + "ds": "20240520", + "type": 1 +} diff --git a/test/SKIT.FlurlHttpClient.Wechat.Api.UnitTests/ModelSamples/Channels/ECCompass/ChannelsECCompassShopSaleProfileDataGetResponse.json b/test/SKIT.FlurlHttpClient.Wechat.Api.UnitTests/ModelSamples/Channels/ECCompass/ChannelsECCompassShopSaleProfileDataGetResponse.json new file mode 100644 index 00000000..9cfa6209 --- /dev/null +++ b/test/SKIT.FlurlHttpClient.Wechat.Api.UnitTests/ModelSamples/Channels/ECCompass/ChannelsECCompassShopSaleProfileDataGetResponse.json @@ -0,0 +1,76 @@ +{ + "errcode": 0, + "errmsg": "ok", + "data": { + "field_list": [ + { + "field_name": "地级", + "data_list": [] + }, + { + "field_name": "年龄", + "data_list": [ + { + "dim_key": "18_24", + "dim_value": "1" + }, + { + "dim_key": "25_39", + "dim_value": "8" + } + ] + }, + { + "field_name": "省级", + "data_list": [] + }, + { + "field_name": "性别", + "data_list": [ + { + "dim_key": "女", + "dim_value": "2" + }, + { + "dim_key": "男", + "dim_value": "7" + } + ] + }, + { + "field_name": "购买偏好", + "data_list": [] + }, + { + "field_name": "策略人群", + "data_list": [ + { + "dim_key": "资深中产", + "dim_value": "1" + }, + { + "dim_key": "新锐白领", + "dim_value": "4" + }, + { + "dim_key": "Z世代", + "dim_value": "1" + }, + { + "dim_key": "都市蓝领", + "dim_value": "1" + } + ] + }, + { + "field_name": "消费力区间", + "data_list": [ + { + "dim_key": "0_100", + "dim_value": "11" + } + ] + } + ] + } +}