From 431c37fb1e97827e2a58b45fb7ab82e9e3ea3003 Mon Sep 17 00:00:00 2001 From: Fu Diwei Date: Fri, 19 Nov 2021 13:22:59 +0800 Subject: [PATCH] =?UTF-8?q?feat(work):=20=E9=80=82=E9=85=8D=E4=BC=81?= =?UTF-8?q?=E4=B8=9A=E5=BE=AE=E4=BF=A1=E5=B8=90=E5=8F=B7=20ID=20=E5=AE=89?= =?UTF-8?q?=E5=85=A8=E6=80=A7=E5=85=A8=E9=9D=A2=E5=8D=87=E7=BA=A7?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../AgreeExternalUserIdMigrationEvent.cs | 25 ++++++++ ...orkClientExecuteCgibinServiceExtensions.cs | 62 +++++++++++++++++++ ...ernalContactGetNewExternalUserIdRequest.cs | 17 +++++ ...rnalContactGetNewExternalUserIdResponse.cs | 35 +++++++++++ ...actFinishExternalUserIdMigrationRequest.cs | 22 +++++++ ...ctFinishExternalUserIdMigrationResponse.cs | 9 +++ ...ontactUnionIdToExternalUserId3rdRequest.cs | 29 +++++++++ ...ntactUnionIdToExternalUserId3rdResponse.cs | 35 +++++++++++ .../WechatWorkEvent.cs | 8 +-- .../AgreeExternalUserIdMigrationEvent.json | 6 ++ .../AgreeExternalUserIdMigrationEvent.xml | 6 ++ ...nalContactGetNewExternalUserIdRequest.json | 3 + ...alContactGetNewExternalUserIdResponse.json | 14 +++++ ...tFinishExternalUserIdMigrationRequest.json | 3 + ...FinishExternalUserIdMigrationResponse.json | 4 ++ ...tactUnionIdToExternalUserId3rdRequest.json | 5 ++ ...actUnionIdToExternalUserId3rdResponse.json | 14 +++++ 17 files changed, 293 insertions(+), 4 deletions(-) create mode 100644 src/SKIT.FlurlHttpClient.Wechat.Work/Events/Service/AgreeExternalUserIdMigrationEvent.cs create mode 100644 src/SKIT.FlurlHttpClient.Wechat.Work/Models/CgibinService/ExternalContactMigration/CgibinExternalContactGetNewExternalUserIdRequest.cs create mode 100644 src/SKIT.FlurlHttpClient.Wechat.Work/Models/CgibinService/ExternalContactMigration/CgibinExternalContactGetNewExternalUserIdResponse.cs create mode 100644 src/SKIT.FlurlHttpClient.Wechat.Work/Models/CgibinService/ExternalContactMigration/CgibinServiceExternalContactFinishExternalUserIdMigrationRequest.cs create mode 100644 src/SKIT.FlurlHttpClient.Wechat.Work/Models/CgibinService/ExternalContactMigration/CgibinServiceExternalContactFinishExternalUserIdMigrationResponse.cs create mode 100644 src/SKIT.FlurlHttpClient.Wechat.Work/Models/CgibinService/ExternalContactMigration/CgibinServiceExternalContactUnionIdToExternalUserId3rdRequest.cs create mode 100644 src/SKIT.FlurlHttpClient.Wechat.Work/Models/CgibinService/ExternalContactMigration/CgibinServiceExternalContactUnionIdToExternalUserId3rdResponse.cs create mode 100644 test/SKIT.FlurlHttpClient.Wechat.Work.UnitTests/EventSamples/Service/AgreeExternalUserIdMigrationEvent.json create mode 100644 test/SKIT.FlurlHttpClient.Wechat.Work.UnitTests/EventSamples/Service/AgreeExternalUserIdMigrationEvent.xml create mode 100644 test/SKIT.FlurlHttpClient.Wechat.Work.UnitTests/ModelSamples/CgibinService/ExternalContactMigration/CgibinExternalContactGetNewExternalUserIdRequest.json create mode 100644 test/SKIT.FlurlHttpClient.Wechat.Work.UnitTests/ModelSamples/CgibinService/ExternalContactMigration/CgibinExternalContactGetNewExternalUserIdResponse.json create mode 100644 test/SKIT.FlurlHttpClient.Wechat.Work.UnitTests/ModelSamples/CgibinService/ExternalContactMigration/CgibinServiceExternalContactFinishExternalUserIdMigrationRequest.json create mode 100644 test/SKIT.FlurlHttpClient.Wechat.Work.UnitTests/ModelSamples/CgibinService/ExternalContactMigration/CgibinServiceExternalContactFinishExternalUserIdMigrationResponse.json create mode 100644 test/SKIT.FlurlHttpClient.Wechat.Work.UnitTests/ModelSamples/CgibinService/ExternalContactMigration/CgibinServiceExternalContactUnionIdToExternalUserId3rdRequest.json create mode 100644 test/SKIT.FlurlHttpClient.Wechat.Work.UnitTests/ModelSamples/CgibinService/ExternalContactMigration/CgibinServiceExternalContactUnionIdToExternalUserId3rdResponse.json diff --git a/src/SKIT.FlurlHttpClient.Wechat.Work/Events/Service/AgreeExternalUserIdMigrationEvent.cs b/src/SKIT.FlurlHttpClient.Wechat.Work/Events/Service/AgreeExternalUserIdMigrationEvent.cs new file mode 100644 index 00000000..f824e155 --- /dev/null +++ b/src/SKIT.FlurlHttpClient.Wechat.Work/Events/Service/AgreeExternalUserIdMigrationEvent.cs @@ -0,0 +1,25 @@ +namespace SKIT.FlurlHttpClient.Wechat.Work.Events +{ + /// + /// 表示 agree_external_userid_migration 事件的数据。 + /// REF: https://open.work.weixin.qq.com/api/doc/90001/90143/95327 + /// + public class AgreeExternalUserIdMigrationEvent : WechatWorkEvent, WechatWorkEvent.Serialization.IXmlSerializable, WechatWorkEvent.Serialization.IJsonSerializable + { + /// + /// 获取或设置服务商 CorpId。 + /// + [Newtonsoft.Json.JsonProperty("ServiceCorpId")] + [System.Text.Json.Serialization.JsonPropertyName("ServiceCorpId")] + [System.Xml.Serialization.XmlElement("ServiceCorpId")] + public string ServiceCorpId { get; set; } = default!; + + /// + /// 获取或设置授权方的 CorpId。 + /// + [Newtonsoft.Json.JsonProperty("AuthCorpId")] + [System.Text.Json.Serialization.JsonPropertyName("AuthCorpId")] + [System.Xml.Serialization.XmlElement("AuthCorpId")] + public string AuthorizerCorpId { get; set; } = default!; + } +} diff --git a/src/SKIT.FlurlHttpClient.Wechat.Work/Extensions/WechatWorkClientExecuteCgibinServiceExtensions.cs b/src/SKIT.FlurlHttpClient.Wechat.Work/Extensions/WechatWorkClientExecuteCgibinServiceExtensions.cs index c3312a51..de1443db 100644 --- a/src/SKIT.FlurlHttpClient.Wechat.Work/Extensions/WechatWorkClientExecuteCgibinServiceExtensions.cs +++ b/src/SKIT.FlurlHttpClient.Wechat.Work/Extensions/WechatWorkClientExecuteCgibinServiceExtensions.cs @@ -585,5 +585,67 @@ namespace SKIT.FlurlHttpClient.Wechat.Work return await client.SendRequestWithJsonAsync(flurlReq, data: request, cancellationToken: cancellationToken); } #endregion + + #region ExternalContactMigration + /// + /// 异步调用 [POST] /cgi-bin/externalcontact/get_new_external_userid 接口。 + /// REF: https://open.work.weixin.qq.com/api/doc/90001/90143/95327 + /// + /// + /// + /// + /// + public static async Task ExecuteCgibinExternalContactGetNewExternalUserIdAsync(this WechatWorkClient client, Models.CgibinExternalContactGetNewExternalUserIdRequest 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_new_external_userid") + .SetQueryParam("access_token", request.AccessToken); + + return await client.SendRequestWithJsonAsync(flurlReq, data: request, cancellationToken: cancellationToken); + } + + /// + /// 异步调用 [POST] /cgi-bin/service/externalcontact/finish_external_userid_migration 接口。 + /// REF: https://open.work.weixin.qq.com/api/doc/90001/90143/95327 + /// + /// + /// + /// + /// + public static async Task ExecuteCgibinServiceExternalContactFinishExternalUserIdMigrationAsync(this WechatWorkClient client, Models.CgibinServiceExternalContactFinishExternalUserIdMigrationRequest 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", "service", "externalcontact", "finish_external_userid_migration") + .SetQueryParam("provider_access_token", request.ProviderAccessToken); + + return await client.SendRequestWithJsonAsync(flurlReq, data: request, cancellationToken: cancellationToken); + } + + /// + /// 异步调用 [POST] /cgi-bin/service/externalcontact/unionid_to_external_userid_3rd 接口。 + /// REF: https://open.work.weixin.qq.com/api/doc/90001/90143/95327 + /// + /// + /// + /// + /// + public static async Task ExecuteCgibinServiceExternalContactUnionIdToExternalUserId3rdAsync(this WechatWorkClient client, Models.CgibinServiceExternalContactUnionIdToExternalUserId3rdRequest 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", "service", "externalcontact", "unionid_to_external_userid_3rd") + .SetQueryParam("suite_access_token", request.AccessToken); + + return await client.SendRequestWithJsonAsync(flurlReq, data: request, cancellationToken: cancellationToken); + } + #endregion } } diff --git a/src/SKIT.FlurlHttpClient.Wechat.Work/Models/CgibinService/ExternalContactMigration/CgibinExternalContactGetNewExternalUserIdRequest.cs b/src/SKIT.FlurlHttpClient.Wechat.Work/Models/CgibinService/ExternalContactMigration/CgibinExternalContactGetNewExternalUserIdRequest.cs new file mode 100644 index 00000000..1b48b3e0 --- /dev/null +++ b/src/SKIT.FlurlHttpClient.Wechat.Work/Models/CgibinService/ExternalContactMigration/CgibinExternalContactGetNewExternalUserIdRequest.cs @@ -0,0 +1,17 @@ +using System.Collections.Generic; + +namespace SKIT.FlurlHttpClient.Wechat.Work.Models +{ + /// + /// 表示 [POST] /cgi-bin/externalcontact/get_new_external_userid 接口的请求。 + /// + public class CgibinExternalContactGetNewExternalUserIdRequest : WechatWorkRequest + { + /// + /// 获取或设置原外部联系人账号列表。 + /// + [Newtonsoft.Json.JsonProperty("external_userid_list")] + [System.Text.Json.Serialization.JsonPropertyName("external_userid_list")] + public IList ExternalUserIdList { get; set; } = new List(); + } +} diff --git a/src/SKIT.FlurlHttpClient.Wechat.Work/Models/CgibinService/ExternalContactMigration/CgibinExternalContactGetNewExternalUserIdResponse.cs b/src/SKIT.FlurlHttpClient.Wechat.Work/Models/CgibinService/ExternalContactMigration/CgibinExternalContactGetNewExternalUserIdResponse.cs new file mode 100644 index 00000000..f2b5e82d --- /dev/null +++ b/src/SKIT.FlurlHttpClient.Wechat.Work/Models/CgibinService/ExternalContactMigration/CgibinExternalContactGetNewExternalUserIdResponse.cs @@ -0,0 +1,35 @@ +namespace SKIT.FlurlHttpClient.Wechat.Work.Models +{ + /// + /// 表示 [POST] /cgi-bin/externalcontact/get_new_external_userid 接口的响应。 + /// + public class CgibinExternalContactGetNewExternalUserIdResponse : WechatWorkResponse + { + public static class Types + { + public class Result + { + /// + /// 获取或设置原外部联系人账号。 + /// + [Newtonsoft.Json.JsonProperty("external_userid")] + [System.Text.Json.Serialization.JsonPropertyName("external_userid")] + public string ExternalUserId { get; set; } = default!; + + /// + /// 获取或设置新外部联系人账号。 + /// + [Newtonsoft.Json.JsonProperty("new_external_userid")] + [System.Text.Json.Serialization.JsonPropertyName("new_external_userid")] + public string NewExternalUserId { get; set; } = default!; + } + } + + /// + /// 获取或设置转换结果列表。 + /// + [Newtonsoft.Json.JsonProperty("items")] + [System.Text.Json.Serialization.JsonPropertyName("items")] + public Types.Result[] ResultList { get; set; } = default!; + } +} diff --git a/src/SKIT.FlurlHttpClient.Wechat.Work/Models/CgibinService/ExternalContactMigration/CgibinServiceExternalContactFinishExternalUserIdMigrationRequest.cs b/src/SKIT.FlurlHttpClient.Wechat.Work/Models/CgibinService/ExternalContactMigration/CgibinServiceExternalContactFinishExternalUserIdMigrationRequest.cs new file mode 100644 index 00000000..6c0cef3a --- /dev/null +++ b/src/SKIT.FlurlHttpClient.Wechat.Work/Models/CgibinService/ExternalContactMigration/CgibinServiceExternalContactFinishExternalUserIdMigrationRequest.cs @@ -0,0 +1,22 @@ +namespace SKIT.FlurlHttpClient.Wechat.Work.Models +{ + /// + /// 表示 [POST] /cgi-bin/service/externalcontact/finish_external_userid_migration 接口的请求。 + /// + public class CgibinServiceExternalContactFinishExternalUserIdMigrationRequest : WechatWorkRequest + { + /// + /// 获取或设置服务商 AccessToken。 + /// + [Newtonsoft.Json.JsonIgnore] + [System.Text.Json.Serialization.JsonIgnore] + public string ProviderAccessToken { get; set; } = string.Empty; + + /// + /// 获取或设置迁移完成的企业 CorpId。 + /// + [Newtonsoft.Json.JsonProperty("corpid")] + [System.Text.Json.Serialization.JsonPropertyName("corpid")] + public string CorpId { get; set; } = string.Empty; + } +} diff --git a/src/SKIT.FlurlHttpClient.Wechat.Work/Models/CgibinService/ExternalContactMigration/CgibinServiceExternalContactFinishExternalUserIdMigrationResponse.cs b/src/SKIT.FlurlHttpClient.Wechat.Work/Models/CgibinService/ExternalContactMigration/CgibinServiceExternalContactFinishExternalUserIdMigrationResponse.cs new file mode 100644 index 00000000..1c3083de --- /dev/null +++ b/src/SKIT.FlurlHttpClient.Wechat.Work/Models/CgibinService/ExternalContactMigration/CgibinServiceExternalContactFinishExternalUserIdMigrationResponse.cs @@ -0,0 +1,9 @@ +namespace SKIT.FlurlHttpClient.Wechat.Work.Models +{ + /// + /// 表示 [POST] /cgi-bin/service/externalcontact/finish_external_userid_migration 接口的响应。 + /// + public class CgibinServiceExternalContactFinishExternalUserIdMigrationResponse : WechatWorkResponse + { + } +} diff --git a/src/SKIT.FlurlHttpClient.Wechat.Work/Models/CgibinService/ExternalContactMigration/CgibinServiceExternalContactUnionIdToExternalUserId3rdRequest.cs b/src/SKIT.FlurlHttpClient.Wechat.Work/Models/CgibinService/ExternalContactMigration/CgibinServiceExternalContactUnionIdToExternalUserId3rdRequest.cs new file mode 100644 index 00000000..4cb876da --- /dev/null +++ b/src/SKIT.FlurlHttpClient.Wechat.Work/Models/CgibinService/ExternalContactMigration/CgibinServiceExternalContactUnionIdToExternalUserId3rdRequest.cs @@ -0,0 +1,29 @@ +namespace SKIT.FlurlHttpClient.Wechat.Work.Models +{ + /// + /// 表示 [POST] /cgi-bin/service/externalcontact/unionid_to_external_userid_3rd 接口的请求。 + /// + public class CgibinServiceExternalContactUnionIdToExternalUserId3rdRequest : WechatWorkRequest + { + /// + /// 获取或设置微信 UnionId。 + /// + [Newtonsoft.Json.JsonProperty("unionid")] + [System.Text.Json.Serialization.JsonPropertyName("unionid")] + public string UnionId { get; set; } = string.Empty; + + /// + /// 获取或设置微信 OpenId。 + /// + [Newtonsoft.Json.JsonProperty("openid")] + [System.Text.Json.Serialization.JsonPropertyName("openid")] + public string OpenId { get; set; } = string.Empty; + + /// + /// 获取或设置需要换取的企业 CorpId。 + /// + [Newtonsoft.Json.JsonProperty("corpid")] + [System.Text.Json.Serialization.JsonPropertyName("corpid")] + public string? CorpId { get; set; } + } +} diff --git a/src/SKIT.FlurlHttpClient.Wechat.Work/Models/CgibinService/ExternalContactMigration/CgibinServiceExternalContactUnionIdToExternalUserId3rdResponse.cs b/src/SKIT.FlurlHttpClient.Wechat.Work/Models/CgibinService/ExternalContactMigration/CgibinServiceExternalContactUnionIdToExternalUserId3rdResponse.cs new file mode 100644 index 00000000..3487b59f --- /dev/null +++ b/src/SKIT.FlurlHttpClient.Wechat.Work/Models/CgibinService/ExternalContactMigration/CgibinServiceExternalContactUnionIdToExternalUserId3rdResponse.cs @@ -0,0 +1,35 @@ +namespace SKIT.FlurlHttpClient.Wechat.Work.Models +{ + /// + /// 表示 [POST] /cgi-bin/service/externalcontact/unionid_to_external_userid_3rd 接口的响应。 + /// + public class CgibinServiceExternalContactUnionIdToExternalUserId3rdResponse : WechatWorkResponse + { + public static class Types + { + public class ExternalUser + { + /// + /// 获取或设置企业 CorpId。 + /// + [Newtonsoft.Json.JsonProperty("corpid")] + [System.Text.Json.Serialization.JsonPropertyName("corpid")] + public string CorpId { get; set; } = default!; + + /// + /// 获取或设置外部联系人账号。 + /// + [Newtonsoft.Json.JsonProperty("external_userid")] + [System.Text.Json.Serialization.JsonPropertyName("external_userid")] + public string ExternalUserId { get; set; } = default!; + } + } + + /// + /// 获取或设置外部联系人列表。 + /// + [Newtonsoft.Json.JsonProperty("external_userid_info")] + [System.Text.Json.Serialization.JsonPropertyName("external_userid_info")] + public Types.ExternalUser[] ExternalUserList { get; set; } = default!; + } +} diff --git a/src/SKIT.FlurlHttpClient.Wechat.Work/WechatWorkEvent.cs b/src/SKIT.FlurlHttpClient.Wechat.Work/WechatWorkEvent.cs index 28de02f7..35a69f1a 100644 --- a/src/SKIT.FlurlHttpClient.Wechat.Work/WechatWorkEvent.cs +++ b/src/SKIT.FlurlHttpClient.Wechat.Work/WechatWorkEvent.cs @@ -66,16 +66,16 @@ namespace SKIT.FlurlHttpClient.Wechat.Work /// /// 获取或设置消息类型。 /// - [Newtonsoft.Json.JsonIgnore] - [System.Text.Json.Serialization.JsonIgnore] + [Newtonsoft.Json.JsonProperty("InfoType")] + [System.Text.Json.Serialization.JsonPropertyName("InfoType")] [XmlElement("InfoType", IsNullable = true)] public string? InfoType { get; set; } /// /// 获取或设置消息时间戳。 /// - [Newtonsoft.Json.JsonIgnore] - [System.Text.Json.Serialization.JsonIgnore] + [Newtonsoft.Json.JsonProperty("TimeStamp")] + [System.Text.Json.Serialization.JsonPropertyName("TimeStamp")] [XmlElement("TimeStamp", IsNullable = true)] public long? InfoTimestamp { get; set; } } diff --git a/test/SKIT.FlurlHttpClient.Wechat.Work.UnitTests/EventSamples/Service/AgreeExternalUserIdMigrationEvent.json b/test/SKIT.FlurlHttpClient.Wechat.Work.UnitTests/EventSamples/Service/AgreeExternalUserIdMigrationEvent.json new file mode 100644 index 00000000..0f0651bd --- /dev/null +++ b/test/SKIT.FlurlHttpClient.Wechat.Work.UnitTests/EventSamples/Service/AgreeExternalUserIdMigrationEvent.json @@ -0,0 +1,6 @@ +{ + "AuthCorpId": "xxxx", + "InfoType": "agree_external_userid_migration", + "ServiceCorpId": "xxxx", + "TimeStamp": 1403610513 +} \ No newline at end of file diff --git a/test/SKIT.FlurlHttpClient.Wechat.Work.UnitTests/EventSamples/Service/AgreeExternalUserIdMigrationEvent.xml b/test/SKIT.FlurlHttpClient.Wechat.Work.UnitTests/EventSamples/Service/AgreeExternalUserIdMigrationEvent.xml new file mode 100644 index 00000000..248f6d8a --- /dev/null +++ b/test/SKIT.FlurlHttpClient.Wechat.Work.UnitTests/EventSamples/Service/AgreeExternalUserIdMigrationEvent.xml @@ -0,0 +1,6 @@ + + + + + 1403610513 + \ No newline at end of file diff --git a/test/SKIT.FlurlHttpClient.Wechat.Work.UnitTests/ModelSamples/CgibinService/ExternalContactMigration/CgibinExternalContactGetNewExternalUserIdRequest.json b/test/SKIT.FlurlHttpClient.Wechat.Work.UnitTests/ModelSamples/CgibinService/ExternalContactMigration/CgibinExternalContactGetNewExternalUserIdRequest.json new file mode 100644 index 00000000..ff70a5cb --- /dev/null +++ b/test/SKIT.FlurlHttpClient.Wechat.Work.UnitTests/ModelSamples/CgibinService/ExternalContactMigration/CgibinExternalContactGetNewExternalUserIdRequest.json @@ -0,0 +1,3 @@ +{ + "external_userid_list": [ "xxxxx", "yyyyyy" ] +} \ No newline at end of file diff --git a/test/SKIT.FlurlHttpClient.Wechat.Work.UnitTests/ModelSamples/CgibinService/ExternalContactMigration/CgibinExternalContactGetNewExternalUserIdResponse.json b/test/SKIT.FlurlHttpClient.Wechat.Work.UnitTests/ModelSamples/CgibinService/ExternalContactMigration/CgibinExternalContactGetNewExternalUserIdResponse.json new file mode 100644 index 00000000..869f1ef5 --- /dev/null +++ b/test/SKIT.FlurlHttpClient.Wechat.Work.UnitTests/ModelSamples/CgibinService/ExternalContactMigration/CgibinExternalContactGetNewExternalUserIdResponse.json @@ -0,0 +1,14 @@ +{ + "errcode": 0, + "errmsg": "ok", + "items": [ + { + "external_userid": "xxxxx", + "new_external_userid": "AAAA" + }, + { + "external_userid": "yyyyy", + "new_external_userid": "BBBB" + } + ] +} \ No newline at end of file diff --git a/test/SKIT.FlurlHttpClient.Wechat.Work.UnitTests/ModelSamples/CgibinService/ExternalContactMigration/CgibinServiceExternalContactFinishExternalUserIdMigrationRequest.json b/test/SKIT.FlurlHttpClient.Wechat.Work.UnitTests/ModelSamples/CgibinService/ExternalContactMigration/CgibinServiceExternalContactFinishExternalUserIdMigrationRequest.json new file mode 100644 index 00000000..dcaae4fe --- /dev/null +++ b/test/SKIT.FlurlHttpClient.Wechat.Work.UnitTests/ModelSamples/CgibinService/ExternalContactMigration/CgibinServiceExternalContactFinishExternalUserIdMigrationRequest.json @@ -0,0 +1,3 @@ +{ + "corpid": "xxxxx" +} \ No newline at end of file diff --git a/test/SKIT.FlurlHttpClient.Wechat.Work.UnitTests/ModelSamples/CgibinService/ExternalContactMigration/CgibinServiceExternalContactFinishExternalUserIdMigrationResponse.json b/test/SKIT.FlurlHttpClient.Wechat.Work.UnitTests/ModelSamples/CgibinService/ExternalContactMigration/CgibinServiceExternalContactFinishExternalUserIdMigrationResponse.json new file mode 100644 index 00000000..f752befe --- /dev/null +++ b/test/SKIT.FlurlHttpClient.Wechat.Work.UnitTests/ModelSamples/CgibinService/ExternalContactMigration/CgibinServiceExternalContactFinishExternalUserIdMigrationResponse.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/CgibinService/ExternalContactMigration/CgibinServiceExternalContactUnionIdToExternalUserId3rdRequest.json b/test/SKIT.FlurlHttpClient.Wechat.Work.UnitTests/ModelSamples/CgibinService/ExternalContactMigration/CgibinServiceExternalContactUnionIdToExternalUserId3rdRequest.json new file mode 100644 index 00000000..a303a938 --- /dev/null +++ b/test/SKIT.FlurlHttpClient.Wechat.Work.UnitTests/ModelSamples/CgibinService/ExternalContactMigration/CgibinServiceExternalContactUnionIdToExternalUserId3rdRequest.json @@ -0,0 +1,5 @@ +{ + "unionid": "xxxxx", + "openid": "xxxxx", + "corpid": "xxxxx" +} \ No newline at end of file diff --git a/test/SKIT.FlurlHttpClient.Wechat.Work.UnitTests/ModelSamples/CgibinService/ExternalContactMigration/CgibinServiceExternalContactUnionIdToExternalUserId3rdResponse.json b/test/SKIT.FlurlHttpClient.Wechat.Work.UnitTests/ModelSamples/CgibinService/ExternalContactMigration/CgibinServiceExternalContactUnionIdToExternalUserId3rdResponse.json new file mode 100644 index 00000000..86f68139 --- /dev/null +++ b/test/SKIT.FlurlHttpClient.Wechat.Work.UnitTests/ModelSamples/CgibinService/ExternalContactMigration/CgibinServiceExternalContactUnionIdToExternalUserId3rdResponse.json @@ -0,0 +1,14 @@ +{ + "errcode": 0, + "errmsg": "ok", + "external_userid_info": [ + { + "corpid": "AAAAA", + "external_userid": "BBBB" + }, + { + "corpid": "CCCCC", + "external_userid": "DDDDD" + } + ] +} \ No newline at end of file