mirror of
https://gitee.com/fudiwei/DotNetCore.SKIT.FlurlHttpClient.Wechat.git
synced 2025-07-16 07:59:44 +08:00
feat(wxapi): 新增客服子商户能力相关接口
This commit is contained in:
parent
2804ebdbda
commit
ab1a8dbd92
@ -45,5 +45,13 @@ namespace SKIT.FlurlHttpClient.Wechat.Api.Events
|
||||
[System.Text.Json.Serialization.JsonPropertyName("Idx")]
|
||||
[System.Xml.Serialization.XmlElement("Idx", IsNullable = true)]
|
||||
public int? Index { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 获取或设置客服子商户 ID。
|
||||
/// </summary>
|
||||
[Newtonsoft.Json.JsonProperty("BusinessId")]
|
||||
[System.Text.Json.Serialization.JsonPropertyName("BusinessId")]
|
||||
[System.Xml.Serialization.XmlElement("BusinessId", IsNullable = true)]
|
||||
public long? BusinessId { get; set; }
|
||||
}
|
||||
}
|
||||
|
@ -61,5 +61,13 @@ namespace SKIT.FlurlHttpClient.Wechat.Api.Events
|
||||
[System.Text.Json.Serialization.JsonPropertyName("Idx")]
|
||||
[System.Xml.Serialization.XmlElement("Idx", IsNullable = true)]
|
||||
public int? Index { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 获取或设置客服子商户 ID。
|
||||
/// </summary>
|
||||
[Newtonsoft.Json.JsonProperty("BusinessId")]
|
||||
[System.Text.Json.Serialization.JsonPropertyName("BusinessId")]
|
||||
[System.Xml.Serialization.XmlElement("BusinessId", IsNullable = true)]
|
||||
public long? BusinessId { get; set; }
|
||||
}
|
||||
}
|
||||
|
@ -37,5 +37,13 @@ namespace SKIT.FlurlHttpClient.Wechat.Api.Events
|
||||
[System.Text.Json.Serialization.JsonPropertyName("Idx")]
|
||||
[System.Xml.Serialization.XmlElement("Idx", IsNullable = true)]
|
||||
public int? Index { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 获取或设置客服子商户 ID。
|
||||
/// </summary>
|
||||
[Newtonsoft.Json.JsonProperty("BusinessId")]
|
||||
[System.Text.Json.Serialization.JsonPropertyName("BusinessId")]
|
||||
[System.Xml.Serialization.XmlElement("BusinessId", IsNullable = true)]
|
||||
public long? BusinessId { get; set; }
|
||||
}
|
||||
}
|
||||
|
@ -45,5 +45,13 @@ namespace SKIT.FlurlHttpClient.Wechat.Api.Events
|
||||
[System.Text.Json.Serialization.JsonPropertyName("Idx")]
|
||||
[System.Xml.Serialization.XmlElement("Idx", IsNullable = true)]
|
||||
public int? Index { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 获取或设置客服子商户 ID。
|
||||
/// </summary>
|
||||
[Newtonsoft.Json.JsonProperty("BusinessId")]
|
||||
[System.Text.Json.Serialization.JsonPropertyName("BusinessId")]
|
||||
[System.Xml.Serialization.XmlElement("BusinessId", IsNullable = true)]
|
||||
public long? BusinessId { get; set; }
|
||||
}
|
||||
}
|
||||
|
@ -45,5 +45,13 @@ namespace SKIT.FlurlHttpClient.Wechat.Api.Events
|
||||
[System.Text.Json.Serialization.JsonPropertyName("Idx")]
|
||||
[System.Xml.Serialization.XmlElement("Idx", IsNullable = true)]
|
||||
public int? Index { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 获取或设置客服子商户 ID。
|
||||
/// </summary>
|
||||
[Newtonsoft.Json.JsonProperty("BusinessId")]
|
||||
[System.Text.Json.Serialization.JsonPropertyName("BusinessId")]
|
||||
[System.Xml.Serialization.XmlElement("BusinessId", IsNullable = true)]
|
||||
public long? BusinessId { get; set; }
|
||||
}
|
||||
}
|
||||
|
@ -3,6 +3,7 @@
|
||||
/// <summary>
|
||||
/// <para>表示被动回复转发消息的数据。</para>
|
||||
/// <para>REF: https://developers.weixin.qq.com/doc/offiaccount/Customer_Service/Forwarding_of_messages_to_service_center.html </para>
|
||||
/// <para>REF: https://developers.weixin.qq.com/miniprogram/introduction/custom.html#%E5%B0%86%E6%B6%88%E6%81%AF%E8%BD%AC%E5%8F%91%E5%88%B0%E5%AE%A2%E6%9C%8D </para>
|
||||
/// </summary>
|
||||
public class TransferCustomerServiceReply : WechatApiEvent, WechatApiEvent.Serialization.IXmlSerializable
|
||||
{
|
||||
|
@ -0,0 +1,92 @@
|
||||
using System;
|
||||
using System.Net.Http;
|
||||
using System.Threading;
|
||||
using System.Threading.Tasks;
|
||||
using Flurl;
|
||||
using Flurl.Http;
|
||||
|
||||
namespace SKIT.FlurlHttpClient.Wechat.Api
|
||||
{
|
||||
public static class WechatApiClientExecuteCgibinBusinessExtensions
|
||||
{
|
||||
/// <summary>
|
||||
/// <para>异步调用 [POST] /cgi-bin/business/register 接口。</para>
|
||||
/// <para>REF: https://developers.weixin.qq.com/miniprogram/introduction/custom.html#%E5%88%9B%E5%BB%BA%E5%95%86%E6%88%B7 </para>
|
||||
/// </summary>
|
||||
/// <param name="client"></param>
|
||||
/// <param name="request"></param>
|
||||
/// <param name="cancellationToken"></param>
|
||||
/// <returns></returns>
|
||||
public static async Task<Models.CgibinBusinessRegisterResponse> ExecuteCgibinBusinessRegisterAsync(this WechatApiClient client, Models.CgibinBusinessRegisterRequest request, CancellationToken cancellationToken = default)
|
||||
{
|
||||
if (client is null) throw new ArgumentNullException(nameof(client));
|
||||
if (request is null) throw new ArgumentNullException(nameof(request));
|
||||
|
||||
IFlurlRequest flurlReq = client
|
||||
.CreateRequest(request, HttpMethod.Post, "cgi-bin", "business", "register")
|
||||
.SetQueryParam("access_token", request.AccessToken);
|
||||
|
||||
return await client.SendRequestWithJsonAsync<Models.CgibinBusinessRegisterResponse>(flurlReq, data: request, cancellationToken: cancellationToken);
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// <para>异步调用 [POST] /cgi-bin/business/update 接口。</para>
|
||||
/// <para>REF: https://developers.weixin.qq.com/miniprogram/introduction/custom.html#%E6%9B%B4%E6%96%B0%E5%95%86%E6%88%B7%E4%BF%A1%E6%81%AF </para>
|
||||
/// </summary>
|
||||
/// <param name="client"></param>
|
||||
/// <param name="request"></param>
|
||||
/// <param name="cancellationToken"></param>
|
||||
/// <returns></returns>
|
||||
public static async Task<Models.CgibinBusinessUpdateResponse> ExecuteCgibinBusinessUpdateAsync(this WechatApiClient client, Models.CgibinBusinessUpdateRequest request, CancellationToken cancellationToken = default)
|
||||
{
|
||||
if (client is null) throw new ArgumentNullException(nameof(client));
|
||||
if (request is null) throw new ArgumentNullException(nameof(request));
|
||||
|
||||
IFlurlRequest flurlReq = client
|
||||
.CreateRequest(request, HttpMethod.Post, "cgi-bin", "business", "update")
|
||||
.SetQueryParam("access_token", request.AccessToken);
|
||||
|
||||
return await client.SendRequestWithJsonAsync<Models.CgibinBusinessUpdateResponse>(flurlReq, data: request, cancellationToken: cancellationToken);
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// <para>异步调用 [POST] /cgi-bin/business/get 接口。</para>
|
||||
/// <para>REF: https://developers.weixin.qq.com/miniprogram/introduction/custom.html#%E6%8B%89%E5%8F%96%E5%8D%95%E4%B8%AA%E5%95%86%E6%88%B7%E4%BF%A1%E6%81%AF </para>
|
||||
/// </summary>
|
||||
/// <param name="client"></param>
|
||||
/// <param name="request"></param>
|
||||
/// <param name="cancellationToken"></param>
|
||||
/// <returns></returns>
|
||||
public static async Task<Models.CgibinBusinessGetResponse> ExecuteCgibinBusinessGetAsync(this WechatApiClient client, Models.CgibinBusinessGetRequest request, CancellationToken cancellationToken = default)
|
||||
{
|
||||
if (client is null) throw new ArgumentNullException(nameof(client));
|
||||
if (request is null) throw new ArgumentNullException(nameof(request));
|
||||
|
||||
IFlurlRequest flurlReq = client
|
||||
.CreateRequest(request, HttpMethod.Post, "cgi-bin", "business", "get")
|
||||
.SetQueryParam("access_token", request.AccessToken);
|
||||
|
||||
return await client.SendRequestWithJsonAsync<Models.CgibinBusinessGetResponse>(flurlReq, data: request, cancellationToken: cancellationToken);
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// <para>异步调用 [POST] /cgi-bin/business/list 接口。</para>
|
||||
/// <para>REF: https://developers.weixin.qq.com/miniprogram/introduction/custom.html#%E6%8B%89%E5%8F%96%E5%A4%9A%E4%B8%AA%E5%95%86%E6%88%B7%E4%BF%A1%E6%81%AF </para>
|
||||
/// </summary>
|
||||
/// <param name="client"></param>
|
||||
/// <param name="request"></param>
|
||||
/// <param name="cancellationToken"></param>
|
||||
/// <returns></returns>
|
||||
public static async Task<Models.CgibinBusinessListResponse> ExecuteCgibinBusinessListAsync(this WechatApiClient client, Models.CgibinBusinessListRequest request, CancellationToken cancellationToken = default)
|
||||
{
|
||||
if (client is null) throw new ArgumentNullException(nameof(client));
|
||||
if (request is null) throw new ArgumentNullException(nameof(request));
|
||||
|
||||
IFlurlRequest flurlReq = client
|
||||
.CreateRequest(request, HttpMethod.Post, "cgi-bin", "business", "list")
|
||||
.SetQueryParam("access_token", request.AccessToken);
|
||||
|
||||
return await client.SendRequestWithJsonAsync<Models.CgibinBusinessListResponse>(flurlReq, data: request, cancellationToken: cancellationToken);
|
||||
}
|
||||
}
|
||||
}
|
@ -50,5 +50,47 @@ namespace SKIT.FlurlHttpClient.Wechat.Api
|
||||
|
||||
return await client.SendRequestWithJsonAsync<Models.CgibinMessageCustomTypingResponse>(flurlReq, data: request, cancellationToken: cancellationToken);
|
||||
}
|
||||
|
||||
#region Business
|
||||
/// <summary>
|
||||
/// <para>异步调用 [POST] /cgi-bin/message/custom/business/send 接口。</para>
|
||||
/// <para>REF: https://developers.weixin.qq.com/miniprogram/introduction/custom.html#%E5%8F%91%E9%80%81%E5%AE%A2%E6%9C%8D%E6%B6%88%E6%81%AF </para>
|
||||
/// </summary>
|
||||
/// <param name="client"></param>
|
||||
/// <param name="request"></param>
|
||||
/// <param name="cancellationToken"></param>
|
||||
/// <returns></returns>
|
||||
public static async Task<Models.CgibinMessageCustomBusinessSendResponse> ExecuteCgibinMessageCustomBusinessSendAsync(this WechatApiClient client, Models.CgibinMessageCustomBusinessSendRequest request, CancellationToken cancellationToken = default)
|
||||
{
|
||||
if (client is null) throw new ArgumentNullException(nameof(client));
|
||||
if (request is null) throw new ArgumentNullException(nameof(request));
|
||||
|
||||
IFlurlRequest flurlReq = client
|
||||
.CreateRequest(request, HttpMethod.Post, "cgi-bin", "message", "custom", "business", "send")
|
||||
.SetQueryParam("access_token", request.AccessToken);
|
||||
|
||||
return await client.SendRequestWithJsonAsync<Models.CgibinMessageCustomBusinessSendResponse>(flurlReq, data: request, cancellationToken: cancellationToken);
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// <para>异步调用 [POST] /cgi-bin/message/custom/business/typing 接口。</para>
|
||||
/// <para>REF: https://developers.weixin.qq.com/miniprogram/introduction/custom.html#%E5%AE%A2%E6%9C%8D%E8%BE%93%E5%85%A5%E7%8A%B6%E6%80%81 </para>
|
||||
/// </summary>
|
||||
/// <param name="client"></param>
|
||||
/// <param name="request"></param>
|
||||
/// <param name="cancellationToken"></param>
|
||||
/// <returns></returns>
|
||||
public static async Task<Models.CgibinMessageCustomBusinessTypingResponse> ExecuteCgibinMessageCustomBusinessTypingAsync(this WechatApiClient client, Models.CgibinMessageCustomBusinessTypingRequest request, CancellationToken cancellationToken = default)
|
||||
{
|
||||
if (client is null) throw new ArgumentNullException(nameof(client));
|
||||
if (request is null) throw new ArgumentNullException(nameof(request));
|
||||
|
||||
IFlurlRequest flurlReq = client
|
||||
.CreateRequest(request, HttpMethod.Post, "cgi-bin", "message", "custom", "business", "typing")
|
||||
.SetQueryParam("access_token", request.AccessToken);
|
||||
|
||||
return await client.SendRequestWithJsonAsync<Models.CgibinMessageCustomBusinessTypingResponse>(flurlReq, data: request, cancellationToken: cancellationToken);
|
||||
}
|
||||
#endregion
|
||||
}
|
||||
}
|
||||
|
@ -0,0 +1,22 @@
|
||||
namespace SKIT.FlurlHttpClient.Wechat.Api.Models
|
||||
{
|
||||
/// <summary>
|
||||
/// <para>表示 [POST] /cgi-bin/business/get 接口的请求。</para>
|
||||
/// </summary>
|
||||
public class CgibinBusinessGetRequest : WechatApiRequest, IInferable<CgibinBusinessGetRequest, CgibinBusinessGetResponse>
|
||||
{
|
||||
/// <summary>
|
||||
/// 获取或设置商户 ID。与字段 <see cref="AccountName"/> 二选一。
|
||||
/// </summary>
|
||||
[Newtonsoft.Json.JsonProperty("business_id")]
|
||||
[System.Text.Json.Serialization.JsonPropertyName("business_id")]
|
||||
public long? BusinessId { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 获取或设置商户账号。与字段 <see cref="BusinessId"/> 二选一。
|
||||
/// </summary>
|
||||
[Newtonsoft.Json.JsonProperty("account_name")]
|
||||
[System.Text.Json.Serialization.JsonPropertyName("account_name")]
|
||||
public string? AccountName { get; set; }
|
||||
}
|
||||
}
|
@ -0,0 +1,49 @@
|
||||
namespace SKIT.FlurlHttpClient.Wechat.Api.Models
|
||||
{
|
||||
/// <summary>
|
||||
/// <para>表示 [POST] /cgi-bin/business/get 接口的响应。</para>
|
||||
/// </summary>
|
||||
public class CgibinBusinessGetResponse : WechatApiResponse
|
||||
{
|
||||
public static class Types
|
||||
{
|
||||
public class BusinessInfo
|
||||
{
|
||||
/// <summary>
|
||||
/// 获取或设置商户 ID。
|
||||
/// </summary>
|
||||
[Newtonsoft.Json.JsonProperty("business_id")]
|
||||
[System.Text.Json.Serialization.JsonPropertyName("business_id")]
|
||||
public long BusinessId { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 获取或设置商户账号。
|
||||
/// </summary>
|
||||
[Newtonsoft.Json.JsonProperty("account_name")]
|
||||
[System.Text.Json.Serialization.JsonPropertyName("account_name")]
|
||||
public string AccountName { get; set; } = default!;
|
||||
|
||||
/// <summary>
|
||||
/// 获取或设置商户昵称。
|
||||
/// </summary>
|
||||
[Newtonsoft.Json.JsonProperty("nickname")]
|
||||
[System.Text.Json.Serialization.JsonPropertyName("nickname")]
|
||||
public string Nickname { get; set; } = default!;
|
||||
|
||||
/// <summary>
|
||||
/// 获取或设置商户头像 URL。
|
||||
/// </summary>
|
||||
[Newtonsoft.Json.JsonProperty("icon_url")]
|
||||
[System.Text.Json.Serialization.JsonPropertyName("icon_url")]
|
||||
public string IconUrl { get; set; } = default!;
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 获取或设置商户信息。
|
||||
/// </summary>
|
||||
[Newtonsoft.Json.JsonProperty("business_info")]
|
||||
[System.Text.Json.Serialization.JsonPropertyName("business_info")]
|
||||
public Types.BusinessInfo BusinessInfo { get; set; } = default!;
|
||||
}
|
||||
}
|
@ -0,0 +1,23 @@
|
||||
namespace SKIT.FlurlHttpClient.Wechat.Api.Models
|
||||
{
|
||||
/// <summary>
|
||||
/// <para>表示 [POST] /cgi-bin/business/list 接口的请求。</para>
|
||||
/// </summary>
|
||||
public class CgibinBusinessListRequest : WechatApiRequest, IInferable<CgibinBusinessListRequest, CgibinBusinessListResponse>
|
||||
{
|
||||
/// <summary>
|
||||
/// 获取或设置分页起始位置。
|
||||
/// </summary>
|
||||
[Newtonsoft.Json.JsonProperty("offset")]
|
||||
[System.Text.Json.Serialization.JsonPropertyName("offset")]
|
||||
public int Offset { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 获取或设置分页每页数量。
|
||||
/// <para>默认值:10</para>
|
||||
/// </summary>
|
||||
[Newtonsoft.Json.JsonProperty("count")]
|
||||
[System.Text.Json.Serialization.JsonPropertyName("count")]
|
||||
public int Limit { get; set; } = 10;
|
||||
}
|
||||
}
|
@ -0,0 +1,22 @@
|
||||
namespace SKIT.FlurlHttpClient.Wechat.Api.Models
|
||||
{
|
||||
/// <summary>
|
||||
/// <para>表示 [POST] /cgi-bin/business/list 接口的响应。</para>
|
||||
/// </summary>
|
||||
public class CgibinBusinessListResponse : WechatApiResponse
|
||||
{
|
||||
public static class Types
|
||||
{
|
||||
public class BusinessInfo : CgibinBusinessGetResponse.Types.BusinessInfo
|
||||
{
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 获取或设置商户列表。
|
||||
/// </summary>
|
||||
[Newtonsoft.Json.JsonProperty("list")]
|
||||
[System.Text.Json.Serialization.JsonPropertyName("list")]
|
||||
public Types.BusinessInfo[] BusinessList { get; set; } = default!;
|
||||
}
|
||||
}
|
@ -0,0 +1,29 @@
|
||||
namespace SKIT.FlurlHttpClient.Wechat.Api.Models
|
||||
{
|
||||
/// <summary>
|
||||
/// <para>表示 [POST] /cgi-bin/business/register 接口的请求。</para>
|
||||
/// </summary>
|
||||
public class CgibinBusinessRegisterRequest : WechatApiRequest, IInferable<CgibinBusinessRegisterRequest, CgibinBusinessRegisterResponse>
|
||||
{
|
||||
/// <summary>
|
||||
/// 获取或设置商户账号。
|
||||
/// </summary>
|
||||
[Newtonsoft.Json.JsonProperty("account_name")]
|
||||
[System.Text.Json.Serialization.JsonPropertyName("account_name")]
|
||||
public string AccountName { get; set; } = string.Empty;
|
||||
|
||||
/// <summary>
|
||||
/// 获取或设置商户昵称。
|
||||
/// </summary>
|
||||
[Newtonsoft.Json.JsonProperty("nickname")]
|
||||
[System.Text.Json.Serialization.JsonPropertyName("nickname")]
|
||||
public string Nickname { get; set; } = string.Empty;
|
||||
|
||||
/// <summary>
|
||||
/// 获取或设置商户头像 MediaId。
|
||||
/// </summary>
|
||||
[Newtonsoft.Json.JsonProperty("icon_media_id")]
|
||||
[System.Text.Json.Serialization.JsonPropertyName("icon_media_id")]
|
||||
public string IconMediaId { get; set; } = string.Empty;
|
||||
}
|
||||
}
|
@ -0,0 +1,15 @@
|
||||
namespace SKIT.FlurlHttpClient.Wechat.Api.Models
|
||||
{
|
||||
/// <summary>
|
||||
/// <para>表示 [POST] /cgi-bin/business/register 接口的响应。</para>
|
||||
/// </summary>
|
||||
public class CgibinBusinessRegisterResponse : WechatApiResponse
|
||||
{
|
||||
/// <summary>
|
||||
/// 获取或设置商户 ID。
|
||||
/// </summary>
|
||||
[Newtonsoft.Json.JsonProperty("business_id")]
|
||||
[System.Text.Json.Serialization.JsonPropertyName("business_id")]
|
||||
public long BusinessId { get; set; }
|
||||
}
|
||||
}
|
@ -0,0 +1,29 @@
|
||||
namespace SKIT.FlurlHttpClient.Wechat.Api.Models
|
||||
{
|
||||
/// <summary>
|
||||
/// <para>表示 [POST] /cgi-bin/business/update 接口的请求。</para>
|
||||
/// </summary>
|
||||
public class CgibinBusinessUpdateRequest : WechatApiRequest, IInferable<CgibinBusinessUpdateRequest, CgibinBusinessUpdateResponse>
|
||||
{
|
||||
/// <summary>
|
||||
/// 获取或设置商户 ID。
|
||||
/// </summary>
|
||||
[Newtonsoft.Json.JsonProperty("business_id")]
|
||||
[System.Text.Json.Serialization.JsonPropertyName("business_id")]
|
||||
public long BusinessId { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 获取或设置商户昵称。
|
||||
/// </summary>
|
||||
[Newtonsoft.Json.JsonProperty("nickname")]
|
||||
[System.Text.Json.Serialization.JsonPropertyName("nickname")]
|
||||
public string? Nickname { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 获取或设置商户头像 MediaId。
|
||||
/// </summary>
|
||||
[Newtonsoft.Json.JsonProperty("icon_media_id")]
|
||||
[System.Text.Json.Serialization.JsonPropertyName("icon_media_id")]
|
||||
public string? IconMediaId { get; set; }
|
||||
}
|
||||
}
|
@ -0,0 +1,9 @@
|
||||
namespace SKIT.FlurlHttpClient.Wechat.Api.Models
|
||||
{
|
||||
/// <summary>
|
||||
/// <para>表示 [POST] /cgi-bin/business/update 接口的响应。</para>
|
||||
/// </summary>
|
||||
public class CgibinBusinessUpdateResponse : WechatApiResponse
|
||||
{
|
||||
}
|
||||
}
|
@ -0,0 +1,15 @@
|
||||
namespace SKIT.FlurlHttpClient.Wechat.Api.Models
|
||||
{
|
||||
/// <summary>
|
||||
/// <para>表示 [POST] /cgi-bin/message/custom/business/send 接口的请求。</para>
|
||||
/// </summary>
|
||||
public class CgibinMessageCustomBusinessSendRequest : CgibinMessageCustomSendRequest, IInferable<CgibinMessageCustomBusinessSendRequest, CgibinMessageCustomBusinessSendResponse>
|
||||
{
|
||||
/// <summary>
|
||||
/// 获取或设置客服子商户 ID。
|
||||
/// </summary>
|
||||
[Newtonsoft.Json.JsonProperty("businessid")]
|
||||
[System.Text.Json.Serialization.JsonPropertyName("businessid")]
|
||||
public long BusinessId { get; set; }
|
||||
}
|
||||
}
|
@ -0,0 +1,9 @@
|
||||
namespace SKIT.FlurlHttpClient.Wechat.Api.Models
|
||||
{
|
||||
/// <summary>
|
||||
/// <para>表示 [POST] /cgi-bin/message/custom/business/send 接口的响应。</para>
|
||||
/// </summary>
|
||||
public class CgibinMessageCustomBusinessSendResponse : WechatApiResponse
|
||||
{
|
||||
}
|
||||
}
|
@ -0,0 +1,15 @@
|
||||
namespace SKIT.FlurlHttpClient.Wechat.Api.Models
|
||||
{
|
||||
/// <summary>
|
||||
/// <para>表示 [POST] /cgi-bin/message/custom/business/typing 接口的请求。</para>
|
||||
/// </summary>
|
||||
public class CgibinMessageCustomBusinessTypingRequest : CgibinMessageCustomTypingRequest, IInferable<CgibinMessageCustomBusinessTypingRequest, CgibinMessageCustomBusinessTypingResponse>
|
||||
{
|
||||
/// <summary>
|
||||
/// 获取或设置客服子商户 ID。
|
||||
/// </summary>
|
||||
[Newtonsoft.Json.JsonProperty("businessid")]
|
||||
[System.Text.Json.Serialization.JsonPropertyName("businessid")]
|
||||
public long BusinessId { get; set; }
|
||||
}
|
||||
}
|
@ -0,0 +1,9 @@
|
||||
namespace SKIT.FlurlHttpClient.Wechat.Api.Models
|
||||
{
|
||||
/// <summary>
|
||||
/// <para>表示 [POST] /cgi-bin/message/custom/business/typing 接口的响应。</para>
|
||||
/// </summary>
|
||||
public class CgibinMessageCustomBusinessTypingResponse : WechatApiResponse
|
||||
{
|
||||
}
|
||||
}
|
@ -0,0 +1,9 @@
|
||||
{
|
||||
"ToUserName": "toUser",
|
||||
"FromUserName": "fromUser",
|
||||
"CreateTime": 1482048670,
|
||||
"MsgType": "text",
|
||||
"Content": "this is a test",
|
||||
"MsgId": 1234567890123456,
|
||||
"BusinessId": 1
|
||||
}
|
@ -5,4 +5,5 @@
|
||||
<MsgType><![CDATA[text]]></MsgType>
|
||||
<Content><![CDATA[this is a test]]></Content>
|
||||
<MsgId>1234567890123456</MsgId>
|
||||
<BusinessId>1</BusinessId>
|
||||
</xml>
|
||||
|
@ -0,0 +1,4 @@
|
||||
{
|
||||
"business_id": 1,
|
||||
"account_name": "apple"
|
||||
}
|
@ -0,0 +1,8 @@
|
||||
{
|
||||
"business_info": {
|
||||
"business_id": 1,
|
||||
"account_name": "apple",
|
||||
"nickname": "苹果",
|
||||
"icon_url": "icon_url"
|
||||
}
|
||||
}
|
@ -0,0 +1,4 @@
|
||||
{
|
||||
"offset": 0,
|
||||
"count": 100
|
||||
}
|
@ -0,0 +1,16 @@
|
||||
{
|
||||
"list": [
|
||||
{
|
||||
"business_id": 1,
|
||||
"account_name": "apple",
|
||||
"nickname": "苹果",
|
||||
"icon_url": "icon_url"
|
||||
},
|
||||
{
|
||||
"business_id": 2,
|
||||
"account_name": "apple",
|
||||
"nickname": "苹果",
|
||||
"icon_url": "icon_url"
|
||||
}
|
||||
]
|
||||
}
|
@ -0,0 +1,5 @@
|
||||
{
|
||||
"account_name": "apple",
|
||||
"nickname": "苹果",
|
||||
"icon_media_id": "media_id"
|
||||
}
|
@ -0,0 +1,3 @@
|
||||
{
|
||||
"business_id": 1
|
||||
}
|
@ -0,0 +1,5 @@
|
||||
{
|
||||
"business_id": 1,
|
||||
"nickname": "苹果",
|
||||
"icon_media_id": ""
|
||||
}
|
@ -0,0 +1,8 @@
|
||||
{
|
||||
"touser": "OPENID",
|
||||
"businessid": 1,
|
||||
"msgtype": "text",
|
||||
"text": {
|
||||
"content": "Hello World"
|
||||
}
|
||||
}
|
@ -0,0 +1,5 @@
|
||||
{
|
||||
"businessid": 1,
|
||||
"touser": "OPENID",
|
||||
"command": "Typing"
|
||||
}
|
Loading…
Reference in New Issue
Block a user