From 36f32e726389062f44a5768a6110e555a03ecc56 Mon Sep 17 00:00:00 2001 From: Fu Diwei Date: Thu, 30 Sep 2021 16:07:25 +0800 Subject: [PATCH] =?UTF-8?q?feat(work):=20=E6=96=B0=E5=A2=9E=E5=AE=A2?= =?UTF-8?q?=E6=9C=8D=E8=B4=A6=E5=8F=B7=E7=AE=A1=E7=90=86=E7=9B=B8=E5=85=B3?= =?UTF-8?q?=E6=8E=A5=E5=8F=A3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ...chatWorkClientExecuteCgibinKfExtensions.cs | 119 ++++++++++++++++++ .../Account/CgibinKfAccountAddRequest.cs | 22 ++++ .../Account/CgibinKfAccountAddResponse.cs | 15 +++ .../Account/CgibinKfAccountDeleteRequest.cs | 15 +++ .../Account/CgibinKfAccountDeleteResponse.cs | 9 ++ .../Account/CgibinKfAccountListRequest.cs | 9 ++ .../Account/CgibinKfAccountListResponse.cs | 42 +++++++ .../Account/CgibinKfAccountUpdateRequest.cs | 29 +++++ .../Account/CgibinKfAccountUpdateResponse.cs | 9 ++ .../Account/CgibinKfAddContactWayRequest.cs | 22 ++++ .../Account/CgibinKfAddContactWayResponse.cs | 15 +++ .../Account/CgibinKfAccountAddRequest.json | 4 + .../Account/CgibinKfAccountAddResponse.json | 5 + .../Account/CgibinKfAccountDeleteRequest.json | 3 + .../CgibinKfAccountDeleteResponse.json | 4 + .../Account/CgibinKfAccountListRequest.json | 1 + .../Account/CgibinKfAccountListResponse.json | 11 ++ .../Account/CgibinKfAccountUpdateRequest.json | 5 + .../CgibinKfAccountUpdateResponse.json | 4 + .../Account/CgibinKfAddContactWayRequest.json | 4 + .../CgibinKfAddContactWayResponse.json | 5 + 21 files changed, 352 insertions(+) create mode 100644 src/SKIT.FlurlHttpClient.Wechat.Work/Extensions/WechatWorkClientExecuteCgibinKfExtensions.cs create mode 100644 src/SKIT.FlurlHttpClient.Wechat.Work/Models/CgibinKf/Account/CgibinKfAccountAddRequest.cs create mode 100644 src/SKIT.FlurlHttpClient.Wechat.Work/Models/CgibinKf/Account/CgibinKfAccountAddResponse.cs create mode 100644 src/SKIT.FlurlHttpClient.Wechat.Work/Models/CgibinKf/Account/CgibinKfAccountDeleteRequest.cs create mode 100644 src/SKIT.FlurlHttpClient.Wechat.Work/Models/CgibinKf/Account/CgibinKfAccountDeleteResponse.cs create mode 100644 src/SKIT.FlurlHttpClient.Wechat.Work/Models/CgibinKf/Account/CgibinKfAccountListRequest.cs create mode 100644 src/SKIT.FlurlHttpClient.Wechat.Work/Models/CgibinKf/Account/CgibinKfAccountListResponse.cs create mode 100644 src/SKIT.FlurlHttpClient.Wechat.Work/Models/CgibinKf/Account/CgibinKfAccountUpdateRequest.cs create mode 100644 src/SKIT.FlurlHttpClient.Wechat.Work/Models/CgibinKf/Account/CgibinKfAccountUpdateResponse.cs create mode 100644 src/SKIT.FlurlHttpClient.Wechat.Work/Models/CgibinKf/Account/CgibinKfAddContactWayRequest.cs create mode 100644 src/SKIT.FlurlHttpClient.Wechat.Work/Models/CgibinKf/Account/CgibinKfAddContactWayResponse.cs create mode 100644 test/SKIT.FlurlHttpClient.Wechat.Work.UnitTests/ModelSamples/CgibinKf/Account/CgibinKfAccountAddRequest.json create mode 100644 test/SKIT.FlurlHttpClient.Wechat.Work.UnitTests/ModelSamples/CgibinKf/Account/CgibinKfAccountAddResponse.json create mode 100644 test/SKIT.FlurlHttpClient.Wechat.Work.UnitTests/ModelSamples/CgibinKf/Account/CgibinKfAccountDeleteRequest.json create mode 100644 test/SKIT.FlurlHttpClient.Wechat.Work.UnitTests/ModelSamples/CgibinKf/Account/CgibinKfAccountDeleteResponse.json create mode 100644 test/SKIT.FlurlHttpClient.Wechat.Work.UnitTests/ModelSamples/CgibinKf/Account/CgibinKfAccountListRequest.json create mode 100644 test/SKIT.FlurlHttpClient.Wechat.Work.UnitTests/ModelSamples/CgibinKf/Account/CgibinKfAccountListResponse.json create mode 100644 test/SKIT.FlurlHttpClient.Wechat.Work.UnitTests/ModelSamples/CgibinKf/Account/CgibinKfAccountUpdateRequest.json create mode 100644 test/SKIT.FlurlHttpClient.Wechat.Work.UnitTests/ModelSamples/CgibinKf/Account/CgibinKfAccountUpdateResponse.json create mode 100644 test/SKIT.FlurlHttpClient.Wechat.Work.UnitTests/ModelSamples/CgibinKf/Account/CgibinKfAddContactWayRequest.json create mode 100644 test/SKIT.FlurlHttpClient.Wechat.Work.UnitTests/ModelSamples/CgibinKf/Account/CgibinKfAddContactWayResponse.json diff --git a/src/SKIT.FlurlHttpClient.Wechat.Work/Extensions/WechatWorkClientExecuteCgibinKfExtensions.cs b/src/SKIT.FlurlHttpClient.Wechat.Work/Extensions/WechatWorkClientExecuteCgibinKfExtensions.cs new file mode 100644 index 00000000..55adb9fe --- /dev/null +++ b/src/SKIT.FlurlHttpClient.Wechat.Work/Extensions/WechatWorkClientExecuteCgibinKfExtensions.cs @@ -0,0 +1,119 @@ +using System; +using System.Net.Http; +using System.Threading; +using System.Threading.Tasks; +using Flurl; +using Flurl.Http; + +namespace SKIT.FlurlHttpClient.Wechat.Work +{ + public static class WechatWorkClientExecuteCgibinKfExtensions + { + #region Account + /// + /// 异步调用 [POST] /cgi-bin/kf/account/add 接口。 + /// REF: https://open.work.weixin.qq.com/api/doc/90000/90135/94662 + /// REF: https://open.work.weixin.qq.com/api/doc/90001/90143/94688 + /// + /// + /// + /// + /// + public static async Task ExecuteCgibinKfAccountAddAsync(this WechatWorkClient client, Models.CgibinKfAccountAddRequest 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", "kf", "account", "add") + .SetQueryParam("access_token", request.AccessToken); + + return await client.SendRequestWithJsonAsync(flurlReq, data: request, cancellationToken: cancellationToken); + } + + /// + /// 异步调用 [POST] /cgi-bin/kf/account/list 接口。 + /// REF: https://open.work.weixin.qq.com/api/doc/90000/90135/94661 + /// REF: https://open.work.weixin.qq.com/api/doc/90001/90143/94691 + /// + /// + /// + /// + /// + public static async Task ExecuteCgibinKfAccountListAsync(this WechatWorkClient client, Models.CgibinKfAccountListRequest 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", "kf", "account", "list") + .SetQueryParam("access_token", request.AccessToken); + + return await client.SendRequestWithJsonAsync(flurlReq, data: request, cancellationToken: cancellationToken); + } + + /// + /// 异步调用 [POST] /cgi-bin/kf/account/update 接口。 + /// REF: https://open.work.weixin.qq.com/api/doc/90000/90135/94664 + /// REF: https://open.work.weixin.qq.com/api/doc/90001/90143/94690 + /// + /// + /// + /// + /// + public static async Task ExecuteCgibinKfAccountUpdateAsync(this WechatWorkClient client, Models.CgibinKfAccountUpdateRequest 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", "kf", "account", "update") + .SetQueryParam("access_token", request.AccessToken); + + return await client.SendRequestWithJsonAsync(flurlReq, data: request, cancellationToken: cancellationToken); + } + + /// + /// 异步调用 [POST] /cgi-bin/kf/account/del 接口。 + /// REF: https://open.work.weixin.qq.com/api/doc/90000/90135/94663 + /// REF: https://open.work.weixin.qq.com/api/doc/90001/90143/94689 + /// + /// + /// + /// + /// + public static async Task ExecuteCgibinKfAccountDeleteAsync(this WechatWorkClient client, Models.CgibinKfAccountDeleteRequest 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", "kf", "account", "del") + .SetQueryParam("access_token", request.AccessToken); + + return await client.SendRequestWithJsonAsync(flurlReq, data: request, cancellationToken: cancellationToken); + } + + /// + /// 异步调用 [POST] /cgi-bin/kf/add_contact_way 接口。 + /// REF: https://open.work.weixin.qq.com/api/doc/90000/90135/94665 + /// REF: https://open.work.weixin.qq.com/api/doc/90001/90143/94692 + /// + /// + /// + /// + /// + public static async Task ExecuteCgibinKfAddContactWayAsync(this WechatWorkClient client, Models.CgibinKfAddContactWayRequest 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", "kf", "add_contact_way") + .SetQueryParam("access_token", request.AccessToken); + + return await client.SendRequestWithJsonAsync(flurlReq, data: request, cancellationToken: cancellationToken); + } + #endregion + } +} diff --git a/src/SKIT.FlurlHttpClient.Wechat.Work/Models/CgibinKf/Account/CgibinKfAccountAddRequest.cs b/src/SKIT.FlurlHttpClient.Wechat.Work/Models/CgibinKf/Account/CgibinKfAccountAddRequest.cs new file mode 100644 index 00000000..c9f7f62d --- /dev/null +++ b/src/SKIT.FlurlHttpClient.Wechat.Work/Models/CgibinKf/Account/CgibinKfAccountAddRequest.cs @@ -0,0 +1,22 @@ +namespace SKIT.FlurlHttpClient.Wechat.Work.Models +{ + /// + /// 表示 [POST] /cgi-bin/kf/account/add 接口的请求。 + /// + public class CgibinKfAccountAddRequest : WechatWorkRequest + { + /// + /// 获取或设置客服名称。 + /// + [Newtonsoft.Json.JsonProperty("name")] + [System.Text.Json.Serialization.JsonPropertyName("name")] + public string Name { get; set; } = string.Empty; + + /// + /// 获取或设置头像的 MediaId。 + /// + [Newtonsoft.Json.JsonProperty("media_id")] + [System.Text.Json.Serialization.JsonPropertyName("media_id")] + public string AvatarMediaId { get; set; } = string.Empty; + } +} diff --git a/src/SKIT.FlurlHttpClient.Wechat.Work/Models/CgibinKf/Account/CgibinKfAccountAddResponse.cs b/src/SKIT.FlurlHttpClient.Wechat.Work/Models/CgibinKf/Account/CgibinKfAccountAddResponse.cs new file mode 100644 index 00000000..b9b6d091 --- /dev/null +++ b/src/SKIT.FlurlHttpClient.Wechat.Work/Models/CgibinKf/Account/CgibinKfAccountAddResponse.cs @@ -0,0 +1,15 @@ +namespace SKIT.FlurlHttpClient.Wechat.Work.Models +{ + /// + /// 表示 [POST] /cgi-bin/kf/account/add 接口的响应。 + /// + public class CgibinKfAccountAddResponse : WechatWorkResponse + { + /// + /// 获取或设置客服账号 ID。 + /// + [Newtonsoft.Json.JsonProperty("open_kfid")] + [System.Text.Json.Serialization.JsonPropertyName("open_kfid")] + public string OpenKfId { get; set; } = default!; + } +} diff --git a/src/SKIT.FlurlHttpClient.Wechat.Work/Models/CgibinKf/Account/CgibinKfAccountDeleteRequest.cs b/src/SKIT.FlurlHttpClient.Wechat.Work/Models/CgibinKf/Account/CgibinKfAccountDeleteRequest.cs new file mode 100644 index 00000000..faf7e289 --- /dev/null +++ b/src/SKIT.FlurlHttpClient.Wechat.Work/Models/CgibinKf/Account/CgibinKfAccountDeleteRequest.cs @@ -0,0 +1,15 @@ +namespace SKIT.FlurlHttpClient.Wechat.Work.Models +{ + /// + /// 表示 [POST] /cgi-bin/kf/account/del 接口的请求。 + /// + public class CgibinKfAccountDeleteRequest : WechatWorkRequest + { + /// + /// 获取或设置客服账号 ID。 + /// + [Newtonsoft.Json.JsonProperty("open_kfid")] + [System.Text.Json.Serialization.JsonPropertyName("open_kfid")] + public string OpenKfId { get; set; } = string.Empty; + } +} diff --git a/src/SKIT.FlurlHttpClient.Wechat.Work/Models/CgibinKf/Account/CgibinKfAccountDeleteResponse.cs b/src/SKIT.FlurlHttpClient.Wechat.Work/Models/CgibinKf/Account/CgibinKfAccountDeleteResponse.cs new file mode 100644 index 00000000..db184a9d --- /dev/null +++ b/src/SKIT.FlurlHttpClient.Wechat.Work/Models/CgibinKf/Account/CgibinKfAccountDeleteResponse.cs @@ -0,0 +1,9 @@ +namespace SKIT.FlurlHttpClient.Wechat.Work.Models +{ + /// + /// 表示 [POST] /cgi-bin/kf/account/del 接口的响应。 + /// + public class CgibinKfAccountDeleteResponse : WechatWorkResponse + { + } +} diff --git a/src/SKIT.FlurlHttpClient.Wechat.Work/Models/CgibinKf/Account/CgibinKfAccountListRequest.cs b/src/SKIT.FlurlHttpClient.Wechat.Work/Models/CgibinKf/Account/CgibinKfAccountListRequest.cs new file mode 100644 index 00000000..d6210247 --- /dev/null +++ b/src/SKIT.FlurlHttpClient.Wechat.Work/Models/CgibinKf/Account/CgibinKfAccountListRequest.cs @@ -0,0 +1,9 @@ +namespace SKIT.FlurlHttpClient.Wechat.Work.Models +{ + /// + /// 表示 [POST] /cgi-bin/kf/account/list 接口的请求。 + /// + public class CgibinKfAccountListRequest : WechatWorkRequest + { + } +} diff --git a/src/SKIT.FlurlHttpClient.Wechat.Work/Models/CgibinKf/Account/CgibinKfAccountListResponse.cs b/src/SKIT.FlurlHttpClient.Wechat.Work/Models/CgibinKf/Account/CgibinKfAccountListResponse.cs new file mode 100644 index 00000000..33599f8d --- /dev/null +++ b/src/SKIT.FlurlHttpClient.Wechat.Work/Models/CgibinKf/Account/CgibinKfAccountListResponse.cs @@ -0,0 +1,42 @@ +namespace SKIT.FlurlHttpClient.Wechat.Work.Models +{ + /// + /// 表示 [POST] /cgi-bin/kf/account/list 接口的响应。 + /// + public class CgibinKfAccountListResponse : WechatWorkResponse + { + public static class Types + { + public class KfAccount + { + /// + /// 获取或设置客服账号 ID。 + /// + [Newtonsoft.Json.JsonProperty("open_kfid")] + [System.Text.Json.Serialization.JsonPropertyName("open_kfid")] + public string OpenKfId { get; set; } = default!; + + /// + /// 获取或设置客服名称。 + /// + [Newtonsoft.Json.JsonProperty("name")] + [System.Text.Json.Serialization.JsonPropertyName("name")] + public string Name { get; set; } = default!; + + /// + /// 获取或设置头像 URL。 + /// + [Newtonsoft.Json.JsonProperty("avatar")] + [System.Text.Json.Serialization.JsonPropertyName("avatar")] + public string AvatarUrl { get; set; } = default!; + } + } + + /// + /// 获取或设置客服账号列表。 + /// + [Newtonsoft.Json.JsonProperty("account_list")] + [System.Text.Json.Serialization.JsonPropertyName("account_list")] + public Types.KfAccount[] KfAccountList { get; set; } = default!; + } +} diff --git a/src/SKIT.FlurlHttpClient.Wechat.Work/Models/CgibinKf/Account/CgibinKfAccountUpdateRequest.cs b/src/SKIT.FlurlHttpClient.Wechat.Work/Models/CgibinKf/Account/CgibinKfAccountUpdateRequest.cs new file mode 100644 index 00000000..72eaec62 --- /dev/null +++ b/src/SKIT.FlurlHttpClient.Wechat.Work/Models/CgibinKf/Account/CgibinKfAccountUpdateRequest.cs @@ -0,0 +1,29 @@ +namespace SKIT.FlurlHttpClient.Wechat.Work.Models +{ + /// + /// 表示 [POST] /cgi-bin/kf/account/update 接口的请求。 + /// + public class CgibinKfAccountUpdateRequest : WechatWorkRequest + { + /// + /// 获取或设置客服账号 ID。 + /// + [Newtonsoft.Json.JsonProperty("open_kfid")] + [System.Text.Json.Serialization.JsonPropertyName("open_kfid")] + public string OpenKfId { get; set; } = string.Empty; + + /// + /// 获取或设置客服名称。 + /// + [Newtonsoft.Json.JsonProperty("name")] + [System.Text.Json.Serialization.JsonPropertyName("name")] + public string? Name { get; set; } + + /// + /// 获取或设置头像的 MediaId。 + /// + [Newtonsoft.Json.JsonProperty("media_id")] + [System.Text.Json.Serialization.JsonPropertyName("media_id")] + public string? AvatarMediaId { get; set; } + } +} diff --git a/src/SKIT.FlurlHttpClient.Wechat.Work/Models/CgibinKf/Account/CgibinKfAccountUpdateResponse.cs b/src/SKIT.FlurlHttpClient.Wechat.Work/Models/CgibinKf/Account/CgibinKfAccountUpdateResponse.cs new file mode 100644 index 00000000..b4d8d8e7 --- /dev/null +++ b/src/SKIT.FlurlHttpClient.Wechat.Work/Models/CgibinKf/Account/CgibinKfAccountUpdateResponse.cs @@ -0,0 +1,9 @@ +namespace SKIT.FlurlHttpClient.Wechat.Work.Models +{ + /// + /// 表示 [POST] /cgi-bin/kf/account/update 接口的响应。 + /// + public class CgibinKfAccountUpdateResponse : WechatWorkResponse + { + } +} diff --git a/src/SKIT.FlurlHttpClient.Wechat.Work/Models/CgibinKf/Account/CgibinKfAddContactWayRequest.cs b/src/SKIT.FlurlHttpClient.Wechat.Work/Models/CgibinKf/Account/CgibinKfAddContactWayRequest.cs new file mode 100644 index 00000000..aa204c28 --- /dev/null +++ b/src/SKIT.FlurlHttpClient.Wechat.Work/Models/CgibinKf/Account/CgibinKfAddContactWayRequest.cs @@ -0,0 +1,22 @@ +namespace SKIT.FlurlHttpClient.Wechat.Work.Models +{ + /// + /// 表示 [POST] /cgi-bin/kf/add_contact_way 接口的请求。 + /// + public class CgibinKfAddContactWayRequest : WechatWorkRequest + { + /// + /// 获取或设置客服账号 ID。 + /// + [Newtonsoft.Json.JsonProperty("open_kfid")] + [System.Text.Json.Serialization.JsonPropertyName("open_kfid")] + public string OpenKfId { get; set; } = string.Empty; + + /// + /// 获取或设置场景值。 + /// + [Newtonsoft.Json.JsonProperty("scene")] + [System.Text.Json.Serialization.JsonPropertyName("scene")] + public string? Scene { get; set; } + } +} diff --git a/src/SKIT.FlurlHttpClient.Wechat.Work/Models/CgibinKf/Account/CgibinKfAddContactWayResponse.cs b/src/SKIT.FlurlHttpClient.Wechat.Work/Models/CgibinKf/Account/CgibinKfAddContactWayResponse.cs new file mode 100644 index 00000000..6bcc69dc --- /dev/null +++ b/src/SKIT.FlurlHttpClient.Wechat.Work/Models/CgibinKf/Account/CgibinKfAddContactWayResponse.cs @@ -0,0 +1,15 @@ +namespace SKIT.FlurlHttpClient.Wechat.Work.Models +{ + /// + /// 表示 [POST] /cgi-bin/kf/add_contact_way 接口的响应。 + /// + public class CgibinKfAddContactWayResponse : WechatWorkResponse + { + /// + /// 获取或设置客服链接。 + /// + [Newtonsoft.Json.JsonProperty("url")] + [System.Text.Json.Serialization.JsonPropertyName("url")] + public string OpenKfId { get; set; } = default!; + } +} diff --git a/test/SKIT.FlurlHttpClient.Wechat.Work.UnitTests/ModelSamples/CgibinKf/Account/CgibinKfAccountAddRequest.json b/test/SKIT.FlurlHttpClient.Wechat.Work.UnitTests/ModelSamples/CgibinKf/Account/CgibinKfAccountAddRequest.json new file mode 100644 index 00000000..7542f85b --- /dev/null +++ b/test/SKIT.FlurlHttpClient.Wechat.Work.UnitTests/ModelSamples/CgibinKf/Account/CgibinKfAccountAddRequest.json @@ -0,0 +1,4 @@ +{ + "name": "新建的客服帐号", + "media_id": "294DpAog3YA5b9rTK4PjjfRfYLO0L5qpDHAJIzhhQ2jAEWjb9i661Q4lk8oFnPtmj" +} \ No newline at end of file diff --git a/test/SKIT.FlurlHttpClient.Wechat.Work.UnitTests/ModelSamples/CgibinKf/Account/CgibinKfAccountAddResponse.json b/test/SKIT.FlurlHttpClient.Wechat.Work.UnitTests/ModelSamples/CgibinKf/Account/CgibinKfAccountAddResponse.json new file mode 100644 index 00000000..ee0a11f1 --- /dev/null +++ b/test/SKIT.FlurlHttpClient.Wechat.Work.UnitTests/ModelSamples/CgibinKf/Account/CgibinKfAccountAddResponse.json @@ -0,0 +1,5 @@ +{ + "errcode": 0, + "errmsg": "ok", + "open_kfid": "wkAJ2GCAAAZSfhHCt7IFSvLKtMPxyJTw" +} \ No newline at end of file diff --git a/test/SKIT.FlurlHttpClient.Wechat.Work.UnitTests/ModelSamples/CgibinKf/Account/CgibinKfAccountDeleteRequest.json b/test/SKIT.FlurlHttpClient.Wechat.Work.UnitTests/ModelSamples/CgibinKf/Account/CgibinKfAccountDeleteRequest.json new file mode 100644 index 00000000..70f999da --- /dev/null +++ b/test/SKIT.FlurlHttpClient.Wechat.Work.UnitTests/ModelSamples/CgibinKf/Account/CgibinKfAccountDeleteRequest.json @@ -0,0 +1,3 @@ +{ + "open_kfid": "wkAJ2GCAAAZSfhHCt7IFSvLKtMPxyJTw" +} \ No newline at end of file diff --git a/test/SKIT.FlurlHttpClient.Wechat.Work.UnitTests/ModelSamples/CgibinKf/Account/CgibinKfAccountDeleteResponse.json b/test/SKIT.FlurlHttpClient.Wechat.Work.UnitTests/ModelSamples/CgibinKf/Account/CgibinKfAccountDeleteResponse.json new file mode 100644 index 00000000..f752befe --- /dev/null +++ b/test/SKIT.FlurlHttpClient.Wechat.Work.UnitTests/ModelSamples/CgibinKf/Account/CgibinKfAccountDeleteResponse.json @@ -0,0 +1,4 @@ +{ + "errcode": 0, + "errmsg": "ok" +} \ No newline at end of file diff --git a/test/SKIT.FlurlHttpClient.Wechat.Work.UnitTests/ModelSamples/CgibinKf/Account/CgibinKfAccountListRequest.json b/test/SKIT.FlurlHttpClient.Wechat.Work.UnitTests/ModelSamples/CgibinKf/Account/CgibinKfAccountListRequest.json new file mode 100644 index 00000000..22fdca1b --- /dev/null +++ b/test/SKIT.FlurlHttpClient.Wechat.Work.UnitTests/ModelSamples/CgibinKf/Account/CgibinKfAccountListRequest.json @@ -0,0 +1 @@ +{} \ No newline at end of file diff --git a/test/SKIT.FlurlHttpClient.Wechat.Work.UnitTests/ModelSamples/CgibinKf/Account/CgibinKfAccountListResponse.json b/test/SKIT.FlurlHttpClient.Wechat.Work.UnitTests/ModelSamples/CgibinKf/Account/CgibinKfAccountListResponse.json new file mode 100644 index 00000000..c75db2bc --- /dev/null +++ b/test/SKIT.FlurlHttpClient.Wechat.Work.UnitTests/ModelSamples/CgibinKf/Account/CgibinKfAccountListResponse.json @@ -0,0 +1,11 @@ +{ + "errcode": 0, + "errmsg": "ok", + "account_list": [ + { + "open_kfid": "wkAJ2GCAAASSm4_FhToWMFea0xAFfd3Q", + "name": "咨询客服", + "avatar": "https://wework.qpic.cn/wwhead/duc2TvpEgSSjibPZlNR6chpx9W3dtd9Ogp8XEmSNKGa6uufMWn2239HUPuwIFoYYZ7Ph580FPvo8/0" + } + ] +} \ No newline at end of file diff --git a/test/SKIT.FlurlHttpClient.Wechat.Work.UnitTests/ModelSamples/CgibinKf/Account/CgibinKfAccountUpdateRequest.json b/test/SKIT.FlurlHttpClient.Wechat.Work.UnitTests/ModelSamples/CgibinKf/Account/CgibinKfAccountUpdateRequest.json new file mode 100644 index 00000000..892197b1 --- /dev/null +++ b/test/SKIT.FlurlHttpClient.Wechat.Work.UnitTests/ModelSamples/CgibinKf/Account/CgibinKfAccountUpdateRequest.json @@ -0,0 +1,5 @@ +{ + "open_kfid": "wkAJ2GCAAAZSfhHCt7IFSvLKtMPxyJTw", + "name": "修改客服名", + "media_id": "294DpAog3YA5b9rTK4PjjfRfYLO0L5qpDHAJIzhhQ2jAEWjb9i661Q4lk8oFnPtmj" +} \ No newline at end of file diff --git a/test/SKIT.FlurlHttpClient.Wechat.Work.UnitTests/ModelSamples/CgibinKf/Account/CgibinKfAccountUpdateResponse.json b/test/SKIT.FlurlHttpClient.Wechat.Work.UnitTests/ModelSamples/CgibinKf/Account/CgibinKfAccountUpdateResponse.json new file mode 100644 index 00000000..f752befe --- /dev/null +++ b/test/SKIT.FlurlHttpClient.Wechat.Work.UnitTests/ModelSamples/CgibinKf/Account/CgibinKfAccountUpdateResponse.json @@ -0,0 +1,4 @@ +{ + "errcode": 0, + "errmsg": "ok" +} \ No newline at end of file diff --git a/test/SKIT.FlurlHttpClient.Wechat.Work.UnitTests/ModelSamples/CgibinKf/Account/CgibinKfAddContactWayRequest.json b/test/SKIT.FlurlHttpClient.Wechat.Work.UnitTests/ModelSamples/CgibinKf/Account/CgibinKfAddContactWayRequest.json new file mode 100644 index 00000000..9fb7b946 --- /dev/null +++ b/test/SKIT.FlurlHttpClient.Wechat.Work.UnitTests/ModelSamples/CgibinKf/Account/CgibinKfAddContactWayRequest.json @@ -0,0 +1,4 @@ +{ + "open_kfid": "OPEN_KFID", + "scene": "12345" +} \ No newline at end of file diff --git a/test/SKIT.FlurlHttpClient.Wechat.Work.UnitTests/ModelSamples/CgibinKf/Account/CgibinKfAddContactWayResponse.json b/test/SKIT.FlurlHttpClient.Wechat.Work.UnitTests/ModelSamples/CgibinKf/Account/CgibinKfAddContactWayResponse.json new file mode 100644 index 00000000..83b18751 --- /dev/null +++ b/test/SKIT.FlurlHttpClient.Wechat.Work.UnitTests/ModelSamples/CgibinKf/Account/CgibinKfAddContactWayResponse.json @@ -0,0 +1,5 @@ +{ + "errcode": 0, + "errmsg": "ok", + "url": "https://work.weixin.qq.com/kf/kfcbf8f8d07ac7215f?enc_scene=ENCGFSDF567DF" +} \ No newline at end of file