diff --git a/src/SKIT.FlurlHttpClient.Wechat.Work/Extensions/WechatWorkClientExecuteCgibinMeetingExtensions.cs b/src/SKIT.FlurlHttpClient.Wechat.Work/Extensions/WechatWorkClientExecuteCgibinMeetingExtensions.cs index c98069bf..2cd94b6c 100644 --- a/src/SKIT.FlurlHttpClient.Wechat.Work/Extensions/WechatWorkClientExecuteCgibinMeetingExtensions.cs +++ b/src/SKIT.FlurlHttpClient.Wechat.Work/Extensions/WechatWorkClientExecuteCgibinMeetingExtensions.cs @@ -495,5 +495,67 @@ namespace SKIT.FlurlHttpClient.Wechat.Work return await client.SendRequestWithJsonAsync(flurlReq, data: request, cancellationToken: cancellationToken); } #endregion + + #region Phone + /// + /// 异步调用 [POST] /cgi-bin/meeting/phone/callout 接口。 + /// REF: https://developer.work.weixin.qq.com/document/path/98823 + /// + /// + /// + /// + /// + public static async Task ExecuteCgibinMeetingPhoneCalloutAsync(this WechatWorkClient client, Models.CgibinMeetingPhoneCalloutRequest 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", "meeting", "phone", "callout") + .SetQueryParam("access_token", request.AccessToken); + + return await client.SendRequestWithJsonAsync(flurlReq, data: request, cancellationToken: cancellationToken); + } + + /// + /// 异步调用 [POST] /cgi-bin/meeting/phone/get_callout_status 接口。 + /// REF: https://developer.work.weixin.qq.com/document/path/98824 + /// + /// + /// + /// + /// + public static async Task ExecuteCgibinMeetingPhoneGetCalloutStatusAsync(this WechatWorkClient client, Models.CgibinMeetingPhoneGetCalloutStatusRequest 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", "meeting", "phone", "get_callout_status") + .SetQueryParam("access_token", request.AccessToken); + + return await client.SendRequestWithJsonAsync(flurlReq, data: request, cancellationToken: cancellationToken); + } + + /// + /// 异步调用 [POST] /cgi-bin/meeting/phone/get_tmp_openid 接口。 + /// REF: https://developer.work.weixin.qq.com/document/path/98825 + /// + /// + /// + /// + /// + public static async Task ExecuteCgibinMeetingPhoneGetTempOpenIdAsync(this WechatWorkClient client, Models.CgibinMeetingPhoneGetTempOpenIdRequest 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", "meeting", "phone", "get_tmp_openid") + .SetQueryParam("access_token", request.AccessToken); + + return await client.SendRequestWithJsonAsync(flurlReq, data: request, cancellationToken: cancellationToken); + } + #endregion } } diff --git a/src/SKIT.FlurlHttpClient.Wechat.Work/Models/CgibinMeeting/CgibinMeetingCreateRequest.cs b/src/SKIT.FlurlHttpClient.Wechat.Work/Models/CgibinMeeting/CgibinMeetingCreateRequest.cs index db4c596a..3088dc7d 100644 --- a/src/SKIT.FlurlHttpClient.Wechat.Work/Models/CgibinMeeting/CgibinMeetingCreateRequest.cs +++ b/src/SKIT.FlurlHttpClient.Wechat.Work/Models/CgibinMeeting/CgibinMeetingCreateRequest.cs @@ -36,7 +36,7 @@ namespace SKIT.FlurlHttpClient.Wechat.Work.Models public string AreaCode { get; set; } = string.Empty; /// - /// 获取或设置手机号码。 + /// 获取或设置电话号码。 /// [Newtonsoft.Json.JsonProperty("phone_number")] [System.Text.Json.Serialization.JsonPropertyName("phone_number")] diff --git a/src/SKIT.FlurlHttpClient.Wechat.Work/Models/CgibinMeeting/CgibinMeetingGetInfoResponse.cs b/src/SKIT.FlurlHttpClient.Wechat.Work/Models/CgibinMeeting/CgibinMeetingGetInfoResponse.cs index c8c5518f..0f610732 100644 --- a/src/SKIT.FlurlHttpClient.Wechat.Work/Models/CgibinMeeting/CgibinMeetingGetInfoResponse.cs +++ b/src/SKIT.FlurlHttpClient.Wechat.Work/Models/CgibinMeeting/CgibinMeetingGetInfoResponse.cs @@ -151,7 +151,7 @@ namespace SKIT.FlurlHttpClient.Wechat.Work.Models public string AreaCode { get; set; } = default!; /// - /// 获取或设置手机号码。 + /// 获取或设置电话号码。 /// [Newtonsoft.Json.JsonProperty("phone_number")] [System.Text.Json.Serialization.JsonPropertyName("phone_number")] diff --git a/src/SKIT.FlurlHttpClient.Wechat.Work/Models/CgibinMeeting/Enroll/CgibinMeetingEnrollImportRequest.cs b/src/SKIT.FlurlHttpClient.Wechat.Work/Models/CgibinMeeting/Enroll/CgibinMeetingEnrollImportRequest.cs index d14c63f1..80f6af8a 100644 --- a/src/SKIT.FlurlHttpClient.Wechat.Work/Models/CgibinMeeting/Enroll/CgibinMeetingEnrollImportRequest.cs +++ b/src/SKIT.FlurlHttpClient.Wechat.Work/Models/CgibinMeeting/Enroll/CgibinMeetingEnrollImportRequest.cs @@ -26,7 +26,7 @@ namespace SKIT.FlurlHttpClient.Wechat.Work.Models public string? AreaCode { get; set; } /// - /// 获取或设置手机号码。 + /// 获取或设置电话号码。 /// [Newtonsoft.Json.JsonProperty("phone_number")] [System.Text.Json.Serialization.JsonPropertyName("phone_number")] diff --git a/src/SKIT.FlurlHttpClient.Wechat.Work/Models/CgibinMeeting/Enroll/CgibinMeetingEnrollImportResponse.cs b/src/SKIT.FlurlHttpClient.Wechat.Work/Models/CgibinMeeting/Enroll/CgibinMeetingEnrollImportResponse.cs index f13bbd50..31697bfd 100644 --- a/src/SKIT.FlurlHttpClient.Wechat.Work/Models/CgibinMeeting/Enroll/CgibinMeetingEnrollImportResponse.cs +++ b/src/SKIT.FlurlHttpClient.Wechat.Work/Models/CgibinMeeting/Enroll/CgibinMeetingEnrollImportResponse.cs @@ -31,7 +31,7 @@ namespace SKIT.FlurlHttpClient.Wechat.Work.Models public string? AreaCode { get; set; } /// - /// 获取或设置手机号码。 + /// 获取或设置电话号码。 /// [Newtonsoft.Json.JsonProperty("phone_number")] [System.Text.Json.Serialization.JsonPropertyName("phone_number")] diff --git a/src/SKIT.FlurlHttpClient.Wechat.Work/Models/CgibinMeeting/Phone/CgibinMeetingPhoneCalloutRequest.cs b/src/SKIT.FlurlHttpClient.Wechat.Work/Models/CgibinMeeting/Phone/CgibinMeetingPhoneCalloutRequest.cs new file mode 100644 index 00000000..0b807077 --- /dev/null +++ b/src/SKIT.FlurlHttpClient.Wechat.Work/Models/CgibinMeeting/Phone/CgibinMeetingPhoneCalloutRequest.cs @@ -0,0 +1,53 @@ +using System.Collections.Generic; + +namespace SKIT.FlurlHttpClient.Wechat.Work.Models +{ + /// + /// 表示 [POST] /cgi-bin/meeting/phone/callout 接口的请求。 + /// + public class CgibinMeetingPhoneCalloutRequest : WechatWorkRequest + { + public static class Types + { + public class Callout + { + /// + /// 获取或设置国家地区代码。 + /// + [Newtonsoft.Json.JsonProperty("area")] + [Newtonsoft.Json.JsonConverter(typeof(Newtonsoft.Json.Converters.NumericalStringConverter))] + [System.Text.Json.Serialization.JsonPropertyName("area")] + [System.Text.Json.Serialization.JsonConverter(typeof(System.Text.Json.Converters.NumericalStringConverter))] + public string AreaCode { get; set; } = string.Empty; + + /// + /// 获取或设置电话号码。 + /// + [Newtonsoft.Json.JsonProperty("phone")] + [System.Text.Json.Serialization.JsonPropertyName("phone")] + public string PhoneNumber { get; set; } = string.Empty; + + /// + /// 获取或设置分机号。 + /// + [Newtonsoft.Json.JsonProperty("extension_number")] + [System.Text.Json.Serialization.JsonPropertyName("extension_number")] + public string? ExtensionNumber { get; set; } + } + } + + /// + /// 获取或设置会议 ID。 + /// + [Newtonsoft.Json.JsonProperty("meetingid")] + [System.Text.Json.Serialization.JsonPropertyName("meetingid")] + public string MeetingId { get; set; } = string.Empty; + + /// + /// 获取或设置外呼列表。 + /// + [Newtonsoft.Json.JsonProperty("phone_numbers")] + [System.Text.Json.Serialization.JsonPropertyName("phone_numbers")] + public IList Calloutist { get; set; } = new List(); + } +} diff --git a/src/SKIT.FlurlHttpClient.Wechat.Work/Models/CgibinMeeting/Phone/CgibinMeetingPhoneCalloutResponse.cs b/src/SKIT.FlurlHttpClient.Wechat.Work/Models/CgibinMeeting/Phone/CgibinMeetingPhoneCalloutResponse.cs new file mode 100644 index 00000000..32069886 --- /dev/null +++ b/src/SKIT.FlurlHttpClient.Wechat.Work/Models/CgibinMeeting/Phone/CgibinMeetingPhoneCalloutResponse.cs @@ -0,0 +1,57 @@ +namespace SKIT.FlurlHttpClient.Wechat.Work.Models +{ + /// + /// 表示 [POST] /cgi-bin/meeting/phone/callout 接口的响应。 + /// + public class CgibinMeetingPhoneCalloutResponse : WechatWorkResponse + { + public static class Types + { + public class Callout + { + /// + /// 获取或设置国家地区代码。 + /// + [Newtonsoft.Json.JsonProperty("area")] + [System.Text.Json.Serialization.JsonPropertyName("area")] + [System.Text.Json.Serialization.JsonConverter(typeof(System.Text.Json.Converters.NumericalStringReadOnlyConverter))] + public string AreaCode { get; set; } = default!; + + /// + /// 获取或设置电话号码。 + /// + [Newtonsoft.Json.JsonProperty("phone")] + [System.Text.Json.Serialization.JsonPropertyName("phone")] + public string PhoneNumber { get; set; } = default!; + + /// + /// 获取或设置分机号。 + /// + [Newtonsoft.Json.JsonProperty("extension_number")] + [System.Text.Json.Serialization.JsonPropertyName("extension_number")] + public string? ExtensionNumber { get; set; } + + /// + /// 获取或设置外呼状态。 + /// + [Newtonsoft.Json.JsonProperty("status")] + [System.Text.Json.Serialization.JsonPropertyName("status")] + public string? Status { get; set; } + } + } + + /// + /// 获取或设置成功的外呼列表。 + /// + [Newtonsoft.Json.JsonProperty("phone_numbers")] + [System.Text.Json.Serialization.JsonPropertyName("phone_numbers")] + public Types.Callout[] SuccessfulCalloutList { get; set; } = default!; + + /// + /// 获取或设置不合法的外呼列表。 + /// + [Newtonsoft.Json.JsonProperty("invalid_phone_numbers")] + [System.Text.Json.Serialization.JsonPropertyName("invalid_phone_numbers")] + public Types.Callout[] InvalidCalloutList { get; set; } = default!; + } +} diff --git a/src/SKIT.FlurlHttpClient.Wechat.Work/Models/CgibinMeeting/Phone/CgibinMeetingPhoneGetCalloutStatusRequest.cs b/src/SKIT.FlurlHttpClient.Wechat.Work/Models/CgibinMeeting/Phone/CgibinMeetingPhoneGetCalloutStatusRequest.cs new file mode 100644 index 00000000..809aaf0e --- /dev/null +++ b/src/SKIT.FlurlHttpClient.Wechat.Work/Models/CgibinMeeting/Phone/CgibinMeetingPhoneGetCalloutStatusRequest.cs @@ -0,0 +1,31 @@ +using System.Collections.Generic; + +namespace SKIT.FlurlHttpClient.Wechat.Work.Models +{ + /// + /// 表示 [POST] /cgi-bin/meeting/phone/get_callout_status 接口的请求。 + /// + public class CgibinMeetingPhoneGetCalloutStatusRequest : WechatWorkRequest + { + /// + /// 获取或设置会议 ID。 + /// + [Newtonsoft.Json.JsonProperty("meetingid")] + [System.Text.Json.Serialization.JsonPropertyName("meetingid")] + public string MeetingId { get; set; } = string.Empty; + + /// + /// 获取或设置翻页标记。 + /// + [Newtonsoft.Json.JsonProperty("cursor")] + [System.Text.Json.Serialization.JsonPropertyName("cursor")] + public string? Cursor { 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/CgibinMeeting/Phone/CgibinMeetingPhoneGetCalloutStatusResponse.cs b/src/SKIT.FlurlHttpClient.Wechat.Work/Models/CgibinMeeting/Phone/CgibinMeetingPhoneGetCalloutStatusResponse.cs new file mode 100644 index 00000000..b54d0302 --- /dev/null +++ b/src/SKIT.FlurlHttpClient.Wechat.Work/Models/CgibinMeeting/Phone/CgibinMeetingPhoneGetCalloutStatusResponse.cs @@ -0,0 +1,71 @@ +namespace SKIT.FlurlHttpClient.Wechat.Work.Models +{ + /// + /// 表示 [POST] /cgi-bin/meeting/phone/get_callout_status 接口的响应。 + /// + public class CgibinMeetingPhoneGetCalloutStatusResponse : WechatWorkResponse + { + public static class Types + { + public class Callout + { + /// + /// 获取或设置国家地区代码。 + /// + [Newtonsoft.Json.JsonProperty("area")] + [System.Text.Json.Serialization.JsonPropertyName("area")] + [System.Text.Json.Serialization.JsonConverter(typeof(System.Text.Json.Converters.NumericalStringReadOnlyConverter))] + public string AreaCode { get; set; } = default!; + + /// + /// 获取或设置电话号码。 + /// + [Newtonsoft.Json.JsonProperty("phone")] + [System.Text.Json.Serialization.JsonPropertyName("phone")] + public string PhoneNumber { get; set; } = default!; + + /// + /// 获取或设置分机号。 + /// + [Newtonsoft.Json.JsonProperty("extension_number")] + [System.Text.Json.Serialization.JsonPropertyName("extension_number")] + public string? ExtensionNumber { get; set; } + + /// + /// 获取或设置外呼状态。 + /// + [Newtonsoft.Json.JsonProperty("status")] + [System.Text.Json.Serialization.JsonPropertyName("status")] + public string Status { get; set; } = default!; + + /// + /// 获取或设置会议的成员临时 ID。 + /// + [Newtonsoft.Json.JsonProperty("tmp_openid")] + [System.Text.Json.Serialization.JsonPropertyName("tmp_openid")] + public string TempOpenId { get; set; } = default!; + } + } + + /// + /// 获取或设置外呼列表。 + /// + [Newtonsoft.Json.JsonProperty("phone_numbers")] + [System.Text.Json.Serialization.JsonPropertyName("phone_numbers")] + public Types.Callout[] CalloutList { get; set; } = default!; + + /// + /// 获取或设置是否还有更多。 + /// + [Newtonsoft.Json.JsonProperty("has_more")] + [System.Text.Json.Serialization.JsonPropertyName("has_more")] + public bool HasMore { get; set; } + + /// + /// 获取或设置翻页标记。 + /// + [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/CgibinMeeting/Phone/CgibinMeetingPhoneGetTempOpenIdRequest.cs b/src/SKIT.FlurlHttpClient.Wechat.Work/Models/CgibinMeeting/Phone/CgibinMeetingPhoneGetTempOpenIdRequest.cs new file mode 100644 index 00000000..56f4aec7 --- /dev/null +++ b/src/SKIT.FlurlHttpClient.Wechat.Work/Models/CgibinMeeting/Phone/CgibinMeetingPhoneGetTempOpenIdRequest.cs @@ -0,0 +1,31 @@ +using System.Collections.Generic; + +namespace SKIT.FlurlHttpClient.Wechat.Work.Models +{ + /// + /// 表示 [POST] /cgi-bin/meeting/phone/get_tmp_openid 接口的请求。 + /// + public class CgibinMeetingPhoneGetTempOpenIdRequest : WechatWorkRequest + { + public static class Types + { + public class Callout : CgibinMeetingPhoneCalloutRequest.Types.Callout + { + } + } + + /// + /// 获取或设置会议 ID。 + /// + [Newtonsoft.Json.JsonProperty("meetingid")] + [System.Text.Json.Serialization.JsonPropertyName("meetingid")] + public string MeetingId { get; set; } = string.Empty; + + /// + /// 获取或设置外呼列表。 + /// + [Newtonsoft.Json.JsonProperty("phone_numbers")] + [System.Text.Json.Serialization.JsonPropertyName("phone_numbers")] + public IList Calloutist { get; set; } = new List(); + } +} diff --git a/src/SKIT.FlurlHttpClient.Wechat.Work/Models/CgibinMeeting/Phone/CgibinMeetingPhoneGetTempOpenIdResponse.cs b/src/SKIT.FlurlHttpClient.Wechat.Work/Models/CgibinMeeting/Phone/CgibinMeetingPhoneGetTempOpenIdResponse.cs new file mode 100644 index 00000000..04566d4a --- /dev/null +++ b/src/SKIT.FlurlHttpClient.Wechat.Work/Models/CgibinMeeting/Phone/CgibinMeetingPhoneGetTempOpenIdResponse.cs @@ -0,0 +1,50 @@ +namespace SKIT.FlurlHttpClient.Wechat.Work.Models +{ + /// + /// 表示 [POST] /cgi-bin/meeting/phone/get_tmp_openid 接口的响应。 + /// + public class CgibinMeetingPhoneGetTempOpenIdResponse : WechatWorkResponse + { + public static class Types + { + public class Callout + { + /// + /// 获取或设置国家地区代码。 + /// + [Newtonsoft.Json.JsonProperty("area")] + [System.Text.Json.Serialization.JsonPropertyName("area")] + [System.Text.Json.Serialization.JsonConverter(typeof(System.Text.Json.Converters.NumericalStringReadOnlyConverter))] + public string AreaCode { get; set; } = default!; + + /// + /// 获取或设置电话号码。 + /// + [Newtonsoft.Json.JsonProperty("phone")] + [System.Text.Json.Serialization.JsonPropertyName("phone")] + public string PhoneNumber { get; set; } = default!; + + /// + /// 获取或设置分机号。 + /// + [Newtonsoft.Json.JsonProperty("extension_number")] + [System.Text.Json.Serialization.JsonPropertyName("extension_number")] + public string? ExtensionNumber { get; set; } + + /// + /// 获取或设置会议的成员临时 ID。 + /// + [Newtonsoft.Json.JsonProperty("tmp_openid")] + [System.Text.Json.Serialization.JsonPropertyName("tmp_openid")] + public string TempOpenId { get; set; } = default!; + } + } + + /// + /// 获取或设置外呼列表。 + /// + [Newtonsoft.Json.JsonProperty("tmp_openid_list")] + [System.Text.Json.Serialization.JsonPropertyName("tmp_openid_list")] + public Types.Callout[] CalloutList { get; set; } = default!; + } +} diff --git a/test/SKIT.FlurlHttpClient.Wechat.Work.UnitTests/ModelSamples/CgibinMeeting/Phone/CgibinMeetingPhoneCalloutRequest.json b/test/SKIT.FlurlHttpClient.Wechat.Work.UnitTests/ModelSamples/CgibinMeeting/Phone/CgibinMeetingPhoneCalloutRequest.json new file mode 100644 index 00000000..d7198f99 --- /dev/null +++ b/test/SKIT.FlurlHttpClient.Wechat.Work.UnitTests/ModelSamples/CgibinMeeting/Phone/CgibinMeetingPhoneCalloutRequest.json @@ -0,0 +1,10 @@ +{ + "meetingid": "MEETINGID", + "phone_numbers": [ + { + "area": 86, + "phone": "13333333333", + "extension_number": "12345678" + } + ] +} diff --git a/test/SKIT.FlurlHttpClient.Wechat.Work.UnitTests/ModelSamples/CgibinMeeting/Phone/CgibinMeetingPhoneCalloutResponse.json b/test/SKIT.FlurlHttpClient.Wechat.Work.UnitTests/ModelSamples/CgibinMeeting/Phone/CgibinMeetingPhoneCalloutResponse.json new file mode 100644 index 00000000..e25ee6a0 --- /dev/null +++ b/test/SKIT.FlurlHttpClient.Wechat.Work.UnitTests/ModelSamples/CgibinMeeting/Phone/CgibinMeetingPhoneCalloutResponse.json @@ -0,0 +1,19 @@ +{ + "errcode": 0, + "errmsg": "ok", + "phone_numbers": [ + { + "area": 86, + "phone": "13333333333", + "extension_number": "12345678", + "status": "STATUS" + } + ], + "invalid_phone_numbers": [ + { + "area": 86, + "phone": "13333333333", + "extension_number": "12345678" + } + ] +} diff --git a/test/SKIT.FlurlHttpClient.Wechat.Work.UnitTests/ModelSamples/CgibinMeeting/Phone/CgibinMeetingPhoneGetCalloutStatusRequest.json b/test/SKIT.FlurlHttpClient.Wechat.Work.UnitTests/ModelSamples/CgibinMeeting/Phone/CgibinMeetingPhoneGetCalloutStatusRequest.json new file mode 100644 index 00000000..b2e62df1 --- /dev/null +++ b/test/SKIT.FlurlHttpClient.Wechat.Work.UnitTests/ModelSamples/CgibinMeeting/Phone/CgibinMeetingPhoneGetCalloutStatusRequest.json @@ -0,0 +1,5 @@ +{ + "meetingid": "MEETINGID", + "cursor": "CURSOR", + "limit": 10 +} diff --git a/test/SKIT.FlurlHttpClient.Wechat.Work.UnitTests/ModelSamples/CgibinMeeting/Phone/CgibinMeetingPhoneGetCalloutStatusResponse.json b/test/SKIT.FlurlHttpClient.Wechat.Work.UnitTests/ModelSamples/CgibinMeeting/Phone/CgibinMeetingPhoneGetCalloutStatusResponse.json new file mode 100644 index 00000000..340770c3 --- /dev/null +++ b/test/SKIT.FlurlHttpClient.Wechat.Work.UnitTests/ModelSamples/CgibinMeeting/Phone/CgibinMeetingPhoneGetCalloutStatusResponse.json @@ -0,0 +1,15 @@ +{ + "errcode": 0, + "errmsg": "ok", + "phone_numbers": [ + { + "area": 86, + "phone": "13333333333", + "extension_number": "12345678", + "status": "STATUS", + "tmp_openid": "TMP_OPENID" + } + ], + "next_cursor": "NEXT_CURSOR", + "has_more": false +} diff --git a/test/SKIT.FlurlHttpClient.Wechat.Work.UnitTests/ModelSamples/CgibinMeeting/Phone/CgibinMeetingPhoneGetTempOpenIdRequest.json b/test/SKIT.FlurlHttpClient.Wechat.Work.UnitTests/ModelSamples/CgibinMeeting/Phone/CgibinMeetingPhoneGetTempOpenIdRequest.json new file mode 100644 index 00000000..d7198f99 --- /dev/null +++ b/test/SKIT.FlurlHttpClient.Wechat.Work.UnitTests/ModelSamples/CgibinMeeting/Phone/CgibinMeetingPhoneGetTempOpenIdRequest.json @@ -0,0 +1,10 @@ +{ + "meetingid": "MEETINGID", + "phone_numbers": [ + { + "area": 86, + "phone": "13333333333", + "extension_number": "12345678" + } + ] +} diff --git a/test/SKIT.FlurlHttpClient.Wechat.Work.UnitTests/ModelSamples/CgibinMeeting/Phone/CgibinMeetingPhoneGetTempOpenIdResponse.json b/test/SKIT.FlurlHttpClient.Wechat.Work.UnitTests/ModelSamples/CgibinMeeting/Phone/CgibinMeetingPhoneGetTempOpenIdResponse.json new file mode 100644 index 00000000..f590a73b --- /dev/null +++ b/test/SKIT.FlurlHttpClient.Wechat.Work.UnitTests/ModelSamples/CgibinMeeting/Phone/CgibinMeetingPhoneGetTempOpenIdResponse.json @@ -0,0 +1,12 @@ +{ + "errcode": 0, + "errmsg": "ok", + "tmp_openid_list": [ + { + "area": 86, + "phone": "13333333333", + "extension_number": "12345678", + "tmp_openid": "TMP_OPENID" + } + ] +}