diff --git a/src/SKIT.FlurlHttpClient.Wechat.Api/Extensions/WechatApiClientExecuteCgibinExpressExtensions.cs b/src/SKIT.FlurlHttpClient.Wechat.Api/Extensions/WechatApiClientExecuteCgibinExpressExtensions.cs index 640db4e1..f6b18de5 100644 --- a/src/SKIT.FlurlHttpClient.Wechat.Api/Extensions/WechatApiClientExecuteCgibinExpressExtensions.cs +++ b/src/SKIT.FlurlHttpClient.Wechat.Api/Extensions/WechatApiClientExecuteCgibinExpressExtensions.cs @@ -755,6 +755,46 @@ namespace SKIT.FlurlHttpClient.Wechat.Api return await client.SendRequestWithJsonAsync<Models.CgibinExpressDeliveryReturnOpenReturnResponse>(flurlReq, data: request, cancellationToken: cancellationToken); } + + /// <summary> + /// <para>异步调用 [POST] /cgi-bin/express/delivery/open_msg/open_query_plugin 接口。</para> + /// <para>REF: https://developers.weixin.qq.com/doc/oplatform/Third-party_Platforms/2.0/api/Business/express/open_query_plugin.html </para> + /// </summary> + /// <param name="client"></param> + /// <param name="request"></param> + /// <param name="cancellationToken"></param> + /// <returns></returns> + public static async Task<Models.CgibinExpressDeliveryOpenMessageOpenQueryPluginResponse> ExecuteCgibinExpressDeliveryOpenMessageOpenQueryPluginAsync(this WechatApiClient client, Models.CgibinExpressDeliveryOpenMessageOpenQueryPluginRequest request, CancellationToken cancellationToken = default) + { + if (client is null) throw new ArgumentNullException(nameof(client)); + if (request is null) throw new ArgumentNullException(nameof(request)); + + IFlurlRequest flurlReq = client + .CreateRequest(request, HttpMethod.Post, "cgi-bin", "express", "delivery", "open_msg", "open_query_plugin") + .SetQueryParam("access_token", request.AccessToken); + + return await client.SendRequestWithJsonAsync<Models.CgibinExpressDeliveryOpenMessageOpenQueryPluginResponse>(flurlReq, data: request, cancellationToken: cancellationToken); + } + + /// <summary> + /// <para>异步调用 [POST] /cgi-bin/express/delivery/open_msg/open_openmsg 接口。</para> + /// <para>REF: https://developers.weixin.qq.com/doc/oplatform/Third-party_Platforms/2.0/api/Business/express/open_openmsg.html </para> + /// </summary> + /// <param name="client"></param> + /// <param name="request"></param> + /// <param name="cancellationToken"></param> + /// <returns></returns> + public static async Task<Models.CgibinExpressDeliveryOpenMessageOpenOpenMessageResponse> ExecuteCgibinExpressDeliveryOpenMessageOpenOpenMessageAsync(this WechatApiClient client, Models.CgibinExpressDeliveryOpenMessageOpenOpenMessageRequest request, CancellationToken cancellationToken = default) + { + if (client is null) throw new ArgumentNullException(nameof(client)); + if (request is null) throw new ArgumentNullException(nameof(request)); + + IFlurlRequest flurlReq = client + .CreateRequest(request, HttpMethod.Post, "cgi-bin", "express", "delivery", "open_msg", "open_openmsg") + .SetQueryParam("access_token", request.AccessToken); + + return await client.SendRequestWithJsonAsync<Models.CgibinExpressDeliveryOpenMessageOpenOpenMessageResponse>(flurlReq, data: request, cancellationToken: cancellationToken); + } #endregion } } diff --git a/src/SKIT.FlurlHttpClient.Wechat.Api/Models/CgibinExpress/Delivery/OpenMessage/CgibinExpressDeliveryOpenMessageOpenOpenMessageRequest.cs b/src/SKIT.FlurlHttpClient.Wechat.Api/Models/CgibinExpress/Delivery/OpenMessage/CgibinExpressDeliveryOpenMessageOpenOpenMessageRequest.cs new file mode 100644 index 00000000..898cdc5f --- /dev/null +++ b/src/SKIT.FlurlHttpClient.Wechat.Api/Models/CgibinExpress/Delivery/OpenMessage/CgibinExpressDeliveryOpenMessageOpenOpenMessageRequest.cs @@ -0,0 +1,11 @@ +using System.Collections.Generic; + +namespace SKIT.FlurlHttpClient.Wechat.Api.Models +{ + /// <summary> + /// <para>表示 [POST] /cgi-bin/express/delivery/open_msg/open_openmsg 接口的请求。</para> + /// </summary> + public class CgibinExpressDeliveryOpenMessageOpenOpenMessageRequest : WechatApiRequest, IInferable<CgibinExpressDeliveryOpenMessageOpenOpenMessageRequest, CgibinExpressDeliveryOpenMessageOpenOpenMessageResponse> + { + } +} diff --git a/src/SKIT.FlurlHttpClient.Wechat.Api/Models/CgibinExpress/Delivery/OpenMessage/CgibinExpressDeliveryOpenMessageOpenOpenMessageResponse.cs b/src/SKIT.FlurlHttpClient.Wechat.Api/Models/CgibinExpress/Delivery/OpenMessage/CgibinExpressDeliveryOpenMessageOpenOpenMessageResponse.cs new file mode 100644 index 00000000..3bbcf765 --- /dev/null +++ b/src/SKIT.FlurlHttpClient.Wechat.Api/Models/CgibinExpress/Delivery/OpenMessage/CgibinExpressDeliveryOpenMessageOpenOpenMessageResponse.cs @@ -0,0 +1,9 @@ +namespace SKIT.FlurlHttpClient.Wechat.Api.Models +{ + /// <summary> + /// <para>表示 [POST] /cgi-bin/express/delivery/open_msg/open_openmsg 接口的响应。</para> + /// </summary> + public class CgibinExpressDeliveryOpenMessageOpenOpenMessageResponse : WechatApiResponse + { + } +} diff --git a/src/SKIT.FlurlHttpClient.Wechat.Api/Models/CgibinExpress/Delivery/OpenMessage/CgibinExpressDeliveryOpenMessageOpenQueryPluginRequest.cs b/src/SKIT.FlurlHttpClient.Wechat.Api/Models/CgibinExpress/Delivery/OpenMessage/CgibinExpressDeliveryOpenMessageOpenQueryPluginRequest.cs new file mode 100644 index 00000000..bb978ee5 --- /dev/null +++ b/src/SKIT.FlurlHttpClient.Wechat.Api/Models/CgibinExpress/Delivery/OpenMessage/CgibinExpressDeliveryOpenMessageOpenQueryPluginRequest.cs @@ -0,0 +1,11 @@ +using System.Collections.Generic; + +namespace SKIT.FlurlHttpClient.Wechat.Api.Models +{ + /// <summary> + /// <para>表示 [POST] /cgi-bin/express/delivery/open_msg/open_query_plugin 接口的请求。</para> + /// </summary> + public class CgibinExpressDeliveryOpenMessageOpenQueryPluginRequest : WechatApiRequest, IInferable<CgibinExpressDeliveryOpenMessageOpenQueryPluginRequest, CgibinExpressDeliveryOpenMessageOpenQueryPluginResponse> + { + } +} diff --git a/src/SKIT.FlurlHttpClient.Wechat.Api/Models/CgibinExpress/Delivery/OpenMessage/CgibinExpressDeliveryOpenMessageOpenQueryPluginResponse.cs b/src/SKIT.FlurlHttpClient.Wechat.Api/Models/CgibinExpress/Delivery/OpenMessage/CgibinExpressDeliveryOpenMessageOpenQueryPluginResponse.cs new file mode 100644 index 00000000..307a9d1d --- /dev/null +++ b/src/SKIT.FlurlHttpClient.Wechat.Api/Models/CgibinExpress/Delivery/OpenMessage/CgibinExpressDeliveryOpenMessageOpenQueryPluginResponse.cs @@ -0,0 +1,9 @@ +namespace SKIT.FlurlHttpClient.Wechat.Api.Models +{ + /// <summary> + /// <para>表示 [POST] /cgi-bin/express/delivery/open_msg/open_query_plugin 接口的响应。</para> + /// </summary> + public class CgibinExpressDeliveryOpenMessageOpenQueryPluginResponse : WechatApiResponse + { + } +}