diff --git a/src/SKIT.FlurlHttpClient.Wechat.Api/Extensions/WechatApiClientExecuteChannelsExtensions.cs b/src/SKIT.FlurlHttpClient.Wechat.Api/Extensions/WechatApiClientExecuteChannelsExtensions.cs index 0cb9a9be00d391510967bd6ea5147ce487347cbb..6f7367ccd1b8ed030d8fec246809197f79c9cf0d 100644 --- a/src/SKIT.FlurlHttpClient.Wechat.Api/Extensions/WechatApiClientExecuteChannelsExtensions.cs +++ b/src/SKIT.FlurlHttpClient.Wechat.Api/Extensions/WechatApiClientExecuteChannelsExtensions.cs @@ -417,6 +417,26 @@ namespace SKIT.FlurlHttpClient.Wechat.Api return await client.SendRequestWithJsonAsync(flurlReq, data: request, cancellationToken: cancellationToken); } + + /// + /// 异步调用 [POST] /channels/ec/brand/valid/list/get 接口。 + /// REF: https://developers.weixin.qq.com/doc/channels/API/brand/valid_list_get.html + /// + /// + /// + /// + /// + public static async Task ExecuteChannelsECBrandValidListGetAsync(this WechatApiClient client, Models.ChannelsECBrandValidListGetRequest 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 + .CreateRequest(request, HttpMethod.Post, "channels", "ec", "brand", "valid", "list", "get") + .SetQueryParam("access_token", request.AccessToken); + + return await client.SendRequestWithJsonAsync(flurlReq, data: request, cancellationToken: cancellationToken); + } #endregion #region ECMerchant @@ -766,6 +786,66 @@ namespace SKIT.FlurlHttpClient.Wechat.Api return await client.SendRequestWithJsonAsync(flurlReq, data: request, cancellationToken: cancellationToken); } + /// + /// 异步调用 [POST] /channels/ec/product/h5url/get 接口。 + /// REF: https://developers.weixin.qq.com/doc/channels/API/product/get_h5url.html + /// + /// + /// + /// + /// + public static async Task ExecuteChannelsECProductH5UrlGetAsync(this WechatApiClient client, Models.ChannelsECProductH5UrlGetRequest 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 + .CreateRequest(request, HttpMethod.Post, "channels", "ec", "product", "h5url", "get") + .SetQueryParam("access_token", request.AccessToken); + + return await client.SendRequestWithJsonAsync(flurlReq, data: request, cancellationToken: cancellationToken); + } + + /// + /// 异步调用 [POST] /channels/ec/product/taglink/get 接口。 + /// REF: https://developers.weixin.qq.com/doc/channels/API/product/get_taglink.html + /// + /// + /// + /// + /// + public static async Task ExecuteChannelsECProductTagLinkGetAsync(this WechatApiClient client, Models.ChannelsECProductTagLinkGetRequest 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 + .CreateRequest(request, HttpMethod.Post, "channels", "ec", "product", "taglink", "get") + .SetQueryParam("access_token", request.AccessToken); + + return await client.SendRequestWithJsonAsync(flurlReq, data: request, cancellationToken: cancellationToken); + } + + /// + /// 异步调用 [POST] /channels/ec/product/qrcode/get 接口。 + /// REF: https://developers.weixin.qq.com/doc/channels/API/product/get_qrcode.html + /// + /// + /// + /// + /// + public static async Task ExecuteChannelsECProductQrcodeGetAsync(this WechatApiClient client, Models.ChannelsECProductQrcodeGetRequest 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 + .CreateRequest(request, HttpMethod.Post, "channels", "ec", "product", "qrcode", "get") + .SetQueryParam("access_token", request.AccessToken); + + return await client.SendRequestWithJsonAsync(flurlReq, data: request, cancellationToken: cancellationToken); + } + /// /// 异步调用 [POST] /channels/ec/product/stock/update 接口。 /// REF: https://developers.weixin.qq.com/doc/channels/API/product/stock_update.html diff --git a/src/SKIT.FlurlHttpClient.Wechat.Api/Models/Channels/ECBrand/ChannelsECBrandValidListGetRequest.cs b/src/SKIT.FlurlHttpClient.Wechat.Api/Models/Channels/ECBrand/ChannelsECBrandValidListGetRequest.cs new file mode 100644 index 0000000000000000000000000000000000000000..99e4ee7addb64b2dce4b2a63d944acb8cf3d6cfc --- /dev/null +++ b/src/SKIT.FlurlHttpClient.Wechat.Api/Models/Channels/ECBrand/ChannelsECBrandValidListGetRequest.cs @@ -0,0 +1,23 @@ +namespace SKIT.FlurlHttpClient.Wechat.Api.Models +{ + /// + /// 表示 [POST] /channels/ec/brand/valid/list/get 接口的请求。 + /// + public class ChannelsECBrandValidListGetRequest : WechatApiRequest, IInferable + { + /// + /// 获取或设置分页每页页数。 + /// 默认值:10 + /// + [Newtonsoft.Json.JsonProperty("page_size")] + [System.Text.Json.Serialization.JsonPropertyName("page_size")] + public int Limit { get; set; } = 10; + + /// + /// 获取或设置翻页标记。 + /// + [Newtonsoft.Json.JsonProperty("next_key")] + [System.Text.Json.Serialization.JsonPropertyName("next_key")] + public string? Cursor { get; set; } + } +} diff --git a/src/SKIT.FlurlHttpClient.Wechat.Api/Models/Channels/ECBrand/ChannelsECBrandValidListGetResponse.cs b/src/SKIT.FlurlHttpClient.Wechat.Api/Models/Channels/ECBrand/ChannelsECBrandValidListGetResponse.cs new file mode 100644 index 0000000000000000000000000000000000000000..249fec470e321a10c9fb3643c17d3ddce081b635 --- /dev/null +++ b/src/SKIT.FlurlHttpClient.Wechat.Api/Models/Channels/ECBrand/ChannelsECBrandValidListGetResponse.cs @@ -0,0 +1,36 @@ +namespace SKIT.FlurlHttpClient.Wechat.Api.Models +{ + /// + /// 表示 [POST] /channels/ec/brand/valid/list/get 接口的响应。 + /// + public class ChannelsECBrandValidListGetResponse : WechatApiResponse + { + public static class Types + { + public class Brand : ChannelsECBrandListGetResponse.Types.Brand + { + } + } + + /// + /// 获取或设置品牌列表。 + /// + [Newtonsoft.Json.JsonProperty("brands")] + [System.Text.Json.Serialization.JsonPropertyName("brands")] + public Types.Brand[] BrandList { get; set; } = default!; + + /// + /// 获取或设置品牌总数量。 + /// + [Newtonsoft.Json.JsonProperty("total_num")] + [System.Text.Json.Serialization.JsonPropertyName("total_num")] + public int TotalCount { get; set; } + + /// + /// 获取或设置翻页标记。 + /// + [Newtonsoft.Json.JsonProperty("next_key")] + [System.Text.Json.Serialization.JsonPropertyName("next_key")] + public string? NextCursor { get; set; } + } +} diff --git a/src/SKIT.FlurlHttpClient.Wechat.Api/Models/Channels/ECMerchant/FreightTemplate/ChannelsECMerchantAddFreightTemplateRequest.cs b/src/SKIT.FlurlHttpClient.Wechat.Api/Models/Channels/ECMerchant/FreightTemplate/ChannelsECMerchantAddFreightTemplateRequest.cs index 9234ae5d976c4d1e3e838182085ad1598c1ed131..a8fbd5311108667ef3f1d039a5dc658f4ce592ac 100644 --- a/src/SKIT.FlurlHttpClient.Wechat.Api/Models/Channels/ECMerchant/FreightTemplate/ChannelsECMerchantAddFreightTemplateRequest.cs +++ b/src/SKIT.FlurlHttpClient.Wechat.Api/Models/Channels/ECMerchant/FreightTemplate/ChannelsECMerchantAddFreightTemplateRequest.cs @@ -155,9 +155,7 @@ namespace SKIT.FlurlHttpClient.Wechat.Api.Models /// 获取或设置是否为默认运费。 /// [Newtonsoft.Json.JsonProperty("is_default")] - [Newtonsoft.Json.JsonConverter(typeof(Newtonsoft.Json.Converters.NumericalBooleanConverter))] [System.Text.Json.Serialization.JsonPropertyName("is_default")] - [System.Text.Json.Serialization.JsonConverter(typeof(System.Text.Json.Converters.NumericalBooleanConverter))] public bool IsDefault { get; set; } /// @@ -267,9 +265,7 @@ namespace SKIT.FlurlHttpClient.Wechat.Api.Models /// 获取或设置是否为默认模版。 /// [Newtonsoft.Json.JsonProperty("is_default")] - [Newtonsoft.Json.JsonConverter(typeof(Newtonsoft.Json.Converters.NumericalNullableBooleanConverter))] [System.Text.Json.Serialization.JsonPropertyName("is_default")] - [System.Text.Json.Serialization.JsonConverter(typeof(System.Text.Json.Converters.NumericalNullableBooleanConverter))] public bool? IsDefault { get; set; } /// diff --git a/src/SKIT.FlurlHttpClient.Wechat.Api/Models/Channels/ECMerchant/FreightTemplate/ChannelsECMerchantGetFreightTemplateDetailResponse.cs b/src/SKIT.FlurlHttpClient.Wechat.Api/Models/Channels/ECMerchant/FreightTemplate/ChannelsECMerchantGetFreightTemplateDetailResponse.cs index 7b79adfabfeeaa1667c5e4d249a0aa460f20c8f2..2a5c47e64251bdf75bf92d0a593aac8af6e72535 100644 --- a/src/SKIT.FlurlHttpClient.Wechat.Api/Models/Channels/ECMerchant/FreightTemplate/ChannelsECMerchantGetFreightTemplateDetailResponse.cs +++ b/src/SKIT.FlurlHttpClient.Wechat.Api/Models/Channels/ECMerchant/FreightTemplate/ChannelsECMerchantGetFreightTemplateDetailResponse.cs @@ -152,9 +152,7 @@ /// 获取或设置是否为默认运费。 /// [Newtonsoft.Json.JsonProperty("is_default")] - [Newtonsoft.Json.JsonConverter(typeof(Newtonsoft.Json.Converters.NumericalBooleanConverter))] [System.Text.Json.Serialization.JsonPropertyName("is_default")] - [System.Text.Json.Serialization.JsonConverter(typeof(System.Text.Json.Converters.NumericalBooleanConverter))] public bool IsDefault { get; set; } /// @@ -272,9 +270,7 @@ /// 获取或设置是否为默认模版。 /// [Newtonsoft.Json.JsonProperty("is_default")] - [Newtonsoft.Json.JsonConverter(typeof(Newtonsoft.Json.Converters.NumericalBooleanConverter))] [System.Text.Json.Serialization.JsonPropertyName("is_default")] - [System.Text.Json.Serialization.JsonConverter(typeof(System.Text.Json.Converters.NumericalBooleanConverter))] public bool IsDefault { get; set; } /// diff --git a/src/SKIT.FlurlHttpClient.Wechat.Api/Models/Channels/ECProduct/ChannelsECProductAddRequest.cs b/src/SKIT.FlurlHttpClient.Wechat.Api/Models/Channels/ECProduct/ChannelsECProductAddRequest.cs index 2ec31726a85c0ac8c417b83666d79904deb4b2d7..313454b304c26f99d42d232080935fed0df10732 100644 --- a/src/SKIT.FlurlHttpClient.Wechat.Api/Models/Channels/ECProduct/ChannelsECProductAddRequest.cs +++ b/src/SKIT.FlurlHttpClient.Wechat.Api/Models/Channels/ECProduct/ChannelsECProductAddRequest.cs @@ -113,6 +113,51 @@ namespace SKIT.FlurlHttpClient.Wechat.Api.Models [Newtonsoft.Json.JsonProperty("sku_attrs")] [System.Text.Json.Serialization.JsonPropertyName("sku_attrs")] public IList? AttributeList { get; set; } + + /// + /// 获取或设置商品配送信息。 + /// + [Newtonsoft.Json.JsonProperty("sku_deliver_info")] + [System.Text.Json.Serialization.JsonPropertyName("sku_deliver_info")] + public SKUDeliver? SKUDeliver { get; set; } + } + + public class SKUDeliver + { + /// + /// 获取或设置 SKU 库存情况。 + /// + [Newtonsoft.Json.JsonProperty("stock_type")] + [System.Text.Json.Serialization.JsonPropertyName("stock_type")] + public int StockType { get; set; } + + /// + /// 获取或设置 SKU 发货节点。 + /// + [Newtonsoft.Json.JsonProperty("full_payment_presale_delivery_type")] + [System.Text.Json.Serialization.JsonPropertyName("full_payment_presale_delivery_type")] + public int FullPaymentPresaleDeliveryType { get; set; } + + /// + /// 获取或设置 SKU 预售周期开始时间。 + /// + [Newtonsoft.Json.JsonProperty("presale_begin_time")] + [System.Text.Json.Serialization.JsonPropertyName("presale_begin_time")] + public long PresaleBeginTimestamp { get; set; } + + /// + /// 获取或设置 SKU 预售周期结束时间。 + /// + [Newtonsoft.Json.JsonProperty("presale_end_time")] + [System.Text.Json.Serialization.JsonPropertyName("presale_end_time")] + public long PresaleEndTimestamp { get; set; } + + /// + /// 获取或设置 SKU 发货时效。 + /// + [Newtonsoft.Json.JsonProperty("full_payment_presale_delivery_time")] + [System.Text.Json.Serialization.JsonPropertyName("full_payment_presale_delivery_time")] + public int FullPaymentPresaleDeliveryTime { get; set; } } public class Limitation @@ -131,6 +176,44 @@ namespace SKIT.FlurlHttpClient.Wechat.Api.Models [System.Text.Json.Serialization.JsonPropertyName("limited_buy_num")] public int? LimitedBuyCount { get; set; } } + + public class ExtraService + { + /// + /// 获取或设置是否支持七天无理由退货。 + /// + [Newtonsoft.Json.JsonProperty("seven_day_return")] + [System.Text.Json.Serialization.JsonPropertyName("seven_day_return")] + public int SevenDayReturn { get; set; } + + /// + /// 获取或设置先用后付类型。 + /// + [Newtonsoft.Json.JsonProperty("pay_after_use")] + [Newtonsoft.Json.JsonConverter(typeof(Newtonsoft.Json.Converters.NumericalBooleanConverter))] + [System.Text.Json.Serialization.JsonPropertyName("pay_after_use")] + [System.Text.Json.Serialization.JsonConverter(typeof(System.Text.Json.Converters.NumericalBooleanConverter))] + public bool IsPayAfterUseSupported { get; set; } + + /// + /// 获取或设置是否支持运费险。 + /// + [Newtonsoft.Json.JsonProperty("freight_insurance")] + [Newtonsoft.Json.JsonConverter(typeof(Newtonsoft.Json.Converters.NumericalBooleanConverter))] + [System.Text.Json.Serialization.JsonPropertyName("freight_insurance")] + [System.Text.Json.Serialization.JsonConverter(typeof(System.Text.Json.Converters.NumericalBooleanConverter))] + public bool IsFreightInsuranceSupported { get; set; } + } + + public class Aftersale + { + /// + /// 获取或设置地址 ID。 + /// + [Newtonsoft.Json.JsonProperty("after_sale_address_id")] + [System.Text.Json.Serialization.JsonPropertyName("after_sale_address_id")] + public long? AftersaleAddressId { get; set; } + } } /// @@ -182,6 +265,28 @@ namespace SKIT.FlurlHttpClient.Wechat.Api.Models [System.Text.Json.Serialization.JsonPropertyName("attrs")] public IList? AttributeList { get; set; } + /// + /// 获取或设置商品编码。 + /// + [Newtonsoft.Json.JsonProperty("spu_code")] + [System.Text.Json.Serialization.JsonPropertyName("spu_code")] + public string? ApuCode { get; set; } + + /// + /// 获取或设置品牌 ID。 + /// + [Newtonsoft.Json.JsonProperty("brand_id")] + [System.Text.Json.Serialization.JsonPropertyName("brand_id")] + [System.Text.Json.Serialization.JsonNumberHandling(System.Text.Json.Serialization.JsonNumberHandling.AllowReadingFromString)] + public long? BrandId { get; set; } + + /// + /// 获取或设置特殊资质图片媒体文件标识 ID 列表。 + /// + [Newtonsoft.Json.JsonProperty("qualifications")] + [System.Text.Json.Serialization.JsonPropertyName("qualifications")] + public IList? QualificationPictureMediaIdList { get; set; } + /// /// 获取或设置发货方式。 /// @@ -216,5 +321,28 @@ namespace SKIT.FlurlHttpClient.Wechat.Api.Models [Newtonsoft.Json.JsonProperty("limited_info")] [System.Text.Json.Serialization.JsonPropertyName("limited_info")] public Types.Limitation? Limitation { get; set; } + + /// + /// 获取或设置额外的服务信息。 + /// + [Newtonsoft.Json.JsonProperty("extra_service")] + [System.Text.Json.Serialization.JsonPropertyName("extra_service")] + public Types.ExtraService? ExtraService { get; set; } + + /// + /// 获取或设置更新后是否立即上架。 + /// + [Newtonsoft.Json.JsonProperty("listing")] + [Newtonsoft.Json.JsonConverter(typeof(Newtonsoft.Json.Converters.NumericalNullableBooleanConverter))] + [System.Text.Json.Serialization.JsonPropertyName("listing")] + [System.Text.Json.Serialization.JsonConverter(typeof(System.Text.Json.Converters.NumericalNullableBooleanConverter))] + public bool? RequireListing { get; set; } + + /// + /// 获取或设置售后地址。 + /// + [Newtonsoft.Json.JsonProperty("after_sale_info")] + [System.Text.Json.Serialization.JsonPropertyName("after_sale_info")] + public Types.Aftersale? Aftersale { get; set; } } } diff --git a/src/SKIT.FlurlHttpClient.Wechat.Api/Models/Channels/ECProduct/ChannelsECProductGetResponse.cs b/src/SKIT.FlurlHttpClient.Wechat.Api/Models/Channels/ECProduct/ChannelsECProductGetResponse.cs index 663d431cfcb8bb0a95ef1634724feca17564365c..e3ed6b28af72d33f834843697622031c62cfd38e 100644 --- a/src/SKIT.FlurlHttpClient.Wechat.Api/Models/Channels/ECProduct/ChannelsECProductGetResponse.cs +++ b/src/SKIT.FlurlHttpClient.Wechat.Api/Models/Channels/ECProduct/ChannelsECProductGetResponse.cs @@ -132,6 +132,51 @@ namespace SKIT.FlurlHttpClient.Wechat.Api.Models [Newtonsoft.Json.JsonProperty("status")] [System.Text.Json.Serialization.JsonPropertyName("status")] public int Status { get; set; } + + /// + /// 获取或设置商品配送信息。 + /// + [Newtonsoft.Json.JsonProperty("sku_deliver_info")] + [System.Text.Json.Serialization.JsonPropertyName("sku_deliver_info")] + public SKUDeliver? SKUDeliver { get; set; } + } + + public class SKUDeliver + { + /// + /// 获取或设置 SKU 库存情况。 + /// + [Newtonsoft.Json.JsonProperty("stock_type")] + [System.Text.Json.Serialization.JsonPropertyName("stock_type")] + public int StockType { get; set; } + + /// + /// 获取或设置 SKU 发货节点。 + /// + [Newtonsoft.Json.JsonProperty("full_payment_presale_delivery_type")] + [System.Text.Json.Serialization.JsonPropertyName("full_payment_presale_delivery_type")] + public int FullPaymentPresaleDeliveryType { get; set; } + + /// + /// 获取或设置 SKU 预售周期开始时间。 + /// + [Newtonsoft.Json.JsonProperty("presale_begin_time")] + [System.Text.Json.Serialization.JsonPropertyName("presale_begin_time")] + public long PresaleBeginTimestamp { get; set; } + + /// + /// 获取或设置 SKU 预售周期结束时间。 + /// + [Newtonsoft.Json.JsonProperty("presale_end_time")] + [System.Text.Json.Serialization.JsonPropertyName("presale_end_time")] + public long PresaleEndTimestamp { get; set; } + + /// + /// 获取或设置 SKU 发货时效。 + /// + [Newtonsoft.Json.JsonProperty("full_payment_presale_delivery_time")] + [System.Text.Json.Serialization.JsonPropertyName("full_payment_presale_delivery_time")] + public int FullPaymentPresaleDeliveryTime { get; set; } } public class Limitation @@ -150,6 +195,44 @@ namespace SKIT.FlurlHttpClient.Wechat.Api.Models [System.Text.Json.Serialization.JsonPropertyName("limited_buy_num")] public int? LimitedBuyCount { get; set; } } + + public class ExtraService + { + /// + /// 获取或设置是否支持七天无理由退货。 + /// + [Newtonsoft.Json.JsonProperty("seven_day_return")] + [System.Text.Json.Serialization.JsonPropertyName("seven_day_return")] + public int SevenDayReturn { get; set; } + + /// + /// 获取或设置先用后付类型。 + /// + [Newtonsoft.Json.JsonProperty("pay_after_use")] + [Newtonsoft.Json.JsonConverter(typeof(Newtonsoft.Json.Converters.NumericalBooleanConverter))] + [System.Text.Json.Serialization.JsonPropertyName("pay_after_use")] + [System.Text.Json.Serialization.JsonConverter(typeof(System.Text.Json.Converters.NumericalBooleanConverter))] + public bool IsPayAfterUseSupported { get; set; } + + /// + /// 获取或设置是否支持运费险。 + /// + [Newtonsoft.Json.JsonProperty("freight_insurance")] + [Newtonsoft.Json.JsonConverter(typeof(Newtonsoft.Json.Converters.NumericalBooleanConverter))] + [System.Text.Json.Serialization.JsonPropertyName("freight_insurance")] + [System.Text.Json.Serialization.JsonConverter(typeof(System.Text.Json.Converters.NumericalBooleanConverter))] + public bool IsFreightInsuranceSupported { get; set; } + } + + public class Aftersale + { + /// + /// 获取或设置地址 ID。 + /// + [Newtonsoft.Json.JsonProperty("after_sale_address_id")] + [System.Text.Json.Serialization.JsonPropertyName("after_sale_address_id")] + public long? AftersaleAddressId { get; set; } + } } /// @@ -209,6 +292,21 @@ namespace SKIT.FlurlHttpClient.Wechat.Api.Models [System.Text.Json.Serialization.JsonPropertyName("attrs")] public Types.Attribute[]? AttributeList { get; set; } + /// + /// 获取或设置商品编码。 + /// + [Newtonsoft.Json.JsonProperty("spu_code")] + [System.Text.Json.Serialization.JsonPropertyName("spu_code")] + public string? ApuCode { get; set; } + + /// + /// 获取或设置品牌 ID。 + /// + [Newtonsoft.Json.JsonProperty("brand_id")] + [System.Text.Json.Serialization.JsonPropertyName("brand_id")] + [System.Text.Json.Serialization.JsonNumberHandling(System.Text.Json.Serialization.JsonNumberHandling.AllowReadingFromString)] + public long? BrandId { get; set; } + /// /// 获取或设置发货方式。 /// @@ -264,6 +362,34 @@ namespace SKIT.FlurlHttpClient.Wechat.Api.Models [Newtonsoft.Json.JsonProperty("limited_info")] [System.Text.Json.Serialization.JsonPropertyName("limited_info")] public Types.Limitation? Limitation { get; set; } + + /// + /// 获取或设置额外的服务信息。 + /// + [Newtonsoft.Json.JsonProperty("extra_service")] + [System.Text.Json.Serialization.JsonPropertyName("extra_service")] + public Types.ExtraService? ExtraService { get; set; } + + /// + /// 获取或设置商品类型。 + /// + [Newtonsoft.Json.JsonProperty("product_type")] + [System.Text.Json.Serialization.JsonPropertyName("product_type")] + public int? ProductType { get; set; } + + /// + /// 获取或设置商品草稿最近一次修改时间。 + /// + [Newtonsoft.Json.JsonProperty("edit_time")] + [System.Text.Json.Serialization.JsonPropertyName("edit_time")] + public long EditTimestamp { get; set; } + + /// + /// 获取或设置售后地址。 + /// + [Newtonsoft.Json.JsonProperty("after_sale_info")] + [System.Text.Json.Serialization.JsonPropertyName("after_sale_info")] + public Types.Aftersale? Aftersale { get; set; } } } diff --git a/src/SKIT.FlurlHttpClient.Wechat.Api/Models/Channels/ECProduct/ChannelsECProductH5UrlGetRequest.cs b/src/SKIT.FlurlHttpClient.Wechat.Api/Models/Channels/ECProduct/ChannelsECProductH5UrlGetRequest.cs new file mode 100644 index 0000000000000000000000000000000000000000..c530cf2443982a578e47495c458718a0b897a381 --- /dev/null +++ b/src/SKIT.FlurlHttpClient.Wechat.Api/Models/Channels/ECProduct/ChannelsECProductH5UrlGetRequest.cs @@ -0,0 +1,15 @@ +namespace SKIT.FlurlHttpClient.Wechat.Api.Models +{ + /// + /// 表示 [POST] /channels/ec/product/h5url/get 接口的请求。 + /// + public class ChannelsECProductH5UrlGetRequest : WechatApiRequest, IInferable + { + /// + /// 获取或设置商品 ID。 + /// + [Newtonsoft.Json.JsonProperty("product_id")] + [System.Text.Json.Serialization.JsonPropertyName("product_id")] + public long ProductId { get; set; } + } +} diff --git a/src/SKIT.FlurlHttpClient.Wechat.Api/Models/Channels/ECProduct/ChannelsECProductH5UrlGetResponse.cs b/src/SKIT.FlurlHttpClient.Wechat.Api/Models/Channels/ECProduct/ChannelsECProductH5UrlGetResponse.cs new file mode 100644 index 0000000000000000000000000000000000000000..d983b5380721247a07acc17355142f05780ba081 --- /dev/null +++ b/src/SKIT.FlurlHttpClient.Wechat.Api/Models/Channels/ECProduct/ChannelsECProductH5UrlGetResponse.cs @@ -0,0 +1,15 @@ +namespace SKIT.FlurlHttpClient.Wechat.Api.Models +{ + /// + /// 表示 [POST] /channels/ec/product/h5url/get 接口的响应。 + /// + public class ChannelsECProductH5UrlGetResponse : WechatApiResponse + { + /// + /// 获取或设置商品 H5 短链。 + /// + [Newtonsoft.Json.JsonProperty("product_h5url")] + [System.Text.Json.Serialization.JsonPropertyName("product_h5url")] + public string ProductH5Url { get; set; } = default!; + } +} diff --git a/src/SKIT.FlurlHttpClient.Wechat.Api/Models/Channels/ECProduct/ChannelsECProductQrcodeGetRequest.cs b/src/SKIT.FlurlHttpClient.Wechat.Api/Models/Channels/ECProduct/ChannelsECProductQrcodeGetRequest.cs new file mode 100644 index 0000000000000000000000000000000000000000..4f0266eb66118d31ae1e0ebdbc65d7186ea5c11c --- /dev/null +++ b/src/SKIT.FlurlHttpClient.Wechat.Api/Models/Channels/ECProduct/ChannelsECProductQrcodeGetRequest.cs @@ -0,0 +1,15 @@ +namespace SKIT.FlurlHttpClient.Wechat.Api.Models +{ + /// + /// 表示 [POST] /channels/ec/product/qrcode/get 接口的请求。 + /// + public class ChannelsECProductQrcodeGetRequest : WechatApiRequest, IInferable + { + /// + /// 获取或设置商品 ID。 + /// + [Newtonsoft.Json.JsonProperty("product_id")] + [System.Text.Json.Serialization.JsonPropertyName("product_id")] + public long ProductId { get; set; } + } +} diff --git a/src/SKIT.FlurlHttpClient.Wechat.Api/Models/Channels/ECProduct/ChannelsECProductQrcodeGetResponse.cs b/src/SKIT.FlurlHttpClient.Wechat.Api/Models/Channels/ECProduct/ChannelsECProductQrcodeGetResponse.cs new file mode 100644 index 0000000000000000000000000000000000000000..dec1d830a2dcd6c7f93c25853b1a2247cd42fc1c --- /dev/null +++ b/src/SKIT.FlurlHttpClient.Wechat.Api/Models/Channels/ECProduct/ChannelsECProductQrcodeGetResponse.cs @@ -0,0 +1,15 @@ +namespace SKIT.FlurlHttpClient.Wechat.Api.Models +{ + /// + /// 表示 [POST] /channels/ec/product/qrcode/get 接口的响应。 + /// + public class ChannelsECProductQrcodeGetResponse : WechatApiResponse + { + /// + /// 获取或设置商品二维码链接。 + /// + [Newtonsoft.Json.JsonProperty("product_qrcode")] + [System.Text.Json.Serialization.JsonPropertyName("product_qrcode")] + public string ProductQrcode { get; set; } = default!; + } +} diff --git a/src/SKIT.FlurlHttpClient.Wechat.Api/Models/Channels/ECProduct/ChannelsECProductTagLinkGetRequest.cs b/src/SKIT.FlurlHttpClient.Wechat.Api/Models/Channels/ECProduct/ChannelsECProductTagLinkGetRequest.cs new file mode 100644 index 0000000000000000000000000000000000000000..172834485415fe3101fc20230fe93f785d716814 --- /dev/null +++ b/src/SKIT.FlurlHttpClient.Wechat.Api/Models/Channels/ECProduct/ChannelsECProductTagLinkGetRequest.cs @@ -0,0 +1,15 @@ +namespace SKIT.FlurlHttpClient.Wechat.Api.Models +{ + /// + /// 表示 [POST] /channels/ec/product/taglink/get 接口的请求。 + /// + public class ChannelsECProductTagLinkGetRequest : WechatApiRequest, IInferable + { + /// + /// 获取或设置商品 ID。 + /// + [Newtonsoft.Json.JsonProperty("product_id")] + [System.Text.Json.Serialization.JsonPropertyName("product_id")] + public long ProductId { get; set; } + } +} diff --git a/src/SKIT.FlurlHttpClient.Wechat.Api/Models/Channels/ECProduct/ChannelsECProductTagLinkGetResponse.cs b/src/SKIT.FlurlHttpClient.Wechat.Api/Models/Channels/ECProduct/ChannelsECProductTagLinkGetResponse.cs new file mode 100644 index 0000000000000000000000000000000000000000..b5b852252d519229a372b429a3798961759180bb --- /dev/null +++ b/src/SKIT.FlurlHttpClient.Wechat.Api/Models/Channels/ECProduct/ChannelsECProductTagLinkGetResponse.cs @@ -0,0 +1,15 @@ +namespace SKIT.FlurlHttpClient.Wechat.Api.Models +{ + /// + /// 表示 [POST] /channels/ec/product/taglink/get 接口的响应。 + /// + public class ChannelsECProductTagLinkGetResponse : WechatApiResponse + { + /// + /// 获取或设置商品微信口令。 + /// + [Newtonsoft.Json.JsonProperty("product_taglink")] + [System.Text.Json.Serialization.JsonPropertyName("product_taglink")] + public string ProductTagLink { get; set; } = default!; + } +} diff --git a/src/SKIT.FlurlHttpClient.Wechat.Api/Models/Channels/ECProduct/ChannelsECProductUpdateRequest.cs b/src/SKIT.FlurlHttpClient.Wechat.Api/Models/Channels/ECProduct/ChannelsECProductUpdateRequest.cs index 39c5cc45d3e3cd08a59c5a05a49bcc04b38c335a..0e8dedd6f0c6095ed8076d267bf80be53b4dc72e 100644 --- a/src/SKIT.FlurlHttpClient.Wechat.Api/Models/Channels/ECProduct/ChannelsECProductUpdateRequest.cs +++ b/src/SKIT.FlurlHttpClient.Wechat.Api/Models/Channels/ECProduct/ChannelsECProductUpdateRequest.cs @@ -1,4 +1,4 @@ -using System.Collections.Generic; +using System.Collections.Generic; namespace SKIT.FlurlHttpClient.Wechat.Api.Models { @@ -75,11 +75,30 @@ namespace SKIT.FlurlHttpClient.Wechat.Api.Models [Newtonsoft.Json.JsonProperty("sku_attrs")] [System.Text.Json.Serialization.JsonPropertyName("sku_attrs")] public IList? AttributeList { get; set; } + + /// + /// 获取或设置商品配送信息。 + /// + [Newtonsoft.Json.JsonProperty("sku_deliver_info")] + [System.Text.Json.Serialization.JsonPropertyName("sku_deliver_info")] + public SKUDeliver? SKUDeliver { get; set; } + } + + public class SKUDeliver : ChannelsECProductAddRequest.Types.SKUDeliver + { } public class Limitation : ChannelsECProductAddRequest.Types.Limitation { } + + public class ExtraService : ChannelsECProductAddRequest.Types.ExtraService + { + } + + public class Aftersale : ChannelsECProductAddRequest.Types.Aftersale + { + } } /// @@ -131,6 +150,28 @@ namespace SKIT.FlurlHttpClient.Wechat.Api.Models [System.Text.Json.Serialization.JsonPropertyName("attrs")] public IList? AttributeList { get; set; } + /// + /// 获取或设置商品编码。 + /// + [Newtonsoft.Json.JsonProperty("spu_code")] + [System.Text.Json.Serialization.JsonPropertyName("spu_code")] + public string? ApuCode { get; set; } + + /// + /// 获取或设置品牌 ID。 + /// + [Newtonsoft.Json.JsonProperty("brand_id")] + [System.Text.Json.Serialization.JsonPropertyName("brand_id")] + [System.Text.Json.Serialization.JsonNumberHandling(System.Text.Json.Serialization.JsonNumberHandling.AllowReadingFromString)] + public long? BrandId { get; set; } + + /// + /// 获取或设置特殊资质图片媒体文件标识 ID 列表。 + /// + [Newtonsoft.Json.JsonProperty("qualifications")] + [System.Text.Json.Serialization.JsonPropertyName("qualifications")] + public IList? QualificationPictureMediaIdList { get; set; } + /// /// 获取或设置发货方式。 /// @@ -166,6 +207,13 @@ namespace SKIT.FlurlHttpClient.Wechat.Api.Models [System.Text.Json.Serialization.JsonPropertyName("limited_info")] public Types.Limitation? Limitation { get; set; } + /// + /// 获取或设置额外的服务信息。 + /// + [Newtonsoft.Json.JsonProperty("extra_service")] + [System.Text.Json.Serialization.JsonPropertyName("extra_service")] + public Types.ExtraService? ExtraService { get; set; } + /// /// 获取或设置更新后是否立即上架。 /// @@ -174,5 +222,12 @@ namespace SKIT.FlurlHttpClient.Wechat.Api.Models [System.Text.Json.Serialization.JsonPropertyName("listing")] [System.Text.Json.Serialization.JsonConverter(typeof(System.Text.Json.Converters.NumericalNullableBooleanConverter))] public bool? RequireListing { get; set; } + + /// + /// 获取或设置售后地址。 + /// + [Newtonsoft.Json.JsonProperty("after_sale_info")] + [System.Text.Json.Serialization.JsonPropertyName("after_sale_info")] + public Types.Aftersale? Aftersale { get; set; } } } diff --git a/test/SKIT.FlurlHttpClient.Wechat.Api.UnitTests/ModelSamples/Channels/ECBrand/ChannelsECBrandValidListGetRequest.json b/test/SKIT.FlurlHttpClient.Wechat.Api.UnitTests/ModelSamples/Channels/ECBrand/ChannelsECBrandValidListGetRequest.json new file mode 100644 index 0000000000000000000000000000000000000000..3d5652859482d5b5ceb5f6a8212f4a6127944e09 --- /dev/null +++ b/test/SKIT.FlurlHttpClient.Wechat.Api.UnitTests/ModelSamples/Channels/ECBrand/ChannelsECBrandValidListGetRequest.json @@ -0,0 +1,4 @@ +{ + "page_size": 5, + "next_key": "" +} diff --git a/test/SKIT.FlurlHttpClient.Wechat.Api.UnitTests/ModelSamples/Channels/ECBrand/ChannelsECBrandValidListGetResponse.json b/test/SKIT.FlurlHttpClient.Wechat.Api.UnitTests/ModelSamples/Channels/ECBrand/ChannelsECBrandValidListGetResponse.json new file mode 100644 index 0000000000000000000000000000000000000000..61c90d0f4b13b14077af7d4b083ec712c1f707b7 --- /dev/null +++ b/test/SKIT.FlurlHttpClient.Wechat.Api.UnitTests/ModelSamples/Channels/ECBrand/ChannelsECBrandValidListGetResponse.json @@ -0,0 +1,104 @@ +{ + "errcode": 0, + "errmsg": "ok", + "brands": [ + { + "brand_id": "10000083", + "ch_name": "", + "en_name": "vivo", + "classification_no": "5", + "trade_mark_symbol": 1, + "register_details": { + "registrant": "111", + "register_no": "1111", + "start_time": 1667318400, + "end_time": 1669219200, + "is_permanent": false, + "register_certifications": [ + "file_id_XXXX" + ], + "renew_certifications": [ + "file_id_XXXX" + ] + }, + "grant_type": 1, + "grant_details": { + "grant_certifications": [], + "brand_owner_id_photos": [] + }, + "application_details": { + "acceptance_certification": [ + "file_id_XXXX" + ] + }, + "status": 2, + "create_time": 1668686275, + "update_time": 1668735765 + }, + { + "brand_id": "10003374", + "ch_name": "", + "en_name": "byj", + "classification_no": "2", + "trade_mark_symbol": 1, + "register_details": { + "registrant": "111", + "register_no": "111", + "start_time": 1667750400, + "end_time": 1669737600, + "is_permanent": false, + "register_certifications": [ + "file_id_XXXX" + ], + "renew_certifications": [ + "file_id_XXXX" + ] + }, + "application_details": { + "acceptance_certification": [] + }, + "grant_type": 1, + "grant_details": { + "grant_certifications": [], + "brand_owner_id_photos": [] + }, + "grant_type": 1, + "status": 2, + "create_time": 1667623597, + "update_time": 1668152185 + }, + { + "brand_id": "10002934", + "ch_name": "周大生", + "en_name": "", + "classification_no": "5", + "trade_mark_symbol": 1, + "register_details": { + "registrant": "222", + "register_no": "111", + "start_time": 1665417600, + "end_time": 1666713600, + "is_permanent": false, + "register_certifications": [ + "file_id_XXXX" + ], + "renew_certifications": [ + "file_id_XXXX" + ] + }, + "application_details": { + "acceptance_certification": [] + }, + "grant_type": 1, + "grant_details": { + "grant_certifications": [], + "brand_owner_id_photos": [] + }, + "status": 2, + "create_time": 1666349246, + "update_time": 1666352609 + } + ], + "total_num": 3, + "next_key": "next_key_xxxx" +} diff --git a/test/SKIT.FlurlHttpClient.Wechat.Api.UnitTests/ModelSamples/Channels/ECMerchant/FreightTemplate/ChannelsECMerchantGetFreightTemplateDetailResponse.json b/test/SKIT.FlurlHttpClient.Wechat.Api.UnitTests/ModelSamples/Channels/ECMerchant/FreightTemplate/ChannelsECMerchantGetFreightTemplateDetailResponse.json index c8a22651193b8bb5d8d3026faf4a21b34d93527d..8b31100e832bbe2d823ad862a8fe6f8c59dee40d 100644 --- a/test/SKIT.FlurlHttpClient.Wechat.Api.UnitTests/ModelSamples/Channels/ECMerchant/FreightTemplate/ChannelsECMerchantGetFreightTemplateDetailResponse.json +++ b/test/SKIT.FlurlHttpClient.Wechat.Api.UnitTests/ModelSamples/Channels/ECMerchant/FreightTemplate/ChannelsECMerchantGetFreightTemplateDetailResponse.json @@ -1,4 +1,4 @@ -{ +{ "errcode": 0, "errmsg": "ok", "freight_template": { @@ -27,7 +27,7 @@ }, "create_time": 1653892643, "update_time": 1653892643, - "is_default": 0, + "is_default": false, "not_send_area": { "address_info": [] } diff --git a/test/SKIT.FlurlHttpClient.Wechat.Api.UnitTests/ModelSamples/Channels/ECProduct/ChannelsECProductAddRequest.json b/test/SKIT.FlurlHttpClient.Wechat.Api.UnitTests/ModelSamples/Channels/ECProduct/ChannelsECProductAddRequest.json index c5cdd7ca537271f8e6d158f97de78b90626d4f56..5658d954f8d0e54fea99b6043a45fa1e8be21745 100644 --- a/test/SKIT.FlurlHttpClient.Wechat.Api.UnitTests/ModelSamples/Channels/ECProduct/ChannelsECProductAddRequest.json +++ b/test/SKIT.FlurlHttpClient.Wechat.Api.UnitTests/ModelSamples/Channels/ECProduct/ChannelsECProductAddRequest.json @@ -1,4 +1,4 @@ -{ +{ "title": "任天堂 Nintendo Switch 国行续航增强版 NS家用体感游戏机掌机 便携掌上游戏机 红蓝主机", "sub_title": "随时随地,一起趣玩。", "head_imgs": [ @@ -49,7 +49,26 @@ "attr_key": "选择套装", "attr_value": "主机+保护套" } - ] + ], + "sku_deliver_info": { + "stock_type": 1, + "full_payment_presale_delivery_type": 2, + "presale_begin_time": 1700450698, + "presale_end_time": 1700882698, + "full_payment_presale_delivery_time": 3 + } } - ] + ], + "spu_code": "AABBCC", + "brand_id": 2100000000, + "qualifications": [ "123123" ], + "extra_service": { + "seven_day_return": 1, + "pay_after_use": 1, + "freight_insurance": 0 + }, + "listing": true, + "after_sale_info": { + "after_sale_address_id": 123345 + } } diff --git a/test/SKIT.FlurlHttpClient.Wechat.Api.UnitTests/ModelSamples/Channels/ECProduct/ChannelsECProductGetResponse.json b/test/SKIT.FlurlHttpClient.Wechat.Api.UnitTests/ModelSamples/Channels/ECProduct/ChannelsECProductGetResponse.json index c6463a930478f73fa6d218348002e751fe9f20f9..0dfaa4a72e6ea0a9aed5a6b0fff28835edc8340b 100644 --- a/test/SKIT.FlurlHttpClient.Wechat.Api.UnitTests/ModelSamples/Channels/ECProduct/ChannelsECProductGetResponse.json +++ b/test/SKIT.FlurlHttpClient.Wechat.Api.UnitTests/ModelSamples/Channels/ECProduct/ChannelsECProductGetResponse.json @@ -1,4 +1,4 @@ -{ +{ "errcode": 0, "errmsg": "ok", "product": { @@ -50,9 +50,28 @@ "stock_num": 5, "sku_code": "SKU_CODE_TEST", "sku_attrs": [], - "status": 0 + "status": 0, + "sku_deliver_info": { + "stock_type": 1, + "full_payment_presale_delivery_type": 2, + "presale_begin_time": 1700450698, + "presale_end_time": 1700882698, + "full_payment_presale_delivery_time": 3 + } } ], - "min_price": 1 + "min_price": 1, + "product_type": 1, + "spu_code": "AABBCC", + "brand_id": 2100000000, + "extra_service": { + "seven_day_return": 1, + "pay_after_use": 1, + "freight_insurance": 0 + }, + "edit_time": 1700450698, + "after_sale_info": { + "after_sale_address_id": 123345 + } } } diff --git a/test/SKIT.FlurlHttpClient.Wechat.Api.UnitTests/ModelSamples/Channels/ECProduct/ChannelsECProductH5UrlGetRequest.json b/test/SKIT.FlurlHttpClient.Wechat.Api.UnitTests/ModelSamples/Channels/ECProduct/ChannelsECProductH5UrlGetRequest.json new file mode 100644 index 0000000000000000000000000000000000000000..05cb7aed28c5659181c0ced0fb6b995031b82de0 --- /dev/null +++ b/test/SKIT.FlurlHttpClient.Wechat.Api.UnitTests/ModelSamples/Channels/ECProduct/ChannelsECProductH5UrlGetRequest.json @@ -0,0 +1,3 @@ +{ + "product_id": "324545" +} diff --git a/test/SKIT.FlurlHttpClient.Wechat.Api.UnitTests/ModelSamples/Channels/ECProduct/ChannelsECProductH5UrlGetResponse.json b/test/SKIT.FlurlHttpClient.Wechat.Api.UnitTests/ModelSamples/Channels/ECProduct/ChannelsECProductH5UrlGetResponse.json new file mode 100644 index 0000000000000000000000000000000000000000..1c63b7b5f8ac4d8cc297c57dc93bbe5b6145b7ab --- /dev/null +++ b/test/SKIT.FlurlHttpClient.Wechat.Api.UnitTests/ModelSamples/Channels/ECProduct/ChannelsECProductH5UrlGetResponse.json @@ -0,0 +1,5 @@ +{ + "errcode": 0, + "errmsg": "ok", + "product_h5url": "https://channels.weixin.qq.com/shop/a/xsgVVZtSGpqwd45" +} diff --git a/test/SKIT.FlurlHttpClient.Wechat.Api.UnitTests/ModelSamples/Channels/ECProduct/ChannelsECProductQrcodeGetRequest.json b/test/SKIT.FlurlHttpClient.Wechat.Api.UnitTests/ModelSamples/Channels/ECProduct/ChannelsECProductQrcodeGetRequest.json new file mode 100644 index 0000000000000000000000000000000000000000..05cb7aed28c5659181c0ced0fb6b995031b82de0 --- /dev/null +++ b/test/SKIT.FlurlHttpClient.Wechat.Api.UnitTests/ModelSamples/Channels/ECProduct/ChannelsECProductQrcodeGetRequest.json @@ -0,0 +1,3 @@ +{ + "product_id": "324545" +} diff --git a/test/SKIT.FlurlHttpClient.Wechat.Api.UnitTests/ModelSamples/Channels/ECProduct/ChannelsECProductQrcodeGetResponse.json b/test/SKIT.FlurlHttpClient.Wechat.Api.UnitTests/ModelSamples/Channels/ECProduct/ChannelsECProductQrcodeGetResponse.json new file mode 100644 index 0000000000000000000000000000000000000000..b5fad612a8c1415fbaf00117f2f90c921bd09f2c --- /dev/null +++ b/test/SKIT.FlurlHttpClient.Wechat.Api.UnitTests/ModelSamples/Channels/ECProduct/ChannelsECProductQrcodeGetResponse.json @@ -0,0 +1,5 @@ +{ + "errcode": 0, + "errmsg": "ok", + "product_qrcode": "https://store.mp.video.tencent-cloud.com/161/20304/snscosdownload/SH/reserved/642a2b730001a542dbe0b846bcc4b00b002000a1000f4f50" +} diff --git a/test/SKIT.FlurlHttpClient.Wechat.Api.UnitTests/ModelSamples/Channels/ECProduct/ChannelsECProductTagLinkGetRequest.json b/test/SKIT.FlurlHttpClient.Wechat.Api.UnitTests/ModelSamples/Channels/ECProduct/ChannelsECProductTagLinkGetRequest.json new file mode 100644 index 0000000000000000000000000000000000000000..05cb7aed28c5659181c0ced0fb6b995031b82de0 --- /dev/null +++ b/test/SKIT.FlurlHttpClient.Wechat.Api.UnitTests/ModelSamples/Channels/ECProduct/ChannelsECProductTagLinkGetRequest.json @@ -0,0 +1,3 @@ +{ + "product_id": "324545" +} diff --git a/test/SKIT.FlurlHttpClient.Wechat.Api.UnitTests/ModelSamples/Channels/ECProduct/ChannelsECProductTagLinkGetResponse.json b/test/SKIT.FlurlHttpClient.Wechat.Api.UnitTests/ModelSamples/Channels/ECProduct/ChannelsECProductTagLinkGetResponse.json new file mode 100644 index 0000000000000000000000000000000000000000..84463a91353055de1745e99b5abc67a9c6a282b9 --- /dev/null +++ b/test/SKIT.FlurlHttpClient.Wechat.Api.UnitTests/ModelSamples/Channels/ECProduct/ChannelsECProductTagLinkGetResponse.json @@ -0,0 +1,5 @@ +{ + "errcode": 0, + "errmsg": "ok", + "product_taglink": "#视频号小店://视频号小店/jMv2lqYonCP1qqv" +} diff --git a/test/SKIT.FlurlHttpClient.Wechat.Api.UnitTests/ModelSamples/Channels/ECProduct/ChannelsECProductUpdateRequest.json b/test/SKIT.FlurlHttpClient.Wechat.Api.UnitTests/ModelSamples/Channels/ECProduct/ChannelsECProductUpdateRequest.json index f7b9ad7be46d0d11d51f8bbb8f5aab850d0c0d37..f08ef2101033ae8de5df5cac5d92b3ce0e7163dc 100644 --- a/test/SKIT.FlurlHttpClient.Wechat.Api.UnitTests/ModelSamples/Channels/ECProduct/ChannelsECProductUpdateRequest.json +++ b/test/SKIT.FlurlHttpClient.Wechat.Api.UnitTests/ModelSamples/Channels/ECProduct/ChannelsECProductUpdateRequest.json @@ -1,4 +1,4 @@ -{ +{ "product_id": "10000000089215", "title": "任天堂 Nintendo Switch 国行续航增强版 NS家用体感游戏机掌机 便携掌上游戏机 红蓝主机", "sub_title": "随时随地,一起趣玩。【更新】", @@ -51,7 +51,14 @@ "attr_key": "选择套装", "attr_value": "主机+保护套" } - ] + ], + "sku_deliver_info": { + "stock_type": 1, + "full_payment_presale_delivery_type": 2, + "presale_begin_time": 1700450698, + "presale_end_time": 1700882698, + "full_payment_presale_delivery_time": 3 + } }, { "thumb_img": "https://mmecimage.cn/p/wx37f38d59298839c3/HJE9eJaEc5bJk-eaArVdILSB7MMaHgdK2-JIn51nMQ", @@ -68,7 +75,26 @@ "attr_key": "选择套装", "attr_value": "标配" } - ] + ], + "sku_deliver_info": { + "stock_type": 1, + "full_payment_presale_delivery_type": 2, + "presale_begin_time": 1700450698, + "presale_end_time": 1700882698, + "full_payment_presale_delivery_time": 3 + } } - ] + ], + "spu_code": "AABBCC", + "brand_id": 2100000000, + "qualifications": [ "123123" ], + "extra_service": { + "seven_day_return": 1, + "pay_after_use": 1, + "freight_insurance": 0 + }, + "listing": true, + "after_sale_info": { + "after_sale_address_id": 123345 + } }