feat(work): 封装部分企业微信接口

This commit is contained in:
Fu Diwei 2021-06-01 19:07:44 +08:00
parent 9b208d66cc
commit 4f597dd965
69 changed files with 4183 additions and 0 deletions

View File

@ -53,6 +53,158 @@ namespace SKIT.FlurlHttpClient.Wechat.Work
return await client.SendRequestWithJsonAsync<Models.CgibinExternalContactCloseTempChatResponse>(flurlReq, data: request, cancellationToken: cancellationToken); return await client.SendRequestWithJsonAsync<Models.CgibinExternalContactCloseTempChatResponse>(flurlReq, data: request, cancellationToken: cancellationToken);
} }
/// <summary>
/// <para>异步调用 [GET] /cgi-bin/externalcontact/list 接口。</para>
/// <para>REF: https://open.work.weixin.qq.com/api/doc/90000/90135/92113 </para>
/// </summary>
/// <param name="client"></param>
/// <param name="request"></param>
/// <param name="cancellationToken"></param>
/// <returns></returns>
public static async Task<Models.CgibinExternalContactListResponse> ExecuteCgibinExternalContactListAsync(this WechatWorkClient client, Models.CgibinExternalContactListRequest 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(HttpMethod.Get, "cgi-bin", "externalcontact", "list")
.SetOptions(request)
.SetQueryParam("access_token", request.AccessToken)
.SetQueryParam("userid", request.UserId);
return await client.SendRequestAsync<Models.CgibinExternalContactListResponse>(flurlReq, cancellationToken: cancellationToken);
}
/// <summary>
/// <para>异步调用 [GET] /cgi-bin/externalcontact/get 接口。</para>
/// <para>REF: https://open.work.weixin.qq.com/api/doc/90000/90135/92113 </para>
/// </summary>
/// <param name="client"></param>
/// <param name="request"></param>
/// <param name="cancellationToken"></param>
/// <returns></returns>
public static async Task<Models.CgibinExternalContactGetResponse> ExecuteCgibinExternalContactGetAsync(this WechatWorkClient client, Models.CgibinExternalContactGetRequest 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(HttpMethod.Get, "cgi-bin", "externalcontact", "get")
.SetOptions(request)
.SetQueryParam("access_token", request.AccessToken)
.SetQueryParam("external_userid", request.ExternalUserId);
if (!string.IsNullOrEmpty(request.NextCursor))
request.NextCursor = request.NextCursor;
return await client.SendRequestAsync<Models.CgibinExternalContactGetResponse>(flurlReq, cancellationToken: cancellationToken);
}
/// <summary>
/// <para>异步调用 [POST] /cgi-bin/externalcontact/batch/get_by_user 接口。</para>
/// <para>REF: https://open.work.weixin.qq.com/api/doc/90000/90135/92115 </para>
/// </summary>
/// <param name="client"></param>
/// <param name="request"></param>
/// <param name="cancellationToken"></param>
/// <returns></returns>
public static async Task<Models.CgibinExternalContactBatchGetByUserResponse> ExecuteCgibinExternalContactBatchGetByUserAsync(this WechatWorkClient client, Models.CgibinExternalContactBatchGetByUserRequest 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(HttpMethod.Post, "cgi-bin", "externalcontact", "batch", "get_by_user")
.SetOptions(request)
.SetQueryParam("access_token", request.AccessToken);
return await client.SendRequestWithJsonAsync<Models.CgibinExternalContactBatchGetByUserResponse>(flurlReq, data: request, cancellationToken: cancellationToken);
}
/// <summary>
/// <para>异步调用 [POST] /cgi-bin/externalcontact/remark 接口。</para>
/// <para>REF: https://open.work.weixin.qq.com/api/doc/90000/90135/92994 </para>
/// </summary>
/// <param name="client"></param>
/// <param name="request"></param>
/// <param name="cancellationToken"></param>
/// <returns></returns>
public static async Task<Models.CgibinExternalContactRemarkResponse> ExecuteCgibinExternalContactRemarkAsync(this WechatWorkClient client, Models.CgibinExternalContactRemarkRequest 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(HttpMethod.Post, "cgi-bin", "externalcontact", "remark")
.SetOptions(request)
.SetQueryParam("access_token", request.AccessToken);
return await client.SendRequestWithJsonAsync<Models.CgibinExternalContactRemarkResponse>(flurlReq, data: request, cancellationToken: cancellationToken);
}
/// <summary>
/// <para>异步调用 [POST] /cgi-bin/externalcontact/mark_tag 接口。</para>
/// <para>REF: https://open.work.weixin.qq.com/api/doc/90000/90135/92118 </para>
/// </summary>
/// <param name="client"></param>
/// <param name="request"></param>
/// <param name="cancellationToken"></param>
/// <returns></returns>
public static async Task<Models.CgibinExternalContactMarkTagResponse> ExecuteCgibinExternalContactMarkTagAsync(this WechatWorkClient client, Models.CgibinExternalContactMarkTagRequest 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(HttpMethod.Post, "cgi-bin", "externalcontact", "mark_tag")
.SetOptions(request)
.SetQueryParam("access_token", request.AccessToken);
return await client.SendRequestWithJsonAsync<Models.CgibinExternalContactMarkTagResponse>(flurlReq, data: request, cancellationToken: cancellationToken);
}
/// <summary>
/// <para>异步调用 [POST] /cgi-bin/externalcontact/get_unassigned_listr 接口。</para>
/// <para>REF: https://open.work.weixin.qq.com/api/doc/90000/90135/92124 </para>
/// </summary>
/// <param name="client"></param>
/// <param name="request"></param>
/// <param name="cancellationToken"></param>
/// <returns></returns>
public static async Task<Models.CgibinExternalContactGetUnassignedListResponse> ExecuteCgibinExternalContactGetUnassignedListAsync(this WechatWorkClient client, Models.CgibinExternalContactGetUnassignedListRequest 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(HttpMethod.Post, "cgi-bin", "externalcontact", "get_unassigned_list")
.SetOptions(request)
.SetQueryParam("access_token", request.AccessToken);
return await client.SendRequestWithJsonAsync<Models.CgibinExternalContactGetUnassignedListResponse>(flurlReq, data: request, cancellationToken: cancellationToken);
}
/// <summary>
/// <para>异步调用 [POST] /cgi-bin/externalcontact/get_user_behavior_data 接口。</para>
/// <para>REF: https://open.work.weixin.qq.com/api/doc/90000/90135/92132 </para>
/// </summary>
/// <param name="client"></param>
/// <param name="request"></param>
/// <param name="cancellationToken"></param>
/// <returns></returns>
public static async Task<Models.CgibinExternalContactGetUserBehaviorDataResponse> ExecuteCgibinExternalContactGetUserBehaviorDataAsync(this WechatWorkClient client, Models.CgibinExternalContactGetUserBehaviorDataRequest 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(HttpMethod.Post, "cgi-bin", "externalcontact", "get_user_behavior_data")
.SetOptions(request)
.SetQueryParam("access_token", request.AccessToken);
return await client.SendRequestWithJsonAsync<Models.CgibinExternalContactGetUserBehaviorDataResponse>(flurlReq, data: request, cancellationToken: cancellationToken);
}
#region ContactWay #region ContactWay
/// <summary> /// <summary>
/// <para>异步调用 [POST] /cgi-bin/externalcontact/add_contact_way 接口。</para> /// <para>异步调用 [POST] /cgi-bin/externalcontact/add_contact_way 接口。</para>
@ -138,5 +290,586 @@ namespace SKIT.FlurlHttpClient.Wechat.Work
return await client.SendRequestWithJsonAsync<Models.CgibinExternalContactDeleteContactWayResponse>(flurlReq, data: request, cancellationToken: cancellationToken); return await client.SendRequestWithJsonAsync<Models.CgibinExternalContactDeleteContactWayResponse>(flurlReq, data: request, cancellationToken: cancellationToken);
} }
#endregion #endregion
#region CorpTag
/// <summary>
/// <para>异步调用 [POST] /cgi-bin/externalcontact/get_corp_tag_list 接口。</para>
/// <para>REF: https://open.work.weixin.qq.com/api/doc/90000/90135/92117 </para>
/// </summary>
/// <param name="client"></param>
/// <param name="request"></param>
/// <param name="cancellationToken"></param>
/// <returns></returns>
public static async Task<Models.CgibinExternalContactGetCorpTagListResponse> ExecuteCgibinExternalContactGetCorpTagListAsync(this WechatWorkClient client, Models.CgibinExternalContactGetCorpTagListRequest 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(HttpMethod.Post, "cgi-bin", "externalcontact", "get_corp_tag_list")
.SetOptions(request)
.SetQueryParam("access_token", request.AccessToken);
return await client.SendRequestWithJsonAsync<Models.CgibinExternalContactGetCorpTagListResponse>(flurlReq, data: request, cancellationToken: cancellationToken);
}
/// <summary>
/// <para>异步调用 [POST] /cgi-bin/externalcontact/add_corp_tag 接口。</para>
/// <para>REF: https://open.work.weixin.qq.com/api/doc/90000/90135/92117 </para>
/// </summary>
/// <param name="client"></param>
/// <param name="request"></param>
/// <param name="cancellationToken"></param>
/// <returns></returns>
public static async Task<Models.CgibinExternalContactAddCorpTagResponse> ExecuteCgibinExternalContactAddCorpTagAsync(this WechatWorkClient client, Models.CgibinExternalContactAddCorpTagRequest 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(HttpMethod.Post, "cgi-bin", "externalcontact", "add_corp_tag")
.SetOptions(request)
.SetQueryParam("access_token", request.AccessToken);
return await client.SendRequestWithJsonAsync<Models.CgibinExternalContactAddCorpTagResponse>(flurlReq, data: request, cancellationToken: cancellationToken);
}
/// <summary>
/// <para>异步调用 [POST] /cgi-bin/externalcontact/edit_corp_tag 接口。</para>
/// <para>REF: https://open.work.weixin.qq.com/api/doc/90000/90135/92117 </para>
/// </summary>
/// <param name="client"></param>
/// <param name="request"></param>
/// <param name="cancellationToken"></param>
/// <returns></returns>
public static async Task<Models.CgibinExternalContactEditCorpTagResponse> ExecuteCgibinExternalContactEditCorpTagAsync(this WechatWorkClient client, Models.CgibinExternalContactEditCorpTagRequest 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(HttpMethod.Post, "cgi-bin", "externalcontact", "edit_corp_tag")
.SetOptions(request)
.SetQueryParam("access_token", request.AccessToken);
return await client.SendRequestWithJsonAsync<Models.CgibinExternalContactEditCorpTagResponse>(flurlReq, data: request, cancellationToken: cancellationToken);
}
/// <summary>
/// <para>异步调用 [POST] /cgi-bin/externalcontact/del_corp_tag 接口。</para>
/// <para>REF: https://open.work.weixin.qq.com/api/doc/90000/90135/92117 </para>
/// </summary>
/// <param name="client"></param>
/// <param name="request"></param>
/// <param name="cancellationToken"></param>
/// <returns></returns>
public static async Task<Models.CgibinExternalContactDeleteCorpTagResponse> ExecuteCgibinExternalContactDeleteCorpTagAsync(this WechatWorkClient client, Models.CgibinExternalContactDeleteCorpTagRequest 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(HttpMethod.Post, "cgi-bin", "externalcontact", "del_corp_tag")
.SetOptions(request)
.SetQueryParam("access_token", request.AccessToken);
return await client.SendRequestWithJsonAsync<Models.CgibinExternalContactDeleteCorpTagResponse>(flurlReq, data: request, cancellationToken: cancellationToken);
}
#endregion
#region Transfer
/// <summary>
/// <para>异步调用 [POST] /cgi-bin/externalcontact/transfer_customer 接口。</para>
/// <para>REF: https://open.work.weixin.qq.com/api/doc/90000/90135/92125 </para>
/// </summary>
/// <param name="client"></param>
/// <param name="request"></param>
/// <param name="cancellationToken"></param>
/// <returns></returns>
public static async Task<Models.CgibinExternalContactTransferCustomerResponse> ExecuteCgibinExternalContactTransferCustomerAsync(this WechatWorkClient client, Models.CgibinExternalContactTransferCustomerRequest 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(HttpMethod.Post, "cgi-bin", "externalcontact", "transfer_customer")
.SetOptions(request)
.SetQueryParam("access_token", request.AccessToken);
return await client.SendRequestWithJsonAsync<Models.CgibinExternalContactTransferCustomerResponse>(flurlReq, data: request, cancellationToken: cancellationToken);
}
/// <summary>
/// <para>异步调用 [POST] /cgi-bin/externalcontact/transfer_result 接口。</para>
/// <para>REF: https://open.work.weixin.qq.com/api/doc/90000/90135/94088 </para>
/// </summary>
/// <param name="client"></param>
/// <param name="request"></param>
/// <param name="cancellationToken"></param>
/// <returns></returns>
public static async Task<Models.CgibinExternalContactTransferResultResponse> ExecuteCgibinExternalContactTransferResultAsync(this WechatWorkClient client, Models.CgibinExternalContactTransferResultRequest 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(HttpMethod.Post, "cgi-bin", "externalcontact", "transfer_result")
.SetOptions(request)
.SetQueryParam("access_token", request.AccessToken);
return await client.SendRequestWithJsonAsync<Models.CgibinExternalContactTransferResultResponse>(flurlReq, data: request, cancellationToken: cancellationToken);
}
/// <summary>
/// <para>异步调用 [POST] /cgi-bin/externalcontact/resigned/transfer_customer 接口。</para>
/// <para>REF: https://open.work.weixin.qq.com/api/doc/90000/90135/94081 </para>
/// </summary>
/// <param name="client"></param>
/// <param name="request"></param>
/// <param name="cancellationToken"></param>
/// <returns></returns>
public static async Task<Models.CgibinExternalContactResignedTransferCustomerResponse> ExecuteCgibinExternalContactResignedTransferCustomerAsync(this WechatWorkClient client, Models.CgibinExternalContactResignedTransferCustomerRequest 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(HttpMethod.Post, "cgi-bin", "externalcontact", "resigned", "transfer_customer")
.SetOptions(request)
.SetQueryParam("access_token", request.AccessToken);
return await client.SendRequestWithJsonAsync<Models.CgibinExternalContactResignedTransferCustomerResponse>(flurlReq, data: request, cancellationToken: cancellationToken);
}
/// <summary>
/// <para>异步调用 [POST] /cgi-bin/externalcontact/transfer_result 接口。</para>
/// <para>REF: https://open.work.weixin.qq.com/api/doc/90000/90135/94082 </para>
/// </summary>
/// <param name="client"></param>
/// <param name="request"></param>
/// <param name="cancellationToken"></param>
/// <returns></returns>
public static async Task<Models.CgibinExternalContactResignedTransferResultResponse> ExecuteCgibinExternalContactResignedTransferResultAsync(this WechatWorkClient client, Models.CgibinExternalContactResignedTransferResultRequest 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(HttpMethod.Post, "cgi-bin", "externalcontact", "resigned", "transfer_result")
.SetOptions(request)
.SetQueryParam("access_token", request.AccessToken);
return await client.SendRequestWithJsonAsync<Models.CgibinExternalContactResignedTransferResultResponse>(flurlReq, data: request, cancellationToken: cancellationToken);
}
#endregion
#region GroupChat
/// <summary>
/// <para>异步调用 [POST] /cgi-bin/externalcontact/groupchat/transfer 接口。</para>
/// <para>REF: https://open.work.weixin.qq.com/api/doc/90000/90135/92127 </para>
/// </summary>
/// <param name="client"></param>
/// <param name="request"></param>
/// <param name="cancellationToken"></param>
/// <returns></returns>
public static async Task<Models.CgibinExternalContactGroupChatTransferResponse> ExecuteCgibinExternalContactGroupChatTransferAsync(this WechatWorkClient client, Models.CgibinExternalContactGroupChatTransferRequest 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(HttpMethod.Post, "cgi-bin", "externalcontact", "groupchat", "transfer")
.SetOptions(request)
.SetQueryParam("access_token", request.AccessToken);
return await client.SendRequestWithJsonAsync<Models.CgibinExternalContactGroupChatTransferResponse>(flurlReq, data: request, cancellationToken: cancellationToken);
}
/// <summary>
/// <para>异步调用 [POST] /cgi-bin/externalcontact/groupchat/list 接口。</para>
/// <para>REF: https://open.work.weixin.qq.com/api/doc/90000/90135/92120 </para>
/// </summary>
/// <param name="client"></param>
/// <param name="request"></param>
/// <param name="cancellationToken"></param>
/// <returns></returns>
public static async Task<Models.CgibinExternalContactGroupChatListResponse> ExecuteCgibinExternalContactGroupChatListAsync(this WechatWorkClient client, Models.CgibinExternalContactGroupChatListRequest 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(HttpMethod.Post, "cgi-bin", "externalcontact", "groupchat", "list")
.SetOptions(request)
.SetQueryParam("access_token", request.AccessToken);
return await client.SendRequestWithJsonAsync<Models.CgibinExternalContactGroupChatListResponse>(flurlReq, data: request, cancellationToken: cancellationToken);
}
/// <summary>
/// <para>异步调用 [POST] /cgi-bin/externalcontact/groupchat/get 接口。</para>
/// <para>REF: https://open.work.weixin.qq.com/api/doc/90000/90135/92122 </para>
/// </summary>
/// <param name="client"></param>
/// <param name="request"></param>
/// <param name="cancellationToken"></param>
/// <returns></returns>
public static async Task<Models.CgibinExternalContactGroupChatGetResponse> ExecuteCgibinExternalContactGroupChatGetAsync(this WechatWorkClient client, Models.CgibinExternalContactGroupChatGetRequest 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(HttpMethod.Post, "cgi-bin", "externalcontact", "groupchat", "get")
.SetOptions(request)
.SetQueryParam("access_token", request.AccessToken);
return await client.SendRequestWithJsonAsync<Models.CgibinExternalContactGroupChatGetResponse>(flurlReq, data: request, cancellationToken: cancellationToken);
}
#region GroupChatStatistic
/// <summary>
/// <para>异步调用 [POST] /cgi-bin/externalcontact/groupchat/statistic 接口。</para>
/// <para>REF: https://open.work.weixin.qq.com/api/doc/90000/90135/92133 </para>
/// </summary>
/// <param name="client"></param>
/// <param name="request"></param>
/// <param name="cancellationToken"></param>
/// <returns></returns>
public static async Task<Models.CgibinExternalContactGroupChatStatisticResponse> ExecuteCgibinExternalContactGroupChatStatisticAsync(this WechatWorkClient client, Models.CgibinExternalContactGroupChatStatisticRequest 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(HttpMethod.Post, "cgi-bin", "externalcontact", "groupchat", "statistic")
.SetOptions(request)
.SetQueryParam("access_token", request.AccessToken);
return await client.SendRequestWithJsonAsync<Models.CgibinExternalContactGroupChatStatisticResponse>(flurlReq, data: request, cancellationToken: cancellationToken);
}
/// <summary>
/// <para>异步调用 [POST] /cgi-bin/externalcontact/groupchat/statistic_group_by_day 接口。</para>
/// <para>REF: https://open.work.weixin.qq.com/api/doc/90000/90135/92133 </para>
/// </summary>
/// <param name="client"></param>
/// <param name="request"></param>
/// <param name="cancellationToken"></param>
/// <returns></returns>
public static async Task<Models.CgibinExternalContactGroupChatStatisticGroupByDayResponse> ExecuteCgibinExternalContactGroupChatStatisticGroupByDayAsync(this WechatWorkClient client, Models.CgibinExternalContactGroupChatStatisticGroupByDayRequest 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(HttpMethod.Post, "cgi-bin", "externalcontact", "groupchat", "statistic_group_by_day")
.SetOptions(request)
.SetQueryParam("access_token", request.AccessToken);
return await client.SendRequestWithJsonAsync<Models.CgibinExternalContactGroupChatStatisticGroupByDayResponse>(flurlReq, data: request, cancellationToken: cancellationToken);
}
#endregion
#endregion
#region Moment
/// <summary>
/// <para>异步调用 [POST] /cgi-bin/externalcontact/get_moment_list 接口。</para>
/// <para>REF: https://open.work.weixin.qq.com/api/doc/90000/90135/93333 </para>
/// </summary>
/// <param name="client"></param>
/// <param name="request"></param>
/// <param name="cancellationToken"></param>
/// <returns></returns>
public static async Task<Models.CgibinExternalContactGetMomentListResponse> ExecuteCgibinExternalContactGetMomentListAsync(this WechatWorkClient client, Models.CgibinExternalContactGetMomentListRequest 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(HttpMethod.Post, "cgi-bin", "externalcontact", "get_moment_list")
.SetOptions(request)
.SetQueryParam("access_token", request.AccessToken);
return await client.SendRequestWithJsonAsync<Models.CgibinExternalContactGetMomentListResponse>(flurlReq, data: request, cancellationToken: cancellationToken);
}
/// <summary>
/// <para>异步调用 [POST] /cgi-bin/externalcontact/get_moment_task 接口。</para>
/// <para>REF: https://open.work.weixin.qq.com/api/doc/90000/90135/93333 </para>
/// </summary>
/// <param name="client"></param>
/// <param name="request"></param>
/// <param name="cancellationToken"></param>
/// <returns></returns>
public static async Task<Models.CgibinExternalContactGetMomentTaskResponse> ExecuteCgibinExternalContactGetMomentTaskAsync(this WechatWorkClient client, Models.CgibinExternalContactGetMomentTaskRequest 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(HttpMethod.Post, "cgi-bin", "externalcontact", "get_moment_task")
.SetOptions(request)
.SetQueryParam("access_token", request.AccessToken);
return await client.SendRequestWithJsonAsync<Models.CgibinExternalContactGetMomentTaskResponse>(flurlReq, data: request, cancellationToken: cancellationToken);
}
/// <summary>
/// <para>异步调用 [POST] /cgi-bin/externalcontact/get_moment_customer_list 接口。</para>
/// <para>REF: https://open.work.weixin.qq.com/api/doc/90000/90135/93333 </para>
/// </summary>
/// <param name="client"></param>
/// <param name="request"></param>
/// <param name="cancellationToken"></param>
/// <returns></returns>
public static async Task<Models.CgibinExternalContactGetMomentCustomerListResponse> ExecuteCgibinExternalContactGetMomentCustomerListAsync(this WechatWorkClient client, Models.CgibinExternalContactGetMomentCustomerListRequest 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(HttpMethod.Post, "cgi-bin", "externalcontact", "get_moment_customer_list")
.SetOptions(request)
.SetQueryParam("access_token", request.AccessToken);
return await client.SendRequestWithJsonAsync<Models.CgibinExternalContactGetMomentCustomerListResponse>(flurlReq, data: request, cancellationToken: cancellationToken);
}
/// <summary>
/// <para>异步调用 [POST] /cgi-bin/externalcontact/get_moment_send_result 接口。</para>
/// <para>REF: https://open.work.weixin.qq.com/api/doc/90000/90135/93333 </para>
/// </summary>
/// <param name="client"></param>
/// <param name="request"></param>
/// <param name="cancellationToken"></param>
/// <returns></returns>
public static async Task<Models.CgibinExternalContactGetMomentSendResultResponse> ExecuteCgibinExternalContactGetMomentSendResultAsync(this WechatWorkClient client, Models.CgibinExternalContactGetMomentSendResultRequest 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(HttpMethod.Post, "cgi-bin", "externalcontact", "get_moment_send_result")
.SetOptions(request)
.SetQueryParam("access_token", request.AccessToken);
return await client.SendRequestWithJsonAsync<Models.CgibinExternalContactGetMomentSendResultResponse>(flurlReq, data: request, cancellationToken: cancellationToken);
}
/// <summary>
/// <para>异步调用 [POST] /cgi-bin/externalcontact/get_moment_comments 接口。</para>
/// <para>REF: https://open.work.weixin.qq.com/api/doc/90000/90135/93333 </para>
/// </summary>
/// <param name="client"></param>
/// <param name="request"></param>
/// <param name="cancellationToken"></param>
/// <returns></returns>
public static async Task<Models.CgibinExternalContactGetMomentCommentsResponse> ExecuteCgibinExternalContactGetMomentCommentsAsync(this WechatWorkClient client, Models.CgibinExternalContactGetMomentCommentsRequest 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(HttpMethod.Post, "cgi-bin", "externalcontact", "get_moment_comments")
.SetOptions(request)
.SetQueryParam("access_token", request.AccessToken);
return await client.SendRequestWithJsonAsync<Models.CgibinExternalContactGetMomentCommentsResponse>(flurlReq, data: request, cancellationToken: cancellationToken);
}
#endregion
#region GroupMessage
/// <summary>
/// <para>异步调用 [POST] /cgi-bin/externalcontact/add_msg_template 接口。</para>
/// <para>REF: https://open.work.weixin.qq.com/api/doc/90000/90135/92135 </para>
/// </summary>
/// <param name="client"></param>
/// <param name="request"></param>
/// <param name="cancellationToken"></param>
/// <returns></returns>
public static async Task<Models.CgibinExternalContactAddMessageTemplateResponse> ExecuteCgibinExternalContactAddMessageTemplateAsync(this WechatWorkClient client, Models.CgibinExternalContactAddMessageTemplateRequest 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(HttpMethod.Post, "cgi-bin", "externalcontact", "add_msg_template")
.SetOptions(request)
.SetQueryParam("access_token", request.AccessToken);
return await client.SendRequestWithJsonAsync<Models.CgibinExternalContactAddMessageTemplateResponse>(flurlReq, data: request, cancellationToken: cancellationToken);
}
/// <summary>
/// <para>异步调用 [POST] /cgi-bin/externalcontact/get_groupmsg_list_v2 接口。</para>
/// <para>REF: https://open.work.weixin.qq.com/api/doc/90000/90135/93338 </para>
/// </summary>
/// <param name="client"></param>
/// <param name="request"></param>
/// <param name="cancellationToken"></param>
/// <returns></returns>
public static async Task<Models.CgibinExternalContactGetGroupMessageListV2Response> ExecuteCgibinExternalContactGetGroupMessageListV2Async(this WechatWorkClient client, Models.CgibinExternalContactGetGroupMessageListV2Request 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(HttpMethod.Post, "cgi-bin", "externalcontact", "get_groupmsg_list_v2")
.SetOptions(request)
.SetQueryParam("access_token", request.AccessToken);
return await client.SendRequestWithJsonAsync<Models.CgibinExternalContactGetGroupMessageListV2Response>(flurlReq, data: request, cancellationToken: cancellationToken);
}
/// <summary>
/// <para>异步调用 [POST] /cgi-bin/externalcontact/get_groupmsg_task 接口。</para>
/// <para>REF: https://open.work.weixin.qq.com/api/doc/90000/90135/93338 </para>
/// </summary>
/// <param name="client"></param>
/// <param name="request"></param>
/// <param name="cancellationToken"></param>
/// <returns></returns>
public static async Task<Models.CgibinExternalContactGetGroupMessageTaskResponse> ExecuteCgibinExternalContactGetGroupMessageTaskAsync(this WechatWorkClient client, Models.CgibinExternalContactGetGroupMessageTaskRequest 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(HttpMethod.Post, "cgi-bin", "externalcontact", "get_groupmsg_task")
.SetOptions(request)
.SetQueryParam("access_token", request.AccessToken);
return await client.SendRequestWithJsonAsync<Models.CgibinExternalContactGetGroupMessageTaskResponse>(flurlReq, data: request, cancellationToken: cancellationToken);
}
/// <summary>
/// <para>异步调用 [POST] /cgi-bin/externalcontact/get_groupmsg_send_result 接口。</para>
/// <para>REF: https://open.work.weixin.qq.com/api/doc/90000/90135/93338 </para>
/// </summary>
/// <param name="client"></param>
/// <param name="request"></param>
/// <param name="cancellationToken"></param>
/// <returns></returns>
public static async Task<Models.CgibinExternalContactGetGroupMessageSendResultResponse> ExecuteCgibinExternalContactGetGroupMessageSendResultAsync(this WechatWorkClient client, Models.CgibinExternalContactGetGroupMessageSendResultRequest 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(HttpMethod.Post, "cgi-bin", "externalcontact", "get_groupmsg_send_result")
.SetOptions(request)
.SetQueryParam("access_token", request.AccessToken);
return await client.SendRequestWithJsonAsync<Models.CgibinExternalContactGetGroupMessageSendResultResponse>(flurlReq, data: request, cancellationToken: cancellationToken);
}
#endregion
#region GroupWelcome
/// <summary>
/// <para>异步调用 [POST] /cgi-bin/externalcontact/send_welcome_msg 接口。</para>
/// <para>REF: https://open.work.weixin.qq.com/api/doc/90000/90135/92137 </para>
/// </summary>
/// <param name="client"></param>
/// <param name="request"></param>
/// <param name="cancellationToken"></param>
/// <returns></returns>
public static async Task<Models.CgibinExternalContactSendWelcomeMessageResponse> ExecuteCgibinExternalContactSendWelcomeMessageAsync(this WechatWorkClient client, Models.CgibinExternalContactSendWelcomeMessageRequest 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(HttpMethod.Post, "cgi-bin", "externalcontact", "send_welcome_msg")
.SetOptions(request)
.SetQueryParam("access_token", request.AccessToken);
return await client.SendRequestWithJsonAsync<Models.CgibinExternalContactSendWelcomeMessageResponse>(flurlReq, data: request, cancellationToken: cancellationToken);
}
/// <summary>
/// <para>异步调用 [POST] /cgi-bin/externalcontact/group_welcome_template/add 接口。</para>
/// <para>REF: https://open.work.weixin.qq.com/api/doc/90000/90135/92366 </para>
/// </summary>
/// <param name="client"></param>
/// <param name="request"></param>
/// <param name="cancellationToken"></param>
/// <returns></returns>
public static async Task<Models.CgibinExternalContactGroupWelcomeTemplateAddResponse> ExecuteCgibinExternalContactGroupWelcomeTemplateAddAsync(this WechatWorkClient client, Models.CgibinExternalContactGroupWelcomeTemplateAddRequest 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(HttpMethod.Post, "cgi-bin", "externalcontact", "group_welcome_template", "add")
.SetOptions(request)
.SetQueryParam("access_token", request.AccessToken);
return await client.SendRequestWithJsonAsync<Models.CgibinExternalContactGroupWelcomeTemplateAddResponse>(flurlReq, data: request, cancellationToken: cancellationToken);
}
/// <summary>
/// <para>异步调用 [POST] /cgi-bin/externalcontact/group_welcome_template/edit 接口。</para>
/// <para>REF: https://open.work.weixin.qq.com/api/doc/90000/90135/92366 </para>
/// </summary>
/// <param name="client"></param>
/// <param name="request"></param>
/// <param name="cancellationToken"></param>
/// <returns></returns>
public static async Task<Models.CgibinExternalContactGroupWelcomeTemplateEditResponse> ExecuteCgibinExternalContactGroupWelcomeTemplateEditAsync(this WechatWorkClient client, Models.CgibinExternalContactGroupWelcomeTemplateEditRequest 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(HttpMethod.Post, "cgi-bin", "externalcontact", "group_welcome_template", "edit")
.SetOptions(request)
.SetQueryParam("access_token", request.AccessToken);
return await client.SendRequestWithJsonAsync<Models.CgibinExternalContactGroupWelcomeTemplateEditResponse>(flurlReq, data: request, cancellationToken: cancellationToken);
}
/// <summary>
/// <para>异步调用 [POST] /cgi-bin/externalcontact/group_welcome_template/get 接口。</para>
/// <para>REF: https://open.work.weixin.qq.com/api/doc/90000/90135/92366 </para>
/// </summary>
/// <param name="client"></param>
/// <param name="request"></param>
/// <param name="cancellationToken"></param>
/// <returns></returns>
public static async Task<Models.CgibinExternalContactGroupWelcomeTemplateGetResponse> ExecuteCgibinExternalContactGroupWelcomeTemplateGetAsync(this WechatWorkClient client, Models.CgibinExternalContactGroupWelcomeTemplateGetRequest 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(HttpMethod.Post, "cgi-bin", "externalcontact", "group_welcome_template", "get")
.SetOptions(request)
.SetQueryParam("access_token", request.AccessToken);
return await client.SendRequestWithJsonAsync<Models.CgibinExternalContactGroupWelcomeTemplateGetResponse>(flurlReq, data: request, cancellationToken: cancellationToken);
}
/// <summary>
/// <para>异步调用 [POST] /cgi-bin/externalcontact/group_welcome_template/del 接口。</para>
/// <para>REF: https://open.work.weixin.qq.com/api/doc/90000/90135/92366 </para>
/// </summary>
/// <param name="client"></param>
/// <param name="request"></param>
/// <param name="cancellationToken"></param>
/// <returns></returns>
public static async Task<Models.CgibinExternalContactGroupWelcomeTemplateDeleteResponse> ExecuteCgibinExternalContactGroupWelcomeTemplateDeleteAsync(this WechatWorkClient client, Models.CgibinExternalContactGroupWelcomeTemplateDeleteRequest 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(HttpMethod.Post, "cgi-bin", "externalcontact", "group_welcome_template", "del")
.SetOptions(request)
.SetQueryParam("access_token", request.AccessToken);
return await client.SendRequestWithJsonAsync<Models.CgibinExternalContactGroupWelcomeTemplateDeleteResponse>(flurlReq, data: request, cancellationToken: cancellationToken);
}
#endregion
} }
} }

View File

@ -0,0 +1,32 @@
using System;
using System.Collections.Generic;
namespace SKIT.FlurlHttpClient.Wechat.Work.Models
{
/// <summary>
/// <para>表示 [POST] /cgi-bin/externalcontact/batch/get_by_user 接口的请求。</para>
/// </summary>
public class CgibinExternalContactBatchGetByUserRequest : WechatWorkRequest
{
/// <summary>
/// 获取或设置成员账号。
/// </summary>
[Newtonsoft.Json.JsonProperty("userid")]
[System.Text.Json.Serialization.JsonPropertyName("userid")]
public string UserId { get; set; } = string.Empty;
/// <summary>
/// 获取或设置翻页标记。
/// </summary>
[Newtonsoft.Json.JsonProperty("cursor")]
[System.Text.Json.Serialization.JsonPropertyName("cursor")]
public string? NextCursor { get; set; }
/// <summary>
/// 获取或设置分页每页数量。
/// </summary>
[Newtonsoft.Json.JsonProperty("limit")]
[System.Text.Json.Serialization.JsonPropertyName("limit")]
public int? Limit { get; set; }
}
}

View File

@ -0,0 +1,118 @@
using System;
using System.Collections.Generic;
namespace SKIT.FlurlHttpClient.Wechat.Work.Models
{
/// <summary>
/// <para>表示 [POST] /cgi-bin/externalcontact/batch/get_by_user 接口的响应。</para>
/// </summary>
public class CgibinExternalContactBatchGetByUserResponse : WechatWorkResponse
{
public static class Types
{
public class ExternalContactUser
{
public static class Types
{
public class ExternalContact : CgibinExternalContactGetResponse.Types.ExternalContact
{
}
public class FollowUser
{
/// <summary>
/// 获取或设置该成员对外部联系人的备注。
/// </summary>
[Newtonsoft.Json.JsonProperty("remark")]
[System.Text.Json.Serialization.JsonPropertyName("remark")]
public string Remark { get; set; } = default!;
/// <summary>
/// 获取或设置该成员对外部联系人的备注企业名称。
/// </summary>
[Newtonsoft.Json.JsonProperty("remark_corp_name")]
[System.Text.Json.Serialization.JsonPropertyName("remark_corp_name")]
public string? RemarkCompany { get; set; }
/// <summary>
/// 获取或设置该成员对外部联系人的备注手机号码列表。
/// </summary>
[Newtonsoft.Json.JsonProperty("remark_mobiles")]
[System.Text.Json.Serialization.JsonPropertyName("remark_mobiles")]
public string[]? RemarkMobileNumberList { get; set; }
/// <summary>
/// 获取或设置该成员对外部联系人的描述。
/// </summary>
[Newtonsoft.Json.JsonProperty("description")]
[System.Text.Json.Serialization.JsonPropertyName("description")]
public string Description { get; set; } = default!;
/// <summary>
/// 获取或设置该成员添加外部联系人所打企业标签 ID 列表。
/// </summary>
[Newtonsoft.Json.JsonProperty("tag_id")]
[System.Text.Json.Serialization.JsonPropertyName("tag_id")]
public string[] TagIdList { get; set; } = default!;
/// <summary>
/// 获取或设置该成员添加外部联系人的来源。
/// </summary>
[Newtonsoft.Json.JsonProperty("add_way")]
[System.Text.Json.Serialization.JsonPropertyName("add_way")]
public int AddWay { get; set; }
/// <summary>
/// 获取或设置该成员添加外部联系人的时间戳。
/// </summary>
[Newtonsoft.Json.JsonProperty("createtime")]
[System.Text.Json.Serialization.JsonPropertyName("createtime")]
public long CreateTimestamp { get; set; }
/// <summary>
/// 获取或设置企业自定义渠道参数。
/// </summary>
[Newtonsoft.Json.JsonProperty("state")]
[System.Text.Json.Serialization.JsonPropertyName("state")]
public string? State { get; set; }
/// <summary>
/// 获取或设置发起添加的用户账号。
/// </summary>
[Newtonsoft.Json.JsonProperty("oper_userid")]
[System.Text.Json.Serialization.JsonPropertyName("oper_userid")]
public string? OperateUserId { get; set; }
}
}
/// <summary>
/// 获取或设置外部联系人信息。
/// </summary>
[Newtonsoft.Json.JsonProperty("external_contact")]
[System.Text.Json.Serialization.JsonPropertyName("external_contact")]
public Types.ExternalContact ExternalContact { get; set; } = default!;
/// <summary>
/// 获取或设置添加了此外部联系人的企业成员信息。
/// </summary>
[Newtonsoft.Json.JsonProperty("follow_info")]
[System.Text.Json.Serialization.JsonPropertyName("follow_info")]
public Types.FollowUser FollowUser { get; set; } = default!;
}
}
/// <summary>
/// 获取或设置外部联系人列表。
/// </summary>
[Newtonsoft.Json.JsonProperty("external_contact_list")]
[System.Text.Json.Serialization.JsonPropertyName("external_contact_list")]
public Types.ExternalContactUser[] ExternalContactList { get; set; } = default!;
/// <summary>
/// 获取或设置翻页标记。
/// </summary>
[Newtonsoft.Json.JsonProperty("next_cursor")]
[System.Text.Json.Serialization.JsonPropertyName("next_cursor")]
public string? NextCursor { get; set; }
}
}

View File

@ -0,0 +1,25 @@
using System;
using System.Collections.Generic;
namespace SKIT.FlurlHttpClient.Wechat.Work.Models
{
/// <summary>
/// <para>表示 [GET] /cgi-bin/externalcontact/get 接口的请求。</para>
/// </summary>
public class CgibinExternalContactGetRequest : WechatWorkRequest
{
/// <summary>
/// 获取或设置外部联系人账号。
/// </summary>
[Newtonsoft.Json.JsonIgnore]
[System.Text.Json.Serialization.JsonIgnore]
public string ExternalUserId { get; set; } = string.Empty;
/// <summary>
/// 获取或设置翻页标记。
/// </summary>
[Newtonsoft.Json.JsonIgnore]
[System.Text.Json.Serialization.JsonIgnore]
public string? NextCursor { get; set; }
}
}

View File

@ -0,0 +1,222 @@
using System;
using System.Collections.Generic;
namespace SKIT.FlurlHttpClient.Wechat.Work.Models
{
/// <summary>
/// <para>表示 [GET] /cgi-bin/externalcontact/get 接口的响应。</para>
/// </summary>
public class CgibinExternalContactGetResponse : WechatWorkResponse
{
public static class Types
{
public class ExternalContact
{
public static class Types
{
public class ExternalProfile : CgibinUserGetResponse.Types.ExternalProfile
{
}
}
/// <summary>
/// 获取或设置外部联系人账号。
/// </summary>
[Newtonsoft.Json.JsonProperty("external_userid")]
[System.Text.Json.Serialization.JsonPropertyName("external_userid")]
public string ExternalUserId { get; set; } = default!;
/// <summary>
/// 获取或设置外部联系人名称。
/// </summary>
[Newtonsoft.Json.JsonProperty("name")]
[System.Text.Json.Serialization.JsonPropertyName("name")]
public string Name { get; set; } = default!;
/// <summary>
/// 获取或设置外部联系人 UnionId。
/// </summary>
[Newtonsoft.Json.JsonProperty("unionid")]
[System.Text.Json.Serialization.JsonPropertyName("unionid")]
public string? UnionId { get; set; }
/// <summary>
/// 获取或设置头像 URL。
/// </summary>
[Newtonsoft.Json.JsonProperty("avatar")]
[System.Text.Json.Serialization.JsonPropertyName("avatar")]
public string? AvatarUrl { get; set; }
/// <summary>
/// 获取或设置联系人类型。
/// </summary>
[Newtonsoft.Json.JsonProperty("type")]
[System.Text.Json.Serialization.JsonPropertyName("type")]
public int Type { get; set; }
/// <summary>
/// 获取或设置性别。
/// </summary>
[Newtonsoft.Json.JsonProperty("gender")]
[System.Text.Json.Serialization.JsonPropertyName("gender")]
public int Gender { get; set; }
/// <summary>
/// 获取或设置职位。
/// </summary>
[Newtonsoft.Json.JsonProperty("position")]
[System.Text.Json.Serialization.JsonPropertyName("position")]
public string? Position { get; set; }
/// <summary>
/// 获取或设置所在企业简称。
/// </summary>
[Newtonsoft.Json.JsonProperty("corp_name")]
[System.Text.Json.Serialization.JsonPropertyName("corp_name")]
public string? CorpName { get; set; }
/// <summary>
/// 获取或设置所在企业全称。
/// </summary>
[Newtonsoft.Json.JsonProperty("corp_full_name")]
[System.Text.Json.Serialization.JsonPropertyName("corp_full_name")]
public string? CorpFullName { get; set; }
/// <summary>
/// 获取或设置对外属性信息。
/// </summary>
[Newtonsoft.Json.JsonProperty("external_profile")]
[System.Text.Json.Serialization.JsonPropertyName("external_profile")]
public Types.ExternalProfile? ExternalProfile { get; set; }
}
public class FollowUser
{
public static class Types
{
public class Tag
{
/// <summary>
/// 获取或设置该成员添加外部联系人所打标签类型。
/// </summary>
[Newtonsoft.Json.JsonProperty("type")]
[System.Text.Json.Serialization.JsonPropertyName("type")]
public int Type { get; set; }
/// <summary>
/// 获取或设置该成员添加外部联系人所打企业标签 ID。
/// </summary>
[Newtonsoft.Json.JsonProperty("tag_id")]
[System.Text.Json.Serialization.JsonPropertyName("tag_id")]
public string? TagId { get; set; }
/// <summary>
/// 获取或设置该成员添加外部联系人所打企业标签名称。
/// </summary>
[Newtonsoft.Json.JsonProperty("tag_name")]
[System.Text.Json.Serialization.JsonPropertyName("tag_name")]
public string? TagName { get; set; }
/// <summary>
/// 获取或设置该成员添加外部联系人所打企业标签分组名称。
/// </summary>
[Newtonsoft.Json.JsonProperty("group_name")]
[System.Text.Json.Serialization.JsonPropertyName("group_name")]
public string? GroupName { get; set; }
}
}
/// <summary>
/// 获取或设置成员账号。
/// </summary>
[Newtonsoft.Json.JsonProperty("userid")]
[System.Text.Json.Serialization.JsonPropertyName("userid")]
public string UserId { get; set; } = default!;
/// <summary>
/// 获取或设置该成员对外部联系人的备注。
/// </summary>
[Newtonsoft.Json.JsonProperty("remark")]
[System.Text.Json.Serialization.JsonPropertyName("remark")]
public string Remark { get; set; } = default!;
/// <summary>
/// 获取或设置该成员对外部联系人的备注企业名称。
/// </summary>
[Newtonsoft.Json.JsonProperty("remark_corp_name")]
[System.Text.Json.Serialization.JsonPropertyName("remark_corp_name")]
public string? RemarkCorpName { get; set; }
/// <summary>
/// 获取或设置该成员对外部联系人的备注手机号码列表。
/// </summary>
[Newtonsoft.Json.JsonProperty("remark_mobiles")]
[System.Text.Json.Serialization.JsonPropertyName("remark_mobiles")]
public string[]? RemarkMobileNumberList { get; set; }
/// <summary>
/// 获取或设置该成员对外部联系人的描述。
/// </summary>
[Newtonsoft.Json.JsonProperty("description")]
[System.Text.Json.Serialization.JsonPropertyName("description")]
public string Description { get; set; } = default!;
/// <summary>
/// 获取或设置该成员添加外部联系人所打企业标签列表。
/// </summary>
[Newtonsoft.Json.JsonProperty("tags")]
[System.Text.Json.Serialization.JsonPropertyName("tags")]
public Types.Tag[]? Tags { get; set; }
/// <summary>
/// 获取或设置该成员添加外部联系人的来源。
/// </summary>
[Newtonsoft.Json.JsonProperty("add_way")]
[System.Text.Json.Serialization.JsonPropertyName("add_way")]
public int AddWay { get; set; }
/// <summary>
/// 获取或设置该成员添加外部联系人的时间戳。
/// </summary>
[Newtonsoft.Json.JsonProperty("createtime")]
[System.Text.Json.Serialization.JsonPropertyName("createtime")]
public long CreateTimestamp { get; set; }
/// <summary>
/// 获取或设置企业自定义渠道参数。
/// </summary>
[Newtonsoft.Json.JsonProperty("state")]
[System.Text.Json.Serialization.JsonPropertyName("state")]
public string? State { get; set; }
/// <summary>
/// 获取或设置发起添加的用户账号。
/// </summary>
[Newtonsoft.Json.JsonProperty("oper_userid")]
[System.Text.Json.Serialization.JsonPropertyName("oper_userid")]
public string? OperateUserId { get; set; }
}
}
/// <summary>
/// 获取或设置外部联系人信息。
/// </summary>
[Newtonsoft.Json.JsonProperty("external_contact")]
[System.Text.Json.Serialization.JsonPropertyName("external_contact")]
public Types.ExternalContact ExternalContact { get; set; } = default!;
/// <summary>
/// 获取或设置添加了此外部联系人的企业成员列表。
/// </summary>
[Newtonsoft.Json.JsonProperty("follow_user")]
[System.Text.Json.Serialization.JsonPropertyName("follow_user")]
public Types.FollowUser[] FollowUserList { get; set; } = default!;
/// <summary>
/// 获取或设置翻页标记。
/// </summary>
[Newtonsoft.Json.JsonProperty("next_cursor")]
[System.Text.Json.Serialization.JsonPropertyName("next_cursor")]
public string? NextCursor { get; set; }
}
}

View File

@ -0,0 +1,32 @@
using System;
using System.Collections.Generic;
namespace SKIT.FlurlHttpClient.Wechat.Work.Models
{
/// <summary>
/// <para>表示 [POST] /cgi-bin/externalcontact/get_unassigned_list 接口的请求。</para>
/// </summary>
public class CgibinExternalContactGetUnassignedListRequest : WechatWorkRequest
{
/// <summary>
/// 获取或设置分页页数(从 0 开始)。
/// </summary>
[Newtonsoft.Json.JsonProperty("page_id")]
[System.Text.Json.Serialization.JsonPropertyName("page_id")]
public int? Page { get; set; }
/// <summary>
/// 获取或设置分页每页数量。
/// </summary>
[Newtonsoft.Json.JsonProperty("page_size")]
[System.Text.Json.Serialization.JsonPropertyName("page_size")]
public int? Limit { get; set; }
/// <summary>
/// 获取或设置翻页标记。
/// </summary>
[Newtonsoft.Json.JsonProperty("cursor")]
[System.Text.Json.Serialization.JsonPropertyName("cursor")]
public string? NextCursor { get; set; }
}
}

View File

@ -0,0 +1,59 @@
using System;
using System.Collections.Generic;
namespace SKIT.FlurlHttpClient.Wechat.Work.Models
{
/// <summary>
/// <para>表示 [POST] /cgi-bin/externalcontact/get_unassigned_list 接口的响应。</para>
/// </summary>
public class CgibinExternalContactGetUnassignedListResponse : WechatWorkResponse
{
public static class Types
{
public class DismissedUser
{
/// <summary>
/// 获取或设置离职成员账号。
/// </summary>
[Newtonsoft.Json.JsonProperty("handover_userid")]
[System.Text.Json.Serialization.JsonPropertyName("handover_userid")]
public string HandoverUserId { get; set; } = default!;
/// <summary>
/// 获取或设置外部联系人账号。
/// </summary>
[Newtonsoft.Json.JsonProperty("external_userid")]
[System.Text.Json.Serialization.JsonPropertyName("external_userid")]
public string ExternalUserId { get; set; } = default!;
/// <summary>
/// 获取或设置离职时间戳。
/// </summary>
[Newtonsoft.Json.JsonProperty("dimission_time")]
[System.Text.Json.Serialization.JsonPropertyName("dimission_time")]
public long DismissionTimestamp { get; set; }
}
}
/// <summary>
/// 获取或设置离职成员列表。
/// </summary>
[Newtonsoft.Json.JsonProperty("info")]
[System.Text.Json.Serialization.JsonPropertyName("info")]
public Types.DismissedUser[] DismissedUserList { get; set; } = default!;
/// <summary>
/// 获取或设置是否是最后一条记录。
/// </summary>
[Newtonsoft.Json.JsonProperty("is_last")]
[System.Text.Json.Serialization.JsonPropertyName("is_last")]
public bool IsLast { get; set; }
/// <summary>
/// 获取或设置翻页标记。
/// </summary>
[Newtonsoft.Json.JsonProperty("next_cursor")]
[System.Text.Json.Serialization.JsonPropertyName("next_cursor")]
public string? NextCursor { get; set; }
}
}

View File

@ -0,0 +1,39 @@
using System;
using System.Collections.Generic;
namespace SKIT.FlurlHttpClient.Wechat.Work.Models
{
/// <summary>
/// <para>表示 [POST] /cgi-bin/externalcontact/get_user_behavior_data 接口的请求。</para>
/// </summary>
public class CgibinExternalContactGetUserBehaviorDataRequest : WechatWorkRequest
{
/// <summary>
/// 获取或设置数据起始时间戳。
/// </summary>
[Newtonsoft.Json.JsonProperty("start_time")]
[System.Text.Json.Serialization.JsonPropertyName("start_time")]
public long StartTimestamp { get; set; }
/// <summary>
/// 获取或设置数据结束时间戳。
/// </summary>
[Newtonsoft.Json.JsonProperty("end_time")]
[System.Text.Json.Serialization.JsonPropertyName("end_time")]
public long EndTimestamp { get; set; }
/// <summary>
/// 获取或设置指定成员账号列表。
/// </summary>
[Newtonsoft.Json.JsonProperty("userid")]
[System.Text.Json.Serialization.JsonPropertyName("userid")]
public IList<string>? UserIdList { get; set; }
/// <summary>
/// 获取或设置指定部门 ID 列表。
/// </summary>
[Newtonsoft.Json.JsonProperty("partyid")]
[System.Text.Json.Serialization.JsonPropertyName("partyid")]
public IList<int>? DepartmentIdList { get; set; }
}
}

View File

@ -0,0 +1,80 @@
using System;
using System.Collections.Generic;
namespace SKIT.FlurlHttpClient.Wechat.Work.Models
{
/// <summary>
/// <para>表示 [POST] /cgi-bin/externalcontact/get_user_behavior_data 接口的响应。</para>
/// </summary>
public class CgibinExternalContactGetUserBehaviorDataResponse : WechatWorkResponse
{
public static class Types
{
public class Data
{
/// <summary>
/// 获取或设置数据统计时间戳。
/// </summary>
[Newtonsoft.Json.JsonProperty("stat_time")]
[System.Text.Json.Serialization.JsonPropertyName("stat_time")]
public long StatTimestamp { get; set; }
/// <summary>
/// 获取或设置聊天数。
/// </summary>
[Newtonsoft.Json.JsonProperty("chat_cnt")]
[System.Text.Json.Serialization.JsonPropertyName("chat_cnt")]
public int ChatCount { get; set; }
/// <summary>
/// 获取或设置发送消息数。
/// </summary>
[Newtonsoft.Json.JsonProperty("message_cnt")]
[System.Text.Json.Serialization.JsonPropertyName("message_cnt")]
public int MessageCount { get; set; }
/// <summary>
/// 获取或设置已回复聊天占比。
/// </summary>
[Newtonsoft.Json.JsonProperty("reply_percentage")]
[System.Text.Json.Serialization.JsonPropertyName("reply_percentage")]
public double? ReplyPercentage { get; set; }
/// <summary>
/// 获取或设置平均首次回复时长(单位:分钟)。
/// </summary>
[Newtonsoft.Json.JsonProperty("avg_reply_time")]
[System.Text.Json.Serialization.JsonPropertyName("avg_reply_time")]
public int? ReplyAverageTime { get; set; }
/// <summary>
/// 获取或设置删除或拉黑成员的客户数。
/// </summary>
[Newtonsoft.Json.JsonProperty("negative_feedback_cnt")]
[System.Text.Json.Serialization.JsonPropertyName("negative_feedback_cnt")]
public int NegativeFeedbackCount { get; set; }
/// <summary>
/// 获取或设置新发起申请数。
/// </summary>
[Newtonsoft.Json.JsonProperty("new_apply_cnt")]
[System.Text.Json.Serialization.JsonPropertyName("new_apply_cnt")]
public int NewApplyCount { get; set; }
/// <summary>
/// 获取或设置新增客户数。
/// </summary>
[Newtonsoft.Json.JsonProperty("new_contact_cnt")]
[System.Text.Json.Serialization.JsonPropertyName("new_contact_cnt")]
public int NewContactCount { get; set; }
}
}
/// <summary>
/// 获取或设置数据列表。
/// </summary>
[Newtonsoft.Json.JsonProperty("behavior_data")]
[System.Text.Json.Serialization.JsonPropertyName("behavior_data")]
public Types.Data[] DataList { get; set; } = default!;
}
}

View File

@ -0,0 +1,18 @@
using System;
using System.Collections.Generic;
namespace SKIT.FlurlHttpClient.Wechat.Work.Models
{
/// <summary>
/// <para>表示 [GET] /cgi-bin/externalcontact/list 接口的请求。</para>
/// </summary>
public class CgibinExternalContactListRequest : WechatWorkRequest
{
/// <summary>
/// 获取或设置成员账号。
/// </summary>
[Newtonsoft.Json.JsonIgnore]
[System.Text.Json.Serialization.JsonIgnore]
public string UserId { get; set; } = string.Empty;
}
}

View File

@ -0,0 +1,18 @@
using System;
using System.Collections.Generic;
namespace SKIT.FlurlHttpClient.Wechat.Work.Models
{
/// <summary>
/// <para>表示 [GET] /cgi-bin/externalcontact/list 接口的响应。</para>
/// </summary>
public class CgibinExternalContactListResponse : WechatWorkResponse
{
/// <summary>
/// 获取或设置外部联系人账号列表。
/// </summary>
[Newtonsoft.Json.JsonProperty("external_userid")]
[System.Text.Json.Serialization.JsonPropertyName("external_userid")]
public string[] ExternalUserIdList { get; set; } = default!;
}
}

View File

@ -0,0 +1,39 @@
using System;
using System.Collections.Generic;
namespace SKIT.FlurlHttpClient.Wechat.Work.Models
{
/// <summary>
/// <para>表示 [POST] /cgi-bin/externalcontact/mark_tag 接口的请求。</para>
/// </summary>
public class CgibinExternalContactMarkTagRequest : WechatWorkRequest
{
/// <summary>
/// 获取或设置成员账号。
/// </summary>
[Newtonsoft.Json.JsonProperty("userid")]
[System.Text.Json.Serialization.JsonPropertyName("userid")]
public string UserId { get; set; } = string.Empty;
/// <summary>
/// 获取或设置外部联系人账号。
/// </summary>
[Newtonsoft.Json.JsonProperty("external_userid")]
[System.Text.Json.Serialization.JsonPropertyName("external_userid")]
public string ExternalUserId { get; set; } = string.Empty;
/// <summary>
/// 获取或设置要添加的企业标签 ID 列表。
/// </summary>
[Newtonsoft.Json.JsonProperty("add_tag")]
[System.Text.Json.Serialization.JsonPropertyName("add_tag")]
public IList<string>? AddTagIdList { get; set; }
/// <summary>
/// 获取或设置要移除的企业标签 ID 列表。
/// </summary>
[Newtonsoft.Json.JsonProperty("remove_tag")]
[System.Text.Json.Serialization.JsonPropertyName("remove_tag")]
public IList<string>? RemoveTagIdList { get; set; }
}
}

View File

@ -0,0 +1,12 @@
using System;
using System.Collections.Generic;
namespace SKIT.FlurlHttpClient.Wechat.Work.Models
{
/// <summary>
/// <para>表示 [POST] /cgi-bin/externalcontact/mark_tag 接口的响应。</para>
/// </summary>
public class CgibinExternalContactMarkTagResponse : WechatWorkResponse
{
}
}

View File

@ -0,0 +1,60 @@
using System;
using System.Collections.Generic;
namespace SKIT.FlurlHttpClient.Wechat.Work.Models
{
/// <summary>
/// <para>表示 [POST] /cgi-bin/externalcontact/remark 接口的请求。</para>
/// </summary>
public class CgibinExternalContactRemarkRequest : WechatWorkRequest
{
/// <summary>
/// 获取或设置成员账号。
/// </summary>
[Newtonsoft.Json.JsonProperty("userid")]
[System.Text.Json.Serialization.JsonPropertyName("userid")]
public string UserId { get; set; } = string.Empty;
/// <summary>
/// 获取或设置外部联系人账号。
/// </summary>
[Newtonsoft.Json.JsonProperty("external_userid")]
[System.Text.Json.Serialization.JsonPropertyName("external_userid")]
public string ExternalUserId { get; set; } = string.Empty;
/// <summary>
/// 获取或设置该成员对外部联系人的备注。
/// </summary>
[Newtonsoft.Json.JsonProperty("remark")]
[System.Text.Json.Serialization.JsonPropertyName("remark")]
public string? Remark { get; set; }
/// <summary>
/// 获取或设置该成员对外部联系人的备注企业名称。
/// </summary>
[Newtonsoft.Json.JsonProperty("remark_company")]
[System.Text.Json.Serialization.JsonPropertyName("remark_company")]
public string? RemarkCompany { get; set; }
/// <summary>
/// 获取或设置该成员对外部联系人的备注手机号码列表。
/// </summary>
[Newtonsoft.Json.JsonProperty("remark_mobiles")]
[System.Text.Json.Serialization.JsonPropertyName("remark_mobiles")]
public IList<string>? RemarkMobileNumberList { get; set; }
/// <summary>
/// 获取或设置该成员对外部联系人的备注图片的 MediaId。
/// </summary>
[Newtonsoft.Json.JsonProperty("remark_pic_mediaid")]
[System.Text.Json.Serialization.JsonPropertyName("remark_pic_mediaid")]
public string? RemarkPictureUrl { get; set; }
/// <summary>
/// 获取或设置该成员对外部联系人的描述。
/// </summary>
[Newtonsoft.Json.JsonProperty("description")]
[System.Text.Json.Serialization.JsonPropertyName("description")]
public string? Description { get; set; }
}
}

View File

@ -0,0 +1,12 @@
using System;
using System.Collections.Generic;
namespace SKIT.FlurlHttpClient.Wechat.Work.Models
{
/// <summary>
/// <para>表示 [POST] /cgi-bin/externalcontact/remark 接口的响应。</para>
/// </summary>
public class CgibinExternalContactRemarkResponse : WechatWorkResponse
{
}
}

View File

@ -0,0 +1,66 @@
using System;
using System.Collections.Generic;
namespace SKIT.FlurlHttpClient.Wechat.Work.Models
{
/// <summary>
/// <para>表示 [POST] /cgi-bin/externalcontact/add_corp_tag 接口的请求。</para>
/// </summary>
public class CgibinExternalContactAddCorpTagRequest : WechatWorkRequest
{
public static class Types
{
public class Tag
{
/// <summary>
/// 获取或设置企业标签名称。
/// </summary>
[Newtonsoft.Json.JsonProperty("name")]
[System.Text.Json.Serialization.JsonPropertyName("name")]
public string Name { get; set; } = default!;
/// <summary>
/// 获取或设置次序值。
/// </summary>
[Newtonsoft.Json.JsonProperty("order")]
[System.Text.Json.Serialization.JsonPropertyName("order")]
public int? Order { get; set; }
}
}
/// <summary>
/// 获取或设置企业标签分组 ID。
/// </summary>
[Newtonsoft.Json.JsonProperty("group_id")]
[System.Text.Json.Serialization.JsonPropertyName("group_id")]
public string? GroupId { get; set; }
/// <summary>
/// 获取或设置企业标签分组名称。
/// </summary>
[Newtonsoft.Json.JsonProperty("group_name")]
[System.Text.Json.Serialization.JsonPropertyName("group_name")]
public string? Name { get; set; }
/// <summary>
/// 获取或设置次序值。
/// </summary>
[Newtonsoft.Json.JsonProperty("order")]
[System.Text.Json.Serialization.JsonPropertyName("order")]
public int? Order { get; set; }
/// <summary>
/// 获取或设置企业标签列表。
/// </summary>
[Newtonsoft.Json.JsonProperty("tag")]
[System.Text.Json.Serialization.JsonPropertyName("tag")]
public IList<Types.Tag>? TagList { get; set; }
/// <summary>
/// 获取或设置授权方安装的应用 ID。
/// </summary>
[Newtonsoft.Json.JsonProperty("agentid")]
[System.Text.Json.Serialization.JsonPropertyName("agentid")]
public int? AgentId { get; set; }
}
}

View File

@ -0,0 +1,25 @@
using System;
using System.Collections.Generic;
namespace SKIT.FlurlHttpClient.Wechat.Work.Models
{
/// <summary>
/// <para>表示 [POST] /cgi-bin/externalcontact/add_corp_tag 接口的响应。</para>
/// </summary>
public class CgibinExternalContactAddCorpTagResponse : WechatWorkResponse
{
public static class Types
{
public class TagGroup : CgibinExternalContactGetCorpTagListResponse.Types.TagGroup
{
}
}
/// <summary>
/// 获取或设置企业标签分组信息。
/// </summary>
[Newtonsoft.Json.JsonProperty("tag_group")]
[System.Text.Json.Serialization.JsonPropertyName("tag_group")]
public Types.TagGroup Group { get; set; } = default!;
}
}

View File

@ -0,0 +1,18 @@
using System;
using System.Collections.Generic;
namespace SKIT.FlurlHttpClient.Wechat.Work.Models
{
/// <summary>
/// <para>表示 [POST] /cgi-bin/externalcontact/del_corp_tag 接口的请求。</para>
/// </summary>
public class CgibinExternalContactDeleteCorpTagRequest : CgibinExternalContactGetCorpTagListRequest
{
/// <summary>
/// 获取或设置授权方安装的应用 ID。
/// </summary>
[Newtonsoft.Json.JsonProperty("agentid")]
[System.Text.Json.Serialization.JsonPropertyName("agentid")]
public int? AgentId { get; set; }
}
}

View File

@ -0,0 +1,12 @@
using System;
using System.Collections.Generic;
namespace SKIT.FlurlHttpClient.Wechat.Work.Models
{
/// <summary>
/// <para>表示 [POST] /cgi-bin/externalcontact/del_corp_tag_list 接口的响应。</para>
/// </summary>
public class CgibinExternalContactDeleteCorpTagResponse : WechatWorkResponse
{
}
}

View File

@ -0,0 +1,39 @@
using System;
using System.Collections.Generic;
namespace SKIT.FlurlHttpClient.Wechat.Work.Models
{
/// <summary>
/// <para>表示 [POST] /cgi-bin/externalcontact/edit_corp_tag 接口的请求。</para>
/// </summary>
public class CgibinExternalContactEditCorpTagRequest : WechatWorkRequest
{
/// <summary>
/// 获取或设置企业标签或企业标签分组 ID。
/// </summary>
[Newtonsoft.Json.JsonProperty("id")]
[System.Text.Json.Serialization.JsonPropertyName("id")]
public string? TagOrGroupId { get; set; }
/// <summary>
/// 获取或设置企业标签或企业标签分组名称。
/// </summary>
[Newtonsoft.Json.JsonProperty("name")]
[System.Text.Json.Serialization.JsonPropertyName("name")]
public string? Name { get; set; }
/// <summary>
/// 获取或设置次序值。
/// </summary>
[Newtonsoft.Json.JsonProperty("order")]
[System.Text.Json.Serialization.JsonPropertyName("order")]
public int? Order { get; set; }
/// <summary>
/// 获取或设置授权方安装的应用 ID。
/// </summary>
[Newtonsoft.Json.JsonProperty("agentid")]
[System.Text.Json.Serialization.JsonPropertyName("agentid")]
public int? AgentId { get; set; }
}
}

View File

@ -0,0 +1,12 @@
using System;
using System.Collections.Generic;
namespace SKIT.FlurlHttpClient.Wechat.Work.Models
{
/// <summary>
/// <para>表示 [POST] /cgi-bin/externalcontact/edit_corp_tag 接口的响应。</para>
/// </summary>
public class CgibinExternalContactEditCorpTagResponse : WechatWorkResponse
{
}
}

View File

@ -0,0 +1,25 @@
using System;
using System.Collections.Generic;
namespace SKIT.FlurlHttpClient.Wechat.Work.Models
{
/// <summary>
/// <para>表示 [POST] /cgi-bin/externalcontact/get_corp_tag_list 接口的请求。</para>
/// </summary>
public class CgibinExternalContactGetCorpTagListRequest : WechatWorkRequest
{
/// <summary>
/// 获取或设置企业标签 ID 列表。
/// </summary>
[Newtonsoft.Json.JsonProperty("tag_id")]
[System.Text.Json.Serialization.JsonPropertyName("tag_id")]
public IList<string>? TagIdList { get; set; }
/// <summary>
/// 获取或设置企业标签分组 ID 列表。
/// </summary>
[Newtonsoft.Json.JsonProperty("group_id")]
[System.Text.Json.Serialization.JsonPropertyName("group_id")]
public IList<string>? GroupIdList { get; set; }
}
}

View File

@ -0,0 +1,107 @@
using System;
using System.Collections.Generic;
namespace SKIT.FlurlHttpClient.Wechat.Work.Models
{
/// <summary>
/// <para>表示 [POST] /cgi-bin/externalcontact/get_corp_tag_list 接口的响应。</para>
/// </summary>
public class CgibinExternalContactGetCorpTagListResponse : WechatWorkResponse
{
public static class Types
{
public class TagGroup
{
public static class Types
{
public class Tag
{
/// <summary>
/// 获取或设置企业标签 ID。
/// </summary>
[Newtonsoft.Json.JsonProperty("id")]
[System.Text.Json.Serialization.JsonPropertyName("id")]
public string TagId { get; set; } = default!;
/// <summary>
/// 获取或设置企业标签名称。
/// </summary>
[Newtonsoft.Json.JsonProperty("name")]
[System.Text.Json.Serialization.JsonPropertyName("name")]
public string Name { get; set; } = default!;
/// <summary>
/// 获取或设置次序值。
/// </summary>
[Newtonsoft.Json.JsonProperty("order")]
[System.Text.Json.Serialization.JsonPropertyName("order")]
public int Order { get; set; }
/// <summary>
/// 获取或设置是否已经被删除。
/// </summary>
[Newtonsoft.Json.JsonProperty("deleted")]
[System.Text.Json.Serialization.JsonPropertyName("deleted")]
public bool? IsDeleted { get; set; }
/// <summary>
/// 获取或设置创建时间戳。
/// </summary>
[Newtonsoft.Json.JsonProperty("create_time")]
[System.Text.Json.Serialization.JsonPropertyName("create_time")]
public long CreateTimestamp { get; set; }
}
}
/// <summary>
/// 获取或设置企业标签分组 ID。
/// </summary>
[Newtonsoft.Json.JsonProperty("group_id")]
[System.Text.Json.Serialization.JsonPropertyName("group_id")]
public string GroupId { get; set; } = default!;
/// <summary>
/// 获取或设置企业标签分组名称。
/// </summary>
[Newtonsoft.Json.JsonProperty("group_name")]
[System.Text.Json.Serialization.JsonPropertyName("group_name")]
public string Name { get; set; } = default!;
/// <summary>
/// 获取或设置次序值。
/// </summary>
[Newtonsoft.Json.JsonProperty("order")]
[System.Text.Json.Serialization.JsonPropertyName("order")]
public int Order { get; set; }
/// <summary>
/// 获取或设置企业标签列表。
/// </summary>
[Newtonsoft.Json.JsonProperty("tag")]
[System.Text.Json.Serialization.JsonPropertyName("tag")]
public Types.Tag[] TagList { get; set; } = default!;
/// <summary>
/// 获取或设置是否已经被删除。
/// </summary>
[Newtonsoft.Json.JsonProperty("deleted")]
[System.Text.Json.Serialization.JsonPropertyName("deleted")]
public bool? IsDeleted { get; set; }
/// <summary>
/// 获取或设置创建时间戳。
/// </summary>
[Newtonsoft.Json.JsonProperty("create_time")]
[System.Text.Json.Serialization.JsonPropertyName("create_time")]
public long CreateTimestamp { get; set; }
}
}
/// <summary>
/// 获取或设置企业标签分组列表。
/// </summary>
[Newtonsoft.Json.JsonProperty("tag_group")]
[System.Text.Json.Serialization.JsonPropertyName("tag_group")]
public Types.TagGroup[] GroupList { get; set; } = default!;
}
}

View File

@ -0,0 +1,18 @@
using System;
using System.Collections.Generic;
namespace SKIT.FlurlHttpClient.Wechat.Work.Models
{
/// <summary>
/// <para>表示 [POST] /cgi-bin/externalcontact/groupchat/get 接口的请求。</para>
/// </summary>
public class CgibinExternalContactGroupChatGetRequest : WechatWorkRequest
{
/// <summary>
/// 获取或设置客户群 ID。
/// </summary>
[Newtonsoft.Json.JsonProperty("chat_id")]
[System.Text.Json.Serialization.JsonPropertyName("chat_id")]
public string ChatId { get; set; } = string.Empty;
}
}

View File

@ -0,0 +1,144 @@
using System;
using System.Collections.Generic;
namespace SKIT.FlurlHttpClient.Wechat.Work.Models
{
/// <summary>
/// <para>表示 [POST] /cgi-bin/externalcontact/groupchat/get 接口的响应。</para>
/// </summary>
public class CgibinExternalContactGroupChatGetResponse : WechatWorkResponse
{
public static class Types
{
public class GroupChat
{
public static class Types
{
public class Member
{
public static class Types
{
public class Invitor
{
/// <summary>
/// 获取或设置邀请者成员账号。
/// </summary>
[Newtonsoft.Json.JsonProperty("userid")]
[System.Text.Json.Serialization.JsonPropertyName("userid")]
public string UserId { get; set; } = default!;
}
}
/// <summary>
/// 获取或设置成员类型。
/// </summary>
[Newtonsoft.Json.JsonProperty("type")]
[System.Text.Json.Serialization.JsonPropertyName("type")]
public int Type { get; set; }
/// <summary>
/// 获取或设置成员账号或外部联系人账号。
/// </summary>
[Newtonsoft.Json.JsonProperty("userid")]
[System.Text.Json.Serialization.JsonPropertyName("userid")]
public string UserId { get; set; } = default!;
/// <summary>
/// 获取或设置外部联系人 UnionId。
/// </summary>
[Newtonsoft.Json.JsonProperty("unionid")]
[System.Text.Json.Serialization.JsonPropertyName("unionid")]
public string? UnionId { get; set; }
/// <summary>
/// 获取或设置邀请者信息。
/// </summary>
[Newtonsoft.Json.JsonProperty("invitor")]
[System.Text.Json.Serialization.JsonPropertyName("invitor")]
public Types.Invitor? Invitor { get; set; }
/// <summary>
/// 获取或设置入群场景。
/// </summary>
[Newtonsoft.Json.JsonProperty("join_scene")]
[System.Text.Json.Serialization.JsonPropertyName("join_scene")]
public int JoinScene { get; set; } = default!;
/// <summary>
/// 获取或设置入群时间戳。
/// </summary>
[Newtonsoft.Json.JsonProperty("join_time")]
[System.Text.Json.Serialization.JsonPropertyName("join_time")]
public long JoinTimestamp { get; set; }
}
public class Admin
{
/// <summary>
/// 获取或设置管理员成员账号。
/// </summary>
[Newtonsoft.Json.JsonProperty("userid")]
[System.Text.Json.Serialization.JsonPropertyName("userid")]
public string UserId { get; set; } = default!;
}
}
/// <summary>
/// 获取或设置客户群 ID。
/// </summary>
[Newtonsoft.Json.JsonProperty("chat_id")]
[System.Text.Json.Serialization.JsonPropertyName("chat_id")]
public string ChatId { get; set; } = default!;
/// <summary>
/// 获取或设置客户群名称。
/// </summary>
[Newtonsoft.Json.JsonProperty("name")]
[System.Text.Json.Serialization.JsonPropertyName("name")]
public string Name { get; set; } = default!;
/// <summary>
/// 获取或设置群主成员账号。
/// </summary>
[Newtonsoft.Json.JsonProperty("owner")]
[System.Text.Json.Serialization.JsonPropertyName("owner")]
public string OwnerUserId { get; set; } = default!;
/// <summary>
/// 获取或设置群公告。
/// </summary>
[Newtonsoft.Json.JsonProperty("notice")]
[System.Text.Json.Serialization.JsonPropertyName("notice")]
public string Notice { get; set; } = default!;
/// <summary>
/// 获取或设置群成员列表。
/// </summary>
[Newtonsoft.Json.JsonProperty("member_list")]
[System.Text.Json.Serialization.JsonPropertyName("member_list")]
public Types.Member[] MemberList { get; set; } = default!;
/// <summary>
/// 获取或设置群管理员列表。
/// </summary>
[Newtonsoft.Json.JsonProperty("admin_list")]
[System.Text.Json.Serialization.JsonPropertyName("admin_list")]
public Types.Admin[] AdminList { get; set; } = default!;
/// <summary>
/// 获取或设置创建时间戳。
/// </summary>
[Newtonsoft.Json.JsonProperty("create_time")]
[System.Text.Json.Serialization.JsonPropertyName("create_time")]
public long CreateTimestamp { get; set; }
}
}
/// <summary>
/// 获取或设置客户群信息。
/// </summary>
[Newtonsoft.Json.JsonProperty("group_chat")]
[System.Text.Json.Serialization.JsonPropertyName("group_chat")]
public Types.GroupChat GroupChat { get; set; } = default!;
}
}

View File

@ -0,0 +1,52 @@
using System;
using System.Collections.Generic;
namespace SKIT.FlurlHttpClient.Wechat.Work.Models
{
/// <summary>
/// <para>表示 [POST] /cgi-bin/externalcontact/groupchat/list 接口的请求。</para>
/// </summary>
public class CgibinExternalContactGroupChatListRequest : WechatWorkRequest
{
public static class Types
{
public class OwnerFilter
{
/// <summary>
/// 获取或设置群主成员账号列表。
/// </summary>
[Newtonsoft.Json.JsonProperty("userid_list")]
[System.Text.Json.Serialization.JsonPropertyName("userid_list")]
public IList<string>? UserIdList { get; set; }
}
}
/// <summary>
/// 获取或设置指定跟进状态。
/// </summary>
[Newtonsoft.Json.JsonProperty("status_filter")]
[System.Text.Json.Serialization.JsonPropertyName("status_filter")]
public int? Status { get; set; }
/// <summary>
/// 获取或设置指定群主信息。
/// </summary>
[Newtonsoft.Json.JsonProperty("owner_filter")]
[System.Text.Json.Serialization.JsonPropertyName("owner_filter")]
public Types.OwnerFilter? Owner { get; set; }
/// <summary>
/// 获取或设置分页每页数量。
/// </summary>
[Newtonsoft.Json.JsonProperty("limit")]
[System.Text.Json.Serialization.JsonPropertyName("limit")]
public int Limit { get; set; } = 10;
/// <summary>
/// 获取或设置翻页标记。
/// </summary>
[Newtonsoft.Json.JsonProperty("cursor")]
[System.Text.Json.Serialization.JsonPropertyName("cursor")]
public string? NextCursor { get; set; }
}
}

View File

@ -0,0 +1,45 @@
using System;
using System.Collections.Generic;
namespace SKIT.FlurlHttpClient.Wechat.Work.Models
{
/// <summary>
/// <para>表示 [POST] /cgi-bin/externalcontact/groupchat/list 接口的响应。</para>
/// </summary>
public class CgibinExternalContactGroupChatListResponse : WechatWorkResponse
{
public static class Types
{
public class GroupChat
{
/// <summary>
/// 获取或设置客户群 ID。
/// </summary>
[Newtonsoft.Json.JsonProperty("chat_id")]
[System.Text.Json.Serialization.JsonPropertyName("chat_id")]
public string ChatId { get; set; } = default!;
/// <summary>
/// 获取或设置跟进状态。
/// </summary>
[Newtonsoft.Json.JsonProperty("status")]
[System.Text.Json.Serialization.JsonPropertyName("status")]
public int Status { get; set; }
}
}
/// <summary>
/// 获取或设置客户群列表。
/// </summary>
[Newtonsoft.Json.JsonProperty("group_chat_list")]
[System.Text.Json.Serialization.JsonPropertyName("group_chat_list")]
public Types.GroupChat[] GroupChatList { get; set; } = default!;
/// <summary>
/// 获取或设置翻页标记。
/// </summary>
[Newtonsoft.Json.JsonProperty("next_cursor")]
[System.Text.Json.Serialization.JsonPropertyName("next_cursor")]
public string? NextCursor { get; set; }
}
}

View File

@ -0,0 +1,25 @@
using System;
using System.Collections.Generic;
namespace SKIT.FlurlHttpClient.Wechat.Work.Models
{
/// <summary>
/// <para>表示 [POST] /cgi-bin/externalcontact/groupchat/transfer 接口的请求。</para>
/// </summary>
public class CgibinExternalContactGroupChatTransferRequest : WechatWorkRequest
{
/// <summary>
/// 获取或设置客户群 ID 列表。
/// </summary>
[Newtonsoft.Json.JsonProperty("chat_id_list")]
[System.Text.Json.Serialization.JsonPropertyName("chat_id_list")]
public IList<string> ChatIdList { get; set; } = new List<string>();
/// <summary>
/// 获取或设置新群主成员账号。
/// </summary>
[Newtonsoft.Json.JsonProperty("new_owner")]
[System.Text.Json.Serialization.JsonPropertyName("new_owner")]
public string NewOwnerUserId { get; set; } = string.Empty;
}
}

View File

@ -0,0 +1,45 @@
using System;
using System.Collections.Generic;
namespace SKIT.FlurlHttpClient.Wechat.Work.Models
{
/// <summary>
/// <para>表示 [POST] /cgi-bin/externalcontact/groupchat/transfer 接口的响应。</para>
/// </summary>
public class CgibinExternalContactGroupChatTransferResponse : WechatWorkResponse
{
public static class Types
{
public class GroupChat
{
/// <summary>
/// 获取或设置客户群 ID。
/// </summary>
[Newtonsoft.Json.JsonProperty("chat_id")]
[System.Text.Json.Serialization.JsonPropertyName("chat_id")]
public string ChatId { get; set; } = default!;
/// <summary>
/// 获取或设置错误码。
/// </summary>
[Newtonsoft.Json.JsonProperty("errcode")]
[System.Text.Json.Serialization.JsonPropertyName("errcode")]
public int ErrorCode { get; set; }
/// <summary>
/// 获取或设置错误描述。
/// </summary>
[Newtonsoft.Json.JsonProperty("errmsg")]
[System.Text.Json.Serialization.JsonPropertyName("errmsg")]
public string ErrorMessage { get; set; } = default!;
}
}
/// <summary>
/// 获取或设置转交失败的客户群列表。
/// </summary>
[Newtonsoft.Json.JsonProperty("failed_chat_list")]
[System.Text.Json.Serialization.JsonPropertyName("failed_chat_list")]
public Types.GroupChat[]? FailedGroupChatList { get; set; }
}
}

View File

@ -0,0 +1,39 @@
using System;
using System.Collections.Generic;
namespace SKIT.FlurlHttpClient.Wechat.Work.Models
{
/// <summary>
/// <para>表示 [POST] /cgi-bin/externalcontact/groupchat/statistic_group_by_day 接口的请求。</para>
/// </summary>
public class CgibinExternalContactGroupChatStatisticGroupByDayRequest : WechatWorkRequest
{
public static class Types
{
public class OwnerFilter : CgibinExternalContactGroupChatStatisticRequest.Types.OwnerFilter
{
}
}
/// <summary>
/// 获取或设置起始日期时间戳。
/// </summary>
[Newtonsoft.Json.JsonProperty("day_begin_time")]
[System.Text.Json.Serialization.JsonPropertyName("day_begin_time")]
public long DayBeginTimestamp { get; set; }
/// <summary>
/// 获取或设置结束日期时间戳。
/// </summary>
[Newtonsoft.Json.JsonProperty("day_end_time")]
[System.Text.Json.Serialization.JsonPropertyName("day_end_time")]
public long? DayEndTimestamp { get; set; }
/// <summary>
/// 获取或设置指定成员信息。
/// </summary>
[Newtonsoft.Json.JsonProperty("owner_filter")]
[System.Text.Json.Serialization.JsonPropertyName("owner_filter")]
public Types.OwnerFilter Owner { get; set; } = new Types.OwnerFilter();
}
}

View File

@ -0,0 +1,45 @@
using System;
using System.Collections.Generic;
namespace SKIT.FlurlHttpClient.Wechat.Work.Models
{
/// <summary>
/// <para>表示 [POST] /cgi-bin/externalcontact/groupchat/statistic_group_by_day 接口的响应。</para>
/// </summary>
public class CgibinExternalContactGroupChatStatisticGroupByDayResponse : WechatWorkResponse
{
public static class Types
{
public class Data
{
public static class Types
{
public class Statistic : CgibinExternalContactGroupChatStatisticResponse.Types.Data.Types.Statistic
{
}
}
/// <summary>
/// 获取或设置数据统计时间戳。
/// </summary>
[Newtonsoft.Json.JsonProperty("stat_time")]
[System.Text.Json.Serialization.JsonPropertyName("stat_time")]
public long StatTimestamp { get; set; }
/// <summary>
/// 获取或设置统计数据。
/// </summary>
[Newtonsoft.Json.JsonProperty("data")]
[System.Text.Json.Serialization.JsonPropertyName("data")]
public Types.Statistic Statistic { get; set; } = default!;
}
}
/// <summary>
/// 获取或设置数据列表。
/// </summary>
[Newtonsoft.Json.JsonProperty("items")]
[System.Text.Json.Serialization.JsonPropertyName("items")]
public Types.Data[] DataList { get; set; } = default!;
}
}

View File

@ -0,0 +1,75 @@
using System;
using System.Collections.Generic;
namespace SKIT.FlurlHttpClient.Wechat.Work.Models
{
/// <summary>
/// <para>表示 [POST] /cgi-bin/externalcontact/groupchat/statistic 接口的请求。</para>
/// </summary>
public class CgibinExternalContactGroupChatStatisticRequest : WechatWorkRequest
{
public static class Types
{
public class OwnerFilter
{
/// <summary>
/// 获取或设置指定成员账号列表。
/// </summary>
[Newtonsoft.Json.JsonProperty("userid_list")]
[System.Text.Json.Serialization.JsonPropertyName("userid_list")]
public IList<string>? UserIdList { get; set; }
}
}
/// <summary>
/// 获取或设置起始日期时间戳。
/// </summary>
[Newtonsoft.Json.JsonProperty("day_begin_time")]
[System.Text.Json.Serialization.JsonPropertyName("day_begin_time")]
public long DayBeginTimestamp { get; set; }
/// <summary>
/// 获取或设置结束日期时间戳。
/// </summary>
[Newtonsoft.Json.JsonProperty("day_end_time")]
[System.Text.Json.Serialization.JsonPropertyName("day_end_time")]
public long? DayEndTimestamp { get; set; }
/// <summary>
/// 获取或设置指定成员信息。
/// </summary>
[Newtonsoft.Json.JsonProperty("owner_filter")]
[System.Text.Json.Serialization.JsonPropertyName("owner_filter")]
public Types.OwnerFilter Owner { get; set; } = new Types.OwnerFilter();
/// <summary>
/// 获取或设置排序方式。
/// </summary>
[Newtonsoft.Json.JsonProperty("order_by")]
[System.Text.Json.Serialization.JsonPropertyName("order_by")]
public int? OrderBy { get; set; }
/// <summary>
/// 获取或设置是否升序排序。
/// </summary>
[Newtonsoft.Json.JsonProperty("order_asc")]
[Newtonsoft.Json.JsonConverter(typeof(Newtonsoft.Json.Converters.NumberTypedNullableBooleanConverter))]
[System.Text.Json.Serialization.JsonPropertyName("order_asc")]
[System.Text.Json.Serialization.JsonConverter(typeof(System.Text.Json.Converters.NumberTypedNullableBooleanConverter))]
public bool? IsAscending { get; set; }
/// <summary>
/// 获取或设置分页起始位置。
/// </summary>
[Newtonsoft.Json.JsonProperty("offset")]
[System.Text.Json.Serialization.JsonPropertyName("offset")]
public int? Offset { get; set; }
/// <summary>
/// 获取或设置分页每页数量。
/// </summary>
[Newtonsoft.Json.JsonProperty("limit")]
[System.Text.Json.Serialization.JsonPropertyName("limit")]
public int? Limit { get; set; }
}
}

View File

@ -0,0 +1,107 @@
using System;
using System.Collections.Generic;
namespace SKIT.FlurlHttpClient.Wechat.Work.Models
{
/// <summary>
/// <para>表示 [POST] /cgi-bin/externalcontact/groupchat/statistic 接口的响应。</para>
/// </summary>
public class CgibinExternalContactGroupChatStatisticResponse : WechatWorkResponse
{
public static class Types
{
public class Data
{
public static class Types
{
public class Statistic
{
/// <summary>
/// 获取或设置新增客户群数量。
/// </summary>
[Newtonsoft.Json.JsonProperty("new_chat_cnt")]
[System.Text.Json.Serialization.JsonPropertyName("new_chat_cnt")]
public int NewChatCount { get; set; }
/// <summary>
/// 获取或设置客户群总数量。
/// </summary>
[Newtonsoft.Json.JsonProperty("chat_total")]
[System.Text.Json.Serialization.JsonPropertyName("chat_total")]
public int ChatTotalCount { get; set; }
/// <summary>
/// 获取或设置有发过消息的客户群数量。
/// </summary>
[Newtonsoft.Json.JsonProperty("chat_has_msg")]
[System.Text.Json.Serialization.JsonPropertyName("chat_has_msg")]
public int ChatHasMessageCount { get; set; }
/// <summary>
/// 获取或设置客户群新增群人数。
/// </summary>
[Newtonsoft.Json.JsonProperty("new_member_cnt")]
[System.Text.Json.Serialization.JsonPropertyName("new_member_cnt")]
public int NewMemberCount { get; set; }
/// <summary>
/// 获取或设置客户群总人数。
/// </summary>
[Newtonsoft.Json.JsonProperty("member_total")]
[System.Text.Json.Serialization.JsonPropertyName("member_total")]
public int MemberTotalCount { get; set; }
/// <summary>
/// 获取或设置有发过消息的群成员数。
/// </summary>
[Newtonsoft.Json.JsonProperty("member_has_msg")]
[System.Text.Json.Serialization.JsonPropertyName("member_has_msg")]
public int MemberHasMessageCount { get; set; }
/// <summary>
/// 获取或设置客户群消息总数。
/// </summary>
[Newtonsoft.Json.JsonProperty("msg_total")]
[System.Text.Json.Serialization.JsonPropertyName("msg_total")]
public int MessageTotalCount { get; set; }
}
}
/// <summary>
/// 获取或设置群主成员账号。
/// </summary>
[Newtonsoft.Json.JsonProperty("owner")]
[System.Text.Json.Serialization.JsonPropertyName("owner")]
public string OwnerUserId { get; set; } = default!;
/// <summary>
/// 获取或设置统计数据。
/// </summary>
[Newtonsoft.Json.JsonProperty("data")]
[System.Text.Json.Serialization.JsonPropertyName("data")]
public Types.Statistic Statistic { get; set; } = default!;
}
}
/// <summary>
/// 获取或设置数据列表。
/// </summary>
[Newtonsoft.Json.JsonProperty("items")]
[System.Text.Json.Serialization.JsonPropertyName("items")]
public Types.Data[] DataList { get; set; } = default!;
/// <summary>
/// 获取或设置数据总数量。
/// </summary>
[Newtonsoft.Json.JsonProperty("total")]
[System.Text.Json.Serialization.JsonPropertyName("total")]
public int Total { get; set; }
/// <summary>
/// 获取或设置下一页起始位置。
/// </summary>
[Newtonsoft.Json.JsonProperty("next_offset")]
[System.Text.Json.Serialization.JsonPropertyName("next_offset")]
public int? NextOffset { get; set; }
}
}

View File

@ -0,0 +1,189 @@
using System;
using System.Collections.Generic;
namespace SKIT.FlurlHttpClient.Wechat.Work.Models
{
/// <summary>
/// <para>表示 [POST] /cgi-bin/externalcontact/add_msg_template 接口的请求。</para>
/// </summary>
public class CgibinExternalContactAddMessageTemplateRequest : WechatWorkRequest
{
public static class Types
{
public class Text
{
/// <summary>
/// 获取或设置文本消息内容。
/// </summary>
[Newtonsoft.Json.JsonProperty("content")]
[System.Text.Json.Serialization.JsonPropertyName("content")]
public string Content { get; set; } = string.Empty;
}
public class Attachment
{
public static class Types
{
public class Image
{
/// <summary>
/// 获取或设置图片 MediaId。与字段 <see cref="PictureUrl"/> 二选一。
/// </summary>
[Newtonsoft.Json.JsonProperty("media_id")]
[System.Text.Json.Serialization.JsonPropertyName("media_id")]
public string? MediaId { get; set; }
/// <summary>
/// 获取或设置图片 URL。与字段 <see cref="MediaId"/> 二选一。
/// </summary>
[Newtonsoft.Json.JsonProperty("pic_url")]
[System.Text.Json.Serialization.JsonPropertyName("pic_url")]
public string? PictureUrl { get; set; }
}
public class Link
{
/// <summary>
/// 获取或设置图文消息标题。
/// </summary>
[Newtonsoft.Json.JsonProperty("title")]
[System.Text.Json.Serialization.JsonPropertyName("title")]
public string Title { get; set; } = string.Empty;
/// <summary>
/// 获取或设置图文消息描述。
/// </summary>
[Newtonsoft.Json.JsonProperty("desc")]
[System.Text.Json.Serialization.JsonPropertyName("desc")]
public string? Description { get; set; }
/// <summary>
/// 获取或设置图文消息 URL。
/// </summary>
[Newtonsoft.Json.JsonProperty("url")]
[System.Text.Json.Serialization.JsonPropertyName("url")]
public string Url { get; set; } = string.Empty;
/// <summary>
/// 获取或设置图文消息封面 URL。
/// </summary>
[Newtonsoft.Json.JsonProperty("picurl")]
[System.Text.Json.Serialization.JsonPropertyName("picurl")]
public string? PictureUrl { get; set; }
}
public class Video
{
/// <summary>
/// 获取或设置视频 MediaId。
/// </summary>
[Newtonsoft.Json.JsonProperty("media_id")]
[System.Text.Json.Serialization.JsonPropertyName("media_id")]
public string MediaId { get; set; } = string.Empty;
}
public class MiniProgram
{
/// <summary>
/// 获取或设置小程序 AppId。
/// </summary>
[Newtonsoft.Json.JsonProperty("appid")]
[System.Text.Json.Serialization.JsonPropertyName("appid")]
public string AppId { get; set; } = string.Empty;
/// <summary>
/// 获取或设置小程序页面路径。
/// </summary>
[Newtonsoft.Json.JsonProperty("page")]
[System.Text.Json.Serialization.JsonPropertyName("page")]
public string PagePath { get; set; } = string.Empty;
/// <summary>
/// 获取或设置小程序标题。
/// </summary>
[Newtonsoft.Json.JsonProperty("title")]
[System.Text.Json.Serialization.JsonPropertyName("title")]
public string Title { get; set; } = string.Empty;
/// <summary>
/// 获取或设置小程序封面 MediaId。
/// </summary>
[Newtonsoft.Json.JsonProperty("pic_media_id")]
[System.Text.Json.Serialization.JsonPropertyName("pic_media_id")]
public string? PictureMediaId { get; set; }
}
}
/// <summary>
/// 获取或设置附件类型。
/// </summary>
[Newtonsoft.Json.JsonProperty("msgtype")]
[System.Text.Json.Serialization.JsonPropertyName("msgtype")]
public string Type { get; set; } = string.Empty;
/// <summary>
/// 获取或设置图片附件信息。
/// </summary>
[Newtonsoft.Json.JsonProperty("image")]
[System.Text.Json.Serialization.JsonPropertyName("image")]
public Types.Image? Image { get; set; }
/// <summary>
/// 获取或设置图文消息附件信息。
/// </summary>
[Newtonsoft.Json.JsonProperty("link")]
[System.Text.Json.Serialization.JsonPropertyName("link")]
public Types.Link? Link { get; set; }
/// <summary>
/// 获取或设置视频附件信息。
/// </summary>
[Newtonsoft.Json.JsonProperty("video")]
[System.Text.Json.Serialization.JsonPropertyName("video")]
public Types.Video? Video { get; set; }
/// <summary>
/// 获取或设置小程序附件信息。
/// </summary>
[Newtonsoft.Json.JsonProperty("miniprogram")]
[System.Text.Json.Serialization.JsonPropertyName("miniprogram")]
public Types.MiniProgram? MiniProgram { get; set; }
}
}
/// <summary>
/// 获取或设置群发任务类型。
/// </summary>
[Newtonsoft.Json.JsonProperty("chat_type")]
[System.Text.Json.Serialization.JsonPropertyName("chat_type")]
public string ChatType { get; set; } = string.Empty;
/// <summary>
/// 获取或设置外部联系人账号列表。
/// </summary>
[Newtonsoft.Json.JsonProperty("external_userid")]
[System.Text.Json.Serialization.JsonPropertyName("external_userid")]
public IList<string>? ExternalUserIdList { get; set; }
/// <summary>
/// 获取或设置发送者成员账号。
/// </summary>
[Newtonsoft.Json.JsonProperty("sender")]
[System.Text.Json.Serialization.JsonPropertyName("sender")]
public string? SenderUserId { get; set; }
/// <summary>
/// 获取或设置文本消息信息。
/// </summary>
[Newtonsoft.Json.JsonProperty("text")]
[System.Text.Json.Serialization.JsonPropertyName("text")]
public Types.Text? Text { get; set; }
/// <summary>
/// 获取或设置附件列表。
/// </summary>
[Newtonsoft.Json.JsonProperty("attachments")]
[System.Text.Json.Serialization.JsonPropertyName("attachments")]
public IList<Types.Attachment>? AttachmentList { get; set; }
}
}

View File

@ -0,0 +1,25 @@
using System;
using System.Collections.Generic;
namespace SKIT.FlurlHttpClient.Wechat.Work.Models
{
/// <summary>
/// <para>表示 [POST] /cgi-bin/externalcontact/add_msg_template 接口的响应。</para>
/// </summary>
public class CgibinExternalContactAddMessageTemplateResponse : WechatWorkResponse
{
/// <summary>
/// 获取或设置群发消息 ID。
/// </summary>
[Newtonsoft.Json.JsonProperty("msgid")]
[System.Text.Json.Serialization.JsonPropertyName("msgid")]
public string MessageId { get; set; } = default!;
/// <summary>
/// 获取或设置发送失败的外部联系人账号列表。
/// </summary>
[Newtonsoft.Json.JsonProperty("fail_list")]
[System.Text.Json.Serialization.JsonPropertyName("fail_list")]
public string[]? FailedExternalUserIdList { get; set; }
}
}

View File

@ -0,0 +1,203 @@
using System;
using System.Collections.Generic;
namespace SKIT.FlurlHttpClient.Wechat.Work.Models
{
/// <summary>
/// <para>表示 [POST] /cgi-bin/externalcontact/get_groupmsg_list_v2 接口的请求。</para>
/// </summary>
public class CgibinExternalContactGetGroupMessageListV2Request : WechatWorkRequest
{
public static class Types
{
public class Text
{
/// <summary>
/// 获取或设置文本消息内容。
/// </summary>
[Newtonsoft.Json.JsonProperty("content")]
[System.Text.Json.Serialization.JsonPropertyName("content")]
public string Content { get; set; } = string.Empty;
}
public class Attachment
{
public static class Types
{
public class Image
{
/// <summary>
/// 获取或设置图片 MediaId。与字段 <see cref="PictureUrl"/> 二选一。
/// </summary>
[Newtonsoft.Json.JsonProperty("media_id")]
[System.Text.Json.Serialization.JsonPropertyName("media_id")]
public string? MediaId { get; set; }
/// <summary>
/// 获取或设置图片 URL。与字段 <see cref="MediaId"/> 二选一。
/// </summary>
[Newtonsoft.Json.JsonProperty("pic_url")]
[System.Text.Json.Serialization.JsonPropertyName("pic_url")]
public string? PictureUrl { get; set; }
}
public class Link
{
/// <summary>
/// 获取或设置图文消息标题。
/// </summary>
[Newtonsoft.Json.JsonProperty("title")]
[System.Text.Json.Serialization.JsonPropertyName("title")]
public string Title { get; set; } = string.Empty;
/// <summary>
/// 获取或设置图文消息描述。
/// </summary>
[Newtonsoft.Json.JsonProperty("desc")]
[System.Text.Json.Serialization.JsonPropertyName("desc")]
public string? Description { get; set; }
/// <summary>
/// 获取或设置图文消息 URL。
/// </summary>
[Newtonsoft.Json.JsonProperty("url")]
[System.Text.Json.Serialization.JsonPropertyName("url")]
public string Url { get; set; } = string.Empty;
/// <summary>
/// 获取或设置图文消息封面 URL。
/// </summary>
[Newtonsoft.Json.JsonProperty("picurl")]
[System.Text.Json.Serialization.JsonPropertyName("picurl")]
public string? PictureUrl { get; set; }
}
public class Video
{
/// <summary>
/// 获取或设置视频 MediaId。
/// </summary>
[Newtonsoft.Json.JsonProperty("media_id")]
[System.Text.Json.Serialization.JsonPropertyName("media_id")]
public string MediaId { get; set; } = string.Empty;
}
public class MiniProgram
{
/// <summary>
/// 获取或设置小程序 AppId。
/// </summary>
[Newtonsoft.Json.JsonProperty("appid")]
[System.Text.Json.Serialization.JsonPropertyName("appid")]
public string AppId { get; set; } = string.Empty;
/// <summary>
/// 获取或设置小程序页面路径。
/// </summary>
[Newtonsoft.Json.JsonProperty("page")]
[System.Text.Json.Serialization.JsonPropertyName("page")]
public string PagePath { get; set; } = string.Empty;
/// <summary>
/// 获取或设置小程序标题。
/// </summary>
[Newtonsoft.Json.JsonProperty("title")]
[System.Text.Json.Serialization.JsonPropertyName("title")]
public string Title { get; set; } = string.Empty;
/// <summary>
/// 获取或设置小程序封面 MediaId。
/// </summary>
[Newtonsoft.Json.JsonProperty("pic_media_id")]
[System.Text.Json.Serialization.JsonPropertyName("pic_media_id")]
public string? PictureMediaId { get; set; }
}
}
/// <summary>
/// 获取或设置附件类型。
/// </summary>
[Newtonsoft.Json.JsonProperty("msgtype")]
[System.Text.Json.Serialization.JsonPropertyName("msgtype")]
public string Type { get; set; } = string.Empty;
/// <summary>
/// 获取或设置图片附件信息。
/// </summary>
[Newtonsoft.Json.JsonProperty("image")]
[System.Text.Json.Serialization.JsonPropertyName("image")]
public Types.Image? Image { get; set; }
/// <summary>
/// 获取或设置图文消息附件信息。
/// </summary>
[Newtonsoft.Json.JsonProperty("link")]
[System.Text.Json.Serialization.JsonPropertyName("link")]
public Types.Link? Link { get; set; }
/// <summary>
/// 获取或设置视频附件信息。
/// </summary>
[Newtonsoft.Json.JsonProperty("video")]
[System.Text.Json.Serialization.JsonPropertyName("video")]
public Types.Video? Video { get; set; }
/// <summary>
/// 获取或设置小程序附件信息。
/// </summary>
[Newtonsoft.Json.JsonProperty("miniprogram")]
[System.Text.Json.Serialization.JsonPropertyName("miniprogram")]
public Types.MiniProgram? MiniProgram { get; set; }
}
}
/// <summary>
/// 获取或设置指定群发任务类型。
/// </summary>
[Newtonsoft.Json.JsonProperty("chat_type")]
[System.Text.Json.Serialization.JsonPropertyName("chat_type")]
public string ChatType { get; set; } = string.Empty;
/// <summary>
/// 获取或设置指定开始时间戳。
/// </summary>
[Newtonsoft.Json.JsonProperty("start_time")]
[System.Text.Json.Serialization.JsonPropertyName("start_time")]
public long StartTimestamp { get; set; }
/// <summary>
/// 获取或设置指定结束时间戳。
/// </summary>
[Newtonsoft.Json.JsonProperty("end_time")]
[System.Text.Json.Serialization.JsonPropertyName("end_time")]
public long EndTimestamp { get; set; }
/// <summary>
/// 获取或设置指定创建者成员账号。
/// </summary>
[Newtonsoft.Json.JsonProperty("creator")]
[System.Text.Json.Serialization.JsonPropertyName("creator")]
public string? CreatorUserId { get; set; }
/// <summary>
/// 获取或设置指定创建类型。
/// </summary>
[Newtonsoft.Json.JsonProperty("filter_type")]
[System.Text.Json.Serialization.JsonPropertyName("filter_type")]
public int? CreateType { get; set; }
/// <summary>
/// 获取或设置分页每页数量。
/// </summary>
[Newtonsoft.Json.JsonProperty("limit")]
[System.Text.Json.Serialization.JsonPropertyName("limit")]
public int? Limit { get; set; }
/// <summary>
/// 获取或设置翻页标记。
/// </summary>
[Newtonsoft.Json.JsonProperty("cursor")]
[System.Text.Json.Serialization.JsonPropertyName("cursor")]
public string? NextCursor { get; set; }
}
}

View File

@ -0,0 +1,84 @@
using System;
using System.Collections.Generic;
namespace SKIT.FlurlHttpClient.Wechat.Work.Models
{
/// <summary>
/// <para>表示 [POST] /cgi-bin/externalcontact/get_groupmsg_list_v2 接口的响应。</para>
/// </summary>
public class CgibinExternalContactGetGroupMessageListV2Response : WechatWorkResponse
{
public static class Types
{
public class GroupMessage
{
public static class Types
{
public class Text : CgibinExternalContactAddMessageTemplateRequest.Types.Text
{
}
public class Attachment : CgibinExternalContactAddMessageTemplateRequest.Types.Attachment
{
}
}
/// <summary>
/// 获取或设置群发消息 ID。
/// </summary>
[Newtonsoft.Json.JsonProperty("msgid")]
[System.Text.Json.Serialization.JsonPropertyName("msgid")]
public string MessageId { get; set; } = default!;
/// <summary>
/// 获取或设置创建者成员账号。
/// </summary>
[Newtonsoft.Json.JsonProperty("creator")]
[System.Text.Json.Serialization.JsonPropertyName("creator")]
public string CreatorUserId { get; set; } = default!;
/// <summary>
/// 获取或设置创建类型。
/// </summary>
[Newtonsoft.Json.JsonProperty("create_type")]
[System.Text.Json.Serialization.JsonPropertyName("create_type")]
public int CreateType { get; set; }
/// <summary>
/// 获取或设置文本消息信息。
/// </summary>
[Newtonsoft.Json.JsonProperty("text")]
[System.Text.Json.Serialization.JsonPropertyName("text")]
public Types.Text? Text { get; set; }
/// <summary>
/// 获取或设置附件列表。
/// </summary>
[Newtonsoft.Json.JsonProperty("attachments")]
[System.Text.Json.Serialization.JsonPropertyName("attachments")]
public Types.Attachment[]? AttachmentList { get; set; }
/// <summary>
/// 获取或设置创建时间戳。
/// </summary>
[Newtonsoft.Json.JsonProperty("create_time")]
[System.Text.Json.Serialization.JsonPropertyName("create_time")]
public long CreateTimestamp { get; set; }
}
}
/// <summary>
/// 获取或设置群发消息列表。
/// </summary>
[Newtonsoft.Json.JsonProperty("group_msg_list")]
[System.Text.Json.Serialization.JsonPropertyName("group_msg_list")]
public Types.GroupMessage[]? GroupMessageList { get; set; } = default!;
/// <summary>
/// 获取或设置翻页标记。
/// </summary>
[Newtonsoft.Json.JsonProperty("next_cursor")]
[System.Text.Json.Serialization.JsonPropertyName("next_cursor")]
public string? NextCursor { get; set; }
}
}

View File

@ -0,0 +1,18 @@
using System;
using System.Collections.Generic;
namespace SKIT.FlurlHttpClient.Wechat.Work.Models
{
/// <summary>
/// <para>表示 [POST] /cgi-bin/externalcontact/get_groupmsg_send_result 接口的请求。</para>
/// </summary>
public class CgibinExternalContactGetGroupMessageSendResultRequest : CgibinExternalContactGetGroupMessageTaskRequest
{
/// <summary>
/// 获取或设置发送成员账号。
/// </summary>
[Newtonsoft.Json.JsonProperty("userid")]
[System.Text.Json.Serialization.JsonPropertyName("userid")]
public string UserId { get; set; } = string.Empty;
}
}

View File

@ -0,0 +1,66 @@
using System;
using System.Collections.Generic;
namespace SKIT.FlurlHttpClient.Wechat.Work.Models
{
/// <summary>
/// <para>表示 [POST] /cgi-bin/externalcontact/get_groupmsg_send_result 接口的响应。</para>
/// </summary>
public class CgibinExternalContactGetGroupMessageSendResultResponse : WechatWorkResponse
{
public static class Types
{
public class Result
{
/// <summary>
/// 获取或设置成员账号。
/// </summary>
[Newtonsoft.Json.JsonProperty("userid")]
[System.Text.Json.Serialization.JsonPropertyName("userid")]
public string UserId { get; set; } = default!;
/// <summary>
/// 获取或设置客户群 ID。
/// </summary>
[Newtonsoft.Json.JsonProperty("chat_id")]
[System.Text.Json.Serialization.JsonPropertyName("chat_id")]
public string? ChatId { get; set; }
/// <summary>
/// 获取或设置外部联系人账号。
/// </summary>
[Newtonsoft.Json.JsonProperty("external_userid")]
[System.Text.Json.Serialization.JsonPropertyName("external_userid")]
public string? ExternalUserId { get; set; }
/// <summary>
/// 获取或设置发送状态。
/// </summary>
[Newtonsoft.Json.JsonProperty("status")]
[System.Text.Json.Serialization.JsonPropertyName("status")]
public int Status { get; set; }
/// <summary>
/// 获取或设置发送时间戳。
/// </summary>
[Newtonsoft.Json.JsonProperty("send_time")]
[System.Text.Json.Serialization.JsonPropertyName("send_time")]
public long? SendTimestamp { get; set; }
}
}
/// <summary>
/// 获取或设置群发发送结果列表。
/// </summary>
[Newtonsoft.Json.JsonProperty("send_list")]
[System.Text.Json.Serialization.JsonPropertyName("send_list")]
public Types.Result[]? ResultList { get; set; } = default!;
/// <summary>
/// 获取或设置翻页标记。
/// </summary>
[Newtonsoft.Json.JsonProperty("next_cursor")]
[System.Text.Json.Serialization.JsonPropertyName("next_cursor")]
public string? NextCursor { get; set; }
}
}

View File

@ -0,0 +1,32 @@
using System;
using System.Collections.Generic;
namespace SKIT.FlurlHttpClient.Wechat.Work.Models
{
/// <summary>
/// <para>表示 [POST] /cgi-bin/externalcontact/get_groupmsg_task 接口的请求。</para>
/// </summary>
public class CgibinExternalContactGetGroupMessageTaskRequest : WechatWorkRequest
{
/// <summary>
/// 获取或设置群发消息 ID。
/// </summary>
[Newtonsoft.Json.JsonProperty("msgid")]
[System.Text.Json.Serialization.JsonPropertyName("msgid")]
public string MessageId { get; set; } = string.Empty;
/// <summary>
/// 获取或设置分页每页数量。
/// </summary>
[Newtonsoft.Json.JsonProperty("limit")]
[System.Text.Json.Serialization.JsonPropertyName("limit")]
public int? Limit { get; set; }
/// <summary>
/// 获取或设置翻页标记。
/// </summary>
[Newtonsoft.Json.JsonProperty("cursor")]
[System.Text.Json.Serialization.JsonPropertyName("cursor")]
public string? NextCursor { get; set; }
}
}

View File

@ -0,0 +1,52 @@
using System;
using System.Collections.Generic;
namespace SKIT.FlurlHttpClient.Wechat.Work.Models
{
/// <summary>
/// <para>表示 [POST] /cgi-bin/externalcontact/get_groupmsg_task 接口的响应。</para>
/// </summary>
public class CgibinExternalContactGetGroupMessageTaskResponse : WechatWorkResponse
{
public static class Types
{
public class Task
{
/// <summary>
/// 获取或设置成员账号。
/// </summary>
[Newtonsoft.Json.JsonProperty("userid")]
[System.Text.Json.Serialization.JsonPropertyName("userid")]
public string UserId { get; set; } = default!;
/// <summary>
/// 获取或设置发送状态。
/// </summary>
[Newtonsoft.Json.JsonProperty("status")]
[System.Text.Json.Serialization.JsonPropertyName("status")]
public int Status { get; set; }
/// <summary>
/// 获取或设置发送时间戳。
/// </summary>
[Newtonsoft.Json.JsonProperty("send_time")]
[System.Text.Json.Serialization.JsonPropertyName("send_time")]
public long? SendTimestamp { get; set; }
}
}
/// <summary>
/// 获取或设置群发发送任务列表。
/// </summary>
[Newtonsoft.Json.JsonProperty("task_list")]
[System.Text.Json.Serialization.JsonPropertyName("task_list")]
public Types.Task[]? TaskList { get; set; } = default!;
/// <summary>
/// 获取或设置翻页标记。
/// </summary>
[Newtonsoft.Json.JsonProperty("next_cursor")]
[System.Text.Json.Serialization.JsonPropertyName("next_cursor")]
public string? NextCursor { get; set; }
}
}

View File

@ -0,0 +1,85 @@
using System;
using System.Collections.Generic;
namespace SKIT.FlurlHttpClient.Wechat.Work.Models
{
/// <summary>
/// <para>表示 [POST] /cgi-bin/externalcontact/group_welcome_template/add 接口的请求。</para>
/// </summary>
public class CgibinExternalContactGroupWelcomeTemplateAddRequest : WechatWorkRequest
{
public static class Types
{
public class Text : CgibinExternalContactSendWelcomeMessageRequest.Types.Text
{
}
public class Image : CgibinExternalContactSendWelcomeMessageRequest.Types.Attachment.Types.Image
{
}
public class Link : CgibinExternalContactSendWelcomeMessageRequest.Types.Attachment.Types.Link
{
}
public class Video : CgibinExternalContactSendWelcomeMessageRequest.Types.Attachment.Types.Video
{
}
public class MiniProgram : CgibinExternalContactSendWelcomeMessageRequest.Types.Attachment.Types.MiniProgram
{
}
}
/// <summary>
/// 获取或设置文本消息信息。
/// </summary>
[Newtonsoft.Json.JsonProperty("text")]
[System.Text.Json.Serialization.JsonPropertyName("text")]
public Types.Text? Text { get; set; }
/// <summary>
/// 获取或设置图片消息信息。
/// </summary>
[Newtonsoft.Json.JsonProperty("image")]
[System.Text.Json.Serialization.JsonPropertyName("image")]
public Types.Image? Image { get; set; }
/// <summary>
/// 获取或设置图文消息信息。
/// </summary>
[Newtonsoft.Json.JsonProperty("link")]
[System.Text.Json.Serialization.JsonPropertyName("link")]
public Types.Link? Link { get; set; }
/// <summary>
/// 获取或设置视频消息信息。
/// </summary>
[Newtonsoft.Json.JsonProperty("video")]
[System.Text.Json.Serialization.JsonPropertyName("video")]
public Types.Video? Video { get; set; }
/// <summary>
/// 获取或设置小程序消息信息。
/// </summary>
[Newtonsoft.Json.JsonProperty("miniprogram")]
[System.Text.Json.Serialization.JsonPropertyName("miniprogram")]
public Types.MiniProgram? MiniProgram { get; set; }
/// <summary>
/// 获取或设置是否通知成员将这条入群欢迎语应用到客户群中。
/// </summary>
[Newtonsoft.Json.JsonProperty("notify")]
[Newtonsoft.Json.JsonConverter(typeof(Newtonsoft.Json.Converters.NumberTypedNullableBooleanConverter))]
[System.Text.Json.Serialization.JsonPropertyName("notify")]
[System.Text.Json.Serialization.JsonConverter(typeof(System.Text.Json.Converters.NumberTypedNullableBooleanConverter))]
public bool? RequireNotify { get; set; }
/// <summary>
/// 获取或设置授权方安装的应用 ID。
/// </summary>
[Newtonsoft.Json.JsonProperty("agentid")]
[System.Text.Json.Serialization.JsonPropertyName("agentid")]
public int? AgentId { get; set; }
}
}

View File

@ -0,0 +1,18 @@
using System;
using System.Collections.Generic;
namespace SKIT.FlurlHttpClient.Wechat.Work.Models
{
/// <summary>
/// <para>表示 [POST] /cgi-bin/externalcontact/group_welcome_template/add 接口的响应。</para>
/// </summary>
public class CgibinExternalContactGroupWelcomeTemplateAddResponse : WechatWorkResponse
{
/// <summary>
/// 获取或设置欢迎语素材 ID。
/// </summary>
[Newtonsoft.Json.JsonProperty("template_id")]
[System.Text.Json.Serialization.JsonPropertyName("template_id")]
public string TemplateId { get; set; } = default!;
}
}

View File

@ -0,0 +1,25 @@
using System;
using System.Collections.Generic;
namespace SKIT.FlurlHttpClient.Wechat.Work.Models
{
/// <summary>
/// <para>表示 [POST] /cgi-bin/externalcontact/group_welcome_template/del 接口的请求。</para>
/// </summary>
public class CgibinExternalContactGroupWelcomeTemplateDeleteRequest : WechatWorkRequest
{
/// <summary>
/// 获取或设置欢迎语素材 ID。
/// </summary>
[Newtonsoft.Json.JsonProperty("template_id")]
[System.Text.Json.Serialization.JsonPropertyName("template_id")]
public string? TemplateId { get; set; } = string.Empty;
/// <summary>
/// 获取或设置授权方安装的应用 ID。
/// </summary>
[Newtonsoft.Json.JsonProperty("agentid")]
[System.Text.Json.Serialization.JsonPropertyName("agentid")]
public int? AgentId { get; set; }
}
}

View File

@ -0,0 +1,12 @@
using System;
using System.Collections.Generic;
namespace SKIT.FlurlHttpClient.Wechat.Work.Models
{
/// <summary>
/// <para>表示 [POST] /cgi-bin/externalcontact/group_welcome_template/del 接口的响应。</para>
/// </summary>
public class CgibinExternalContactGroupWelcomeTemplateDeleteResponse : WechatWorkResponse
{
}
}

View File

@ -0,0 +1,83 @@
using System;
using System.Collections.Generic;
namespace SKIT.FlurlHttpClient.Wechat.Work.Models
{
/// <summary>
/// <para>表示 [POST] /cgi-bin/externalcontact/group_welcome_template/edit 接口的请求。</para>
/// </summary>
public class CgibinExternalContactGroupWelcomeTemplateEditRequest : WechatWorkRequest
{
public static class Types
{
public class Text : CgibinExternalContactGroupWelcomeTemplateAddRequest.Types.Text
{
}
public class Image : CgibinExternalContactGroupWelcomeTemplateAddRequest.Types.Image
{
}
public class Link : CgibinExternalContactGroupWelcomeTemplateAddRequest.Types.Link
{
}
public class Video : CgibinExternalContactGroupWelcomeTemplateAddRequest.Types.Video
{
}
public class MiniProgram : CgibinExternalContactGroupWelcomeTemplateAddRequest.Types.MiniProgram
{
}
}
/// <summary>
/// 获取或设置欢迎语素材 ID。
/// </summary>
[Newtonsoft.Json.JsonProperty("template_id")]
[System.Text.Json.Serialization.JsonPropertyName("template_id")]
public string TemplateId { get; set; } = string.Empty;
/// <summary>
/// 获取或设置文本消息信息。
/// </summary>
[Newtonsoft.Json.JsonProperty("text")]
[System.Text.Json.Serialization.JsonPropertyName("text")]
public Types.Text? Text { get; set; }
/// <summary>
/// 获取或设置图片消息信息。
/// </summary>
[Newtonsoft.Json.JsonProperty("image")]
[System.Text.Json.Serialization.JsonPropertyName("image")]
public Types.Image? Image { get; set; }
/// <summary>
/// 获取或设置图文消息信息。
/// </summary>
[Newtonsoft.Json.JsonProperty("link")]
[System.Text.Json.Serialization.JsonPropertyName("link")]
public Types.Link? Link { get; set; }
/// <summary>
/// 获取或设置视频消息信息。
/// </summary>
[Newtonsoft.Json.JsonProperty("video")]
[System.Text.Json.Serialization.JsonPropertyName("video")]
public Types.Video? Video { get; set; }
/// <summary>
/// 获取或设置小程序消息信息。
/// </summary>
[Newtonsoft.Json.JsonProperty("miniprogram")]
[System.Text.Json.Serialization.JsonPropertyName("miniprogram")]
public Types.MiniProgram? MiniProgram { get; set; }
/// <summary>
/// 获取或设置授权方安装的应用 ID。
/// </summary>
[Newtonsoft.Json.JsonProperty("agentid")]
[System.Text.Json.Serialization.JsonPropertyName("agentid")]
public int? AgentId { get; set; }
}
}

View File

@ -0,0 +1,12 @@
using System;
using System.Collections.Generic;
namespace SKIT.FlurlHttpClient.Wechat.Work.Models
{
/// <summary>
/// <para>表示 [POST] /cgi-bin/externalcontact/group_welcome_template/edit 接口的响应。</para>
/// </summary>
public class CgibinExternalContactGroupWelcomeTemplateEditResponse : WechatWorkResponse
{
}
}

View File

@ -0,0 +1,18 @@
using System;
using System.Collections.Generic;
namespace SKIT.FlurlHttpClient.Wechat.Work.Models
{
/// <summary>
/// <para>表示 [POST] /cgi-bin/externalcontact/group_welcome_template/get 接口的请求。</para>
/// </summary>
public class CgibinExternalContactGroupWelcomeTemplateGetRequest : WechatWorkRequest
{
/// <summary>
/// 获取或设置欢迎语素材 ID。
/// </summary>
[Newtonsoft.Json.JsonProperty("template_id")]
[System.Text.Json.Serialization.JsonPropertyName("template_id")]
public string TemplateId { get; set; } = string.Empty;
}
}

View File

@ -0,0 +1,76 @@
using System;
using System.Collections.Generic;
namespace SKIT.FlurlHttpClient.Wechat.Work.Models
{
/// <summary>
/// <para>表示 [POST] /cgi-bin/externalcontact/group_welcome_template/get 接口的响应。</para>
/// </summary>
public class CgibinExternalContactGroupWelcomeTemplateGetResponse : WechatWorkResponse
{
public static class Types
{
public class Text : CgibinExternalContactGroupWelcomeTemplateAddRequest.Types.Text
{
}
public class Image : CgibinExternalContactGroupWelcomeTemplateAddRequest.Types.Image
{
}
public class Link : CgibinExternalContactGroupWelcomeTemplateAddRequest.Types.Link
{
}
public class Video : CgibinExternalContactGroupWelcomeTemplateAddRequest.Types.Video
{
}
public class MiniProgram : CgibinExternalContactGroupWelcomeTemplateAddRequest.Types.MiniProgram
{
}
}
/// <summary>
/// 获取或设置文本消息信息。
/// </summary>
[Newtonsoft.Json.JsonProperty("text")]
[System.Text.Json.Serialization.JsonPropertyName("text")]
public Types.Text? Text { get; set; }
/// <summary>
/// 获取或设置图片消息信息。
/// </summary>
[Newtonsoft.Json.JsonProperty("image")]
[System.Text.Json.Serialization.JsonPropertyName("image")]
public Types.Image? Image { get; set; }
/// <summary>
/// 获取或设置图文消息信息。
/// </summary>
[Newtonsoft.Json.JsonProperty("link")]
[System.Text.Json.Serialization.JsonPropertyName("link")]
public Types.Link? Link { get; set; }
/// <summary>
/// 获取或设置视频消息信息。
/// </summary>
[Newtonsoft.Json.JsonProperty("video")]
[System.Text.Json.Serialization.JsonPropertyName("video")]
public Types.Video? Video { get; set; }
/// <summary>
/// 获取或设置小程序消息信息。
/// </summary>
[Newtonsoft.Json.JsonProperty("miniprogram")]
[System.Text.Json.Serialization.JsonPropertyName("miniprogram")]
public Types.MiniProgram? MiniProgram { get; set; }
/// <summary>
/// 获取或设置授权方安装的应用 ID。
/// </summary>
[Newtonsoft.Json.JsonProperty("agentid")]
[System.Text.Json.Serialization.JsonPropertyName("agentid")]
public int? AgentId { get; set; }
}
}

View File

@ -0,0 +1,43 @@
using System;
using System.Collections.Generic;
namespace SKIT.FlurlHttpClient.Wechat.Work.Models
{
/// <summary>
/// <para>表示 [POST] /cgi-bin/externalcontact/send_welcome_msg 接口的请求。</para>
/// </summary>
public class CgibinExternalContactSendWelcomeMessageRequest : WechatWorkRequest
{
public static class Types
{
public class Text : CgibinExternalContactAddMessageTemplateRequest.Types.Text
{
}
public class Attachment : CgibinExternalContactAddMessageTemplateRequest.Types.Attachment
{
}
}
/// <summary>
/// 获取或设置发送欢迎语的凭证。
/// </summary>
[Newtonsoft.Json.JsonProperty("welcome_code")]
[System.Text.Json.Serialization.JsonPropertyName("welcome_code")]
public string WelcomeCode { get; set; } = string.Empty;
/// <summary>
/// 获取或设置文本消息信息。
/// </summary>
[Newtonsoft.Json.JsonProperty("text")]
[System.Text.Json.Serialization.JsonPropertyName("text")]
public Types.Text? Text { get; set; }
/// <summary>
/// 获取或设置附件列表。
/// </summary>
[Newtonsoft.Json.JsonProperty("attachments")]
[System.Text.Json.Serialization.JsonPropertyName("attachments")]
public IList<Types.Attachment>? AttachmentList { get; set; }
}
}

View File

@ -0,0 +1,12 @@
using System;
using System.Collections.Generic;
namespace SKIT.FlurlHttpClient.Wechat.Work.Models
{
/// <summary>
/// <para>表示 [POST] /cgi-bin/externalcontact/send_welcome_msg 接口的响应。</para>
/// </summary>
public class CgibinExternalContactSendWelcomeMessageResponse : WechatWorkResponse
{
}
}

View File

@ -0,0 +1,25 @@
using System;
using System.Collections.Generic;
namespace SKIT.FlurlHttpClient.Wechat.Work.Models
{
/// <summary>
/// <para>表示 [POST] /cgi-bin/externalcontact/get_moment_comments 接口的请求。</para>
/// </summary>
public class CgibinExternalContactGetMomentCommentsRequest : WechatWorkRequest
{
/// <summary>
/// 获取或设置朋友圈 ID。
/// </summary>
[Newtonsoft.Json.JsonProperty("moment_id")]
[System.Text.Json.Serialization.JsonPropertyName("moment_id")]
public string MomentId { get; set; } = string.Empty;
/// <summary>
/// 获取或设置发布者成员账号。
/// </summary>
[Newtonsoft.Json.JsonProperty("userid")]
[System.Text.Json.Serialization.JsonPropertyName("userid")]
public string UserId { get; set; } = string.Empty;
}
}

View File

@ -0,0 +1,52 @@
using System;
using System.Collections.Generic;
namespace SKIT.FlurlHttpClient.Wechat.Work.Models
{
/// <summary>
/// <para>表示 [POST] /cgi-bin/externalcontact/get_moment_comments 接口的响应。</para>
/// </summary>
public class CgibinExternalContactGetMomentCommentsResponse : WechatWorkResponse
{
public static class Types
{
public class Interaction
{
/// <summary>
/// 获取或设置互动的外部联系人账号。
/// </summary>
[Newtonsoft.Json.JsonProperty("userid")]
[System.Text.Json.Serialization.JsonPropertyName("userid")]
public string? UserId { get; set; }
/// <summary>
/// 获取或设置互动的外部联系人账号。
/// </summary>
[Newtonsoft.Json.JsonProperty("external_userid")]
[System.Text.Json.Serialization.JsonPropertyName("external_userid")]
public string? ExternalUserId { get; set; } = default!;
/// <summary>
/// 获取或设置互动时间戳。
/// </summary>
[Newtonsoft.Json.JsonProperty("create_time")]
[System.Text.Json.Serialization.JsonPropertyName("create_time")]
public long CreateTimestamp { get; set; }
}
}
/// <summary>
/// 获取或设置评论列表。
/// </summary>
[Newtonsoft.Json.JsonProperty("comment_list")]
[System.Text.Json.Serialization.JsonPropertyName("comment_list")]
public Types.Interaction[] CommentList { get; set; } = default!;
/// <summary>
/// 获取或设置点赞列表。
/// </summary>
[Newtonsoft.Json.JsonProperty("like_list")]
[System.Text.Json.Serialization.JsonPropertyName("like_list")]
public Types.Interaction[] LikeList { get; set; } = default!;
}
}

View File

@ -0,0 +1,39 @@
using System;
using System.Collections.Generic;
namespace SKIT.FlurlHttpClient.Wechat.Work.Models
{
/// <summary>
/// <para>表示 [POST] /cgi-bin/externalcontact/get_moment_customer_list 接口的请求。</para>
/// </summary>
public class CgibinExternalContactGetMomentCustomerListRequest : WechatWorkRequest
{
/// <summary>
/// 获取或设置朋友圈 ID。
/// </summary>
[Newtonsoft.Json.JsonProperty("moment_id")]
[System.Text.Json.Serialization.JsonPropertyName("moment_id")]
public string MomentId { get; set; } = string.Empty;
/// <summary>
/// 获取或设置指定发布者成员账号。
/// </summary>
[Newtonsoft.Json.JsonProperty("userid")]
[System.Text.Json.Serialization.JsonPropertyName("userid")]
public string? UserId { get; set; }
/// <summary>
/// 获取或设置分页每页数量。
/// </summary>
[Newtonsoft.Json.JsonProperty("limit")]
[System.Text.Json.Serialization.JsonPropertyName("limit")]
public int? Limit { get; set; }
/// <summary>
/// 获取或设置翻页标记。
/// </summary>
[Newtonsoft.Json.JsonProperty("cursor")]
[System.Text.Json.Serialization.JsonPropertyName("cursor")]
public string? NextCursor { get; set; }
}
}

View File

@ -0,0 +1,45 @@
using System;
using System.Collections.Generic;
namespace SKIT.FlurlHttpClient.Wechat.Work.Models
{
/// <summary>
/// <para>表示 [POST] /cgi-bin/externalcontact/get_moment_customer_list 接口的响应。</para>
/// </summary>
public class CgibinExternalContactGetMomentCustomerListResponse : WechatWorkResponse
{
public static class Types
{
public class Customer
{
/// <summary>
/// 获取或设置发布者成员账号。
/// </summary>
[Newtonsoft.Json.JsonProperty("userid")]
[System.Text.Json.Serialization.JsonPropertyName("userid")]
public string UserId { get; set; } = default!;
/// <summary>
/// 获取或设置可见的外部联系人账号。
/// </summary>
[Newtonsoft.Json.JsonProperty("external_userid")]
[System.Text.Json.Serialization.JsonPropertyName("external_userid")]
public string ExternalUserId { get; set; } = default!;
}
}
/// <summary>
/// 获取或设置可见的客户列表。
/// </summary>
[Newtonsoft.Json.JsonProperty("customer_list")]
[System.Text.Json.Serialization.JsonPropertyName("customer_list")]
public Types.Customer[] CustomerList { get; set; } = default!;
/// <summary>
/// 获取或设置翻页标记。
/// </summary>
[Newtonsoft.Json.JsonProperty("next_cursor")]
[System.Text.Json.Serialization.JsonPropertyName("next_cursor")]
public string? NextCursor { get; set; }
}
}

View File

@ -0,0 +1,53 @@
using System;
using System.Collections.Generic;
namespace SKIT.FlurlHttpClient.Wechat.Work.Models
{
/// <summary>
/// <para>表示 [POST] /cgi-bin/externalcontact/get_moment_list 接口的请求。</para>
/// </summary>
public class CgibinExternalContactGetMomentListRequest : WechatWorkRequest
{
/// <summary>
/// 获取或设置指定开始时间戳。
/// </summary>
[Newtonsoft.Json.JsonProperty("start_time")]
[System.Text.Json.Serialization.JsonPropertyName("start_time")]
public long StartTimestamp { get; set; }
/// <summary>
/// 获取或设置指定结束时间戳。
/// </summary>
[Newtonsoft.Json.JsonProperty("end_time")]
[System.Text.Json.Serialization.JsonPropertyName("end_time")]
public long EndTimestamp { get; set; }
/// <summary>
/// 获取或设置指定创建者的成员账号或外部联系人账号。
/// </summary>
[Newtonsoft.Json.JsonProperty("creator")]
[System.Text.Json.Serialization.JsonPropertyName("creator")]
public string? CreatorUserId { get; set; }
/// <summary>
/// 获取或设置指定类型。
/// </summary>
[Newtonsoft.Json.JsonProperty("filter_type")]
[System.Text.Json.Serialization.JsonPropertyName("filter_type")]
public int? Type { get; set; }
/// <summary>
/// 获取或设置分页每页数量。
/// </summary>
[Newtonsoft.Json.JsonProperty("limit")]
[System.Text.Json.Serialization.JsonPropertyName("limit")]
public int? Limit { get; set; }
/// <summary>
/// 获取或设置翻页标记。
/// </summary>
[Newtonsoft.Json.JsonProperty("cursor")]
[System.Text.Json.Serialization.JsonPropertyName("cursor")]
public string? NextCursor { get; set; }
}
}

View File

@ -0,0 +1,182 @@
using System;
using System.Collections.Generic;
namespace SKIT.FlurlHttpClient.Wechat.Work.Models
{
/// <summary>
/// <para>表示 [POST] /cgi-bin/externalcontact/get_moment_list 接口的响应。</para>
/// </summary>
public class CgibinExternalContactGetMomentListResponse : WechatWorkResponse
{
public static class Types
{
public class Moment
{
public static class Types
{
public class Text
{
/// <summary>
/// 获取或设置文本内容。
/// </summary>
[Newtonsoft.Json.JsonProperty("content")]
[System.Text.Json.Serialization.JsonPropertyName("content")]
public string Content { get; set; } = default!;
}
public class Image
{
/// <summary>
/// 获取或设置图片 MediaId。
/// </summary>
[Newtonsoft.Json.JsonProperty("media_id")]
[System.Text.Json.Serialization.JsonPropertyName("media_id")]
public string MediaId { get; set; } = default!;
}
public class Video
{
/// <summary>
/// 获取或设置视频 MediaId。
/// </summary>
[Newtonsoft.Json.JsonProperty("media_id")]
[System.Text.Json.Serialization.JsonPropertyName("media_id")]
public string MediaId { get; set; } = default!;
/// <summary>
/// 获取或设置视频封面 MediaId。
/// </summary>
[Newtonsoft.Json.JsonProperty("thumb_media_id")]
[System.Text.Json.Serialization.JsonPropertyName("thumb_media_id")]
public string? ThumbnailMediaId { get; set; }
}
public class Link
{
/// <summary>
/// 获取或设置网页 URL。
/// </summary>
[Newtonsoft.Json.JsonProperty("url")]
[System.Text.Json.Serialization.JsonPropertyName("url")]
public string Url { get; set; } = default!;
/// <summary>
/// 获取或设置网页标题。
/// </summary>
[Newtonsoft.Json.JsonProperty("title")]
[System.Text.Json.Serialization.JsonPropertyName("title")]
public string? Title { get; set; }
}
public class Location
{
/// <summary>
/// 获取或设置地理位置经度。
/// </summary>
[Newtonsoft.Json.JsonProperty("longitude")]
[System.Text.Json.Serialization.JsonPropertyName("longitude")]
public double Longitude { get; set; }
/// <summary>
/// 获取或设置地理位置纬度。
/// </summary>
[Newtonsoft.Json.JsonProperty("latitude")]
[System.Text.Json.Serialization.JsonPropertyName("latitude")]
public double Latitude { get; set; }
/// <summary>
/// 获取或设置地理位置名称。
/// </summary>
[Newtonsoft.Json.JsonProperty("name")]
[System.Text.Json.Serialization.JsonPropertyName("name")]
public string? Name { get; set; }
}
}
/// <summary>
/// 获取或设置朋友圈 ID。
/// </summary>
[Newtonsoft.Json.JsonProperty("moment_id")]
[System.Text.Json.Serialization.JsonPropertyName("moment_id")]
public string MomentId { get; set; } = default!;
/// <summary>
/// 获取或设置创建者的成员账号或外部联系人账号。
/// </summary>
[Newtonsoft.Json.JsonProperty("creator")]
[System.Text.Json.Serialization.JsonPropertyName("creator")]
public string CreatorUserId { get; set; } = default!;
/// <summary>
/// 获取或设置创建类型。
/// </summary>
[Newtonsoft.Json.JsonProperty("create_type")]
[System.Text.Json.Serialization.JsonPropertyName("create_type")]
public int CreateType { get; set; }
/// <summary>
/// 获取或设置可见类型。
/// </summary>
[Newtonsoft.Json.JsonProperty("visible_type")]
[System.Text.Json.Serialization.JsonPropertyName("visible_type")]
public int VisibleType { get; set; }
/// <summary>
/// 获取或设置文本消息信息。
/// </summary>
[Newtonsoft.Json.JsonProperty("text")]
[System.Text.Json.Serialization.JsonPropertyName("text")]
public Types.Text? Text { get; set; }
/// <summary>
/// 获取或设置图片消息列表。
/// </summary>
[Newtonsoft.Json.JsonProperty("image")]
[System.Text.Json.Serialization.JsonPropertyName("image")]
public Types.Image[]? ImageList { get; set; }
/// <summary>
/// 获取或设置视频消息信息。
/// </summary>
[Newtonsoft.Json.JsonProperty("video")]
[System.Text.Json.Serialization.JsonPropertyName("video")]
public Types.Video? Video { get; set; }
/// <summary>
/// 获取或设置网页消息信息。
/// </summary>
[Newtonsoft.Json.JsonProperty("link")]
[System.Text.Json.Serialization.JsonPropertyName("link")]
public Types.Link? Link { get; set; }
/// <summary>
/// 获取或设置地理位置信息。
/// </summary>
[Newtonsoft.Json.JsonProperty("location")]
[System.Text.Json.Serialization.JsonPropertyName("location")]
public Types.Location? Location { get; set; }
/// <summary>
/// 获取或设置创建时间戳。
/// </summary>
[Newtonsoft.Json.JsonProperty("create_time")]
[System.Text.Json.Serialization.JsonPropertyName("create_time")]
public long CreateTimestamp { get; set; }
}
}
/// <summary>
/// 获取或设置朋友圈列表。
/// </summary>
[Newtonsoft.Json.JsonProperty("moment_list")]
[System.Text.Json.Serialization.JsonPropertyName("moment_list")]
public Types.Moment[] MomentList { get; set; } = default!;
/// <summary>
/// 获取或设置翻页标记。
/// </summary>
[Newtonsoft.Json.JsonProperty("next_cursor")]
[System.Text.Json.Serialization.JsonPropertyName("next_cursor")]
public string? NextCursor { get; set; }
}
}

View File

@ -0,0 +1,12 @@
using System;
using System.Collections.Generic;
namespace SKIT.FlurlHttpClient.Wechat.Work.Models
{
/// <summary>
/// <para>表示 [POST] /cgi-bin/externalcontact/get_moment_send_result 接口的请求。</para>
/// </summary>
public class CgibinExternalContactGetMomentSendResultRequest : CgibinExternalContactGetMomentCustomerListRequest
{
}
}

View File

@ -0,0 +1,38 @@
using System;
using System.Collections.Generic;
namespace SKIT.FlurlHttpClient.Wechat.Work.Models
{
/// <summary>
/// <para>表示 [POST] /cgi-bin/externalcontact/get_moment_send_result 接口的响应。</para>
/// </summary>
public class CgibinExternalContactGetMomentSendResultResponse : WechatWorkResponse
{
public static class Types
{
public class Result
{
/// <summary>
/// 获取或设置发送成功的外部联系人账号。
/// </summary>
[Newtonsoft.Json.JsonProperty("external_userid")]
[System.Text.Json.Serialization.JsonPropertyName("external_userid")]
public string ExternalUserId { get; set; } = default!;
}
}
/// <summary>
/// 获取或设置朋友圈发送结果列表。
/// </summary>
[Newtonsoft.Json.JsonProperty("customer_list")]
[System.Text.Json.Serialization.JsonPropertyName("customer_list")]
public Types.Result[] ResultList { get; set; } = default!;
/// <summary>
/// 获取或设置翻页标记。
/// </summary>
[Newtonsoft.Json.JsonProperty("next_cursor")]
[System.Text.Json.Serialization.JsonPropertyName("next_cursor")]
public string? NextCursor { get; set; }
}
}

View File

@ -0,0 +1,32 @@
using System;
using System.Collections.Generic;
namespace SKIT.FlurlHttpClient.Wechat.Work.Models
{
/// <summary>
/// <para>表示 [POST] /cgi-bin/externalcontact/get_moment_task 接口的请求。</para>
/// </summary>
public class CgibinExternalContactGetMomentTaskRequest : WechatWorkRequest
{
/// <summary>
/// 获取或设置朋友圈 ID。
/// </summary>
[Newtonsoft.Json.JsonProperty("moment_id")]
[System.Text.Json.Serialization.JsonPropertyName("moment_id")]
public string MomentId { get; set; } = string.Empty;
/// <summary>
/// 获取或设置分页每页数量。
/// </summary>
[Newtonsoft.Json.JsonProperty("limit")]
[System.Text.Json.Serialization.JsonPropertyName("limit")]
public int? Limit { get; set; }
/// <summary>
/// 获取或设置翻页标记。
/// </summary>
[Newtonsoft.Json.JsonProperty("cursor")]
[System.Text.Json.Serialization.JsonPropertyName("cursor")]
public string? NextCursor { get; set; }
}
}

View File

@ -0,0 +1,45 @@
using System;
using System.Collections.Generic;
namespace SKIT.FlurlHttpClient.Wechat.Work.Models
{
/// <summary>
/// <para>表示 [POST] /cgi-bin/externalcontact/get_moment_task 接口的响应。</para>
/// </summary>
public class CgibinExternalContactGetMomentTaskResponse : WechatWorkResponse
{
public static class Types
{
public class Task
{
/// <summary>
/// 获取或设置成员账号。
/// </summary>
[Newtonsoft.Json.JsonProperty("userid")]
[System.Text.Json.Serialization.JsonPropertyName("userid")]
public string UserId { get; set; } = default!;
/// <summary>
/// 获取或设置发布状态。
/// </summary>
[Newtonsoft.Json.JsonProperty("publish_status")]
[System.Text.Json.Serialization.JsonPropertyName("publish_status")]
public int PublishStatus { get; set; }
}
}
/// <summary>
/// 获取或设置朋友圈发布任务列表。
/// </summary>
[Newtonsoft.Json.JsonProperty("task_list")]
[System.Text.Json.Serialization.JsonPropertyName("task_list")]
public Types.Task[] TaskList { get; set; } = default!;
/// <summary>
/// 获取或设置翻页标记。
/// </summary>
[Newtonsoft.Json.JsonProperty("next_cursor")]
[System.Text.Json.Serialization.JsonPropertyName("next_cursor")]
public string? NextCursor { get; set; }
}
}

View File

@ -0,0 +1,12 @@
using System;
using System.Collections.Generic;
namespace SKIT.FlurlHttpClient.Wechat.Work.Models
{
/// <summary>
/// <para>表示 [POST] /cgi-bin/externalcontact/resigned/transfer_customer 接口的请求。</para>
/// </summary>
public class CgibinExternalContactResignedTransferCustomerRequest : CgibinExternalContactTransferCustomerRequest
{
}
}

View File

@ -0,0 +1,12 @@
using System;
using System.Collections.Generic;
namespace SKIT.FlurlHttpClient.Wechat.Work.Models
{
/// <summary>
/// <para>表示 [POST] /cgi-bin/externalcontact/resigned/transfer_customer 接口的响应。</para>
/// </summary>
public class CgibinExternalContactResignedTransferCustomerResponse : CgibinExternalContactTransferCustomerResponse
{
}
}

View File

@ -0,0 +1,12 @@
using System;
using System.Collections.Generic;
namespace SKIT.FlurlHttpClient.Wechat.Work.Models
{
/// <summary>
/// <para>表示 [POST] /cgi-bin/externalcontact/resigned/transfer_result 接口的请求。</para>
/// </summary>
public class CgibinExternalContactResignedTransferResultRequest : CgibinExternalContactTransferResultRequest
{
}
}

View File

@ -0,0 +1,12 @@
using System;
using System.Collections.Generic;
namespace SKIT.FlurlHttpClient.Wechat.Work.Models
{
/// <summary>
/// <para>表示 [POST] /cgi-bin/externalcontact/resigned/transfer_result 接口的响应。</para>
/// </summary>
public class CgibinExternalContactResignedTransferResultResponse : CgibinExternalContactTransferResultResponse
{
}
}

View File

@ -0,0 +1,39 @@
using System;
using System.Collections.Generic;
namespace SKIT.FlurlHttpClient.Wechat.Work.Models
{
/// <summary>
/// <para>表示 [POST] /cgi-bin/externalcontact/transfer_customer 接口的请求。</para>
/// </summary>
public class CgibinExternalContactTransferCustomerRequest : WechatWorkRequest
{
/// <summary>
/// 获取或设置原成员账号。
/// </summary>
[Newtonsoft.Json.JsonProperty("handover_userid")]
[System.Text.Json.Serialization.JsonPropertyName("handover_userid")]
public string HandoverUserId { get; set; } = string.Empty;
/// <summary>
/// 获取或设置接替成员账号。
/// </summary>
[Newtonsoft.Json.JsonProperty("takeover_userid")]
[System.Text.Json.Serialization.JsonPropertyName("takeover_userid")]
public string TakeoverUserId { get; set; } = string.Empty;
/// <summary>
/// 获取或设置外部联系人账号列表。
/// </summary>
[Newtonsoft.Json.JsonProperty("external_userid")]
[System.Text.Json.Serialization.JsonPropertyName("external_userid")]
public IList<string> ExternalUserIdList { get; set; } = new List<string>();
/// <summary>
/// 获取或设置转移成功后发给客户的消息。
/// </summary>
[Newtonsoft.Json.JsonProperty("transfer_success_msg")]
[System.Text.Json.Serialization.JsonPropertyName("transfer_success_msg")]
public string? TransferSuccessMessage { get; set; }
}
}

View File

@ -0,0 +1,38 @@
using System;
using System.Collections.Generic;
namespace SKIT.FlurlHttpClient.Wechat.Work.Models
{
/// <summary>
/// <para>表示 [POST] /cgi-bin/externalcontact/transfer_customer 接口的响应。</para>
/// </summary>
public class CgibinExternalContactTransferCustomerResponse : WechatWorkResponse
{
public static class Types
{
public class Customer
{
/// <summary>
/// 获取或设置错误码。
/// </summary>
[Newtonsoft.Json.JsonProperty("errcode")]
[System.Text.Json.Serialization.JsonPropertyName("errcode")]
public int ErrorCode { get; set; }
/// <summary>
/// 获取或设置外部联系人账号。
/// </summary>
[Newtonsoft.Json.JsonProperty("external_userid")]
[System.Text.Json.Serialization.JsonPropertyName("external_userid")]
public string ExternalUserId { get; set; } = default!;
}
}
/// <summary>
/// 获取或设置客户列表。
/// </summary>
[Newtonsoft.Json.JsonProperty("customer")]
[System.Text.Json.Serialization.JsonPropertyName("customer")]
public Types.Customer[] CustomerList { get; set; } = default!;
}
}

View File

@ -0,0 +1,32 @@
using System;
using System.Collections.Generic;
namespace SKIT.FlurlHttpClient.Wechat.Work.Models
{
/// <summary>
/// <para>表示 [POST] /cgi-bin/externalcontact/transfer_result 接口的请求。</para>
/// </summary>
public class CgibinExternalContactTransferResultRequest : WechatWorkRequest
{
/// <summary>
/// 获取或设置原成员账号。
/// </summary>
[Newtonsoft.Json.JsonProperty("handover_userid")]
[System.Text.Json.Serialization.JsonPropertyName("handover_userid")]
public string HandoverUserId { get; set; } = string.Empty;
/// <summary>
/// 获取或设置接替成员账号。
/// </summary>
[Newtonsoft.Json.JsonProperty("takeover_userid")]
[System.Text.Json.Serialization.JsonPropertyName("takeover_userid")]
public string TakeoverUserId { get; set; } = string.Empty;
/// <summary>
/// 获取或设置翻页标记。
/// </summary>
[Newtonsoft.Json.JsonProperty("cursor")]
[System.Text.Json.Serialization.JsonPropertyName("cursor")]
public string? NextCursor { get; set; }
}
}

View File

@ -0,0 +1,52 @@
using System;
using System.Collections.Generic;
namespace SKIT.FlurlHttpClient.Wechat.Work.Models
{
/// <summary>
/// <para>表示 [POST] /cgi-bin/externalcontact/transfer_result 接口的响应。</para>
/// </summary>
public class CgibinExternalContactTransferResultResponse : WechatWorkResponse
{
public static class Types
{
public class Result
{
/// <summary>
/// 获取或设置接替状态。
/// </summary>
[Newtonsoft.Json.JsonProperty("status")]
[System.Text.Json.Serialization.JsonPropertyName("status")]
public int Status { get; set; }
/// <summary>
/// 获取或设置外部联系人账号。
/// </summary>
[Newtonsoft.Json.JsonProperty("external_userid")]
[System.Text.Json.Serialization.JsonPropertyName("external_userid")]
public string ExternalUserId { get; set; } = default!;
/// <summary>
/// 获取或设置接替时间戳。
/// </summary>
[Newtonsoft.Json.JsonProperty("takeover_time")]
[System.Text.Json.Serialization.JsonPropertyName("takeover_time")]
public long? TakeoverTimestamp { get; set; }
}
}
/// <summary>
/// 获取或设置客户转交结果列表。
/// </summary>
[Newtonsoft.Json.JsonProperty("customer")]
[System.Text.Json.Serialization.JsonPropertyName("customer")]
public Types.Result[] ResultList { get; set; } = default!;
/// <summary>
/// 获取或设置翻页标记。
/// </summary>
[Newtonsoft.Json.JsonProperty("next_cursor")]
[System.Text.Json.Serialization.JsonPropertyName("next_cursor")]
public string? NextCursor { get; set; }
}
}