diff --git a/src/SKIT.FlurlHttpClient.Wechat.Api/Events/ChannelsEC/EWaybillPushPathEvent.cs b/src/SKIT.FlurlHttpClient.Wechat.Api/Events/ChannelsEC/EWaybillPushPathEvent.cs
new file mode 100644
index 00000000..011f6945
--- /dev/null
+++ b/src/SKIT.FlurlHttpClient.Wechat.Api/Events/ChannelsEC/EWaybillPushPathEvent.cs
@@ -0,0 +1,64 @@
+namespace SKIT.FlurlHttpClient.Wechat.Api.Events
+{
+ ///
+ /// 表示 EVENT.ewaybill_push_path 事件的数据。
+ /// REF: https://developers.weixin.qq.com/doc/channels/API/ewaybill/push_path.html
+ ///
+ public class EWaybillPushPathEvent : WechatApiEvent, WechatApiEvent.Serialization.IJsonSerializable, WechatApiEvent.Serialization.IXmlSerializable
+ {
+ public static class Types
+ {
+ public class Waybill
+ {
+ ///
+ /// 获取或设置电子面单 ID。
+ ///
+ [Newtonsoft.Json.JsonProperty("ewaybill_order_id")]
+ [System.Text.Json.Serialization.JsonPropertyName("ewaybill_order_id")]
+ [System.Text.Json.Serialization.JsonConverter(typeof(System.Text.Json.Converters.NumericalStringReadOnlyConverter))]
+ [System.Xml.Serialization.XmlElement("ewaybill_order_id")]
+ public string EWaybillOrderId { get; set; } = default!;
+
+ ///
+ /// 获取或设置快递单号。
+ ///
+ [Newtonsoft.Json.JsonProperty("waybill_id")]
+ [System.Text.Json.Serialization.JsonPropertyName("waybill_id")]
+ [System.Xml.Serialization.XmlElement("waybill_id")]
+ public string WaybillId { get; set; } = default!;
+
+ ///
+ /// 获取或设置轨迹状态。
+ ///
+ [Newtonsoft.Json.JsonProperty("status")]
+ [System.Text.Json.Serialization.JsonPropertyName("status")]
+ [System.Xml.Serialization.XmlElement("status")]
+ public int Status { get; set; }
+
+ ///
+ /// 获取或设置轨迹描述。
+ ///
+ [Newtonsoft.Json.JsonProperty("desc")]
+ [System.Text.Json.Serialization.JsonPropertyName("desc")]
+ [System.Xml.Serialization.XmlElement("desc")]
+ public string Description { 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; }
+ }
+ }
+
+ ///
+ /// 获取或设置快递信息。
+ ///
+ [Newtonsoft.Json.JsonProperty("waybill_info")]
+ [System.Text.Json.Serialization.JsonPropertyName("waybill_info")]
+ [System.Xml.Serialization.XmlElement("waybill_info")]
+ public Types.Waybill Waybill { get; set; } = default!;
+ }
+}
diff --git a/src/SKIT.FlurlHttpClient.Wechat.Api/Extensions/WechatApiClientExecuteChannelsExtensions.cs b/src/SKIT.FlurlHttpClient.Wechat.Api/Extensions/WechatApiClientExecuteChannelsExtensions.cs
index 83baafa9..25c5b286 100644
--- a/src/SKIT.FlurlHttpClient.Wechat.Api/Extensions/WechatApiClientExecuteChannelsExtensions.cs
+++ b/src/SKIT.FlurlHttpClient.Wechat.Api/Extensions/WechatApiClientExecuteChannelsExtensions.cs
@@ -1709,6 +1709,132 @@ namespace SKIT.FlurlHttpClient.Wechat.Api
}
#region ECLogistics/EWaybill
+ #region ECLogistics/EWaybill/Account
+ ///
+ /// 异步调用 [POST] /channels/ec/logistics/ewaybill/biz/account/get 接口。
+ /// REF: https://developers.weixin.qq.com/doc/channels/API/ewaybill/get_account.html
+ ///
+ ///
+ ///
+ ///
+ ///
+ public static async Task ExecuteChannelsECLogisticsEWaybillAccountGetAsync(this WechatApiClient client, Models.ChannelsECLogisticsEWaybillAccountGetRequest request, CancellationToken cancellationToken = default)
+ {
+ if (client is null) throw new ArgumentNullException(nameof(client));
+ if (request is null) throw new ArgumentNullException(nameof(request));
+
+ IFlurlRequest flurlReq = client
+ .CreateRequest(request, HttpMethod.Post, "channels", "ec", "logistics", "ewaybill", "biz", "account", "get")
+ .SetQueryParam("access_token", request.AccessToken);
+
+ return await client.SendRequestWithJsonAsync(flurlReq, data: request, cancellationToken: cancellationToken);
+ }
+ #endregion
+
+ #region ECLogistics/EWaybill/Delivery
+ ///
+ /// 异步调用 [POST] /channels/ec/logistics/ewaybill/biz/delivery/get 接口。
+ /// REF: https://developers.weixin.qq.com/doc/channels/API/ewaybill/get_acctdeliverylist.html
+ ///
+ ///
+ ///
+ ///
+ ///
+ public static async Task ExecuteChannelsECLogisticsEWaybillDeliveryGetAsync(this WechatApiClient client, Models.ChannelsECLogisticsEWaybillDeliveryGetRequest request, CancellationToken cancellationToken = default)
+ {
+ if (client is null) throw new ArgumentNullException(nameof(client));
+ if (request is null) throw new ArgumentNullException(nameof(request));
+
+ IFlurlRequest flurlReq = client
+ .CreateRequest(request, HttpMethod.Post, "channels", "ec", "logistics", "ewaybill", "biz", "delivery", "get")
+ .SetQueryParam("access_token", request.AccessToken);
+
+ return await client.SendRequestWithJsonAsync(flurlReq, data: request, cancellationToken: cancellationToken);
+ }
+ #endregion
+
+ #region ECLogistics/EWaybill/Order
+ ///
+ /// 异步调用 [POST] /channels/ec/logistics/ewaybill/biz/order/precreate 接口。
+ /// REF: https://developers.weixin.qq.com/doc/channels/API/ewaybill/precreate_order.html
+ ///
+ ///
+ ///
+ ///
+ ///
+ public static async Task ExecuteChannelsECLogisticsEWaybillOrderPrecreateAsync(this WechatApiClient client, Models.ChannelsECLogisticsEWaybillOrderPrecreateRequest request, CancellationToken cancellationToken = default)
+ {
+ if (client is null) throw new ArgumentNullException(nameof(client));
+ if (request is null) throw new ArgumentNullException(nameof(request));
+
+ IFlurlRequest flurlReq = client
+ .CreateRequest(request, HttpMethod.Post, "channels", "ec", "logistics", "ewaybill", "biz", "order", "precreate")
+ .SetQueryParam("access_token", request.AccessToken);
+
+ return await client.SendRequestWithJsonAsync(flurlReq, data: request, cancellationToken: cancellationToken);
+ }
+
+ ///
+ /// 异步调用 [POST] /channels/ec/logistics/ewaybill/biz/order/create 接口。
+ /// REF: https://developers.weixin.qq.com/doc/channels/API/ewaybill/create_order.html
+ ///
+ ///
+ ///
+ ///
+ ///
+ public static async Task ExecuteChannelsECLogisticsEWaybillOrderCreateAsync(this WechatApiClient client, Models.ChannelsECLogisticsEWaybillOrderCreateRequest request, CancellationToken cancellationToken = default)
+ {
+ if (client is null) throw new ArgumentNullException(nameof(client));
+ if (request is null) throw new ArgumentNullException(nameof(request));
+
+ IFlurlRequest flurlReq = client
+ .CreateRequest(request, HttpMethod.Post, "channels", "ec", "logistics", "ewaybill", "biz", "order", "create")
+ .SetQueryParam("access_token", request.AccessToken);
+
+ return await client.SendRequestWithJsonAsync(flurlReq, data: request, cancellationToken: cancellationToken);
+ }
+
+ ///
+ /// 异步调用 [POST] /channels/ec/logistics/ewaybill/biz/order/cancel 接口。
+ /// REF: https://developers.weixin.qq.com/doc/channels/API/ewaybill/cancel_order.html
+ ///
+ ///
+ ///
+ ///
+ ///
+ public static async Task ExecuteChannelsECLogisticsEWaybillOrderCancelAsync(this WechatApiClient client, Models.ChannelsECLogisticsEWaybillOrderCancelRequest request, CancellationToken cancellationToken = default)
+ {
+ if (client is null) throw new ArgumentNullException(nameof(client));
+ if (request is null) throw new ArgumentNullException(nameof(request));
+
+ IFlurlRequest flurlReq = client
+ .CreateRequest(request, HttpMethod.Post, "channels", "ec", "logistics", "ewaybill", "biz", "order", "cancel")
+ .SetQueryParam("access_token", request.AccessToken);
+
+ return await client.SendRequestWithJsonAsync(flurlReq, data: request, cancellationToken: cancellationToken);
+ }
+
+ ///
+ /// 异步调用 [POST] /channels/ec/logistics/ewaybill/biz/order/get 接口。
+ /// REF: https://developers.weixin.qq.com/doc/channels/API/ewaybill/get_order.html
+ ///
+ ///
+ ///
+ ///
+ ///
+ public static async Task ExecuteChannelsECLogisticsEWaybillOrderGetAsync(this WechatApiClient client, Models.ChannelsECLogisticsEWaybillOrderGetRequest request, CancellationToken cancellationToken = default)
+ {
+ if (client is null) throw new ArgumentNullException(nameof(client));
+ if (request is null) throw new ArgumentNullException(nameof(request));
+
+ IFlurlRequest flurlReq = client
+ .CreateRequest(request, HttpMethod.Post, "channels", "ec", "logistics", "ewaybill", "biz", "order", "get")
+ .SetQueryParam("access_token", request.AccessToken);
+
+ return await client.SendRequestWithJsonAsync(flurlReq, data: request, cancellationToken: cancellationToken);
+ }
+ #endregion
+
#region ECLogistics/EWaybill/Template
///
/// 异步调用 [POST] /channels/ec/logistics/ewaybill/biz/template/config 接口。
diff --git a/src/SKIT.FlurlHttpClient.Wechat.Api/Models/Channels/ECLogistics/EWaybill/Account/ChannelsECLogisticsEWaybillAccountGetRequest.cs b/src/SKIT.FlurlHttpClient.Wechat.Api/Models/Channels/ECLogistics/EWaybill/Account/ChannelsECLogisticsEWaybillAccountGetRequest.cs
new file mode 100644
index 00000000..00af1676
--- /dev/null
+++ b/src/SKIT.FlurlHttpClient.Wechat.Api/Models/Channels/ECLogistics/EWaybill/Account/ChannelsECLogisticsEWaybillAccountGetRequest.cs
@@ -0,0 +1,51 @@
+namespace SKIT.FlurlHttpClient.Wechat.Api.Models
+{
+ ///
+ /// 表示 [POST] /channels/ec/logistics/ewaybill/biz/account/get 接口的请求。
+ ///
+ public class ChannelsECLogisticsEWaybillAccountGetRequest : WechatApiRequest, IInferable
+ {
+ ///
+ /// 获取或设置快递公司 ID。
+ ///
+ [Newtonsoft.Json.JsonProperty("delivery_id")]
+ [System.Text.Json.Serialization.JsonPropertyName("delivery_id")]
+ public string? DeliveryId { get; set; }
+
+ ///
+ /// 获取或设置电子面单账号 ID。
+ ///
+ [Newtonsoft.Json.JsonProperty("acct_id")]
+ [System.Text.Json.Serialization.JsonPropertyName("acct_id")]
+ public string? AccountId { get; set; }
+
+ ///
+ /// 获取或设置状态。
+ ///
+ [Newtonsoft.Json.JsonProperty("status")]
+ [System.Text.Json.Serialization.JsonPropertyName("status")]
+ public int? Status { get; set; }
+
+ ///
+ /// 获取或设置是否需要查询库存。
+ ///
+ [Newtonsoft.Json.JsonProperty("need_balance")]
+ [System.Text.Json.Serialization.JsonPropertyName("need_balance")]
+ public bool RequireBalance { get; set; }
+
+ ///
+ /// 获取或设置分页起始位置。
+ ///
+ [Newtonsoft.Json.JsonProperty("offset")]
+ [System.Text.Json.Serialization.JsonPropertyName("offset")]
+ public int? Offset { get; set; }
+
+ ///
+ /// 获取或设置分页每页数量。
+ /// 默认值:10
+ ///
+ [Newtonsoft.Json.JsonProperty("limit")]
+ [System.Text.Json.Serialization.JsonPropertyName("limit")]
+ public int Limit { get; set; } = 10;
+ }
+}
diff --git a/src/SKIT.FlurlHttpClient.Wechat.Api/Models/Channels/ECLogistics/EWaybill/Account/ChannelsECLogisticsEWaybillAccountGetResponse.cs b/src/SKIT.FlurlHttpClient.Wechat.Api/Models/Channels/ECLogistics/EWaybill/Account/ChannelsECLogisticsEWaybillAccountGetResponse.cs
new file mode 100644
index 00000000..c911da6a
--- /dev/null
+++ b/src/SKIT.FlurlHttpClient.Wechat.Api/Models/Channels/ECLogistics/EWaybill/Account/ChannelsECLogisticsEWaybillAccountGetResponse.cs
@@ -0,0 +1,378 @@
+namespace SKIT.FlurlHttpClient.Wechat.Api.Models
+{
+ ///
+ /// 表示 [POST] /channels/ec/logistics/ewaybill/biz/account/get 接口的响应。
+ ///
+ public class ChannelsECLogisticsEWaybillAccountGetResponse : WechatApiResponse
+ {
+ public static class Types
+ {
+ public class Account
+ {
+ public static class Types
+ {
+ public class SiteInfo
+ {
+ public static class Types
+ {
+ public class Address
+ {
+ ///
+ /// 获取或设置国家编码。
+ ///
+ [Newtonsoft.Json.JsonProperty("country_code")]
+ [System.Text.Json.Serialization.JsonPropertyName("country_code")]
+ public string CountryCode { get; set; } = default!;
+
+ ///
+ /// 获取或设置省份编码。
+ ///
+ [Newtonsoft.Json.JsonProperty("province_code")]
+ [System.Text.Json.Serialization.JsonPropertyName("province_code")]
+ public string ProvinceCode { get; set; } = default!;
+
+ ///
+ /// 获取或设置省份名称。
+ ///
+ [Newtonsoft.Json.JsonProperty("province_name")]
+ [System.Text.Json.Serialization.JsonPropertyName("province_name")]
+ public string ProvinceName { get; set; } = default!;
+
+ ///
+ /// 获取或设置城市编码。
+ ///
+ [Newtonsoft.Json.JsonProperty("city_code")]
+ [System.Text.Json.Serialization.JsonPropertyName("city_code")]
+ public string CityCode { get; set; } = default!;
+
+ ///
+ /// 获取或设置城市名称。
+ ///
+ [Newtonsoft.Json.JsonProperty("city_name")]
+ [System.Text.Json.Serialization.JsonPropertyName("city_name")]
+ public string CityName { get; set; } = default!;
+
+ ///
+ /// 获取或设置区县编码。
+ ///
+ [Newtonsoft.Json.JsonProperty("district_code")]
+ [System.Text.Json.Serialization.JsonPropertyName("district_code")]
+ public string DistrictCode { get; set; } = default!;
+
+ ///
+ /// 获取或设置区县名称。
+ ///
+ [Newtonsoft.Json.JsonProperty("district_name")]
+ [System.Text.Json.Serialization.JsonPropertyName("district_name")]
+ public string DistrictName { get; set; } = default!;
+
+ ///
+ /// 获取或设置街道编码。
+ ///
+ [Newtonsoft.Json.JsonProperty("street_code")]
+ [System.Text.Json.Serialization.JsonPropertyName("street_code")]
+ public string StreetCode { get; set; } = default!;
+
+ ///
+ /// 获取或设置街道名称。
+ ///
+ [Newtonsoft.Json.JsonProperty("street_name")]
+ [System.Text.Json.Serialization.JsonPropertyName("street_name")]
+ public string StreetName { get; set; } = default!;
+
+ ///
+ /// 获取或设置详细地址。
+ ///
+ [Newtonsoft.Json.JsonProperty("detail_address")]
+ [System.Text.Json.Serialization.JsonPropertyName("detail_address")]
+ public string DetailAddress { get; set; } = default!;
+ }
+
+ public class Contact
+ {
+ ///
+ /// 获取或设置联系人。
+ ///
+ [Newtonsoft.Json.JsonProperty("name")]
+ [System.Text.Json.Serialization.JsonPropertyName("name")]
+ public string Name { get; set; } = default!;
+
+ ///
+ /// 获取或设置手机号码。
+ ///
+ [Newtonsoft.Json.JsonProperty("mobile")]
+ [System.Text.Json.Serialization.JsonPropertyName("mobile")]
+ public string MobileNumber { get; set; } = default!;
+
+ ///
+ /// 获取或设置电话号码。
+ ///
+ [Newtonsoft.Json.JsonProperty("phone")]
+ [System.Text.Json.Serialization.JsonPropertyName("phone")]
+ public string PhoneNumber { get; set; } = default!;
+ }
+ }
+
+ ///
+ /// 获取或设置快递公司 ID。
+ ///
+ [Newtonsoft.Json.JsonProperty("delivery_id")]
+ [System.Text.Json.Serialization.JsonPropertyName("delivery_id")]
+ public string DeliveryId { get; set; } = default!;
+
+ ///
+ /// 获取或设置网点运营状态。
+ ///
+ [Newtonsoft.Json.JsonProperty("site_status")]
+ [System.Text.Json.Serialization.JsonPropertyName("site_status")]
+ public int SiteStatus { get; set; }
+
+ ///
+ /// 获取或设置网点编码。
+ ///
+ [Newtonsoft.Json.JsonProperty("site_code")]
+ [System.Text.Json.Serialization.JsonPropertyName("site_code")]
+ public string SiteCode { get; set; } = default!;
+
+ ///
+ /// 获取或设置网点名称。
+ ///
+ [Newtonsoft.Json.JsonProperty("site_name")]
+ [System.Text.Json.Serialization.JsonPropertyName("site_name")]
+ public string SiteName { get; set; } = default!;
+
+ ///
+ /// 获取或设置网点全名。
+ ///
+ [Newtonsoft.Json.JsonProperty("site_fullname")]
+ [System.Text.Json.Serialization.JsonPropertyName("site_fullname")]
+ public string SiteFullName { get; set; } = default!;
+
+ ///
+ /// 获取或设置地址信息。
+ ///
+ [Newtonsoft.Json.JsonProperty("address")]
+ [System.Text.Json.Serialization.JsonPropertyName("address")]
+ public Types.Address Address { get; set; } = default!;
+
+ ///
+ /// 获取或设置联系方式信息。
+ ///
+ [Newtonsoft.Json.JsonProperty("contact")]
+ [System.Text.Json.Serialization.JsonPropertyName("contact")]
+ public Types.Contact Contact { get; set; } = default!;
+ }
+
+ public class ShareInfo
+ {
+ ///
+ /// 获取或设置快递公司 ID。
+ ///
+ [Newtonsoft.Json.JsonProperty("delivery_id")]
+ [System.Text.Json.Serialization.JsonPropertyName("delivery_id")]
+ public string DeliveryId { get; set; } = default!;
+
+ ///
+ /// 获取或设置网点编码。
+ ///
+ [Newtonsoft.Json.JsonProperty("site_code")]
+ [System.Text.Json.Serialization.JsonPropertyName("site_code")]
+ public string SiteCode { get; set; } = default!;
+
+ ///
+ /// 获取或设置网点名称。
+ ///
+ [Newtonsoft.Json.JsonProperty("site_name")]
+ [System.Text.Json.Serialization.JsonPropertyName("site_name")]
+ public string SiteName { get; set; } = default!;
+
+ ///
+ /// 获取或设置共享 ID。
+ ///
+ [Newtonsoft.Json.JsonProperty("share_id")]
+ [System.Text.Json.Serialization.JsonPropertyName("share_id")]
+ public string ShareId { get; set; } = default!;
+
+ ///
+ /// 获取或设置店铺 ID。
+ ///
+ [Newtonsoft.Json.JsonProperty("shop_id")]
+ [System.Text.Json.Serialization.JsonPropertyName("shop_id")]
+ public string ShopId { get; set; } = default!;
+
+ ///
+ /// 获取或设置电子面单账号 ID。
+ ///
+ [Newtonsoft.Json.JsonProperty("acct_id")]
+ [System.Text.Json.Serialization.JsonPropertyName("acct_id")]
+ public string AccountId { get; set; } = default!;
+
+ ///
+ /// 获取或设置发起共享方店铺名。
+ ///
+ [Newtonsoft.Json.JsonProperty("nickname")]
+ [System.Text.Json.Serialization.JsonPropertyName("nickname")]
+ public string Nickname { get; set; } = default!;
+
+ ///
+ /// 获取或设置月结账号。
+ ///
+ [Newtonsoft.Json.JsonProperty("monthly_card")]
+ [System.Text.Json.Serialization.JsonPropertyName("monthly_card")]
+ public string? MonthlyCard { get; set; }
+
+ ///
+ /// 获取或设置更新时间戳。
+ ///
+ [Newtonsoft.Json.JsonProperty("update_time")]
+ [System.Text.Json.Serialization.JsonPropertyName("update_time")]
+ public long UpdateTimestamp { get; set; }
+ }
+
+ public class SenderAddress
+ {
+ ///
+ /// 获取或设置省份。
+ ///
+ [Newtonsoft.Json.JsonProperty("province")]
+ [System.Text.Json.Serialization.JsonPropertyName("province")]
+ public string Province { get; set; } = default!;
+
+ ///
+ /// 获取或设置城市。
+ ///
+ [Newtonsoft.Json.JsonProperty("city")]
+ [System.Text.Json.Serialization.JsonPropertyName("city")]
+ public string City { get; set; } = default!;
+
+ ///
+ /// 获取或设置区县。
+ ///
+ [Newtonsoft.Json.JsonProperty("county")]
+ [System.Text.Json.Serialization.JsonPropertyName("county")]
+ public string District { get; set; } = default!;
+
+ ///
+ /// 获取或设置街道。
+ ///
+ [Newtonsoft.Json.JsonProperty("street")]
+ [System.Text.Json.Serialization.JsonPropertyName("street")]
+ public string Street { get; set; } = default!;
+
+ ///
+ /// 获取或设置详细地址。
+ ///
+ [Newtonsoft.Json.JsonProperty("address")]
+ [System.Text.Json.Serialization.JsonPropertyName("address")]
+ public string DetailAddress { get; set; } = default!;
+ }
+ }
+
+ ///
+ /// 获取或设置快递公司 ID。
+ ///
+ [Newtonsoft.Json.JsonProperty("delivery_id")]
+ [System.Text.Json.Serialization.JsonPropertyName("delivery_id")]
+ public string DeliveryId { get; set; } = default!;
+
+ ///
+ /// 获取或设置店铺 ID。
+ ///
+ [Newtonsoft.Json.JsonProperty("shop_id")]
+ [System.Text.Json.Serialization.JsonPropertyName("shop_id")]
+ public string ShopId { get; set; } = default!;
+
+ ///
+ /// 获取或设置电子面单账号 ID。
+ ///
+ [Newtonsoft.Json.JsonProperty("acct_id")]
+ [System.Text.Json.Serialization.JsonPropertyName("acct_id")]
+ public string AccountId { get; set; } = default!;
+
+ ///
+ /// 获取或设置电子面单账号类型。
+ ///
+ [Newtonsoft.Json.JsonProperty("acct_type")]
+ [System.Text.Json.Serialization.JsonPropertyName("acct_type")]
+ public int AccountType { get; set; } = default!;
+
+ ///
+ /// 获取或设置状态。
+ ///
+ [Newtonsoft.Json.JsonProperty("status")]
+ [System.Text.Json.Serialization.JsonPropertyName("status")]
+ public int Status { get; set; }
+
+ ///
+ /// 获取或设置面单余额(单位:分)。
+ ///
+ [Newtonsoft.Json.JsonProperty("available")]
+ [System.Text.Json.Serialization.JsonPropertyName("available")]
+ public int AvailableBalance { get; set; }
+
+ ///
+ /// 获取或设置累积已取单。
+ ///
+ [Newtonsoft.Json.JsonProperty("allocated")]
+ [System.Text.Json.Serialization.JsonPropertyName("allocated")]
+ public int AllocatedCount { get; set; }
+
+ ///
+ /// 获取或设置累积已回收。
+ ///
+ [Newtonsoft.Json.JsonProperty("recycled")]
+ [System.Text.Json.Serialization.JsonPropertyName("recycled")]
+ public int RecycledCount { get; set; }
+
+ ///
+ /// 获取或设置累计已取消。
+ ///
+ [Newtonsoft.Json.JsonProperty("cancel")]
+ [System.Text.Json.Serialization.JsonPropertyName("cancel")]
+ public int CancelCount { get; set; }
+
+ ///
+ /// 获取或设置月结账号。
+ ///
+ [Newtonsoft.Json.JsonProperty("monthly_card")]
+ [System.Text.Json.Serialization.JsonPropertyName("monthly_card")]
+ public string? MonthlyCard { get; set; }
+
+ ///
+ /// 获取或设置网点信息。
+ ///
+ [Newtonsoft.Json.JsonProperty("site_info")]
+ [System.Text.Json.Serialization.JsonPropertyName("site_info")]
+ public Types.SiteInfo? SiteInfo { get; set; }
+
+ ///
+ /// 获取或设置共享账号信息。
+ ///
+ [Newtonsoft.Json.JsonProperty("share")]
+ [System.Text.Json.Serialization.JsonPropertyName("share")]
+ public Types.ShareInfo? ShareInfo { get; set; }
+
+ ///
+ /// 获取或设置发货地址信息。
+ ///
+ [Newtonsoft.Json.JsonProperty("sender_address")]
+ [System.Text.Json.Serialization.JsonPropertyName("sender_address")]
+ public Types.SenderAddress? SenderAddress { get; set; }
+ }
+ }
+
+ ///
+ /// 获取或设置账号列表。
+ ///
+ [Newtonsoft.Json.JsonProperty("account_list")]
+ [System.Text.Json.Serialization.JsonPropertyName("account_list")]
+ public Types.Account[] AccountList { get; set; } = default!;
+
+ ///
+ /// 获取或设置总数量。
+ ///
+ [Newtonsoft.Json.JsonProperty("total_num")]
+ [System.Text.Json.Serialization.JsonPropertyName("total_num")]
+ public int TotalCount { get; set; }
+ }
+}
diff --git a/src/SKIT.FlurlHttpClient.Wechat.Api/Models/Channels/ECLogistics/EWaybill/Delivery/ChannelsECLogisticsEWaybillDeliveryGetRequest.cs b/src/SKIT.FlurlHttpClient.Wechat.Api/Models/Channels/ECLogistics/EWaybill/Delivery/ChannelsECLogisticsEWaybillDeliveryGetRequest.cs
new file mode 100644
index 00000000..d3b4b40f
--- /dev/null
+++ b/src/SKIT.FlurlHttpClient.Wechat.Api/Models/Channels/ECLogistics/EWaybill/Delivery/ChannelsECLogisticsEWaybillDeliveryGetRequest.cs
@@ -0,0 +1,15 @@
+namespace SKIT.FlurlHttpClient.Wechat.Api.Models
+{
+ ///
+ /// 表示 [POST] /channels/ec/logistics/ewaybill/biz/delivery/get 接口的请求。
+ ///
+ public class ChannelsECLogisticsEWaybillDeliveryGetRequest : WechatApiRequest, IInferable
+ {
+ ///
+ /// 获取或设置状态。
+ ///
+ [Newtonsoft.Json.JsonProperty("status")]
+ [System.Text.Json.Serialization.JsonPropertyName("status")]
+ public int? Status { get; set; }
+ }
+}
diff --git a/src/SKIT.FlurlHttpClient.Wechat.Api/Models/Channels/ECLogistics/EWaybill/Delivery/ChannelsECLogisticsEWaybillDeliveryGetResponse.cs b/src/SKIT.FlurlHttpClient.Wechat.Api/Models/Channels/ECLogistics/EWaybill/Delivery/ChannelsECLogisticsEWaybillDeliveryGetResponse.cs
new file mode 100644
index 00000000..51ef5000
--- /dev/null
+++ b/src/SKIT.FlurlHttpClient.Wechat.Api/Models/Channels/ECLogistics/EWaybill/Delivery/ChannelsECLogisticsEWaybillDeliveryGetResponse.cs
@@ -0,0 +1,42 @@
+namespace SKIT.FlurlHttpClient.Wechat.Api.Models
+{
+ ///
+ /// 表示 [POST] /channels/ec/logistics/ewaybill/biz/delivery/get 接口的响应。
+ ///
+ public class ChannelsECLogisticsEWaybillDeliveryGetResponse : WechatApiResponse
+ {
+ public static class Types
+ {
+ public class Delivery
+ {
+ ///
+ /// 获取或设置快递公司 ID。
+ ///
+ [Newtonsoft.Json.JsonProperty("delivery_id")]
+ [System.Text.Json.Serialization.JsonPropertyName("delivery_id")]
+ public string DeliveryId { get; set; } = default!;
+
+ ///
+ /// 获取或设置快递公司名称。
+ ///
+ [Newtonsoft.Json.JsonProperty("delivery_name")]
+ [System.Text.Json.Serialization.JsonPropertyName("delivery_name")]
+ public string DeliveryName { get; set; } = default!;
+ }
+ }
+
+ ///
+ /// 获取或设置快递公司列表。
+ ///
+ [Newtonsoft.Json.JsonProperty("list")]
+ [System.Text.Json.Serialization.JsonPropertyName("list")]
+ public Types.Delivery[] DeliveryList { get; set; } = default!;
+
+ ///
+ /// 获取或设置店铺 ID。
+ ///
+ [Newtonsoft.Json.JsonProperty("shop_id")]
+ [System.Text.Json.Serialization.JsonPropertyName("shop_id")]
+ public string ShopId { get; set; } = default!;
+ }
+}
diff --git a/src/SKIT.FlurlHttpClient.Wechat.Api/Models/Channels/ECLogistics/EWaybill/Order/ChannelsECLogisticsEWaybillOrderCancelRequest.cs b/src/SKIT.FlurlHttpClient.Wechat.Api/Models/Channels/ECLogistics/EWaybill/Order/ChannelsECLogisticsEWaybillOrderCancelRequest.cs
new file mode 100644
index 00000000..67af7c17
--- /dev/null
+++ b/src/SKIT.FlurlHttpClient.Wechat.Api/Models/Channels/ECLogistics/EWaybill/Order/ChannelsECLogisticsEWaybillOrderCancelRequest.cs
@@ -0,0 +1,31 @@
+using System.Collections.Generic;
+
+namespace SKIT.FlurlHttpClient.Wechat.Api.Models
+{
+ ///
+ /// 表示 [POST] /channels/ec/logistics/ewaybill/biz/order/cancel 接口的请求。
+ ///
+ public class ChannelsECLogisticsEWaybillOrderCancelRequest : WechatApiRequest, IInferable
+ {
+ ///
+ /// 获取或设置快递公司 ID。
+ ///
+ [Newtonsoft.Json.JsonProperty("delivery_id")]
+ [System.Text.Json.Serialization.JsonPropertyName("delivery_id")]
+ public string DeliveryId { get; set; } = string.Empty;
+
+ ///
+ /// 获取或设置电子面单 ID。
+ ///
+ [Newtonsoft.Json.JsonProperty("ewaybill_order_id")]
+ [System.Text.Json.Serialization.JsonPropertyName("ewaybill_order_id")]
+ public string EWaybillOrderId { get; set; } = string.Empty;
+
+ ///
+ /// 获取或设置快递单号。
+ ///
+ [Newtonsoft.Json.JsonProperty("waybill_id")]
+ [System.Text.Json.Serialization.JsonPropertyName("waybill_id")]
+ public string WaybillId { get; set; } = string.Empty;
+ }
+}
diff --git a/src/SKIT.FlurlHttpClient.Wechat.Api/Models/Channels/ECLogistics/EWaybill/Order/ChannelsECLogisticsEWaybillOrderCancelResponse.cs b/src/SKIT.FlurlHttpClient.Wechat.Api/Models/Channels/ECLogistics/EWaybill/Order/ChannelsECLogisticsEWaybillOrderCancelResponse.cs
new file mode 100644
index 00000000..9954844b
--- /dev/null
+++ b/src/SKIT.FlurlHttpClient.Wechat.Api/Models/Channels/ECLogistics/EWaybill/Order/ChannelsECLogisticsEWaybillOrderCancelResponse.cs
@@ -0,0 +1,15 @@
+namespace SKIT.FlurlHttpClient.Wechat.Api.Models
+{
+ ///
+ /// 表示 [POST] /channels/ec/logistics/ewaybill/biz/order/cancel 接口的响应。
+ ///
+ public class ChannelsECLogisticsEWaybillOrderCancelResponse : WechatApiResponse
+ {
+ ///
+ /// 获取或设置快递公司错误信息。
+ ///
+ [Newtonsoft.Json.JsonProperty("delivery_error_msg")]
+ [System.Text.Json.Serialization.JsonPropertyName("delivery_error_msg")]
+ public string? DeliveryErrorMessage { get; set; }
+ }
+}
diff --git a/src/SKIT.FlurlHttpClient.Wechat.Api/Models/Channels/ECLogistics/EWaybill/Order/ChannelsECLogisticsEWaybillOrderCreateRequest.cs b/src/SKIT.FlurlHttpClient.Wechat.Api/Models/Channels/ECLogistics/EWaybill/Order/ChannelsECLogisticsEWaybillOrderCreateRequest.cs
new file mode 100644
index 00000000..9ed52bc9
--- /dev/null
+++ b/src/SKIT.FlurlHttpClient.Wechat.Api/Models/Channels/ECLogistics/EWaybill/Order/ChannelsECLogisticsEWaybillOrderCreateRequest.cs
@@ -0,0 +1,186 @@
+using System.Collections.Generic;
+
+namespace SKIT.FlurlHttpClient.Wechat.Api.Models
+{
+ ///
+ /// 表示 [POST] /channels/ec/logistics/ewaybill/biz/order/create 接口的请求。
+ ///
+ public class ChannelsECLogisticsEWaybillOrderCreateRequest : WechatApiRequest, IInferable
+ {
+ public static class Types
+ {
+ public class Address : ChannelsECLogisticsEWaybillOrderPrecreateRequest.Types.Address
+ {
+ }
+
+ public class Order : ChannelsECLogisticsEWaybillOrderPrecreateRequest.Types.Order
+ {
+ public static new class Types
+ {
+ public class Goods : ChannelsECLogisticsEWaybillOrderPrecreateRequest.Types.Order.Types.Goods
+ {
+ ///
+ /// 获取或设置商家自定义商品 ID。
+ ///
+ [Newtonsoft.Json.JsonProperty("out_product_id")]
+ [System.Text.Json.Serialization.JsonPropertyName("out_product_id")]
+ public string? OutProductId { get; set; }
+
+ ///
+ /// 获取或设置商家自定义 SKU ID。
+ ///
+ [Newtonsoft.Json.JsonProperty("out_sku_id")]
+ [System.Text.Json.Serialization.JsonPropertyName("out_sku_id")]
+ public string? OutSKUId { get; set; }
+
+ ///
+ /// 获取或设置商家自定义商品详情。
+ ///
+ [Newtonsoft.Json.JsonProperty("out_goods_info")]
+ [System.Text.Json.Serialization.JsonPropertyName("out_goods_info")]
+ public string? OutGoodsInfo { get; set; }
+ }
+ }
+ }
+
+ public class OrderVas
+ {
+ ///
+ /// 获取或设置增值服务类型。
+ ///
+ [Newtonsoft.Json.JsonProperty("vas_type")]
+ [System.Text.Json.Serialization.JsonPropertyName("vas_type")]
+ public string VasType { get; set; } = string.Empty;
+
+ ///
+ /// 获取或设置增值服务描述。
+ ///
+ [Newtonsoft.Json.JsonProperty("vas_detail")]
+ [System.Text.Json.Serialization.JsonPropertyName("vas_detail")]
+ public string? VasDetail { get; set; }
+
+ ///
+ /// 获取或设置增值服务值。
+ ///
+ [Newtonsoft.Json.JsonProperty("vas_value")]
+ [System.Text.Json.Serialization.JsonPropertyName("vas_value")]
+ public string? VasValue { get; set; }
+ }
+
+ public class EWaybillExtra
+ {
+ ///
+ /// 获取或设置温层信息类型。
+ ///
+ [Newtonsoft.Json.JsonProperty("temperature_range")]
+ [System.Text.Json.Serialization.JsonPropertyName("temperature_range")]
+ public int? TemperatureRangeType { get; set; }
+
+ ///
+ /// 获取或设置扩展字段。
+ ///
+ [Newtonsoft.Json.JsonExtensionData]
+ [System.Text.Json.Serialization.JsonExtensionData]
+ public IDictionary? ExtensionData { get; set; }
+ }
+ }
+
+ ///
+ /// 获取或设置快递公司 ID。
+ ///
+ [Newtonsoft.Json.JsonProperty("delivery_id")]
+ [System.Text.Json.Serialization.JsonPropertyName("delivery_id")]
+ public string DeliveryId { get; set; } = string.Empty;
+
+ ///
+ /// 获取或设置电子面单 ID。
+ ///
+ [Newtonsoft.Json.JsonProperty("ewaybill_order_id")]
+ [System.Text.Json.Serialization.JsonPropertyName("ewaybill_order_id")]
+ public string EWaybillOrderId { get; set; } = string.Empty;
+
+ ///
+ /// 获取或设置网点编码。
+ ///
+ [Newtonsoft.Json.JsonProperty("site_code")]
+ [System.Text.Json.Serialization.JsonPropertyName("site_code")]
+ public string? SiteCode { get; set; }
+
+ ///
+ /// 获取或设置店铺 ID。
+ ///
+ [Newtonsoft.Json.JsonProperty("shop_id")]
+ [System.Text.Json.Serialization.JsonPropertyName("shop_id")]
+ public string ShopId { get; set; } = string.Empty;
+
+ ///
+ /// 获取或设置电子面单账号 ID。
+ ///
+ [Newtonsoft.Json.JsonProperty("ewaybill_acct_id")]
+ [System.Text.Json.Serialization.JsonPropertyName("ewaybill_acct_id")]
+ public string AccountId { get; set; } = string.Empty;
+
+ ///
+ /// 获取或设置面单模板 ID。
+ ///
+ [Newtonsoft.Json.JsonProperty("template_id")]
+ [System.Text.Json.Serialization.JsonPropertyName("template_id")]
+ public string? TemplateId { get; set; }
+
+ ///
+ /// 获取或设置寄件人信息。
+ ///
+ [Newtonsoft.Json.JsonProperty("sender")]
+ [System.Text.Json.Serialization.JsonPropertyName("sender")]
+ public Types.Address Sender { get; set; } = new Types.Address();
+
+ ///
+ /// 获取或设置收件人信息。
+ ///
+ [Newtonsoft.Json.JsonProperty("receiver")]
+ [System.Text.Json.Serialization.JsonPropertyName("receiver")]
+ public Types.Address Receiver { get; set; } = new Types.Address();
+
+ ///
+ /// 获取或设置退货地址信息。
+ ///
+ [Newtonsoft.Json.JsonProperty("return_address")]
+ [System.Text.Json.Serialization.JsonPropertyName("return_address")]
+ public Types.Address? ReturnAddress { get; set; }
+
+ ///
+ /// 获取或设置订单列表。
+ ///
+ [Newtonsoft.Json.JsonProperty("ec_order_list")]
+ [System.Text.Json.Serialization.JsonPropertyName("ec_order_list")]
+ public IList OrderList { get; set; } = new List();
+
+ ///
+ /// 获取或设置备注。
+ ///
+ [Newtonsoft.Json.JsonProperty("remark")]
+ [System.Text.Json.Serialization.JsonPropertyName("remark")]
+ public string? Remark { get; set; }
+
+ ///
+ /// 获取或设置订单类型。
+ ///
+ [Newtonsoft.Json.JsonProperty("order_type")]
+ [System.Text.Json.Serialization.JsonPropertyName("order_type")]
+ public int? OrderType { get; set; }
+
+ ///
+ /// 获取或设置增值服务列表。
+ ///
+ [Newtonsoft.Json.JsonProperty("order_vas_list")]
+ [System.Text.Json.Serialization.JsonPropertyName("order_vas_list")]
+ public IList? OrderVasList { get; set; }
+
+ ///
+ /// 获取或设置面单补充信息。
+ ///
+ [Newtonsoft.Json.JsonProperty("ext_info")]
+ [System.Text.Json.Serialization.JsonPropertyName("ext_info")]
+ public Types.EWaybillExtra? EWaybillExtra { get; set; }
+ }
+}
diff --git a/src/SKIT.FlurlHttpClient.Wechat.Api/Models/Channels/ECLogistics/EWaybill/Order/ChannelsECLogisticsEWaybillOrderCreateResponse.cs b/src/SKIT.FlurlHttpClient.Wechat.Api/Models/Channels/ECLogistics/EWaybill/Order/ChannelsECLogisticsEWaybillOrderCreateResponse.cs
new file mode 100644
index 00000000..464622b0
--- /dev/null
+++ b/src/SKIT.FlurlHttpClient.Wechat.Api/Models/Channels/ECLogistics/EWaybill/Order/ChannelsECLogisticsEWaybillOrderCreateResponse.cs
@@ -0,0 +1,36 @@
+namespace SKIT.FlurlHttpClient.Wechat.Api.Models
+{
+ ///
+ /// 表示 [POST] /channels/ec/logistics/ewaybill/biz/order/create 接口的响应。
+ ///
+ public class ChannelsECLogisticsEWaybillOrderCreateResponse : WechatApiResponse
+ {
+ ///
+ /// 获取或设置电子面单 ID。
+ ///
+ [Newtonsoft.Json.JsonProperty("ewaybill_order_id")]
+ [System.Text.Json.Serialization.JsonPropertyName("ewaybill_order_id")]
+ public string EWaybillOrderId { get; set; } = default!;
+
+ ///
+ /// 获取或设置快递单号。
+ ///
+ [Newtonsoft.Json.JsonProperty("waybill_id")]
+ [System.Text.Json.Serialization.JsonPropertyName("waybill_id")]
+ public string? WaybillId { get; set; }
+
+ ///
+ /// 获取或设置快递公司错误信息。
+ ///
+ [Newtonsoft.Json.JsonProperty("delivery_error_msg")]
+ [System.Text.Json.Serialization.JsonPropertyName("delivery_error_msg")]
+ public string? DeliveryErrorMessage { get; set; }
+
+ ///
+ /// 获取或设置打印报文信息。
+ ///
+ [Newtonsoft.Json.JsonProperty("print_info")]
+ [System.Text.Json.Serialization.JsonPropertyName("print_info")]
+ public string? PrintInfo { get; set; }
+ }
+}
diff --git a/src/SKIT.FlurlHttpClient.Wechat.Api/Models/Channels/ECLogistics/EWaybill/Order/ChannelsECLogisticsEWaybillOrderGetRequest.cs b/src/SKIT.FlurlHttpClient.Wechat.Api/Models/Channels/ECLogistics/EWaybill/Order/ChannelsECLogisticsEWaybillOrderGetRequest.cs
new file mode 100644
index 00000000..04e830cf
--- /dev/null
+++ b/src/SKIT.FlurlHttpClient.Wechat.Api/Models/Channels/ECLogistics/EWaybill/Order/ChannelsECLogisticsEWaybillOrderGetRequest.cs
@@ -0,0 +1,15 @@
+namespace SKIT.FlurlHttpClient.Wechat.Api.Models
+{
+ ///
+ /// 表示 [POST] /channels/ec/logistics/ewaybill/biz/order/get 接口的请求。
+ ///
+ public class ChannelsECLogisticsEWaybillOrderGetRequest : WechatApiRequest, IInferable
+ {
+ ///
+ /// 获取或设置电子面单 ID。
+ ///
+ [Newtonsoft.Json.JsonProperty("ewaybill_order_id")]
+ [System.Text.Json.Serialization.JsonPropertyName("ewaybill_order_id")]
+ public string EWaybillOrderId { get; set; } = string.Empty;
+ }
+}
diff --git a/src/SKIT.FlurlHttpClient.Wechat.Api/Models/Channels/ECLogistics/EWaybill/Order/ChannelsECLogisticsEWaybillOrderGetResponse.cs b/src/SKIT.FlurlHttpClient.Wechat.Api/Models/Channels/ECLogistics/EWaybill/Order/ChannelsECLogisticsEWaybillOrderGetResponse.cs
new file mode 100644
index 00000000..60bb46c1
--- /dev/null
+++ b/src/SKIT.FlurlHttpClient.Wechat.Api/Models/Channels/ECLogistics/EWaybill/Order/ChannelsECLogisticsEWaybillOrderGetResponse.cs
@@ -0,0 +1,250 @@
+namespace SKIT.FlurlHttpClient.Wechat.Api.Models
+{
+ ///
+ /// 表示 [POST] /channels/ec/logistics/ewaybill/biz/order/get 接口的响应。
+ ///
+ public class ChannelsECLogisticsEWaybillOrderGetResponse : WechatApiResponse
+ {
+ public static class Types
+ {
+ public class EWaybillOrder
+ {
+ public static class Types
+ {
+ public class Address
+ {
+ ///
+ /// 获取或设置省份。
+ ///
+ [Newtonsoft.Json.JsonProperty("province")]
+ [System.Text.Json.Serialization.JsonPropertyName("province")]
+ public string Province { get; set; } = default!;
+
+ ///
+ /// 获取或设置城市。
+ ///
+ [Newtonsoft.Json.JsonProperty("city")]
+ [System.Text.Json.Serialization.JsonPropertyName("city")]
+ public string City { get; set; } = default!;
+
+ ///
+ /// 获取或设置区县。
+ ///
+ [Newtonsoft.Json.JsonProperty("county")]
+ [System.Text.Json.Serialization.JsonPropertyName("county")]
+ public string District { get; set; } = default!;
+
+ ///
+ /// 获取或设置街道。
+ ///
+ [Newtonsoft.Json.JsonProperty("street")]
+ [System.Text.Json.Serialization.JsonPropertyName("street")]
+ public string? Street { get; set; }
+
+ ///
+ /// 获取或设置详细地址。
+ ///
+ [Newtonsoft.Json.JsonProperty("address")]
+ [System.Text.Json.Serialization.JsonPropertyName("address")]
+ public string DetailAddress { get; set; } = default!;
+
+ ///
+ /// 获取或设置联系人。
+ ///
+ [Newtonsoft.Json.JsonProperty("name")]
+ [System.Text.Json.Serialization.JsonPropertyName("name")]
+ public string Name { get; set; } = default!;
+
+ ///
+ /// 获取或设置联系电话。
+ ///
+ [Newtonsoft.Json.JsonProperty("mobile")]
+ [System.Text.Json.Serialization.JsonPropertyName("mobile")]
+ public string MobileNumber { get; set; } = default!;
+ }
+
+ public class Order
+ {
+ public static class Types
+ {
+ public class Goods
+ {
+ ///
+ /// 获取或设置商品 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("good_name")]
+ [System.Text.Json.Serialization.JsonPropertyName("good_name")]
+ public string GoodsName { get; set; } = default!;
+
+ ///
+ /// 获取或设置商品个数。
+ ///
+ [Newtonsoft.Json.JsonProperty("good_count")]
+ [System.Text.Json.Serialization.JsonPropertyName("good_count")]
+ public int GoodsCount { get; set; }
+ }
+ }
+
+ ///
+ /// 获取或设置订单 ID。
+ ///
+ [Newtonsoft.Json.JsonProperty("ec_order_id")]
+ [System.Text.Json.Serialization.JsonPropertyName("ec_order_id")]
+ [System.Text.Json.Serialization.JsonConverter(typeof(System.Text.Json.Converters.NumericalStringReadOnlyConverter))]
+ public string? OrderId { get; set; }
+
+ ///
+ /// 获取或设置商品列表。
+ ///
+ [Newtonsoft.Json.JsonProperty("goods_list")]
+ [System.Text.Json.Serialization.JsonPropertyName("goods_list")]
+ public Types.Goods[] GoodsList { get; set; } = default!;
+
+ ///
+ /// 获取或设置代发的订单密文。
+ ///
+ [Newtonsoft.Json.JsonProperty("ewaybill_order_code")]
+ [System.Text.Json.Serialization.JsonPropertyName("ewaybill_order_code")]
+ public string? EWaybillOrderCode { get; set; }
+
+ ///
+ /// 获取或设置代发的订单所属店铺 AppId。
+ ///
+ [Newtonsoft.Json.JsonProperty("ewaybill_order_appid")]
+ [System.Text.Json.Serialization.JsonPropertyName("ewaybill_order_appid")]
+ public string? EWaybillOrderAppId { get; set; }
+ }
+
+ public class Path
+ {
+ ///
+ /// 获取或设置轨迹状态。
+ ///
+ [Newtonsoft.Json.JsonProperty("status")]
+ [System.Text.Json.Serialization.JsonPropertyName("status")]
+ public int Status { get; set; }
+
+ ///
+ /// 获取或设置轨迹描述。
+ ///
+ [Newtonsoft.Json.JsonProperty("desc")]
+ [System.Text.Json.Serialization.JsonPropertyName("desc")]
+ public string Description { get; set; } = default!;
+
+ ///
+ /// 获取或设置更新时间戳。
+ ///
+ [Newtonsoft.Json.JsonProperty("update_time")]
+ [System.Text.Json.Serialization.JsonPropertyName("update_time")]
+ public long UpdateTimestamp { get; set; }
+ }
+ }
+
+ ///
+ /// 获取或设置快递公司 ID。
+ ///
+ [Newtonsoft.Json.JsonProperty("delivery_id")]
+ [System.Text.Json.Serialization.JsonPropertyName("delivery_id")]
+ public string DeliveryId { get; set; } = default!;
+
+ ///
+ /// 获取或设置电子面单 ID。
+ ///
+ [Newtonsoft.Json.JsonProperty("ewaybill_order_id")]
+ [System.Text.Json.Serialization.JsonPropertyName("ewaybill_order_id")]
+ public string EWaybillOrderId { get; set; } = default!;
+
+ ///
+ /// 获取或设置快递单号。
+ ///
+ [Newtonsoft.Json.JsonProperty("waybill_id")]
+ [System.Text.Json.Serialization.JsonPropertyName("waybill_id")]
+ public string WaybillId { get; set; } = default!;
+
+ ///
+ /// 获取或设置网点编码。
+ ///
+ [Newtonsoft.Json.JsonProperty("site_code")]
+ [System.Text.Json.Serialization.JsonPropertyName("site_code")]
+ public string? SiteCode { get; set; }
+
+ ///
+ /// 获取或设置店铺 ID。
+ ///
+ [Newtonsoft.Json.JsonProperty("shop_id")]
+ [System.Text.Json.Serialization.JsonPropertyName("shop_id")]
+ public string ShopId { get; set; } = default!;
+
+ ///
+ /// 获取或设置电子面单账号 ID。
+ ///
+ [Newtonsoft.Json.JsonProperty("ewaybill_acct_id")]
+ [System.Text.Json.Serialization.JsonPropertyName("ewaybill_acct_id")]
+ public string AccountId { get; set; } = default!;
+
+ ///
+ /// 获取或设置寄件人信息。
+ ///
+ [Newtonsoft.Json.JsonProperty("sender")]
+ [System.Text.Json.Serialization.JsonPropertyName("sender")]
+ public Types.Address Sender { get; set; } = default!;
+
+ ///
+ /// 获取或设置收件人信息。
+ ///
+ [Newtonsoft.Json.JsonProperty("receiver")]
+ [System.Text.Json.Serialization.JsonPropertyName("receiver")]
+ public Types.Address Receiver { get; set; } = default!;
+
+ ///
+ /// 获取或设置订单列表。
+ ///
+ [Newtonsoft.Json.JsonProperty("ec_order_list")]
+ [System.Text.Json.Serialization.JsonPropertyName("ec_order_list")]
+ public Types.Order[] OrderList { get; set; } = default!;
+
+ ///
+ /// 获取或设置备注。
+ ///
+ [Newtonsoft.Json.JsonProperty("remark")]
+ [System.Text.Json.Serialization.JsonPropertyName("remark")]
+ public string? Remark { get; set; }
+
+ ///
+ /// 获取或设置网点编码。
+ ///
+ [Newtonsoft.Json.JsonProperty("status")]
+ [System.Text.Json.Serialization.JsonPropertyName("status")]
+ public int Status { get; set; }
+
+ ///
+ /// 获取或设置轨迹列表。
+ ///
+ [Newtonsoft.Json.JsonProperty("path_info")]
+ [System.Text.Json.Serialization.JsonPropertyName("path_info")]
+ public Types.Path[] PathList { get; set; } = default!;
+ }
+ }
+
+ ///
+ /// 获取或设置电子面单信息。
+ ///
+ [Newtonsoft.Json.JsonProperty("order_info")]
+ [System.Text.Json.Serialization.JsonPropertyName("order_info")]
+ public Types.EWaybillOrder EWaybillOrder { get; set; } = default!;
+ }
+}
diff --git a/src/SKIT.FlurlHttpClient.Wechat.Api/Models/Channels/ECLogistics/EWaybill/Order/ChannelsECLogisticsEWaybillOrderPrecreateRequest.cs b/src/SKIT.FlurlHttpClient.Wechat.Api/Models/Channels/ECLogistics/EWaybill/Order/ChannelsECLogisticsEWaybillOrderPrecreateRequest.cs
new file mode 100644
index 00000000..f1b4f757
--- /dev/null
+++ b/src/SKIT.FlurlHttpClient.Wechat.Api/Models/Channels/ECLogistics/EWaybill/Order/ChannelsECLogisticsEWaybillOrderPrecreateRequest.cs
@@ -0,0 +1,188 @@
+using System.Collections.Generic;
+
+namespace SKIT.FlurlHttpClient.Wechat.Api.Models
+{
+ ///
+ /// 表示 [POST] /channels/ec/logistics/ewaybill/biz/order/precreate 接口的请求。
+ ///
+ public class ChannelsECLogisticsEWaybillOrderPrecreateRequest : WechatApiRequest, IInferable
+ {
+ public static class Types
+ {
+ public class Address
+ {
+ ///
+ /// 获取或设置省份。
+ ///
+ [Newtonsoft.Json.JsonProperty("province")]
+ [System.Text.Json.Serialization.JsonPropertyName("province")]
+ public string Province { get; set; } = string.Empty;
+
+ ///
+ /// 获取或设置城市。
+ ///
+ [Newtonsoft.Json.JsonProperty("city")]
+ [System.Text.Json.Serialization.JsonPropertyName("city")]
+ public string City { get; set; } = string.Empty;
+
+ ///
+ /// 获取或设置区县。
+ ///
+ [Newtonsoft.Json.JsonProperty("county")]
+ [System.Text.Json.Serialization.JsonPropertyName("county")]
+ public string District { get; set; } = string.Empty;
+
+ ///
+ /// 获取或设置街道。
+ ///
+ [Newtonsoft.Json.JsonProperty("street")]
+ [System.Text.Json.Serialization.JsonPropertyName("street")]
+ public string? Street { get; set; }
+
+ ///
+ /// 获取或设置详细地址。
+ ///
+ [Newtonsoft.Json.JsonProperty("address")]
+ [System.Text.Json.Serialization.JsonPropertyName("address")]
+ public string DetailAddress { get; set; } = string.Empty;
+
+ ///
+ /// 获取或设置联系人。
+ ///
+ [Newtonsoft.Json.JsonProperty("name")]
+ [System.Text.Json.Serialization.JsonPropertyName("name")]
+ public string Name { get; set; } = string.Empty;
+
+ ///
+ /// 获取或设置联系电话。
+ ///
+ [Newtonsoft.Json.JsonProperty("mobile")]
+ [System.Text.Json.Serialization.JsonPropertyName("mobile")]
+ public string MobileNumber { get; set; } = string.Empty;
+ }
+
+ public class Order
+ {
+ public static class Types
+ {
+ public class Goods
+ {
+ ///
+ /// 获取或设置商品 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("good_name")]
+ [System.Text.Json.Serialization.JsonPropertyName("good_name")]
+ public string GoodsName { get; set; } = string.Empty;
+
+ ///
+ /// 获取或设置商品个数。
+ ///
+ [Newtonsoft.Json.JsonProperty("good_count")]
+ [System.Text.Json.Serialization.JsonPropertyName("good_count")]
+ public int GoodsCount { get; set; }
+ }
+ }
+
+ ///
+ /// 获取或设置订单 ID。
+ ///
+ [Newtonsoft.Json.JsonProperty("ec_order_id")]
+ [Newtonsoft.Json.JsonConverter(typeof(Newtonsoft.Json.Converters.NumericalStringConverter))]
+ [System.Text.Json.Serialization.JsonPropertyName("ec_order_id")]
+ [System.Text.Json.Serialization.JsonConverter(typeof(System.Text.Json.Converters.NumericalStringConverter))]
+ public string? OrderId { get; set; }
+
+ ///
+ /// 获取或设置商品列表。
+ ///
+ [Newtonsoft.Json.JsonProperty("goods_list")]
+ [System.Text.Json.Serialization.JsonPropertyName("goods_list")]
+ public IList GoodsList { get; set; } = new List();
+
+ ///
+ /// 获取或设置代发的订单密文。
+ ///
+ [Newtonsoft.Json.JsonProperty("ewaybill_order_code")]
+ [System.Text.Json.Serialization.JsonPropertyName("ewaybill_order_code")]
+ public string? EWaybillOrderCode { get; set; }
+
+ ///
+ /// 获取或设置代发的订单所属店铺 AppId。
+ ///
+ [Newtonsoft.Json.JsonProperty("ewaybill_order_appid")]
+ [System.Text.Json.Serialization.JsonPropertyName("ewaybill_order_appid")]
+ public string? EWaybillOrderAppId { get; set; }
+ }
+ }
+
+ ///
+ /// 获取或设置快递公司 ID。
+ ///
+ [Newtonsoft.Json.JsonProperty("delivery_id")]
+ [System.Text.Json.Serialization.JsonPropertyName("delivery_id")]
+ public string DeliveryId { get; set; } = string.Empty;
+
+ ///
+ /// 获取或设置网点编码。
+ ///
+ [Newtonsoft.Json.JsonProperty("site_code")]
+ [System.Text.Json.Serialization.JsonPropertyName("site_code")]
+ public string? SiteCode { get; set; }
+
+ ///
+ /// 获取或设置店铺 ID。
+ ///
+ [Newtonsoft.Json.JsonProperty("shop_id")]
+ [System.Text.Json.Serialization.JsonPropertyName("shop_id")]
+ public string ShopId { get; set; } = string.Empty;
+
+ ///
+ /// 获取或设置电子面单账号 ID。
+ ///
+ [Newtonsoft.Json.JsonProperty("ewaybill_acct_id")]
+ [System.Text.Json.Serialization.JsonPropertyName("ewaybill_acct_id")]
+ public string AccountId { get; set; } = string.Empty;
+
+ ///
+ /// 获取或设置寄件人信息。
+ ///
+ [Newtonsoft.Json.JsonProperty("sender")]
+ [System.Text.Json.Serialization.JsonPropertyName("sender")]
+ public Types.Address Sender { get; set; } = new Types.Address();
+
+ ///
+ /// 获取或设置收件人信息。
+ ///
+ [Newtonsoft.Json.JsonProperty("receiver")]
+ [System.Text.Json.Serialization.JsonPropertyName("receiver")]
+ public Types.Address Receiver { get; set; } = new Types.Address();
+
+ ///
+ /// 获取或设置订单列表。
+ ///
+ [Newtonsoft.Json.JsonProperty("ec_order_list")]
+ [System.Text.Json.Serialization.JsonPropertyName("ec_order_list")]
+ public IList OrderList { get; set; } = new List();
+
+ ///
+ /// 获取或设置备注。
+ ///
+ [Newtonsoft.Json.JsonProperty("remark")]
+ [System.Text.Json.Serialization.JsonPropertyName("remark")]
+ public string? Remark { get; set; }
+ }
+}
diff --git a/src/SKIT.FlurlHttpClient.Wechat.Api/Models/Channels/ECLogistics/EWaybill/Order/ChannelsECLogisticsEWaybillOrderPrecreateResponse.cs b/src/SKIT.FlurlHttpClient.Wechat.Api/Models/Channels/ECLogistics/EWaybill/Order/ChannelsECLogisticsEWaybillOrderPrecreateResponse.cs
new file mode 100644
index 00000000..7f6be6b0
--- /dev/null
+++ b/src/SKIT.FlurlHttpClient.Wechat.Api/Models/Channels/ECLogistics/EWaybill/Order/ChannelsECLogisticsEWaybillOrderPrecreateResponse.cs
@@ -0,0 +1,15 @@
+namespace SKIT.FlurlHttpClient.Wechat.Api.Models
+{
+ ///
+ /// 表示 [POST] /channels/ec/logistics/ewaybill/biz/order/precreate 接口的响应。
+ ///
+ public class ChannelsECLogisticsEWaybillOrderPrecreateResponse : WechatApiResponse
+ {
+ ///
+ /// 获取或设置电子面单 ID。
+ ///
+ [Newtonsoft.Json.JsonProperty("ewaybill_order_id")]
+ [System.Text.Json.Serialization.JsonPropertyName("ewaybill_order_id")]
+ public string EWaybillOrderId { get; set; } = default!;
+ }
+}
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 4955f830..c7087553 100644
--- a/src/SKIT.FlurlHttpClient.Wechat.Api/Models/Channels/ECOrder/ChannelsECOrderGetResponse.cs
+++ b/src/SKIT.FlurlHttpClient.Wechat.Api/Models/Channels/ECOrder/ChannelsECOrderGetResponse.cs
@@ -1,4 +1,4 @@
-namespace SKIT.FlurlHttpClient.Wechat.Api.Models
+namespace SKIT.FlurlHttpClient.Wechat.Api.Models
{
///
/// 表示 [POST] /channels/ec/order/get 接口的响应。
diff --git a/test/SKIT.FlurlHttpClient.Wechat.Api.UnitTests/EventSamples/ChannelsEC/EWaybillPushPathEvent.json b/test/SKIT.FlurlHttpClient.Wechat.Api.UnitTests/EventSamples/ChannelsEC/EWaybillPushPathEvent.json
new file mode 100644
index 00000000..82f09617
--- /dev/null
+++ b/test/SKIT.FlurlHttpClient.Wechat.Api.UnitTests/EventSamples/ChannelsEC/EWaybillPushPathEvent.json
@@ -0,0 +1,14 @@
+{
+ "ToUserName": "gh_*",
+ "FromUserName": "OpenID",
+ "CreateTime": 1662480000,
+ "MsgType": "event",
+ "Event": "ewaybill_push_path",
+ "waybill_info": {
+ "ewaybill_order_id": 123123123123123,
+ "waybill_id": "xxxx",
+ "update_time": 1231231,
+ "status": 1,
+ "desc": "您的快件已签收"
+ }
+}
diff --git a/test/SKIT.FlurlHttpClient.Wechat.Api.UnitTests/ModelSamples/Channels/ECLogistics/EWaybill/Account/ChannelsECLogisticsEWaybillAccountGetRequest.json b/test/SKIT.FlurlHttpClient.Wechat.Api.UnitTests/ModelSamples/Channels/ECLogistics/EWaybill/Account/ChannelsECLogisticsEWaybillAccountGetRequest.json
new file mode 100644
index 00000000..7a317112
--- /dev/null
+++ b/test/SKIT.FlurlHttpClient.Wechat.Api.UnitTests/ModelSamples/Channels/ECLogistics/EWaybill/Account/ChannelsECLogisticsEWaybillAccountGetRequest.json
@@ -0,0 +1,4 @@
+{
+ "need_balance": true,
+ "limit": 10
+}
diff --git a/test/SKIT.FlurlHttpClient.Wechat.Api.UnitTests/ModelSamples/Channels/ECLogistics/EWaybill/Account/ChannelsECLogisticsEWaybillAccountGetResponse.json b/test/SKIT.FlurlHttpClient.Wechat.Api.UnitTests/ModelSamples/Channels/ECLogistics/EWaybill/Account/ChannelsECLogisticsEWaybillAccountGetResponse.json
new file mode 100644
index 00000000..4811f8d0
--- /dev/null
+++ b/test/SKIT.FlurlHttpClient.Wechat.Api.UnitTests/ModelSamples/Channels/ECLogistics/EWaybill/Account/ChannelsECLogisticsEWaybillAccountGetResponse.json
@@ -0,0 +1,40 @@
+{
+ "errcode": 0,
+ "errmsg": "ok",
+ "total_num": 1,
+ "account_list": [
+ {
+ "delivery_id": "JTSD",
+ "shop_id": "5xxxxxxxxx8",
+ "acct_id": "6xxxxxxxxx6",
+ "status": 3,
+ "available": 0,
+ "allocated": 0,
+ "recycled": 0,
+ "cancel": 0,
+ "site_info": {
+ "delivery_id": "JTSD",
+ "site_status": 1,
+ "site_code": "2100002",
+ "site_name": "测试网点02",
+ "address": {
+ "city_code": "310100000",
+ "city_name": "上海市",
+ "detail_address": "上海上海市青浦区华新镇华隆路1777号",
+ "district_code": "310118000",
+ "district_name": "青浦区",
+ "province_code": "310000000",
+ "province_name": "上海",
+ "street_code": "",
+ "street_name": ""
+ },
+ "contact": {
+ "mobile": "15xxxxxxxxx",
+ "name": "测试团队",
+ "phone": "15xxxxxxxxx"
+ },
+ "site_fullname": "测试网点02"
+ }
+ }
+ ]
+}
diff --git a/test/SKIT.FlurlHttpClient.Wechat.Api.UnitTests/ModelSamples/Channels/ECLogistics/EWaybill/Delivery/ChannelsECLogisticsEWaybillDeliveryGetRequest.json b/test/SKIT.FlurlHttpClient.Wechat.Api.UnitTests/ModelSamples/Channels/ECLogistics/EWaybill/Delivery/ChannelsECLogisticsEWaybillDeliveryGetRequest.json
new file mode 100644
index 00000000..cb7f059a
--- /dev/null
+++ b/test/SKIT.FlurlHttpClient.Wechat.Api.UnitTests/ModelSamples/Channels/ECLogistics/EWaybill/Delivery/ChannelsECLogisticsEWaybillDeliveryGetRequest.json
@@ -0,0 +1,3 @@
+{
+ "status": 3
+}
diff --git a/test/SKIT.FlurlHttpClient.Wechat.Api.UnitTests/ModelSamples/Channels/ECLogistics/EWaybill/Delivery/ChannelsECLogisticsEWaybillDeliveryGetResponse.json b/test/SKIT.FlurlHttpClient.Wechat.Api.UnitTests/ModelSamples/Channels/ECLogistics/EWaybill/Delivery/ChannelsECLogisticsEWaybillDeliveryGetResponse.json
new file mode 100644
index 00000000..df9d7442
--- /dev/null
+++ b/test/SKIT.FlurlHttpClient.Wechat.Api.UnitTests/ModelSamples/Channels/ECLogistics/EWaybill/Delivery/ChannelsECLogisticsEWaybillDeliveryGetResponse.json
@@ -0,0 +1,48 @@
+{
+ "errcode": 0,
+ "errmsg": "ok",
+ "shop_id": "50xxxxxxxx18",
+ "list": [
+ {
+ "delivery_id": "JTSD",
+ "delivery_name": "极兔速递"
+ },
+ {
+ "delivery_id": "STO",
+ "delivery_name": "申通快递"
+ },
+ {
+ "delivery_id": "YTO",
+ "delivery_name": "圆通速递"
+ },
+ {
+ "delivery_id": "YUNDA",
+ "delivery_name": "韵达速递"
+ },
+ {
+ "delivery_id": "ZTO",
+ "delivery_name": "中通快递"
+ },
+ {
+ "delivery_id": "SF",
+ "delivery_name": "顺丰速运"
+ },
+ {
+ "delivery_id": "JD",
+ "delivery_name": "京东"
+ },
+ {
+ "delivery_id": "EMS",
+ "delivery_name": "中国邮政"
+ },
+ {
+ "delivery_id": "CNSD",
+ "delivery_name": "菜鸟速递(丹鸟)"
+ },
+ {
+ "delivery_id": "DBKD",
+ "delivery_name": "德邦快递"
+ }
+
+ ]
+}
diff --git a/test/SKIT.FlurlHttpClient.Wechat.Api.UnitTests/ModelSamples/Channels/ECLogistics/EWaybill/Order/ChannelsECLogisticsEWaybillOrderCancelRequest.json b/test/SKIT.FlurlHttpClient.Wechat.Api.UnitTests/ModelSamples/Channels/ECLogistics/EWaybill/Order/ChannelsECLogisticsEWaybillOrderCancelRequest.json
new file mode 100644
index 00000000..dcbc5bc9
--- /dev/null
+++ b/test/SKIT.FlurlHttpClient.Wechat.Api.UnitTests/ModelSamples/Channels/ECLogistics/EWaybill/Order/ChannelsECLogisticsEWaybillOrderCancelRequest.json
@@ -0,0 +1,5 @@
+{
+ "ewaybill_order_id": "1212",
+ "delivery_id": "xxx",
+ "waybill_id": "xxxx"
+}
diff --git a/test/SKIT.FlurlHttpClient.Wechat.Api.UnitTests/ModelSamples/Channels/ECLogistics/EWaybill/Order/ChannelsECLogisticsEWaybillOrderCancelResponse.json b/test/SKIT.FlurlHttpClient.Wechat.Api.UnitTests/ModelSamples/Channels/ECLogistics/EWaybill/Order/ChannelsECLogisticsEWaybillOrderCancelResponse.json
new file mode 100644
index 00000000..06c959c6
--- /dev/null
+++ b/test/SKIT.FlurlHttpClient.Wechat.Api.UnitTests/ModelSamples/Channels/ECLogistics/EWaybill/Order/ChannelsECLogisticsEWaybillOrderCancelResponse.json
@@ -0,0 +1,5 @@
+{
+ "errcode": 0,
+ "errmsg": "ok",
+ "delivery_error_msg": "xxxx"
+}
diff --git a/test/SKIT.FlurlHttpClient.Wechat.Api.UnitTests/ModelSamples/Channels/ECLogistics/EWaybill/Order/ChannelsECLogisticsEWaybillOrderCreateRequest.json b/test/SKIT.FlurlHttpClient.Wechat.Api.UnitTests/ModelSamples/Channels/ECLogistics/EWaybill/Order/ChannelsECLogisticsEWaybillOrderCreateRequest.json
new file mode 100644
index 00000000..76630394
--- /dev/null
+++ b/test/SKIT.FlurlHttpClient.Wechat.Api.UnitTests/ModelSamples/Channels/ECLogistics/EWaybill/Order/ChannelsECLogisticsEWaybillOrderCreateRequest.json
@@ -0,0 +1,49 @@
+{
+ "ewaybill_order_id": "1111",
+ "delivery_id": "xxxx",
+ "site_code": "1111",
+ "ewaybill_acct_id": "1111",
+ "template_id": "xxx",
+ "sender": {
+ "name": "test",
+ "mobile": "1111",
+ "province": "静安区",
+ "city": "上海市",
+ "county": "静安区",
+ "street": "xxxxx",
+ "address": "xxxxxx"
+ },
+ "receiver": {
+ "name": "test",
+ "mobile": "11111",
+ "province": "上海市",
+ "city": "上海市",
+ "county": "青浦区",
+ "street": "xxxx",
+ "address": "xxxxxxx"
+ },
+ "ec_order_list": [
+ {
+ "ec_order_id": 1111,
+ "goods_list": [
+ {
+ "good_name": "电子资料书,",
+ "good_count": 1,
+ "product_id": 111,
+ "sku_id": 11
+ }
+ ]
+ }
+ ],
+ "remark": "test",
+ "shop_id": "xxxx",
+ "return_address": {
+ "name": "test",
+ "mobile": "13212778355",
+ "province": "上海市",
+ "city": "上海市",
+ "county": "青浦区",
+ "street": "xxxx",
+ "address": "xxxxx"
+ }
+}
diff --git a/test/SKIT.FlurlHttpClient.Wechat.Api.UnitTests/ModelSamples/Channels/ECLogistics/EWaybill/Order/ChannelsECLogisticsEWaybillOrderCreateResponse.json b/test/SKIT.FlurlHttpClient.Wechat.Api.UnitTests/ModelSamples/Channels/ECLogistics/EWaybill/Order/ChannelsECLogisticsEWaybillOrderCreateResponse.json
new file mode 100644
index 00000000..15793c74
--- /dev/null
+++ b/test/SKIT.FlurlHttpClient.Wechat.Api.UnitTests/ModelSamples/Channels/ECLogistics/EWaybill/Order/ChannelsECLogisticsEWaybillOrderCreateResponse.json
@@ -0,0 +1,7 @@
+{
+ "errcode": 0,
+ "errmsg": "ok",
+ "ewaybill_order_id": "111",
+ "waybill_id": "1212xzcxz",
+ "delivery_error_msg": "xxxx"
+}
diff --git a/test/SKIT.FlurlHttpClient.Wechat.Api.UnitTests/ModelSamples/Channels/ECLogistics/EWaybill/Order/ChannelsECLogisticsEWaybillOrderGetRequest.json b/test/SKIT.FlurlHttpClient.Wechat.Api.UnitTests/ModelSamples/Channels/ECLogistics/EWaybill/Order/ChannelsECLogisticsEWaybillOrderGetRequest.json
new file mode 100644
index 00000000..e5ad6228
--- /dev/null
+++ b/test/SKIT.FlurlHttpClient.Wechat.Api.UnitTests/ModelSamples/Channels/ECLogistics/EWaybill/Order/ChannelsECLogisticsEWaybillOrderGetRequest.json
@@ -0,0 +1,3 @@
+{
+ "ewaybill_order_id": "11111"
+}
diff --git a/test/SKIT.FlurlHttpClient.Wechat.Api.UnitTests/ModelSamples/Channels/ECLogistics/EWaybill/Order/ChannelsECLogisticsEWaybillOrderGetResponse.json b/test/SKIT.FlurlHttpClient.Wechat.Api.UnitTests/ModelSamples/Channels/ECLogistics/EWaybill/Order/ChannelsECLogisticsEWaybillOrderGetResponse.json
new file mode 100644
index 00000000..4c2a9627
--- /dev/null
+++ b/test/SKIT.FlurlHttpClient.Wechat.Api.UnitTests/ModelSamples/Channels/ECLogistics/EWaybill/Order/ChannelsECLogisticsEWaybillOrderGetResponse.json
@@ -0,0 +1,52 @@
+{
+ "errcode": 0,
+ "errmsg": "ok",
+ "order_info": {
+ "ewaybill_order_id": "1111",
+ "delivery_id": "xxxx",
+ "site_code": "1111",
+ "ewaybill_acct_id": "1111",
+ "sender": {
+ "name": "test",
+ "mobile": "1111",
+ "province": "静安区",
+ "city": "上海市",
+ "county": "静安区",
+ "street": "xxxxx",
+ "address": "xxxxxx"
+ },
+ "receiver": {
+ "name": "test",
+ "mobile": "11111",
+ "province": "上海市",
+ "city": "上海市",
+ "county": "青浦区",
+ "street": "xxxx",
+ "address": "xxxxxxx"
+ },
+ "ec_order_list": [
+ {
+ "ec_order_id": 1111,
+ "goods_list": [
+ {
+ "good_name": "电子资料书,",
+ "good_count": 1,
+ "product_id": 111,
+ "sku_id": 11
+ }
+ ]
+ }
+ ],
+ "remark": "test",
+ "shop_id": "xxxx",
+ "waybill_id": "xxxx",
+ "status": 2,
+ "path_info": [
+ {
+ "update_time": 11,
+ "status": 1,
+ "desc": "xxxx"
+ }
+ ]
+ }
+}
diff --git a/test/SKIT.FlurlHttpClient.Wechat.Api.UnitTests/ModelSamples/Channels/ECLogistics/EWaybill/Order/ChannelsECLogisticsEWaybillOrderPrecreateRequest.json b/test/SKIT.FlurlHttpClient.Wechat.Api.UnitTests/ModelSamples/Channels/ECLogistics/EWaybill/Order/ChannelsECLogisticsEWaybillOrderPrecreateRequest.json
new file mode 100644
index 00000000..2ebc1c78
--- /dev/null
+++ b/test/SKIT.FlurlHttpClient.Wechat.Api.UnitTests/ModelSamples/Channels/ECLogistics/EWaybill/Order/ChannelsECLogisticsEWaybillOrderPrecreateRequest.json
@@ -0,0 +1,38 @@
+{
+ "delivery_id": "xxxx",
+ "site_code": "1111",
+ "ewaybill_acct_id": "1111",
+ "sender": {
+ "name": "test",
+ "mobile": "1111",
+ "province": "静安区",
+ "city": "上海市",
+ "county": "静安区",
+ "street": "xxxxx",
+ "address": "xxxxxx"
+ },
+ "receiver": {
+ "name": "test",
+ "mobile": "11111",
+ "province": "上海市",
+ "city": "上海市",
+ "county": "青浦区",
+ "street": "xxxx",
+ "address": "xxxxxxx"
+ },
+ "ec_order_list": [
+ {
+ "ec_order_id": 1111,
+ "goods_list": [
+ {
+ "good_name": "电子资料书,",
+ "good_count": 1,
+ "product_id": 111,
+ "sku_id": 11
+ }
+ ]
+ }
+ ],
+ "remark": "test",
+ "shop_id": "xxxx"
+}
diff --git a/test/SKIT.FlurlHttpClient.Wechat.Api.UnitTests/ModelSamples/Channels/ECLogistics/EWaybill/Order/ChannelsECLogisticsEWaybillOrderPrecreateResponse.json b/test/SKIT.FlurlHttpClient.Wechat.Api.UnitTests/ModelSamples/Channels/ECLogistics/EWaybill/Order/ChannelsECLogisticsEWaybillOrderPrecreateResponse.json
new file mode 100644
index 00000000..07215bf0
--- /dev/null
+++ b/test/SKIT.FlurlHttpClient.Wechat.Api.UnitTests/ModelSamples/Channels/ECLogistics/EWaybill/Order/ChannelsECLogisticsEWaybillOrderPrecreateResponse.json
@@ -0,0 +1,5 @@
+{
+ "errcode": 0,
+ "errmsg": "ok",
+ "ewaybill_order_id": "111"
+}