From 91af6a61e450f7b4b6916051353f297550dd1fbe Mon Sep 17 00:00:00 2001 From: Fu Diwei Date: Thu, 19 Aug 2021 16:58:37 +0800 Subject: [PATCH] =?UTF-8?q?feat(work):=20=E6=96=B0=E5=A2=9E=E5=AE=A2?= =?UTF-8?q?=E6=88=B7=E8=81=94=E7=B3=BB=E8=A7=84=E5=88=99=E7=BB=84=E7=9B=B8?= =?UTF-8?q?=E5=85=B3=E6=8E=A5=E5=8F=A3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ...tExecuteCgibinExternalContactExtensions.cs | 204 +++++++++++++++++ ...nalContactCustomerStrategyCreateRequest.cs | 216 ++++++++++++++++++ ...alContactCustomerStrategyCreateResponse.cs | 18 ++ ...nalContactCustomerStrategyDeleteRequest.cs | 18 ++ ...alContactCustomerStrategyDeleteResponse.cs | 12 + ...ernalContactCustomerStrategyEditRequest.cs | 64 ++++++ ...rnalContactCustomerStrategyEditResponse.cs | 12 + ...lContactCustomerStrategyGetRangeRequest.cs | 32 +++ ...ContactCustomerStrategyGetRangeResponse.cs | 52 +++++ ...ternalContactCustomerStrategyGetRequest.cs | 18 ++ ...ernalContactCustomerStrategyGetResponse.cs | 212 +++++++++++++++++ ...ernalContactCustomerStrategyListRequest.cs | 25 ++ ...rnalContactCustomerStrategyListResponse.cs | 38 +++ ...binExternalContactAddStrategyTagRequest.cs | 66 ++++++ ...inExternalContactAddStrategyTagResponse.cs | 25 ++ ...ExternalContactDeleteStrategyTagRequest.cs | 25 ++ ...xternalContactDeleteStrategyTagResponse.cs | 12 + ...inExternalContactEditStrategyTagRequest.cs | 32 +++ ...nExternalContactEditStrategyTagResponse.cs | 12 + ...xternalContactGetStrategyTagListRequest.cs | 32 +++ ...ternalContactGetStrategyTagListResponse.cs | 100 ++++++++ 21 files changed, 1225 insertions(+) create mode 100644 src/SKIT.FlurlHttpClient.Wechat.Work/Models/CgibinExternalContact/CustomerStrategy/CgibinExternalContactCustomerStrategyCreateRequest.cs create mode 100644 src/SKIT.FlurlHttpClient.Wechat.Work/Models/CgibinExternalContact/CustomerStrategy/CgibinExternalContactCustomerStrategyCreateResponse.cs create mode 100644 src/SKIT.FlurlHttpClient.Wechat.Work/Models/CgibinExternalContact/CustomerStrategy/CgibinExternalContactCustomerStrategyDeleteRequest.cs create mode 100644 src/SKIT.FlurlHttpClient.Wechat.Work/Models/CgibinExternalContact/CustomerStrategy/CgibinExternalContactCustomerStrategyDeleteResponse.cs create mode 100644 src/SKIT.FlurlHttpClient.Wechat.Work/Models/CgibinExternalContact/CustomerStrategy/CgibinExternalContactCustomerStrategyEditRequest.cs create mode 100644 src/SKIT.FlurlHttpClient.Wechat.Work/Models/CgibinExternalContact/CustomerStrategy/CgibinExternalContactCustomerStrategyEditResponse.cs create mode 100644 src/SKIT.FlurlHttpClient.Wechat.Work/Models/CgibinExternalContact/CustomerStrategy/CgibinExternalContactCustomerStrategyGetRangeRequest.cs create mode 100644 src/SKIT.FlurlHttpClient.Wechat.Work/Models/CgibinExternalContact/CustomerStrategy/CgibinExternalContactCustomerStrategyGetRangeResponse.cs create mode 100644 src/SKIT.FlurlHttpClient.Wechat.Work/Models/CgibinExternalContact/CustomerStrategy/CgibinExternalContactCustomerStrategyGetRequest.cs create mode 100644 src/SKIT.FlurlHttpClient.Wechat.Work/Models/CgibinExternalContact/CustomerStrategy/CgibinExternalContactCustomerStrategyGetResponse.cs create mode 100644 src/SKIT.FlurlHttpClient.Wechat.Work/Models/CgibinExternalContact/CustomerStrategy/CgibinExternalContactCustomerStrategyListRequest.cs create mode 100644 src/SKIT.FlurlHttpClient.Wechat.Work/Models/CgibinExternalContact/CustomerStrategy/CgibinExternalContactCustomerStrategyListResponse.cs create mode 100644 src/SKIT.FlurlHttpClient.Wechat.Work/Models/CgibinExternalContact/StrategyTag/CgibinExternalContactAddStrategyTagRequest.cs create mode 100644 src/SKIT.FlurlHttpClient.Wechat.Work/Models/CgibinExternalContact/StrategyTag/CgibinExternalContactAddStrategyTagResponse.cs create mode 100644 src/SKIT.FlurlHttpClient.Wechat.Work/Models/CgibinExternalContact/StrategyTag/CgibinExternalContactDeleteStrategyTagRequest.cs create mode 100644 src/SKIT.FlurlHttpClient.Wechat.Work/Models/CgibinExternalContact/StrategyTag/CgibinExternalContactDeleteStrategyTagResponse.cs create mode 100644 src/SKIT.FlurlHttpClient.Wechat.Work/Models/CgibinExternalContact/StrategyTag/CgibinExternalContactEditStrategyTagRequest.cs create mode 100644 src/SKIT.FlurlHttpClient.Wechat.Work/Models/CgibinExternalContact/StrategyTag/CgibinExternalContactEditStrategyTagResponse.cs create mode 100644 src/SKIT.FlurlHttpClient.Wechat.Work/Models/CgibinExternalContact/StrategyTag/CgibinExternalContactGetStrategyTagListRequest.cs create mode 100644 src/SKIT.FlurlHttpClient.Wechat.Work/Models/CgibinExternalContact/StrategyTag/CgibinExternalContactGetStrategyTagListResponse.cs diff --git a/src/SKIT.FlurlHttpClient.Wechat.Work/Extensions/WechatWorkClientExecuteCgibinExternalContactExtensions.cs b/src/SKIT.FlurlHttpClient.Wechat.Work/Extensions/WechatWorkClientExecuteCgibinExternalContactExtensions.cs index 131c117e..616d7133 100644 --- a/src/SKIT.FlurlHttpClient.Wechat.Work/Extensions/WechatWorkClientExecuteCgibinExternalContactExtensions.cs +++ b/src/SKIT.FlurlHttpClient.Wechat.Work/Extensions/WechatWorkClientExecuteCgibinExternalContactExtensions.cs @@ -1043,5 +1043,209 @@ namespace SKIT.FlurlHttpClient.Wechat.Work return await client.SendRequestWithJsonAsync(flurlReq, cancellationToken: cancellationToken); } #endregion + + #region CustomerStrategy + /// + /// 异步调用 [POST] /cgi-bin/externalcontact/customer_strategy/list 接口。 + /// REF: https://work.weixin.qq.com/api/doc/90000/90135/94883 + /// + /// + /// + /// + /// + public static async Task ExecuteCgibinExternalContactCustomerStrategyListAsync(this WechatWorkClient client, Models.CgibinExternalContactCustomerStrategyListRequest 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", "externalcontact", "customer_strategy", "list") + .SetQueryParam("access_token", request.AccessToken); + + return await client.SendRequestWithJsonAsync(flurlReq, data: request, cancellationToken: cancellationToken); + } + + /// + /// 异步调用 [POST] /cgi-bin/externalcontact/customer_strategy/get 接口。 + /// REF: https://work.weixin.qq.com/api/doc/90000/90135/94883 + /// + /// + /// + /// + /// + public static async Task ExecuteCgibinExternalContactCustomerStrategyGetAsync(this WechatWorkClient client, Models.CgibinExternalContactCustomerStrategyGetRequest 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", "externalcontact", "customer_strategy", "get") + .SetQueryParam("access_token", request.AccessToken); + + return await client.SendRequestWithJsonAsync(flurlReq, data: request, cancellationToken: cancellationToken); + } + + /// + /// 异步调用 [POST] /cgi-bin/externalcontact/customer_strategy/get_range 接口。 + /// REF: https://work.weixin.qq.com/api/doc/90000/90135/94883 + /// + /// + /// + /// + /// + public static async Task ExecuteCgibinExternalContactCustomerStrategyGetRangeAsync(this WechatWorkClient client, Models.CgibinExternalContactCustomerStrategyGetRangeRequest 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", "externalcontact", "customer_strategy", "get_range") + .SetQueryParam("access_token", request.AccessToken); + + return await client.SendRequestWithJsonAsync(flurlReq, data: request, cancellationToken: cancellationToken); + } + + /// + /// 异步调用 [POST] /cgi-bin/externalcontact/customer_strategy/create 接口。 + /// REF: https://work.weixin.qq.com/api/doc/90000/90135/94883 + /// + /// + /// + /// + /// + public static async Task ExecuteCgibinExternalContactCustomerStrategyCreateAsync(this WechatWorkClient client, Models.CgibinExternalContactCustomerStrategyCreateRequest 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", "externalcontact", "customer_strategy", "create") + .SetQueryParam("access_token", request.AccessToken); + + return await client.SendRequestWithJsonAsync(flurlReq, data: request, cancellationToken: cancellationToken); + } + + /// + /// 异步调用 [POST] /cgi-bin/externalcontact/customer_strategy/edit 接口。 + /// REF: https://work.weixin.qq.com/api/doc/90000/90135/94883 + /// + /// + /// + /// + /// + public static async Task ExecuteCgibinExternalContactCustomerStrategyEditAsync(this WechatWorkClient client, Models.CgibinExternalContactCustomerStrategyEditRequest 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", "externalcontact", "customer_strategy", "edit") + .SetQueryParam("access_token", request.AccessToken); + + return await client.SendRequestWithJsonAsync(flurlReq, data: request, cancellationToken: cancellationToken); + } + + /// + /// 异步调用 [POST] /cgi-bin/externalcontact/customer_strategy/del 接口。 + /// REF: https://work.weixin.qq.com/api/doc/90000/90135/94883 + /// + /// + /// + /// + /// + public static async Task ExecuteCgibinExternalContactCustomerStrategyDeleteAsync(this WechatWorkClient client, Models.CgibinExternalContactCustomerStrategyDeleteRequest 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", "externalcontact", "customer_strategy", "del") + .SetQueryParam("access_token", request.AccessToken); + + return await client.SendRequestWithJsonAsync(flurlReq, data: request, cancellationToken: cancellationToken); + } + #endregion + + #region StrategyTag + /// + /// 异步调用 [POST] /cgi-bin/externalcontact/get_strategy_tag_list 接口。 + /// REF: https://work.weixin.qq.com/api/doc/90000/90135/94882 + /// + /// + /// + /// + /// + public static async Task ExecuteCgibinExternalContactGetStrategyTagListAsync(this WechatWorkClient client, Models.CgibinExternalContactGetStrategyTagListRequest 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", "externalcontact", "get_strategy_tag_list") + .SetQueryParam("access_token", request.AccessToken); + + return await client.SendRequestWithJsonAsync(flurlReq, data: request, cancellationToken: cancellationToken); + } + + /// + /// 异步调用 [POST] /cgi-bin/externalcontact/add_strategy_tag 接口。 + /// REF: https://work.weixin.qq.com/api/doc/90000/90135/94882 + /// + /// + /// + /// + /// + public static async Task ExecuteCgibinExternalContactAddStrategyTagAsync(this WechatWorkClient client, Models.CgibinExternalContactAddStrategyTagRequest 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", "externalcontact", "add_strategy_tag") + .SetQueryParam("access_token", request.AccessToken); + + return await client.SendRequestWithJsonAsync(flurlReq, data: request, cancellationToken: cancellationToken); + } + + /// + /// 异步调用 [POST] /cgi-bin/externalcontact/edit_strategy_tag 接口。 + /// REF: https://work.weixin.qq.com/api/doc/90000/90135/94882 + /// + /// + /// + /// + /// + public static async Task ExecuteCgibinExternalContactEditStrategyTagAsync(this WechatWorkClient client, Models.CgibinExternalContactEditStrategyTagRequest 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", "externalcontact", "edit_strategy_tag") + .SetQueryParam("access_token", request.AccessToken); + + return await client.SendRequestWithJsonAsync(flurlReq, data: request, cancellationToken: cancellationToken); + } + + /// + /// 异步调用 [POST] /cgi-bin/externalcontact/del_strategy_tag 接口。 + /// REF: https://work.weixin.qq.com/api/doc/90000/90135/94882 + /// + /// + /// + /// + /// + public static async Task ExecuteCgibinExternalContactDeleteStrategyTagAsync(this WechatWorkClient client, Models.CgibinExternalContactDeleteStrategyTagRequest 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", "externalcontact", "del_strategy_tag") + .SetQueryParam("access_token", request.AccessToken); + + return await client.SendRequestWithJsonAsync(flurlReq, data: request, cancellationToken: cancellationToken); + } + #endregion } } diff --git a/src/SKIT.FlurlHttpClient.Wechat.Work/Models/CgibinExternalContact/CustomerStrategy/CgibinExternalContactCustomerStrategyCreateRequest.cs b/src/SKIT.FlurlHttpClient.Wechat.Work/Models/CgibinExternalContact/CustomerStrategy/CgibinExternalContactCustomerStrategyCreateRequest.cs new file mode 100644 index 00000000..099f3ed3 --- /dev/null +++ b/src/SKIT.FlurlHttpClient.Wechat.Work/Models/CgibinExternalContact/CustomerStrategy/CgibinExternalContactCustomerStrategyCreateRequest.cs @@ -0,0 +1,216 @@ +using System; +using System.Collections.Generic; + +namespace SKIT.FlurlHttpClient.Wechat.Work.Models +{ + /// + /// 表示 [POST] /cgi-bin/externalcontact/customer_strategy/create 接口的请求。 + /// + public class CgibinExternalContactCustomerStrategyCreateRequest : WechatWorkRequest + { + public static class Types + { + public class Privilege + { + /// + /// 获取或设置是否可以查看客户列表。 + /// + [Newtonsoft.Json.JsonProperty("view_customer_list")] + [System.Text.Json.Serialization.JsonPropertyName("view_customer_list")] + public bool? EnableViewCustomerList { get; set; } + + /// + /// 获取或设置是否可以查看客户统计数据。 + /// + [Newtonsoft.Json.JsonProperty("view_customer_data")] + [System.Text.Json.Serialization.JsonPropertyName("view_customer_data")] + public bool? EnableViewCustomerData { get; set; } + + /// + /// 获取或设置是否可以查看群聊列表。 + /// + [Newtonsoft.Json.JsonProperty("view_room_list")] + [System.Text.Json.Serialization.JsonPropertyName("view_room_list")] + public bool? EnableViewRoomList { get; set; } + + /// + /// 获取或设置是否可以使用联系我。 + /// + [Newtonsoft.Json.JsonProperty("contact_me")] + [System.Text.Json.Serialization.JsonPropertyName("contact_me")] + public bool? EnableContactMe { get; set; } + + /// + /// 获取或设置是否可以加入群聊。 + /// + [Newtonsoft.Json.JsonProperty("join_room")] + [System.Text.Json.Serialization.JsonPropertyName("join_room")] + public bool? EnableJoinRoom { get; set; } + + /// + /// 获取或设置是否可以分享客户给其他成员。 + /// + [Newtonsoft.Json.JsonProperty("share_customer")] + [System.Text.Json.Serialization.JsonPropertyName("share_customer")] + public bool? EnableShareCustomer { get; set; } + + /// + /// 获取或设置是否可以分配离职成员客户。 + /// + [Newtonsoft.Json.JsonProperty("oper_resign_customer")] + [System.Text.Json.Serialization.JsonPropertyName("oper_resign_customer")] + public bool? EnableResignCustomer { get; set; } + + /// + /// 获取或设置是否可以分配离职成员客户群。 + /// + [Newtonsoft.Json.JsonProperty("oper_resign_group")] + [System.Text.Json.Serialization.JsonPropertyName("oper_resign_group")] + public bool? EnableResignGroup { get; set; } + + /// + /// 获取或设置是否可以给企业客户发送消息。 + /// + [Newtonsoft.Json.JsonProperty("send_customer_msg")] + [System.Text.Json.Serialization.JsonPropertyName("send_customer_msg")] + public bool? EnableSendCustomerMessage { get; set; } + + /// + /// 获取或设置是否可以配置欢迎语。 + /// + [Newtonsoft.Json.JsonProperty("edit_welcome_msg")] + [System.Text.Json.Serialization.JsonPropertyName("edit_welcome_msg")] + public bool? EnableEditWelcomeMessage { get; set; } + + /// + /// 获取或设置是否可以查看成员联系客户统计。 + /// + [Newtonsoft.Json.JsonProperty("view_behavior_data")] + [System.Text.Json.Serialization.JsonPropertyName("view_behavior_data")] + public bool? EnableViewBehaviorData { get; set; } + + /// + /// 获取或设置是否可以查看群聊数据统计。 + /// + [Newtonsoft.Json.JsonProperty("view_room_data")] + [System.Text.Json.Serialization.JsonPropertyName("view_room_data")] + public bool? EnableViewRoomData { get; set; } + + /// + /// 获取或设置是否可以发送消息到企业的客户群。 + /// + [Newtonsoft.Json.JsonProperty("send_group_msg")] + [System.Text.Json.Serialization.JsonPropertyName("send_group_msg")] + public bool? EnableSendGroupMessage { get; set; } + + /// + /// 获取或设置是否可以对企业客户群进行去重。 + /// + [Newtonsoft.Json.JsonProperty("room_deduplication")] + [System.Text.Json.Serialization.JsonPropertyName("room_deduplication")] + public bool? EnableRoomDeduplication { get; set; } + + /// + /// 获取或设置是否可以配置快捷回复。 + /// + [Newtonsoft.Json.JsonProperty("rapid_reply")] + [System.Text.Json.Serialization.JsonPropertyName("rapid_reply")] + public bool? EnableRapidReply { get; set; } + + /// + /// 获取或设置是否可以转接在职成员的客户。 + /// + [Newtonsoft.Json.JsonProperty("onjob_customer_transfer")] + [System.Text.Json.Serialization.JsonPropertyName("onjob_customer_transfer")] + public bool? EnableOnJobCustomerTransfer { get; set; } + + /// + /// 获取或设置是否可以编辑企业成员防骚扰规则。 + /// + [Newtonsoft.Json.JsonProperty("edit_anti_spam_rule")] + [System.Text.Json.Serialization.JsonPropertyName("edit_anti_spam_rule")] + public bool? EnableEditAntiSpamRule { get; set; } + + /// + /// 获取或设置是否可以导出客户列表。 + /// + [Newtonsoft.Json.JsonProperty("export_customer_list")] + [System.Text.Json.Serialization.JsonPropertyName("export_customer_list")] + public bool? EnableExportCustomerList { get; set; } + + /// + /// 获取或设置是否可以导出成员客户统计。 + /// + [Newtonsoft.Json.JsonProperty("export_customer_data")] + [System.Text.Json.Serialization.JsonPropertyName("export_customer_data")] + public bool? EnableExportCustomerData { get; set; } + + /// + /// 获取或设置是否可以导出客户群列表。 + /// + [Newtonsoft.Json.JsonProperty("export_customer_group_list")] + [System.Text.Json.Serialization.JsonPropertyName("export_customer_group_list")] + public bool? EnableExportCustomerGroupList { get; set; } + } + + public class Range + { + /// + /// 获取或设置节点类型。 + /// + [Newtonsoft.Json.JsonProperty("type")] + [System.Text.Json.Serialization.JsonPropertyName("type")] + public int Type { get; set; } + + /// + /// 获取或设置管理范围内配置的成员 UserId。 + /// + [Newtonsoft.Json.JsonProperty("userid")] + [System.Text.Json.Serialization.JsonPropertyName("userid")] + public string? UserId { get; set; } + + /// + /// 获取或设置管理范围内配置的部门 UserId。 + /// + [Newtonsoft.Json.JsonProperty("partyid")] + [System.Text.Json.Serialization.JsonPropertyName("partyid")] + public int? DepartmentId { get; set; } + } + } + + /// + /// 获取或设置父规则组 ID。 + /// + [Newtonsoft.Json.JsonProperty("parent_id")] + [System.Text.Json.Serialization.JsonPropertyName("parent_id")] + public int? ParentStrategyId { get; set; } + + /// + /// 获取或设置规则组名称。 + /// + [Newtonsoft.Json.JsonProperty("strategy_name")] + [System.Text.Json.Serialization.JsonPropertyName("strategy_name")] + public string Name { get; set; } = string.Empty; + + /// + /// 获取或设置管理员 UserId 列表。 + /// + [Newtonsoft.Json.JsonProperty("admin_list")] + [System.Text.Json.Serialization.JsonPropertyName("admin_list")] + public IList AdminUserIdList { get; set; } = new List(); + + /// + /// 获取或设置权限信息。 + /// + [Newtonsoft.Json.JsonProperty("privilege")] + [System.Text.Json.Serialization.JsonPropertyName("privilege")] + public Types.Privilege Privilege { get; set; } = new Types.Privilege(); + + /// + /// 获取或设置规则组范围列表。 + /// + [Newtonsoft.Json.JsonProperty("range")] + [System.Text.Json.Serialization.JsonPropertyName("range")] + public IList RangeList { get; set; } = new List(); + } +} diff --git a/src/SKIT.FlurlHttpClient.Wechat.Work/Models/CgibinExternalContact/CustomerStrategy/CgibinExternalContactCustomerStrategyCreateResponse.cs b/src/SKIT.FlurlHttpClient.Wechat.Work/Models/CgibinExternalContact/CustomerStrategy/CgibinExternalContactCustomerStrategyCreateResponse.cs new file mode 100644 index 00000000..30a7848a --- /dev/null +++ b/src/SKIT.FlurlHttpClient.Wechat.Work/Models/CgibinExternalContact/CustomerStrategy/CgibinExternalContactCustomerStrategyCreateResponse.cs @@ -0,0 +1,18 @@ +using System; +using System.Collections.Generic; + +namespace SKIT.FlurlHttpClient.Wechat.Work.Models +{ + /// + /// 表示 [POST] /cgi-bin/externalcontact/customer_strategy/create 接口的响应。 + /// + public class CgibinExternalContactCustomerStrategyCreateResponse : WechatWorkResponse + { + /// + /// 获取或设置规则组 ID。 + /// + [Newtonsoft.Json.JsonProperty("strategy_id")] + [System.Text.Json.Serialization.JsonPropertyName("strategy_id")] + public int StrategyId { get; set; } + } +} diff --git a/src/SKIT.FlurlHttpClient.Wechat.Work/Models/CgibinExternalContact/CustomerStrategy/CgibinExternalContactCustomerStrategyDeleteRequest.cs b/src/SKIT.FlurlHttpClient.Wechat.Work/Models/CgibinExternalContact/CustomerStrategy/CgibinExternalContactCustomerStrategyDeleteRequest.cs new file mode 100644 index 00000000..9aa806a5 --- /dev/null +++ b/src/SKIT.FlurlHttpClient.Wechat.Work/Models/CgibinExternalContact/CustomerStrategy/CgibinExternalContactCustomerStrategyDeleteRequest.cs @@ -0,0 +1,18 @@ +using System; +using System.Collections.Generic; + +namespace SKIT.FlurlHttpClient.Wechat.Work.Models +{ + /// + /// 表示 [POST] /cgi-bin/externalcontact/customer_strategy/del 接口的请求。 + /// + public class CgibinExternalContactCustomerStrategyDeleteRequest : WechatWorkRequest + { + /// + /// 获取或设置规则组 ID。 + /// + [Newtonsoft.Json.JsonProperty("strategy_id")] + [System.Text.Json.Serialization.JsonPropertyName("strategy_id")] + public int StrategyId { get; set; } + } +} diff --git a/src/SKIT.FlurlHttpClient.Wechat.Work/Models/CgibinExternalContact/CustomerStrategy/CgibinExternalContactCustomerStrategyDeleteResponse.cs b/src/SKIT.FlurlHttpClient.Wechat.Work/Models/CgibinExternalContact/CustomerStrategy/CgibinExternalContactCustomerStrategyDeleteResponse.cs new file mode 100644 index 00000000..9094e43d --- /dev/null +++ b/src/SKIT.FlurlHttpClient.Wechat.Work/Models/CgibinExternalContact/CustomerStrategy/CgibinExternalContactCustomerStrategyDeleteResponse.cs @@ -0,0 +1,12 @@ +using System; +using System.Collections.Generic; + +namespace SKIT.FlurlHttpClient.Wechat.Work.Models +{ + /// + /// 表示 [POST] /cgi-bin/externalcontact/customer_strategy/del 接口的响应。 + /// + public class CgibinExternalContactCustomerStrategyDeleteResponse : WechatWorkResponse + { + } +} diff --git a/src/SKIT.FlurlHttpClient.Wechat.Work/Models/CgibinExternalContact/CustomerStrategy/CgibinExternalContactCustomerStrategyEditRequest.cs b/src/SKIT.FlurlHttpClient.Wechat.Work/Models/CgibinExternalContact/CustomerStrategy/CgibinExternalContactCustomerStrategyEditRequest.cs new file mode 100644 index 00000000..acff25c6 --- /dev/null +++ b/src/SKIT.FlurlHttpClient.Wechat.Work/Models/CgibinExternalContact/CustomerStrategy/CgibinExternalContactCustomerStrategyEditRequest.cs @@ -0,0 +1,64 @@ +using System; +using System.Collections.Generic; + +namespace SKIT.FlurlHttpClient.Wechat.Work.Models +{ + /// + /// 表示 [POST] /cgi-bin/externalcontact/customer_strategy/edit 接口的请求。 + /// + public class CgibinExternalContactCustomerStrategyEditRequest : WechatWorkRequest + { + public static class Types + { + public class Privilege : CgibinExternalContactCustomerStrategyCreateRequest.Types.Privilege + { + } + + public class Range : CgibinExternalContactCustomerStrategyCreateRequest.Types.Range + { + } + } + + /// + /// 获取或设置规则组 ID。 + /// + [Newtonsoft.Json.JsonProperty("strategy_id")] + [System.Text.Json.Serialization.JsonPropertyName("strategy_id")] + public int StrategyId { get; set; } + + /// + /// 获取或设置规则组名称。 + /// + [Newtonsoft.Json.JsonProperty("strategy_name")] + [System.Text.Json.Serialization.JsonPropertyName("strategy_name")] + public string? Name { get; set; } + + /// + /// 获取或设置管理员 UserId 列表。 + /// + [Newtonsoft.Json.JsonProperty("admin_list")] + [System.Text.Json.Serialization.JsonPropertyName("admin_list")] + public IList? AdminUserIdList { get; set; } + + /// + /// 获取或设置权限信息。 + /// + [Newtonsoft.Json.JsonProperty("privilege")] + [System.Text.Json.Serialization.JsonPropertyName("privilege")] + public Types.Privilege? Privilege { get; set; } + + /// + /// 获取或设置要添加的规则组范围列表。 + /// + [Newtonsoft.Json.JsonProperty("range_add")] + [System.Text.Json.Serialization.JsonPropertyName("range_add")] + public IList? AddRangeList { get; set; } + + /// + /// 获取或设置要删除的规则组范围列表。 + /// + [Newtonsoft.Json.JsonProperty("range_del")] + [System.Text.Json.Serialization.JsonPropertyName("range_del")] + public IList? DeleteRangeList { get; set; } + } +} diff --git a/src/SKIT.FlurlHttpClient.Wechat.Work/Models/CgibinExternalContact/CustomerStrategy/CgibinExternalContactCustomerStrategyEditResponse.cs b/src/SKIT.FlurlHttpClient.Wechat.Work/Models/CgibinExternalContact/CustomerStrategy/CgibinExternalContactCustomerStrategyEditResponse.cs new file mode 100644 index 00000000..565d4ce4 --- /dev/null +++ b/src/SKIT.FlurlHttpClient.Wechat.Work/Models/CgibinExternalContact/CustomerStrategy/CgibinExternalContactCustomerStrategyEditResponse.cs @@ -0,0 +1,12 @@ +using System; +using System.Collections.Generic; + +namespace SKIT.FlurlHttpClient.Wechat.Work.Models +{ + /// + /// 表示 [POST] /cgi-bin/externalcontact/customer_strategy/edit 接口的响应。 + /// + public class CgibinExternalContactCustomerStrategyEditResponse : WechatWorkResponse + { + } +} diff --git a/src/SKIT.FlurlHttpClient.Wechat.Work/Models/CgibinExternalContact/CustomerStrategy/CgibinExternalContactCustomerStrategyGetRangeRequest.cs b/src/SKIT.FlurlHttpClient.Wechat.Work/Models/CgibinExternalContact/CustomerStrategy/CgibinExternalContactCustomerStrategyGetRangeRequest.cs new file mode 100644 index 00000000..ebd5c088 --- /dev/null +++ b/src/SKIT.FlurlHttpClient.Wechat.Work/Models/CgibinExternalContact/CustomerStrategy/CgibinExternalContactCustomerStrategyGetRangeRequest.cs @@ -0,0 +1,32 @@ +using System; +using System.Collections.Generic; + +namespace SKIT.FlurlHttpClient.Wechat.Work.Models +{ + /// + /// 表示 [POST] /cgi-bin/externalcontact/customer_strategy/get_range 接口的请求。 + /// + public class CgibinExternalContactCustomerStrategyGetRangeRequest : WechatWorkRequest + { + /// + /// 获取或设置规则组 ID。 + /// + [Newtonsoft.Json.JsonProperty("strategy_id")] + [System.Text.Json.Serialization.JsonPropertyName("strategy_id")] + public int StrategyId { get; set; } + + /// + /// 获取或设置翻页标记。 + /// + [Newtonsoft.Json.JsonProperty("cursor")] + [System.Text.Json.Serialization.JsonPropertyName("cursor")] + public string? NextCursor { get; set; } + + /// + /// 获取或设置分页每页数量。 + /// + [Newtonsoft.Json.JsonProperty("limit")] + [System.Text.Json.Serialization.JsonPropertyName("limit")] + public int? Limit { get; set; } + } +} diff --git a/src/SKIT.FlurlHttpClient.Wechat.Work/Models/CgibinExternalContact/CustomerStrategy/CgibinExternalContactCustomerStrategyGetRangeResponse.cs b/src/SKIT.FlurlHttpClient.Wechat.Work/Models/CgibinExternalContact/CustomerStrategy/CgibinExternalContactCustomerStrategyGetRangeResponse.cs new file mode 100644 index 00000000..2857353c --- /dev/null +++ b/src/SKIT.FlurlHttpClient.Wechat.Work/Models/CgibinExternalContact/CustomerStrategy/CgibinExternalContactCustomerStrategyGetRangeResponse.cs @@ -0,0 +1,52 @@ +using System; +using System.Collections.Generic; + +namespace SKIT.FlurlHttpClient.Wechat.Work.Models +{ + /// + /// 表示 [POST] /cgi-bin/externalcontact/customer_strategy/get_range 接口的响应。 + /// + public class CgibinExternalContactCustomerStrategyGetRangeResponse : WechatWorkResponse + { + public static class Types + { + public class Range + { + /// + /// 获取或设置节点类型。 + /// + [Newtonsoft.Json.JsonProperty("type")] + [System.Text.Json.Serialization.JsonPropertyName("type")] + public int Type { get; set; } + + /// + /// 获取或设置管理范围内配置的成员 UserId。 + /// + [Newtonsoft.Json.JsonProperty("userid")] + [System.Text.Json.Serialization.JsonPropertyName("userid")] + public string? UserId { get; set; } + + /// + /// 获取或设置管理范围内配置的部门 UserId。 + /// + [Newtonsoft.Json.JsonProperty("partyid")] + [System.Text.Json.Serialization.JsonPropertyName("partyid")] + public int? DepartmentId { get; set; } + } + } + + /// + /// 获取或设置规则组范围列表。 + /// + [Newtonsoft.Json.JsonProperty("range")] + [System.Text.Json.Serialization.JsonPropertyName("range")] + public Types.Range[] RangeList { get; set; } = default!; + + /// + /// 获取或设置翻页标记。 + /// + [Newtonsoft.Json.JsonProperty("next_cursor")] + [System.Text.Json.Serialization.JsonPropertyName("next_cursor")] + public string? NextCursor { get; set; } + } +} diff --git a/src/SKIT.FlurlHttpClient.Wechat.Work/Models/CgibinExternalContact/CustomerStrategy/CgibinExternalContactCustomerStrategyGetRequest.cs b/src/SKIT.FlurlHttpClient.Wechat.Work/Models/CgibinExternalContact/CustomerStrategy/CgibinExternalContactCustomerStrategyGetRequest.cs new file mode 100644 index 00000000..54fd1862 --- /dev/null +++ b/src/SKIT.FlurlHttpClient.Wechat.Work/Models/CgibinExternalContact/CustomerStrategy/CgibinExternalContactCustomerStrategyGetRequest.cs @@ -0,0 +1,18 @@ +using System; +using System.Collections.Generic; + +namespace SKIT.FlurlHttpClient.Wechat.Work.Models +{ + /// + /// 表示 [POST] /cgi-bin/externalcontact/customer_strategy/get 接口的请求。 + /// + public class CgibinExternalContactCustomerStrategyGetRequest : WechatWorkRequest + { + /// + /// 获取或设置规则组 ID。 + /// + [Newtonsoft.Json.JsonProperty("strategy_id")] + [System.Text.Json.Serialization.JsonPropertyName("strategy_id")] + public int StrategyId { get; set; } + } +} diff --git a/src/SKIT.FlurlHttpClient.Wechat.Work/Models/CgibinExternalContact/CustomerStrategy/CgibinExternalContactCustomerStrategyGetResponse.cs b/src/SKIT.FlurlHttpClient.Wechat.Work/Models/CgibinExternalContact/CustomerStrategy/CgibinExternalContactCustomerStrategyGetResponse.cs new file mode 100644 index 00000000..4846193b --- /dev/null +++ b/src/SKIT.FlurlHttpClient.Wechat.Work/Models/CgibinExternalContact/CustomerStrategy/CgibinExternalContactCustomerStrategyGetResponse.cs @@ -0,0 +1,212 @@ +using System; +using System.Collections.Generic; + +namespace SKIT.FlurlHttpClient.Wechat.Work.Models +{ + /// + /// 表示 [POST] /cgi-bin/externalcontact/customer_strategy/get 接口的响应。 + /// + public class CgibinExternalContactCustomerStrategyGetResponse : WechatWorkResponse + { + public static class Types + { + public class Strategy + { + public static class Types + { + public class Privilege + { + /// + /// 获取或设置是否可以查看客户列表。 + /// + [Newtonsoft.Json.JsonProperty("view_customer_list")] + [System.Text.Json.Serialization.JsonPropertyName("view_customer_list")] + public bool EnableViewCustomerList { get; set; } + + /// + /// 获取或设置是否可以查看客户统计数据。 + /// + [Newtonsoft.Json.JsonProperty("view_customer_data")] + [System.Text.Json.Serialization.JsonPropertyName("view_customer_data")] + public bool EnableViewCustomerData { get; set; } + + /// + /// 获取或设置是否可以查看群聊列表。 + /// + [Newtonsoft.Json.JsonProperty("view_room_list")] + [System.Text.Json.Serialization.JsonPropertyName("view_room_list")] + public bool EnableViewRoomList { get; set; } + + /// + /// 获取或设置是否可以使用联系我。 + /// + [Newtonsoft.Json.JsonProperty("contact_me")] + [System.Text.Json.Serialization.JsonPropertyName("contact_me")] + public bool EnableContactMe { get; set; } + + /// + /// 获取或设置是否可以加入群聊。 + /// + [Newtonsoft.Json.JsonProperty("join_room")] + [System.Text.Json.Serialization.JsonPropertyName("join_room")] + public bool EnableJoinRoom { get; set; } + + /// + /// 获取或设置是否可以分享客户给其他成员。 + /// + [Newtonsoft.Json.JsonProperty("share_customer")] + [System.Text.Json.Serialization.JsonPropertyName("share_customer")] + public bool EnableShareCustomer { get; set; } + + /// + /// 获取或设置是否可以分配离职成员客户。 + /// + [Newtonsoft.Json.JsonProperty("oper_resign_customer")] + [System.Text.Json.Serialization.JsonPropertyName("oper_resign_customer")] + public bool EnableResignCustomer { get; set; } + + /// + /// 获取或设置是否可以分配离职成员客户群。 + /// + [Newtonsoft.Json.JsonProperty("oper_resign_group")] + [System.Text.Json.Serialization.JsonPropertyName("oper_resign_group")] + public bool EnableResignGroup { get; set; } + + /// + /// 获取或设置是否可以给企业客户发送消息。 + /// + [Newtonsoft.Json.JsonProperty("send_customer_msg")] + [System.Text.Json.Serialization.JsonPropertyName("send_customer_msg")] + public bool EnableSendCustomerMessage { get; set; } + + /// + /// 获取或设置是否可以配置欢迎语。 + /// + [Newtonsoft.Json.JsonProperty("edit_welcome_msg")] + [System.Text.Json.Serialization.JsonPropertyName("edit_welcome_msg")] + public bool EnableEditWelcomeMessage { get; set; } + + /// + /// 获取或设置是否可以查看成员联系客户统计。 + /// + [Newtonsoft.Json.JsonProperty("view_behavior_data")] + [System.Text.Json.Serialization.JsonPropertyName("view_behavior_data")] + public bool EnableViewBehaviorData { get; set; } + + /// + /// 获取或设置是否可以查看群聊数据统计。 + /// + [Newtonsoft.Json.JsonProperty("view_room_data")] + [System.Text.Json.Serialization.JsonPropertyName("view_room_data")] + public bool EnableViewRoomData { get; set; } + + /// + /// 获取或设置是否可以发送消息到企业的客户群。 + /// + [Newtonsoft.Json.JsonProperty("send_group_msg")] + [System.Text.Json.Serialization.JsonPropertyName("send_group_msg")] + public bool EnableSendGroupMessage { get; set; } + + /// + /// 获取或设置是否可以对企业客户群进行去重。 + /// + [Newtonsoft.Json.JsonProperty("room_deduplication")] + [System.Text.Json.Serialization.JsonPropertyName("room_deduplication")] + public bool EnableRoomDeduplication { get; set; } + + /// + /// 获取或设置是否可以配置快捷回复。 + /// + [Newtonsoft.Json.JsonProperty("rapid_reply")] + [System.Text.Json.Serialization.JsonPropertyName("rapid_reply")] + public bool EnableRapidReply { get; set; } + + /// + /// 获取或设置是否可以转接在职成员的客户。 + /// + [Newtonsoft.Json.JsonProperty("onjob_customer_transfer")] + [System.Text.Json.Serialization.JsonPropertyName("onjob_customer_transfer")] + public bool EnableOnJobCustomerTransfer { get; set; } + + /// + /// 获取或设置是否可以编辑企业成员防骚扰规则。 + /// + [Newtonsoft.Json.JsonProperty("edit_anti_spam_rule")] + [System.Text.Json.Serialization.JsonPropertyName("edit_anti_spam_rule")] + public bool EnableEditAntiSpamRule { get; set; } + + /// + /// 获取或设置是否可以导出客户列表。 + /// + [Newtonsoft.Json.JsonProperty("export_customer_list")] + [System.Text.Json.Serialization.JsonPropertyName("export_customer_list")] + public bool EnableExportCustomerList { get; set; } + + /// + /// 获取或设置是否可以导出成员客户统计。 + /// + [Newtonsoft.Json.JsonProperty("export_customer_data")] + [System.Text.Json.Serialization.JsonPropertyName("export_customer_data")] + public bool EnableExportCustomerData { get; set; } + + /// + /// 获取或设置是否可以导出客户群列表。 + /// + [Newtonsoft.Json.JsonProperty("export_customer_group_list")] + [System.Text.Json.Serialization.JsonPropertyName("export_customer_group_list")] + public bool EnableExportCustomerGroupList { get; set; } + } + } + + /// + /// 获取或设置规则组 ID。 + /// + [Newtonsoft.Json.JsonProperty("strategy_id")] + [System.Text.Json.Serialization.JsonPropertyName("strategy_id")] + public int StrategyId { get; set; } + + /// + /// 获取或设置父规则组 ID。 + /// + [Newtonsoft.Json.JsonProperty("parent_id")] + [System.Text.Json.Serialization.JsonPropertyName("parent_id")] + public int ParentStrategyId { get; set; } + + /// + /// 获取或设置规则组名称。 + /// + [Newtonsoft.Json.JsonProperty("strategy_name")] + [System.Text.Json.Serialization.JsonPropertyName("strategy_name")] + public string Name { get; set; } = default!; + + /// + /// 获取或设置管理员 UserId 列表。 + /// + [Newtonsoft.Json.JsonProperty("admin_list")] + [System.Text.Json.Serialization.JsonPropertyName("admin_list")] + public string[] AdminUserIdList { get; set; } = default!; + + /// + /// 获取或设置权限信息。 + /// + [Newtonsoft.Json.JsonProperty("privilege")] + [System.Text.Json.Serialization.JsonPropertyName("privilege")] + public Types.Privilege Privilege { get; set; } = default!; + + /// + /// 获取或设置创建时间戳。 + /// + [Newtonsoft.Json.JsonProperty("create_time")] + [System.Text.Json.Serialization.JsonPropertyName("create_time")] + public long CreateTimestamp { get; set; } + } + } + + /// + /// 获取或设置规则组信息。 + /// + [Newtonsoft.Json.JsonProperty("strategy")] + [System.Text.Json.Serialization.JsonPropertyName("strategy")] + public Types.Strategy Strategy { get; set; } = default!; + } +} diff --git a/src/SKIT.FlurlHttpClient.Wechat.Work/Models/CgibinExternalContact/CustomerStrategy/CgibinExternalContactCustomerStrategyListRequest.cs b/src/SKIT.FlurlHttpClient.Wechat.Work/Models/CgibinExternalContact/CustomerStrategy/CgibinExternalContactCustomerStrategyListRequest.cs new file mode 100644 index 00000000..e1e73075 --- /dev/null +++ b/src/SKIT.FlurlHttpClient.Wechat.Work/Models/CgibinExternalContact/CustomerStrategy/CgibinExternalContactCustomerStrategyListRequest.cs @@ -0,0 +1,25 @@ +using System; +using System.Collections.Generic; + +namespace SKIT.FlurlHttpClient.Wechat.Work.Models +{ + /// + /// 表示 [POST] /cgi-bin/externalcontact/customer_strategy/list 接口的请求。 + /// + public class CgibinExternalContactCustomerStrategyListRequest : WechatWorkRequest + { + /// + /// 获取或设置翻页标记。 + /// + [Newtonsoft.Json.JsonProperty("cursor")] + [System.Text.Json.Serialization.JsonPropertyName("cursor")] + public string? NextCursor { get; set; } + + /// + /// 获取或设置分页每页数量。 + /// + [Newtonsoft.Json.JsonProperty("limit")] + [System.Text.Json.Serialization.JsonPropertyName("limit")] + public int? Limit { get; set; } + } +} diff --git a/src/SKIT.FlurlHttpClient.Wechat.Work/Models/CgibinExternalContact/CustomerStrategy/CgibinExternalContactCustomerStrategyListResponse.cs b/src/SKIT.FlurlHttpClient.Wechat.Work/Models/CgibinExternalContact/CustomerStrategy/CgibinExternalContactCustomerStrategyListResponse.cs new file mode 100644 index 00000000..90c8c375 --- /dev/null +++ b/src/SKIT.FlurlHttpClient.Wechat.Work/Models/CgibinExternalContact/CustomerStrategy/CgibinExternalContactCustomerStrategyListResponse.cs @@ -0,0 +1,38 @@ +using System; +using System.Collections.Generic; + +namespace SKIT.FlurlHttpClient.Wechat.Work.Models +{ + /// + /// 表示 [POST] /cgi-bin/externalcontact/customer_strategy/list 接口的响应。 + /// + public class CgibinExternalContactCustomerStrategyListResponse : WechatWorkResponse + { + public static class Types + { + public class Strategy + { + /// + /// 获取或设置规则组 ID。 + /// + [Newtonsoft.Json.JsonProperty("strategy_id")] + [System.Text.Json.Serialization.JsonPropertyName("strategy_id")] + public int StrategyId { get; set; } + } + } + + /// + /// 获取或设置规则组列表。 + /// + [Newtonsoft.Json.JsonProperty("strategy")] + [System.Text.Json.Serialization.JsonPropertyName("strategy")] + public Types.Strategy[] StrategyList { get; set; } = default!; + + /// + /// 获取或设置翻页标记。 + /// + [Newtonsoft.Json.JsonProperty("next_cursor")] + [System.Text.Json.Serialization.JsonPropertyName("next_cursor")] + public string? NextCursor { get; set; } + } +} diff --git a/src/SKIT.FlurlHttpClient.Wechat.Work/Models/CgibinExternalContact/StrategyTag/CgibinExternalContactAddStrategyTagRequest.cs b/src/SKIT.FlurlHttpClient.Wechat.Work/Models/CgibinExternalContact/StrategyTag/CgibinExternalContactAddStrategyTagRequest.cs new file mode 100644 index 00000000..82efbf7e --- /dev/null +++ b/src/SKIT.FlurlHttpClient.Wechat.Work/Models/CgibinExternalContact/StrategyTag/CgibinExternalContactAddStrategyTagRequest.cs @@ -0,0 +1,66 @@ +using System; +using System.Collections.Generic; + +namespace SKIT.FlurlHttpClient.Wechat.Work.Models +{ + /// + /// 表示 [POST] /cgi-bin/externalcontact/add_strategy_tag 接口的请求。 + /// + public class CgibinExternalContactAddStrategyTagRequest : WechatWorkRequest + { + public static class Types + { + public class Tag + { + /// + /// 获取或设置企业标签名称。 + /// + [Newtonsoft.Json.JsonProperty("name")] + [System.Text.Json.Serialization.JsonPropertyName("name")] + public string Name { get; set; } = string.Empty; + + /// + /// 获取或设置次序值。 + /// + [Newtonsoft.Json.JsonProperty("order")] + [System.Text.Json.Serialization.JsonPropertyName("order")] + public int? Order { get; set; } + } + } + + /// + /// 获取或设置规则组 ID。 + /// + [Newtonsoft.Json.JsonProperty("strategy_id")] + [System.Text.Json.Serialization.JsonPropertyName("strategy_id")] + public int StrategyId { get; set; } + + /// + /// 获取或设置企业标签分组 ID。 + /// + [Newtonsoft.Json.JsonProperty("group_id")] + [System.Text.Json.Serialization.JsonPropertyName("group_id")] + public string? TagGroupId { get; set; } + + /// + /// 获取或设置企业标签分组名称。 + /// + [Newtonsoft.Json.JsonProperty("group_name")] + [System.Text.Json.Serialization.JsonPropertyName("group_name")] + public string? TagGroupName { get; set; } + + /// + /// 获取或设置企业标签分组次序值。 + /// + [Newtonsoft.Json.JsonProperty("order")] + [System.Text.Json.Serialization.JsonPropertyName("order")] + public int? TagGroupOrder { get; set; } + + /// + /// 获取或设置企业标签列表。 + /// + [Newtonsoft.Json.JsonProperty("tag")] + [System.Text.Json.Serialization.JsonPropertyName("tag")] + public IList TagList { get; set; } = new List(); + } +} diff --git a/src/SKIT.FlurlHttpClient.Wechat.Work/Models/CgibinExternalContact/StrategyTag/CgibinExternalContactAddStrategyTagResponse.cs b/src/SKIT.FlurlHttpClient.Wechat.Work/Models/CgibinExternalContact/StrategyTag/CgibinExternalContactAddStrategyTagResponse.cs new file mode 100644 index 00000000..7ebedb65 --- /dev/null +++ b/src/SKIT.FlurlHttpClient.Wechat.Work/Models/CgibinExternalContact/StrategyTag/CgibinExternalContactAddStrategyTagResponse.cs @@ -0,0 +1,25 @@ +using System; +using System.Collections.Generic; + +namespace SKIT.FlurlHttpClient.Wechat.Work.Models +{ + /// + /// 表示 [POST] /cgi-bin/externalcontact/add_strategy_tag 接口的响应。 + /// + public class CgibinExternalContactAddStrategyTagResponse : WechatWorkResponse + { + public static class Types + { + public class TagGroup : CgibinExternalContactGetStrategyTagListResponse.Types.TagGroup + { + } + } + + /// + /// 获取或设置企业标签信息。 + /// + [Newtonsoft.Json.JsonProperty("tag_group")] + [System.Text.Json.Serialization.JsonPropertyName("tag_group")] + public Types.TagGroup TagGroup { get; set; } = default!; + } +} diff --git a/src/SKIT.FlurlHttpClient.Wechat.Work/Models/CgibinExternalContact/StrategyTag/CgibinExternalContactDeleteStrategyTagRequest.cs b/src/SKIT.FlurlHttpClient.Wechat.Work/Models/CgibinExternalContact/StrategyTag/CgibinExternalContactDeleteStrategyTagRequest.cs new file mode 100644 index 00000000..e4ecfbcb --- /dev/null +++ b/src/SKIT.FlurlHttpClient.Wechat.Work/Models/CgibinExternalContact/StrategyTag/CgibinExternalContactDeleteStrategyTagRequest.cs @@ -0,0 +1,25 @@ +using System; +using System.Collections.Generic; + +namespace SKIT.FlurlHttpClient.Wechat.Work.Models +{ + /// + /// 表示 [POST] /cgi-bin/externalcontact/del_strategy_tag 接口的请求。 + /// + public class CgibinExternalContactDeleteStrategyTagRequest : WechatWorkRequest + { + /// + /// 获取或设置企业标签 ID 列表。 + /// + [Newtonsoft.Json.JsonProperty("tag_id")] + [System.Text.Json.Serialization.JsonPropertyName("tag_id")] + public IList? TagIdList { get; set; } + + /// + /// 获取或设置企业标签分组 ID 列表。 + /// + [Newtonsoft.Json.JsonProperty("group_id")] + [System.Text.Json.Serialization.JsonPropertyName("group_id")] + public IList? TagGroupIdList { get; set; } + } +} diff --git a/src/SKIT.FlurlHttpClient.Wechat.Work/Models/CgibinExternalContact/StrategyTag/CgibinExternalContactDeleteStrategyTagResponse.cs b/src/SKIT.FlurlHttpClient.Wechat.Work/Models/CgibinExternalContact/StrategyTag/CgibinExternalContactDeleteStrategyTagResponse.cs new file mode 100644 index 00000000..240fc00e --- /dev/null +++ b/src/SKIT.FlurlHttpClient.Wechat.Work/Models/CgibinExternalContact/StrategyTag/CgibinExternalContactDeleteStrategyTagResponse.cs @@ -0,0 +1,12 @@ +using System; +using System.Collections.Generic; + +namespace SKIT.FlurlHttpClient.Wechat.Work.Models +{ + /// + /// 表示 [POST] /cgi-bin/externalcontact/del_strategy_tag 接口的响应。 + /// + public class CgibinExternalContactDeleteStrategyTagResponse : WechatWorkResponse + { + } +} diff --git a/src/SKIT.FlurlHttpClient.Wechat.Work/Models/CgibinExternalContact/StrategyTag/CgibinExternalContactEditStrategyTagRequest.cs b/src/SKIT.FlurlHttpClient.Wechat.Work/Models/CgibinExternalContact/StrategyTag/CgibinExternalContactEditStrategyTagRequest.cs new file mode 100644 index 00000000..6e4225b8 --- /dev/null +++ b/src/SKIT.FlurlHttpClient.Wechat.Work/Models/CgibinExternalContact/StrategyTag/CgibinExternalContactEditStrategyTagRequest.cs @@ -0,0 +1,32 @@ +using System; +using System.Collections.Generic; + +namespace SKIT.FlurlHttpClient.Wechat.Work.Models +{ + /// + /// 表示 [POST] /cgi-bin/externalcontact/edit_strategy_tag 接口的请求。 + /// + public class CgibinExternalContactEditStrategyTagRequest : WechatWorkRequest + { + /// + /// 获取或设置企业标签或标签分组 ID。 + /// + [Newtonsoft.Json.JsonProperty("id")] + [System.Text.Json.Serialization.JsonPropertyName("id")] + public string TagOrGroupId { get; set; } = string.Empty; + + /// + /// 获取或设置企业标签或标签分组名称。 + /// + [Newtonsoft.Json.JsonProperty("name")] + [System.Text.Json.Serialization.JsonPropertyName("name")] + public string? TagOrGroupName { get; set; } + + /// + /// 获取或设置企业标签或标签分组次序值。 + /// + [Newtonsoft.Json.JsonProperty("order")] + [System.Text.Json.Serialization.JsonPropertyName("order")] + public int? TagOrGroupOrder { get; set; } + } +} diff --git a/src/SKIT.FlurlHttpClient.Wechat.Work/Models/CgibinExternalContact/StrategyTag/CgibinExternalContactEditStrategyTagResponse.cs b/src/SKIT.FlurlHttpClient.Wechat.Work/Models/CgibinExternalContact/StrategyTag/CgibinExternalContactEditStrategyTagResponse.cs new file mode 100644 index 00000000..21e061ea --- /dev/null +++ b/src/SKIT.FlurlHttpClient.Wechat.Work/Models/CgibinExternalContact/StrategyTag/CgibinExternalContactEditStrategyTagResponse.cs @@ -0,0 +1,12 @@ +using System; +using System.Collections.Generic; + +namespace SKIT.FlurlHttpClient.Wechat.Work.Models +{ + /// + /// 表示 [POST] /cgi-bin/externalcontact/edit_strategy_tag 接口的响应。 + /// + public class CgibinExternalContactEditStrategyTagResponse : WechatWorkResponse + { + } +} diff --git a/src/SKIT.FlurlHttpClient.Wechat.Work/Models/CgibinExternalContact/StrategyTag/CgibinExternalContactGetStrategyTagListRequest.cs b/src/SKIT.FlurlHttpClient.Wechat.Work/Models/CgibinExternalContact/StrategyTag/CgibinExternalContactGetStrategyTagListRequest.cs new file mode 100644 index 00000000..da5ecf09 --- /dev/null +++ b/src/SKIT.FlurlHttpClient.Wechat.Work/Models/CgibinExternalContact/StrategyTag/CgibinExternalContactGetStrategyTagListRequest.cs @@ -0,0 +1,32 @@ +using System; +using System.Collections.Generic; + +namespace SKIT.FlurlHttpClient.Wechat.Work.Models +{ + /// + /// 表示 [POST] /cgi-bin/externalcontact/get_strategy_tag_list 接口的请求。 + /// + public class CgibinExternalContactGetStrategyTagListRequest : WechatWorkRequest + { + /// + /// 获取或设置规则组 ID。 + /// + [Newtonsoft.Json.JsonProperty("strategy_id")] + [System.Text.Json.Serialization.JsonPropertyName("strategy_id")] + public int? StrategyId { get; set; } + + /// + /// 获取或设置企业标签 ID 列表。 + /// + [Newtonsoft.Json.JsonProperty("tag_id")] + [System.Text.Json.Serialization.JsonPropertyName("tag_id")] + public IList? TagIdList { get; set; } + + /// + /// 获取或设置企业标签分组 ID 列表。 + /// + [Newtonsoft.Json.JsonProperty("group_id")] + [System.Text.Json.Serialization.JsonPropertyName("group_id")] + public IList? TagGroupIdList { get; set; } + } +} diff --git a/src/SKIT.FlurlHttpClient.Wechat.Work/Models/CgibinExternalContact/StrategyTag/CgibinExternalContactGetStrategyTagListResponse.cs b/src/SKIT.FlurlHttpClient.Wechat.Work/Models/CgibinExternalContact/StrategyTag/CgibinExternalContactGetStrategyTagListResponse.cs new file mode 100644 index 00000000..100983ca --- /dev/null +++ b/src/SKIT.FlurlHttpClient.Wechat.Work/Models/CgibinExternalContact/StrategyTag/CgibinExternalContactGetStrategyTagListResponse.cs @@ -0,0 +1,100 @@ +using System; +using System.Collections.Generic; + +namespace SKIT.FlurlHttpClient.Wechat.Work.Models +{ + /// + /// 表示 [POST] /cgi-bin/externalcontact/get_strategy_tag_list 接口的响应。 + /// + public class CgibinExternalContactGetStrategyTagListResponse : WechatWorkResponse + { + public static class Types + { + public class TagGroup + { + public static class Types + { + public class Tag + { + /// + /// 获取或设置企业标签 ID。 + /// + [Newtonsoft.Json.JsonProperty("id")] + [System.Text.Json.Serialization.JsonPropertyName("id")] + public string TagId { get; set; } = default!; + + /// + /// 获取或设置企业标签名称。 + /// + [Newtonsoft.Json.JsonProperty("name")] + [System.Text.Json.Serialization.JsonPropertyName("name")] + public string Name { get; set; } = default!; + + /// + /// 获取或设置次序值。 + /// + [Newtonsoft.Json.JsonProperty("order")] + [System.Text.Json.Serialization.JsonPropertyName("order")] + public int Order { get; set; } + + /// + /// 获取或设置创建时间戳。 + /// + [Newtonsoft.Json.JsonProperty("create_time")] + [System.Text.Json.Serialization.JsonPropertyName("create_time")] + public long CreateTimestamp { get; set; } + } + } + + /// + /// 获取或设置规则组 ID。 + /// + [Newtonsoft.Json.JsonProperty("strategy_id")] + [System.Text.Json.Serialization.JsonPropertyName("strategy_id")] + public int StrategyId { get; set; } + + /// + /// 获取或设置企业标签分组 ID。 + /// + [Newtonsoft.Json.JsonProperty("group_id")] + [System.Text.Json.Serialization.JsonPropertyName("group_id")] + public string TagGroupId { get; set; } = default!; + + /// + /// 获取或设置企业标签分组名称。 + /// + [Newtonsoft.Json.JsonProperty("group_name")] + [System.Text.Json.Serialization.JsonPropertyName("group_name")] + public string TagGroupName { get; set; } = default!; + + /// + /// 获取或设置次序值。 + /// + [Newtonsoft.Json.JsonProperty("order")] + [System.Text.Json.Serialization.JsonPropertyName("order")] + public int Order { get; set; } + + /// + /// 获取或设置创建时间戳。 + /// + [Newtonsoft.Json.JsonProperty("create_time")] + [System.Text.Json.Serialization.JsonPropertyName("create_time")] + public long CreateTimestamp { get; set; } + + /// + /// 获取或设置标签列表。 + /// + [Newtonsoft.Json.JsonProperty("tag")] + [System.Text.Json.Serialization.JsonPropertyName("tag")] + public Types.Tag[] TagList { get; set; } = default!; + } + } + + /// + /// 获取或设置企业标签列表。 + /// + [Newtonsoft.Json.JsonProperty("tag_group")] + [System.Text.Json.Serialization.JsonPropertyName("tag_group")] + public Types.TagGroup[] TagGroupList { get; set; } = default!; + } +}