diff --git a/src/SKIT.FlurlHttpClient.Wechat.Api/Events/Channels/Dropship/DropshipOrderCancelEvent.cs b/src/SKIT.FlurlHttpClient.Wechat.Api/Events/Channels/Dropship/DropshipOrderCancelEvent.cs
new file mode 100644
index 00000000..7aa70e3d
--- /dev/null
+++ b/src/SKIT.FlurlHttpClient.Wechat.Api/Events/Channels/Dropship/DropshipOrderCancelEvent.cs
@@ -0,0 +1,20 @@
+namespace SKIT.FlurlHttpClient.Wechat.Api.Events
+{
+ ///
+ /// 表示 EVENT.dropship_order_cancel 事件的数据。
+ ///
+ /// REF:
+ ///
+ ///
+ ///
+ public class DropshipOrderCancelEvent : WechatApiEvent
+ {
+ ///
+ /// 获取或设置代发单 ID。
+ ///
+ [Newtonsoft.Json.JsonProperty("ds_order_id")]
+ [System.Text.Json.Serialization.JsonPropertyName("ds_order_id")]
+ [System.Xml.Serialization.XmlElement("ds_order_id")]
+ public string DropshipOrderId { get; set; } = default!;
+ }
+}
diff --git a/src/SKIT.FlurlHttpClient.Wechat.Api/Events/Channels/Dropship/DropshipOrderNewEvent.cs b/src/SKIT.FlurlHttpClient.Wechat.Api/Events/Channels/Dropship/DropshipOrderNewEvent.cs
new file mode 100644
index 00000000..98dcb12c
--- /dev/null
+++ b/src/SKIT.FlurlHttpClient.Wechat.Api/Events/Channels/Dropship/DropshipOrderNewEvent.cs
@@ -0,0 +1,20 @@
+namespace SKIT.FlurlHttpClient.Wechat.Api.Events
+{
+ ///
+ /// 表示 EVENT.dropship_order_new 事件的数据。
+ ///
+ /// REF:
+ ///
+ ///
+ ///
+ public class DropshipOrderNewEvent : WechatApiEvent
+ {
+ ///
+ /// 获取或设置代发单 ID。
+ ///
+ [Newtonsoft.Json.JsonProperty("ds_order_id")]
+ [System.Text.Json.Serialization.JsonPropertyName("ds_order_id")]
+ [System.Xml.Serialization.XmlElement("ds_order_id")]
+ public string DropshipOrderId { get; set; } = default!;
+ }
+}
diff --git a/src/SKIT.FlurlHttpClient.Wechat.Api/Events/Channels/Dropship/DropshipOrderUpdateEvent.cs b/src/SKIT.FlurlHttpClient.Wechat.Api/Events/Channels/Dropship/DropshipOrderUpdateEvent.cs
new file mode 100644
index 00000000..b530d1cd
--- /dev/null
+++ b/src/SKIT.FlurlHttpClient.Wechat.Api/Events/Channels/Dropship/DropshipOrderUpdateEvent.cs
@@ -0,0 +1,28 @@
+namespace SKIT.FlurlHttpClient.Wechat.Api.Events
+{
+ ///
+ /// 表示 EVENT.dropship_order_update 事件的数据。
+ ///
+ /// REF:
+ ///
+ ///
+ ///
+ public class DropshipOrderUpdateEvent : WechatApiEvent
+ {
+ ///
+ /// 获取或设置代发单 ID。
+ ///
+ [Newtonsoft.Json.JsonProperty("ds_order_id")]
+ [System.Text.Json.Serialization.JsonPropertyName("ds_order_id")]
+ [System.Xml.Serialization.XmlElement("ds_order_id")]
+ public string DropshipOrderId { get; set; } = default!;
+
+ ///
+ /// 获取或设置更新时间戳。
+ ///
+ [Newtonsoft.Json.JsonProperty("update_time")]
+ [System.Text.Json.Serialization.JsonPropertyName("update_time")]
+ [System.Xml.Serialization.XmlElement("update_time")]
+ public long UpdateTimestamp { get; set; }
+ }
+}
diff --git a/src/SKIT.FlurlHttpClient.Wechat.Api/Events/Channels/EWaybill/EWaybillPushPathEvent.cs b/src/SKIT.FlurlHttpClient.Wechat.Api/Events/Channels/EWaybill/EWaybillPushPathEvent.cs
index 38e53d4c..4751ab93 100644
--- a/src/SKIT.FlurlHttpClient.Wechat.Api/Events/Channels/EWaybill/EWaybillPushPathEvent.cs
+++ b/src/SKIT.FlurlHttpClient.Wechat.Api/Events/Channels/EWaybill/EWaybillPushPathEvent.cs
@@ -4,7 +4,9 @@ namespace SKIT.FlurlHttpClient.Wechat.Api.Events
/// 表示 EVENT.ewaybill_push_path 事件的数据。
///
/// REF:
- ///
+ ///
+ ///
+ ///
///
///
public class EWaybillPushPathEvent : WechatApiEvent
diff --git a/src/SKIT.FlurlHttpClient.Wechat.Api/Extensions/WechatApiClientExecuteChannelsExtensions.cs b/src/SKIT.FlurlHttpClient.Wechat.Api/Extensions/WechatApiClientExecuteChannelsExtensions.cs
index 9655b941..4e3f3c46 100644
--- a/src/SKIT.FlurlHttpClient.Wechat.Api/Extensions/WechatApiClientExecuteChannelsExtensions.cs
+++ b/src/SKIT.FlurlHttpClient.Wechat.Api/Extensions/WechatApiClientExecuteChannelsExtensions.cs
@@ -3531,7 +3531,8 @@ namespace SKIT.FlurlHttpClient.Wechat.Api
///
/// REF:
///
- ///
+ ///
+ ///
///
///
///
@@ -3557,7 +3558,8 @@ namespace SKIT.FlurlHttpClient.Wechat.Api
///
/// REF:
///
- ///
+ ///
+ ///
///
///
///
@@ -3583,7 +3585,8 @@ namespace SKIT.FlurlHttpClient.Wechat.Api
///
/// REF:
///
- ///
+ ///
+ ///
///
///
///
@@ -3607,7 +3610,8 @@ namespace SKIT.FlurlHttpClient.Wechat.Api
///
/// REF:
///
- ///
+ ///
+ ///
///
///
///
@@ -3630,7 +3634,8 @@ namespace SKIT.FlurlHttpClient.Wechat.Api
/// 异步调用 [POST] /channels/ec/logistics/ewaybill/biz/order/addsuborder 接口。
///
/// REF:
- ///
+ ///
+ ///
///
///
///
@@ -3654,7 +3659,8 @@ namespace SKIT.FlurlHttpClient.Wechat.Api
///
/// REF:
///
- ///
+ ///
+ ///
///
///
///
@@ -3678,7 +3684,8 @@ namespace SKIT.FlurlHttpClient.Wechat.Api
///
/// REF:
///
- ///
+ ///
+ ///
///
///
///
@@ -3702,7 +3709,8 @@ namespace SKIT.FlurlHttpClient.Wechat.Api
///
/// REF:
///
- ///
+ ///
+ ///
///
///
///
@@ -3726,7 +3734,8 @@ namespace SKIT.FlurlHttpClient.Wechat.Api
///
/// REF:
///
- ///
+ ///
+ ///
///
///
///
@@ -3744,6 +3753,29 @@ namespace SKIT.FlurlHttpClient.Wechat.Api
return await client.SendFlurlRequestAsJsonAsync(flurlReq, data: request, cancellationToken: cancellationToken).ConfigureAwait(false);
}
+
+ ///
+ /// 异步调用 [POST] /channels/ec/logistics/ewaybill/biz/order/getprintinfo 接口。
+ ///
+ /// REF:
+ ///
+ ///
+ ///
+ ///
+ ///
+ ///
+ ///
+ public static async Task ExecuteChannelsECLogisticsEWaybillOrderGetPrintInfoAsync(this WechatApiClient client, Models.ChannelsECLogisticsEWaybillOrderGetPrintInfoRequest 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", "logistics", "ewaybill", "biz", "order", "getprintinfo")
+ .SetQueryParam("access_token", request.AccessToken);
+
+ return await client.SendFlurlRequestAsJsonAsync(flurlReq, data: request, cancellationToken: cancellationToken).ConfigureAwait(false);
+ }
#endregion
#region ECLogistics/EWaybill/Print
@@ -3778,7 +3810,8 @@ namespace SKIT.FlurlHttpClient.Wechat.Api
///
/// REF:
///
- ///
+ ///
+ ///
///
///
///
@@ -3802,7 +3835,8 @@ namespace SKIT.FlurlHttpClient.Wechat.Api
///
/// REF:
///
- ///
+ ///
+ ///
///
///
///
@@ -3826,7 +3860,8 @@ namespace SKIT.FlurlHttpClient.Wechat.Api
///
/// REF:
///
- ///
+ ///
+ ///
///
///
///
@@ -3850,7 +3885,8 @@ namespace SKIT.FlurlHttpClient.Wechat.Api
///
/// REF:
///
- ///
+ ///
+ ///
///
///
///
@@ -3874,7 +3910,8 @@ namespace SKIT.FlurlHttpClient.Wechat.Api
///
/// REF:
///
- ///
+ ///
+ ///
///
///
///
@@ -3898,7 +3935,8 @@ namespace SKIT.FlurlHttpClient.Wechat.Api
///
/// REF:
///
- ///
+ ///
+ ///
///
///
///
@@ -4025,7 +4063,8 @@ namespace SKIT.FlurlHttpClient.Wechat.Api
///
/// REF:
///
- ///
+ ///
+ ///
///
///
///
@@ -4049,7 +4088,8 @@ namespace SKIT.FlurlHttpClient.Wechat.Api
///
/// REF:
///
- ///
+ ///
+ ///
///
///
///
@@ -4073,7 +4113,8 @@ namespace SKIT.FlurlHttpClient.Wechat.Api
///
/// REF:
///
- ///
+ ///
+ ///
///
///
///
@@ -4097,7 +4138,8 @@ namespace SKIT.FlurlHttpClient.Wechat.Api
///
/// REF:
///
- ///
+ ///
+ ///
///
///
///
@@ -4121,7 +4163,8 @@ namespace SKIT.FlurlHttpClient.Wechat.Api
///
/// REF:
///
- ///
+ ///
+ ///
///
///
///
@@ -4548,7 +4591,8 @@ namespace SKIT.FlurlHttpClient.Wechat.Api
/// 异步调用 [POST] /channels/ec/order/deliverycompanylist/new/get 接口。
///
/// REF:
- ///
+ ///
+ ///
///
///
///
@@ -4616,6 +4660,240 @@ namespace SKIT.FlurlHttpClient.Wechat.Api
}
#endregion
+ #region ECOrder/Dropship
+ ///
+ /// 异步调用 [POST] /channels/ec/order/dropship/assign 接口。
+ ///
+ /// REF:
+ ///
+ ///
+ ///
+ ///
+ ///
+ ///
+ ///
+ public static async Task ExecuteChannelsECOrderDropshipAssignAsync(this WechatApiClient client, Models.ChannelsECOrderDropshipAssignRequest 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", "order", "dropship", "assign")
+ .SetQueryParam("access_token", request.AccessToken);
+
+ return await client.SendFlurlRequestAsJsonAsync(flurlReq, data: request, cancellationToken: cancellationToken).ConfigureAwait(false);
+ }
+
+ ///
+ /// 异步调用 [POST] /channels/ec/order/dropship/cancel 接口。
+ ///
+ /// REF:
+ ///
+ ///
+ ///
+ ///
+ ///
+ ///
+ ///
+ public static async Task ExecuteChannelsECOrderDropshipCancelAsync(this WechatApiClient client, Models.ChannelsECOrderDropshipCancelRequest 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", "order", "dropship", "cancel")
+ .SetQueryParam("access_token", request.AccessToken);
+
+ return await client.SendFlurlRequestAsJsonAsync(flurlReq, data: request, cancellationToken: cancellationToken).ConfigureAwait(false);
+ }
+
+ ///
+ /// 异步调用 [POST] /channels/ec/order/dropship/list 接口。
+ ///
+ /// REF:
+ ///
+ ///
+ ///
+ ///
+ ///
+ ///
+ ///
+ public static async Task ExecuteChannelsECOrderDropshipListAsync(this WechatApiClient client, Models.ChannelsECOrderDropshipListRequest 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", "order", "dropship", "list")
+ .SetQueryParam("access_token", request.AccessToken);
+
+ return await client.SendFlurlRequestAsJsonAsync(flurlReq, data: request, cancellationToken: cancellationToken).ConfigureAwait(false);
+ }
+
+ ///
+ /// 异步调用 [POST] /channels/ec/order/dropship/search 接口。
+ ///
+ /// REF:
+ ///
+ ///
+ ///
+ ///
+ ///
+ ///
+ ///
+ public static async Task ExecuteChannelsECOrderDropshipSearchAsync(this WechatApiClient client, Models.ChannelsECOrderDropshipSearchRequest 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", "order", "dropship", "search")
+ .SetQueryParam("access_token", request.AccessToken);
+
+ return await client.SendFlurlRequestAsJsonAsync(flurlReq, data: request, cancellationToken: cancellationToken).ConfigureAwait(false);
+ }
+
+ ///
+ /// 异步调用 [POST] /channels/ec/order/dropship/get 接口。
+ ///
+ /// REF:
+ ///
+ ///
+ ///
+ ///
+ ///
+ ///
+ ///
+ public static async Task ExecuteChannelsECOrderDropshipGetAsync(this WechatApiClient client, Models.ChannelsECOrderDropshipGetRequest 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", "order", "dropship", "get")
+ .SetQueryParam("access_token", request.AccessToken);
+
+ return await client.SendFlurlRequestAsJsonAsync(flurlReq, data: request, cancellationToken: cancellationToken).ConfigureAwait(false);
+ }
+
+ #region ECOrder/Dropship/Supplier
+ ///
+ /// 异步调用 [POST] /channels/ec/order/dropship/supplier/delivery/send 接口。
+ ///
+ /// REF:
+ ///
+ ///
+ ///
+ ///
+ ///
+ ///
+ ///
+ public static async Task ExecuteChannelsECOrderDropshipSupplierDeliverySendAsync(this WechatApiClient client, Models.ChannelsECOrderDropshipSupplierDeliverySendRequest 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", "order", "dropship", "supplier", "delivery", "send")
+ .SetQueryParam("access_token", request.AccessToken);
+
+ return await client.SendFlurlRequestAsJsonAsync(flurlReq, data: request, cancellationToken: cancellationToken).ConfigureAwait(false);
+ }
+
+ ///
+ /// 异步调用 [POST] /channels/ec/order/dropship/supplier/delivery/update 接口。
+ ///
+ /// REF:
+ ///
+ ///
+ ///
+ ///
+ ///
+ ///
+ ///
+ public static async Task ExecuteChannelsECOrderDropshipSupplierDeliveryUpdateAsync(this WechatApiClient client, Models.ChannelsECOrderDropshipSupplierDeliveryUpdateRequest 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", "order", "dropship", "supplier", "delivery", "update")
+ .SetQueryParam("access_token", request.AccessToken);
+
+ return await client.SendFlurlRequestAsJsonAsync(flurlReq, data: request, cancellationToken: cancellationToken).ConfigureAwait(false);
+ }
+
+ ///
+ /// 异步调用 [POST] /channels/ec/order/dropship/supplier/list 接口。
+ ///
+ /// REF:
+ ///
+ ///
+ ///
+ ///
+ ///
+ ///
+ ///
+ public static async Task ExecuteChannelsECOrderDropshipSupplierListAsync(this WechatApiClient client, Models.ChannelsECOrderDropshipSupplierListRequest 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", "order", "dropship", "supplier", "list")
+ .SetQueryParam("access_token", request.AccessToken);
+
+ return await client.SendFlurlRequestAsJsonAsync(flurlReq, data: request, cancellationToken: cancellationToken).ConfigureAwait(false);
+ }
+
+ ///
+ /// 异步调用 [POST] /channels/ec/order/dropship/supplier/search 接口。
+ ///
+ /// REF:
+ ///
+ ///
+ ///
+ ///
+ ///
+ ///
+ ///
+ public static async Task ExecuteChannelsECOrderDropshipSupplierSearchAsync(this WechatApiClient client, Models.ChannelsECOrderDropshipSupplierSearchRequest 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", "order", "dropship", "supplier", "search")
+ .SetQueryParam("access_token", request.AccessToken);
+
+ return await client.SendFlurlRequestAsJsonAsync(flurlReq, data: request, cancellationToken: cancellationToken).ConfigureAwait(false);
+ }
+
+ ///
+ /// 异步调用 [POST] /channels/ec/order/dropship/supplier/get 接口。
+ ///
+ /// REF:
+ ///
+ ///
+ ///
+ ///
+ ///
+ ///
+ ///
+ public static async Task ExecuteChannelsECOrderDropshipSupplierGetAsync(this WechatApiClient client, Models.ChannelsECOrderDropshipSupplierGetRequest 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", "order", "dropship", "supplier", "get")
+ .SetQueryParam("access_token", request.AccessToken);
+
+ return await client.SendFlurlRequestAsJsonAsync(flurlReq, data: request, cancellationToken: cancellationToken).ConfigureAwait(false);
+ }
+ #endregion
+ #endregion
+
#region ECOrder/PresentOrder
///
/// 异步调用 [POST] /channels/ec/order/presentorder/create 接口。
@@ -7057,6 +7335,217 @@ namespace SKIT.FlurlHttpClient.Wechat.Api
#endregion
#endregion
+ #region ECSupplier
+ ///
+ /// 异步调用 [POST] /channels/ec/supplier/base/get_supplier_base_info 接口。
+ ///
+ /// REF:
+ ///
+ ///
+ ///
+ ///
+ ///
+ ///
+ ///
+ public static async Task ExecuteChannelsECSupplierBaseGetSupplierBaseInfoAsync(this WechatApiClient client, Models.ChannelsECSupplierBaseGetSupplierBaseInfoRequest 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", "supplier", "base", "get_supplier_base_info")
+ .SetQueryParam("access_token", request.AccessToken);
+
+ return await client.SendFlurlRequestAsJsonAsync(flurlReq, data: request, cancellationToken: cancellationToken).ConfigureAwait(false);
+ }
+
+ #region ECSupplier/Relation
+ ///
+ /// 异步调用 [POST] /channels/ec/supplier/relation/get_distribute 接口。
+ ///
+ /// REF:
+ ///
+ ///
+ ///
+ ///
+ ///
+ ///
+ ///
+ public static async Task ExecuteChannelsECSupplierRelationGetDistributeAsync(this WechatApiClient client, Models.ChannelsECSupplierRelationGetDistributeRequest 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", "supplier", "relation", "get_distribute")
+ .SetQueryParam("access_token", request.AccessToken);
+
+ return await client.SendFlurlRequestAsJsonAsync(flurlReq, data: request, cancellationToken: cancellationToken).ConfigureAwait(false);
+ }
+
+ ///
+ /// 异步调用 [POST] /channels/ec/supplier/relation/set_manually_distribute 接口。
+ ///
+ /// REF:
+ ///
+ ///
+ ///
+ ///
+ ///
+ ///
+ ///
+ public static async Task ExecuteChannelsECSupplierRelationSetManuallyDistributeAsync(this WechatApiClient client, Models.ChannelsECSupplierRelationSetManuallyDistributeRequest 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", "supplier", "relation", "set_manually_distribute")
+ .SetQueryParam("access_token", request.AccessToken);
+
+ return await client.SendFlurlRequestAsJsonAsync(flurlReq, data: request, cancellationToken: cancellationToken).ConfigureAwait(false);
+ }
+
+ ///
+ /// 异步调用 [POST] /channels/ec/supplier/relation/set_all_distribution 接口。
+ ///
+ /// REF:
+ ///
+ ///
+ ///
+ ///
+ ///
+ ///
+ ///
+ public static async Task ExecuteChannelsECSupplierRelationSetAllDistributeAsync(this WechatApiClient client, Models.ChannelsECSupplierRelationSetAllDistributeRequest 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", "supplier", "relation", "set_all_distribution")
+ .SetQueryParam("access_token", request.AccessToken);
+
+ return await client.SendFlurlRequestAsJsonAsync(flurlReq, data: request, cancellationToken: cancellationToken).ConfigureAwait(false);
+ }
+
+ ///
+ /// 异步调用 [POST] /channels/ec/supplier/relation/set_product_distribute 接口。
+ ///
+ /// REF:
+ ///
+ ///
+ ///
+ ///
+ ///
+ ///
+ ///
+ public static async Task ExecuteChannelsECSupplierRelationSetProductDistributeAsync(this WechatApiClient client, Models.ChannelsECSupplierRelationSetProductDistributeRequest 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", "supplier", "relation", "set_product_distribute")
+ .SetQueryParam("access_token", request.AccessToken);
+
+ return await client.SendFlurlRequestAsJsonAsync(flurlReq, data: request, cancellationToken: cancellationToken).ConfigureAwait(false);
+ }
+
+ ///
+ /// 异步调用 [POST] /channels/ec/supplier/relation/get_product_default_distribute 接口。
+ ///
+ /// REF:
+ ///
+ ///
+ ///
+ ///
+ ///
+ ///
+ ///
+ public static async Task ExecuteChannelsECSupplierRelationGetProductDefaultDistributionAsync(this WechatApiClient client, Models.ChannelsECSupplierRelationGetProductDefaultDistributionRequest 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", "supplier", "relation", "get_product_default_distribute")
+ .SetQueryParam("access_token", request.AccessToken);
+
+ return await client.SendFlurlRequestAsJsonAsync(flurlReq, data: request, cancellationToken: cancellationToken).ConfigureAwait(false);
+ }
+
+ ///
+ /// 异步调用 [POST] /channels/ec/supplier/relation/get_product_list 接口。
+ ///
+ /// REF:
+ ///
+ ///
+ ///
+ ///
+ ///
+ ///
+ ///
+ public static async Task ExecuteChannelsECSupplierRelationGetProductListAsync(this WechatApiClient client, Models.ChannelsECSupplierRelationGetProductListRequest 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", "supplier", "relation", "get_product_list")
+ .SetQueryParam("access_token", request.AccessToken);
+
+ return await client.SendFlurlRequestAsJsonAsync(flurlReq, data: request, cancellationToken: cancellationToken).ConfigureAwait(false);
+ }
+
+ ///
+ /// 异步调用 [POST] /channels/ec/supplier/relation/get_supplier_list 接口。
+ ///
+ /// REF:
+ ///
+ ///
+ ///
+ ///
+ ///
+ ///
+ ///
+ public static async Task ExecuteChannelsECSupplierRelationGetSupplierListAsync(this WechatApiClient client, Models.ChannelsECSupplierRelationGetSupplierListRequest 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", "supplier", "relation", "get_supplier_list")
+ .SetQueryParam("access_token", request.AccessToken);
+
+ return await client.SendFlurlRequestAsJsonAsync(flurlReq, data: request, cancellationToken: cancellationToken).ConfigureAwait(false);
+ }
+
+ ///
+ /// 异步调用 [POST] /channels/ec/supplier/relation/get_ec_list 接口。
+ ///
+ /// REF:
+ ///
+ ///
+ ///
+ ///
+ ///
+ ///
+ ///
+ public static async Task ExecuteChannelsECSupplierRelationGetECListAsync(this WechatApiClient client, Models.ChannelsECSupplierRelationGetECListRequest 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", "supplier", "relation", "get_ec_list")
+ .SetQueryParam("access_token", request.AccessToken);
+
+ return await client.SendFlurlRequestAsJsonAsync(flurlReq, data: request, cancellationToken: cancellationToken).ConfigureAwait(false);
+ }
+ #endregion
+ #endregion
+
#region ECTalent
#region ECTalent/Order
///
diff --git a/src/SKIT.FlurlHttpClient.Wechat.Api/Models/Channels/ECLogistics/EWaybill/Order/ChannelsECLogisticsEWaybillOrderGetPrintInfoRequest.cs b/src/SKIT.FlurlHttpClient.Wechat.Api/Models/Channels/ECLogistics/EWaybill/Order/ChannelsECLogisticsEWaybillOrderGetPrintInfoRequest.cs
new file mode 100644
index 00000000..6afb5045
--- /dev/null
+++ b/src/SKIT.FlurlHttpClient.Wechat.Api/Models/Channels/ECLogistics/EWaybill/Order/ChannelsECLogisticsEWaybillOrderGetPrintInfoRequest.cs
@@ -0,0 +1,9 @@
+namespace SKIT.FlurlHttpClient.Wechat.Api.Models
+{
+ ///
+ /// 表示 [POST] /channels/ec/logistics/ewaybill/biz/order/getprintinfo 接口的请求。
+ ///
+ public class ChannelsECLogisticsEWaybillOrderGetPrintInfoRequest : ChannelsECLogisticsEWaybillPrintGetRequest, IInferable
+ {
+ }
+}
diff --git a/src/SKIT.FlurlHttpClient.Wechat.Api/Models/Channels/ECLogistics/EWaybill/Order/ChannelsECLogisticsEWaybillOrderGetPrintInfoResponse.cs b/src/SKIT.FlurlHttpClient.Wechat.Api/Models/Channels/ECLogistics/EWaybill/Order/ChannelsECLogisticsEWaybillOrderGetPrintInfoResponse.cs
new file mode 100644
index 00000000..f8f500f2
--- /dev/null
+++ b/src/SKIT.FlurlHttpClient.Wechat.Api/Models/Channels/ECLogistics/EWaybill/Order/ChannelsECLogisticsEWaybillOrderGetPrintInfoResponse.cs
@@ -0,0 +1,9 @@
+namespace SKIT.FlurlHttpClient.Wechat.Api.Models
+{
+ ///
+ /// 表示 [POST] /channels/ec/logistics/ewaybill/biz/order/getprintinfo 接口的响应。
+ ///
+ public class ChannelsECLogisticsEWaybillOrderGetPrintInfoResponse : ChannelsECLogisticsEWaybillPrintGetResponse
+ {
+ }
+}
diff --git a/src/SKIT.FlurlHttpClient.Wechat.Api/Models/Channels/ECOrder/ChannelsECOrderGetResponse.cs b/src/SKIT.FlurlHttpClient.Wechat.Api/Models/Channels/ECOrder/ChannelsECOrderGetResponse.cs
index 7a7bdd77..b4ecdbc0 100644
--- a/src/SKIT.FlurlHttpClient.Wechat.Api/Models/Channels/ECOrder/ChannelsECOrderGetResponse.cs
+++ b/src/SKIT.FlurlHttpClient.Wechat.Api/Models/Channels/ECOrder/ChannelsECOrderGetResponse.cs
@@ -209,12 +209,12 @@ namespace SKIT.FlurlHttpClient.Wechat.Api.Models
public class Dropship
{
///
- /// 获取或设置代发单号。
+ /// 获取或设置代发单 ID。
///
[Newtonsoft.Json.JsonProperty("ds_order_id")]
[System.Text.Json.Serialization.JsonPropertyName("ds_order_id")]
- [System.Text.Json.Serialization.JsonNumberHandling(System.Text.Json.Serialization.JsonNumberHandling.AllowReadingFromString)]
- public long DropshipOrderId { get; set; }
+ [System.Text.Json.Serialization.JsonConverter(typeof(System.Text.Json.Serialization.Common.NumericalStringReadOnlyConverter))]
+ public string DropshipOrderId { get; set; } = default!;
}
}
diff --git a/src/SKIT.FlurlHttpClient.Wechat.Api/Models/Channels/ECOrder/Delivery/ChannelsECOrderDeliveryInfoUpdateRequest.cs b/src/SKIT.FlurlHttpClient.Wechat.Api/Models/Channels/ECOrder/Delivery/ChannelsECOrderDeliveryInfoUpdateRequest.cs
index 34c7e981..408b8e86 100644
--- a/src/SKIT.FlurlHttpClient.Wechat.Api/Models/Channels/ECOrder/Delivery/ChannelsECOrderDeliveryInfoUpdateRequest.cs
+++ b/src/SKIT.FlurlHttpClient.Wechat.Api/Models/Channels/ECOrder/Delivery/ChannelsECOrderDeliveryInfoUpdateRequest.cs
@@ -13,28 +13,8 @@ namespace SKIT.FlurlHttpClient.Wechat.Api.Models
{
public static class Types
{
- public class Product
+ public class Product : ChannelsECOrderDeliverySendRequest.Types.Delivery.Types.Product
{
- ///
- /// 获取或设置商品 ID。
- ///
- [Newtonsoft.Json.JsonProperty("product_id")]
- [System.Text.Json.Serialization.JsonPropertyName("product_id")]
- public long ProductId { get; set; }
-
- ///
- /// 获取或设置 SKU ID。
- ///
- [Newtonsoft.Json.JsonProperty("sku_id")]
- [System.Text.Json.Serialization.JsonPropertyName("sku_id")]
- public long SKUId { get; set; }
-
- ///
- /// 获取或设置商品数量。
- ///
- [Newtonsoft.Json.JsonProperty("product_cnt")]
- [System.Text.Json.Serialization.JsonPropertyName("product_cnt")]
- public int Count { get; set; }
}
}
diff --git a/src/SKIT.FlurlHttpClient.Wechat.Api/Models/Channels/ECOrder/Dropship/ChannelsECOrderDropshipAssignRequest.cs b/src/SKIT.FlurlHttpClient.Wechat.Api/Models/Channels/ECOrder/Dropship/ChannelsECOrderDropshipAssignRequest.cs
new file mode 100644
index 00000000..b26a4ab9
--- /dev/null
+++ b/src/SKIT.FlurlHttpClient.Wechat.Api/Models/Channels/ECOrder/Dropship/ChannelsECOrderDropshipAssignRequest.cs
@@ -0,0 +1,62 @@
+using System.Collections.Generic;
+
+namespace SKIT.FlurlHttpClient.Wechat.Api.Models
+{
+ ///
+ /// 表示 [POST] /channels/ec/order/dropship/assign 接口的请求。
+ ///
+ public class ChannelsECOrderDropshipAssignRequest : WechatApiRequest, IInferable
+ {
+ public static class Types
+ {
+ public class DropshipProduct
+ {
+ ///
+ /// 获取或设置商品 ID。
+ ///
+ [Newtonsoft.Json.JsonProperty("spu_id")]
+ [Newtonsoft.Json.JsonConverter(typeof(Newtonsoft.Json.Converters.Common.TextualNumberConverter))]
+ [System.Text.Json.Serialization.JsonPropertyName("spu_id")]
+ [System.Text.Json.Serialization.JsonNumberHandling(System.Text.Json.Serialization.JsonNumberHandling.AllowReadingFromString | System.Text.Json.Serialization.JsonNumberHandling.WriteAsString)]
+ public long ProductId { get; set; }
+
+ ///
+ /// 获取或设置 SKU ID。
+ ///
+ [Newtonsoft.Json.JsonProperty("sku_id")]
+ [Newtonsoft.Json.JsonConverter(typeof(Newtonsoft.Json.Converters.Common.TextualNumberConverter))]
+ [System.Text.Json.Serialization.JsonPropertyName("sku_id")]
+ [System.Text.Json.Serialization.JsonNumberHandling(System.Text.Json.Serialization.JsonNumberHandling.AllowReadingFromString | System.Text.Json.Serialization.JsonNumberHandling.WriteAsString)]
+ public long SKUId { get; set; }
+
+ ///
+ /// 获取或设置商品数量。
+ ///
+ [Newtonsoft.Json.JsonProperty("product_cnt")]
+ [System.Text.Json.Serialization.JsonPropertyName("product_cnt")]
+ public int Count { get; set; }
+ }
+ }
+
+ ///
+ /// 获取或设置订单 ID。
+ ///
+ [Newtonsoft.Json.JsonProperty("order_id")]
+ [System.Text.Json.Serialization.JsonPropertyName("order_id")]
+ public string OrderId { get; set; } = string.Empty;
+
+ ///
+ /// 获取或设置供货商 AppId。
+ ///
+ [Newtonsoft.Json.JsonProperty("supplier_appid")]
+ [System.Text.Json.Serialization.JsonPropertyName("supplier_appid")]
+ public string SupplierAppId { get; set; } = string.Empty;
+
+ ///
+ /// 获取或设置代发商品列表。
+ ///
+ [Newtonsoft.Json.JsonProperty("dropship_product_list")]
+ [System.Text.Json.Serialization.JsonPropertyName("dropship_product_list")]
+ public IList DropshipProductList { get; set; } = new List();
+ }
+}
diff --git a/src/SKIT.FlurlHttpClient.Wechat.Api/Models/Channels/ECOrder/Dropship/ChannelsECOrderDropshipAssignResponse.cs b/src/SKIT.FlurlHttpClient.Wechat.Api/Models/Channels/ECOrder/Dropship/ChannelsECOrderDropshipAssignResponse.cs
new file mode 100644
index 00000000..70e8e55d
--- /dev/null
+++ b/src/SKIT.FlurlHttpClient.Wechat.Api/Models/Channels/ECOrder/Dropship/ChannelsECOrderDropshipAssignResponse.cs
@@ -0,0 +1,9 @@
+namespace SKIT.FlurlHttpClient.Wechat.Api.Models
+{
+ ///
+ /// 表示 [POST] /channels/ec/order/dropship/assign 接口的响应。
+ ///
+ public class ChannelsECOrderDropshipAssignResponse : WechatApiResponse
+ {
+ }
+}
diff --git a/src/SKIT.FlurlHttpClient.Wechat.Api/Models/Channels/ECOrder/Dropship/ChannelsECOrderDropshipCancelRequest.cs b/src/SKIT.FlurlHttpClient.Wechat.Api/Models/Channels/ECOrder/Dropship/ChannelsECOrderDropshipCancelRequest.cs
new file mode 100644
index 00000000..5ad47253
--- /dev/null
+++ b/src/SKIT.FlurlHttpClient.Wechat.Api/Models/Channels/ECOrder/Dropship/ChannelsECOrderDropshipCancelRequest.cs
@@ -0,0 +1,38 @@
+using System.Collections.Generic;
+
+namespace SKIT.FlurlHttpClient.Wechat.Api.Models
+{
+ ///
+ /// 表示 [POST] /channels/ec/order/dropship/cancel 接口的请求。
+ ///
+ public class ChannelsECOrderDropshipCancelRequest : WechatApiRequest, IInferable
+ {
+ public static class Types
+ {
+ public class DropshipProduct : ChannelsECOrderDropshipAssignRequest.Types.DropshipProduct
+ {
+ }
+ }
+
+ ///
+ /// 获取或设置代发单 ID。
+ ///
+ [Newtonsoft.Json.JsonProperty("ds_order_id")]
+ [System.Text.Json.Serialization.JsonPropertyName("ds_order_id")]
+ public string DropshipOrderId { get; set; } = string.Empty;
+
+ ///
+ /// 获取或设置订单 ID。
+ ///
+ [Newtonsoft.Json.JsonProperty("order_id")]
+ [System.Text.Json.Serialization.JsonPropertyName("order_id")]
+ public string OrderId { get; set; } = string.Empty;
+
+ ///
+ /// 获取或设置代发商品列表。
+ ///
+ [Newtonsoft.Json.JsonProperty("dropship_product_list")]
+ [System.Text.Json.Serialization.JsonPropertyName("dropship_product_list")]
+ public IList DropshipProductList { get; set; } = new List();
+ }
+}
diff --git a/src/SKIT.FlurlHttpClient.Wechat.Api/Models/Channels/ECOrder/Dropship/ChannelsECOrderDropshipCancelResponse.cs b/src/SKIT.FlurlHttpClient.Wechat.Api/Models/Channels/ECOrder/Dropship/ChannelsECOrderDropshipCancelResponse.cs
new file mode 100644
index 00000000..ad48bd77
--- /dev/null
+++ b/src/SKIT.FlurlHttpClient.Wechat.Api/Models/Channels/ECOrder/Dropship/ChannelsECOrderDropshipCancelResponse.cs
@@ -0,0 +1,9 @@
+namespace SKIT.FlurlHttpClient.Wechat.Api.Models
+{
+ ///
+ /// 表示 [POST] /channels/ec/order/dropship/cancel 接口的响应。
+ ///
+ public class ChannelsECOrderDropshipCancelResponse : WechatApiResponse
+ {
+ }
+}
diff --git a/src/SKIT.FlurlHttpClient.Wechat.Api/Models/Channels/ECOrder/Dropship/ChannelsECOrderDropshipGetRequest.cs b/src/SKIT.FlurlHttpClient.Wechat.Api/Models/Channels/ECOrder/Dropship/ChannelsECOrderDropshipGetRequest.cs
new file mode 100644
index 00000000..7abd3d6e
--- /dev/null
+++ b/src/SKIT.FlurlHttpClient.Wechat.Api/Models/Channels/ECOrder/Dropship/ChannelsECOrderDropshipGetRequest.cs
@@ -0,0 +1,15 @@
+namespace SKIT.FlurlHttpClient.Wechat.Api.Models
+{
+ ///
+ /// 表示 [POST] /channels/ec/order/dropship/get 接口的请求。
+ ///
+ public class ChannelsECOrderDropshipGetRequest : WechatApiRequest, IInferable
+ {
+ ///
+ /// 获取或设置代发单 ID。
+ ///
+ [Newtonsoft.Json.JsonProperty("ds_order_id")]
+ [System.Text.Json.Serialization.JsonPropertyName("ds_order_id")]
+ public string DropshipOrderId { get; set; } = string.Empty;
+ }
+}
diff --git a/src/SKIT.FlurlHttpClient.Wechat.Api/Models/Channels/ECOrder/Dropship/ChannelsECOrderDropshipGetResponse.cs b/src/SKIT.FlurlHttpClient.Wechat.Api/Models/Channels/ECOrder/Dropship/ChannelsECOrderDropshipGetResponse.cs
new file mode 100644
index 00000000..97fb6054
--- /dev/null
+++ b/src/SKIT.FlurlHttpClient.Wechat.Api/Models/Channels/ECOrder/Dropship/ChannelsECOrderDropshipGetResponse.cs
@@ -0,0 +1,72 @@
+namespace SKIT.FlurlHttpClient.Wechat.Api.Models
+{
+ ///
+ /// 表示 [POST] /channels/ec/order/dropship/get 接口的响应。
+ ///
+ public class ChannelsECOrderDropshipGetResponse : WechatApiResponse
+ {
+ public static class Types
+ {
+ public class DropshipOrder
+ {
+ ///
+ /// 获取或设置供货商 AppId。
+ ///
+ [Newtonsoft.Json.JsonProperty("supplier_appid")]
+ [System.Text.Json.Serialization.JsonPropertyName("supplier_appid")]
+ public string SupplierAppId { get; set; } = default!;
+
+ ///
+ /// 获取或设置供货商名称。
+ ///
+ [Newtonsoft.Json.JsonProperty("supplier_name")]
+ [System.Text.Json.Serialization.JsonPropertyName("supplier_name")]
+ public string SupplierName { get; set; } = default!;
+
+ ///
+ /// 获取或设置代发单 ID。
+ ///
+ [Newtonsoft.Json.JsonProperty("ds_order_id")]
+ [System.Text.Json.Serialization.JsonPropertyName("ds_order_id")]
+ [System.Text.Json.Serialization.JsonConverter(typeof(System.Text.Json.Serialization.Common.NumericalStringReadOnlyConverter))]
+ public string DropshipOrderId { get; set; } = default!;
+
+ ///
+ /// 获取或设置订单 ID。
+ ///
+ [Newtonsoft.Json.JsonProperty("order_id")]
+ [System.Text.Json.Serialization.JsonPropertyName("order_id")]
+ [System.Text.Json.Serialization.JsonConverter(typeof(System.Text.Json.Serialization.Common.NumericalStringReadOnlyConverter))]
+ public string OrderId { get; set; } = default!;
+
+ ///
+ /// 获取或设置代发单状态状态。
+ ///
+ [Newtonsoft.Json.JsonProperty("status")]
+ [System.Text.Json.Serialization.JsonPropertyName("status")]
+ public int Status { get; set; }
+
+ ///
+ /// 获取或设置创建时间戳。
+ ///
+ [Newtonsoft.Json.JsonProperty("create_time")]
+ [System.Text.Json.Serialization.JsonPropertyName("create_time")]
+ public long CreateTimestamp { get; set; }
+
+ ///
+ /// 获取或设置更新时间戳。
+ ///
+ [Newtonsoft.Json.JsonProperty("update_time")]
+ [System.Text.Json.Serialization.JsonPropertyName("update_time")]
+ public long UpdateTimestamp { get; set; }
+ }
+ }
+
+ ///
+ /// 获取或设置代发单信息。
+ ///
+ [Newtonsoft.Json.JsonProperty("dropship_order")]
+ [System.Text.Json.Serialization.JsonPropertyName("dropship_order")]
+ public Types.DropshipOrder DropshipOrder { get; set; } = default!;
+ }
+}
diff --git a/src/SKIT.FlurlHttpClient.Wechat.Api/Models/Channels/ECOrder/Dropship/ChannelsECOrderDropshipListRequest.cs b/src/SKIT.FlurlHttpClient.Wechat.Api/Models/Channels/ECOrder/Dropship/ChannelsECOrderDropshipListRequest.cs
new file mode 100644
index 00000000..c0064667
--- /dev/null
+++ b/src/SKIT.FlurlHttpClient.Wechat.Api/Models/Channels/ECOrder/Dropship/ChannelsECOrderDropshipListRequest.cs
@@ -0,0 +1,80 @@
+namespace SKIT.FlurlHttpClient.Wechat.Api.Models
+{
+ ///
+ /// 表示 [POST] /channels/ec/order/dropship/list 接口的请求。
+ ///
+ public class ChannelsECOrderDropshipListRequest : WechatApiRequest, IInferable
+ {
+ public static class Types
+ {
+ public class TimeRange
+ {
+ ///
+ /// 获取或设置开始时间戳。
+ ///
+ [Newtonsoft.Json.JsonProperty("start_time")]
+ [System.Text.Json.Serialization.JsonPropertyName("start_time")]
+ public long StartTimestamp { get; set; }
+
+ ///
+ /// 获取或设置结束时间戳。
+ ///
+ [Newtonsoft.Json.JsonProperty("end_time")]
+ [System.Text.Json.Serialization.JsonPropertyName("end_time")]
+ public long EndTimestamp { get; set; }
+ }
+
+ public class Pagination
+ {
+ ///
+ /// 获取或设置分页起始位置。
+ ///
+ [Newtonsoft.Json.JsonProperty("offset")]
+ [System.Text.Json.Serialization.JsonPropertyName("offset")]
+ public int Offset { get; set; }
+
+ ///
+ /// 获取或设置分页每页数量。
+ ///
+ [Newtonsoft.Json.JsonProperty("limit")]
+ [System.Text.Json.Serialization.JsonPropertyName("limit")]
+ public int Limit { get; set; }
+ }
+ }
+
+ ///
+ /// 获取或设置创建时间范围信息。
+ ///
+ [Newtonsoft.Json.JsonProperty("create_time_range")]
+ [System.Text.Json.Serialization.JsonPropertyName("create_time_range")]
+ public Types.TimeRange? CreateTimeRange { get; set; }
+
+ ///
+ /// 获取或设置供货商 AppId。
+ ///
+ [Newtonsoft.Json.JsonProperty("supplier_appid")]
+ [System.Text.Json.Serialization.JsonPropertyName("supplier_appid")]
+ public string? SupplierAppId { get; set; }
+
+ ///
+ /// 获取或设置代发单状态。
+ ///
+ [Newtonsoft.Json.JsonProperty("status")]
+ [System.Text.Json.Serialization.JsonPropertyName("status")]
+ public int? Status { get; set; }
+
+ ///
+ /// 获取或设置订单号。
+ ///
+ [Newtonsoft.Json.JsonProperty("order_id")]
+ [System.Text.Json.Serialization.JsonPropertyName("order_id")]
+ public string? OrderId { get; set; }
+
+ ///
+ /// 获取或设置分页信息。
+ ///
+ [Newtonsoft.Json.JsonProperty("page_info")]
+ [System.Text.Json.Serialization.JsonPropertyName("page_info")]
+ public Types.Pagination? Pagination { get; set; }
+ }
+}
diff --git a/src/SKIT.FlurlHttpClient.Wechat.Api/Models/Channels/ECOrder/Dropship/ChannelsECOrderDropshipListResponse.cs b/src/SKIT.FlurlHttpClient.Wechat.Api/Models/Channels/ECOrder/Dropship/ChannelsECOrderDropshipListResponse.cs
new file mode 100644
index 00000000..1580e904
--- /dev/null
+++ b/src/SKIT.FlurlHttpClient.Wechat.Api/Models/Channels/ECOrder/Dropship/ChannelsECOrderDropshipListResponse.cs
@@ -0,0 +1,43 @@
+namespace SKIT.FlurlHttpClient.Wechat.Api.Models
+{
+ ///
+ /// 表示 [POST] /channels/ec/order/dropship/list 接口的响应。
+ ///
+ public class ChannelsECOrderDropshipListResponse : WechatApiResponse
+ {
+ public static class Types
+ {
+ public class Pagination : ChannelsECOrderDropshipListRequest.Types.Pagination
+ {
+ }
+ }
+
+ ///
+ /// 获取或设置代发单 ID 列表。
+ ///
+ [Newtonsoft.Json.JsonProperty("ds_order_id_list")]
+ [System.Text.Json.Serialization.JsonPropertyName("ds_order_id_list")]
+ public string[] DropshipOrderIdList { get; set; } = default!;
+
+ ///
+ /// 获取或设置总数量。
+ ///
+ [Newtonsoft.Json.JsonProperty("total")]
+ [System.Text.Json.Serialization.JsonPropertyName("total")]
+ public int TotalCount { get; set; }
+
+ ///
+ /// 获取或设置是否还有更多。
+ ///
+ [Newtonsoft.Json.JsonProperty("has_more")]
+ [System.Text.Json.Serialization.JsonPropertyName("has_more")]
+ public bool HasMore { get; set; }
+
+ ///
+ /// 获取或设置下一页分页信息。
+ ///
+ [Newtonsoft.Json.JsonProperty("next_page")]
+ [System.Text.Json.Serialization.JsonPropertyName("next_page")]
+ public Types.Pagination? NextPagination { get; set; }
+ }
+}
diff --git a/src/SKIT.FlurlHttpClient.Wechat.Api/Models/Channels/ECOrder/Dropship/ChannelsECOrderDropshipSearchRequest.cs b/src/SKIT.FlurlHttpClient.Wechat.Api/Models/Channels/ECOrder/Dropship/ChannelsECOrderDropshipSearchRequest.cs
new file mode 100644
index 00000000..d7e6ff40
--- /dev/null
+++ b/src/SKIT.FlurlHttpClient.Wechat.Api/Models/Channels/ECOrder/Dropship/ChannelsECOrderDropshipSearchRequest.cs
@@ -0,0 +1,74 @@
+namespace SKIT.FlurlHttpClient.Wechat.Api.Models
+{
+ ///
+ /// 表示 [POST] /channels/ec/order/dropship/search 接口的请求。
+ ///
+ public class ChannelsECOrderDropshipSearchRequest : WechatApiRequest, IInferable
+ {
+ public static class Types
+ {
+ public class SearchCondition
+ {
+ public static class Types
+ {
+ public class TimeRange : ChannelsECOrderDropshipListRequest.Types.TimeRange
+ {
+ }
+ }
+
+ ///
+ /// 获取或设置创建时间范围信息。
+ ///
+ [Newtonsoft.Json.JsonProperty("create_time_range")]
+ [System.Text.Json.Serialization.JsonPropertyName("create_time_range")]
+ public Types.TimeRange? CreateTimeRange { get; set; }
+
+ ///
+ /// 获取或设置供货商 AppId。
+ ///
+ [Newtonsoft.Json.JsonProperty("supplier_appid")]
+ [System.Text.Json.Serialization.JsonPropertyName("supplier_appid")]
+ public string? SupplierAppId { get; set; }
+
+ ///
+ /// 获取或设置代发单状态。
+ ///
+ [Newtonsoft.Json.JsonProperty("status")]
+ [System.Text.Json.Serialization.JsonPropertyName("status")]
+ public int? Status { get; set; }
+
+ ///
+ /// 获取或设置订单号。
+ ///
+ [Newtonsoft.Json.JsonProperty("order_id")]
+ [System.Text.Json.Serialization.JsonPropertyName("order_id")]
+ public string? OrderId { get; set; }
+
+ ///
+ /// 获取或设置运单号。
+ ///
+ [Newtonsoft.Json.JsonProperty("waybill_id")]
+ [System.Text.Json.Serialization.JsonPropertyName("waybill_id")]
+ public string? WaybillId { get; set; }
+ }
+
+ public class Pagination : ChannelsECOrderDropshipSupplierListRequest.Types.Pagination
+ {
+ }
+ }
+
+ ///
+ /// 获取或设置搜索条件信息。
+ ///
+ [Newtonsoft.Json.JsonProperty("search_condition")]
+ [System.Text.Json.Serialization.JsonPropertyName("search_condition")]
+ public Types.SearchCondition SearchCondition { get; set; } = new Types.SearchCondition();
+
+ ///
+ /// 获取或设置分页信息。
+ ///
+ [Newtonsoft.Json.JsonProperty("page_info")]
+ [System.Text.Json.Serialization.JsonPropertyName("page_info")]
+ public Types.Pagination? Pagination { get; set; }
+ }
+}
diff --git a/src/SKIT.FlurlHttpClient.Wechat.Api/Models/Channels/ECOrder/Dropship/ChannelsECOrderDropshipSearchResponse.cs b/src/SKIT.FlurlHttpClient.Wechat.Api/Models/Channels/ECOrder/Dropship/ChannelsECOrderDropshipSearchResponse.cs
new file mode 100644
index 00000000..aefdce45
--- /dev/null
+++ b/src/SKIT.FlurlHttpClient.Wechat.Api/Models/Channels/ECOrder/Dropship/ChannelsECOrderDropshipSearchResponse.cs
@@ -0,0 +1,43 @@
+namespace SKIT.FlurlHttpClient.Wechat.Api.Models
+{
+ ///
+ /// 表示 [POST] /channels/ec/order/dropship/search 接口的响应。
+ ///
+ public class ChannelsECOrderDropshipSearchResponse : WechatApiResponse
+ {
+ public static class Types
+ {
+ public class Pagination : ChannelsECOrderDropshipSearchRequest.Types.Pagination
+ {
+ }
+ }
+
+ ///
+ /// 获取或设置代发单 ID 列表。
+ ///
+ [Newtonsoft.Json.JsonProperty("ds_order_id_list")]
+ [System.Text.Json.Serialization.JsonPropertyName("ds_order_id_list")]
+ public string[] DropshipOrderIdList { get; set; } = default!;
+
+ ///
+ /// 获取或设置总数量。
+ ///
+ [Newtonsoft.Json.JsonProperty("total")]
+ [System.Text.Json.Serialization.JsonPropertyName("total")]
+ public int TotalCount { get; set; }
+
+ ///
+ /// 获取或设置是否还有更多。
+ ///
+ [Newtonsoft.Json.JsonProperty("has_more")]
+ [System.Text.Json.Serialization.JsonPropertyName("has_more")]
+ public bool HasMore { get; set; }
+
+ ///
+ /// 获取或设置下一页分页信息。
+ ///
+ [Newtonsoft.Json.JsonProperty("next_page")]
+ [System.Text.Json.Serialization.JsonPropertyName("next_page")]
+ public Types.Pagination? NextPagination { get; set; }
+ }
+}
diff --git a/src/SKIT.FlurlHttpClient.Wechat.Api/Models/Channels/ECOrder/Dropship/Supplier/ChannelsECOrderDropshipSupplierDeliverySendRequest.cs b/src/SKIT.FlurlHttpClient.Wechat.Api/Models/Channels/ECOrder/Dropship/Supplier/ChannelsECOrderDropshipSupplierDeliverySendRequest.cs
new file mode 100644
index 00000000..595d936f
--- /dev/null
+++ b/src/SKIT.FlurlHttpClient.Wechat.Api/Models/Channels/ECOrder/Dropship/Supplier/ChannelsECOrderDropshipSupplierDeliverySendRequest.cs
@@ -0,0 +1,58 @@
+using System.Collections.Generic;
+
+namespace SKIT.FlurlHttpClient.Wechat.Api.Models
+{
+ ///
+ /// 表示 [POST] /channels/ec/order/dropship/supplier/delivery/send 接口的请求。
+ ///
+ public class ChannelsECOrderDropshipSupplierDeliverySendRequest : WechatApiRequest, IInferable
+ {
+ public static class Types
+ {
+ public class Delivery
+ {
+ public static class Types
+ {
+ public class Product : ChannelsECOrderDeliverySendRequest.Types.Delivery.Types.Product
+ {
+ }
+ }
+
+ ///
+ /// 获取或设置快递公司 ID。
+ ///
+ [Newtonsoft.Json.JsonProperty("delivery_id")]
+ [System.Text.Json.Serialization.JsonPropertyName("delivery_id")]
+ public string DeliveryId { get; set; } = string.Empty;
+
+ ///
+ /// 获取或设置快递单号。
+ ///
+ [Newtonsoft.Json.JsonProperty("waybill_id")]
+ [System.Text.Json.Serialization.JsonPropertyName("waybill_id")]
+ public string WaybillId { get; set; } = string.Empty;
+
+ ///
+ /// 获取或设置商品列表。
+ ///
+ [Newtonsoft.Json.JsonProperty("product_infos")]
+ [System.Text.Json.Serialization.JsonPropertyName("product_infos")]
+ public IList ProductList { get; set; } = new List();
+ }
+ }
+
+ ///
+ /// 获取或设置代发单 ID。
+ ///
+ [Newtonsoft.Json.JsonProperty("ds_order_id")]
+ [System.Text.Json.Serialization.JsonPropertyName("ds_order_id")]
+ public string DropshipOrderId { get; set; } = string.Empty;
+
+ ///
+ /// 获取或设置快递列表。
+ ///
+ [Newtonsoft.Json.JsonProperty("delivery_list")]
+ [System.Text.Json.Serialization.JsonPropertyName("delivery_list")]
+ public IList DeliveryList { get; set; } = new List();
+ }
+}
diff --git a/src/SKIT.FlurlHttpClient.Wechat.Api/Models/Channels/ECOrder/Dropship/Supplier/ChannelsECOrderDropshipSupplierDeliverySendResponse.cs b/src/SKIT.FlurlHttpClient.Wechat.Api/Models/Channels/ECOrder/Dropship/Supplier/ChannelsECOrderDropshipSupplierDeliverySendResponse.cs
new file mode 100644
index 00000000..f74a10c4
--- /dev/null
+++ b/src/SKIT.FlurlHttpClient.Wechat.Api/Models/Channels/ECOrder/Dropship/Supplier/ChannelsECOrderDropshipSupplierDeliverySendResponse.cs
@@ -0,0 +1,9 @@
+namespace SKIT.FlurlHttpClient.Wechat.Api.Models
+{
+ ///
+ /// 表示 [POST] /channels/ec/order/dropship/supplier/delivery/send 接口的响应。
+ ///
+ public class ChannelsECOrderDropshipSupplierDeliverySendResponse : WechatApiResponse
+ {
+ }
+}
diff --git a/src/SKIT.FlurlHttpClient.Wechat.Api/Models/Channels/ECOrder/Dropship/Supplier/ChannelsECOrderDropshipSupplierDeliveryUpdateRequest.cs b/src/SKIT.FlurlHttpClient.Wechat.Api/Models/Channels/ECOrder/Dropship/Supplier/ChannelsECOrderDropshipSupplierDeliveryUpdateRequest.cs
new file mode 100644
index 00000000..036d6981
--- /dev/null
+++ b/src/SKIT.FlurlHttpClient.Wechat.Api/Models/Channels/ECOrder/Dropship/Supplier/ChannelsECOrderDropshipSupplierDeliveryUpdateRequest.cs
@@ -0,0 +1,51 @@
+using System.Collections.Generic;
+
+namespace SKIT.FlurlHttpClient.Wechat.Api.Models
+{
+ ///
+ /// 表示 [POST] /channels/ec/order/dropship/supplier/delivery/update 接口的请求。
+ ///
+ public class ChannelsECOrderDropshipSupplierDeliveryUpdateRequest : WechatApiRequest, IInferable
+ {
+ public static class Types
+ {
+ public class ChangeInfo
+ {
+ public static class Types
+ {
+ public class Delivery : ChannelsECOrderDropshipSupplierDeliverySendRequest.Types.Delivery
+ {
+ }
+ }
+
+ ///
+ /// 获取或设置旧快递信息。
+ ///
+ [Newtonsoft.Json.JsonProperty("old")]
+ [System.Text.Json.Serialization.JsonPropertyName("old")]
+ public Types.Delivery OldDelivery { get; set; } = new Types.Delivery();
+
+ ///
+ /// 获取或设置新快递信息。
+ ///
+ [Newtonsoft.Json.JsonProperty("new")]
+ [System.Text.Json.Serialization.JsonPropertyName("new")]
+ public Types.Delivery NewDelivery { get; set; } = new Types.Delivery();
+ }
+ }
+
+ ///
+ /// 获取或设置代发单 ID。
+ ///
+ [Newtonsoft.Json.JsonProperty("ds_order_id")]
+ [System.Text.Json.Serialization.JsonPropertyName("ds_order_id")]
+ public string DropshipOrderId { get; set; } = string.Empty;
+
+ ///
+ /// 获取或设置快递修改信息列表。
+ ///
+ [Newtonsoft.Json.JsonProperty("change_infos")]
+ [System.Text.Json.Serialization.JsonPropertyName("change_infos")]
+ public IList ChangeInfoList { get; set; } = new List();
+ }
+}
diff --git a/src/SKIT.FlurlHttpClient.Wechat.Api/Models/Channels/ECOrder/Dropship/Supplier/ChannelsECOrderDropshipSupplierDeliveryUpdateResponse.cs b/src/SKIT.FlurlHttpClient.Wechat.Api/Models/Channels/ECOrder/Dropship/Supplier/ChannelsECOrderDropshipSupplierDeliveryUpdateResponse.cs
new file mode 100644
index 00000000..6b848af9
--- /dev/null
+++ b/src/SKIT.FlurlHttpClient.Wechat.Api/Models/Channels/ECOrder/Dropship/Supplier/ChannelsECOrderDropshipSupplierDeliveryUpdateResponse.cs
@@ -0,0 +1,9 @@
+namespace SKIT.FlurlHttpClient.Wechat.Api.Models
+{
+ ///
+ /// 表示 [POST] /channels/ec/order/dropship/supplier/delivery/update 接口的响应。
+ ///
+ public class ChannelsECOrderDropshipSupplierDeliveryUpdateResponse : WechatApiResponse
+ {
+ }
+}
diff --git a/src/SKIT.FlurlHttpClient.Wechat.Api/Models/Channels/ECOrder/Dropship/Supplier/ChannelsECOrderDropshipSupplierGetRequest.cs b/src/SKIT.FlurlHttpClient.Wechat.Api/Models/Channels/ECOrder/Dropship/Supplier/ChannelsECOrderDropshipSupplierGetRequest.cs
new file mode 100644
index 00000000..53f35629
--- /dev/null
+++ b/src/SKIT.FlurlHttpClient.Wechat.Api/Models/Channels/ECOrder/Dropship/Supplier/ChannelsECOrderDropshipSupplierGetRequest.cs
@@ -0,0 +1,15 @@
+namespace SKIT.FlurlHttpClient.Wechat.Api.Models
+{
+ ///
+ /// 表示 [POST] /channels/ec/order/dropship/supplier/get 接口的请求。
+ ///
+ public class ChannelsECOrderDropshipSupplierGetRequest : WechatApiRequest, IInferable
+ {
+ ///
+ /// 获取或设置代发单 ID。
+ ///
+ [Newtonsoft.Json.JsonProperty("ds_order_id")]
+ [System.Text.Json.Serialization.JsonPropertyName("ds_order_id")]
+ public string DropshipOrderId { get; set; } = string.Empty;
+ }
+}
diff --git a/src/SKIT.FlurlHttpClient.Wechat.Api/Models/Channels/ECOrder/Dropship/Supplier/ChannelsECOrderDropshipSupplierGetResponse.cs b/src/SKIT.FlurlHttpClient.Wechat.Api/Models/Channels/ECOrder/Dropship/Supplier/ChannelsECOrderDropshipSupplierGetResponse.cs
new file mode 100644
index 00000000..faa2956b
--- /dev/null
+++ b/src/SKIT.FlurlHttpClient.Wechat.Api/Models/Channels/ECOrder/Dropship/Supplier/ChannelsECOrderDropshipSupplierGetResponse.cs
@@ -0,0 +1,72 @@
+namespace SKIT.FlurlHttpClient.Wechat.Api.Models
+{
+ ///
+ /// 表示 [POST] /channels/ec/order/dropship/supplier/get 接口的响应。
+ ///
+ public class ChannelsECOrderDropshipSupplierGetResponse : WechatApiResponse
+ {
+ public static class Types
+ {
+ public class DropshipOrder
+ {
+ ///
+ /// 获取或设置商家小店 AppId。
+ ///
+ [Newtonsoft.Json.JsonProperty("shop_appid")]
+ [System.Text.Json.Serialization.JsonPropertyName("shop_appid")]
+ public string ShopAppId { get; set; } = default!;
+
+ ///
+ /// 获取或设置商家小店名称。
+ ///
+ [Newtonsoft.Json.JsonProperty("shop_name")]
+ [System.Text.Json.Serialization.JsonPropertyName("shop_name")]
+ public string ShopName { get; set; } = default!;
+
+ ///
+ /// 获取或设置代发单 ID。
+ ///
+ [Newtonsoft.Json.JsonProperty("ds_order_id")]
+ [System.Text.Json.Serialization.JsonPropertyName("ds_order_id")]
+ [System.Text.Json.Serialization.JsonConverter(typeof(System.Text.Json.Serialization.Common.NumericalStringReadOnlyConverter))]
+ public string DropshipOrderId { get; set; } = default!;
+
+ ///
+ /// 获取或设置订单 ID。
+ ///
+ [Newtonsoft.Json.JsonProperty("order_id")]
+ [System.Text.Json.Serialization.JsonPropertyName("order_id")]
+ [System.Text.Json.Serialization.JsonConverter(typeof(System.Text.Json.Serialization.Common.NumericalStringReadOnlyConverter))]
+ public string OrderId { get; set; } = default!;
+
+ ///
+ /// 获取或设置代发单状态状态。
+ ///
+ [Newtonsoft.Json.JsonProperty("status")]
+ [System.Text.Json.Serialization.JsonPropertyName("status")]
+ public int Status { get; set; }
+
+ ///
+ /// 获取或设置创建时间戳。
+ ///
+ [Newtonsoft.Json.JsonProperty("create_time")]
+ [System.Text.Json.Serialization.JsonPropertyName("create_time")]
+ public long CreateTimestamp { get; set; }
+
+ ///
+ /// 获取或设置更新时间戳。
+ ///
+ [Newtonsoft.Json.JsonProperty("update_time")]
+ [System.Text.Json.Serialization.JsonPropertyName("update_time")]
+ public long UpdateTimestamp { get; set; }
+ }
+ }
+
+ ///
+ /// 获取或设置代发单信息。
+ ///
+ [Newtonsoft.Json.JsonProperty("dropship_order")]
+ [System.Text.Json.Serialization.JsonPropertyName("dropship_order")]
+ public Types.DropshipOrder DropshipOrder { get; set; } = default!;
+ }
+}
diff --git a/src/SKIT.FlurlHttpClient.Wechat.Api/Models/Channels/ECOrder/Dropship/Supplier/ChannelsECOrderDropshipSupplierListRequest.cs b/src/SKIT.FlurlHttpClient.Wechat.Api/Models/Channels/ECOrder/Dropship/Supplier/ChannelsECOrderDropshipSupplierListRequest.cs
new file mode 100644
index 00000000..1aab69f8
--- /dev/null
+++ b/src/SKIT.FlurlHttpClient.Wechat.Api/Models/Channels/ECOrder/Dropship/Supplier/ChannelsECOrderDropshipSupplierListRequest.cs
@@ -0,0 +1,80 @@
+namespace SKIT.FlurlHttpClient.Wechat.Api.Models
+{
+ ///
+ /// 表示 [POST] /channels/ec/order/dropship/supplier/list 接口的请求。
+ ///
+ public class ChannelsECOrderDropshipSupplierListRequest : WechatApiRequest, IInferable
+ {
+ public static class Types
+ {
+ public class TimeRange
+ {
+ ///
+ /// 获取或设置开始时间戳。
+ ///
+ [Newtonsoft.Json.JsonProperty("start_time")]
+ [System.Text.Json.Serialization.JsonPropertyName("start_time")]
+ public long StartTimestamp { get; set; }
+
+ ///
+ /// 获取或设置结束时间戳。
+ ///
+ [Newtonsoft.Json.JsonProperty("end_time")]
+ [System.Text.Json.Serialization.JsonPropertyName("end_time")]
+ public long EndTimestamp { get; set; }
+ }
+
+ public class Pagination
+ {
+ ///
+ /// 获取或设置分页起始位置。
+ ///
+ [Newtonsoft.Json.JsonProperty("offset")]
+ [System.Text.Json.Serialization.JsonPropertyName("offset")]
+ public int Offset { get; set; }
+
+ ///
+ /// 获取或设置分页每页数量。
+ ///
+ [Newtonsoft.Json.JsonProperty("limit")]
+ [System.Text.Json.Serialization.JsonPropertyName("limit")]
+ public int Limit { get; set; }
+ }
+ }
+
+ ///
+ /// 获取或设置创建时间范围信息。
+ ///
+ [Newtonsoft.Json.JsonProperty("create_time_range")]
+ [System.Text.Json.Serialization.JsonPropertyName("create_time_range")]
+ public Types.TimeRange? CreateTimeRange { get; set; }
+
+ ///
+ /// 获取或设置商家小店 AppId。
+ ///
+ [Newtonsoft.Json.JsonProperty("shop_appid")]
+ [System.Text.Json.Serialization.JsonPropertyName("shop_appid")]
+ public string? ShopAppId { get; set; }
+
+ ///
+ /// 获取或设置代发单状态。
+ ///
+ [Newtonsoft.Json.JsonProperty("status")]
+ [System.Text.Json.Serialization.JsonPropertyName("status")]
+ public int? Status { get; set; }
+
+ ///
+ /// 获取或设置订单号。
+ ///
+ [Newtonsoft.Json.JsonProperty("order_id")]
+ [System.Text.Json.Serialization.JsonPropertyName("order_id")]
+ public string? OrderId { get; set; }
+
+ ///
+ /// 获取或设置分页信息。
+ ///
+ [Newtonsoft.Json.JsonProperty("page_info")]
+ [System.Text.Json.Serialization.JsonPropertyName("page_info")]
+ public Types.Pagination? Pagination { get; set; }
+ }
+}
diff --git a/src/SKIT.FlurlHttpClient.Wechat.Api/Models/Channels/ECOrder/Dropship/Supplier/ChannelsECOrderDropshipSupplierListResponse.cs b/src/SKIT.FlurlHttpClient.Wechat.Api/Models/Channels/ECOrder/Dropship/Supplier/ChannelsECOrderDropshipSupplierListResponse.cs
new file mode 100644
index 00000000..2f621d11
--- /dev/null
+++ b/src/SKIT.FlurlHttpClient.Wechat.Api/Models/Channels/ECOrder/Dropship/Supplier/ChannelsECOrderDropshipSupplierListResponse.cs
@@ -0,0 +1,43 @@
+namespace SKIT.FlurlHttpClient.Wechat.Api.Models
+{
+ ///
+ /// 表示 [POST] /channels/ec/order/dropship/supplier/list 接口的响应。
+ ///
+ public class ChannelsECOrderDropshipSupplierListResponse : WechatApiResponse
+ {
+ public static class Types
+ {
+ public class Pagination : ChannelsECOrderDropshipSupplierListRequest.Types.Pagination
+ {
+ }
+ }
+
+ ///
+ /// 获取或设置代发单 ID 列表。
+ ///
+ [Newtonsoft.Json.JsonProperty("ds_order_id_list")]
+ [System.Text.Json.Serialization.JsonPropertyName("ds_order_id_list")]
+ public string[] DropshipOrderIdList { get; set; } = default!;
+
+ ///
+ /// 获取或设置总数量。
+ ///
+ [Newtonsoft.Json.JsonProperty("total")]
+ [System.Text.Json.Serialization.JsonPropertyName("total")]
+ public int TotalCount { get; set; }
+
+ ///
+ /// 获取或设置是否还有更多。
+ ///
+ [Newtonsoft.Json.JsonProperty("has_more")]
+ [System.Text.Json.Serialization.JsonPropertyName("has_more")]
+ public bool HasMore { get; set; }
+
+ ///
+ /// 获取或设置下一页分页信息。
+ ///
+ [Newtonsoft.Json.JsonProperty("next_page")]
+ [System.Text.Json.Serialization.JsonPropertyName("next_page")]
+ public Types.Pagination? NextPagination { get; set; }
+ }
+}
diff --git a/src/SKIT.FlurlHttpClient.Wechat.Api/Models/Channels/ECOrder/Dropship/Supplier/ChannelsECOrderDropshipSupplierSearchRequest.cs b/src/SKIT.FlurlHttpClient.Wechat.Api/Models/Channels/ECOrder/Dropship/Supplier/ChannelsECOrderDropshipSupplierSearchRequest.cs
new file mode 100644
index 00000000..46371972
--- /dev/null
+++ b/src/SKIT.FlurlHttpClient.Wechat.Api/Models/Channels/ECOrder/Dropship/Supplier/ChannelsECOrderDropshipSupplierSearchRequest.cs
@@ -0,0 +1,74 @@
+namespace SKIT.FlurlHttpClient.Wechat.Api.Models
+{
+ ///
+ /// 表示 [POST] /channels/ec/order/dropship/supplier/search 接口的请求。
+ ///
+ public class ChannelsECOrderDropshipSupplierSearchRequest : WechatApiRequest, IInferable
+ {
+ public static class Types
+ {
+ public class SearchCondition
+ {
+ public static class Types
+ {
+ public class TimeRange : ChannelsECOrderDropshipSupplierListRequest.Types.TimeRange
+ {
+ }
+ }
+
+ ///
+ /// 获取或设置创建时间范围信息。
+ ///
+ [Newtonsoft.Json.JsonProperty("create_time_range")]
+ [System.Text.Json.Serialization.JsonPropertyName("create_time_range")]
+ public Types.TimeRange? CreateTimeRange { get; set; }
+
+ ///
+ /// 获取或设置商家小店 AppId。
+ ///
+ [Newtonsoft.Json.JsonProperty("shop_appid")]
+ [System.Text.Json.Serialization.JsonPropertyName("shop_appid")]
+ public string? ShopAppId { get; set; }
+
+ ///
+ /// 获取或设置代发单状态。
+ ///
+ [Newtonsoft.Json.JsonProperty("status")]
+ [System.Text.Json.Serialization.JsonPropertyName("status")]
+ public int? Status { get; set; }
+
+ ///
+ /// 获取或设置订单号。
+ ///
+ [Newtonsoft.Json.JsonProperty("order_id")]
+ [System.Text.Json.Serialization.JsonPropertyName("order_id")]
+ public string? OrderId { get; set; }
+
+ ///
+ /// 获取或设置运单号。
+ ///
+ [Newtonsoft.Json.JsonProperty("waybill_id")]
+ [System.Text.Json.Serialization.JsonPropertyName("waybill_id")]
+ public string? WaybillId { get; set; }
+ }
+
+ public class Pagination : ChannelsECOrderDropshipSupplierListRequest.Types.Pagination
+ {
+ }
+ }
+
+ ///
+ /// 获取或设置搜索条件信息。
+ ///
+ [Newtonsoft.Json.JsonProperty("search_condition")]
+ [System.Text.Json.Serialization.JsonPropertyName("search_condition")]
+ public Types.SearchCondition SearchCondition { get; set; } = new Types.SearchCondition();
+
+ ///
+ /// 获取或设置分页信息。
+ ///
+ [Newtonsoft.Json.JsonProperty("page_info")]
+ [System.Text.Json.Serialization.JsonPropertyName("page_info")]
+ public Types.Pagination? Pagination { get; set; }
+ }
+}
diff --git a/src/SKIT.FlurlHttpClient.Wechat.Api/Models/Channels/ECOrder/Dropship/Supplier/ChannelsECOrderDropshipSupplierSearchResponse.cs b/src/SKIT.FlurlHttpClient.Wechat.Api/Models/Channels/ECOrder/Dropship/Supplier/ChannelsECOrderDropshipSupplierSearchResponse.cs
new file mode 100644
index 00000000..e19b9b83
--- /dev/null
+++ b/src/SKIT.FlurlHttpClient.Wechat.Api/Models/Channels/ECOrder/Dropship/Supplier/ChannelsECOrderDropshipSupplierSearchResponse.cs
@@ -0,0 +1,43 @@
+namespace SKIT.FlurlHttpClient.Wechat.Api.Models
+{
+ ///
+ /// 表示 [POST] /channels/ec/order/dropship/supplier/search 接口的响应。
+ ///
+ public class ChannelsECOrderDropshipSupplierSearchResponse : WechatApiResponse
+ {
+ public static class Types
+ {
+ public class Pagination : ChannelsECOrderDropshipSupplierSearchRequest.Types.Pagination
+ {
+ }
+ }
+
+ ///
+ /// 获取或设置代发单 ID 列表。
+ ///
+ [Newtonsoft.Json.JsonProperty("ds_order_id_list")]
+ [System.Text.Json.Serialization.JsonPropertyName("ds_order_id_list")]
+ public string[] DropshipOrderIdList { get; set; } = default!;
+
+ ///
+ /// 获取或设置总数量。
+ ///
+ [Newtonsoft.Json.JsonProperty("total")]
+ [System.Text.Json.Serialization.JsonPropertyName("total")]
+ public int TotalCount { get; set; }
+
+ ///
+ /// 获取或设置是否还有更多。
+ ///
+ [Newtonsoft.Json.JsonProperty("has_more")]
+ [System.Text.Json.Serialization.JsonPropertyName("has_more")]
+ public bool HasMore { get; set; }
+
+ ///
+ /// 获取或设置下一页分页信息。
+ ///
+ [Newtonsoft.Json.JsonProperty("next_page")]
+ [System.Text.Json.Serialization.JsonPropertyName("next_page")]
+ public Types.Pagination? NextPagination { get; set; }
+ }
+}
diff --git a/src/SKIT.FlurlHttpClient.Wechat.Api/Models/Channels/ECSupplier/ChannelsECSupplierBaseGetSupplierBaseInfoRequest.cs b/src/SKIT.FlurlHttpClient.Wechat.Api/Models/Channels/ECSupplier/ChannelsECSupplierBaseGetSupplierBaseInfoRequest.cs
new file mode 100644
index 00000000..0e6bdaa2
--- /dev/null
+++ b/src/SKIT.FlurlHttpClient.Wechat.Api/Models/Channels/ECSupplier/ChannelsECSupplierBaseGetSupplierBaseInfoRequest.cs
@@ -0,0 +1,9 @@
+namespace SKIT.FlurlHttpClient.Wechat.Api.Models
+{
+ ///
+ /// 表示 [POST] /channels/ec/supplier/base/get_supplier_base_info 接口的请求。
+ ///
+ public class ChannelsECSupplierBaseGetSupplierBaseInfoRequest : WechatApiRequest, IInferable
+ {
+ }
+}
diff --git a/src/SKIT.FlurlHttpClient.Wechat.Api/Models/Channels/ECSupplier/ChannelsECSupplierBaseGetSupplierBaseInfoResponse.cs b/src/SKIT.FlurlHttpClient.Wechat.Api/Models/Channels/ECSupplier/ChannelsECSupplierBaseGetSupplierBaseInfoResponse.cs
new file mode 100644
index 00000000..b1a79c4b
--- /dev/null
+++ b/src/SKIT.FlurlHttpClient.Wechat.Api/Models/Channels/ECSupplier/ChannelsECSupplierBaseGetSupplierBaseInfoResponse.cs
@@ -0,0 +1,15 @@
+namespace SKIT.FlurlHttpClient.Wechat.Api.Models
+{
+ ///
+ /// 表示 [POST] /channels/ec/supplier/base/get_supplier_base_info 接口的响应。
+ ///
+ public class ChannelsECSupplierBaseGetSupplierBaseInfoResponse : WechatApiResponse
+ {
+ ///
+ /// 获取或设置供货商名称。
+ ///
+ [Newtonsoft.Json.JsonProperty("name")]
+ [System.Text.Json.Serialization.JsonPropertyName("name")]
+ public string Name { get; set; } = default!;
+ }
+}
diff --git a/src/SKIT.FlurlHttpClient.Wechat.Api/Models/Channels/ECSupplier/Relation/ChannelsECSupplierRelationGetDistributeRequest.cs b/src/SKIT.FlurlHttpClient.Wechat.Api/Models/Channels/ECSupplier/Relation/ChannelsECSupplierRelationGetDistributeRequest.cs
new file mode 100644
index 00000000..6c47f257
--- /dev/null
+++ b/src/SKIT.FlurlHttpClient.Wechat.Api/Models/Channels/ECSupplier/Relation/ChannelsECSupplierRelationGetDistributeRequest.cs
@@ -0,0 +1,9 @@
+namespace SKIT.FlurlHttpClient.Wechat.Api.Models
+{
+ ///
+ /// 表示 [POST] /channels/ec/supplier/relation/get_distribute 接口的请求。
+ ///
+ public class ChannelsECSupplierRelationGetDistributeRequest : WechatApiRequest, IInferable
+ {
+ }
+}
diff --git a/src/SKIT.FlurlHttpClient.Wechat.Api/Models/Channels/ECSupplier/Relation/ChannelsECSupplierRelationGetDistributeResponse.cs b/src/SKIT.FlurlHttpClient.Wechat.Api/Models/Channels/ECSupplier/Relation/ChannelsECSupplierRelationGetDistributeResponse.cs
new file mode 100644
index 00000000..dfe9be85
--- /dev/null
+++ b/src/SKIT.FlurlHttpClient.Wechat.Api/Models/Channels/ECSupplier/Relation/ChannelsECSupplierRelationGetDistributeResponse.cs
@@ -0,0 +1,29 @@
+namespace SKIT.FlurlHttpClient.Wechat.Api.Models
+{
+ ///
+ /// 表示 [POST] /channels/ec/supplier/relation/get_distribute 接口的响应。
+ ///
+ public class ChannelsECSupplierRelationGetDistributeResponse : WechatApiResponse
+ {
+ ///
+ /// 获取或设置分配类型。
+ ///
+ [Newtonsoft.Json.JsonProperty("distribute_type")]
+ [System.Text.Json.Serialization.JsonPropertyName("distribute_type")]
+ public int DistributeType { get; set; }
+
+ ///
+ /// 获取或设置全店订单自动分配的供货商 AppId。
+ ///
+ [Newtonsoft.Json.JsonProperty("all_supplier_appid")]
+ [System.Text.Json.Serialization.JsonPropertyName("all_supplier_appid")]
+ public string? AllDistributeSupplierAppId { get; set; }
+
+ ///
+ /// 获取或设置全店订单自动分配的供货商名称。
+ ///
+ [Newtonsoft.Json.JsonProperty("all_distribute_supplier_name")]
+ [System.Text.Json.Serialization.JsonPropertyName("all_distribute_supplier_name")]
+ public string? AllDistributeSupplierName { get; set; }
+ }
+}
diff --git a/src/SKIT.FlurlHttpClient.Wechat.Api/Models/Channels/ECSupplier/Relation/ChannelsECSupplierRelationGetECListRequest.cs b/src/SKIT.FlurlHttpClient.Wechat.Api/Models/Channels/ECSupplier/Relation/ChannelsECSupplierRelationGetECListRequest.cs
new file mode 100644
index 00000000..58a9c70e
--- /dev/null
+++ b/src/SKIT.FlurlHttpClient.Wechat.Api/Models/Channels/ECSupplier/Relation/ChannelsECSupplierRelationGetECListRequest.cs
@@ -0,0 +1,22 @@
+namespace SKIT.FlurlHttpClient.Wechat.Api.Models
+{
+ ///
+ /// 表示 [POST] /channels/ec/supplier/relation/get_ec_list 接口的请求。
+ ///
+ public class ChannelsECSupplierRelationGetECListRequest : WechatApiRequest, IInferable
+ {
+ ///
+ /// 获取或设置分页起始位置。
+ ///
+ [Newtonsoft.Json.JsonProperty("offset")]
+ [System.Text.Json.Serialization.JsonPropertyName("offset")]
+ public int? Offset { get; set; }
+
+ ///
+ /// 获取或设置分页每页数量。
+ ///
+ [Newtonsoft.Json.JsonProperty("limit")]
+ [System.Text.Json.Serialization.JsonPropertyName("limit")]
+ public int? Limit { get; set; }
+ }
+}
diff --git a/src/SKIT.FlurlHttpClient.Wechat.Api/Models/Channels/ECSupplier/Relation/ChannelsECSupplierRelationGetECListResponse.cs b/src/SKIT.FlurlHttpClient.Wechat.Api/Models/Channels/ECSupplier/Relation/ChannelsECSupplierRelationGetECListResponse.cs
new file mode 100644
index 00000000..04f570fd
--- /dev/null
+++ b/src/SKIT.FlurlHttpClient.Wechat.Api/Models/Channels/ECSupplier/Relation/ChannelsECSupplierRelationGetECListResponse.cs
@@ -0,0 +1,70 @@
+namespace SKIT.FlurlHttpClient.Wechat.Api.Models
+{
+ ///
+ /// 表示 [POST] /channels/ec/supplier/relation/get_ec_list 接口的响应。
+ ///
+ public class ChannelsECSupplierRelationGetECListResponse : WechatApiResponse
+ {
+ public static class Types
+ {
+ public class Shop
+ {
+ ///
+ /// 获取或设置商家小店 AppId。
+ ///
+ [Newtonsoft.Json.JsonProperty("appid")]
+ [System.Text.Json.Serialization.JsonPropertyName("appid")]
+ public string AppId { get; set; } = default!;
+
+ ///
+ /// 获取或设置商家小店名称。
+ ///
+ [Newtonsoft.Json.JsonProperty("name")]
+ [System.Text.Json.Serialization.JsonPropertyName("name")]
+ public string Name { get; set; } = default!;
+
+ ///
+ /// 获取或设置商家小店头像 URL。
+ ///
+ [Newtonsoft.Json.JsonProperty("head_img")]
+ [System.Text.Json.Serialization.JsonPropertyName("head_img")]
+ public string HeadImageUrl { get; set; } = default!;
+
+ ///
+ /// 获取或设置状态。
+ ///
+ [Newtonsoft.Json.JsonProperty("status")]
+ [System.Text.Json.Serialization.JsonPropertyName("status")]
+ public int Status { get; set; }
+
+ ///
+ /// 获取或设置绑定审核名称。
+ ///
+ [Newtonsoft.Json.JsonProperty("bind_audit_status")]
+ [System.Text.Json.Serialization.JsonPropertyName("bind_audit_status")]
+ public int BindAuditStatus { get; set; }
+
+ ///
+ /// 获取或设置更新时间戳。
+ ///
+ [Newtonsoft.Json.JsonProperty("update_time")]
+ [System.Text.Json.Serialization.JsonPropertyName("update_time")]
+ public long UpdateTimestamp { get; set; }
+ }
+ }
+
+ ///
+ /// 获取或设置商家小店列表。
+ ///
+ [Newtonsoft.Json.JsonProperty("list")]
+ [System.Text.Json.Serialization.JsonPropertyName("list")]
+ public Types.Shop[] ShopList { get; set; } = default!;
+
+ ///
+ /// 获取或设置总数量。
+ ///
+ [Newtonsoft.Json.JsonProperty("total_count")]
+ [System.Text.Json.Serialization.JsonPropertyName("total_count")]
+ public int TotalCount { get; set; }
+ }
+}
diff --git a/src/SKIT.FlurlHttpClient.Wechat.Api/Models/Channels/ECSupplier/Relation/ChannelsECSupplierRelationGetProductDefaultDistributionRequest.cs b/src/SKIT.FlurlHttpClient.Wechat.Api/Models/Channels/ECSupplier/Relation/ChannelsECSupplierRelationGetProductDefaultDistributionRequest.cs
new file mode 100644
index 00000000..6c1ad039
--- /dev/null
+++ b/src/SKIT.FlurlHttpClient.Wechat.Api/Models/Channels/ECSupplier/Relation/ChannelsECSupplierRelationGetProductDefaultDistributionRequest.cs
@@ -0,0 +1,15 @@
+namespace SKIT.FlurlHttpClient.Wechat.Api.Models
+{
+ ///
+ /// 表示 [POST] /channels/ec/supplier/relation/get_product_default_distribute 接口的请求。
+ ///
+ public class ChannelsECSupplierRelationGetProductDefaultDistributionRequest : 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/ECSupplier/Relation/ChannelsECSupplierRelationGetProductDefaultDistributionResponse.cs b/src/SKIT.FlurlHttpClient.Wechat.Api/Models/Channels/ECSupplier/Relation/ChannelsECSupplierRelationGetProductDefaultDistributionResponse.cs
new file mode 100644
index 00000000..9dfdddff
--- /dev/null
+++ b/src/SKIT.FlurlHttpClient.Wechat.Api/Models/Channels/ECSupplier/Relation/ChannelsECSupplierRelationGetProductDefaultDistributionResponse.cs
@@ -0,0 +1,22 @@
+namespace SKIT.FlurlHttpClient.Wechat.Api.Models
+{
+ ///
+ /// 表示 [POST] /channels/ec/supplier/relation/get_product_default_distribute 接口的响应。
+ ///
+ public class ChannelsECSupplierRelationGetProductDefaultDistributionResponse : WechatApiResponse
+ {
+ ///
+ /// 获取或设置是否存在已设置自动分配的供货商。
+ ///
+ [Newtonsoft.Json.JsonProperty("exist_default_supplier")]
+ [System.Text.Json.Serialization.JsonPropertyName("exist_default_supplier")]
+ public bool IsExistDefaultSupplier { get; set; }
+
+ ///
+ /// 获取或设置自动分配的供货商 AppId。
+ ///
+ [Newtonsoft.Json.JsonProperty("supplier_appid")]
+ [System.Text.Json.Serialization.JsonPropertyName("supplier_appid")]
+ public string? SupplierAppId { get; set; }
+ }
+}
diff --git a/src/SKIT.FlurlHttpClient.Wechat.Api/Models/Channels/ECSupplier/Relation/ChannelsECSupplierRelationGetProductListRequest.cs b/src/SKIT.FlurlHttpClient.Wechat.Api/Models/Channels/ECSupplier/Relation/ChannelsECSupplierRelationGetProductListRequest.cs
new file mode 100644
index 00000000..e310af39
--- /dev/null
+++ b/src/SKIT.FlurlHttpClient.Wechat.Api/Models/Channels/ECSupplier/Relation/ChannelsECSupplierRelationGetProductListRequest.cs
@@ -0,0 +1,64 @@
+namespace SKIT.FlurlHttpClient.Wechat.Api.Models
+{
+ ///
+ /// 表示 [POST] /channels/ec/supplier/relation/get_product_list 接口的请求。
+ ///
+ public class ChannelsECSupplierRelationGetProductListRequest : WechatApiRequest, IInferable
+ {
+ ///
+ /// 获取或设置是否过滤分配状态。
+ ///
+ [Newtonsoft.Json.JsonProperty("is_filter_distribute_status")]
+ [System.Text.Json.Serialization.JsonPropertyName("is_filter_distribute_status")]
+ public bool? IsFilterDistributeStatus { get; set; }
+
+ ///
+ /// 获取或设置分配状态。
+ ///
+ [Newtonsoft.Json.JsonProperty("distribute_status")]
+ [System.Text.Json.Serialization.JsonPropertyName("distribute_status")]
+ public int? DistributeStatus { get; set; }
+
+ ///
+ /// 获取或设置是否过滤商品状态。
+ ///
+ [Newtonsoft.Json.JsonProperty("is_filter_product_status")]
+ [System.Text.Json.Serialization.JsonPropertyName("is_filter_product_status")]
+ public bool? IsFilterProductStatus { get; set; }
+
+ ///
+ /// 获取或设置商品状态。
+ ///
+ [Newtonsoft.Json.JsonProperty("product_status")]
+ [System.Text.Json.Serialization.JsonPropertyName("product_status")]
+ public int? ProductStatus { get; set; }
+
+ ///
+ /// 获取或设置是否过滤供货商 AppId。
+ ///
+ [Newtonsoft.Json.JsonProperty("is_filter_supplier_appid")]
+ [System.Text.Json.Serialization.JsonPropertyName("is_filter_supplier_appid")]
+ public bool? IsFilterSupplierAppId { get; set; }
+
+ ///
+ /// 获取或设置供货商 AppId。
+ ///
+ [Newtonsoft.Json.JsonProperty("supplier_appid")]
+ [System.Text.Json.Serialization.JsonPropertyName("supplier_appid")]
+ public string? SupplierAppId { get; set; }
+
+ ///
+ /// 获取或设置分页游标。
+ ///
+ [Newtonsoft.Json.JsonProperty("page_context")]
+ [System.Text.Json.Serialization.JsonPropertyName("page_context")]
+ public string? Cursor { get; set; }
+
+ ///
+ /// 获取或设置分页每页数量。
+ ///
+ [Newtonsoft.Json.JsonProperty("limit")]
+ [System.Text.Json.Serialization.JsonPropertyName("limit")]
+ public int? Limit { get; set; }
+ }
+}
diff --git a/src/SKIT.FlurlHttpClient.Wechat.Api/Models/Channels/ECSupplier/Relation/ChannelsECSupplierRelationGetProductListResponse.cs b/src/SKIT.FlurlHttpClient.Wechat.Api/Models/Channels/ECSupplier/Relation/ChannelsECSupplierRelationGetProductListResponse.cs
new file mode 100644
index 00000000..b4b81510
--- /dev/null
+++ b/src/SKIT.FlurlHttpClient.Wechat.Api/Models/Channels/ECSupplier/Relation/ChannelsECSupplierRelationGetProductListResponse.cs
@@ -0,0 +1,63 @@
+namespace SKIT.FlurlHttpClient.Wechat.Api.Models
+{
+ ///
+ /// 表示 [POST] /channels/ec/supplier/relation/get_product_list 接口的响应。
+ ///
+ public class ChannelsECSupplierRelationGetProductListResponse : WechatApiResponse
+ {
+ public static class Types
+ {
+ public class Distribution
+ {
+ ///
+ /// 获取或设置商品 ID。
+ ///
+ [Newtonsoft.Json.JsonProperty("product_id")]
+ [System.Text.Json.Serialization.JsonPropertyName("product_id")]
+ public long ProductId { get; set; }
+
+ ///
+ /// 获取或设置供货商 AppId。
+ ///
+ [Newtonsoft.Json.JsonProperty("supplier_appid")]
+ [System.Text.Json.Serialization.JsonPropertyName("supplier_appid")]
+ public string SupplierAppId { get; set; } = string.Empty;
+
+ ///
+ /// 获取或设置供货商名称。
+ ///
+ [Newtonsoft.Json.JsonProperty("supplier_name")]
+ [System.Text.Json.Serialization.JsonPropertyName("supplier_name")]
+ public string SupplierName { get; set; } = string.Empty;
+
+ ///
+ /// 获取或设置分配状态。
+ ///
+ [Newtonsoft.Json.JsonProperty("distribute_status")]
+ [System.Text.Json.Serialization.JsonPropertyName("distribute_status")]
+ public int DistributeStatus { get; set; }
+ }
+ }
+
+ ///
+ /// 获取或设置分配列表。
+ ///
+ [Newtonsoft.Json.JsonProperty("list")]
+ [System.Text.Json.Serialization.JsonPropertyName("list")]
+ public Types.Distribution[] DistributionList { get; set; } = default!;
+
+ ///
+ /// 获取或设置下一页游标。
+ ///
+ [Newtonsoft.Json.JsonProperty("page_context")]
+ [System.Text.Json.Serialization.JsonPropertyName("page_context")]
+ public string? NextCursor { get; set; }
+
+ ///
+ /// 获取或设置总数量。
+ ///
+ [Newtonsoft.Json.JsonProperty("total_count")]
+ [System.Text.Json.Serialization.JsonPropertyName("total_count")]
+ public int TotalCount { get; set; }
+ }
+}
diff --git a/src/SKIT.FlurlHttpClient.Wechat.Api/Models/Channels/ECSupplier/Relation/ChannelsECSupplierRelationGetSupplierListRequest.cs b/src/SKIT.FlurlHttpClient.Wechat.Api/Models/Channels/ECSupplier/Relation/ChannelsECSupplierRelationGetSupplierListRequest.cs
new file mode 100644
index 00000000..aec99e15
--- /dev/null
+++ b/src/SKIT.FlurlHttpClient.Wechat.Api/Models/Channels/ECSupplier/Relation/ChannelsECSupplierRelationGetSupplierListRequest.cs
@@ -0,0 +1,22 @@
+namespace SKIT.FlurlHttpClient.Wechat.Api.Models
+{
+ ///
+ /// 表示 [POST] /channels/ec/supplier/relation/get_supplier_list 接口的请求。
+ ///
+ public class ChannelsECSupplierRelationGetSupplierListRequest : WechatApiRequest, IInferable
+ {
+ ///
+ /// 获取或设置分页起始位置。
+ ///
+ [Newtonsoft.Json.JsonProperty("offset")]
+ [System.Text.Json.Serialization.JsonPropertyName("offset")]
+ public int? Offset { get; set; }
+
+ ///
+ /// 获取或设置分页每页数量。
+ ///
+ [Newtonsoft.Json.JsonProperty("limit")]
+ [System.Text.Json.Serialization.JsonPropertyName("limit")]
+ public int? Limit { get; set; }
+ }
+}
diff --git a/src/SKIT.FlurlHttpClient.Wechat.Api/Models/Channels/ECSupplier/Relation/ChannelsECSupplierRelationGetSupplierListResponse.cs b/src/SKIT.FlurlHttpClient.Wechat.Api/Models/Channels/ECSupplier/Relation/ChannelsECSupplierRelationGetSupplierListResponse.cs
new file mode 100644
index 00000000..06859ab5
--- /dev/null
+++ b/src/SKIT.FlurlHttpClient.Wechat.Api/Models/Channels/ECSupplier/Relation/ChannelsECSupplierRelationGetSupplierListResponse.cs
@@ -0,0 +1,63 @@
+namespace SKIT.FlurlHttpClient.Wechat.Api.Models
+{
+ ///
+ /// 表示 [POST] /channels/ec/supplier/relation/get_supplier_list 接口的响应。
+ ///
+ public class ChannelsECSupplierRelationGetSupplierListResponse : WechatApiResponse
+ {
+ public static class Types
+ {
+ public class Supplier
+ {
+ ///
+ /// 获取或设置供货商 AppId。
+ ///
+ [Newtonsoft.Json.JsonProperty("appid")]
+ [System.Text.Json.Serialization.JsonPropertyName("appid")]
+ public string AppId { get; set; } = default!;
+
+ ///
+ /// 获取或设置供货商名称。
+ ///
+ [Newtonsoft.Json.JsonProperty("name")]
+ [System.Text.Json.Serialization.JsonPropertyName("name")]
+ public string Name { get; set; } = default!;
+
+ ///
+ /// 获取或设置状态。
+ ///
+ [Newtonsoft.Json.JsonProperty("status")]
+ [System.Text.Json.Serialization.JsonPropertyName("status")]
+ public int Status { get; set; }
+
+ ///
+ /// 获取或设置绑定审核名称。
+ ///
+ [Newtonsoft.Json.JsonProperty("bind_audit_status")]
+ [System.Text.Json.Serialization.JsonPropertyName("bind_audit_status")]
+ public int BindAuditStatus { get; set; }
+
+ ///
+ /// 获取或设置更新时间戳。
+ ///
+ [Newtonsoft.Json.JsonProperty("update_time")]
+ [System.Text.Json.Serialization.JsonPropertyName("update_time")]
+ public long UpdateTimestamp { get; set; }
+ }
+ }
+
+ ///
+ /// 获取或设置供货商列表。
+ ///
+ [Newtonsoft.Json.JsonProperty("list")]
+ [System.Text.Json.Serialization.JsonPropertyName("list")]
+ public Types.Supplier[] SupplierList { get; set; } = default!;
+
+ ///
+ /// 获取或设置总数量。
+ ///
+ [Newtonsoft.Json.JsonProperty("total_count")]
+ [System.Text.Json.Serialization.JsonPropertyName("total_count")]
+ public int TotalCount { get; set; }
+ }
+}
diff --git a/src/SKIT.FlurlHttpClient.Wechat.Api/Models/Channels/ECSupplier/Relation/ChannelsECSupplierRelationSetAllDistributeRequest.cs b/src/SKIT.FlurlHttpClient.Wechat.Api/Models/Channels/ECSupplier/Relation/ChannelsECSupplierRelationSetAllDistributeRequest.cs
new file mode 100644
index 00000000..d3d30bff
--- /dev/null
+++ b/src/SKIT.FlurlHttpClient.Wechat.Api/Models/Channels/ECSupplier/Relation/ChannelsECSupplierRelationSetAllDistributeRequest.cs
@@ -0,0 +1,15 @@
+namespace SKIT.FlurlHttpClient.Wechat.Api.Models
+{
+ ///
+ /// 表示 [POST] /channels/ec/supplier/relation/set_all_distribution 接口的请求。
+ ///
+ public class ChannelsECSupplierRelationSetAllDistributeRequest : WechatApiRequest, IInferable
+ {
+ ///
+ /// 获取或设置全店订单自动分配的供货商 AppId。
+ ///
+ [Newtonsoft.Json.JsonProperty("supplier_appid")]
+ [System.Text.Json.Serialization.JsonPropertyName("supplier_appid")]
+ public string SupplierAppId { get; set; } = string.Empty;
+ }
+}
diff --git a/src/SKIT.FlurlHttpClient.Wechat.Api/Models/Channels/ECSupplier/Relation/ChannelsECSupplierRelationSetAllDistributeResponse.cs b/src/SKIT.FlurlHttpClient.Wechat.Api/Models/Channels/ECSupplier/Relation/ChannelsECSupplierRelationSetAllDistributeResponse.cs
new file mode 100644
index 00000000..eb2a743a
--- /dev/null
+++ b/src/SKIT.FlurlHttpClient.Wechat.Api/Models/Channels/ECSupplier/Relation/ChannelsECSupplierRelationSetAllDistributeResponse.cs
@@ -0,0 +1,9 @@
+namespace SKIT.FlurlHttpClient.Wechat.Api.Models
+{
+ ///
+ /// 表示 [POST] /channels/ec/supplier/relation/set_all_distribution 接口的响应。
+ ///
+ public class ChannelsECSupplierRelationSetAllDistributeResponse : WechatApiResponse
+ {
+ }
+}
diff --git a/src/SKIT.FlurlHttpClient.Wechat.Api/Models/Channels/ECSupplier/Relation/ChannelsECSupplierRelationSetManuallyDistributeRequest.cs b/src/SKIT.FlurlHttpClient.Wechat.Api/Models/Channels/ECSupplier/Relation/ChannelsECSupplierRelationSetManuallyDistributeRequest.cs
new file mode 100644
index 00000000..80b4895f
--- /dev/null
+++ b/src/SKIT.FlurlHttpClient.Wechat.Api/Models/Channels/ECSupplier/Relation/ChannelsECSupplierRelationSetManuallyDistributeRequest.cs
@@ -0,0 +1,9 @@
+namespace SKIT.FlurlHttpClient.Wechat.Api.Models
+{
+ ///
+ /// 表示 [POST] /channels/ec/supplier/relation/set_manually_distribute 接口的请求。
+ ///
+ public class ChannelsECSupplierRelationSetManuallyDistributeRequest : WechatApiRequest, IInferable
+ {
+ }
+}
diff --git a/src/SKIT.FlurlHttpClient.Wechat.Api/Models/Channels/ECSupplier/Relation/ChannelsECSupplierRelationSetManuallyDistributeResponse.cs b/src/SKIT.FlurlHttpClient.Wechat.Api/Models/Channels/ECSupplier/Relation/ChannelsECSupplierRelationSetManuallyDistributeResponse.cs
new file mode 100644
index 00000000..e429380b
--- /dev/null
+++ b/src/SKIT.FlurlHttpClient.Wechat.Api/Models/Channels/ECSupplier/Relation/ChannelsECSupplierRelationSetManuallyDistributeResponse.cs
@@ -0,0 +1,9 @@
+namespace SKIT.FlurlHttpClient.Wechat.Api.Models
+{
+ ///
+ /// 表示 [POST] /channels/ec/supplier/relation/set_manually_distribute 接口的响应。
+ ///
+ public class ChannelsECSupplierRelationSetManuallyDistributeResponse : WechatApiResponse
+ {
+ }
+}
diff --git a/src/SKIT.FlurlHttpClient.Wechat.Api/Models/Channels/ECSupplier/Relation/ChannelsECSupplierRelationSetProductDistributeRequest.cs b/src/SKIT.FlurlHttpClient.Wechat.Api/Models/Channels/ECSupplier/Relation/ChannelsECSupplierRelationSetProductDistributeRequest.cs
new file mode 100644
index 00000000..c49c2b41
--- /dev/null
+++ b/src/SKIT.FlurlHttpClient.Wechat.Api/Models/Channels/ECSupplier/Relation/ChannelsECSupplierRelationSetProductDistributeRequest.cs
@@ -0,0 +1,44 @@
+using System.Collections.Generic;
+
+namespace SKIT.FlurlHttpClient.Wechat.Api.Models
+{
+ ///
+ /// 表示 [POST] /channels/ec/supplier/relation/set_product_distribute 接口的请求。
+ ///
+ public class ChannelsECSupplierRelationSetProductDistributeRequest : WechatApiRequest, IInferable
+ {
+ public static class Types
+ {
+ public class Distribution
+ {
+ ///
+ /// 获取或设置商品 ID。
+ ///
+ [Newtonsoft.Json.JsonProperty("product_id")]
+ [System.Text.Json.Serialization.JsonPropertyName("product_id")]
+ public long ProductId { get; set; }
+
+ ///
+ /// 获取或设置供货商 AppId。
+ ///
+ [Newtonsoft.Json.JsonProperty("supplier_appid")]
+ [System.Text.Json.Serialization.JsonPropertyName("supplier_appid")]
+ public string SupplierAppId { get; set; } = string.Empty;
+
+ ///
+ /// 获取或设置是否自动分配给该供货商。
+ ///
+ [Newtonsoft.Json.JsonProperty("is_distribute")]
+ [System.Text.Json.Serialization.JsonPropertyName("is_distribute")]
+ public bool IsDistribute { get; set; }
+ }
+ }
+
+ ///
+ /// 获取或设置分配列表。
+ ///
+ [Newtonsoft.Json.JsonProperty("list")]
+ [System.Text.Json.Serialization.JsonPropertyName("list")]
+ public IList DistributionList { get; set; } = new List();
+ }
+}
diff --git a/src/SKIT.FlurlHttpClient.Wechat.Api/Models/Channels/ECSupplier/Relation/ChannelsECSupplierRelationSetProductDistributeResponse.cs b/src/SKIT.FlurlHttpClient.Wechat.Api/Models/Channels/ECSupplier/Relation/ChannelsECSupplierRelationSetProductDistributeResponse.cs
new file mode 100644
index 00000000..03274136
--- /dev/null
+++ b/src/SKIT.FlurlHttpClient.Wechat.Api/Models/Channels/ECSupplier/Relation/ChannelsECSupplierRelationSetProductDistributeResponse.cs
@@ -0,0 +1,9 @@
+namespace SKIT.FlurlHttpClient.Wechat.Api.Models
+{
+ ///
+ /// 表示 [POST] /channels/ec/supplier/relation/set_product_distribute 接口的响应。
+ ///
+ public class ChannelsECSupplierRelationSetProductDistributeResponse : WechatApiResponse
+ {
+ }
+}
diff --git a/test/SKIT.FlurlHttpClient.Wechat.Api.UnitTests/EventSamples/Channels/Dropship/DropshipOrderCancelEvent.json b/test/SKIT.FlurlHttpClient.Wechat.Api.UnitTests/EventSamples/Channels/Dropship/DropshipOrderCancelEvent.json
new file mode 100644
index 00000000..59da5173
--- /dev/null
+++ b/test/SKIT.FlurlHttpClient.Wechat.Api.UnitTests/EventSamples/Channels/Dropship/DropshipOrderCancelEvent.json
@@ -0,0 +1,8 @@
+{
+ "ToUserName": "gh_*",
+ "FromUserName": "OpenID",
+ "CreateTime": 1662480000,
+ "MsgType": "event",
+ "Event": "dropship_order_cancel",
+ "ds_order_id": "4400123343235833535"
+}
diff --git a/test/SKIT.FlurlHttpClient.Wechat.Api.UnitTests/EventSamples/Channels/Dropship/DropshipOrderNewEvent.json b/test/SKIT.FlurlHttpClient.Wechat.Api.UnitTests/EventSamples/Channels/Dropship/DropshipOrderNewEvent.json
new file mode 100644
index 00000000..4d86bfbb
--- /dev/null
+++ b/test/SKIT.FlurlHttpClient.Wechat.Api.UnitTests/EventSamples/Channels/Dropship/DropshipOrderNewEvent.json
@@ -0,0 +1,8 @@
+{
+ "ToUserName": "gh_*",
+ "FromUserName": "OpenID",
+ "CreateTime": 1662480000,
+ "MsgType": "event",
+ "Event": "dropship_order_new",
+ "ds_order_id": "4400123343235833535"
+}
diff --git a/test/SKIT.FlurlHttpClient.Wechat.Api.UnitTests/EventSamples/Channels/Dropship/DropshipOrderUpdateEvent.json b/test/SKIT.FlurlHttpClient.Wechat.Api.UnitTests/EventSamples/Channels/Dropship/DropshipOrderUpdateEvent.json
new file mode 100644
index 00000000..c731389a
--- /dev/null
+++ b/test/SKIT.FlurlHttpClient.Wechat.Api.UnitTests/EventSamples/Channels/Dropship/DropshipOrderUpdateEvent.json
@@ -0,0 +1,9 @@
+{
+ "ToUserName": "gh_*",
+ "FromUserName": "OpenID",
+ "CreateTime": 1662480000,
+ "MsgType": "event",
+ "Event": "dropship_order_update",
+ "ds_order_id": "4400123343235833535",
+ "update_time": 1662480000
+}
diff --git a/test/SKIT.FlurlHttpClient.Wechat.Api.UnitTests/ModelSamples/Channels/ECOrder/Dropship/ChannelsECOrderDropshipAssignRequest.json b/test/SKIT.FlurlHttpClient.Wechat.Api.UnitTests/ModelSamples/Channels/ECOrder/Dropship/ChannelsECOrderDropshipAssignRequest.json
new file mode 100644
index 00000000..45d10c65
--- /dev/null
+++ b/test/SKIT.FlurlHttpClient.Wechat.Api.UnitTests/ModelSamples/Channels/ECOrder/Dropship/ChannelsECOrderDropshipAssignRequest.json
@@ -0,0 +1,11 @@
+{
+ "order_id": "37012940902395351",
+ "supplier_appid": "wxabc",
+ "dropship_product_list": [
+ {
+ "spu_id": "1253129080",
+ "sku_id": "2983950535",
+ "product_cnt": 3
+ }
+ ]
+}
diff --git a/test/SKIT.FlurlHttpClient.Wechat.Api.UnitTests/ModelSamples/Channels/ECOrder/Dropship/ChannelsECOrderDropshipCancelRequest.json b/test/SKIT.FlurlHttpClient.Wechat.Api.UnitTests/ModelSamples/Channels/ECOrder/Dropship/ChannelsECOrderDropshipCancelRequest.json
new file mode 100644
index 00000000..f23f7441
--- /dev/null
+++ b/test/SKIT.FlurlHttpClient.Wechat.Api.UnitTests/ModelSamples/Channels/ECOrder/Dropship/ChannelsECOrderDropshipCancelRequest.json
@@ -0,0 +1,11 @@
+{
+ "order_id": "37012940902395351",
+ "ds_order_id": "37012940902395351",
+ "dropship_product_list": [
+ {
+ "spu_id": "1253129080",
+ "sku_id": "2983950535",
+ "product_cnt": 3
+ }
+ ]
+}
diff --git a/test/SKIT.FlurlHttpClient.Wechat.Api.UnitTests/ModelSamples/Channels/ECOrder/Dropship/ChannelsECOrderDropshipGetRequest.json b/test/SKIT.FlurlHttpClient.Wechat.Api.UnitTests/ModelSamples/Channels/ECOrder/Dropship/ChannelsECOrderDropshipGetRequest.json
new file mode 100644
index 00000000..7df43609
--- /dev/null
+++ b/test/SKIT.FlurlHttpClient.Wechat.Api.UnitTests/ModelSamples/Channels/ECOrder/Dropship/ChannelsECOrderDropshipGetRequest.json
@@ -0,0 +1,3 @@
+{
+ "ds_order_id": "44012940902395351"
+}
diff --git a/test/SKIT.FlurlHttpClient.Wechat.Api.UnitTests/ModelSamples/Channels/ECOrder/Dropship/ChannelsECOrderDropshipGetResponse.json b/test/SKIT.FlurlHttpClient.Wechat.Api.UnitTests/ModelSamples/Channels/ECOrder/Dropship/ChannelsECOrderDropshipGetResponse.json
new file mode 100644
index 00000000..1262ee09
--- /dev/null
+++ b/test/SKIT.FlurlHttpClient.Wechat.Api.UnitTests/ModelSamples/Channels/ECOrder/Dropship/ChannelsECOrderDropshipGetResponse.json
@@ -0,0 +1,13 @@
+{
+ "errcode": 0,
+ "errmsg": "ok",
+ "dropship_order": {
+ "ds_order_id": 0,
+ "create_time": 0,
+ "update_time": 0,
+ "status": 0,
+ "supplier_appid": "",
+ "supplier_name": "",
+ "order_id": 0
+ }
+}
diff --git a/test/SKIT.FlurlHttpClient.Wechat.Api.UnitTests/ModelSamples/Channels/ECOrder/Dropship/ChannelsECOrderDropshipListRequest.json b/test/SKIT.FlurlHttpClient.Wechat.Api.UnitTests/ModelSamples/Channels/ECOrder/Dropship/ChannelsECOrderDropshipListRequest.json
new file mode 100644
index 00000000..5eb965a2
--- /dev/null
+++ b/test/SKIT.FlurlHttpClient.Wechat.Api.UnitTests/ModelSamples/Channels/ECOrder/Dropship/ChannelsECOrderDropshipListRequest.json
@@ -0,0 +1,12 @@
+{
+ "order_id": "37000204335323251",
+ "create_time_range": {
+ "start_time": 1658505600,
+ "end_time": 1658509200
+ },
+ "status": 0,
+ "page_info": {
+ "offset": 0,
+ "limit": 10
+ }
+}
diff --git a/test/SKIT.FlurlHttpClient.Wechat.Api.UnitTests/ModelSamples/Channels/ECOrder/Dropship/ChannelsECOrderDropshipListResponse.json b/test/SKIT.FlurlHttpClient.Wechat.Api.UnitTests/ModelSamples/Channels/ECOrder/Dropship/ChannelsECOrderDropshipListResponse.json
new file mode 100644
index 00000000..259ff55d
--- /dev/null
+++ b/test/SKIT.FlurlHttpClient.Wechat.Api.UnitTests/ModelSamples/Channels/ECOrder/Dropship/ChannelsECOrderDropshipListResponse.json
@@ -0,0 +1,13 @@
+{
+ "errcode": 0,
+ "errmsg": "ok",
+ "ds_order_id_list": [
+ "4404612354559743232",
+ "4404849110714209536"
+ ],
+ "next_page": {
+ "offset": 10,
+ "limit": 10
+ },
+ "total": 100
+}
diff --git a/test/SKIT.FlurlHttpClient.Wechat.Api.UnitTests/ModelSamples/Channels/ECOrder/Dropship/ChannelsECOrderDropshipSearchRequest.json b/test/SKIT.FlurlHttpClient.Wechat.Api.UnitTests/ModelSamples/Channels/ECOrder/Dropship/ChannelsECOrderDropshipSearchRequest.json
new file mode 100644
index 00000000..7218b8f2
--- /dev/null
+++ b/test/SKIT.FlurlHttpClient.Wechat.Api.UnitTests/ModelSamples/Channels/ECOrder/Dropship/ChannelsECOrderDropshipSearchRequest.json
@@ -0,0 +1,14 @@
+{
+ "search_condition": {
+ "order_id": "37000204335323251",
+ "create_time_range": {
+ "start_time": 1658505600,
+ "end_time": 1658509200
+ },
+ "status": 0
+ },
+ "page_info": {
+ "offset": 0,
+ "limit": 10
+ }
+}
diff --git a/test/SKIT.FlurlHttpClient.Wechat.Api.UnitTests/ModelSamples/Channels/ECOrder/Dropship/ChannelsECOrderDropshipSearchResponse.json b/test/SKIT.FlurlHttpClient.Wechat.Api.UnitTests/ModelSamples/Channels/ECOrder/Dropship/ChannelsECOrderDropshipSearchResponse.json
new file mode 100644
index 00000000..259ff55d
--- /dev/null
+++ b/test/SKIT.FlurlHttpClient.Wechat.Api.UnitTests/ModelSamples/Channels/ECOrder/Dropship/ChannelsECOrderDropshipSearchResponse.json
@@ -0,0 +1,13 @@
+{
+ "errcode": 0,
+ "errmsg": "ok",
+ "ds_order_id_list": [
+ "4404612354559743232",
+ "4404849110714209536"
+ ],
+ "next_page": {
+ "offset": 10,
+ "limit": 10
+ },
+ "total": 100
+}
diff --git a/test/SKIT.FlurlHttpClient.Wechat.Api.UnitTests/ModelSamples/Channels/ECOrder/Dropship/Supplier/ChannelsECOrderDropshipSupplierDeliverySendRequest.json b/test/SKIT.FlurlHttpClient.Wechat.Api.UnitTests/ModelSamples/Channels/ECOrder/Dropship/Supplier/ChannelsECOrderDropshipSupplierDeliverySendRequest.json
new file mode 100644
index 00000000..2292a28c
--- /dev/null
+++ b/test/SKIT.FlurlHttpClient.Wechat.Api.UnitTests/ModelSamples/Channels/ECOrder/Dropship/Supplier/ChannelsECOrderDropshipSupplierDeliverySendRequest.json
@@ -0,0 +1,16 @@
+{
+ "ds_order_id": "123456",
+ "delivery_list": [
+ {
+ "delivery_id": "YD",
+ "waybill_id": "23424324253",
+ "product_infos": [
+ {
+ "product_cnt": 1,
+ "product_id": "12345",
+ "sku_id": "678910"
+ }
+ ]
+ }
+ ]
+}
diff --git a/test/SKIT.FlurlHttpClient.Wechat.Api.UnitTests/ModelSamples/Channels/ECOrder/Dropship/Supplier/ChannelsECOrderDropshipSupplierDeliveryUpdateRequest.json b/test/SKIT.FlurlHttpClient.Wechat.Api.UnitTests/ModelSamples/Channels/ECOrder/Dropship/Supplier/ChannelsECOrderDropshipSupplierDeliveryUpdateRequest.json
new file mode 100644
index 00000000..2e37f3fe
--- /dev/null
+++ b/test/SKIT.FlurlHttpClient.Wechat.Api.UnitTests/ModelSamples/Channels/ECOrder/Dropship/Supplier/ChannelsECOrderDropshipSupplierDeliveryUpdateRequest.json
@@ -0,0 +1,29 @@
+{
+ "ds_order_id": "123456",
+ "change_infos": [
+ {
+ "old": {
+ "delivery_id": "YD",
+ "waybill_id": "23424324253",
+ "product_infos": [
+ {
+ "product_cnt": 1,
+ "product_id": "12345",
+ "sku_id": "678910"
+ }
+ ]
+ },
+ "new": {
+ "delivery_id": "SF",
+ "waybill_id": "SF120930535",
+ "product_infos": [
+ {
+ "product_cnt": 1,
+ "product_id": "12345",
+ "sku_id": "678910"
+ }
+ ]
+ }
+ }
+ ]
+}
diff --git a/test/SKIT.FlurlHttpClient.Wechat.Api.UnitTests/ModelSamples/Channels/ECOrder/Dropship/Supplier/ChannelsECOrderDropshipSupplierGetRequest.json b/test/SKIT.FlurlHttpClient.Wechat.Api.UnitTests/ModelSamples/Channels/ECOrder/Dropship/Supplier/ChannelsECOrderDropshipSupplierGetRequest.json
new file mode 100644
index 00000000..953a3344
--- /dev/null
+++ b/test/SKIT.FlurlHttpClient.Wechat.Api.UnitTests/ModelSamples/Channels/ECOrder/Dropship/Supplier/ChannelsECOrderDropshipSupplierGetRequest.json
@@ -0,0 +1,3 @@
+{
+ "ds_order_id": "4429352113418018304"
+}
diff --git a/test/SKIT.FlurlHttpClient.Wechat.Api.UnitTests/ModelSamples/Channels/ECOrder/Dropship/Supplier/ChannelsECOrderDropshipSupplierGetResponse.json b/test/SKIT.FlurlHttpClient.Wechat.Api.UnitTests/ModelSamples/Channels/ECOrder/Dropship/Supplier/ChannelsECOrderDropshipSupplierGetResponse.json
new file mode 100644
index 00000000..d1eb8b61
--- /dev/null
+++ b/test/SKIT.FlurlHttpClient.Wechat.Api.UnitTests/ModelSamples/Channels/ECOrder/Dropship/Supplier/ChannelsECOrderDropshipSupplierGetResponse.json
@@ -0,0 +1,13 @@
+{
+ "errcode": 0,
+ "errmsg": "ok",
+ "dropship_order": {
+ "ds_order_id": "4429352113418018304",
+ "create_time": 1751959503,
+ "update_time": 1751959503,
+ "status": 300,
+ "shop_appid": "wx2b255582a7b4bfd0",
+ "shop_name": "开平电商小店",
+ "order_id": "3729352105237033728"
+ }
+}
diff --git a/test/SKIT.FlurlHttpClient.Wechat.Api.UnitTests/ModelSamples/Channels/ECOrder/Dropship/Supplier/ChannelsECOrderDropshipSupplierListRequest.json b/test/SKIT.FlurlHttpClient.Wechat.Api.UnitTests/ModelSamples/Channels/ECOrder/Dropship/Supplier/ChannelsECOrderDropshipSupplierListRequest.json
new file mode 100644
index 00000000..5eb965a2
--- /dev/null
+++ b/test/SKIT.FlurlHttpClient.Wechat.Api.UnitTests/ModelSamples/Channels/ECOrder/Dropship/Supplier/ChannelsECOrderDropshipSupplierListRequest.json
@@ -0,0 +1,12 @@
+{
+ "order_id": "37000204335323251",
+ "create_time_range": {
+ "start_time": 1658505600,
+ "end_time": 1658509200
+ },
+ "status": 0,
+ "page_info": {
+ "offset": 0,
+ "limit": 10
+ }
+}
diff --git a/test/SKIT.FlurlHttpClient.Wechat.Api.UnitTests/ModelSamples/Channels/ECOrder/Dropship/Supplier/ChannelsECOrderDropshipSupplierListResponse.json b/test/SKIT.FlurlHttpClient.Wechat.Api.UnitTests/ModelSamples/Channels/ECOrder/Dropship/Supplier/ChannelsECOrderDropshipSupplierListResponse.json
new file mode 100644
index 00000000..259ff55d
--- /dev/null
+++ b/test/SKIT.FlurlHttpClient.Wechat.Api.UnitTests/ModelSamples/Channels/ECOrder/Dropship/Supplier/ChannelsECOrderDropshipSupplierListResponse.json
@@ -0,0 +1,13 @@
+{
+ "errcode": 0,
+ "errmsg": "ok",
+ "ds_order_id_list": [
+ "4404612354559743232",
+ "4404849110714209536"
+ ],
+ "next_page": {
+ "offset": 10,
+ "limit": 10
+ },
+ "total": 100
+}
diff --git a/test/SKIT.FlurlHttpClient.Wechat.Api.UnitTests/ModelSamples/Channels/ECOrder/Dropship/Supplier/ChannelsECOrderDropshipSupplierSearchRequest.json b/test/SKIT.FlurlHttpClient.Wechat.Api.UnitTests/ModelSamples/Channels/ECOrder/Dropship/Supplier/ChannelsECOrderDropshipSupplierSearchRequest.json
new file mode 100644
index 00000000..7218b8f2
--- /dev/null
+++ b/test/SKIT.FlurlHttpClient.Wechat.Api.UnitTests/ModelSamples/Channels/ECOrder/Dropship/Supplier/ChannelsECOrderDropshipSupplierSearchRequest.json
@@ -0,0 +1,14 @@
+{
+ "search_condition": {
+ "order_id": "37000204335323251",
+ "create_time_range": {
+ "start_time": 1658505600,
+ "end_time": 1658509200
+ },
+ "status": 0
+ },
+ "page_info": {
+ "offset": 0,
+ "limit": 10
+ }
+}
diff --git a/test/SKIT.FlurlHttpClient.Wechat.Api.UnitTests/ModelSamples/Channels/ECOrder/Dropship/Supplier/ChannelsECOrderDropshipSupplierSearchResponse.json b/test/SKIT.FlurlHttpClient.Wechat.Api.UnitTests/ModelSamples/Channels/ECOrder/Dropship/Supplier/ChannelsECOrderDropshipSupplierSearchResponse.json
new file mode 100644
index 00000000..259ff55d
--- /dev/null
+++ b/test/SKIT.FlurlHttpClient.Wechat.Api.UnitTests/ModelSamples/Channels/ECOrder/Dropship/Supplier/ChannelsECOrderDropshipSupplierSearchResponse.json
@@ -0,0 +1,13 @@
+{
+ "errcode": 0,
+ "errmsg": "ok",
+ "ds_order_id_list": [
+ "4404612354559743232",
+ "4404849110714209536"
+ ],
+ "next_page": {
+ "offset": 10,
+ "limit": 10
+ },
+ "total": 100
+}
diff --git a/test/SKIT.FlurlHttpClient.Wechat.Api.UnitTests/ModelSamples/Channels/ECSupplier/ChannelsECSupplierBaseGetSupplierBaseInfoResponse.json b/test/SKIT.FlurlHttpClient.Wechat.Api.UnitTests/ModelSamples/Channels/ECSupplier/ChannelsECSupplierBaseGetSupplierBaseInfoResponse.json
new file mode 100644
index 00000000..32628ac6
--- /dev/null
+++ b/test/SKIT.FlurlHttpClient.Wechat.Api.UnitTests/ModelSamples/Channels/ECSupplier/ChannelsECSupplierBaseGetSupplierBaseInfoResponse.json
@@ -0,0 +1,5 @@
+{
+ "errcode": 0,
+ "errmsg": "",
+ "name": "供货商名称"
+}
diff --git a/test/SKIT.FlurlHttpClient.Wechat.Api.UnitTests/ModelSamples/Channels/ECSupplier/Relation/ChannelsECSupplierRelationGetDistributeResponse.json b/test/SKIT.FlurlHttpClient.Wechat.Api.UnitTests/ModelSamples/Channels/ECSupplier/Relation/ChannelsECSupplierRelationGetDistributeResponse.json
new file mode 100644
index 00000000..15b0dbcf
--- /dev/null
+++ b/test/SKIT.FlurlHttpClient.Wechat.Api.UnitTests/ModelSamples/Channels/ECSupplier/Relation/ChannelsECSupplierRelationGetDistributeResponse.json
@@ -0,0 +1,7 @@
+{
+ "errcode": 0,
+ "errmsg": "",
+ "distribute_type": 0,
+ "all_supplier_appid": "",
+ "all_distribute_supplier_name": ""
+}
diff --git a/test/SKIT.FlurlHttpClient.Wechat.Api.UnitTests/ModelSamples/Channels/ECSupplier/Relation/ChannelsECSupplierRelationGetECListRequest.json b/test/SKIT.FlurlHttpClient.Wechat.Api.UnitTests/ModelSamples/Channels/ECSupplier/Relation/ChannelsECSupplierRelationGetECListRequest.json
new file mode 100644
index 00000000..f1261a2f
--- /dev/null
+++ b/test/SKIT.FlurlHttpClient.Wechat.Api.UnitTests/ModelSamples/Channels/ECSupplier/Relation/ChannelsECSupplierRelationGetECListRequest.json
@@ -0,0 +1,4 @@
+{
+ "offset": 0,
+ "limit": 10
+}
diff --git a/test/SKIT.FlurlHttpClient.Wechat.Api.UnitTests/ModelSamples/Channels/ECSupplier/Relation/ChannelsECSupplierRelationGetECListResponse.json b/test/SKIT.FlurlHttpClient.Wechat.Api.UnitTests/ModelSamples/Channels/ECSupplier/Relation/ChannelsECSupplierRelationGetECListResponse.json
new file mode 100644
index 00000000..b5929dad
--- /dev/null
+++ b/test/SKIT.FlurlHttpClient.Wechat.Api.UnitTests/ModelSamples/Channels/ECSupplier/Relation/ChannelsECSupplierRelationGetECListResponse.json
@@ -0,0 +1,15 @@
+{
+ "list": [
+ {
+ "appid": "wx8888888",
+ "name": "供货商test",
+ "status": 1,
+ "bind_audit_status": 1,
+ "update_time": 1754386966,
+ "head_img": "https://www.qq.com/1.png"
+ }
+ ],
+ "total_count": 10,
+ "errcode": 0,
+ "errmsg": ""
+}
diff --git a/test/SKIT.FlurlHttpClient.Wechat.Api.UnitTests/ModelSamples/Channels/ECSupplier/Relation/ChannelsECSupplierRelationGetProductDefaultDistributionRequest.json b/test/SKIT.FlurlHttpClient.Wechat.Api.UnitTests/ModelSamples/Channels/ECSupplier/Relation/ChannelsECSupplierRelationGetProductDefaultDistributionRequest.json
new file mode 100644
index 00000000..d9a80fdf
--- /dev/null
+++ b/test/SKIT.FlurlHttpClient.Wechat.Api.UnitTests/ModelSamples/Channels/ECSupplier/Relation/ChannelsECSupplierRelationGetProductDefaultDistributionRequest.json
@@ -0,0 +1,3 @@
+{
+ "product_id": 0
+}
diff --git a/test/SKIT.FlurlHttpClient.Wechat.Api.UnitTests/ModelSamples/Channels/ECSupplier/Relation/ChannelsECSupplierRelationGetProductDefaultDistributionResponse.json b/test/SKIT.FlurlHttpClient.Wechat.Api.UnitTests/ModelSamples/Channels/ECSupplier/Relation/ChannelsECSupplierRelationGetProductDefaultDistributionResponse.json
new file mode 100644
index 00000000..fba69b33
--- /dev/null
+++ b/test/SKIT.FlurlHttpClient.Wechat.Api.UnitTests/ModelSamples/Channels/ECSupplier/Relation/ChannelsECSupplierRelationGetProductDefaultDistributionResponse.json
@@ -0,0 +1,6 @@
+{
+ "errcode": 0,
+ "errmsg": "",
+ "exist_default_supplier": false,
+ "supplier_appid": ""
+}
diff --git a/test/SKIT.FlurlHttpClient.Wechat.Api.UnitTests/ModelSamples/Channels/ECSupplier/Relation/ChannelsECSupplierRelationGetProductListRequest.json b/test/SKIT.FlurlHttpClient.Wechat.Api.UnitTests/ModelSamples/Channels/ECSupplier/Relation/ChannelsECSupplierRelationGetProductListRequest.json
new file mode 100644
index 00000000..03a8a1c0
--- /dev/null
+++ b/test/SKIT.FlurlHttpClient.Wechat.Api.UnitTests/ModelSamples/Channels/ECSupplier/Relation/ChannelsECSupplierRelationGetProductListRequest.json
@@ -0,0 +1,10 @@
+{
+ "is_filter_distribute_status": false,
+ "distribute_status": 0,
+ "is_filter_product_status": false,
+ "product_status": 0,
+ "is_filter_supplier_appid": false,
+ "supplier_appid": "",
+ "limit": 0,
+ "page_context": ""
+}
diff --git a/test/SKIT.FlurlHttpClient.Wechat.Api.UnitTests/ModelSamples/Channels/ECSupplier/Relation/ChannelsECSupplierRelationGetProductListResponse.json b/test/SKIT.FlurlHttpClient.Wechat.Api.UnitTests/ModelSamples/Channels/ECSupplier/Relation/ChannelsECSupplierRelationGetProductListResponse.json
new file mode 100644
index 00000000..de239deb
--- /dev/null
+++ b/test/SKIT.FlurlHttpClient.Wechat.Api.UnitTests/ModelSamples/Channels/ECSupplier/Relation/ChannelsECSupplierRelationGetProductListResponse.json
@@ -0,0 +1,14 @@
+{
+ "errcode": 0,
+ "errmsg": "",
+ "page_context": "",
+ "total_count": 0,
+ "list": [
+ {
+ "product_id": 0,
+ "distribute_status": 0,
+ "supplier_appid": "",
+ "supplier_name": ""
+ }
+ ]
+}
diff --git a/test/SKIT.FlurlHttpClient.Wechat.Api.UnitTests/ModelSamples/Channels/ECSupplier/Relation/ChannelsECSupplierRelationGetSupplierListRequest.json b/test/SKIT.FlurlHttpClient.Wechat.Api.UnitTests/ModelSamples/Channels/ECSupplier/Relation/ChannelsECSupplierRelationGetSupplierListRequest.json
new file mode 100644
index 00000000..61105322
--- /dev/null
+++ b/test/SKIT.FlurlHttpClient.Wechat.Api.UnitTests/ModelSamples/Channels/ECSupplier/Relation/ChannelsECSupplierRelationGetSupplierListRequest.json
@@ -0,0 +1,4 @@
+{
+ "offset": 0,
+ "limit": 0
+}
diff --git a/test/SKIT.FlurlHttpClient.Wechat.Api.UnitTests/ModelSamples/Channels/ECSupplier/Relation/ChannelsECSupplierRelationGetSupplierListResponse.json b/test/SKIT.FlurlHttpClient.Wechat.Api.UnitTests/ModelSamples/Channels/ECSupplier/Relation/ChannelsECSupplierRelationGetSupplierListResponse.json
new file mode 100644
index 00000000..abeebb93
--- /dev/null
+++ b/test/SKIT.FlurlHttpClient.Wechat.Api.UnitTests/ModelSamples/Channels/ECSupplier/Relation/ChannelsECSupplierRelationGetSupplierListResponse.json
@@ -0,0 +1,14 @@
+{
+ "list": [
+ {
+ "name": "",
+ "appid": "",
+ "status": 0,
+ "bind_audit_status": 0,
+ "update_time": 0
+ }
+ ],
+ "total_count": 0,
+ "errcode": 0,
+ "errmsg": ""
+}
diff --git a/test/SKIT.FlurlHttpClient.Wechat.Api.UnitTests/ModelSamples/Channels/ECSupplier/Relation/ChannelsECSupplierRelationSetAllDistributeRequest.json b/test/SKIT.FlurlHttpClient.Wechat.Api.UnitTests/ModelSamples/Channels/ECSupplier/Relation/ChannelsECSupplierRelationSetAllDistributeRequest.json
new file mode 100644
index 00000000..efb04e33
--- /dev/null
+++ b/test/SKIT.FlurlHttpClient.Wechat.Api.UnitTests/ModelSamples/Channels/ECSupplier/Relation/ChannelsECSupplierRelationSetAllDistributeRequest.json
@@ -0,0 +1,3 @@
+{
+ "supplier_appid": ""
+}
diff --git a/test/SKIT.FlurlHttpClient.Wechat.Api.UnitTests/ModelSamples/Channels/ECSupplier/Relation/ChannelsECSupplierRelationSetProductDistributeRequest.json b/test/SKIT.FlurlHttpClient.Wechat.Api.UnitTests/ModelSamples/Channels/ECSupplier/Relation/ChannelsECSupplierRelationSetProductDistributeRequest.json
new file mode 100644
index 00000000..945001c2
--- /dev/null
+++ b/test/SKIT.FlurlHttpClient.Wechat.Api.UnitTests/ModelSamples/Channels/ECSupplier/Relation/ChannelsECSupplierRelationSetProductDistributeRequest.json
@@ -0,0 +1,9 @@
+{
+ "list": [
+ {
+ "supplier_appid": "",
+ "product_id": 0,
+ "is_distribute": false
+ }
+ ]
+}