diff --git a/src/SKIT.FlurlHttpClient.Wechat.Work/Extensions/WechatWorkClientExecuteCgibinExternalContactExtensions.cs b/src/SKIT.FlurlHttpClient.Wechat.Work/Extensions/WechatWorkClientExecuteCgibinExternalContactExtensions.cs
index 5238875d..e2b55189 100644
--- a/src/SKIT.FlurlHttpClient.Wechat.Work/Extensions/WechatWorkClientExecuteCgibinExternalContactExtensions.cs
+++ b/src/SKIT.FlurlHttpClient.Wechat.Work/Extensions/WechatWorkClientExecuteCgibinExternalContactExtensions.cs
@@ -1540,7 +1540,7 @@ namespace SKIT.FlurlHttpClient.Wechat.Work
}
///
- /// 异步调用 [POST] /cgi-bin/externalcontact/get_intercept_rule_list 接口。
+ /// 异步调用 [GET] /cgi-bin/externalcontact/get_intercept_rule_list 接口。
/// REF: https://open.work.weixin.qq.com/api/doc/90000/90135/95097
/// REF: https://open.work.weixin.qq.com/api/doc/90001/90143/95130
///
@@ -1554,10 +1554,10 @@ namespace SKIT.FlurlHttpClient.Wechat.Work
if (request is null) throw new ArgumentNullException(nameof(request));
IFlurlRequest flurlReq = client
- .CreateRequest(request, HttpMethod.Post, "cgi-bin", "externalcontact", "get_intercept_rule_list")
+ .CreateRequest(request, HttpMethod.Get, "cgi-bin", "externalcontact", "get_intercept_rule_list")
.SetQueryParam("access_token", request.AccessToken);
- return await client.SendRequestWithJsonAsync(flurlReq, data: request, cancellationToken: cancellationToken);
+ return await client.SendRequestWithJsonAsync(flurlReq, cancellationToken: cancellationToken);
}
///
diff --git a/src/SKIT.FlurlHttpClient.Wechat.Work/Extensions/WechatWorkClientExecuteCgibinKfExtensions.cs b/src/SKIT.FlurlHttpClient.Wechat.Work/Extensions/WechatWorkClientExecuteCgibinKfExtensions.cs
index 55adb9fe..fc9d5750 100644
--- a/src/SKIT.FlurlHttpClient.Wechat.Work/Extensions/WechatWorkClientExecuteCgibinKfExtensions.cs
+++ b/src/SKIT.FlurlHttpClient.Wechat.Work/Extensions/WechatWorkClientExecuteCgibinKfExtensions.cs
@@ -32,7 +32,7 @@ namespace SKIT.FlurlHttpClient.Wechat.Work
}
///
- /// 异步调用 [POST] /cgi-bin/kf/account/list 接口。
+ /// 异步调用 [GET] /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
///
@@ -46,7 +46,7 @@ namespace SKIT.FlurlHttpClient.Wechat.Work
if (request is null) throw new ArgumentNullException(nameof(request));
IFlurlRequest flurlReq = client
- .CreateRequest(request, HttpMethod.Post, "cgi-bin", "kf", "account", "list")
+ .CreateRequest(request, HttpMethod.Get, "cgi-bin", "kf", "account", "list")
.SetQueryParam("access_token", request.AccessToken);
return await client.SendRequestWithJsonAsync(flurlReq, data: request, cancellationToken: cancellationToken);
@@ -115,5 +115,71 @@ namespace SKIT.FlurlHttpClient.Wechat.Work
return await client.SendRequestWithJsonAsync(flurlReq, data: request, cancellationToken: cancellationToken);
}
#endregion
+
+ #region Servicer
+ ///
+ /// 异步调用 [POST] /cgi-bin/kf/servicer/add 接口。
+ /// REF: https://open.work.weixin.qq.com/api/doc/90000/90135/94646
+ /// REF: https://open.work.weixin.qq.com/api/doc/90001/90143/94695
+ ///
+ ///
+ ///
+ ///
+ ///
+ public static async Task ExecuteCgibinKfServicerAddAsync(this WechatWorkClient client, Models.CgibinKfServicerAddRequest 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", "servicer", "add")
+ .SetQueryParam("access_token", request.AccessToken);
+
+ return await client.SendRequestWithJsonAsync(flurlReq, data: request, cancellationToken: cancellationToken);
+ }
+
+ ///
+ /// 异步调用 [POST] /cgi-bin/kf/servicer/del 接口。
+ /// REF: https://open.work.weixin.qq.com/api/doc/90000/90135/94647
+ /// REF: https://open.work.weixin.qq.com/api/doc/90001/90143/94696
+ ///
+ ///
+ ///
+ ///
+ ///
+ public static async Task ExecuteCgibinKfServicerDeleteAsync(this WechatWorkClient client, Models.CgibinKfServicerDeleteRequest 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", "servicer", "del")
+ .SetQueryParam("access_token", request.AccessToken);
+
+ return await client.SendRequestWithJsonAsync(flurlReq, data: request, cancellationToken: cancellationToken);
+ }
+
+ ///
+ /// 异步调用 [GET] /cgi-bin/kf/servicer/list 接口。
+ /// REF: https://open.work.weixin.qq.com/api/doc/90000/90135/94645
+ /// REF: https://open.work.weixin.qq.com/api/doc/90001/90143/94697
+ ///
+ ///
+ ///
+ ///
+ ///
+ public static async Task ExecuteCgibinKfServicerListAsync(this WechatWorkClient client, Models.CgibinKfServicerListRequest 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.Get, "cgi-bin", "kf", "servicer", "list")
+ .SetQueryParam("access_token", request.AccessToken)
+ .SetQueryParam("open_kfid", request.OpenKfId);
+
+ return await client.SendRequestWithJsonAsync(flurlReq, cancellationToken: cancellationToken);
+ }
+ #endregion
}
}
diff --git a/src/SKIT.FlurlHttpClient.Wechat.Work/Models/CgibinExternalContact/InterceptRule/CgibinExternalContactGetInterceptRuleListRequest.cs b/src/SKIT.FlurlHttpClient.Wechat.Work/Models/CgibinExternalContact/InterceptRule/CgibinExternalContactGetInterceptRuleListRequest.cs
index adab1afc..9f23191e 100644
--- a/src/SKIT.FlurlHttpClient.Wechat.Work/Models/CgibinExternalContact/InterceptRule/CgibinExternalContactGetInterceptRuleListRequest.cs
+++ b/src/SKIT.FlurlHttpClient.Wechat.Work/Models/CgibinExternalContact/InterceptRule/CgibinExternalContactGetInterceptRuleListRequest.cs
@@ -1,7 +1,7 @@
namespace SKIT.FlurlHttpClient.Wechat.Work.Models
{
///
- /// 表示 [POST] /cgi-bin/externalcontact/get_intercept_rule_list 接口的请求。
+ /// 表示 [GET] /cgi-bin/externalcontact/get_intercept_rule_list 接口的请求。
///
public class CgibinExternalContactGetInterceptRuleListRequest : WechatWorkRequest
{
diff --git a/src/SKIT.FlurlHttpClient.Wechat.Work/Models/CgibinExternalContact/InterceptRule/CgibinExternalContactGetInterceptRuleListResponse.cs b/src/SKIT.FlurlHttpClient.Wechat.Work/Models/CgibinExternalContact/InterceptRule/CgibinExternalContactGetInterceptRuleListResponse.cs
index 3b7f28ef..9b40a039 100644
--- a/src/SKIT.FlurlHttpClient.Wechat.Work/Models/CgibinExternalContact/InterceptRule/CgibinExternalContactGetInterceptRuleListResponse.cs
+++ b/src/SKIT.FlurlHttpClient.Wechat.Work/Models/CgibinExternalContact/InterceptRule/CgibinExternalContactGetInterceptRuleListResponse.cs
@@ -1,7 +1,7 @@
namespace SKIT.FlurlHttpClient.Wechat.Work.Models
{
///
- /// 表示 [POST] /cgi-bin/externalcontact/get_intercept_rule_list 接口的响应。
+ /// 表示 [GET] /cgi-bin/externalcontact/get_intercept_rule_list 接口的响应。
///
public class CgibinExternalContactGetInterceptRuleListResponse : 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
index d6210247..bffa1076 100644
--- a/src/SKIT.FlurlHttpClient.Wechat.Work/Models/CgibinKf/Account/CgibinKfAccountListRequest.cs
+++ b/src/SKIT.FlurlHttpClient.Wechat.Work/Models/CgibinKf/Account/CgibinKfAccountListRequest.cs
@@ -1,7 +1,7 @@
namespace SKIT.FlurlHttpClient.Wechat.Work.Models
{
///
- /// 表示 [POST] /cgi-bin/kf/account/list 接口的请求。
+ /// 表示 [GET] /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
index 33599f8d..1b125c96 100644
--- a/src/SKIT.FlurlHttpClient.Wechat.Work/Models/CgibinKf/Account/CgibinKfAccountListResponse.cs
+++ b/src/SKIT.FlurlHttpClient.Wechat.Work/Models/CgibinKf/Account/CgibinKfAccountListResponse.cs
@@ -1,7 +1,7 @@
namespace SKIT.FlurlHttpClient.Wechat.Work.Models
{
///
- /// 表示 [POST] /cgi-bin/kf/account/list 接口的响应。
+ /// 表示 [GET] /cgi-bin/kf/account/list 接口的响应。
///
public class CgibinKfAccountListResponse : WechatWorkResponse
{
diff --git a/src/SKIT.FlurlHttpClient.Wechat.Work/Models/CgibinKf/Servicer/CgibinKfServicerAddRequest.cs b/src/SKIT.FlurlHttpClient.Wechat.Work/Models/CgibinKf/Servicer/CgibinKfServicerAddRequest.cs
new file mode 100644
index 00000000..36341f22
--- /dev/null
+++ b/src/SKIT.FlurlHttpClient.Wechat.Work/Models/CgibinKf/Servicer/CgibinKfServicerAddRequest.cs
@@ -0,0 +1,24 @@
+using System.Collections.Generic;
+
+namespace SKIT.FlurlHttpClient.Wechat.Work.Models
+{
+ ///
+ /// 表示 [POST] /cgi-bin/kf/servicer/add 接口的请求。
+ ///
+ public class CgibinKfServicerAddRequest : WechatWorkRequest
+ {
+ ///
+ /// 获取或设置客服账号 ID。
+ ///
+ [Newtonsoft.Json.JsonProperty("open_kfid")]
+ [System.Text.Json.Serialization.JsonPropertyName("open_kfid")]
+ public string OpenKfId { get; set; } = string.Empty;
+
+ ///
+ /// 获取或设置接待人员的 UserId 列表。
+ ///
+ [Newtonsoft.Json.JsonProperty("userid_list")]
+ [System.Text.Json.Serialization.JsonPropertyName("userid_list")]
+ public IList UserIdList { get; set; } = new List();
+ }
+}
diff --git a/src/SKIT.FlurlHttpClient.Wechat.Work/Models/CgibinKf/Servicer/CgibinKfServicerAddResponse.cs b/src/SKIT.FlurlHttpClient.Wechat.Work/Models/CgibinKf/Servicer/CgibinKfServicerAddResponse.cs
new file mode 100644
index 00000000..bcb1a456
--- /dev/null
+++ b/src/SKIT.FlurlHttpClient.Wechat.Work/Models/CgibinKf/Servicer/CgibinKfServicerAddResponse.cs
@@ -0,0 +1,42 @@
+namespace SKIT.FlurlHttpClient.Wechat.Work.Models
+{
+ ///
+ /// 表示 [POST] /cgi-bin/kf/servicer/add 接口的响应。
+ ///
+ public class CgibinKfServicerAddResponse : WechatWorkResponse
+ {
+ public static class Types
+ {
+ public class Result
+ {
+ ///
+ /// 获取或设置接待人员的 UserId。
+ ///
+ [Newtonsoft.Json.JsonProperty("userid")]
+ [System.Text.Json.Serialization.JsonPropertyName("userid")]
+ public string UserId { get; set; } = default!;
+
+ ///
+ /// 获取或设置错误码。
+ ///
+ [Newtonsoft.Json.JsonProperty("errcode")]
+ [System.Text.Json.Serialization.JsonPropertyName("errcode")]
+ public int ErrorCode { get; set; }
+
+ ///
+ /// 获取或设置错误描述。
+ ///
+ [Newtonsoft.Json.JsonProperty("errmsg")]
+ [System.Text.Json.Serialization.JsonPropertyName("errmsg")]
+ public string ErrorMessage { get; set; } = default!;
+ }
+ }
+
+ ///
+ /// 获取或设置结果列表。
+ ///
+ [Newtonsoft.Json.JsonProperty("result_list")]
+ [System.Text.Json.Serialization.JsonPropertyName("result_list")]
+ public Types.Result[] ResultList { get; set; } = default!;
+ }
+}
diff --git a/src/SKIT.FlurlHttpClient.Wechat.Work/Models/CgibinKf/Servicer/CgibinKfServicerDeleteRequest.cs b/src/SKIT.FlurlHttpClient.Wechat.Work/Models/CgibinKf/Servicer/CgibinKfServicerDeleteRequest.cs
new file mode 100644
index 00000000..2a067605
--- /dev/null
+++ b/src/SKIT.FlurlHttpClient.Wechat.Work/Models/CgibinKf/Servicer/CgibinKfServicerDeleteRequest.cs
@@ -0,0 +1,24 @@
+using System.Collections.Generic;
+
+namespace SKIT.FlurlHttpClient.Wechat.Work.Models
+{
+ ///
+ /// 表示 [POST] /cgi-bin/kf/servicer/del 接口的请求。
+ ///
+ public class CgibinKfServicerDeleteRequest : WechatWorkRequest
+ {
+ ///
+ /// 获取或设置客服账号 ID。
+ ///
+ [Newtonsoft.Json.JsonProperty("open_kfid")]
+ [System.Text.Json.Serialization.JsonPropertyName("open_kfid")]
+ public string OpenKfId { get; set; } = string.Empty;
+
+ ///
+ /// 获取或设置接待人员的 UserId 列表。
+ ///
+ [Newtonsoft.Json.JsonProperty("userid_list")]
+ [System.Text.Json.Serialization.JsonPropertyName("userid_list")]
+ public IList UserIdList { get; set; } = new List();
+ }
+}
diff --git a/src/SKIT.FlurlHttpClient.Wechat.Work/Models/CgibinKf/Servicer/CgibinKfServicerDeleteResponse.cs b/src/SKIT.FlurlHttpClient.Wechat.Work/Models/CgibinKf/Servicer/CgibinKfServicerDeleteResponse.cs
new file mode 100644
index 00000000..df030e81
--- /dev/null
+++ b/src/SKIT.FlurlHttpClient.Wechat.Work/Models/CgibinKf/Servicer/CgibinKfServicerDeleteResponse.cs
@@ -0,0 +1,22 @@
+namespace SKIT.FlurlHttpClient.Wechat.Work.Models
+{
+ ///
+ /// 表示 [POST] /cgi-bin/kf/servicer/del 接口的响应。
+ ///
+ public class CgibinKfServicerDeleteResponse : WechatWorkResponse
+ {
+ public static class Types
+ {
+ public class Result : CgibinKfServicerAddResponse.Types.Result
+ {
+ }
+ }
+
+ ///
+ /// 获取或设置结果列表。
+ ///
+ [Newtonsoft.Json.JsonProperty("result_list")]
+ [System.Text.Json.Serialization.JsonPropertyName("result_list")]
+ public Types.Result[] ResultList { get; set; } = default!;
+ }
+}
diff --git a/src/SKIT.FlurlHttpClient.Wechat.Work/Models/CgibinKf/Servicer/CgibinKfServicerListRequest.cs b/src/SKIT.FlurlHttpClient.Wechat.Work/Models/CgibinKf/Servicer/CgibinKfServicerListRequest.cs
new file mode 100644
index 00000000..735d6de1
--- /dev/null
+++ b/src/SKIT.FlurlHttpClient.Wechat.Work/Models/CgibinKf/Servicer/CgibinKfServicerListRequest.cs
@@ -0,0 +1,15 @@
+namespace SKIT.FlurlHttpClient.Wechat.Work.Models
+{
+ ///
+ /// 表示 [GET] /cgi-bin/kf/servicer/list 接口的请求。
+ ///
+ public class CgibinKfServicerListRequest : WechatWorkRequest
+ {
+ ///
+ /// 获取或设置客服账号 ID。
+ ///
+ [Newtonsoft.Json.JsonIgnore]
+ [System.Text.Json.Serialization.JsonIgnore]
+ public string OpenKfId { get; set; } = string.Empty;
+ }
+}
diff --git a/src/SKIT.FlurlHttpClient.Wechat.Work/Models/CgibinKf/Servicer/CgibinKfServicerListResponse.cs b/src/SKIT.FlurlHttpClient.Wechat.Work/Models/CgibinKf/Servicer/CgibinKfServicerListResponse.cs
new file mode 100644
index 00000000..8e5727a2
--- /dev/null
+++ b/src/SKIT.FlurlHttpClient.Wechat.Work/Models/CgibinKf/Servicer/CgibinKfServicerListResponse.cs
@@ -0,0 +1,35 @@
+namespace SKIT.FlurlHttpClient.Wechat.Work.Models
+{
+ ///
+ /// 表示 [GET] /cgi-bin/kf/servicer/list 接口的响应。
+ ///
+ public class CgibinKfServicerListResponse : WechatWorkResponse
+ {
+ public static class Types
+ {
+ public class Servicer
+ {
+ ///
+ /// 获取或设置接待人员的 UserId。
+ ///
+ [Newtonsoft.Json.JsonProperty("userid")]
+ [System.Text.Json.Serialization.JsonPropertyName("userid")]
+ public string UserId { get; set; } = default!;
+
+ ///
+ /// 获取或设置接待状态。
+ ///
+ [Newtonsoft.Json.JsonProperty("status")]
+ [System.Text.Json.Serialization.JsonPropertyName("status")]
+ public int Status { get; set; }
+ }
+ }
+
+ ///
+ /// 获取或设置接待人员列表。
+ ///
+ [Newtonsoft.Json.JsonProperty("servicer_list")]
+ [System.Text.Json.Serialization.JsonPropertyName("servicer_list")]
+ public Types.Servicer[] ServicerList { get; set; } = default!;
+ }
+}
diff --git a/test/SKIT.FlurlHttpClient.Wechat.Work.UnitTests/ModelSamples/CgibinKf/Servicer/CgibinKfServicerAddRequest.json b/test/SKIT.FlurlHttpClient.Wechat.Work.UnitTests/ModelSamples/CgibinKf/Servicer/CgibinKfServicerAddRequest.json
new file mode 100644
index 00000000..1f062804
--- /dev/null
+++ b/test/SKIT.FlurlHttpClient.Wechat.Work.UnitTests/ModelSamples/CgibinKf/Servicer/CgibinKfServicerAddRequest.json
@@ -0,0 +1,7 @@
+{
+ "open_kfid": "kfxxxxxxxxxxxxxx",
+ "userid_list": [
+ "zhangsan",
+ "lisi"
+ ]
+}
\ No newline at end of file
diff --git a/test/SKIT.FlurlHttpClient.Wechat.Work.UnitTests/ModelSamples/CgibinKf/Servicer/CgibinKfServicerAddResponse.json b/test/SKIT.FlurlHttpClient.Wechat.Work.UnitTests/ModelSamples/CgibinKf/Servicer/CgibinKfServicerAddResponse.json
new file mode 100644
index 00000000..1f11c67f
--- /dev/null
+++ b/test/SKIT.FlurlHttpClient.Wechat.Work.UnitTests/ModelSamples/CgibinKf/Servicer/CgibinKfServicerAddResponse.json
@@ -0,0 +1,16 @@
+{
+ "errcode": 0,
+ "errmsg": "ok",
+ "result_list": [
+ {
+ "userid": "zhangsan",
+ "errcode": 0,
+ "errmsg": "success"
+ },
+ {
+ "userid": "lisi",
+ "errcode": 0,
+ "errmsg": "ignored"
+ }
+ ]
+}
\ No newline at end of file
diff --git a/test/SKIT.FlurlHttpClient.Wechat.Work.UnitTests/ModelSamples/CgibinKf/Servicer/CgibinKfServicerDeleteRequest.json b/test/SKIT.FlurlHttpClient.Wechat.Work.UnitTests/ModelSamples/CgibinKf/Servicer/CgibinKfServicerDeleteRequest.json
new file mode 100644
index 00000000..1f062804
--- /dev/null
+++ b/test/SKIT.FlurlHttpClient.Wechat.Work.UnitTests/ModelSamples/CgibinKf/Servicer/CgibinKfServicerDeleteRequest.json
@@ -0,0 +1,7 @@
+{
+ "open_kfid": "kfxxxxxxxxxxxxxx",
+ "userid_list": [
+ "zhangsan",
+ "lisi"
+ ]
+}
\ No newline at end of file
diff --git a/test/SKIT.FlurlHttpClient.Wechat.Work.UnitTests/ModelSamples/CgibinKf/Servicer/CgibinKfServicerDeleteResponse.json b/test/SKIT.FlurlHttpClient.Wechat.Work.UnitTests/ModelSamples/CgibinKf/Servicer/CgibinKfServicerDeleteResponse.json
new file mode 100644
index 00000000..1f11c67f
--- /dev/null
+++ b/test/SKIT.FlurlHttpClient.Wechat.Work.UnitTests/ModelSamples/CgibinKf/Servicer/CgibinKfServicerDeleteResponse.json
@@ -0,0 +1,16 @@
+{
+ "errcode": 0,
+ "errmsg": "ok",
+ "result_list": [
+ {
+ "userid": "zhangsan",
+ "errcode": 0,
+ "errmsg": "success"
+ },
+ {
+ "userid": "lisi",
+ "errcode": 0,
+ "errmsg": "ignored"
+ }
+ ]
+}
\ No newline at end of file
diff --git a/test/SKIT.FlurlHttpClient.Wechat.Work.UnitTests/ModelSamples/CgibinKf/Servicer/CgibinKfServicerListRequest.json b/test/SKIT.FlurlHttpClient.Wechat.Work.UnitTests/ModelSamples/CgibinKf/Servicer/CgibinKfServicerListRequest.json
new file mode 100644
index 00000000..22fdca1b
--- /dev/null
+++ b/test/SKIT.FlurlHttpClient.Wechat.Work.UnitTests/ModelSamples/CgibinKf/Servicer/CgibinKfServicerListRequest.json
@@ -0,0 +1 @@
+{}
\ No newline at end of file
diff --git a/test/SKIT.FlurlHttpClient.Wechat.Work.UnitTests/ModelSamples/CgibinKf/Servicer/CgibinKfServicerListResponse.json b/test/SKIT.FlurlHttpClient.Wechat.Work.UnitTests/ModelSamples/CgibinKf/Servicer/CgibinKfServicerListResponse.json
new file mode 100644
index 00000000..56df40b4
--- /dev/null
+++ b/test/SKIT.FlurlHttpClient.Wechat.Work.UnitTests/ModelSamples/CgibinKf/Servicer/CgibinKfServicerListResponse.json
@@ -0,0 +1,14 @@
+{
+ "errcode": 0,
+ "errmsg": "ok",
+ "servicer_list": [
+ {
+ "userid": "zhangsan",
+ "status": 0
+ },
+ {
+ "userid": "lisi",
+ "status": 1
+ }
+ ]
+}
\ No newline at end of file