mirror of
https://gitee.com/fudiwei/DotNetCore.SKIT.FlurlHttpClient.Wechat.git
synced 2025-09-18 17:48:12 +08:00
feat(wxapi): 新增视频号本地生活相关接口
This commit is contained in:
@@ -159,11 +159,11 @@
|
||||
|
||||
<summary>[展开查看]</summary>
|
||||
|
||||
| | 微信 API | 备注 |
|
||||
| :-: | :----------------: | :--: |
|
||||
| √ | 视频号小店开放接口 | |
|
||||
| √ | 视频号助手开放接口 | |
|
||||
| √ | 接口管理 | |
|
||||
| | 微信 API | 备注 |
|
||||
| :-: | :--------: | :--: |
|
||||
| √ | 视频号小店 | |
|
||||
| √ | 视频号助手 | |
|
||||
| √ | 本地生活 | |
|
||||
|
||||
</details>
|
||||
|
||||
|
@@ -4,7 +4,8 @@ namespace SKIT.FlurlHttpClient.Wechat.Api.Events
|
||||
/// <para>表示 EVENT.channels_ec_order_pay 事件的数据。</para>
|
||||
/// <para>
|
||||
/// REF: <br/>
|
||||
/// <![CDATA[ https://developers.weixin.qq.com/doc/channels/API/order/callback/channels_ec_order_pay.html ]]>
|
||||
/// <![CDATA[ https://developers.weixin.qq.com/doc/channels/API/order/callback/channels_ec_order_pay.html ]]> <br/>
|
||||
/// <![CDATA[ https://developers.weixin.qq.com/doc/channels/locallife/api/callback_success.html ]]>
|
||||
/// </para>
|
||||
/// </summary>
|
||||
public class ChannelsECOrderPayEvent : WechatApiEvent
|
||||
|
@@ -2,7 +2,10 @@ namespace SKIT.FlurlHttpClient.Wechat.Api.Events
|
||||
{
|
||||
/// <summary>
|
||||
/// <para>表示 EVENT.product_order_status_update 事件的数据。</para>
|
||||
/// <para>REF: https://developers.weixin.qq.com/doc/channels/API/order/callback/product_order_status_update.html </para>
|
||||
/// <para>
|
||||
/// REF: <br/>
|
||||
/// <![CDATA[ https://developers.weixin.qq.com/doc/channels/API/order/callback/product_order_status_update.html ]]>
|
||||
/// </para>
|
||||
/// </summary>
|
||||
public class ChannelsECProductOrderStatusUpdateEvent : WechatApiEvent
|
||||
{
|
||||
|
@@ -4,7 +4,8 @@ namespace SKIT.FlurlHttpClient.Wechat.Api.Events
|
||||
/// <para>表示 EVENT.product_spu_audit 事件的数据。</para>
|
||||
/// <para>
|
||||
/// REF: <br/>
|
||||
/// <![CDATA[ https://developers.weixin.qq.com/doc/channels/API/product/callback/ProductSpuAudit.html ]]>
|
||||
/// <![CDATA[ https://developers.weixin.qq.com/doc/channels/API/product/callback/ProductSpuAudit.html ]]> <br/>
|
||||
/// <![CDATA[ https://developers.weixin.qq.com/doc/channels/locallife/api/callback2.html ]]>
|
||||
/// </para>
|
||||
/// </summary>
|
||||
public class ChannelsECProductSPUAuditEvent : WechatApiEvent
|
||||
|
@@ -4,7 +4,8 @@ namespace SKIT.FlurlHttpClient.Wechat.Api.Events
|
||||
/// <para>表示 EVENT.product_spu_listing 事件的数据。</para>
|
||||
/// <para>
|
||||
/// REF: <br/>
|
||||
/// <![CDATA[ https://developers.weixin.qq.com/doc/channels/API/product/callback/ProductSpuListing.html ]]>
|
||||
/// <![CDATA[ https://developers.weixin.qq.com/doc/channels/API/product/callback/ProductSpuListing.html ]]> <br/>
|
||||
/// <![CDATA[ https://developers.weixin.qq.com/doc/channels/locallife/api/callback1.html ]]>
|
||||
/// </para>
|
||||
/// </summary>
|
||||
public class ChannelsECProductSPUListingEvent : WechatApiEvent
|
||||
|
@@ -2,7 +2,11 @@ namespace SKIT.FlurlHttpClient.Wechat.Api.Events
|
||||
{
|
||||
/// <summary>
|
||||
/// <para>表示 EVENT.product_spu_update 事件的数据。</para>
|
||||
/// <para>REF: https://developers.weixin.qq.com/doc/channels/API/product/callback/ProductSpuUpdate.html </para>
|
||||
/// <para>
|
||||
/// REF: <br/>
|
||||
/// <![CDATA[ https://developers.weixin.qq.com/doc/channels/API/product/callback/ProductSpuUpdate.html ]]> <br/>
|
||||
/// <![CDATA[ https://developers.weixin.qq.com/doc/channels/locallife/api/group_purchase_discount_callback.html ]]>
|
||||
/// </para>
|
||||
/// </summary>
|
||||
public class ChannelsECProductSPUUpdateEvent : WechatApiEvent
|
||||
{
|
||||
|
@@ -2,7 +2,10 @@ namespace SKIT.FlurlHttpClient.Wechat.Api.Events
|
||||
{
|
||||
/// <summary>
|
||||
/// <para>表示 EVENT.channels_ec_sharer_change 事件的数据。</para>
|
||||
/// <para>REF: https://developers.weixin.qq.com/doc/channels/API/sharer/bindsharer.html </para>
|
||||
/// <para>
|
||||
/// REF: <br/>
|
||||
/// <![CDATA[ https://developers.weixin.qq.com/doc/channels/API/sharer/bindsharer.html ]]>
|
||||
/// </para>
|
||||
/// </summary>
|
||||
public class ChannelsECSharerChangeEvent : WechatApiEvent
|
||||
{
|
||||
|
@@ -0,0 +1,62 @@
|
||||
namespace SKIT.FlurlHttpClient.Wechat.Api.Events
|
||||
{
|
||||
/// <summary>
|
||||
/// <para>表示 EVENT.channels_ec_stock_no_enough 事件的数据。</para>
|
||||
/// <para>
|
||||
/// REF: <br/>
|
||||
/// <![CDATA[ https://developers.weixin.qq.com/doc/channels/locallife/api/callback_inventory.html ]]>
|
||||
/// </para>
|
||||
/// </summary>
|
||||
public class ChannelsECStockNoEnoughEvent : WechatApiEvent
|
||||
{
|
||||
public static class Types
|
||||
{
|
||||
public class StockInfo
|
||||
{
|
||||
/// <summary>
|
||||
/// 获取或设置商品 ID。
|
||||
/// </summary>
|
||||
[Newtonsoft.Json.JsonProperty("product_id")]
|
||||
[System.Text.Json.Serialization.JsonPropertyName("product_id")]
|
||||
[System.Text.Json.Serialization.JsonNumberHandling(System.Text.Json.Serialization.JsonNumberHandling.AllowReadingFromString)]
|
||||
[System.Xml.Serialization.XmlElement("product_id")]
|
||||
public long ProductId { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 获取或设置 SKU ID。
|
||||
/// </summary>
|
||||
[Newtonsoft.Json.JsonProperty("sku_id")]
|
||||
[System.Text.Json.Serialization.JsonPropertyName("sku_id")]
|
||||
[System.Text.Json.Serialization.JsonNumberHandling(System.Text.Json.Serialization.JsonNumberHandling.AllowReadingFromString)]
|
||||
[System.Xml.Serialization.XmlElement("sku_id")]
|
||||
public long SKUId { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 获取或设置剩余库存数量。
|
||||
/// </summary>
|
||||
[Newtonsoft.Json.JsonProperty("remaining_stock_amount")]
|
||||
[System.Text.Json.Serialization.JsonPropertyName("remaining_stock_amount")]
|
||||
[System.Text.Json.Serialization.JsonNumberHandling(System.Text.Json.Serialization.JsonNumberHandling.AllowReadingFromString)]
|
||||
[System.Xml.Serialization.XmlElement("remaining_stock_amount")]
|
||||
public int RemainingStockAmount { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 获取或设置剩余预存券码数量。
|
||||
/// </summary>
|
||||
[Newtonsoft.Json.JsonProperty("remaining_code_amount")]
|
||||
[System.Text.Json.Serialization.JsonPropertyName("remaining_code_amount")]
|
||||
[System.Text.Json.Serialization.JsonNumberHandling(System.Text.Json.Serialization.JsonNumberHandling.AllowReadingFromString)]
|
||||
[System.Xml.Serialization.XmlElement("remaining_code_amount")]
|
||||
public int RemainingCodeAmount { get; set; }
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 获取或设置库存信息。
|
||||
/// </summary>
|
||||
[Newtonsoft.Json.JsonProperty("channels_ec_stock_no_enough")]
|
||||
[System.Text.Json.Serialization.JsonPropertyName("channels_ec_stock_no_enough")]
|
||||
[System.Xml.Serialization.XmlElement("channels_ec_stock_no_enough")]
|
||||
public Types.StockInfo StockInfo { get; set; } = default!;
|
||||
}
|
||||
}
|
@@ -37,7 +37,8 @@ namespace SKIT.FlurlHttpClient.Wechat.Api
|
||||
/// <para>异步调用 [POST] /channels/ec/aftersale/getaftersaleorder 接口。</para>
|
||||
/// <para>
|
||||
/// REF: <br/>
|
||||
/// <![CDATA[ https://developers.weixin.qq.com/doc/channels/API/aftersale/getaftersaleorder.html ]]>
|
||||
/// <![CDATA[ https://developers.weixin.qq.com/doc/channels/API/aftersale/getaftersaleorder.html ]]> <br/>
|
||||
/// <![CDATA[ https://developers.weixin.qq.com/doc/channels/locallife/api/query_after-sales.html ]]>
|
||||
/// </para>
|
||||
/// </summary>
|
||||
/// <param name="client"></param>
|
||||
@@ -970,6 +971,53 @@ namespace SKIT.FlurlHttpClient.Wechat.Api
|
||||
return await client.SendFlurlRequestAsJsonAsync<Models.ChannelsECFundsGetBalanceResponse>(flurlReq, data: request, cancellationToken: cancellationToken).ConfigureAwait(false);
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// <para>异步调用 [POST] /channels/ec/funds/getfundsflowlist 接口。</para>
|
||||
/// <para>
|
||||
/// REF: <br/>
|
||||
/// <![CDATA[ https://developers.weixin.qq.com/doc/channels/API/funds/getfundsflowlist.html ]]> <br/>
|
||||
/// <![CDATA[ https://developers.weixin.qq.com/doc/channels/locallife/api/Fund.html ]]>
|
||||
/// </para>
|
||||
/// </summary>
|
||||
/// <param name="client"></param>
|
||||
/// <param name="request"></param>
|
||||
/// <param name="cancellationToken"></param>
|
||||
/// <returns></returns>
|
||||
public static async Task<Models.ChannelsECFundsGetFundsFlowListResponse> ExecuteChannelsECFundsGetFundsFlowListAsync(this WechatApiClient client, Models.ChannelsECFundsGetFundsFlowListRequest 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", "funds", "getfundsflowlist")
|
||||
.SetQueryParam("access_token", request.AccessToken);
|
||||
|
||||
return await client.SendFlurlRequestAsJsonAsync<Models.ChannelsECFundsGetFundsFlowListResponse>(flurlReq, data: request, cancellationToken: cancellationToken).ConfigureAwait(false);
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// <para>异步调用 [POST] /channels/ec/funds/getfundsflowdetail 接口。</para>
|
||||
/// <para>
|
||||
/// REF: <br/>
|
||||
/// <![CDATA[ https://developers.weixin.qq.com/doc/channels/API/funds/getfundsflowdetail.html ]]>
|
||||
/// </para>
|
||||
/// </summary>
|
||||
/// <param name="client"></param>
|
||||
/// <param name="request"></param>
|
||||
/// <param name="cancellationToken"></param>
|
||||
/// <returns></returns>
|
||||
public static async Task<Models.ChannelsECFundsGetFundsFlowDetailResponse> ExecuteChannelsECFundsGetFundsFlowDetailAsync(this WechatApiClient client, Models.ChannelsECFundsGetFundsFlowDetailRequest 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", "funds", "getfundsflowdetail")
|
||||
.SetQueryParam("access_token", request.AccessToken);
|
||||
|
||||
return await client.SendFlurlRequestAsJsonAsync<Models.ChannelsECFundsGetFundsFlowDetailResponse>(flurlReq, data: request, cancellationToken: cancellationToken).ConfigureAwait(false);
|
||||
}
|
||||
|
||||
#region ECFunds/BankAccount
|
||||
/// <summary>
|
||||
/// <para>异步调用 [POST] /channels/ec/funds/getbankacct 接口。</para>
|
||||
@@ -2446,7 +2494,8 @@ namespace SKIT.FlurlHttpClient.Wechat.Api
|
||||
/// <para>异步调用 [POST] /channels/ec/order/get 接口。</para>
|
||||
/// <para>
|
||||
/// REF: <br/>
|
||||
/// <![CDATA[ https://developers.weixin.qq.com/doc/channels/API/order/get.html ]]>
|
||||
/// <![CDATA[ https://developers.weixin.qq.com/doc/channels/API/order/get.html ]]> <br/>
|
||||
/// <![CDATA[ https://developers.weixin.qq.com/doc/channels/locallife/api/query_coupon.html ]]>
|
||||
/// </para>
|
||||
/// </summary>
|
||||
/// <param name="client"></param>
|
||||
@@ -2751,7 +2800,8 @@ namespace SKIT.FlurlHttpClient.Wechat.Api
|
||||
/// <para>异步调用 [POST] /channels/ec/product/delete 接口。</para>
|
||||
/// <para>
|
||||
/// REF: <br/>
|
||||
/// <![CDATA[ https://developers.weixin.qq.com/doc/channels/API/product/delete.html ]]>
|
||||
/// <![CDATA[ https://developers.weixin.qq.com/doc/channels/API/product/delete.html ]]> <br/>
|
||||
/// <![CDATA[ https://developers.weixin.qq.com/doc/channels/locallife/api/delete.html ]]>
|
||||
/// </para>
|
||||
/// </summary>
|
||||
/// <param name="client"></param>
|
||||
@@ -2820,7 +2870,8 @@ namespace SKIT.FlurlHttpClient.Wechat.Api
|
||||
/// <para>异步调用 [POST] /channels/ec/product/listing 接口。</para>
|
||||
/// <para>
|
||||
/// REF: <br/>
|
||||
/// <![CDATA[ https://developers.weixin.qq.com/doc/channels/API/product/listing.html ]]>
|
||||
/// <![CDATA[ https://developers.weixin.qq.com/doc/channels/API/product/listing.html ]]> <br/>
|
||||
/// <![CDATA[ https://developers.weixin.qq.com/doc/channels/locallife/api/listing.html ]]>
|
||||
/// </para>
|
||||
/// </summary>
|
||||
/// <param name="client"></param>
|
||||
@@ -2843,7 +2894,8 @@ namespace SKIT.FlurlHttpClient.Wechat.Api
|
||||
/// <para>异步调用 [POST] /channels/ec/product/delisting 接口。</para>
|
||||
/// <para>
|
||||
/// REF: <br/>
|
||||
/// <![CDATA[ https://developers.weixin.qq.com/doc/channels/API/product/delisting.html ]]>
|
||||
/// <![CDATA[ https://developers.weixin.qq.com/doc/channels/API/product/delisting.html ]]> <br/>
|
||||
/// <![CDATA[ https://developers.weixin.qq.com/doc/channels/locallife/api/removed.html ]]>
|
||||
/// </para>
|
||||
/// </summary>
|
||||
/// <param name="client"></param>
|
||||
@@ -2866,7 +2918,8 @@ namespace SKIT.FlurlHttpClient.Wechat.Api
|
||||
/// <para>异步调用 [POST] /channels/ec/product/audit/cancel 接口。</para>
|
||||
/// <para>
|
||||
/// REF: <br/>
|
||||
/// <![CDATA[ https://developers.weixin.qq.com/doc/channels/API/product/audit_cancel.html ]]>
|
||||
/// <![CDATA[ https://developers.weixin.qq.com/doc/channels/API/product/audit_cancel.html ]]> <br/>
|
||||
/// <![CDATA[ https://developers.weixin.qq.com/doc/channels/locallife/api/withdraw.html ]]>
|
||||
/// </para>
|
||||
/// </summary>
|
||||
/// <param name="client"></param>
|
||||
@@ -3053,7 +3106,8 @@ namespace SKIT.FlurlHttpClient.Wechat.Api
|
||||
/// <para>异步调用 [POST] /channels/ec/product/stock/update 接口。</para>
|
||||
/// <para>
|
||||
/// REF: <br/>
|
||||
/// <![CDATA[ https://developers.weixin.qq.com/doc/channels/API/product/stock_update.html ]]>
|
||||
/// <![CDATA[ https://developers.weixin.qq.com/doc/channels/API/product/stock_update.html ]]> <br/>
|
||||
/// <![CDATA[ https://developers.weixin.qq.com/doc/channels/locallife/api/modify-stock.html ]]>
|
||||
/// </para>
|
||||
/// </summary>
|
||||
/// <param name="client"></param>
|
||||
@@ -3143,6 +3197,123 @@ namespace SKIT.FlurlHttpClient.Wechat.Api
|
||||
#endregion
|
||||
#endregion
|
||||
|
||||
#region ECProductLocalLife
|
||||
/// <summary>
|
||||
/// <para>异步调用 [POST] /channels/ec/product/locallife/list/get 接口。</para>
|
||||
/// <para>
|
||||
/// REF: <br/>
|
||||
/// <![CDATA[ https://developers.weixin.qq.com/doc/channels/locallife/api/query.html ]]>
|
||||
/// </para>
|
||||
/// </summary>
|
||||
/// <param name="client"></param>
|
||||
/// <param name="request"></param>
|
||||
/// <param name="cancellationToken"></param>
|
||||
/// <returns></returns>
|
||||
public static async Task<Models.ChannelsECProductLocalLifeListGetResponse> ExecuteChannelsECProductLocalLifeListGetAsync(this WechatApiClient client, Models.ChannelsECProductLocalLifeListGetRequest 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", "product", "locallife", "list", "get")
|
||||
.SetQueryParam("access_token", request.AccessToken);
|
||||
|
||||
return await client.SendFlurlRequestAsJsonAsync<Models.ChannelsECProductLocalLifeListGetResponse>(flurlReq, data: request, cancellationToken: cancellationToken).ConfigureAwait(false);
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// <para>异步调用 [POST] /channels/ec/product/locallife/get 接口。</para>
|
||||
/// <para>
|
||||
/// REF: <br/>
|
||||
/// <![CDATA[ https://developers.weixin.qq.com/doc/channels/locallife/api/query_details.html ]]>
|
||||
/// </para>
|
||||
/// </summary>
|
||||
/// <param name="client"></param>
|
||||
/// <param name="request"></param>
|
||||
/// <param name="cancellationToken"></param>
|
||||
/// <returns></returns>
|
||||
public static async Task<Models.ChannelsECProductLocalLifeGetResponse> ExecuteChannelsECProductLocalLifeGetAsync(this WechatApiClient client, Models.ChannelsECProductLocalLifeGetRequest 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", "product", "locallife", "get")
|
||||
.SetQueryParam("access_token", request.AccessToken);
|
||||
|
||||
return await client.SendFlurlRequestAsJsonAsync<Models.ChannelsECProductLocalLifeGetResponse>(flurlReq, data: request, cancellationToken: cancellationToken).ConfigureAwait(false);
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// <para>异步调用 [POST] /channels/ec/product/locallife/add 接口。</para>
|
||||
/// <para>
|
||||
/// REF: <br/>
|
||||
/// <![CDATA[ https://developers.weixin.qq.com/doc/channels/locallife/api/add.html ]]>
|
||||
/// </para>
|
||||
/// </summary>
|
||||
/// <param name="client"></param>
|
||||
/// <param name="request"></param>
|
||||
/// <param name="cancellationToken"></param>
|
||||
/// <returns></returns>
|
||||
public static async Task<Models.ChannelsECProductLocalLifeAddResponse> ExecuteChannelsECProductLocalLifeAddAsync(this WechatApiClient client, Models.ChannelsECProductLocalLifeAddRequest 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", "product", "locallife", "add")
|
||||
.SetQueryParam("access_token", request.AccessToken);
|
||||
|
||||
return await client.SendFlurlRequestAsJsonAsync<Models.ChannelsECProductLocalLifeAddResponse>(flurlReq, data: request, cancellationToken: cancellationToken).ConfigureAwait(false);
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// <para>异步调用 [POST] /channels/ec/product/locallife/update 接口。</para>
|
||||
/// <para>
|
||||
/// REF: <br/>
|
||||
/// <![CDATA[ https://developers.weixin.qq.com/doc/channels/locallife/api/update.html ]]>
|
||||
/// </para>
|
||||
/// </summary>
|
||||
/// <param name="client"></param>
|
||||
/// <param name="request"></param>
|
||||
/// <param name="cancellationToken"></param>
|
||||
/// <returns></returns>
|
||||
public static async Task<Models.ChannelsECProductLocalLifeUpdateResponse> ExecuteChannelsECProductLocalLifeUpdateAsync(this WechatApiClient client, Models.ChannelsECProductLocalLifeUpdateRequest 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", "product", "locallife", "update")
|
||||
.SetQueryParam("access_token", request.AccessToken);
|
||||
|
||||
return await client.SendFlurlRequestAsJsonAsync<Models.ChannelsECProductLocalLifeUpdateResponse>(flurlReq, data: request, cancellationToken: cancellationToken).ConfigureAwait(false);
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// <para>异步调用 [POST] /channels/ec/product/locallife/auditfree 接口。</para>
|
||||
/// <para>
|
||||
/// REF: <br/>
|
||||
/// <![CDATA[ https://developers.weixin.qq.com/doc/channels/locallife/api/review-free.html ]]>
|
||||
/// </para>
|
||||
/// </summary>
|
||||
/// <param name="client"></param>
|
||||
/// <param name="request"></param>
|
||||
/// <param name="cancellationToken"></param>
|
||||
/// <returns></returns>
|
||||
public static async Task<Models.ChannelsECProductLocalLifeAuditFreeResponse> ExecuteChannelsECProductLocalLifeAuditFreeAsync(this WechatApiClient client, Models.ChannelsECProductLocalLifeAuditFreeRequest 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", "product", "locallife", "auditfree")
|
||||
.SetQueryParam("access_token", request.AccessToken);
|
||||
|
||||
return await client.SendFlurlRequestAsJsonAsync<Models.ChannelsECProductLocalLifeAuditFreeResponse>(flurlReq, data: request, cancellationToken: cancellationToken).ConfigureAwait(false);
|
||||
}
|
||||
#endregion
|
||||
|
||||
#region ECQIC
|
||||
/// <summary>
|
||||
/// <para>异步调用 [GET] /channels/ec/qic/inspect/config/get 接口。</para>
|
||||
@@ -3801,6 +3972,150 @@ namespace SKIT.FlurlHttpClient.Wechat.Api
|
||||
#endregion
|
||||
#endregion
|
||||
|
||||
#region ECVoucher
|
||||
#region ECVoucher/Bill
|
||||
/// <summary>
|
||||
/// <para>异步调用 [POST] /channels/ec/voucher/get_bill_list 接口。</para>
|
||||
/// <para>
|
||||
/// REF: <br/>
|
||||
/// <![CDATA[ https://developers.weixin.qq.com/doc/channels/locallife/api/query_voucher.html ]]>
|
||||
/// </para>
|
||||
/// </summary>
|
||||
/// <param name="client"></param>
|
||||
/// <param name="request"></param>
|
||||
/// <param name="cancellationToken"></param>
|
||||
/// <returns></returns>
|
||||
public static async Task<Models.ChannelsECVoucherGetBillListResponse> ExecuteChannelsECVoucherGetBillListAsync(this WechatApiClient client, Models.ChannelsECVoucherGetBillListRequest 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", "voucher", "get_bill_list")
|
||||
.SetQueryParam("access_token", request.AccessToken);
|
||||
|
||||
return await client.SendFlurlRequestAsJsonAsync<Models.ChannelsECVoucherGetBillListResponse>(flurlReq, data: request, cancellationToken: cancellationToken).ConfigureAwait(false);
|
||||
}
|
||||
#endregion
|
||||
|
||||
#region ECVoucher/Codes
|
||||
/// <summary>
|
||||
/// <para>异步调用 [POST] /channels/ec/voucher/codes/upload 接口。</para>
|
||||
/// <para>
|
||||
/// REF: <br/>
|
||||
/// <![CDATA[ https://developers.weixin.qq.com/doc/channels/locallife/api/upload.html ]]>
|
||||
/// </para>
|
||||
/// </summary>
|
||||
/// <param name="client"></param>
|
||||
/// <param name="request"></param>
|
||||
/// <param name="cancellationToken"></param>
|
||||
/// <returns></returns>
|
||||
public static async Task<Models.ChannelsECVoucherCodesUploadResponse> ExecuteChannelsECVoucherCodesUploadAsync(this WechatApiClient client, Models.ChannelsECVoucherCodesUploadRequest 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", "voucher", "codes", "upload")
|
||||
.SetQueryParam("access_token", request.AccessToken);
|
||||
|
||||
return await client.SendFlurlRequestAsJsonAsync<Models.ChannelsECVoucherCodesUploadResponse>(flurlReq, data: request, cancellationToken: cancellationToken).ConfigureAwait(false);
|
||||
}
|
||||
#endregion
|
||||
|
||||
/// <summary>
|
||||
/// <para>异步调用 [POST] /channels/ec/voucher/get_list 接口。</para>
|
||||
/// <para>
|
||||
/// REF: <br/>
|
||||
/// <![CDATA[ https://developers.weixin.qq.com/doc/channels/locallife/api/query_discount.html ]]>
|
||||
/// </para>
|
||||
/// </summary>
|
||||
/// <param name="client"></param>
|
||||
/// <param name="request"></param>
|
||||
/// <param name="cancellationToken"></param>
|
||||
/// <returns></returns>
|
||||
public static async Task<Models.ChannelsECVoucherGetListResponse> ExecuteChannelsECVoucherGetListAsync(this WechatApiClient client, Models.ChannelsECVoucherGetListRequest 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", "voucher", "get_list")
|
||||
.SetQueryParam("access_token", request.AccessToken);
|
||||
|
||||
return await client.SendFlurlRequestAsJsonAsync<Models.ChannelsECVoucherGetListResponse>(flurlReq, data: request, cancellationToken: cancellationToken).ConfigureAwait(false);
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// <para>异步调用 [POST] /channels/ec/voucher/get 接口。</para>
|
||||
/// <para>
|
||||
/// REF: <br/>
|
||||
/// <![CDATA[ https://developers.weixin.qq.com/doc/channels/locallife/api/purchase.html ]]>
|
||||
/// </para>
|
||||
/// </summary>
|
||||
/// <param name="client"></param>
|
||||
/// <param name="request"></param>
|
||||
/// <param name="cancellationToken"></param>
|
||||
/// <returns></returns>
|
||||
public static async Task<Models.ChannelsECVoucherGetResponse> ExecuteChannelsECVoucherGetAsync(this WechatApiClient client, Models.ChannelsECVoucherGetRequest 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", "voucher", "get")
|
||||
.SetQueryParam("access_token", request.AccessToken);
|
||||
|
||||
return await client.SendFlurlRequestAsJsonAsync<Models.ChannelsECVoucherGetResponse>(flurlReq, data: request, cancellationToken: cancellationToken).ConfigureAwait(false);
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// <para>异步调用 [POST] /channels/ec/voucher/consume 接口。</para>
|
||||
/// <para>
|
||||
/// REF: <br/>
|
||||
/// <![CDATA[ https://developers.weixin.qq.com/doc/channels/locallife/api/api.html ]]>
|
||||
/// </para>
|
||||
/// </summary>
|
||||
/// <param name="client"></param>
|
||||
/// <param name="request"></param>
|
||||
/// <param name="cancellationToken"></param>
|
||||
/// <returns></returns>
|
||||
public static async Task<Models.ChannelsECVoucherConsumeResponse> ExecuteChannelsECVoucherConsumeAsync(this WechatApiClient client, Models.ChannelsECVoucherConsumeRequest 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", "voucher", "consume")
|
||||
.SetQueryParam("access_token", request.AccessToken);
|
||||
|
||||
return await client.SendFlurlRequestAsJsonAsync<Models.ChannelsECVoucherConsumeResponse>(flurlReq, data: request, cancellationToken: cancellationToken).ConfigureAwait(false);
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// <para>异步调用 [POST] /channels/ec/voucher/revoke 接口。</para>
|
||||
/// <para>
|
||||
/// REF: <br/>
|
||||
/// <![CDATA[ https://developers.weixin.qq.com/doc/channels/locallife/api/discount-cancel.html ]]>
|
||||
/// </para>
|
||||
/// </summary>
|
||||
/// <param name="client"></param>
|
||||
/// <param name="request"></param>
|
||||
/// <param name="cancellationToken"></param>
|
||||
/// <returns></returns>
|
||||
public static async Task<Models.ChannelsECVoucherRevokeResponse> ExecuteChannelsECVoucherRevokeAsync(this WechatApiClient client, Models.ChannelsECVoucherRevokeRequest 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", "voucher", "revoke")
|
||||
.SetQueryParam("access_token", request.AccessToken);
|
||||
|
||||
return await client.SendFlurlRequestAsJsonAsync<Models.ChannelsECVoucherRevokeResponse>(flurlReq, data: request, cancellationToken: cancellationToken).ConfigureAwait(false);
|
||||
}
|
||||
#endregion
|
||||
|
||||
#region ECWarehouse
|
||||
/// <summary>
|
||||
/// <para>异步调用 [POST] /channels/ec/warehouse/create 接口。</para>
|
||||
|
@@ -13,6 +13,19 @@ namespace SKIT.FlurlHttpClient.Wechat.Api.Models
|
||||
{
|
||||
public class Product
|
||||
{
|
||||
public static class Types
|
||||
{
|
||||
public class Voucher
|
||||
{
|
||||
/// <summary>
|
||||
/// 获取或设置团购优惠券码。
|
||||
/// </summary>
|
||||
[Newtonsoft.Json.JsonProperty("vourcher_code")]
|
||||
[System.Text.Json.Serialization.JsonPropertyName("vourcher_code")]
|
||||
public string VoucherCode { get; set; } = default!;
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 获取或设置商品 ID。
|
||||
/// </summary>
|
||||
@@ -35,6 +48,13 @@ namespace SKIT.FlurlHttpClient.Wechat.Api.Models
|
||||
[Newtonsoft.Json.JsonProperty("count")]
|
||||
[System.Text.Json.Serialization.JsonPropertyName("count")]
|
||||
public int Count { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 获取或设置团购优惠券列表。
|
||||
/// </summary>
|
||||
[Newtonsoft.Json.JsonProperty("voucher_list")]
|
||||
[System.Text.Json.Serialization.JsonPropertyName("voucher_list")]
|
||||
public Types.Voucher[]? VoucherList { get; set; }
|
||||
}
|
||||
|
||||
public class AftersaleDetail
|
||||
@@ -244,6 +264,13 @@ namespace SKIT.FlurlHttpClient.Wechat.Api.Models
|
||||
[System.Text.Json.Serialization.JsonPropertyName("refund_resp")]
|
||||
public Types.RefundResultInfo? RefundResultInfo { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 获取或设置生成售后单场景值。
|
||||
/// </summary>
|
||||
[Newtonsoft.Json.JsonProperty("gen_scene")]
|
||||
[System.Text.Json.Serialization.JsonPropertyName("gen_scene")]
|
||||
public int? GenerateScene { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 获取或设置操作剩余时间(单位:秒)。
|
||||
/// </summary>
|
||||
|
@@ -29,21 +29,21 @@ namespace SKIT.FlurlHttpClient.Wechat.Api.Models
|
||||
/// </summary>
|
||||
[Newtonsoft.Json.JsonProperty("level1")]
|
||||
[System.Text.Json.Serialization.JsonPropertyName("level1")]
|
||||
public int FirstCategoryId { get; set; }
|
||||
public long FirstCategoryId { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 获取或设置二级类目 ID。
|
||||
/// </summary>
|
||||
[Newtonsoft.Json.JsonProperty("level2")]
|
||||
[System.Text.Json.Serialization.JsonPropertyName("level2")]
|
||||
public int SecondCategoryId { get; set; }
|
||||
public long SecondCategoryId { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 获取或设置三级类目 ID。
|
||||
/// </summary>
|
||||
[Newtonsoft.Json.JsonProperty("level3")]
|
||||
[System.Text.Json.Serialization.JsonPropertyName("level3")]
|
||||
public int ThirdCategoryId { get; set; }
|
||||
public long ThirdCategoryId { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 获取或设置资质材料图片 MediaId 列表。
|
||||
|
@@ -25,7 +25,7 @@ namespace SKIT.FlurlHttpClient.Wechat.Api.Models
|
||||
[Newtonsoft.Json.JsonProperty("cat_id")]
|
||||
[System.Text.Json.Serialization.JsonPropertyName("cat_id")]
|
||||
[System.Text.Json.Serialization.JsonNumberHandling(System.Text.Json.Serialization.JsonNumberHandling.AllowReadingFromString)]
|
||||
public int CategoryId { get; set; }
|
||||
public long CategoryId { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 获取或设置类目名称。
|
||||
@@ -40,7 +40,7 @@ namespace SKIT.FlurlHttpClient.Wechat.Api.Models
|
||||
[Newtonsoft.Json.JsonProperty("f_cat_id")]
|
||||
[System.Text.Json.Serialization.JsonPropertyName("f_cat_id")]
|
||||
[System.Text.Json.Serialization.JsonNumberHandling(System.Text.Json.Serialization.JsonNumberHandling.AllowReadingFromString)]
|
||||
public int ParentCategoryId { get; set; }
|
||||
public long ParentCategoryId { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 获取或设置类目层级。
|
||||
|
@@ -15,7 +15,7 @@ namespace SKIT.FlurlHttpClient.Wechat.Api.Models
|
||||
[Newtonsoft.Json.JsonProperty("cat_id")]
|
||||
[System.Text.Json.Serialization.JsonPropertyName("cat_id")]
|
||||
[System.Text.Json.Serialization.JsonNumberHandling(System.Text.Json.Serialization.JsonNumberHandling.AllowReadingFromString)]
|
||||
public int CategoryId { get; set; }
|
||||
public long longCategoryId { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 获取或设置类目名称。
|
||||
|
@@ -10,6 +10,6 @@ namespace SKIT.FlurlHttpClient.Wechat.Api.Models
|
||||
/// </summary>
|
||||
[Newtonsoft.Json.JsonProperty("cat_id")]
|
||||
[System.Text.Json.Serialization.JsonPropertyName("cat_id")]
|
||||
public int CategoryId { get; set; }
|
||||
public long CategoryId { get; set; }
|
||||
}
|
||||
}
|
||||
|
@@ -17,7 +17,7 @@ namespace SKIT.FlurlHttpClient.Wechat.Api.Models
|
||||
[Newtonsoft.Json.JsonProperty("cat_id")]
|
||||
[System.Text.Json.Serialization.JsonPropertyName("cat_id")]
|
||||
[System.Text.Json.Serialization.JsonNumberHandling(System.Text.Json.Serialization.JsonNumberHandling.AllowReadingFromString)]
|
||||
public int CategoryId { get; set; }
|
||||
public long CategoryId { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 获取或设置类目名称。
|
||||
|
@@ -15,7 +15,7 @@ namespace SKIT.FlurlHttpClient.Wechat.Api.Models
|
||||
[Newtonsoft.Json.JsonProperty("cat_id")]
|
||||
[System.Text.Json.Serialization.JsonPropertyName("cat_id")]
|
||||
[System.Text.Json.Serialization.JsonNumberHandling(System.Text.Json.Serialization.JsonNumberHandling.AllowReadingFromString)]
|
||||
public int CategoryId { get; set; }
|
||||
public long CategoryId { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 获取或设置资质 ID。
|
||||
|
@@ -0,0 +1,15 @@
|
||||
namespace SKIT.FlurlHttpClient.Wechat.Api.Models
|
||||
{
|
||||
/// <summary>
|
||||
/// <para>表示 [POST] /channels/ec/funds/getfundsflowdetail 接口的请求。</para>
|
||||
/// </summary>
|
||||
public class ChannelsECFundsGetFundsFlowDetailRequest : WechatApiRequest, IInferable<ChannelsECFundsGetFundsFlowDetailRequest, ChannelsECFundsGetFundsFlowDetailResponse>
|
||||
{
|
||||
/// <summary>
|
||||
/// 获取或设置流水单号。
|
||||
/// </summary>
|
||||
[Newtonsoft.Json.JsonProperty("flow_id")]
|
||||
[System.Text.Json.Serialization.JsonPropertyName("flow_id")]
|
||||
public string FlowId { get; set; } = string.Empty;
|
||||
}
|
||||
}
|
@@ -0,0 +1,124 @@
|
||||
using System;
|
||||
|
||||
namespace SKIT.FlurlHttpClient.Wechat.Api.Models
|
||||
{
|
||||
/// <summary>
|
||||
/// <para>表示 [POST] /channels/ec/funds/getfundsflowdetail 接口的响应。</para>
|
||||
/// </summary>
|
||||
public class ChannelsECFundsGetFundsFlowDetailResponse : WechatApiResponse
|
||||
{
|
||||
public static class Types
|
||||
{
|
||||
public class FundsFlow
|
||||
{
|
||||
public static class Types
|
||||
{
|
||||
public class RelatedInfo
|
||||
{
|
||||
/// <summary>
|
||||
/// 获取或设置关联类型。
|
||||
/// </summary>
|
||||
[Newtonsoft.Json.JsonProperty("related_type")]
|
||||
[System.Text.Json.Serialization.JsonPropertyName("related_type")]
|
||||
public int RelatedType { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 获取或设置订单 ID。
|
||||
/// </summary>
|
||||
[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; }
|
||||
|
||||
/// <summary>
|
||||
/// 获取或设置售后单 ID。
|
||||
/// </summary>
|
||||
[Newtonsoft.Json.JsonProperty("aftersale_id")]
|
||||
[System.Text.Json.Serialization.JsonPropertyName("aftersale_id")]
|
||||
[System.Text.Json.Serialization.JsonConverter(typeof(System.Text.Json.Serialization.Common.NumericalStringReadOnlyConverter))]
|
||||
public string? AftersaleOrderId { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 获取或设置支付单号。
|
||||
/// </summary>
|
||||
[Newtonsoft.Json.JsonProperty("transaction_id")]
|
||||
[System.Text.Json.Serialization.JsonPropertyName("transaction_id")]
|
||||
public string? TransactionId { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 获取或设置提现单号。
|
||||
/// </summary>
|
||||
[Newtonsoft.Json.JsonProperty("withdraw_id")]
|
||||
[System.Text.Json.Serialization.JsonPropertyName("withdraw_id")]
|
||||
public string? WithdrawId { get; set; }
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 获取或设置流水单号。
|
||||
/// </summary>
|
||||
[Newtonsoft.Json.JsonProperty("flow_id")]
|
||||
[System.Text.Json.Serialization.JsonPropertyName("flow_id")]
|
||||
public string FlowId { get; set; } = default!;
|
||||
|
||||
/// <summary>
|
||||
/// 获取或设置资金类型。
|
||||
/// </summary>
|
||||
[Newtonsoft.Json.JsonProperty("funds_type")]
|
||||
[System.Text.Json.Serialization.JsonPropertyName("funds_type")]
|
||||
public int FundsType { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 获取或设置流水类型。
|
||||
/// </summary>
|
||||
[Newtonsoft.Json.JsonProperty("flow_type")]
|
||||
[System.Text.Json.Serialization.JsonPropertyName("flow_type")]
|
||||
public int FlowType { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 获取或设置流水金额(单位:分)。
|
||||
/// </summary>
|
||||
[Newtonsoft.Json.JsonProperty("amount")]
|
||||
[System.Text.Json.Serialization.JsonPropertyName("amount")]
|
||||
public int Amount { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 获取或设置账户余额(单位:分)。
|
||||
/// </summary>
|
||||
[Newtonsoft.Json.JsonProperty("balance")]
|
||||
[System.Text.Json.Serialization.JsonPropertyName("balance")]
|
||||
public int Balance { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 获取或设置流水关联信息列表。
|
||||
/// </summary>
|
||||
[Newtonsoft.Json.JsonProperty("related_info_list")]
|
||||
[System.Text.Json.Serialization.JsonPropertyName("related_info_list")]
|
||||
public Types.RelatedInfo[] RelatedInfoList { get; set; } = default!;
|
||||
|
||||
/// <summary>
|
||||
/// 获取或设置备注。
|
||||
/// </summary>
|
||||
[Newtonsoft.Json.JsonProperty("remark")]
|
||||
[System.Text.Json.Serialization.JsonPropertyName("remark")]
|
||||
public string? Remark { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 获取或设置记账时间。
|
||||
/// </summary>
|
||||
[Newtonsoft.Json.JsonProperty("bookkeeping_time")]
|
||||
[Newtonsoft.Json.JsonConverter(typeof(Newtonsoft.Json.Converters.Common.BasicDateTimeOffsetConverter))]
|
||||
[System.Text.Json.Serialization.JsonPropertyName("bookkeeping_time")]
|
||||
[System.Text.Json.Serialization.JsonConverter(typeof(System.Text.Json.Serialization.Common.BasicDateTimeOffsetConverter))]
|
||||
public DateTimeOffset BookkeepingTIme { get; set; }
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 获取或设置流水单信息。
|
||||
/// </summary>
|
||||
[Newtonsoft.Json.JsonProperty("funds_flow")]
|
||||
[System.Text.Json.Serialization.JsonPropertyName("funds_flow")]
|
||||
public Types.FundsFlow FundsFlow { get; set; } = default!;
|
||||
}
|
||||
}
|
@@ -0,0 +1,51 @@
|
||||
namespace SKIT.FlurlHttpClient.Wechat.Api.Models
|
||||
{
|
||||
/// <summary>
|
||||
/// <para>表示 [POST] /channels/ec/funds/getfundsflowlist 接口的请求。</para>
|
||||
/// </summary>
|
||||
public class ChannelsECFundsGetFundsFlowListRequest : WechatApiRequest, IInferable<ChannelsECFundsGetFundsFlowListRequest, ChannelsECFundsGetFundsFlowListResponse>
|
||||
{
|
||||
/// <summary>
|
||||
/// 获取或设置微信支付单号。
|
||||
/// </summary>
|
||||
[Newtonsoft.Json.JsonProperty("transaction_id")]
|
||||
[System.Text.Json.Serialization.JsonPropertyName("transaction_id")]
|
||||
public string? TransactionId { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 获取或设置流水产生的开始时间戳。
|
||||
/// </summary>
|
||||
[Newtonsoft.Json.JsonProperty("start_time")]
|
||||
[System.Text.Json.Serialization.JsonPropertyName("start_time")]
|
||||
public long? StartTimestamp { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 获取或设置流水产生的结束时间戳。
|
||||
/// </summary>
|
||||
[Newtonsoft.Json.JsonProperty("end_time")]
|
||||
[System.Text.Json.Serialization.JsonPropertyName("end_time")]
|
||||
public long EndTimestamp { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 获取或设置分页页数。
|
||||
/// </summary>
|
||||
[Newtonsoft.Json.JsonProperty("page")]
|
||||
[System.Text.Json.Serialization.JsonPropertyName("page")]
|
||||
public int? Page { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 获取或设置分页每页数量。
|
||||
/// <para>默认值:10</para>
|
||||
/// </summary>
|
||||
[Newtonsoft.Json.JsonProperty("page_size")]
|
||||
[System.Text.Json.Serialization.JsonPropertyName("page_size")]
|
||||
public int Limit { get; set; } = 10;
|
||||
|
||||
/// <summary>
|
||||
/// 获取或设置翻页标记。
|
||||
/// </summary>
|
||||
[Newtonsoft.Json.JsonProperty("next_key")]
|
||||
[System.Text.Json.Serialization.JsonPropertyName("next_key")]
|
||||
public string? Cursor { get; set; }
|
||||
}
|
||||
}
|
@@ -0,0 +1,29 @@
|
||||
namespace SKIT.FlurlHttpClient.Wechat.Api.Models
|
||||
{
|
||||
/// <summary>
|
||||
/// <para>表示 [POST] /channels/ec/funds/getfundsflowlist 接口的响应。</para>
|
||||
/// </summary>
|
||||
public class ChannelsECFundsGetFundsFlowListResponse : WechatApiResponse
|
||||
{
|
||||
/// <summary>
|
||||
/// 获取或设置流水单号列表。
|
||||
/// </summary>
|
||||
[Newtonsoft.Json.JsonProperty("flow_ids")]
|
||||
[System.Text.Json.Serialization.JsonPropertyName("flow_ids")]
|
||||
public string[] FlowIdList { get; set; } = default!;
|
||||
|
||||
/// <summary>
|
||||
/// 获取或设置是否还有更多。
|
||||
/// </summary>
|
||||
[Newtonsoft.Json.JsonProperty("has_more")]
|
||||
[System.Text.Json.Serialization.JsonPropertyName("has_more")]
|
||||
public bool HasMore { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 获取或设置翻页标记。
|
||||
/// </summary>
|
||||
[Newtonsoft.Json.JsonProperty("next_key")]
|
||||
[System.Text.Json.Serialization.JsonPropertyName("next_key")]
|
||||
public string? NextCursor { get; set; }
|
||||
}
|
||||
}
|
@@ -68,6 +68,37 @@ namespace SKIT.FlurlHttpClient.Wechat.Api.Models
|
||||
[System.Text.Json.Serialization.JsonPropertyName("user_coupon_id")]
|
||||
public string? UserCouponId { get; set; }
|
||||
}
|
||||
|
||||
public class Voucher
|
||||
{
|
||||
/// <summary>
|
||||
/// 获取或设置团购优惠券码。
|
||||
/// </summary>
|
||||
[Newtonsoft.Json.JsonProperty("voucher_code")]
|
||||
[System.Text.Json.Serialization.JsonPropertyName("voucher_code")]
|
||||
public string VoucherCode { get; set; } = default!;
|
||||
|
||||
/// <summary>
|
||||
/// 获取或设置团购优惠券类型。
|
||||
/// </summary>
|
||||
[Newtonsoft.Json.JsonProperty("voucher_type")]
|
||||
[System.Text.Json.Serialization.JsonPropertyName("voucher_type")]
|
||||
public int VoucherType { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 获取或设置团购优惠券价格(单位:分)。
|
||||
/// </summary>
|
||||
[Newtonsoft.Json.JsonProperty("voucher_buy_amount")]
|
||||
[System.Text.Json.Serialization.JsonPropertyName("voucher_buy_amount")]
|
||||
public int VoucherBuyAmount { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 获取或设置次卡序号标识。
|
||||
/// </summary>
|
||||
[Newtonsoft.Json.JsonProperty("time_index")]
|
||||
[System.Text.Json.Serialization.JsonPropertyName("time_index")]
|
||||
public int? TimeIndex { get; set; }
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
@@ -239,6 +270,13 @@ namespace SKIT.FlurlHttpClient.Wechat.Api.Models
|
||||
[Newtonsoft.Json.JsonProperty("delivery_deadline")]
|
||||
[System.Text.Json.Serialization.JsonPropertyName("delivery_deadline")]
|
||||
public long? DeliveryDeadlineTimestamp { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 获取或设置团购优惠列表。
|
||||
/// </summary>
|
||||
[Newtonsoft.Json.JsonProperty("voucher_list")]
|
||||
[System.Text.Json.Serialization.JsonPropertyName("voucher_list")]
|
||||
public Types.Voucher[]? VoucherList { get; set; }
|
||||
}
|
||||
|
||||
public class Payment
|
||||
|
@@ -34,7 +34,7 @@ namespace SKIT.FlurlHttpClient.Wechat.Api.Models
|
||||
/// </summary>
|
||||
[Newtonsoft.Json.JsonProperty("cat_id")]
|
||||
[System.Text.Json.Serialization.JsonPropertyName("cat_id")]
|
||||
public int CategoryId { get; set; }
|
||||
public long CategoryId { get; set; }
|
||||
}
|
||||
|
||||
public class Attribute
|
||||
@@ -398,7 +398,7 @@ namespace SKIT.FlurlHttpClient.Wechat.Api.Models
|
||||
/// </summary>
|
||||
[Newtonsoft.Json.JsonProperty("spu_code")]
|
||||
[System.Text.Json.Serialization.JsonPropertyName("spu_code")]
|
||||
public string? ApuCode { get; set; }
|
||||
public string? SpuCode { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 获取或设置品牌 ID。
|
||||
|
@@ -36,7 +36,7 @@ namespace SKIT.FlurlHttpClient.Wechat.Api.Models
|
||||
[Newtonsoft.Json.JsonProperty("cat_id")]
|
||||
[System.Text.Json.Serialization.JsonPropertyName("cat_id")]
|
||||
[System.Text.Json.Serialization.JsonNumberHandling(System.Text.Json.Serialization.JsonNumberHandling.AllowReadingFromString)]
|
||||
public int CategoryId { get; set; }
|
||||
public long CategoryId { get; set; }
|
||||
}
|
||||
|
||||
public class Attribute
|
||||
@@ -425,7 +425,7 @@ namespace SKIT.FlurlHttpClient.Wechat.Api.Models
|
||||
/// </summary>
|
||||
[Newtonsoft.Json.JsonProperty("spu_code")]
|
||||
[System.Text.Json.Serialization.JsonPropertyName("spu_code")]
|
||||
public string? ApuCode { get; set; }
|
||||
public string? SpuCode { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 获取或设置品牌 ID。
|
||||
|
@@ -183,7 +183,7 @@ namespace SKIT.FlurlHttpClient.Wechat.Api.Models
|
||||
/// </summary>
|
||||
[Newtonsoft.Json.JsonProperty("spu_code")]
|
||||
[System.Text.Json.Serialization.JsonPropertyName("spu_code")]
|
||||
public string? ApuCode { get; set; }
|
||||
public string? SpuCode { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 获取或设置品牌 ID。
|
||||
|
@@ -0,0 +1,135 @@
|
||||
using System.Collections.Generic;
|
||||
|
||||
namespace SKIT.FlurlHttpClient.Wechat.Api.Models
|
||||
{
|
||||
/// <summary>
|
||||
/// <para>表示 [POST] /channels/ec/product/locallife/add 接口的请求。</para>
|
||||
/// </summary>
|
||||
public class ChannelsECProductLocalLifeAddRequest : WechatApiRequest, IInferable<ChannelsECProductLocalLifeAddRequest, ChannelsECProductLocalLifeAddResponse>
|
||||
{
|
||||
public static class Types
|
||||
{
|
||||
public class Qualification : ChannelsECProductAddRequest.Types.Qualification
|
||||
{
|
||||
}
|
||||
|
||||
public class MiniProgramPage
|
||||
{
|
||||
/// <summary>
|
||||
/// 获取或设置小程序 AppId。
|
||||
/// </summary>
|
||||
[Newtonsoft.Json.JsonProperty("appid")]
|
||||
[System.Text.Json.Serialization.JsonPropertyName("appid")]
|
||||
public string AppId { get; set; } = string.Empty;
|
||||
|
||||
/// <summary>
|
||||
/// 获取或设置小程序页面路径。
|
||||
/// </summary>
|
||||
[Newtonsoft.Json.JsonProperty("path")]
|
||||
[System.Text.Json.Serialization.JsonPropertyName("path")]
|
||||
public string PagePath { get; set; } = string.Empty;
|
||||
}
|
||||
|
||||
public class SKU
|
||||
{
|
||||
/// <summary>
|
||||
/// 获取或设置售价(单位:分)。
|
||||
/// </summary>
|
||||
[Newtonsoft.Json.JsonProperty("sale_price")]
|
||||
[System.Text.Json.Serialization.JsonPropertyName("sale_price")]
|
||||
public int SalePrice { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 获取或设置属性字典。
|
||||
/// </summary>
|
||||
[Newtonsoft.Json.JsonProperty("sku_attr_map")]
|
||||
[System.Text.Json.Serialization.JsonPropertyName("sku_attr_map")]
|
||||
public IDictionary<string, string>? AttributeKeyValueMap { get; set; }
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 获取或设置商家自定义商品 ID。
|
||||
/// </summary>
|
||||
[Newtonsoft.Json.JsonProperty("out_product_id")]
|
||||
[System.Text.Json.Serialization.JsonPropertyName("out_product_id")]
|
||||
public string? OutProductId { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 获取或设置券类型。
|
||||
/// </summary>
|
||||
[Newtonsoft.Json.JsonProperty("product_type")]
|
||||
[System.Text.Json.Serialization.JsonPropertyName("product_type")]
|
||||
public int ProductType { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 获取或设置名称。
|
||||
/// </summary>
|
||||
[Newtonsoft.Json.JsonProperty("product_name")]
|
||||
[System.Text.Json.Serialization.JsonPropertyName("product_name")]
|
||||
public string ProductName { get; set; } = string.Empty;
|
||||
|
||||
/// <summary>
|
||||
/// 获取或设置商品三级类目 ID。
|
||||
/// </summary>
|
||||
[Newtonsoft.Json.JsonProperty("category_id")]
|
||||
[System.Text.Json.Serialization.JsonPropertyName("category_id")]
|
||||
public long ThirdCategoryId { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 获取或设置品牌 ID。
|
||||
/// </summary>
|
||||
[Newtonsoft.Json.JsonProperty("brand_id")]
|
||||
[System.Text.Json.Serialization.JsonPropertyName("brand_id")]
|
||||
public long BrandId { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 获取或设置主图 URL 列表。
|
||||
/// </summary>
|
||||
[Newtonsoft.Json.JsonProperty("head_imgs")]
|
||||
[System.Text.Json.Serialization.JsonPropertyName("head_imgs")]
|
||||
public IList<string> HeadImageUrlList { get; set; } = new List<string>();
|
||||
|
||||
/// <summary>
|
||||
/// 获取或设置商品资质列表。
|
||||
/// </summary>
|
||||
[Newtonsoft.Json.JsonProperty("product_qua_infos")]
|
||||
[System.Text.Json.Serialization.JsonPropertyName("product_qua_infos")]
|
||||
public IList<Types.Qualification>? ProductQualificationList { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 获取或设置核销跳转出口小程序页面信息。
|
||||
/// </summary>
|
||||
[Newtonsoft.Json.JsonProperty("verify_page")]
|
||||
[System.Text.Json.Serialization.JsonPropertyName("verify_page")]
|
||||
public Types.MiniProgramPage? VerifyPage { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 获取或设置到店核销类型。
|
||||
/// </summary>
|
||||
[Newtonsoft.Json.JsonProperty("verify_at_store")]
|
||||
[System.Text.Json.Serialization.JsonPropertyName("verify_at_store")]
|
||||
public int? VerifyAtStoreType { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 获取或设置券码来源类型。
|
||||
/// </summary>
|
||||
[Newtonsoft.Json.JsonProperty("code_source_type")]
|
||||
[System.Text.Json.Serialization.JsonPropertyName("code_source_type")]
|
||||
public int CodeSourceType { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 获取或设置商品属性字典。
|
||||
/// </summary>
|
||||
[Newtonsoft.Json.JsonProperty("attr_kv_map")]
|
||||
[System.Text.Json.Serialization.JsonPropertyName("attr_kv_map")]
|
||||
public IDictionary<string, string> AttributeKeyValueMap { get; set; } = new Dictionary<string, string>();
|
||||
|
||||
/// <summary>
|
||||
/// 获取或设置 SKU 列表。
|
||||
/// </summary>
|
||||
[Newtonsoft.Json.JsonProperty("skus")]
|
||||
[System.Text.Json.Serialization.JsonPropertyName("skus")]
|
||||
public IList<Types.SKU> SKUList { get; set; } = new List<Types.SKU>();
|
||||
}
|
||||
}
|
@@ -0,0 +1,37 @@
|
||||
namespace SKIT.FlurlHttpClient.Wechat.Api.Models
|
||||
{
|
||||
/// <summary>
|
||||
/// <para>表示 [POST] /channels/ec/product/locallife/add 接口的响应。</para>
|
||||
/// </summary>
|
||||
public class ChannelsECProductLocalLifeAddResponse : WechatApiResponse
|
||||
{
|
||||
public static class Types
|
||||
{
|
||||
public class Data
|
||||
{
|
||||
/// <summary>
|
||||
/// 获取或设置商品 ID。
|
||||
/// </summary>
|
||||
[Newtonsoft.Json.JsonProperty("product_id")]
|
||||
[System.Text.Json.Serialization.JsonPropertyName("product_id")]
|
||||
[System.Text.Json.Serialization.JsonNumberHandling(System.Text.Json.Serialization.JsonNumberHandling.AllowReadingFromString)]
|
||||
public long ProductId { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 获取或设置 SKU ID 列表。
|
||||
/// </summary>
|
||||
[Newtonsoft.Json.JsonProperty("sku_ids")]
|
||||
[System.Text.Json.Serialization.JsonPropertyName("sku_ids")]
|
||||
[System.Text.Json.Serialization.JsonNumberHandling(System.Text.Json.Serialization.JsonNumberHandling.AllowReadingFromString)]
|
||||
public long[] SKUIdList { get; set; } = default!;
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 获取或设置返回数据。
|
||||
/// </summary>
|
||||
[Newtonsoft.Json.JsonProperty("data")]
|
||||
[System.Text.Json.Serialization.JsonPropertyName("data")]
|
||||
public Types.Data Data { get; set; } = default!;
|
||||
}
|
||||
}
|
@@ -0,0 +1,44 @@
|
||||
using System.Collections.Generic;
|
||||
|
||||
namespace SKIT.FlurlHttpClient.Wechat.Api.Models
|
||||
{
|
||||
/// <summary>
|
||||
/// <para>表示 [POST] /channels/ec/product/locallife/auditfree 接口的请求。</para>
|
||||
/// </summary>
|
||||
public class ChannelsECProductLocalLifeAuditFreeRequest : WechatApiRequest, IInferable<ChannelsECProductLocalLifeAuditFreeRequest, ChannelsECProductLocalLifeAuditFreeResponse>
|
||||
{
|
||||
public static class Types
|
||||
{
|
||||
public class SKU
|
||||
{
|
||||
/// <summary>
|
||||
/// 获取或设置 SKU ID。
|
||||
/// </summary>
|
||||
[Newtonsoft.Json.JsonProperty("sku_id")]
|
||||
[System.Text.Json.Serialization.JsonPropertyName("sku_id")]
|
||||
public long SKUId { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 获取或设置售价(单位:分)。
|
||||
/// </summary>
|
||||
[Newtonsoft.Json.JsonProperty("sale_price")]
|
||||
[System.Text.Json.Serialization.JsonPropertyName("sale_price")]
|
||||
public int SalePrice { get; set; }
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 获取或设置商品 ID。
|
||||
/// </summary>
|
||||
[Newtonsoft.Json.JsonProperty("product_id")]
|
||||
[System.Text.Json.Serialization.JsonPropertyName("product_id")]
|
||||
public long ProductId { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 获取或设置 SKU 列表。
|
||||
/// </summary>
|
||||
[Newtonsoft.Json.JsonProperty("skus")]
|
||||
[System.Text.Json.Serialization.JsonPropertyName("skus")]
|
||||
public IList<Types.SKU> SKUList { get; set; } = new List<Types.SKU>();
|
||||
}
|
||||
}
|
@@ -0,0 +1,9 @@
|
||||
namespace SKIT.FlurlHttpClient.Wechat.Api.Models
|
||||
{
|
||||
/// <summary>
|
||||
/// <para>表示 [POST] /channels/ec/product/locallife/auditfree 接口的响应。</para>
|
||||
/// </summary>
|
||||
public class ChannelsECProductLocalLifeAuditFreeResponse : WechatApiResponse
|
||||
{
|
||||
}
|
||||
}
|
@@ -0,0 +1,22 @@
|
||||
namespace SKIT.FlurlHttpClient.Wechat.Api.Models
|
||||
{
|
||||
/// <summary>
|
||||
/// <para>表示 [POST] /channels/ec/product/locallife/get 接口的请求。</para>
|
||||
/// </summary>
|
||||
public class ChannelsECProductLocalLifeGetRequest : WechatApiRequest, IInferable<ChannelsECProductLocalLifeGetRequest, ChannelsECProductLocalLifeGetResponse>
|
||||
{
|
||||
/// <summary>
|
||||
/// 获取或设置商品 ID。
|
||||
/// </summary>
|
||||
[Newtonsoft.Json.JsonProperty("product_id")]
|
||||
[System.Text.Json.Serialization.JsonPropertyName("product_id")]
|
||||
public long ProductId { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 获取或设置数据类型。
|
||||
/// </summary>
|
||||
[Newtonsoft.Json.JsonProperty("data_type")]
|
||||
[System.Text.Json.Serialization.JsonPropertyName("data_type")]
|
||||
public int? DataType { get; set; }
|
||||
}
|
||||
}
|
@@ -0,0 +1,233 @@
|
||||
using System.Collections.Generic;
|
||||
|
||||
namespace SKIT.FlurlHttpClient.Wechat.Api.Models
|
||||
{
|
||||
/// <summary>
|
||||
/// <para>表示 [POST] /channels/ec/product/locallife/get 接口的响应。</para>
|
||||
/// </summary>
|
||||
public class ChannelsECProductLocalLifeGetResponse : WechatApiResponse
|
||||
{
|
||||
public static class Types
|
||||
{
|
||||
public class Product
|
||||
{
|
||||
public static class Types
|
||||
{
|
||||
public class Qualification : ChannelsECProductGetResponse.Types.Product.Types.Qualification
|
||||
{
|
||||
/// <summary>
|
||||
/// 获取或设置资质 ID。
|
||||
/// </summary>
|
||||
[Newtonsoft.Json.JsonProperty("qua_id")]
|
||||
[System.Text.Json.Serialization.JsonPropertyName("qua_id")]
|
||||
[System.Text.Json.Serialization.JsonNumberHandling(System.Text.Json.Serialization.JsonNumberHandling.AllowReadingFromString)]
|
||||
public long QualificationId { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 获取或设置资质图片 URL 列表。
|
||||
/// </summary>
|
||||
[Newtonsoft.Json.JsonProperty("qua_url")]
|
||||
[System.Text.Json.Serialization.JsonPropertyName("qua_url")]
|
||||
public string[] PictureUrlList { get; set; } = default!;
|
||||
}
|
||||
|
||||
public class MiniProgramPage
|
||||
{
|
||||
/// <summary>
|
||||
/// 获取或设置小程序 AppId。
|
||||
/// </summary>
|
||||
[Newtonsoft.Json.JsonProperty("appid")]
|
||||
[System.Text.Json.Serialization.JsonPropertyName("appid")]
|
||||
public string AppId { get; set; } = default!;
|
||||
|
||||
/// <summary>
|
||||
/// 获取或设置小程序页面路径。
|
||||
/// </summary>
|
||||
[Newtonsoft.Json.JsonProperty("path")]
|
||||
[System.Text.Json.Serialization.JsonPropertyName("path")]
|
||||
public string PagePath { get; set; } = default!;
|
||||
}
|
||||
|
||||
public class AuditResult
|
||||
{
|
||||
/// <summary>
|
||||
/// 获取或设置审核状态。
|
||||
/// </summary>
|
||||
[Newtonsoft.Json.JsonProperty("audit_status")]
|
||||
[System.Text.Json.Serialization.JsonPropertyName("audit_status")]
|
||||
public int AuditStatus { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 获取或设置失败原因。
|
||||
/// </summary>
|
||||
[Newtonsoft.Json.JsonProperty("audit_reason")]
|
||||
[System.Text.Json.Serialization.JsonPropertyName("audit_reason")]
|
||||
public string? RejectReason { get; set; }
|
||||
}
|
||||
|
||||
public class SKU
|
||||
{
|
||||
/// <summary>
|
||||
/// 获取或设置 SKU ID。
|
||||
/// </summary>
|
||||
[Newtonsoft.Json.JsonProperty("sku_id")]
|
||||
[System.Text.Json.Serialization.JsonPropertyName("sku_id")]
|
||||
[System.Text.Json.Serialization.JsonNumberHandling(System.Text.Json.Serialization.JsonNumberHandling.AllowReadingFromString)]
|
||||
public long SKUId { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 获取或设置售价(单位:分)。
|
||||
/// </summary>
|
||||
[Newtonsoft.Json.JsonProperty("sale_price")]
|
||||
[System.Text.Json.Serialization.JsonPropertyName("sale_price")]
|
||||
public int SalePrice { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 获取或设置库存。
|
||||
/// </summary>
|
||||
[Newtonsoft.Json.JsonProperty("stock_num")]
|
||||
[System.Text.Json.Serialization.JsonPropertyName("stock_num")]
|
||||
public int Stock { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 获取或设置属性字典。
|
||||
/// </summary>
|
||||
[Newtonsoft.Json.JsonProperty("sku_attr_map")]
|
||||
[System.Text.Json.Serialization.JsonPropertyName("sku_attr_map")]
|
||||
public IDictionary<string, string>? AttributeKeyValueMap { get; set; }
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 获取或设置商品 ID。
|
||||
/// </summary>
|
||||
[Newtonsoft.Json.JsonProperty("product_id")]
|
||||
[System.Text.Json.Serialization.JsonPropertyName("product_id")]
|
||||
[System.Text.Json.Serialization.JsonNumberHandling(System.Text.Json.Serialization.JsonNumberHandling.AllowReadingFromString)]
|
||||
public long ProductId { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 获取或设置商家自定义商品 ID。
|
||||
/// </summary>
|
||||
[Newtonsoft.Json.JsonProperty("out_product_id")]
|
||||
[System.Text.Json.Serialization.JsonPropertyName("out_product_id")]
|
||||
public string? OutProductId { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 获取或设置券类型。
|
||||
/// </summary>
|
||||
[Newtonsoft.Json.JsonProperty("product_type")]
|
||||
[System.Text.Json.Serialization.JsonPropertyName("product_type")]
|
||||
public int ProductType { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 获取或设置名称。
|
||||
/// </summary>
|
||||
[Newtonsoft.Json.JsonProperty("product_name")]
|
||||
[System.Text.Json.Serialization.JsonPropertyName("product_name")]
|
||||
public string ProductName { get; set; } = default!;
|
||||
|
||||
/// <summary>
|
||||
/// 获取或设置主图 URL 列表。
|
||||
/// </summary>
|
||||
[Newtonsoft.Json.JsonProperty("head_imgs")]
|
||||
[System.Text.Json.Serialization.JsonPropertyName("head_imgs")]
|
||||
public string[] HeadImageUrlList { get; set; } = default!;
|
||||
|
||||
/// <summary>
|
||||
/// 获取或设置商品三级类目 ID。
|
||||
/// </summary>
|
||||
[Newtonsoft.Json.JsonProperty("category_id")]
|
||||
[System.Text.Json.Serialization.JsonPropertyName("category_id")]
|
||||
[System.Text.Json.Serialization.JsonNumberHandling(System.Text.Json.Serialization.JsonNumberHandling.AllowReadingFromString)]
|
||||
public long ThirdCategoryId { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 获取或设置品牌 ID。
|
||||
/// </summary>
|
||||
[Newtonsoft.Json.JsonProperty("brand_id")]
|
||||
[System.Text.Json.Serialization.JsonPropertyName("brand_id")]
|
||||
[System.Text.Json.Serialization.JsonNumberHandling(System.Text.Json.Serialization.JsonNumberHandling.AllowReadingFromString)]
|
||||
public long BrandId { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 获取或设置商品上线状态。
|
||||
/// </summary>
|
||||
[Newtonsoft.Json.JsonProperty("online_status")]
|
||||
[System.Text.Json.Serialization.JsonPropertyName("online_status")]
|
||||
public int OnlineStatus { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 获取或设置商品草稿状态。
|
||||
/// </summary>
|
||||
[Newtonsoft.Json.JsonProperty("draft_status")]
|
||||
[System.Text.Json.Serialization.JsonPropertyName("draft_status")]
|
||||
public int DraftStatus { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 获取或设置商品资质列表。
|
||||
/// </summary>
|
||||
[Newtonsoft.Json.JsonProperty("product_qua_infos")]
|
||||
[System.Text.Json.Serialization.JsonPropertyName("product_qua_infos")]
|
||||
public Types.Qualification[]? QualificationList { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 获取或设置核销跳转出口小程序页面信息。
|
||||
/// </summary>
|
||||
[Newtonsoft.Json.JsonProperty("verify_page")]
|
||||
[System.Text.Json.Serialization.JsonPropertyName("verify_page")]
|
||||
public Types.MiniProgramPage? VerifyPage { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 获取或设置到店核销类型。
|
||||
/// </summary>
|
||||
[Newtonsoft.Json.JsonProperty("verify_at_store")]
|
||||
[System.Text.Json.Serialization.JsonPropertyName("verify_at_store")]
|
||||
public int? VerifyAtStoreType { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 获取或设置券码来源类型。
|
||||
/// </summary>
|
||||
[Newtonsoft.Json.JsonProperty("code_source_type")]
|
||||
[System.Text.Json.Serialization.JsonPropertyName("code_source_type")]
|
||||
public int CodeSourceType { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 获取或设置商品属性字典。
|
||||
/// </summary>
|
||||
[Newtonsoft.Json.JsonProperty("attr_kv_map")]
|
||||
[System.Text.Json.Serialization.JsonPropertyName("attr_kv_map")]
|
||||
public IDictionary<string, string> AttributeKeyValueMap { get; set; } = default!;
|
||||
|
||||
/// <summary>
|
||||
/// 获取或设置审核结果信息。
|
||||
/// </summary>
|
||||
[Newtonsoft.Json.JsonProperty("audit_result")]
|
||||
[System.Text.Json.Serialization.JsonPropertyName("audit_result")]
|
||||
public Types.AuditResult? AuditResult { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 获取或设置 SKU 列表。
|
||||
/// </summary>
|
||||
[Newtonsoft.Json.JsonProperty("skus")]
|
||||
[System.Text.Json.Serialization.JsonPropertyName("skus")]
|
||||
public Types.SKU[] SKUList { get; set; } = default!;
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 获取或设置线上商品信息。
|
||||
/// </summary>
|
||||
[Newtonsoft.Json.JsonProperty("online_data")]
|
||||
[System.Text.Json.Serialization.JsonPropertyName("online_data")]
|
||||
public Types.Product? OnlineProduct { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 获取或设置草稿商品信息。
|
||||
/// </summary>
|
||||
[Newtonsoft.Json.JsonProperty("draft_data")]
|
||||
[System.Text.Json.Serialization.JsonPropertyName("draft_data")]
|
||||
public Types.Product? DraftProduct { get; set; }
|
||||
}
|
||||
}
|
@@ -0,0 +1,30 @@
|
||||
namespace SKIT.FlurlHttpClient.Wechat.Api.Models
|
||||
{
|
||||
/// <summary>
|
||||
/// <para>表示 [POST] /channels/ec/product/locallife/list/get 接口的请求。</para>
|
||||
/// </summary>
|
||||
public class ChannelsECProductLocalLifeListGetRequest : WechatApiRequest, IInferable<ChannelsECProductLocalLifeListGetRequest, ChannelsECProductLocalLifeListGetResponse>
|
||||
{
|
||||
/// <summary>
|
||||
/// 获取或设置商品状态。
|
||||
/// </summary>
|
||||
[Newtonsoft.Json.JsonProperty("status")]
|
||||
[System.Text.Json.Serialization.JsonPropertyName("status")]
|
||||
public int? Status { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 获取或设置翻页标记。
|
||||
/// </summary>
|
||||
[Newtonsoft.Json.JsonProperty("next_key")]
|
||||
[System.Text.Json.Serialization.JsonPropertyName("next_key")]
|
||||
public string? Cursor { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 获取或设置分页每页数量。
|
||||
/// <para>默认值:10</para>
|
||||
/// </summary>
|
||||
[Newtonsoft.Json.JsonProperty("page_size")]
|
||||
[System.Text.Json.Serialization.JsonPropertyName("page_size")]
|
||||
public int Limit { get; set; } = 10;
|
||||
}
|
||||
}
|
@@ -0,0 +1,30 @@
|
||||
namespace SKIT.FlurlHttpClient.Wechat.Api.Models
|
||||
{
|
||||
/// <summary>
|
||||
/// <para>表示 [POST] /channels/ec/product/locallife/list/get 接口的响应。</para>
|
||||
/// </summary>
|
||||
public class ChannelsECProductLocalLifeListGetResponse : WechatApiResponse
|
||||
{
|
||||
/// <summary>
|
||||
/// 获取或设置商品 ID 列表。
|
||||
/// </summary>
|
||||
[Newtonsoft.Json.JsonProperty("product_ids")]
|
||||
[System.Text.Json.Serialization.JsonPropertyName("product_ids")]
|
||||
[System.Text.Json.Serialization.JsonNumberHandling(System.Text.Json.Serialization.JsonNumberHandling.AllowReadingFromString)]
|
||||
public long[] ProductIdList { get; set; } = default!;
|
||||
|
||||
/// <summary>
|
||||
/// 获取或设置翻页标记。
|
||||
/// </summary>
|
||||
[Newtonsoft.Json.JsonProperty("next_key")]
|
||||
[System.Text.Json.Serialization.JsonPropertyName("next_key")]
|
||||
public string? NextCursor { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 获取或设置总数量。
|
||||
/// </summary>
|
||||
[Newtonsoft.Json.JsonProperty("total_num")]
|
||||
[System.Text.Json.Serialization.JsonPropertyName("total_num")]
|
||||
public int TotalCount { get; set; }
|
||||
}
|
||||
}
|
@@ -0,0 +1,122 @@
|
||||
using System.Collections.Generic;
|
||||
|
||||
namespace SKIT.FlurlHttpClient.Wechat.Api.Models
|
||||
{
|
||||
/// <summary>
|
||||
/// <para>表示 [POST] /channels/ec/product/locallife/update 接口的请求。</para>
|
||||
/// </summary>
|
||||
public class ChannelsECProductLocalLifeUpdateRequest : WechatApiRequest, IInferable<ChannelsECProductLocalLifeUpdateRequest, ChannelsECProductLocalLifeUpdateResponse>
|
||||
{
|
||||
public static class Types
|
||||
{
|
||||
public class Qualification : ChannelsECProductLocalLifeAddRequest.Types.Qualification
|
||||
{
|
||||
}
|
||||
|
||||
public class MiniProgramPage : ChannelsECProductLocalLifeAddRequest.Types.MiniProgramPage
|
||||
{
|
||||
}
|
||||
|
||||
public class SKU : ChannelsECProductLocalLifeAddRequest.Types.SKU
|
||||
{
|
||||
/// <summary>
|
||||
/// 获取或设置 SKU ID。
|
||||
/// </summary>
|
||||
[Newtonsoft.Json.JsonProperty("sku_id")]
|
||||
[System.Text.Json.Serialization.JsonPropertyName("sku_id")]
|
||||
public long SKUId { get; set; }
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 获取或设置商品 ID。
|
||||
/// </summary>
|
||||
[Newtonsoft.Json.JsonProperty("product_id")]
|
||||
[System.Text.Json.Serialization.JsonPropertyName("product_id")]
|
||||
public long ProductId { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 获取或设置商家自定义商品 ID。
|
||||
/// </summary>
|
||||
[Newtonsoft.Json.JsonProperty("out_product_id")]
|
||||
[System.Text.Json.Serialization.JsonPropertyName("out_product_id")]
|
||||
public string? OutProductId { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 获取或设置券类型。
|
||||
/// </summary>
|
||||
[Newtonsoft.Json.JsonProperty("product_type")]
|
||||
[System.Text.Json.Serialization.JsonPropertyName("product_type")]
|
||||
public int ProductType { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 获取或设置名称。
|
||||
/// </summary>
|
||||
[Newtonsoft.Json.JsonProperty("product_name")]
|
||||
[System.Text.Json.Serialization.JsonPropertyName("product_name")]
|
||||
public string ProductName { get; set; } = string.Empty;
|
||||
|
||||
/// <summary>
|
||||
/// 获取或设置商品三级类目 ID。
|
||||
/// </summary>
|
||||
[Newtonsoft.Json.JsonProperty("category_id")]
|
||||
[System.Text.Json.Serialization.JsonPropertyName("category_id")]
|
||||
public long ThirdCategoryId { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 获取或设置品牌 ID。
|
||||
/// </summary>
|
||||
[Newtonsoft.Json.JsonProperty("brand_id")]
|
||||
[System.Text.Json.Serialization.JsonPropertyName("brand_id")]
|
||||
public long BrandId { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 获取或设置主图 URL 列表。
|
||||
/// </summary>
|
||||
[Newtonsoft.Json.JsonProperty("head_imgs")]
|
||||
[System.Text.Json.Serialization.JsonPropertyName("head_imgs")]
|
||||
public IList<string> HeadImageUrlList { get; set; } = new List<string>();
|
||||
|
||||
/// <summary>
|
||||
/// 获取或设置商品资质列表。
|
||||
/// </summary>
|
||||
[Newtonsoft.Json.JsonProperty("product_qua_infos")]
|
||||
[System.Text.Json.Serialization.JsonPropertyName("product_qua_infos")]
|
||||
public IList<Types.Qualification>? ProductQualificationList { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 获取或设置核销跳转出口小程序页面信息。
|
||||
/// </summary>
|
||||
[Newtonsoft.Json.JsonProperty("verify_page")]
|
||||
[System.Text.Json.Serialization.JsonPropertyName("verify_page")]
|
||||
public Types.MiniProgramPage? VerifyPage { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 获取或设置到店核销类型。
|
||||
/// </summary>
|
||||
[Newtonsoft.Json.JsonProperty("verify_at_store")]
|
||||
[System.Text.Json.Serialization.JsonPropertyName("verify_at_store")]
|
||||
public int? VerifyAtStoreType { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 获取或设置券码来源类型。
|
||||
/// </summary>
|
||||
[Newtonsoft.Json.JsonProperty("code_source_type")]
|
||||
[System.Text.Json.Serialization.JsonPropertyName("code_source_type")]
|
||||
public int CodeSourceType { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 获取或设置商品属性字典。
|
||||
/// </summary>
|
||||
[Newtonsoft.Json.JsonProperty("attr_kv_map")]
|
||||
[System.Text.Json.Serialization.JsonPropertyName("attr_kv_map")]
|
||||
public IDictionary<string, string> AttributeKeyValueMap { get; set; } = new Dictionary<string, string>();
|
||||
|
||||
/// <summary>
|
||||
/// 获取或设置 SKU 列表。
|
||||
/// </summary>
|
||||
[Newtonsoft.Json.JsonProperty("skus")]
|
||||
[System.Text.Json.Serialization.JsonPropertyName("skus")]
|
||||
public IList<Types.SKU> SKUList { get; set; } = new List<Types.SKU>();
|
||||
}
|
||||
}
|
@@ -0,0 +1,9 @@
|
||||
namespace SKIT.FlurlHttpClient.Wechat.Api.Models
|
||||
{
|
||||
/// <summary>
|
||||
/// <para>表示 [POST] /channels/ec/product/locallife/update 接口的响应。</para>
|
||||
/// </summary>
|
||||
public class ChannelsECProductLocalLifeUpdateResponse : WechatApiResponse
|
||||
{
|
||||
}
|
||||
}
|
@@ -0,0 +1,37 @@
|
||||
namespace SKIT.FlurlHttpClient.Wechat.Api.Models
|
||||
{
|
||||
/// <summary>
|
||||
/// <para>表示 [POST] /channels/ec/voucher/get_bill_list 接口的请求。</para>
|
||||
/// </summary>
|
||||
public class ChannelsECVoucherGetBillListRequest : WechatApiRequest, IInferable<ChannelsECVoucherGetBillListRequest, ChannelsECVoucherGetBillListResponse>
|
||||
{
|
||||
/// <summary>
|
||||
/// 获取或设置商品 ID。
|
||||
/// </summary>
|
||||
[Newtonsoft.Json.JsonProperty("product_id")]
|
||||
[System.Text.Json.Serialization.JsonPropertyName("product_id")]
|
||||
public long ProductId { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 获取或设置账单日期字符串(格式:yyyy-MM-dd)。
|
||||
/// </summary>
|
||||
[Newtonsoft.Json.JsonProperty("bill_date")]
|
||||
[System.Text.Json.Serialization.JsonPropertyName("bill_date")]
|
||||
public string BillDateString { get; set; } = string.Empty;
|
||||
|
||||
/// <summary>
|
||||
/// 获取或设置分页每页数量。
|
||||
/// <para>默认值:10</para>
|
||||
/// </summary>
|
||||
[Newtonsoft.Json.JsonProperty("page_size")]
|
||||
[System.Text.Json.Serialization.JsonPropertyName("page_size")]
|
||||
public int Limit { get; set; } = 10;
|
||||
|
||||
/// <summary>
|
||||
/// 获取或设置翻页标记。
|
||||
/// </summary>
|
||||
[Newtonsoft.Json.JsonProperty("page_ctx")]
|
||||
[System.Text.Json.Serialization.JsonPropertyName("page_ctx")]
|
||||
public string? Cursor { get; set; }
|
||||
}
|
||||
}
|
@@ -0,0 +1,141 @@
|
||||
namespace SKIT.FlurlHttpClient.Wechat.Api.Models
|
||||
{
|
||||
/// <summary>
|
||||
/// <para>表示 [POST] /channels/ec/voucher/get_bill_list 接口的响应。</para>
|
||||
/// </summary>
|
||||
public class ChannelsECVoucherGetBillListResponse : WechatApiResponse
|
||||
{
|
||||
public static class Types
|
||||
{
|
||||
public class VoucherBill
|
||||
{
|
||||
/// <summary>
|
||||
/// 获取或设置商品 ID。
|
||||
/// </summary>
|
||||
[Newtonsoft.Json.JsonProperty("product_id")]
|
||||
[System.Text.Json.Serialization.JsonPropertyName("product_id")]
|
||||
[System.Text.Json.Serialization.JsonNumberHandling(System.Text.Json.Serialization.JsonNumberHandling.AllowReadingFromString)]
|
||||
public long ProductId { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 获取或设置券名称。
|
||||
/// </summary>
|
||||
[Newtonsoft.Json.JsonProperty("voucher_name")]
|
||||
[System.Text.Json.Serialization.JsonPropertyName("voucher_name")]
|
||||
public string VoucherName { get; set; } = default!;
|
||||
|
||||
/// <summary>
|
||||
/// 获取或设置券码。
|
||||
/// </summary>
|
||||
[Newtonsoft.Json.JsonProperty("code")]
|
||||
[System.Text.Json.Serialization.JsonPropertyName("code")]
|
||||
public string VoucherCode { get; set; } = default!;
|
||||
|
||||
/// <summary>
|
||||
/// 获取或设置用户的 OpenId。
|
||||
/// </summary>
|
||||
[Newtonsoft.Json.JsonProperty("openid")]
|
||||
[System.Text.Json.Serialization.JsonPropertyName("openid")]
|
||||
public string OpenId { get; set; } = default!;
|
||||
|
||||
/// <summary>
|
||||
/// 获取或设置券售卖价格(单位:分)。
|
||||
/// </summary>
|
||||
[Newtonsoft.Json.JsonProperty("voucher_buy_amount")]
|
||||
[System.Text.Json.Serialization.JsonPropertyName("voucher_buy_amount")]
|
||||
public int VoucherBuyAmount { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 获取或设置用户支付金额金额(单位:分)。
|
||||
/// </summary>
|
||||
[Newtonsoft.Json.JsonProperty("voucher_pay_amount")]
|
||||
[System.Text.Json.Serialization.JsonPropertyName("voucher_pay_amount")]
|
||||
public int VoucherPayAmount { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 获取或设置商家优惠减价金额(单位:分)。
|
||||
/// </summary>
|
||||
[Newtonsoft.Json.JsonProperty("mch_favor_amount")]
|
||||
[System.Text.Json.Serialization.JsonPropertyName("mch_favor_amount")]
|
||||
public int MerchantFavorAmount { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 获取或设置平台优惠减价金额(单位:分)。
|
||||
/// </summary>
|
||||
[Newtonsoft.Json.JsonProperty("platform_favor_amount")]
|
||||
[System.Text.Json.Serialization.JsonPropertyName("platform_favor_amount")]
|
||||
public int PlatformFavorAmount { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 获取或设置商家已结算金额(单位:分)。
|
||||
/// </summary>
|
||||
[Newtonsoft.Json.JsonProperty("mch_settle_amount")]
|
||||
[System.Text.Json.Serialization.JsonPropertyName("mch_settle_amount")]
|
||||
public int MerchantSettleAmount { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 获取或设置达人已结算金额(单位:分)。
|
||||
/// </summary>
|
||||
[Newtonsoft.Json.JsonProperty("finder_settle_amount")]
|
||||
[System.Text.Json.Serialization.JsonPropertyName("finder_settle_amount")]
|
||||
public int FinderSettleAmount { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 获取或设置购买时间戳。
|
||||
/// </summary>
|
||||
[Newtonsoft.Json.JsonProperty("voucher_buy_time")]
|
||||
[System.Text.Json.Serialization.JsonPropertyName("voucher_buy_time")]
|
||||
public long BuyTimestamp { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 获取或设置核销时间戳。
|
||||
/// </summary>
|
||||
[Newtonsoft.Json.JsonProperty("consume_time")]
|
||||
[System.Text.Json.Serialization.JsonPropertyName("consume_time")]
|
||||
public long ConsumeTimestamp { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 获取或设置核销门店名称。
|
||||
/// </summary>
|
||||
[Newtonsoft.Json.JsonProperty("consume_store_name")]
|
||||
[System.Text.Json.Serialization.JsonPropertyName("consume_store_name")]
|
||||
public string? ConsumeStoreName { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 获取或设置核销门店外部 ID。
|
||||
/// </summary>
|
||||
[Newtonsoft.Json.JsonProperty("out_store_id")]
|
||||
[System.Text.Json.Serialization.JsonPropertyName("out_store_id")]
|
||||
public string? OutStoreId { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 获取或设置订单 ID。
|
||||
/// </summary>
|
||||
[Newtonsoft.Json.JsonProperty("order_id")]
|
||||
[System.Text.Json.Serialization.JsonPropertyName("order_id")]
|
||||
public string? OrderId { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 获取或设置次卡序号标识。
|
||||
/// </summary>
|
||||
[Newtonsoft.Json.JsonProperty("time_index")]
|
||||
[System.Text.Json.Serialization.JsonPropertyName("time_index")]
|
||||
public int? TimeIndex { get; set; }
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 获取或设置团购优惠券账单列表。
|
||||
/// </summary>
|
||||
[Newtonsoft.Json.JsonProperty("bill_list")]
|
||||
[System.Text.Json.Serialization.JsonPropertyName("bill_list")]
|
||||
public Types.VoucherBill[] VoucherBillList { get; set; } = default!;
|
||||
|
||||
/// <summary>
|
||||
/// 获取或设置翻页标记。
|
||||
/// </summary>
|
||||
[Newtonsoft.Json.JsonProperty("page_ctx")]
|
||||
[System.Text.Json.Serialization.JsonPropertyName("page_ctx")]
|
||||
public string? NextCursor { get; set; }
|
||||
}
|
||||
}
|
@@ -0,0 +1,59 @@
|
||||
using System.Collections.Generic;
|
||||
|
||||
namespace SKIT.FlurlHttpClient.Wechat.Api.Models
|
||||
{
|
||||
/// <summary>
|
||||
/// <para>表示 [POST] /channels/ec/voucher/consume 接口的请求。</para>
|
||||
/// </summary>
|
||||
public class ChannelsECVoucherConsumeRequest : WechatApiRequest, IInferable<ChannelsECVoucherConsumeRequest, ChannelsECVoucherConsumeResponse>
|
||||
{
|
||||
/// <summary>
|
||||
/// 获取或设置商户核销单号。
|
||||
/// </summary>
|
||||
[Newtonsoft.Json.JsonProperty("consume_request_no")]
|
||||
[System.Text.Json.Serialization.JsonPropertyName("consume_request_no")]
|
||||
public string ConsumeRequestNumber { get; set; } = string.Empty;
|
||||
|
||||
/// <summary>
|
||||
/// 获取或设置核销门店名称。
|
||||
/// </summary>
|
||||
[Newtonsoft.Json.JsonProperty("consume_store_name")]
|
||||
[System.Text.Json.Serialization.JsonPropertyName("consume_store_name")]
|
||||
public string? ConsumeStoreName { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 获取或设置核销渠道。
|
||||
/// </summary>
|
||||
[Newtonsoft.Json.JsonProperty("consume_channel")]
|
||||
[System.Text.Json.Serialization.JsonPropertyName("consume_channel")]
|
||||
public int? ConsumeChannel { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 获取或设置核销门店外部 ID。
|
||||
/// </summary>
|
||||
[Newtonsoft.Json.JsonProperty("out_store_id")]
|
||||
[System.Text.Json.Serialization.JsonPropertyName("out_store_id")]
|
||||
public string? OutStoreId { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 获取或设置加密的券码列表。
|
||||
/// </summary>
|
||||
[Newtonsoft.Json.JsonProperty("encrypted_codes")]
|
||||
[System.Text.Json.Serialization.JsonPropertyName("encrypted_codes")]
|
||||
public IList<string>? EncryptedCodeList { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 获取或设置券码列表。
|
||||
/// </summary>
|
||||
[Newtonsoft.Json.JsonProperty("codes")]
|
||||
[System.Text.Json.Serialization.JsonPropertyName("codes")]
|
||||
public IList<string>? CodeList { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 获取或设置 SKU ID。
|
||||
/// </summary>
|
||||
[Newtonsoft.Json.JsonProperty("sku_id")]
|
||||
[System.Text.Json.Serialization.JsonPropertyName("sku_id")]
|
||||
public long? SKUId { get; set; }
|
||||
}
|
||||
}
|
@@ -0,0 +1,67 @@
|
||||
namespace SKIT.FlurlHttpClient.Wechat.Api.Models
|
||||
{
|
||||
/// <summary>
|
||||
/// <para>表示 [POST] /channels/ec/voucher/consume 接口的响应。</para>
|
||||
/// </summary>
|
||||
public class ChannelsECVoucherConsumeResponse : WechatApiResponse
|
||||
{
|
||||
public static class Types
|
||||
{
|
||||
public class Voucher : ChannelsECVoucherGetListResponse.Types.Voucher
|
||||
{
|
||||
}
|
||||
|
||||
public class FailedVoucher
|
||||
{
|
||||
/// <summary>
|
||||
/// 获取或设置加密的券码。
|
||||
/// </summary>
|
||||
[Newtonsoft.Json.JsonProperty("encrypted_code")]
|
||||
[System.Text.Json.Serialization.JsonPropertyName("encrypted_code")]
|
||||
public string? EncryptedCode { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 获取或设置券码。
|
||||
/// </summary>
|
||||
[Newtonsoft.Json.JsonProperty("code")]
|
||||
[System.Text.Json.Serialization.JsonPropertyName("code")]
|
||||
public string? Code { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 获取或设置 SKU ID。
|
||||
/// </summary>
|
||||
[Newtonsoft.Json.JsonProperty("sku_id")]
|
||||
[System.Text.Json.Serialization.JsonPropertyName("sku_id")]
|
||||
public long? SKUId { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 获取或设置操作结果。
|
||||
/// </summary>
|
||||
[Newtonsoft.Json.JsonProperty("ret_code")]
|
||||
[System.Text.Json.Serialization.JsonPropertyName("ret_code")]
|
||||
public int ReturnCode { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 获取或设置操作结果说明。
|
||||
/// </summary>
|
||||
[Newtonsoft.Json.JsonProperty("ret_msg")]
|
||||
[System.Text.Json.Serialization.JsonPropertyName("ret_msg")]
|
||||
public string? ReturnMessage { get; set; }
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 获取或设置团购优惠券列表。
|
||||
/// </summary>
|
||||
[Newtonsoft.Json.JsonProperty("voucher_list")]
|
||||
[System.Text.Json.Serialization.JsonPropertyName("voucher_list")]
|
||||
public Types.Voucher[]? VoucherList { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 获取或设置核销失败的券列表。
|
||||
/// </summary>
|
||||
[Newtonsoft.Json.JsonProperty("fail_voucher_list")]
|
||||
[System.Text.Json.Serialization.JsonPropertyName("fail_voucher_list")]
|
||||
public Types.FailedVoucher[]? FailedVoucherList { get; set; }
|
||||
}
|
||||
}
|
@@ -0,0 +1,37 @@
|
||||
namespace SKIT.FlurlHttpClient.Wechat.Api.Models
|
||||
{
|
||||
/// <summary>
|
||||
/// <para>表示 [POST] /channels/ec/voucher/get_list 接口的请求。</para>
|
||||
/// </summary>
|
||||
public class ChannelsECVoucherGetListRequest : WechatApiRequest, IInferable<ChannelsECVoucherGetListRequest, ChannelsECVoucherGetListResponse>
|
||||
{
|
||||
/// <summary>
|
||||
/// 获取或设置用户的 OpenId。
|
||||
/// </summary>
|
||||
[Newtonsoft.Json.JsonProperty("openid")]
|
||||
[System.Text.Json.Serialization.JsonPropertyName("openid")]
|
||||
public string OpenId { get; set; } = string.Empty;
|
||||
|
||||
/// <summary>
|
||||
/// 获取或设置团购优惠券状态。
|
||||
/// </summary>
|
||||
[Newtonsoft.Json.JsonProperty("status")]
|
||||
[System.Text.Json.Serialization.JsonPropertyName("status")]
|
||||
public int? VoucherStatus { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 获取或设置分页每页数量。
|
||||
/// <para>默认值:10</para>
|
||||
/// </summary>
|
||||
[Newtonsoft.Json.JsonProperty("page_size")]
|
||||
[System.Text.Json.Serialization.JsonPropertyName("page_size")]
|
||||
public int Limit { get; set; } = 10;
|
||||
|
||||
/// <summary>
|
||||
/// 获取或设置翻页标记。
|
||||
/// </summary>
|
||||
[Newtonsoft.Json.JsonProperty("page_ctx")]
|
||||
[System.Text.Json.Serialization.JsonPropertyName("page_ctx")]
|
||||
public string? Cursor { get; set; }
|
||||
}
|
||||
}
|
@@ -0,0 +1,205 @@
|
||||
namespace SKIT.FlurlHttpClient.Wechat.Api.Models
|
||||
{
|
||||
/// <summary>
|
||||
/// <para>表示 [POST] /channels/ec/voucher/get_list 接口的响应。</para>
|
||||
/// </summary>
|
||||
public class ChannelsECVoucherGetListResponse : WechatApiResponse
|
||||
{
|
||||
public static class Types
|
||||
{
|
||||
public class Voucher
|
||||
{
|
||||
/// <summary>
|
||||
/// 获取或设置商品 ID。
|
||||
/// </summary>
|
||||
[Newtonsoft.Json.JsonProperty("product_id")]
|
||||
[System.Text.Json.Serialization.JsonPropertyName("product_id")]
|
||||
[System.Text.Json.Serialization.JsonNumberHandling(System.Text.Json.Serialization.JsonNumberHandling.AllowReadingFromString)]
|
||||
public long ProductId { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 获取或设置 SKU ID。
|
||||
/// </summary>
|
||||
[Newtonsoft.Json.JsonProperty("sku_id")]
|
||||
[System.Text.Json.Serialization.JsonPropertyName("sku_id")]
|
||||
[System.Text.Json.Serialization.JsonNumberHandling(System.Text.Json.Serialization.JsonNumberHandling.AllowReadingFromString)]
|
||||
public long SKUId { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 获取或设置券类型。
|
||||
/// </summary>
|
||||
[Newtonsoft.Json.JsonProperty("voucher_type")]
|
||||
[System.Text.Json.Serialization.JsonPropertyName("voucher_type")]
|
||||
public int VoucherType { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 获取或设置券售卖价格(单位:分)。
|
||||
/// </summary>
|
||||
[Newtonsoft.Json.JsonProperty("voucher_buy_amount")]
|
||||
[System.Text.Json.Serialization.JsonPropertyName("voucher_buy_amount")]
|
||||
public int VoucherBuyAmount { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 获取或设置券市场金额(单位:分)。
|
||||
/// </summary>
|
||||
[Newtonsoft.Json.JsonProperty("voucher_actual_amount")]
|
||||
[System.Text.Json.Serialization.JsonPropertyName("voucher_actual_amount")]
|
||||
public int VoucherActualAmount { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 获取或设置券码类型。
|
||||
/// </summary>
|
||||
[Newtonsoft.Json.JsonProperty("code_type")]
|
||||
[System.Text.Json.Serialization.JsonPropertyName("code_type")]
|
||||
public int CodeType { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 获取或设置券码。
|
||||
/// </summary>
|
||||
[Newtonsoft.Json.JsonProperty("code")]
|
||||
[System.Text.Json.Serialization.JsonPropertyName("code")]
|
||||
public string Code { get; set; } = default!;
|
||||
|
||||
/// <summary>
|
||||
/// 获取或设置券状态。
|
||||
/// </summary>
|
||||
[Newtonsoft.Json.JsonProperty("status")]
|
||||
[System.Text.Json.Serialization.JsonPropertyName("status")]
|
||||
public int Status { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 获取或设置创建时间戳。
|
||||
/// </summary>
|
||||
[Newtonsoft.Json.JsonProperty("create_time")]
|
||||
[System.Text.Json.Serialization.JsonPropertyName("create_time")]
|
||||
public long CreateTimestamp { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 获取或设置更新时间戳。
|
||||
/// </summary>
|
||||
[Newtonsoft.Json.JsonProperty("update_time")]
|
||||
[System.Text.Json.Serialization.JsonPropertyName("update_time")]
|
||||
public long UpdateTimestamp { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 获取或设置发放时间戳。
|
||||
/// </summary>
|
||||
[Newtonsoft.Json.JsonProperty("send_time")]
|
||||
[System.Text.Json.Serialization.JsonPropertyName("send_time")]
|
||||
public long SendTimestamp { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 获取或设置有效期开始时间戳。
|
||||
/// </summary>
|
||||
[Newtonsoft.Json.JsonProperty("start_time")]
|
||||
[System.Text.Json.Serialization.JsonPropertyName("start_time")]
|
||||
public long StartTimestamp { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 获取或设置有效期结束时间戳。
|
||||
/// </summary>
|
||||
[Newtonsoft.Json.JsonProperty("end_time")]
|
||||
[System.Text.Json.Serialization.JsonPropertyName("end_time")]
|
||||
public long EndTimestamp { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 获取或设置核销时间戳。
|
||||
/// </summary>
|
||||
[Newtonsoft.Json.JsonProperty("consume_time")]
|
||||
[System.Text.Json.Serialization.JsonPropertyName("consume_time")]
|
||||
public long? ConsumeTimestamp { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 获取或设置核销门店名称。
|
||||
/// </summary>
|
||||
[Newtonsoft.Json.JsonProperty("consume_store_name")]
|
||||
[System.Text.Json.Serialization.JsonPropertyName("consume_store_name")]
|
||||
public string? ConsumeStoreName { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 获取或设置核销门店外部 ID。
|
||||
/// </summary>
|
||||
[Newtonsoft.Json.JsonProperty("out_store_id")]
|
||||
[System.Text.Json.Serialization.JsonPropertyName("out_store_id")]
|
||||
public string? OutStoreId { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 获取或设置退款时间戳。
|
||||
/// </summary>
|
||||
[Newtonsoft.Json.JsonProperty("refund_time")]
|
||||
[System.Text.Json.Serialization.JsonPropertyName("refund_time")]
|
||||
public long? RefundTimestamp { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 获取或设置用户的 OpenId。
|
||||
/// </summary>
|
||||
[Newtonsoft.Json.JsonProperty("openid")]
|
||||
[System.Text.Json.Serialization.JsonPropertyName("openid")]
|
||||
public string OpenId { get; set; } = default!;
|
||||
|
||||
/// <summary>
|
||||
/// 获取或设置用户的 UnionId。
|
||||
/// </summary>
|
||||
[Newtonsoft.Json.JsonProperty("union_id")]
|
||||
[System.Text.Json.Serialization.JsonPropertyName("union_id")]
|
||||
public string? UnionId { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 获取或设置用户的手机号码。
|
||||
/// </summary>
|
||||
[Newtonsoft.Json.JsonProperty("telphone_no")]
|
||||
[System.Text.Json.Serialization.JsonPropertyName("telphone_no")]
|
||||
public string? TelephoneNumber { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 获取或设置订单 ID。
|
||||
/// </summary>
|
||||
[Newtonsoft.Json.JsonProperty("order_id")]
|
||||
[System.Text.Json.Serialization.JsonPropertyName("order_id")]
|
||||
public string? OrderId { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 获取或设置结算状态。
|
||||
/// </summary>
|
||||
[Newtonsoft.Json.JsonProperty("voucher_settle_status")]
|
||||
[System.Text.Json.Serialization.JsonPropertyName("voucher_settle_status")]
|
||||
public int? VoucherSettleStatus { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 获取或设置最后一次成功发起核销的核销单号。
|
||||
/// </summary>
|
||||
[Newtonsoft.Json.JsonProperty("last_consume_no")]
|
||||
[System.Text.Json.Serialization.JsonPropertyName("last_consume_no")]
|
||||
public string? LastConsumeNumber { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 获取或设置最后一次成功发起撤销核销的撤销核销单号。
|
||||
/// </summary>
|
||||
[Newtonsoft.Json.JsonProperty("last_withdraw_consume_no")]
|
||||
[System.Text.Json.Serialization.JsonPropertyName("last_withdraw_consume_no")]
|
||||
public string? LastWithdrawConsumeNumber { get; set; }
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 获取或设置用户的 OpenId。
|
||||
/// </summary>
|
||||
[Newtonsoft.Json.JsonProperty("openid")]
|
||||
[System.Text.Json.Serialization.JsonPropertyName("openid")]
|
||||
public string OpenId { get; set; } = default!;
|
||||
|
||||
/// <summary>
|
||||
/// 获取或设置团购优惠券列表。
|
||||
/// </summary>
|
||||
[Newtonsoft.Json.JsonProperty("voucher_list")]
|
||||
[System.Text.Json.Serialization.JsonPropertyName("voucher_list")]
|
||||
public Types.Voucher[] VoucherList { get; set; } = default!;
|
||||
|
||||
/// <summary>
|
||||
/// 获取或设置翻页标记。
|
||||
/// </summary>
|
||||
[Newtonsoft.Json.JsonProperty("page_ctx")]
|
||||
[System.Text.Json.Serialization.JsonPropertyName("page_ctx")]
|
||||
public string? NextCursor { get; set; }
|
||||
}
|
||||
}
|
@@ -0,0 +1,29 @@
|
||||
namespace SKIT.FlurlHttpClient.Wechat.Api.Models
|
||||
{
|
||||
/// <summary>
|
||||
/// <para>表示 [POST] /channels/ec/voucher/get 接口的请求。</para>
|
||||
/// </summary>
|
||||
public class ChannelsECVoucherGetRequest : WechatApiRequest, IInferable<ChannelsECVoucherGetRequest, ChannelsECVoucherGetResponse>
|
||||
{
|
||||
/// <summary>
|
||||
/// 获取或设置加密的券码。
|
||||
/// </summary>
|
||||
[Newtonsoft.Json.JsonProperty("encrypted_code")]
|
||||
[System.Text.Json.Serialization.JsonPropertyName("encrypted_code")]
|
||||
public string? EncryptedCode { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 获取或设置券码。
|
||||
/// </summary>
|
||||
[Newtonsoft.Json.JsonProperty("code")]
|
||||
[System.Text.Json.Serialization.JsonPropertyName("code")]
|
||||
public string? Code { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 获取或设置 SKU ID。
|
||||
/// </summary>
|
||||
[Newtonsoft.Json.JsonProperty("sku_id")]
|
||||
[System.Text.Json.Serialization.JsonPropertyName("sku_id")]
|
||||
public long? SKUId { get; set; }
|
||||
}
|
||||
}
|
@@ -0,0 +1,62 @@
|
||||
namespace SKIT.FlurlHttpClient.Wechat.Api.Models
|
||||
{
|
||||
/// <summary>
|
||||
/// <para>表示 [POST] /channels/ec/voucher/get 接口的响应。</para>
|
||||
/// </summary>
|
||||
public class ChannelsECVoucherGetResponse : WechatApiResponse
|
||||
{
|
||||
public static class Types
|
||||
{
|
||||
public class Voucher : ChannelsECVoucherGetListResponse.Types.Voucher
|
||||
{
|
||||
public static class Types
|
||||
{
|
||||
public class TimeCard
|
||||
{
|
||||
/// <summary>
|
||||
/// 获取或设置可用总次数。
|
||||
/// </summary>
|
||||
[Newtonsoft.Json.JsonProperty("total_count")]
|
||||
[System.Text.Json.Serialization.JsonPropertyName("total_count")]
|
||||
public int TotalCount { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 获取或设置剩余可用次数。
|
||||
/// </summary>
|
||||
[Newtonsoft.Json.JsonProperty("available_count")]
|
||||
[System.Text.Json.Serialization.JsonPropertyName("available_count")]
|
||||
public int AvailableCount { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 获取或设置已核销次数。
|
||||
/// </summary>
|
||||
[Newtonsoft.Json.JsonProperty("consumed_count")]
|
||||
[System.Text.Json.Serialization.JsonPropertyName("consumed_count")]
|
||||
public int ConsumedCount { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 获取或设置已退券次数。
|
||||
/// </summary>
|
||||
[Newtonsoft.Json.JsonProperty("refunded_count")]
|
||||
[System.Text.Json.Serialization.JsonPropertyName("refunded_count")]
|
||||
public int RefundedCount { get; set; }
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 获取或设置次卡信息。
|
||||
/// </summary>
|
||||
[Newtonsoft.Json.JsonProperty("time_card")]
|
||||
[System.Text.Json.Serialization.JsonPropertyName("time_card")]
|
||||
public Types.TimeCard? TimeCard { get; set; }
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 获取或设置团购优惠券信息。
|
||||
/// </summary>
|
||||
[Newtonsoft.Json.JsonProperty("voucher")]
|
||||
[System.Text.Json.Serialization.JsonPropertyName("voucher")]
|
||||
public Types.Voucher Voucher { get; set; } = default!;
|
||||
}
|
||||
}
|
@@ -0,0 +1,58 @@
|
||||
using System.Collections.Generic;
|
||||
|
||||
namespace SKIT.FlurlHttpClient.Wechat.Api.Models
|
||||
{
|
||||
/// <summary>
|
||||
/// <para>表示 [POST] /channels/ec/voucher/revoke 接口的请求。</para>
|
||||
/// </summary>
|
||||
public class ChannelsECVoucherRevokeRequest : WechatApiRequest, IInferable<ChannelsECVoucherRevokeRequest, ChannelsECVoucherRevokeResponse>
|
||||
{
|
||||
public static class Types
|
||||
{
|
||||
public class RevokeVoucher
|
||||
{
|
||||
/// <summary>
|
||||
/// 获取或设置加密的券码。
|
||||
/// </summary>
|
||||
[Newtonsoft.Json.JsonProperty("encrypted_code")]
|
||||
[System.Text.Json.Serialization.JsonPropertyName("encrypted_code")]
|
||||
public string? EncryptedCode { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 获取或设置券码。
|
||||
/// </summary>
|
||||
[Newtonsoft.Json.JsonProperty("code")]
|
||||
[System.Text.Json.Serialization.JsonPropertyName("code")]
|
||||
public string? Code { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 获取或设置 SKU ID。
|
||||
/// </summary>
|
||||
[Newtonsoft.Json.JsonProperty("sku_id")]
|
||||
[System.Text.Json.Serialization.JsonPropertyName("sku_id")]
|
||||
public long? SKUId { get; set; }
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 获取或设置商户撤销单号。
|
||||
/// </summary>
|
||||
[Newtonsoft.Json.JsonProperty("revoke_request_no")]
|
||||
[System.Text.Json.Serialization.JsonPropertyName("revoke_request_no")]
|
||||
public string RevokeRequestNumber { get; set; } = string.Empty;
|
||||
|
||||
/// <summary>
|
||||
/// 获取或设置商户核销单号。
|
||||
/// </summary>
|
||||
[Newtonsoft.Json.JsonProperty("consume_request_no")]
|
||||
[System.Text.Json.Serialization.JsonPropertyName("consume_request_no")]
|
||||
public string? ConsumeRequestNumber { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 获取或设置撤销券列表。
|
||||
/// </summary>
|
||||
[Newtonsoft.Json.JsonProperty("reovke_vouchers")]
|
||||
[System.Text.Json.Serialization.JsonPropertyName("reovke_vouchers")]
|
||||
public IList<Types.RevokeVoucher> RevokeVoucherList { get; set; } = new List<Types.RevokeVoucher>();
|
||||
}
|
||||
}
|
@@ -0,0 +1,33 @@
|
||||
namespace SKIT.FlurlHttpClient.Wechat.Api.Models
|
||||
{
|
||||
/// <summary>
|
||||
/// <para>表示 [POST] /channels/ec/voucher/revoke 接口的响应。</para>
|
||||
/// </summary>
|
||||
public class ChannelsECVoucherRevokeResponse : WechatApiResponse
|
||||
{
|
||||
public static class Types
|
||||
{
|
||||
public class Voucher : ChannelsECVoucherConsumeResponse.Types.Voucher
|
||||
{
|
||||
}
|
||||
|
||||
public class FailedVoucher : ChannelsECVoucherConsumeResponse.Types.FailedVoucher
|
||||
{
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 获取或设置团购优惠券列表。
|
||||
/// </summary>
|
||||
[Newtonsoft.Json.JsonProperty("voucher_list")]
|
||||
[System.Text.Json.Serialization.JsonPropertyName("voucher_list")]
|
||||
public Types.Voucher[]? VoucherList { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 获取或设置核销失败的券列表。
|
||||
/// </summary>
|
||||
[Newtonsoft.Json.JsonProperty("fail_voucher_list")]
|
||||
[System.Text.Json.Serialization.JsonPropertyName("fail_voucher_list")]
|
||||
public Types.FailedVoucher[]? FailedVoucherList { get; set; }
|
||||
}
|
||||
}
|
@@ -0,0 +1,31 @@
|
||||
using System.Collections.Generic;
|
||||
|
||||
namespace SKIT.FlurlHttpClient.Wechat.Api.Models
|
||||
{
|
||||
/// <summary>
|
||||
/// <para>表示 [POST] /channels/ec/voucher/codes/upload 接口的请求。</para>
|
||||
/// </summary>
|
||||
public class ChannelsECVoucherCodesUploadRequest : WechatApiRequest, IInferable<ChannelsECVoucherCodesUploadRequest, ChannelsECVoucherCodesUploadResponse>
|
||||
{
|
||||
/// <summary>
|
||||
/// 获取或设置商品 ID。
|
||||
/// </summary>
|
||||
[Newtonsoft.Json.JsonProperty("product_id")]
|
||||
[System.Text.Json.Serialization.JsonPropertyName("product_id")]
|
||||
public long ProductId { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 获取或设置 SKU ID。
|
||||
/// </summary>
|
||||
[Newtonsoft.Json.JsonProperty("sku_id")]
|
||||
[System.Text.Json.Serialization.JsonPropertyName("sku_id")]
|
||||
public long SKUId { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 获取或设置券码列表。
|
||||
/// </summary>
|
||||
[Newtonsoft.Json.JsonProperty("codes")]
|
||||
[System.Text.Json.Serialization.JsonPropertyName("codes")]
|
||||
public IList<string> CodeList { get; set; } = new List<string>();
|
||||
}
|
||||
}
|
@@ -0,0 +1,78 @@
|
||||
namespace SKIT.FlurlHttpClient.Wechat.Api.Models
|
||||
{
|
||||
/// <summary>
|
||||
/// <para>表示 [POST] /channels/ec/voucher/codes/upload 接口的响应。</para>
|
||||
/// </summary>
|
||||
public class ChannelsECVoucherCodesUploadResponse : WechatApiResponse
|
||||
{
|
||||
public static class Types
|
||||
{
|
||||
public class FailedCode
|
||||
{
|
||||
/// <summary>
|
||||
/// 获取或设置券码。
|
||||
/// </summary>
|
||||
[Newtonsoft.Json.JsonProperty("code")]
|
||||
[System.Text.Json.Serialization.JsonPropertyName("code")]
|
||||
public string Code { get; set; } = default!;
|
||||
|
||||
/// <summary>
|
||||
/// 获取或设置错误码。
|
||||
/// </summary>
|
||||
[Newtonsoft.Json.JsonProperty("errcode")]
|
||||
[System.Text.Json.Serialization.JsonPropertyName("errcode")]
|
||||
public int ErrorCode { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 获取或设置错误信息。
|
||||
/// </summary>
|
||||
[Newtonsoft.Json.JsonProperty("errmsg")]
|
||||
[System.Text.Json.Serialization.JsonPropertyName("errmsg")]
|
||||
public string? ErrorMessage { get; set; }
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 获取或设置商品 ID。
|
||||
/// </summary>
|
||||
[Newtonsoft.Json.JsonProperty("product_id")]
|
||||
[System.Text.Json.Serialization.JsonPropertyName("product_id")]
|
||||
[System.Text.Json.Serialization.JsonNumberHandling(System.Text.Json.Serialization.JsonNumberHandling.AllowReadingFromString)]
|
||||
public long ProductId { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 获取或设置上传总数量。
|
||||
/// </summary>
|
||||
[Newtonsoft.Json.JsonProperty("total_count")]
|
||||
[System.Text.Json.Serialization.JsonPropertyName("total_count")]
|
||||
public int TotalCount { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 获取或设置上传成功的券码列表。
|
||||
/// </summary>
|
||||
[Newtonsoft.Json.JsonProperty("success_codes")]
|
||||
[System.Text.Json.Serialization.JsonPropertyName("success_codes")]
|
||||
public string[]? SucceededCodeList { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 获取或设置上传成功的数量。
|
||||
/// </summary>
|
||||
[Newtonsoft.Json.JsonProperty("success_count")]
|
||||
[System.Text.Json.Serialization.JsonPropertyName("success_count")]
|
||||
public int SucceededCount { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 获取或设置上传失败的券码列表。
|
||||
/// </summary>
|
||||
[Newtonsoft.Json.JsonProperty("fail_codes")]
|
||||
[System.Text.Json.Serialization.JsonPropertyName("fail_codes")]
|
||||
public Types.FailedCode[]? FailedCodeList { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 获取或设置上传失败的数量。
|
||||
/// </summary>
|
||||
[Newtonsoft.Json.JsonProperty("fail_count")]
|
||||
[System.Text.Json.Serialization.JsonPropertyName("fail_count")]
|
||||
public int FailedCount { get; set; }
|
||||
}
|
||||
}
|
@@ -1,4 +1,4 @@
|
||||
namespace SKIT.FlurlHttpClient.Wechat.Api.Models
|
||||
namespace SKIT.FlurlHttpClient.Wechat.Api.Models
|
||||
{
|
||||
/// <summary>
|
||||
/// <para>表示 [POST] /channels/ec/window/product/get 接口的响应。</para>
|
||||
@@ -51,7 +51,7 @@
|
||||
[Newtonsoft.Json.JsonProperty("need_apply_category_id")]
|
||||
[System.Text.Json.Serialization.JsonPropertyName("need_apply_category_id")]
|
||||
[System.Text.Json.Serialization.JsonNumberHandling(System.Text.Json.Serialization.JsonNumberHandling.AllowReadingFromString)]
|
||||
public int? RequiredCategoryId { get; set; } = default!;
|
||||
public long? RequiredCategoryId { get; set; } = default!;
|
||||
|
||||
/// <summary>
|
||||
/// 获取或设置需要申请的类目名称。
|
||||
@@ -160,7 +160,7 @@
|
||||
[Newtonsoft.Json.JsonProperty("third_category_id")]
|
||||
[System.Text.Json.Serialization.JsonPropertyName("third_category_id")]
|
||||
[System.Text.Json.Serialization.JsonNumberHandling(System.Text.Json.Serialization.JsonNumberHandling.AllowReadingFromString)]
|
||||
public int ThirdCategoryId { get; set; }
|
||||
public long ThirdCategoryId { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 获取或设置商品状态。
|
||||
|
@@ -8,7 +8,15 @@
|
||||
"product_info": {
|
||||
"product_id": "3286",
|
||||
"sku_id": "4740",
|
||||
"count": 1
|
||||
"count": 1,
|
||||
"voucher_list": [
|
||||
{
|
||||
"vourcher_code": "232323"
|
||||
},
|
||||
{
|
||||
"vourcher_code": "232324"
|
||||
}
|
||||
]
|
||||
},
|
||||
"details": {
|
||||
"desc": "1234",
|
||||
@@ -38,6 +46,7 @@
|
||||
"ret": 0,
|
||||
"message": ""
|
||||
},
|
||||
"type": "REFUND"
|
||||
"type": "REFUND",
|
||||
"gen_scene": 0
|
||||
}
|
||||
}
|
||||
|
@@ -0,0 +1,3 @@
|
||||
{
|
||||
"flow_id": "10000057741221110"
|
||||
}
|
@@ -0,0 +1,23 @@
|
||||
{
|
||||
"errcode": 0,
|
||||
"errmsg": "ok",
|
||||
"funds_flow": {
|
||||
"flow_id": "10000057741221110",
|
||||
"funds_type": 3,
|
||||
"flow_type": 2,
|
||||
"amount": 1,
|
||||
"balance": 28281,
|
||||
"related_info_list": [
|
||||
{
|
||||
"related_type": 2,
|
||||
"aftersale_id": "1000283382788072",
|
||||
"transaction_id": "4200001619202211090964182530"
|
||||
},
|
||||
{
|
||||
"related_type": 1,
|
||||
"order_id": "3707337764590192128",
|
||||
"transaction_id": "4200001619202211090964182530"
|
||||
}
|
||||
]
|
||||
}
|
||||
}
|
@@ -0,0 +1,8 @@
|
||||
{
|
||||
"page": 1,
|
||||
"page_size": 10,
|
||||
"start_time": 1668008734,
|
||||
"end_time": 1668008737,
|
||||
"next_key": "CAAQABgBIhExMDAwMDA0MTU3MzIyMTEwOSiflq+bBg==",
|
||||
"transaction_id": "4200001619202211090964182530"
|
||||
}
|
@@ -0,0 +1,7 @@
|
||||
{
|
||||
"errcode": 0,
|
||||
"errmsg": "ok",
|
||||
"flow_ids": [ "123243", "123124134" ],
|
||||
"has_more": true,
|
||||
"next_key": "CO0GEGQY2vQFIhI1MTAwMDAxNDQ3NDgyMTEwMjEo7rfFiwY="
|
||||
}
|
@@ -35,7 +35,14 @@
|
||||
"extra_service": {
|
||||
"seven_day_return": 1,
|
||||
"freight_insurance": 0
|
||||
}
|
||||
},
|
||||
"voucher_list": [
|
||||
{
|
||||
"voucher_code": "12345",
|
||||
"voucher_type": 1,
|
||||
"voucher_buy_amount": 10000
|
||||
}
|
||||
]
|
||||
}
|
||||
],
|
||||
"pay_info": {
|
||||
|
@@ -0,0 +1,37 @@
|
||||
{
|
||||
"out_product_id": "test_120719261",
|
||||
"product_type": 1,
|
||||
"product_name": "测试商品",
|
||||
"category_id": "545201",
|
||||
"brand_id": "10010719",
|
||||
"head_imgs": [
|
||||
"https://mmecimage.cn/p/wx2b255582a7b4bfd0/HPfcDsYrzbTlVSFQI9Qar0uzDhKI-EB7Efryf-dxlUE",
|
||||
"https://mmecimage.cn/p/wx2b255582a7b4bfd0/HAOY-e61JPVNI5fsTlOcy-1r_rSxqnAsIUWqXXWNJSE",
|
||||
"https://mmecimage.cn/p/wx2b255582a7b4bfd0/HLD6dz9RbUkPzBQGHnpb9Z7BcK9kF1HYeLkwxiK9RtI"
|
||||
],
|
||||
"verify_page": {
|
||||
"appid": "wxca8d4b8e8feedc2a",
|
||||
"path": "main/channels/buy/buy.html?productId=123"
|
||||
},
|
||||
"code_source_type": 1,
|
||||
"attr_kv_map": {
|
||||
"use_date_rule": "{\\\"validate_type\\\":1,\\\"use_date\\\":{\\\"use_start_date\\\":\\\"2023-11-29\\\",\\\"use_end_date\\\":\\\"2023-12-31\\\"}\\}",
|
||||
"use_time": "{\"use_time_type\":2,\"time_periods\":[{\"use_start_time\":\"10:00:00\",\"use_end_time\":\"20:00:00\"}]}",
|
||||
"detail_imgs": "[\"https://mmecimage.cn/xxxxxxxxxx\",\"https://mmecimage.cn/yyyyyyyyyy\",\"https://mmecimage.cn/zzzzzzzzzz\"]",
|
||||
"set_meals": "[{\"group_name\": \"套餐名称\", \"items\": [{\"item_count\": 1, \"item_name\": \"项目名称\",\"item_price\": 28800}],\"option_count\": 1}]",
|
||||
"exclusive_date": "{\"enable\": 0}",
|
||||
"voucher_amount": "100",
|
||||
"bring_out_type": "1",
|
||||
"appointment": "{\"need_appointment\":0}",
|
||||
"need_phone_num": "0",
|
||||
"additional_rule": "\"附加规则\"",
|
||||
"available_store_desc": "\"可用门店描述\"",
|
||||
"settle_type": "1",
|
||||
"refund_policy": "1"
|
||||
},
|
||||
"skus": [
|
||||
{
|
||||
"sale_price": 100
|
||||
}
|
||||
]
|
||||
}
|
@@ -0,0 +1,10 @@
|
||||
{
|
||||
"errcode": 0,
|
||||
"errmsg": "ok",
|
||||
"data": {
|
||||
"product_id": "15000000000000",
|
||||
"sku_ids": [
|
||||
"1234567890"
|
||||
]
|
||||
}
|
||||
}
|
@@ -0,0 +1,9 @@
|
||||
{
|
||||
"product_id": "15000000392025",
|
||||
"skus": [
|
||||
{
|
||||
"sku_id": "2022104954",
|
||||
"sale_price": 90
|
||||
}
|
||||
]
|
||||
}
|
@@ -0,0 +1,4 @@
|
||||
{
|
||||
"product_id": "15000000134007",
|
||||
"data_type": 2
|
||||
}
|
@@ -0,0 +1,43 @@
|
||||
{
|
||||
"errcode": 0,
|
||||
"errmsg": "ok",
|
||||
"draft_data": {
|
||||
"product_id": "15000000134007",
|
||||
"out_product_id": "test1",
|
||||
"product_type": 1,
|
||||
"product_name": "测试商品改",
|
||||
"category_id": "1452",
|
||||
"brand_id": "2100000000",
|
||||
"head_imgs": [
|
||||
"https://mmecimage.cn/p/wx2b255582a7b4bfd0/HA7ukhipcfggnDP8l5EqCwX1YsvxMZwAFvoPNqG-IbU",
|
||||
"https://mmecimage.cn/p/wx2b255582a7b4bfd0/HO7eONXc8Y9uLHr0q0Rs6UvJ0iC0oAuQD3whJEA5Sc4",
|
||||
"https://mmecimage.cn/p/wx2b255582a7b4bfd0/HKBXBm8pze5WcayaDacjfSveBYQIQzKrVaR3zi2tja4"
|
||||
],
|
||||
"verify_page": {
|
||||
"appid": "wxca8d4b8e8feedc2a",
|
||||
"path": "main/channels/buy/buy.html?productId=123"
|
||||
},
|
||||
"code_source_type": 1,
|
||||
"attr_kv_map": {
|
||||
"voucher_amount": "222",
|
||||
"use_date_rule": "{\"validate_type\":1,\"use_date\":{\"use_start_date\":\"2023-11-29\",\"use_end_date\":\"2023-12-15\"}}",
|
||||
"exclusive_date": "{\"days_of_week\":[]}",
|
||||
"settle_type": "2",
|
||||
"need_phone_num": "0",
|
||||
"bring_out_type": "1",
|
||||
"refund_policy": "0",
|
||||
"use_time": "{\"use_time_type\":1,\"time_periods\":[]}"
|
||||
},
|
||||
"skus": [
|
||||
{
|
||||
"sku_id": "1930992007",
|
||||
"sale_price": 123,
|
||||
"stock_num": 21
|
||||
}
|
||||
],
|
||||
"draft_status": 1,
|
||||
"audit_result": {
|
||||
"audit_status": 0
|
||||
}
|
||||
}
|
||||
}
|
@@ -0,0 +1,34 @@
|
||||
{
|
||||
"product_id": 15000000134007,
|
||||
"out_product_id": "test-out_id",
|
||||
"product_type": 1,
|
||||
"product_name": "测试商品改",
|
||||
"category_id": 1452,
|
||||
"brand_id": 2100000000,
|
||||
"head_imgs": [
|
||||
"https://mmecimage.cn/p/wx2b255582a7b4bfd0/HA7ukhipcfggnDP8l5EqCwX1YsvxMZwAFvoPNqG-IbU",
|
||||
"https://mmecimage.cn/p/wx2b255582a7b4bfd0/HO7eONXc8Y9uLHr0q0Rs6UvJ0iC0oAuQD3whJEA5Sc4",
|
||||
"https://mmecimage.cn/p/wx2b255582a7b4bfd0/HKBXBm8pze5WcayaDacjfSveBYQIQzKrVaR3zi2tja4"
|
||||
],
|
||||
"verify_page": {
|
||||
"appid": "wxca8d4b8e8feedc2a",
|
||||
"path": "main/channels/buy/buy.html?productId=123"
|
||||
},
|
||||
"code_source_type": 1,
|
||||
"attr_kv_map": {
|
||||
"voucher_amount": "222",
|
||||
"use_date_rule": "{\"validate_type\":1,\"use_date\":{\"use_start_date\":\"2023-11-29\",\"use_end_date\":\"2023-12-15\"}}",
|
||||
"exclusive_date": "{\"days_of_week\":[]}",
|
||||
"settle_type": "2",
|
||||
"need_phone_num": "0",
|
||||
"bring_out_type": "1",
|
||||
"refund_policy": "0",
|
||||
"use_time": "{\"use_time_type\":1,\"time_periods\":[]}"
|
||||
},
|
||||
"skus": [
|
||||
{
|
||||
"sku_id": 1930992007,
|
||||
"sale_price": 111
|
||||
}
|
||||
]
|
||||
}
|
@@ -0,0 +1,6 @@
|
||||
{
|
||||
"product_id": "123456",
|
||||
"bill_date": "2023-12-03",
|
||||
"page_size": 3,
|
||||
"page_ctx": ""
|
||||
}
|
@@ -0,0 +1,23 @@
|
||||
{
|
||||
"errcode": 0,
|
||||
"errmsg": "成功",
|
||||
"bill_list": [
|
||||
{
|
||||
"voucher_name": "90抵100代金券",
|
||||
"product_id": "123456",
|
||||
"code": "123456789",
|
||||
"order_id": "027828012830384172",
|
||||
"openid": "asdjeine835k9fjeld93mf",
|
||||
"voucher_buy_time": 1702016538,
|
||||
"voucher_buy_amount": 9000,
|
||||
"voucher_pay_amount": 8500,
|
||||
"mch_favor_amount": 500,
|
||||
"platform_favor_amount": 0,
|
||||
"consume_time": 1702189338,
|
||||
"consume_store_name": "开心小店",
|
||||
"mch_settle_amount": 8300,
|
||||
"finder_settle_amount": 0
|
||||
}
|
||||
],
|
||||
"page_ctx": "dsfajasdlf3434"
|
||||
}
|
@@ -0,0 +1,8 @@
|
||||
{
|
||||
"consume_request_no": "233244dfgfdfgsdfgsdf",
|
||||
"encrypted_codes": [ "243234dsfsdf", "24334dfgd", "345453dsf" ],
|
||||
"codes": [ "232323", "23232323", "32434454545" ],
|
||||
"sku_id": "12345",
|
||||
"consume_store_name": "xxx旗舰店",
|
||||
"consume_channel": 2
|
||||
}
|
@@ -0,0 +1,35 @@
|
||||
{
|
||||
"errcode": 0,
|
||||
"errmsg": "成功",
|
||||
"voucher_list": [
|
||||
{
|
||||
"code": "232323",
|
||||
"status": 2,
|
||||
"send_time": 1699856182,
|
||||
"update_time": 1699856182,
|
||||
"start_time": 1699856182,
|
||||
"end_time": 1699856182,
|
||||
"consume_time": 1699856182,
|
||||
"refund_time": 1699856182,
|
||||
"product_id": "12345",
|
||||
"consume_store_name": "xxx旗舰店",
|
||||
"voucher_type": 1,
|
||||
"voucher_buy_amount": 0,
|
||||
"voucher_actual_amount": 0,
|
||||
"telphone_no": "fasdf343df34545",
|
||||
"openid": "xsdfs4534543534534",
|
||||
"code_type": 1,
|
||||
"order_id": "23434sdfsdf34342",
|
||||
"sku_id": "12345"
|
||||
}
|
||||
],
|
||||
"fail_voucher_list": [
|
||||
{
|
||||
"encrypted_code": "csbm9",
|
||||
"code": "sqfvm",
|
||||
"sku_id": 12345,
|
||||
"ret_code": 0,
|
||||
"ret_msg": ""
|
||||
}
|
||||
]
|
||||
}
|
@@ -0,0 +1,6 @@
|
||||
{
|
||||
"openid": "xsdfs4534543534534",
|
||||
"status": 1,
|
||||
"page_size": 3,
|
||||
"page_ctx": ""
|
||||
}
|
@@ -0,0 +1,28 @@
|
||||
{
|
||||
"errcode": 0,
|
||||
"errmsg": "成功",
|
||||
"openid": "xsdfs4534543534534",
|
||||
"voucher_list": [
|
||||
{
|
||||
"code": "232323",
|
||||
"status": 1,
|
||||
"send_time": 1699856182,
|
||||
"update_time": 1699856182,
|
||||
"start_time": 1699856182,
|
||||
"end_time": 1699856182,
|
||||
"consume_time": 1699856182,
|
||||
"refund_time": 1699856182,
|
||||
"product_id": "12345",
|
||||
"consume_store_name": "xxx旗舰店",
|
||||
"voucher_type": 1,
|
||||
"voucher_buy_amount": 0,
|
||||
"voucher_actual_amount": 0,
|
||||
"telphone_no": "fasdf343df34545",
|
||||
"openid": "xsdfs4534543534534",
|
||||
"code_type": 1,
|
||||
"order_id": "23434sdfsdf34342",
|
||||
"sku_id": "12345"
|
||||
}
|
||||
],
|
||||
"page_ctx": "dsfajasdlf3434"
|
||||
}
|
@@ -0,0 +1,5 @@
|
||||
{
|
||||
"encrypted_code": "csbm9",
|
||||
"code": "sqfvm",
|
||||
"sku_id": 12345
|
||||
}
|
@@ -0,0 +1,25 @@
|
||||
{
|
||||
"errcode": 0,
|
||||
"errmsg": "成功",
|
||||
"voucher": {
|
||||
"code": "sqfvm",
|
||||
"status": 1,
|
||||
"send_time": 1699856182,
|
||||
"update_time": 1699856182,
|
||||
"start_time": 1699856182,
|
||||
"end_time": 1699856182,
|
||||
"consume_time": 1699856182,
|
||||
"refund_time": 1699856182,
|
||||
"product_id": "12345",
|
||||
"consume_store_name": "xxx旗舰店",
|
||||
"voucher_type": 1,
|
||||
"voucher_buy_amount": 0,
|
||||
"voucher_actual_amount": 0,
|
||||
"telphone_no": "fasdf343df34545",
|
||||
"openid": "xsdfs4534543534534",
|
||||
"code_type": 1,
|
||||
"order_id": "23434sdfsdf34342",
|
||||
"sku_id": "12345",
|
||||
"union_id": "232323"
|
||||
}
|
||||
}
|
@@ -0,0 +1,12 @@
|
||||
{
|
||||
"revoke_request_no": "233244dfgfdfgsdfgsdf",
|
||||
"reovke_vouchers": [
|
||||
{
|
||||
"encrypted_code": "223dfsdf"
|
||||
},
|
||||
{
|
||||
"code": "123412",
|
||||
"sku_id": "12345"
|
||||
}
|
||||
]
|
||||
}
|
@@ -0,0 +1,35 @@
|
||||
{
|
||||
"errcode": 0,
|
||||
"errmsg": "成功",
|
||||
"voucher_list": [
|
||||
{
|
||||
"code": "232323",
|
||||
"status": 2,
|
||||
"send_time": 1699856182,
|
||||
"update_time": 1699856182,
|
||||
"start_time": 1699856182,
|
||||
"end_time": 1699856182,
|
||||
"consume_time": 1699856182,
|
||||
"refund_time": 1699856182,
|
||||
"product_id": "12345",
|
||||
"consume_store_name": "xxx旗舰店",
|
||||
"voucher_type": 1,
|
||||
"voucher_buy_amount": 0,
|
||||
"voucher_actual_amount": 0,
|
||||
"telphone_no": "fasdf343df34545",
|
||||
"openid": "xsdfs4534543534534",
|
||||
"code_type": 1,
|
||||
"order_id": "23434sdfsdf34342",
|
||||
"sku_id": "12345"
|
||||
}
|
||||
],
|
||||
"fail_voucher_list": [
|
||||
{
|
||||
"encrypted_code": "csbm9",
|
||||
"code": "sqfvm",
|
||||
"sku_id": 12345,
|
||||
"ret_code": 0,
|
||||
"ret_msg": ""
|
||||
}
|
||||
]
|
||||
}
|
@@ -0,0 +1,5 @@
|
||||
{
|
||||
"product_id": "12345",
|
||||
"sku_id": "12345",
|
||||
"codes": [ "232323", "23232323", "32434454545" ]
|
||||
}
|
@@ -0,0 +1,16 @@
|
||||
{
|
||||
"errcode": 10001,
|
||||
"errmsg": "部分成功",
|
||||
"product_id": "12345",
|
||||
"total_count": 3,
|
||||
"success_count": 2,
|
||||
"success_codes": [ "232323", "23232323" ],
|
||||
"fail_count": 1,
|
||||
"fail_codes": [
|
||||
{
|
||||
"code": "32434454545",
|
||||
"errcode": 111,
|
||||
"errmsg": "此code已上传"
|
||||
}
|
||||
]
|
||||
}
|
Reference in New Issue
Block a user