feat(wxapi): 新增第三方平台小程序流量主代运营相关接口

This commit is contained in:
Fu Diwei 2023-01-16 17:30:45 +08:00
parent 4a5829162a
commit 8a20b838ae
79 changed files with 2717 additions and 0 deletions

View File

@ -181,6 +181,7 @@
| √ | 开放平台帐号管理 | 第三方平台 | |
| √ | 代商家注册小程序 | 第三方平台 | |
| √ | 代商家管理小程序 | 第三方平台 | |
| √ | 小程序流量主代运营 | 第三方平台 | |
| √ | 代商家管理公众号 | 第三方平台 | |
| √ | 批量代云开发 | 第三方平台 | |
| √ | 普通代云开发 | 第三方平台 | |

View File

@ -1201,5 +1201,489 @@ namespace SKIT.FlurlHttpClient.Wechat.Api
return await client.SendRequestWithJsonAsync<Models.WxaUpdateShowWxaItemResponse>(flurlReq, data: request, cancellationToken: cancellationToken);
}
#endregion
#region AMS
#region AMS/Percentage
/// <summary>
/// <para>异步调用 [POST] /wxa/setdefaultamsinfo 接口。</para>
/// <para>REF: https://developers.weixin.qq.com/doc/oplatform/openApi/OpenApiDoc/ams/percentage/SetShareRatio.html </para>
/// <para>REF: https://developers.weixin.qq.com/doc/oplatform/openApi/OpenApiDoc/ams/percentage/SetCustomShareRatio.html </para>
/// </summary>
/// <param name="client"></param>
/// <param name="request"></param>
/// <param name="cancellationToken"></param>
/// <returns></returns>
public static async Task<Models.WxaSetDefaultAMSInfoResponse> ExecuteWxaSetDefaultAMSInfoAsync(this WechatApiClient client, Models.WxaSetDefaultAMSInfoRequest request, CancellationToken cancellationToken = default)
{
if (client is null) throw new ArgumentNullException(nameof(client));
if (request is null) throw new ArgumentNullException(nameof(request));
if (request.AppId == null)
request.AppId = client.Credentials.AppId;
IFlurlRequest flurlReq = client
.CreateRequest(request, HttpMethod.Post, "wxa", "setdefaultamsinfo")
.SetQueryParam("access_token", request.AccessToken)
.SetQueryParam("action", request.Action);
return await client.SendRequestWithJsonAsync<Models.WxaSetDefaultAMSInfoResponse>(flurlReq, data: request, cancellationToken: cancellationToken);
}
/// <summary>
/// <para>异步调用 [POST] /wxa/getdefaultamsinfo 接口。</para>
/// <para>REF: https://developers.weixin.qq.com/doc/oplatform/openApi/OpenApiDoc/ams/percentage/GetShareRatio.html </para>
/// <para>REF: https://developers.weixin.qq.com/doc/oplatform/openApi/OpenApiDoc/ams/percentage/GetCustomShareRatio.html </para>
/// </summary>
/// <param name="client"></param>
/// <param name="request"></param>
/// <param name="cancellationToken"></param>
/// <returns></returns>
public static async Task<Models.WxaGetDefaultAMSInfoResponse> ExecuteWxaGetDefaultAMSInfoAsync(this WechatApiClient client, Models.WxaGetDefaultAMSInfoRequest request, CancellationToken cancellationToken = default)
{
if (client is null) throw new ArgumentNullException(nameof(client));
if (request is null) throw new ArgumentNullException(nameof(request));
if (request.AppId == null)
request.AppId = client.Credentials.AppId;
IFlurlRequest flurlReq = client
.CreateRequest(request, HttpMethod.Post, "wxa", "getdefaultamsinfo")
.SetQueryParam("access_token", request.AccessToken)
.SetQueryParam("action", request.Action);
return await client.SendRequestWithJsonAsync<Models.WxaGetDefaultAMSInfoResponse>(flurlReq, data: request, cancellationToken: cancellationToken);
}
#endregion
#region AMS/Open
/// <summary>
/// <para>异步调用 [POST] /wxa/operationams?action=agency_check_can_open_publisher 接口。</para>
/// <para>REF: https://developers.weixin.qq.com/doc/oplatform/openApi/OpenApiDoc/ams/open/AgencyCheckCanOpenPublisher.html </para>
/// </summary>
/// <param name="client"></param>
/// <param name="request"></param>
/// <param name="cancellationToken"></param>
/// <returns></returns>
public static async Task<Models.WxaOperationAMSAgencyCheckCanOpenPublisherResponse> ExecuteWxaOperationAMSAgencyCheckCanOpenPublisherAsync(this WechatApiClient client, Models.WxaOperationAMSAgencyCheckCanOpenPublisherRequest 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, "wxa", "operationams")
.SetQueryParam("access_token", request.AccessToken)
.SetQueryParam("action", "agency_check_can_open_publisher");
return await client.SendRequestWithJsonAsync<Models.WxaOperationAMSAgencyCheckCanOpenPublisherResponse>(flurlReq, data: request, cancellationToken: cancellationToken);
}
/// <summary>
/// <para>异步调用 [POST] /wxa/operationams?action=agency_create_publisher 接口。</para>
/// <para>REF: https://developers.weixin.qq.com/doc/oplatform/openApi/OpenApiDoc/ams/open/AgencyCreatePublisher.html </para>
/// </summary>
/// <param name="client"></param>
/// <param name="request"></param>
/// <param name="cancellationToken"></param>
/// <returns></returns>
public static async Task<Models.WxaOperationAMSAgencyCreatePublisherResponse> ExecuteWxaOperationAMSAgencyCreatePublisherAsync(this WechatApiClient client, Models.WxaOperationAMSAgencyCreatePublisherRequest 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, "wxa", "operationams")
.SetQueryParam("access_token", request.AccessToken)
.SetQueryParam("action", "agency_create_publisher");
return await client.SendRequestWithJsonAsync<Models.WxaOperationAMSAgencyCreatePublisherResponse>(flurlReq, data: request, cancellationToken: cancellationToken);
}
#endregion
#region AMS/AdManagement
/// <summary>
/// <para>异步调用 [POST] /wxa/operationams?action=agency_create_adunit 接口。</para>
/// <para>REF: https://developers.weixin.qq.com/doc/oplatform/openApi/OpenApiDoc/ams/ad-mgnt/AgencyCreateAdunit.html </para>
/// </summary>
/// <param name="client"></param>
/// <param name="request"></param>
/// <param name="cancellationToken"></param>
/// <returns></returns>
public static async Task<Models.WxaOperationAMSAgencyCreateAdUnitResponse> ExecuteWxaOperationAMSAgencyCreateAdUnitAsync(this WechatApiClient client, Models.WxaOperationAMSAgencyCreateAdUnitRequest 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, "wxa", "operationams")
.SetQueryParam("access_token", request.AccessToken)
.SetQueryParam("action", "agency_create_adunit");
return await client.SendRequestWithJsonAsync<Models.WxaOperationAMSAgencyCreateAdUnitResponse>(flurlReq, data: request, cancellationToken: cancellationToken);
}
/// <summary>
/// <para>异步调用 [POST] /wxa/operationams?action=agency_update_adunit 接口。</para>
/// <para>REF: https://developers.weixin.qq.com/doc/oplatform/openApi/OpenApiDoc/ams/ad-mgnt/AgencyUpdateAdunit.html </para>
/// </summary>
/// <param name="client"></param>
/// <param name="request"></param>
/// <param name="cancellationToken"></param>
/// <returns></returns>
public static async Task<Models.WxaOperationAMSAgencyUpdateAdUnitResponse> ExecuteWxaOperationAMSAgencyUpdateAdUnitAsync(this WechatApiClient client, Models.WxaOperationAMSAgencyUpdateAdUnitRequest 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, "wxa", "operationams")
.SetQueryParam("access_token", request.AccessToken)
.SetQueryParam("action", "agency_update_adunit");
return await client.SendRequestWithJsonAsync<Models.WxaOperationAMSAgencyUpdateAdUnitResponse>(flurlReq, data: request, cancellationToken: cancellationToken);
}
/// <summary>
/// <para>异步调用 [POST] /wxa/operationams?action=agency_get_tmpl_type 接口。</para>
/// <para>REF: https://developers.weixin.qq.com/doc/oplatform/openApi/OpenApiDoc/ams/ad-mgnt/AgencyGetTmplType.html </para>
/// </summary>
/// <param name="client"></param>
/// <param name="request"></param>
/// <param name="cancellationToken"></param>
/// <returns></returns>
public static async Task<Models.WxaOperationAMSAgencyGetTemplateTypeResponse> ExecuteWxaOperationAMSAgencyGetTemplateTypeAsync(this WechatApiClient client, Models.WxaOperationAMSAgencyGetTemplateTypeRequest 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, "wxa", "operationams")
.SetQueryParam("access_token", request.AccessToken)
.SetQueryParam("action", "agency_get_tmpl_type");
return await client.SendRequestWithJsonAsync<Models.WxaOperationAMSAgencyGetTemplateTypeResponse>(flurlReq, data: request, cancellationToken: cancellationToken);
}
/// <summary>
/// <para>异步调用 [POST] /wxa/operationams?action=get_agency_ad_unit_list 接口。</para>
/// <para>REF: https://developers.weixin.qq.com/doc/oplatform/openApi/OpenApiDoc/ams/ad-mgnt/GetAgencyTmplIdList.html </para>
/// </summary>
/// <param name="client"></param>
/// <param name="request"></param>
/// <param name="cancellationToken"></param>
/// <returns></returns>
public static async Task<Models.WxaOperationAMSGetAgencyAdUnitListResponse> ExecuteWxaOperationAMSGetAgencyAdUnitListAsync(this WechatApiClient client, Models.WxaOperationAMSGetAgencyAdUnitListRequest 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, "wxa", "operationams")
.SetQueryParam("access_token", request.AccessToken)
.SetQueryParam("action", "get_agency_ad_unit_list");
return await client.SendRequestWithJsonAsync<Models.WxaOperationAMSGetAgencyAdUnitListResponse>(flurlReq, data: request, cancellationToken: cancellationToken);
}
/// <summary>
/// <para>异步调用 [POST] /wxa/operationams?action=agency_set_cover_adpos_status 接口。</para>
/// <para>REF: https://developers.weixin.qq.com/doc/oplatform/openApi/OpenApiDoc/ams/ad-mgnt/SetCoverAdposStatus.html </para>
/// </summary>
/// <param name="client"></param>
/// <param name="request"></param>
/// <param name="cancellationToken"></param>
/// <returns></returns>
public static async Task<Models.WxaOperationAMSAgencySetCoverAdPositionStatusResponse> ExecuteWxaOperationAMSAgencySetCoverAdPositionStatusAsync(this WechatApiClient client, Models.WxaOperationAMSAgencySetCoverAdPositionStatusRequest 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, "wxa", "operationams")
.SetQueryParam("access_token", request.AccessToken)
.SetQueryParam("action", "agency_set_cover_adpos_status");
return await client.SendRequestWithJsonAsync<Models.WxaOperationAMSAgencySetCoverAdPositionStatusResponse>(flurlReq, data: request, cancellationToken: cancellationToken);
}
/// <summary>
/// <para>异步调用 [POST] /wxa/operationams?action=agency_set_cover_adpos_scene 接口。</para>
/// <para>REF: https://developers.weixin.qq.com/doc/oplatform/openApi/OpenApiDoc/ams/ad-mgnt/SetCoverAdposScene.html </para>
/// </summary>
/// <param name="client"></param>
/// <param name="request"></param>
/// <param name="cancellationToken"></param>
/// <returns></returns>
public static async Task<Models.WxaOperationAMSAgencySetCoverAdPositionSceneResponse> ExecuteWxaOperationAMSAgencySetCoverAdPositionSceneAsync(this WechatApiClient client, Models.WxaOperationAMSAgencySetCoverAdPositionSceneRequest 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, "wxa", "operationams")
.SetQueryParam("access_token", request.AccessToken)
.SetQueryParam("action", "agency_set_cover_adpos_scene");
return await client.SendRequestWithJsonAsync<Models.WxaOperationAMSAgencySetCoverAdPositionSceneResponse>(flurlReq, data: request, cancellationToken: cancellationToken);
}
/// <summary>
/// <para>异步调用 [POST] /wxa/operationams?action=agency_get_cover_adpos_status 接口。</para>
/// <para>REF: https://developers.weixin.qq.com/doc/oplatform/openApi/OpenApiDoc/ams/ad-mgnt/GetCoverAdposStatus.html </para>
/// </summary>
/// <param name="client"></param>
/// <param name="request"></param>
/// <param name="cancellationToken"></param>
/// <returns></returns>
public static async Task<Models.WxaOperationAMSAgencyGetCoverAdPositionStatusResponse> ExecuteWxaOperationAMSAgencyGetCoverAdPositionStatusAsync(this WechatApiClient client, Models.WxaOperationAMSAgencyGetCoverAdPositionStatusRequest 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, "wxa", "operationams")
.SetQueryParam("access_token", request.AccessToken)
.SetQueryParam("action", "agency_get_cover_adpos_status");
return await client.SendRequestWithJsonAsync<Models.WxaOperationAMSAgencyGetCoverAdPositionStatusResponse>(flurlReq, data: request, cancellationToken: cancellationToken);
}
/// <summary>
/// <para>异步调用 [POST] /wxa/operationams?action=agency_get_cover_adpos_scene 接口。</para>
/// <para>REF: https://developers.weixin.qq.com/doc/oplatform/openApi/OpenApiDoc/ams/ad-mgnt/GetCoverAdposScene.html </para>
/// </summary>
/// <param name="client"></param>
/// <param name="request"></param>
/// <param name="cancellationToken"></param>
/// <returns></returns>
public static async Task<Models.WxaOperationAMSAgencyGetCoverAdPositionSceneResponse> ExecuteWxaOperationAMSAgencyGetCoverAdPositionSceneAsync(this WechatApiClient client, Models.WxaOperationAMSAgencyGetCoverAdPositionSceneRequest 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, "wxa", "operationams")
.SetQueryParam("access_token", request.AccessToken)
.SetQueryParam("action", "agency_get_cover_adpos_scene");
return await client.SendRequestWithJsonAsync<Models.WxaOperationAMSAgencyGetCoverAdPositionSceneResponse>(flurlReq, data: request, cancellationToken: cancellationToken);
}
/// <summary>
/// <para>异步调用 [POST] /wxa/operationams?action=agency_get_adunit_list 接口。</para>
/// <para>REF: https://developers.weixin.qq.com/doc/oplatform/openApi/OpenApiDoc/ams/ad-mgnt/GetAdunitList.html </para>
/// </summary>
/// <param name="client"></param>
/// <param name="request"></param>
/// <param name="cancellationToken"></param>
/// <returns></returns>
public static async Task<Models.WxaOperationAMSAgencyGetAdUnitListResponse> ExecuteWxaOperationAMSAgencyGetAdUnitListAsync(this WechatApiClient client, Models.WxaOperationAMSAgencyGetAdUnitListRequest 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, "wxa", "operationams")
.SetQueryParam("access_token", request.AccessToken)
.SetQueryParam("action", "agency_get_adunit_list");
return await client.SendRequestWithJsonAsync<Models.WxaOperationAMSAgencyGetAdUnitListResponse>(flurlReq, data: request, cancellationToken: cancellationToken);
}
/// <summary>
/// <para>异步调用 [POST] /wxa/operationams?action=agency_get_adunit_code 接口。</para>
/// <para>REF: https://developers.weixin.qq.com/doc/oplatform/openApi/OpenApiDoc/ams/ad-mgnt/GetAdunitCode.html </para>
/// </summary>
/// <param name="client"></param>
/// <param name="request"></param>
/// <param name="cancellationToken"></param>
/// <returns></returns>
public static async Task<Models.WxaOperationAMSAgencyGetAdUnitCodeResponse> ExecuteWxaOperationAMSAgencyGetAdUnitCodeAsync(this WechatApiClient client, Models.WxaOperationAMSAgencyGetAdUnitCodeRequest 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, "wxa", "operationams")
.SetQueryParam("access_token", request.AccessToken)
.SetQueryParam("action", "agency_get_adunit_code");
return await client.SendRequestWithJsonAsync<Models.WxaOperationAMSAgencyGetAdUnitCodeResponse>(flurlReq, data: request, cancellationToken: cancellationToken);
}
#endregion
#region AMS/AdBlack
/// <summary>
/// <para>异步调用 [POST] /wxa/operationams?action=agency_get_black_list 接口。</para>
/// <para>REF: https://developers.weixin.qq.com/doc/oplatform/openApi/OpenApiDoc/ams/ad-black/GetBlackList.html </para>
/// </summary>
/// <param name="client"></param>
/// <param name="request"></param>
/// <param name="cancellationToken"></param>
/// <returns></returns>
public static async Task<Models.WxaOperationAMSAgencyGetBlackListResponse> ExecuteWxaOperationAMSAgencyGetBlackListAsync(this WechatApiClient client, Models.WxaOperationAMSAgencyGetBlackListRequest 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, "wxa", "operationams")
.SetQueryParam("access_token", request.AccessToken)
.SetQueryParam("action", "agency_get_black_list");
return await client.SendRequestWithJsonAsync<Models.WxaOperationAMSAgencyGetBlackListResponse>(flurlReq, data: request, cancellationToken: cancellationToken);
}
/// <summary>
/// <para>异步调用 [POST] /wxa/operationams?action=agency_set_black_list 接口。</para>
/// <para>REF: https://developers.weixin.qq.com/doc/oplatform/openApi/OpenApiDoc/ams/ad-black/SetBlackList.html </para>
/// </summary>
/// <param name="client"></param>
/// <param name="request"></param>
/// <param name="cancellationToken"></param>
/// <returns></returns>
public static async Task<Models.WxaOperationAMSAgencySetBlackListResponse> ExecuteWxaOperationAMSAgencySetBlackListAsync(this WechatApiClient client, Models.WxaOperationAMSAgencySetBlackListRequest 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, "wxa", "operationams")
.SetQueryParam("access_token", request.AccessToken)
.SetQueryParam("action", "agency_set_black_list");
return await client.SendRequestWithJsonAsync<Models.WxaOperationAMSAgencySetBlackListResponse>(flurlReq, data: request, cancellationToken: cancellationToken);
}
/// <summary>
/// <para>异步调用 [POST] /wxa/operationams?action=agency_get_mp_amscategory_blacklist 接口。</para>
/// <para>REF: https://developers.weixin.qq.com/doc/oplatform/openApi/OpenApiDoc/ams/ad-black/GetAmsCategoryBlackList.html </para>
/// </summary>
/// <param name="client"></param>
/// <param name="request"></param>
/// <param name="cancellationToken"></param>
/// <returns></returns>
public static async Task<Models.WxaOperationAMSAgencyGetMpAMSCategoryBlackListResponse> ExecuteWxaOperationAMSAgencyGetMpAMSCategoryBlackListAsync(this WechatApiClient client, Models.WxaOperationAMSAgencyGetMpAMSCategoryBlackListRequest 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, "wxa", "operationams")
.SetQueryParam("access_token", request.AccessToken)
.SetQueryParam("action", "agency_get_mp_amscategory_blacklist");
return await client.SendRequestWithJsonAsync<Models.WxaOperationAMSAgencyGetMpAMSCategoryBlackListResponse>(flurlReq, data: request, cancellationToken: cancellationToken);
}
/// <summary>
/// <para>异步调用 [POST] /wxa/operationams?action=agency_set_mp_amscategory_blacklist 接口。</para>
/// <para>REF: https://developers.weixin.qq.com/doc/oplatform/openApi/OpenApiDoc/ams/ad-black/SetAmsCategoryBlackList.html </para>
/// </summary>
/// <param name="client"></param>
/// <param name="request"></param>
/// <param name="cancellationToken"></param>
/// <returns></returns>
public static async Task<Models.WxaOperationAMSAgencySetMpAMSCategoryBlackListResponse> ExecuteWxaOperationAMSAgencySetMpAMSCategoryBlackListAsync(this WechatApiClient client, Models.WxaOperationAMSAgencySetMpAMSCategoryBlackListRequest 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, "wxa", "operationams")
.SetQueryParam("access_token", request.AccessToken)
.SetQueryParam("action", "agency_set_mp_amscategory_blacklist");
return await client.SendRequestWithJsonAsync<Models.WxaOperationAMSAgencySetMpAMSCategoryBlackListResponse>(flurlReq, data: request, cancellationToken: cancellationToken);
}
#endregion
#region AMS/AdData
/// <summary>
/// <para>异步调用 [POST] /wxa/operationams?action=agency_get_adpos_genenral 接口。</para>
/// <para>REF: https://developers.weixin.qq.com/doc/oplatform/openApi/OpenApiDoc/ams/ad-data/GetAdposGenenral.html </para>
/// </summary>
/// <param name="client"></param>
/// <param name="request"></param>
/// <param name="cancellationToken"></param>
/// <returns></returns>
public static async Task<Models.WxaOperationAMSAgencyGetAdPositionGenenralResponse> ExecuteWxaOperationAMSAgencyGetAdPositionGenenralAsync(this WechatApiClient client, Models.WxaOperationAMSAgencyGetAdPositionGenenralRequest 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, "wxa", "operationams")
.SetQueryParam("access_token", request.AccessToken)
.SetQueryParam("action", "agency_get_adpos_genenral");
return await client.SendRequestWithJsonAsync<Models.WxaOperationAMSAgencyGetAdPositionGenenralResponse>(flurlReq, data: request, cancellationToken: cancellationToken);
}
/// <summary>
/// <para>异步调用 [POST] /wxa/operationams?action=agency_get_adunit_general 接口。</para>
/// <para>REF: https://developers.weixin.qq.com/doc/oplatform/openApi/OpenApiDoc/ams/ad-data/GetAdposDetail.html </para>
/// </summary>
/// <param name="client"></param>
/// <param name="request"></param>
/// <param name="cancellationToken"></param>
/// <returns></returns>
public static async Task<Models.WxaOperationAMSAgencyGetAdUnitGenenralResponse> ExecuteWxaOperationAMSAgencyGetAdUnitGenenralAsync(this WechatApiClient client, Models.WxaOperationAMSAgencyGetAdUnitGenenralRequest 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, "wxa", "operationams")
.SetQueryParam("access_token", request.AccessToken)
.SetQueryParam("action", "agency_get_adunit_general");
return await client.SendRequestWithJsonAsync<Models.WxaOperationAMSAgencyGetAdUnitGenenralResponse>(flurlReq, data: request, cancellationToken: cancellationToken);
}
#endregion
#region AMS/Settlement
/// <summary>
/// <para>异步调用 [POST] /wxa/operationams?action=agency_get_settlement 接口。</para>
/// <para>REF: https://developers.weixin.qq.com/doc/oplatform/openApi/OpenApiDoc/ams/settlement/GetSettlement.html </para>
/// </summary>
/// <param name="client"></param>
/// <param name="request"></param>
/// <param name="cancellationToken"></param>
/// <returns></returns>
public static async Task<Models.WxaOperationAMSAgencyGetSettlementResponse> ExecuteWxaOperationAMSAgencyGetSettlementAsync(this WechatApiClient client, Models.WxaOperationAMSAgencyGetSettlementRequest 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, "wxa", "operationams")
.SetQueryParam("access_token", request.AccessToken)
.SetQueryParam("action", "agency_get_settlement");
return await client.SendRequestWithJsonAsync<Models.WxaOperationAMSAgencyGetSettlementResponse>(flurlReq, data: request, cancellationToken: cancellationToken);
}
/// <summary>
/// <para>异步调用 [POST] /wxa/operationams?action=get_agency_settled_revenue 接口。</para>
/// <para>REF: https://developers.weixin.qq.com/doc/oplatform/openApi/OpenApiDoc/ams/settlement/GetAgencySettlement.html </para>
/// </summary>
/// <param name="client"></param>
/// <param name="request"></param>
/// <param name="cancellationToken"></param>
/// <returns></returns>
public static async Task<Models.WxaOperationAMSGetAgencySettledRevenueResponse> ExecuteWxaOperationAMSGetAgencySettledRevenueAsync(this WechatApiClient client, Models.WxaOperationAMSGetAgencySettledRevenueRequest 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, "wxa", "operationams")
.SetQueryParam("access_token", request.AccessToken)
.SetQueryParam("action", "get_agency_settled_revenue");
return await client.SendRequestWithJsonAsync<Models.WxaOperationAMSGetAgencySettledRevenueResponse>(flurlReq, data: request, cancellationToken: cancellationToken);
}
#endregion
#endregion
}
}

View File

@ -0,0 +1,9 @@
namespace SKIT.FlurlHttpClient.Wechat.Api.Models
{
/// <summary>
/// <para>表示 [POST] /wxa/operationams?action=agency_get_black_list 接口的请求。</para>
/// </summary>
public class WxaOperationAMSAgencyGetBlackListRequest : WechatApiRequest, IInferable<WxaOperationAMSAgencyGetBlackListRequest, WxaOperationAMSAgencyGetBlackListResponse>
{
}
}

View File

@ -0,0 +1,82 @@
namespace SKIT.FlurlHttpClient.Wechat.Api.Models
{
/// <summary>
/// <para>表示 [POST] /wxa/operationams?action=agency_get_black_list 接口的响应。</para>
/// </summary>
public class WxaOperationAMSAgencyGetBlackListResponse : WechatApiResponse
{
public static class Types
{
public class Advertiser
{
/// <summary>
/// 获取或设置广告主 ID。
/// </summary>
[Newtonsoft.Json.JsonProperty("id")]
[System.Text.Json.Serialization.JsonPropertyName("id")]
public string Id { get; set; } = default!;
/// <summary>
/// 获取或设置广告主名称。
/// </summary>
[Newtonsoft.Json.JsonProperty("name")]
[System.Text.Json.Serialization.JsonPropertyName("name")]
public string Name { get; set; } = default!;
/// <summary>
/// 获取或设置广告主头像 URL。
/// </summary>
[Newtonsoft.Json.JsonProperty("icon")]
[System.Text.Json.Serialization.JsonPropertyName("icon")]
public string IconUrl { get; set; } = default!;
}
}
/// <summary>
/// 获取或设置返回错误码。
/// </summary>
[Newtonsoft.Json.JsonProperty("ret")]
[System.Text.Json.Serialization.JsonPropertyName("ret")]
public int ReturnCode { get; set; }
/// <summary>
/// 获取或设置返回错误信息。
/// </summary>
[Newtonsoft.Json.JsonProperty("err_msg")]
[System.Text.Json.Serialization.JsonPropertyName("err_msg")]
public string? ReturnMessage { get; set; }
/// <summary>
/// 获取或设置屏蔽的广告主列表。
/// </summary>
[Newtonsoft.Json.JsonProperty("blacklist_biz")]
[System.Text.Json.Serialization.JsonPropertyName("blacklist_biz")]
public Types.Advertiser[] BlackList { get; set; } = default!;
/// <summary>
/// 获取或设置屏蔽的小程序广告主列表。
/// </summary>
[Newtonsoft.Json.JsonProperty("blacklist_weapp")]
[System.Text.Json.Serialization.JsonPropertyName("blacklist_weapp")]
public Types.Advertiser[]? WeappBlackList { get; set; }
/// <summary>
/// 获取或设置屏蔽的 iOS 广告主列表。
/// </summary>
[Newtonsoft.Json.JsonProperty("blacklist_ios")]
[System.Text.Json.Serialization.JsonPropertyName("blacklist_ios")]
public Types.Advertiser[]? IOSBlackList { get; set; }
/// <summary>
/// 获取或设置屏蔽的 Android 广告主列表。
/// </summary>
[Newtonsoft.Json.JsonProperty("blacklist_android")]
[System.Text.Json.Serialization.JsonPropertyName("blacklist_android")]
public Types.Advertiser[]? AndroidBlackList { get; set; }
public override bool IsSuccessful()
{
return base.IsSuccessful() && ReturnCode == 0;
}
}
}

View File

@ -0,0 +1,9 @@
namespace SKIT.FlurlHttpClient.Wechat.Api.Models
{
/// <summary>
/// <para>表示 [POST] /wxa/operationams?action=agency_get_mp_amscategory_blacklist 接口的请求。</para>
/// </summary>
public class WxaOperationAMSAgencyGetMpAMSCategoryBlackListRequest : WechatApiRequest, IInferable<WxaOperationAMSAgencyGetMpAMSCategoryBlackListRequest, WxaOperationAMSAgencyGetBlackListResponse>
{
}
}

View File

@ -0,0 +1,36 @@
namespace SKIT.FlurlHttpClient.Wechat.Api.Models
{
/// <summary>
/// <para>表示 [POST] /wxa/operationams?action=agency_get_mp_amscategory_blacklist 接口的响应。</para>
/// </summary>
public class WxaOperationAMSAgencyGetMpAMSCategoryBlackListResponse : WechatApiResponse
{
/// <summary>
/// 获取或设置返回错误码。
/// </summary>
[Newtonsoft.Json.JsonProperty("ret")]
[System.Text.Json.Serialization.JsonPropertyName("ret")]
public int ReturnCode { get; set; }
/// <summary>
/// 获取或设置返回错误信息。
/// </summary>
[Newtonsoft.Json.JsonProperty("err_msg")]
[System.Text.Json.Serialization.JsonPropertyName("err_msg")]
public string? ReturnMessage { get; set; }
/// <summary>
/// 获取或设置屏蔽的行业类别列表。
/// </summary>
[Newtonsoft.Json.JsonProperty("ams_category")]
[Newtonsoft.Json.JsonConverter(typeof(Newtonsoft.Json.Converters.TextualStringArrayWithPipeSplitConverter))]
[System.Text.Json.Serialization.JsonPropertyName("ams_category")]
[System.Text.Json.Serialization.JsonConverter(typeof(System.Text.Json.Converters.TextualStringArrayWithPipeSplitConverter))]
public string[] AMSCategoryList { get; set; } = default!;
public override bool IsSuccessful()
{
return base.IsSuccessful() && ReturnCode == 0;
}
}
}

View File

@ -0,0 +1,57 @@
using System.Collections.Generic;
namespace SKIT.FlurlHttpClient.Wechat.Api.Models
{
/// <summary>
/// <para>表示 [POST] /wxa/operationams?action=agency_set_black_list 接口的请求。</para>
/// </summary>
public class WxaOperationAMSAgencySetBlackListRequest : WechatApiRequest, IInferable<WxaOperationAMSAgencySetBlackListRequest, WxaOperationAMSAgencySetBlackListResponse>
{
public static class Types
{
public class Advertiser
{
/// <summary>
/// 获取或设置屏蔽类型。
/// </summary>
[Newtonsoft.Json.JsonProperty("type")]
[System.Text.Json.Serialization.JsonPropertyName("type")]
public int Type { get; set; }
/// <summary>
/// 获取或设置广告主 ID。
/// </summary>
[Newtonsoft.Json.JsonProperty("id")]
[System.Text.Json.Serialization.JsonPropertyName("id")]
public string Id { get; set; } = string.Empty;
}
}
internal static class Converters
{
internal class RequestPropertyBlackListNewtonsoftJsonConverter : Newtonsoft.Json.Converters.TextualObjectInJsonFormatConverterBase<IList<Types.Advertiser>?>
{
}
internal class RequestPropertyBlackListSystemTextJsonConverter : System.Text.Json.Converters.TextualObjectInJsonFormatConverterBase<IList<Types.Advertiser>?>
{
}
}
/// <summary>
/// 获取或设置操作类型。
/// </summary>
[Newtonsoft.Json.JsonProperty("op")]
[System.Text.Json.Serialization.JsonPropertyName("op")]
public int OperateType { get; set; }
/// <summary>
/// 获取或设置屏蔽的广告主列表。
/// </summary>
[Newtonsoft.Json.JsonProperty("list")]
[Newtonsoft.Json.JsonConverter(typeof(Converters.RequestPropertyBlackListNewtonsoftJsonConverter))]
[System.Text.Json.Serialization.JsonPropertyName("list")]
[System.Text.Json.Serialization.JsonConverter(typeof(Converters.RequestPropertyBlackListSystemTextJsonConverter))]
public IList<Types.Advertiser> BlackList { get; set; } = new List<Types.Advertiser>();
}
}

View File

@ -0,0 +1,82 @@
namespace SKIT.FlurlHttpClient.Wechat.Api.Models
{
/// <summary>
/// <para>表示 [POST] /wxa/operationams?action=agency_set_black_list 接口的响应。</para>
/// </summary>
public class WxaOperationAMSAgencySetBlackListResponse : WechatApiResponse
{
public static class Types
{
public class Advertiser
{
/// <summary>
/// 获取或设置公众号微信号。
/// </summary>
[Newtonsoft.Json.JsonProperty("id")]
[System.Text.Json.Serialization.JsonPropertyName("id")]
public string Id { get; set; } = default!;
/// <summary>
/// 获取或设置公众号名称。
/// </summary>
[Newtonsoft.Json.JsonProperty("name")]
[System.Text.Json.Serialization.JsonPropertyName("name")]
public string Nickname { get; set; } = default!;
/// <summary>
/// 获取或设置公众号头像 URL。
/// </summary>
[Newtonsoft.Json.JsonProperty("icon")]
[System.Text.Json.Serialization.JsonPropertyName("icon")]
public string AvatarUrl { get; set; } = default!;
}
}
/// <summary>
/// 获取或设置返回错误码。
/// </summary>
[Newtonsoft.Json.JsonProperty("ret")]
[System.Text.Json.Serialization.JsonPropertyName("ret")]
public int ReturnCode { get; set; }
/// <summary>
/// 获取或设置返回错误信息。
/// </summary>
[Newtonsoft.Json.JsonProperty("err_msg")]
[System.Text.Json.Serialization.JsonPropertyName("err_msg")]
public string? ReturnMessage { get; set; }
/// <summary>
/// 获取或设置屏蔽的广告主列表。
/// </summary>
[Newtonsoft.Json.JsonProperty("blacklist_biz")]
[System.Text.Json.Serialization.JsonPropertyName("blacklist_biz")]
public Types.Advertiser[] BlackList { get; set; } = default!;
/// <summary>
/// 获取或设置屏蔽的小程序广告主列表。
/// </summary>
[Newtonsoft.Json.JsonProperty("blacklist_weapp")]
[System.Text.Json.Serialization.JsonPropertyName("blacklist_weapp")]
public Types.Advertiser[]? WeappBlackList { get; set; }
/// <summary>
/// 获取或设置屏蔽的 iOS 广告主列表。
/// </summary>
[Newtonsoft.Json.JsonProperty("blacklist_ios")]
[System.Text.Json.Serialization.JsonPropertyName("blacklist_ios")]
public Types.Advertiser[]? IOSBlackList { get; set; }
/// <summary>
/// 获取或设置屏蔽的 Android 广告主列表。
/// </summary>
[Newtonsoft.Json.JsonProperty("blacklist_android")]
[System.Text.Json.Serialization.JsonPropertyName("blacklist_android")]
public Types.Advertiser[]? AndroidBlackList { get; set; }
public override bool IsSuccessful()
{
return base.IsSuccessful() && ReturnCode == 0;
}
}
}

View File

@ -0,0 +1,19 @@
using System.Collections.Generic;
namespace SKIT.FlurlHttpClient.Wechat.Api.Models
{
/// <summary>
/// <para>表示 [POST] /wxa/operationams?action=agency_set_mp_amscategory_blacklist 接口的请求。</para>
/// </summary>
public class WxaOperationAMSAgencySetMpAMSCategoryBlackListRequest : WechatApiRequest, IInferable<WxaOperationAMSAgencySetMpAMSCategoryBlackListRequest, WxaOperationAMSAgencySetMpAMSCategoryBlackListResponse>
{
/// <summary>
/// 获取或设置屏蔽的行业类别列表。
/// </summary>
[Newtonsoft.Json.JsonProperty("ams_category")]
[Newtonsoft.Json.JsonConverter(typeof(Newtonsoft.Json.Converters.TextualStringListWithPipeSplitConverter))]
[System.Text.Json.Serialization.JsonPropertyName("ams_category")]
[System.Text.Json.Serialization.JsonConverter(typeof(System.Text.Json.Converters.TextualStringListWithPipeSplitConverter))]
public IList<string> AMSCategoryList { get; set; } = new List<string>();
}
}

View File

@ -0,0 +1,27 @@
namespace SKIT.FlurlHttpClient.Wechat.Api.Models
{
/// <summary>
/// <para>表示 [POST] /wxa/operationams?action=agency_set_mp_amscategory_blacklist 接口的响应。</para>
/// </summary>
public class WxaOperationAMSAgencySetMpAMSCategoryBlackListResponse : WechatApiResponse
{
/// <summary>
/// 获取或设置返回错误码。
/// </summary>
[Newtonsoft.Json.JsonProperty("ret")]
[System.Text.Json.Serialization.JsonPropertyName("ret")]
public int ReturnCode { get; set; }
/// <summary>
/// 获取或设置返回错误信息。
/// </summary>
[Newtonsoft.Json.JsonProperty("err_msg")]
[System.Text.Json.Serialization.JsonPropertyName("err_msg")]
public string? ReturnMessage { get; set; }
public override bool IsSuccessful()
{
return base.IsSuccessful() && ReturnCode == 0;
}
}
}

View File

@ -0,0 +1,45 @@
namespace SKIT.FlurlHttpClient.Wechat.Api.Models
{
/// <summary>
/// <para>表示 [POST] /wxa/operationams?action=agency_get_adpos_genenral 接口的请求。</para>
/// </summary>
public class WxaOperationAMSAgencyGetAdPositionGenenralRequest : WechatApiRequest, IInferable<WxaOperationAMSAgencyGetAdPositionGenenralRequest, WxaOperationAMSAgencyGetAdPositionGenenralResponse>
{
/// <summary>
/// 获取或设置分页页数。
/// <para>默认值1</para>
/// </summary>
[Newtonsoft.Json.JsonProperty("page")]
[System.Text.Json.Serialization.JsonPropertyName("page")]
public int Page { get; set; } = 1;
/// <summary>
/// 获取或设置分页每页数量。
/// <para>默认值10</para>
/// </summary>
[Newtonsoft.Json.JsonProperty("page_size")]
[System.Text.Json.Serialization.JsonPropertyName("page_size")]
public int Limit { get; set; } = 10;
/// <summary>
/// 获取或设置开始日期字符串格式yyyyMMdd
/// </summary>
[Newtonsoft.Json.JsonProperty("start_date")]
[System.Text.Json.Serialization.JsonPropertyName("start_date")]
public string StartDateString { get; set; } = string.Empty;
/// <summary>
/// 获取或设置结束日期字符串格式yyyyMMdd
/// </summary>
[Newtonsoft.Json.JsonProperty("end_date")]
[System.Text.Json.Serialization.JsonPropertyName("end_date")]
public string EndDateString { get; set; } = string.Empty;
/// <summary>
/// 获取或设置广告位类型名称。
/// </summary>
[Newtonsoft.Json.JsonProperty("ad_slot")]
[System.Text.Json.Serialization.JsonPropertyName("ad_slot")]
public string? AdSlot { get; set; }
}
}

View File

@ -0,0 +1,127 @@
namespace SKIT.FlurlHttpClient.Wechat.Api.Models
{
/// <summary>
/// <para>表示 [POST] /wxa/operationams?action=agency_get_adpos_genenral 接口的响应。</para>
/// </summary>
public class WxaOperationAMSAgencyGetAdPositionGenenralResponse : WechatApiResponse
{
public static class Types
{
public class Record : Summary
{
/// <summary>
/// 获取或设置广告位类型 ID。
/// </summary>
[Newtonsoft.Json.JsonProperty("slot_id")]
[System.Text.Json.Serialization.JsonPropertyName("slot_id")]
public long AdSlotId { get; set; }
/// <summary>
/// 获取或设置广告位类型名称。
/// </summary>
[Newtonsoft.Json.JsonProperty("ad_slot")]
[System.Text.Json.Serialization.JsonPropertyName("ad_slot")]
public string AdSlot { get; set; } = default!;
/// <summary>
/// 获取或设置日期字符串格式yyyyMMdd
/// </summary>
[Newtonsoft.Json.JsonProperty("date")]
[System.Text.Json.Serialization.JsonPropertyName("date")]
public string DateString { get; set; } = default!;
}
public class Summary
{
/// <summary>
/// 获取或设置拉取数。
/// </summary>
[Newtonsoft.Json.JsonProperty("req_succ_count")]
[System.Text.Json.Serialization.JsonPropertyName("req_succ_count")]
public int RequestSuccessCount { get; set; }
/// <summary>
/// 获取或设置曝光量。
/// </summary>
[Newtonsoft.Json.JsonProperty("exposure_count")]
[System.Text.Json.Serialization.JsonPropertyName("exposure_count")]
public int ExposureCount { get; set; }
/// <summary>
/// 获取或设置曝光率范围01
/// </summary>
[Newtonsoft.Json.JsonProperty("exposure_rate")]
[System.Text.Json.Serialization.JsonPropertyName("exposure_rate")]
public double ExposureRate { get; set; }
/// <summary>
/// 获取或设置点击量。
/// </summary>
[Newtonsoft.Json.JsonProperty("click_count")]
[System.Text.Json.Serialization.JsonPropertyName("click_count")]
public int ClickCount { get; set; }
/// <summary>
/// 获取或设置点击率范围01
/// </summary>
[Newtonsoft.Json.JsonProperty("click_rate")]
[System.Text.Json.Serialization.JsonPropertyName("click_rate")]
public double ClickRate { get; set; }
/// <summary>
/// 获取或设置收入(单位:分)。
/// </summary>
[Newtonsoft.Json.JsonProperty("income")]
[System.Text.Json.Serialization.JsonPropertyName("income")]
public double Income { get; set; }
/// <summary>
/// 获取或设置广告千次曝光收益(单位:分)。
/// </summary>
[Newtonsoft.Json.JsonProperty("ecpm")]
[System.Text.Json.Serialization.JsonPropertyName("ecpm")]
public double ECPM { get; set; }
}
}
/// <summary>
/// 获取或设置返回错误码。
/// </summary>
[Newtonsoft.Json.JsonProperty("ret")]
[System.Text.Json.Serialization.JsonPropertyName("ret")]
public int ReturnCode { get; set; }
/// <summary>
/// 获取或设置返回错误信息。
/// </summary>
[Newtonsoft.Json.JsonProperty("err_msg")]
[System.Text.Json.Serialization.JsonPropertyName("err_msg")]
public string? ReturnMessage { get; set; }
/// <summary>
/// 获取或设置汇总数据信息。
/// </summary>
[Newtonsoft.Json.JsonProperty("summary")]
[System.Text.Json.Serialization.JsonPropertyName("summary")]
public Types.Summary Summary { get; set; } = default!;
/// <summary>
/// 获取或设置每日数据列表。
/// </summary>
[Newtonsoft.Json.JsonProperty("list")]
[System.Text.Json.Serialization.JsonPropertyName("list")]
public Types.Record[] RecordList { get; set; } = default!;
/// <summary>
/// 获取或设置数据总数。
/// </summary>
[Newtonsoft.Json.JsonProperty("total_num")]
[System.Text.Json.Serialization.JsonPropertyName("total_num")]
public int TotalCount { get; set; } = default!;
public override bool IsSuccessful()
{
return base.IsSuccessful() && ReturnCode == 0;
}
}
}

View File

@ -0,0 +1,52 @@
namespace SKIT.FlurlHttpClient.Wechat.Api.Models
{
/// <summary>
/// <para>表示 [POST] /wxa/operationams?action=agency_get_adunit_general 接口的请求。</para>
/// </summary>
public class WxaOperationAMSAgencyGetAdUnitGenenralRequest : WechatApiRequest, IInferable<WxaOperationAMSAgencyGetAdUnitGenenralRequest, WxaOperationAMSAgencyGetAdUnitGenenralResponse>
{
/// <summary>
/// 获取或设置分页页数。
/// <para>默认值1</para>
/// </summary>
[Newtonsoft.Json.JsonProperty("page")]
[System.Text.Json.Serialization.JsonPropertyName("page")]
public int Page { get; set; } = 1;
/// <summary>
/// 获取或设置分页每页数量。
/// <para>默认值10</para>
/// </summary>
[Newtonsoft.Json.JsonProperty("page_size")]
[System.Text.Json.Serialization.JsonPropertyName("page_size")]
public int Limit { get; set; } = 10;
/// <summary>
/// 获取或设置开始日期字符串格式yyyyMMdd
/// </summary>
[Newtonsoft.Json.JsonProperty("start_date")]
[System.Text.Json.Serialization.JsonPropertyName("start_date")]
public string StartDateString { get; set; } = string.Empty;
/// <summary>
/// 获取或设置结束日期字符串格式yyyyMMdd
/// </summary>
[Newtonsoft.Json.JsonProperty("end_date")]
[System.Text.Json.Serialization.JsonPropertyName("end_date")]
public string EndDateString { get; set; } = string.Empty;
/// <summary>
/// 获取或设置广告位类型名称。
/// </summary>
[Newtonsoft.Json.JsonProperty("ad_slot")]
[System.Text.Json.Serialization.JsonPropertyName("ad_slot")]
public string? AdSlot { get; set; }
/// <summary>
/// 获取或设置广告单元 ID。
/// </summary>
[Newtonsoft.Json.JsonProperty("ad_unit_id")]
[System.Text.Json.Serialization.JsonPropertyName("ad_unit_id")]
public string? AdUnitId { get; set; }
}
}

View File

@ -0,0 +1,88 @@
namespace SKIT.FlurlHttpClient.Wechat.Api.Models
{
/// <summary>
/// <para>表示 [POST] /wxa/operationams?action=agency_get_adunit_general 接口的响应。</para>
/// </summary>
public class WxaOperationAMSAgencyGetAdUnitGenenralResponse : WechatApiResponse
{
public static class Types
{
public class Record
{
public static class Types
{
public class Statistics : WxaOperationAMSAgencyGetAdPositionGenenralResponse.Types.Summary
{
/// <summary>
/// 获取或设置广告位类型名称。
/// </summary>
[Newtonsoft.Json.JsonProperty("ad_slot")]
[System.Text.Json.Serialization.JsonPropertyName("ad_slot")]
public string AdSlot { get; set; } = default!;
/// <summary>
/// 获取或设置日期字符串格式yyyyMMdd
/// </summary>
[Newtonsoft.Json.JsonProperty("date")]
[System.Text.Json.Serialization.JsonPropertyName("date")]
public string DateString { get; set; } = default!;
}
}
/// <summary>
/// 获取或设置广告单元 ID。
/// </summary>
[Newtonsoft.Json.JsonProperty("ad_unit_id")]
[System.Text.Json.Serialization.JsonPropertyName("ad_unit_id")]
public string AdUnitId { get; set; } = default!;
/// <summary>
/// 获取或设置广告单元名称。
/// </summary>
[Newtonsoft.Json.JsonProperty("ad_unit_name")]
[System.Text.Json.Serialization.JsonPropertyName("ad_unit_name")]
public string AdUnitName { get; set; } = default!;
/// <summary>
/// 获取或设置统计数据列表。
/// </summary>
[Newtonsoft.Json.JsonProperty("stat_item")]
[System.Text.Json.Serialization.JsonPropertyName("stat_item")]
public Types.Statistics[] StatisticsList { get; set; } = default!;
}
}
/// <summary>
/// 获取或设置返回错误码。
/// </summary>
[Newtonsoft.Json.JsonProperty("ret")]
[System.Text.Json.Serialization.JsonPropertyName("ret")]
public int ReturnCode { get; set; }
/// <summary>
/// 获取或设置返回错误信息。
/// </summary>
[Newtonsoft.Json.JsonProperty("err_msg")]
[System.Text.Json.Serialization.JsonPropertyName("err_msg")]
public string? ReturnMessage { get; set; }
/// <summary>
/// 获取或设置每日数据列表。
/// </summary>
[Newtonsoft.Json.JsonProperty("list")]
[System.Text.Json.Serialization.JsonPropertyName("list")]
public Types.Record[] RecordList { get; set; } = default!;
/// <summary>
/// 获取或设置数据总数。
/// </summary>
[Newtonsoft.Json.JsonProperty("total_num")]
[System.Text.Json.Serialization.JsonPropertyName("total_num")]
public int TotalCount { get; set; } = default!;
public override bool IsSuccessful()
{
return base.IsSuccessful() && ReturnCode == 0;
}
}
}

View File

@ -0,0 +1,50 @@
namespace SKIT.FlurlHttpClient.Wechat.Api.Models
{
/// <summary>
/// <para>表示 [POST] /wxa/operationams?action=agency_create_adunit 接口的请求。</para>
/// </summary>
public class WxaOperationAMSAgencyCreateAdUnitRequest : WechatApiRequest, IInferable<WxaOperationAMSAgencyCreateAdUnitRequest, WxaOperationAMSAgencyCreateAdUnitResponse>
{
/// <summary>
/// 获取或设置广告单元名称。
/// </summary>
[Newtonsoft.Json.JsonProperty("name")]
[System.Text.Json.Serialization.JsonPropertyName("name")]
public string Name { get; set; } = string.Empty;
/// <summary>
/// 获取或设置广告单元类型。
/// </summary>
[Newtonsoft.Json.JsonProperty("type")]
[System.Text.Json.Serialization.JsonPropertyName("type")]
public string Type { get; set; } = string.Empty;
/// <summary>
/// 获取或设置广告展示时长最小值(单位:秒)。
/// </summary>
[Newtonsoft.Json.JsonProperty("video_duration_min")]
[System.Text.Json.Serialization.JsonPropertyName("video_duration_min")]
public int? MinVideoDuration { get; set; }
/// <summary>
/// 获取或设置广告展示时长最大值(单位:秒)。
/// </summary>
[Newtonsoft.Json.JsonProperty("video_duration_max")]
[System.Text.Json.Serialization.JsonPropertyName("video_duration_max")]
public int? MaxVideoDuration { get; set; }
/// <summary>
/// 获取或设置模板类型。
/// </summary>
[Newtonsoft.Json.JsonProperty("tmpl_type")]
[System.Text.Json.Serialization.JsonPropertyName("tmpl_type")]
public int? TemplateType { get; set; }
/// <summary>
/// 获取或设置模板 ID。
/// </summary>
[Newtonsoft.Json.JsonProperty("tmpl_id")]
[System.Text.Json.Serialization.JsonPropertyName("tmpl_id")]
public string? TemplateId { get; set; }
}
}

View File

@ -0,0 +1,34 @@
namespace SKIT.FlurlHttpClient.Wechat.Api.Models
{
/// <summary>
/// <para>表示 [POST] /wxa/operationams?action=agency_create_adunit 接口的响应。</para>
/// </summary>
public class WxaOperationAMSAgencyCreateAdUnitResponse : WechatApiResponse
{
/// <summary>
/// 获取或设置返回错误码。
/// </summary>
[Newtonsoft.Json.JsonProperty("ret")]
[System.Text.Json.Serialization.JsonPropertyName("ret")]
public int ReturnCode { get; set; }
/// <summary>
/// 获取或设置返回错误信息。
/// </summary>
[Newtonsoft.Json.JsonProperty("err_msg")]
[System.Text.Json.Serialization.JsonPropertyName("err_msg")]
public string? ReturnMessage { get; set; }
/// <summary>
/// 获取或设置广告单元 ID。
/// </summary>
[Newtonsoft.Json.JsonProperty("ad_unit_id")]
[System.Text.Json.Serialization.JsonPropertyName("ad_unit_id")]
public string AdUnitId { get; set; } = default!;
public override bool IsSuccessful()
{
return base.IsSuccessful() && ReturnCode == 0;
}
}
}

View File

@ -0,0 +1,15 @@
namespace SKIT.FlurlHttpClient.Wechat.Api.Models
{
/// <summary>
/// <para>表示 [POST] /wxa/operationams?action=agency_get_adunit_code 接口的请求。</para>
/// </summary>
public class WxaOperationAMSAgencyGetAdUnitCodeRequest : WechatApiRequest, IInferable<WxaOperationAMSAgencyGetAdUnitCodeRequest, WxaOperationAMSAgencyGetAdUnitCodeResponse>
{
/// <summary>
/// 获取或设置广告单元 ID。
/// </summary>
[Newtonsoft.Json.JsonProperty("ad_unit_id")]
[System.Text.Json.Serialization.JsonPropertyName("ad_unit_id")]
public string AdUnitId { get; set; } = string.Empty;
}
}

View File

@ -0,0 +1,34 @@
namespace SKIT.FlurlHttpClient.Wechat.Api.Models
{
/// <summary>
/// <para>表示 [POST] /wxa/operationams?action=agency_get_adunit_code 接口的响应。</para>
/// </summary>
public class WxaOperationAMSAgencyGetAdUnitCodeResponse : WechatApiResponse
{
/// <summary>
/// 获取或设置返回错误码。
/// </summary>
[Newtonsoft.Json.JsonProperty("ret")]
[System.Text.Json.Serialization.JsonPropertyName("ret")]
public int ReturnCode { get; set; }
/// <summary>
/// 获取或设置返回错误信息。
/// </summary>
[Newtonsoft.Json.JsonProperty("err_msg")]
[System.Text.Json.Serialization.JsonPropertyName("err_msg")]
public string? ReturnMessage { get; set; }
/// <summary>
/// 获取或设置广告单元代码。
/// </summary>
[Newtonsoft.Json.JsonProperty("code")]
[System.Text.Json.Serialization.JsonPropertyName("code")]
public string Code { get; set; } = default!;
public override bool IsSuccessful()
{
return base.IsSuccessful() && ReturnCode == 0;
}
}
}

View File

@ -0,0 +1,38 @@
namespace SKIT.FlurlHttpClient.Wechat.Api.Models
{
/// <summary>
/// <para>表示 [POST] /wxa/operationams?action=agency_get_adunit_list 接口的请求。</para>
/// </summary>
public class WxaOperationAMSAgencyGetAdUnitListRequest : WechatApiRequest, IInferable<WxaOperationAMSAgencyGetAdUnitListRequest, WxaOperationAMSAgencyGetAdUnitListResponse>
{
/// <summary>
/// 获取或设置分页页数。
/// <para>默认值1</para>
/// </summary>
[Newtonsoft.Json.JsonProperty("page")]
[System.Text.Json.Serialization.JsonPropertyName("page")]
public int Page { get; set; } = 1;
/// <summary>
/// 获取或设置分页每页数量。
/// <para>默认值10</para>
/// </summary>
[Newtonsoft.Json.JsonProperty("page_size")]
[System.Text.Json.Serialization.JsonPropertyName("page_size")]
public int Limit { get; set; } = 10;
/// <summary>
/// 获取或设置广告位类型名称。
/// </summary>
[Newtonsoft.Json.JsonProperty("ad_slot")]
[System.Text.Json.Serialization.JsonPropertyName("ad_slot")]
public string? AdSlot { get; set; }
/// <summary>
/// 获取或设置广告单元 ID。
/// </summary>
[Newtonsoft.Json.JsonProperty("ad_unit_id")]
[System.Text.Json.Serialization.JsonPropertyName("ad_unit_id")]
public string? AdUnitId { get; set; }
}
}

View File

@ -0,0 +1,137 @@
namespace SKIT.FlurlHttpClient.Wechat.Api.Models
{
/// <summary>
/// <para>表示 [POST] /wxa/operationams?action=agency_get_adunit_list 接口的响应。</para>
/// </summary>
public class WxaOperationAMSAgencyGetAdUnitListResponse : WechatApiResponse
{
public static class Types
{
public class AdUnit
{
public static class Types
{
public class Size
{
/// <summary>
/// 获取或设置宽度(单位:宽度)。
/// </summary>
[Newtonsoft.Json.JsonProperty("width")]
[System.Text.Json.Serialization.JsonPropertyName("width")]
public int Width { get; set; }
/// <summary>
/// 获取或设置高度(单位:宽度)。
/// </summary>
[Newtonsoft.Json.JsonProperty("height")]
[System.Text.Json.Serialization.JsonPropertyName("height")]
public int Height { get; set; }
}
}
/// <summary>
/// 获取或设置广告单元 ID。
/// </summary>
[Newtonsoft.Json.JsonProperty("ad_unit_id")]
[System.Text.Json.Serialization.JsonPropertyName("ad_unit_id")]
public string AdUnitId { get; set; } = default!;
/// <summary>
/// 获取或设置广告单元名称。
/// </summary>
[Newtonsoft.Json.JsonProperty("ad_unit_name")]
[System.Text.Json.Serialization.JsonPropertyName("ad_unit_name")]
public string AdUnitName { get; set; } = default!;
/// <summary>
/// 获取或设置广告位类型 ID。
/// </summary>
[Newtonsoft.Json.JsonProperty("slot_id")]
[System.Text.Json.Serialization.JsonPropertyName("slot_id")]
public string? AdSlotId { get; set; }
/// <summary>
/// 获取或设置广告位类型名称。
/// </summary>
[Newtonsoft.Json.JsonProperty("ad_slot")]
[System.Text.Json.Serialization.JsonPropertyName("ad_slot")]
public string? AdSlot { get; set; }
/// <summary>
/// 获取或设置广告单元类型。
/// </summary>
[Newtonsoft.Json.JsonProperty("ad_unit_type")]
[System.Text.Json.Serialization.JsonPropertyName("ad_unit_type")]
public string Type { get; set; } = default!;
/// <summary>
/// 获取或设置开关状态。
/// </summary>
[Newtonsoft.Json.JsonProperty("ad_unit_status")]
[System.Text.Json.Serialization.JsonPropertyName("ad_unit_status")]
public int Status { get; set; }
/// <summary>
/// 获取或设置尺寸列表。
/// </summary>
[Newtonsoft.Json.JsonProperty("ad_unit_size")]
[System.Text.Json.Serialization.JsonPropertyName("ad_unit_size")]
public Types.Size[]? SizeList { get; set; }
/// <summary>
/// 获取或设置小程序 AppId。
/// </summary>
[Newtonsoft.Json.JsonProperty("appid")]
[System.Text.Json.Serialization.JsonPropertyName("appid")]
public string? AppId { get; set; }
/// <summary>
/// 获取或设置广告展示时长最小值(单位:秒)。
/// </summary>
[Newtonsoft.Json.JsonProperty("video_duration_min")]
[System.Text.Json.Serialization.JsonPropertyName("video_duration_min")]
public int? MinVideoDuration { get; set; }
/// <summary>
/// 获取或设置广告展示时长最大值(单位:秒)。
/// </summary>
[Newtonsoft.Json.JsonProperty("video_duration_max")]
[System.Text.Json.Serialization.JsonPropertyName("video_duration_max")]
public int? MaxVideoDuration { get; set; }
}
}
/// <summary>
/// 获取或设置返回错误码。
/// </summary>
[Newtonsoft.Json.JsonProperty("ret")]
[System.Text.Json.Serialization.JsonPropertyName("ret")]
public int ReturnCode { get; set; }
/// <summary>
/// 获取或设置返回错误信息。
/// </summary>
[Newtonsoft.Json.JsonProperty("err_msg")]
[System.Text.Json.Serialization.JsonPropertyName("err_msg")]
public string? ReturnMessage { get; set; }
/// <summary>
/// 获取或设置广告单元列表。
/// </summary>
[Newtonsoft.Json.JsonProperty("ad_unit")]
[System.Text.Json.Serialization.JsonPropertyName("ad_unit")]
public Types.AdUnit[] AdUnitList { get; set; } = default!;
/// <summary>
/// 获取或设置总数量。
/// </summary>
[Newtonsoft.Json.JsonProperty("total_num")]
[System.Text.Json.Serialization.JsonPropertyName("total_num")]
public int TotalCount { get; set; }
public override bool IsSuccessful()
{
return base.IsSuccessful() && ReturnCode == 0;
}
}
}

View File

@ -0,0 +1,9 @@
namespace SKIT.FlurlHttpClient.Wechat.Api.Models
{
/// <summary>
/// <para>表示 [POST] /wxa/operationams?action=agency_get_cover_adpos_scene 接口的请求。</para>
/// </summary>
public class WxaOperationAMSAgencyGetCoverAdPositionSceneRequest : WechatApiRequest, IInferable<WxaOperationAMSAgencyGetCoverAdPositionSceneRequest, WxaOperationAMSAgencyGetCoverAdPositionSceneResponse>
{
}
}

View File

@ -0,0 +1,36 @@
namespace SKIT.FlurlHttpClient.Wechat.Api.Models
{
/// <summary>
/// <para>表示 [POST] /wxa/operationams?action=agency_get_cover_adpos_scene 接口的响应。</para>
/// </summary>
public class WxaOperationAMSAgencyGetCoverAdPositionSceneResponse : WechatApiResponse
{
/// <summary>
/// 获取或设置返回错误码。
/// </summary>
[Newtonsoft.Json.JsonProperty("ret")]
[System.Text.Json.Serialization.JsonPropertyName("ret")]
public int ReturnCode { get; set; }
/// <summary>
/// 获取或设置返回错误信息。
/// </summary>
[Newtonsoft.Json.JsonProperty("err_msg")]
[System.Text.Json.Serialization.JsonPropertyName("err_msg")]
public string? ReturnMessage { get; set; }
/// <summary>
/// 获取或设置封面场景值列表。
/// </summary>
[Newtonsoft.Json.JsonProperty("cover_scene_list")]
[Newtonsoft.Json.JsonConverter(typeof(Newtonsoft.Json.Converters.TextualIntegerArrayWithCommaSplitConverter))]
[System.Text.Json.Serialization.JsonPropertyName("cover_scene_list")]
[System.Text.Json.Serialization.JsonConverter(typeof(System.Text.Json.Converters.TextualIntegerArrayWithCommaSplitConverter))]
public int[] CoverSceneList { get; set; } = default!;
public override bool IsSuccessful()
{
return base.IsSuccessful() && ReturnCode == 0;
}
}
}

View File

@ -0,0 +1,9 @@
namespace SKIT.FlurlHttpClient.Wechat.Api.Models
{
/// <summary>
/// <para>表示 [POST] /wxa/operationams?action=agency_get_cover_adpos_status 接口的请求。</para>
/// </summary>
public class WxaOperationAMSAgencyGetCoverAdPositionStatusRequest : WechatApiRequest, IInferable<WxaOperationAMSAgencyGetCoverAdPositionStatusRequest, WxaOperationAMSAgencyGetCoverAdPositionStatusResponse>
{
}
}

View File

@ -0,0 +1,41 @@
namespace SKIT.FlurlHttpClient.Wechat.Api.Models
{
/// <summary>
/// <para>表示 [POST] /wxa/operationams?action=agency_get_cover_adpos_status 接口的响应。</para>
/// </summary>
public class WxaOperationAMSAgencyGetCoverAdPositionStatusResponse : WechatApiResponse
{
/// <summary>
/// 获取或设置返回错误码。
/// </summary>
[Newtonsoft.Json.JsonProperty("ret")]
[System.Text.Json.Serialization.JsonPropertyName("ret")]
public int ReturnCode { get; set; }
/// <summary>
/// 获取或设置返回错误信息。
/// </summary>
[Newtonsoft.Json.JsonProperty("err_msg")]
[System.Text.Json.Serialization.JsonPropertyName("err_msg")]
public string? ReturnMessage { get; set; }
/// <summary>
/// 获取或设置开关状态。
/// </summary>
[Newtonsoft.Json.JsonProperty("status")]
[System.Text.Json.Serialization.JsonPropertyName("status")]
public int Status { get; set; }
/// <summary>
/// 获取或设置下次允许开启的封面广告位的时间戳。
/// </summary>
[Newtonsoft.Json.JsonProperty("next_open_time")]
[System.Text.Json.Serialization.JsonPropertyName("next_open_time")]
public long? NextOpenTimestamp { get; set; }
public override bool IsSuccessful()
{
return base.IsSuccessful() && ReturnCode == 0;
}
}
}

View File

@ -0,0 +1,15 @@
namespace SKIT.FlurlHttpClient.Wechat.Api.Models
{
/// <summary>
/// <para>表示 [POST] /wxa/operationams?action=agency_get_tmpl_type 接口的请求。</para>
/// </summary>
public class WxaOperationAMSAgencyGetTemplateTypeRequest : WechatApiRequest, IInferable<WxaOperationAMSAgencyGetTemplateTypeRequest, WxaOperationAMSAgencyGetTemplateTypeResponse>
{
/// <summary>
/// 获取或设置广告单元 ID。
/// </summary>
[Newtonsoft.Json.JsonProperty("ad_unit_id")]
[System.Text.Json.Serialization.JsonPropertyName("ad_unit_id")]
public string AdUnitId { get; set; } = string.Empty;
}
}

View File

@ -0,0 +1,34 @@
namespace SKIT.FlurlHttpClient.Wechat.Api.Models
{
/// <summary>
/// <para>表示 [POST] /wxa/operationams?action=agency_get_tmpl_type 接口的响应。</para>
/// </summary>
public class WxaOperationAMSAgencyGetTemplateTypeResponse : WechatApiResponse
{
/// <summary>
/// 获取或设置返回错误码。
/// </summary>
[Newtonsoft.Json.JsonProperty("ret")]
[System.Text.Json.Serialization.JsonPropertyName("ret")]
public int ReturnCode { get; set; }
/// <summary>
/// 获取或设置返回错误信息。
/// </summary>
[Newtonsoft.Json.JsonProperty("err_msg")]
[System.Text.Json.Serialization.JsonPropertyName("err_msg")]
public string? ReturnMessage { get; set; }
/// <summary>
/// 获取或设置模板类型。
/// </summary>
[Newtonsoft.Json.JsonProperty("tmpl_type")]
[System.Text.Json.Serialization.JsonPropertyName("tmpl_type")]
public int TemplateType { get; set; }
public override bool IsSuccessful()
{
return base.IsSuccessful() && ReturnCode == 0;
}
}
}

View File

@ -0,0 +1,19 @@
using System.Collections.Generic;
namespace SKIT.FlurlHttpClient.Wechat.Api.Models
{
/// <summary>
/// <para>表示 [POST] /wxa/operationams?action=agency_set_cover_adpos_scene 接口的请求。</para>
/// </summary>
public class WxaOperationAMSAgencySetCoverAdPositionSceneRequest : WechatApiRequest, IInferable<WxaOperationAMSAgencySetCoverAdPositionSceneRequest, WxaOperationAMSAgencySetCoverAdPositionSceneResponse>
{
/// <summary>
/// 获取或设置封面场景值列表。
/// </summary>
[Newtonsoft.Json.JsonProperty("cover_scene_list")]
[Newtonsoft.Json.JsonConverter(typeof(Newtonsoft.Json.Converters.TextualIntegerListWithCommaSplitConverter))]
[System.Text.Json.Serialization.JsonPropertyName("cover_scene_list")]
[System.Text.Json.Serialization.JsonConverter(typeof(System.Text.Json.Converters.TextualIntegerListWithCommaSplitConverter))]
public IList<int> CoverSceneList { get; set; } = new List<int>();
}
}

View File

@ -0,0 +1,27 @@
namespace SKIT.FlurlHttpClient.Wechat.Api.Models
{
/// <summary>
/// <para>表示 [POST] /wxa/operationams?action=agency_set_cover_adpos_scene 接口的响应。</para>
/// </summary>
public class WxaOperationAMSAgencySetCoverAdPositionSceneResponse : WechatApiResponse
{
/// <summary>
/// 获取或设置返回错误码。
/// </summary>
[Newtonsoft.Json.JsonProperty("ret")]
[System.Text.Json.Serialization.JsonPropertyName("ret")]
public int ReturnCode { get; set; }
/// <summary>
/// 获取或设置返回错误信息。
/// </summary>
[Newtonsoft.Json.JsonProperty("err_msg")]
[System.Text.Json.Serialization.JsonPropertyName("err_msg")]
public string? ReturnMessage { get; set; }
public override bool IsSuccessful()
{
return base.IsSuccessful() && ReturnCode == 0;
}
}
}

View File

@ -0,0 +1,15 @@
namespace SKIT.FlurlHttpClient.Wechat.Api.Models
{
/// <summary>
/// <para>表示 [POST] /wxa/operationams?action=agency_set_cover_adpos_status 接口的请求。</para>
/// </summary>
public class WxaOperationAMSAgencySetCoverAdPositionStatusRequest : WechatApiRequest, IInferable<WxaOperationAMSAgencySetCoverAdPositionStatusRequest, WxaOperationAMSAgencySetCoverAdPositionStatusResponse>
{
/// <summary>
/// 获取或设置开关状态。
/// </summary>
[Newtonsoft.Json.JsonProperty("status")]
[System.Text.Json.Serialization.JsonPropertyName("status")]
public int Status { get; set; }
}
}

View File

@ -0,0 +1,27 @@
namespace SKIT.FlurlHttpClient.Wechat.Api.Models
{
/// <summary>
/// <para>表示 [POST] /wxa/operationams?action=agency_set_cover_adpos_status 接口的响应。</para>
/// </summary>
public class WxaOperationAMSAgencySetCoverAdPositionStatusResponse : WechatApiResponse
{
/// <summary>
/// 获取或设置返回错误码。
/// </summary>
[Newtonsoft.Json.JsonProperty("ret")]
[System.Text.Json.Serialization.JsonPropertyName("ret")]
public int ReturnCode { get; set; }
/// <summary>
/// 获取或设置返回错误信息。
/// </summary>
[Newtonsoft.Json.JsonProperty("err_msg")]
[System.Text.Json.Serialization.JsonPropertyName("err_msg")]
public string? ReturnMessage { get; set; }
public override bool IsSuccessful()
{
return base.IsSuccessful() && ReturnCode == 0;
}
}
}

View File

@ -0,0 +1,57 @@
namespace SKIT.FlurlHttpClient.Wechat.Api.Models
{
/// <summary>
/// <para>表示 [POST] /wxa/operationams?action=agency_update_adunit 接口的请求。</para>
/// </summary>
public class WxaOperationAMSAgencyUpdateAdUnitRequest : WechatApiRequest, IInferable<WxaOperationAMSAgencyUpdateAdUnitRequest, WxaOperationAMSAgencyUpdateAdUnitResponse>
{
/// <summary>
/// 获取或设置广告单元 ID。
/// </summary>
[Newtonsoft.Json.JsonProperty("ad_unit_id")]
[System.Text.Json.Serialization.JsonPropertyName("ad_unit_id")]
public string AdUnitId { get; set; } = string.Empty;
/// <summary>
/// 获取或设置广告单元名称。
/// </summary>
[Newtonsoft.Json.JsonProperty("name")]
[System.Text.Json.Serialization.JsonPropertyName("name")]
public string Name { get; set; } = string.Empty;
/// <summary>
/// 获取或设置广告单元开关状态。
/// </summary>
[Newtonsoft.Json.JsonProperty("status")]
[System.Text.Json.Serialization.JsonPropertyName("status")]
public string Status { get; set; } = string.Empty;
/// <summary>
/// 获取或设置广告展示时长最小值(单位:秒)。
/// </summary>
[Newtonsoft.Json.JsonProperty("video_duration_min")]
[System.Text.Json.Serialization.JsonPropertyName("video_duration_min")]
public int? MinVideoDuration { get; set; }
/// <summary>
/// 获取或设置广告展示时长最大值(单位:秒)。
/// </summary>
[Newtonsoft.Json.JsonProperty("video_duration_max")]
[System.Text.Json.Serialization.JsonPropertyName("video_duration_max")]
public int? MaxVideoDuration { get; set; }
/// <summary>
/// 获取或设置模板类型。
/// </summary>
[Newtonsoft.Json.JsonProperty("tmpl_type")]
[System.Text.Json.Serialization.JsonPropertyName("tmpl_type")]
public int? TemplateType { get; set; }
/// <summary>
/// 获取或设置模板 ID。
/// </summary>
[Newtonsoft.Json.JsonProperty("tmpl_id")]
[System.Text.Json.Serialization.JsonPropertyName("tmpl_id")]
public string? TemplateId { get; set; }
}
}

View File

@ -0,0 +1,27 @@
namespace SKIT.FlurlHttpClient.Wechat.Api.Models
{
/// <summary>
/// <para>表示 [POST] /wxa/operationams?action=agency_update_adunit 接口的响应。</para>
/// </summary>
public class WxaOperationAMSAgencyUpdateAdUnitResponse : WechatApiResponse
{
/// <summary>
/// 获取或设置返回错误码。
/// </summary>
[Newtonsoft.Json.JsonProperty("ret")]
[System.Text.Json.Serialization.JsonPropertyName("ret")]
public int ReturnCode { get; set; }
/// <summary>
/// 获取或设置返回错误信息。
/// </summary>
[Newtonsoft.Json.JsonProperty("err_msg")]
[System.Text.Json.Serialization.JsonPropertyName("err_msg")]
public string? ReturnMessage { get; set; }
public override bool IsSuccessful()
{
return base.IsSuccessful() && ReturnCode == 0;
}
}
}

View File

@ -0,0 +1,47 @@
namespace SKIT.FlurlHttpClient.Wechat.Api.Models
{
/// <summary>
/// <para>表示 [POST] /wxa/operationams?action=get_agency_ad_unit_list 接口的请求。</para>
/// </summary>
public class WxaOperationAMSGetAgencyAdUnitListRequest : WechatApiRequest, IInferable<WxaOperationAMSGetAgencyAdUnitListRequest, WxaOperationAMSGetAgencyAdUnitListResponse>
{
/// <summary>
/// 获取或设置分页页数。
/// <para>默认值1</para>
/// </summary>
[Newtonsoft.Json.JsonProperty("page")]
[System.Text.Json.Serialization.JsonPropertyName("page")]
public int Page { get; set; } = 1;
/// <summary>
/// 获取或设置分页每页数量。
/// <para>默认值10</para>
/// </summary>
[Newtonsoft.Json.JsonProperty("page_size")]
[System.Text.Json.Serialization.JsonPropertyName("page_size")]
public int Limit { get; set; } = 10;
/// <summary>
/// 获取或设置广告位类型名称。
/// </summary>
[Newtonsoft.Json.JsonProperty("ad_slot")]
[System.Text.Json.Serialization.JsonPropertyName("ad_slot")]
public string? AdSlot { get; set; }
/// <summary>
/// 获取或设置模板广告单元 ID。
/// </summary>
[Newtonsoft.Json.JsonProperty("tmpl_id")]
[System.Text.Json.Serialization.JsonPropertyName("tmpl_id")]
public string? TemplateId { get; set; }
/// <summary>
/// 获取或设置是否返回该模板广告单元 ID 绑定的商户广告单元信息。
/// </summary>
[Newtonsoft.Json.JsonProperty("is_return_tmpl_bind_list")]
[Newtonsoft.Json.JsonConverter(typeof(Newtonsoft.Json.Converters.NumericalNullableBooleanConverter))]
[System.Text.Json.Serialization.JsonPropertyName("is_return_tmpl_bind_list")]
[System.Text.Json.Serialization.JsonConverter(typeof(System.Text.Json.Converters.NumericalNullableBooleanConverter))]
public bool? RequireReturnTemplateBindList { get; set; }
}
}

View File

@ -0,0 +1,96 @@
namespace SKIT.FlurlHttpClient.Wechat.Api.Models
{
/// <summary>
/// <para>表示 [POST] /wxa/operationams?action=get_agency_ad_unit_list 接口的响应。</para>
/// </summary>
public class WxaOperationAMSGetAgencyAdUnitListResponse : WechatApiResponse
{
public static class Types
{
public class Template
{
public static class Types
{
public class AdUnit : WxaOperationAMSAgencyGetAdUnitListResponse.Types.AdUnit
{
}
}
/// <summary>
/// 获取或设置模板 ID。
/// </summary>
[Newtonsoft.Json.JsonProperty("tmpl_id")]
[System.Text.Json.Serialization.JsonPropertyName("tmpl_id")]
public string TemplateId { get; set; } = default!;
/// <summary>
/// 获取或设置广告单元名称。
/// </summary>
[Newtonsoft.Json.JsonProperty("ad_unit_name")]
[System.Text.Json.Serialization.JsonPropertyName("ad_unit_name")]
public string Name { get; set; } = default!;
/// <summary>
/// 获取或设置广告位类型 ID。
/// </summary>
[Newtonsoft.Json.JsonProperty("slot_id")]
[System.Text.Json.Serialization.JsonPropertyName("slot_id")]
public string? AdSlotId { get; set; }
/// <summary>
/// 获取或设置广告位类型名称。
/// </summary>
[Newtonsoft.Json.JsonProperty("ad_slot")]
[System.Text.Json.Serialization.JsonPropertyName("ad_slot")]
public string? AdSlot { get; set; }
/// <summary>
/// 获取或设置绑定的商户广告单元数量。
/// </summary>
[Newtonsoft.Json.JsonProperty("tmpl_bind_total_num")]
[System.Text.Json.Serialization.JsonPropertyName("tmpl_bind_total_num")]
public int AdUnitTotalCount { get; set; }
/// <summary>
/// 获取或设置绑定的商户广告单元列表。
/// </summary>
[Newtonsoft.Json.JsonProperty("tmpl_bind_list")]
[System.Text.Json.Serialization.JsonPropertyName("tmpl_bind_list")]
public Types.AdUnit[]? AdUnitList { get; set; }
}
}
/// <summary>
/// 获取或设置返回错误码。
/// </summary>
[Newtonsoft.Json.JsonProperty("ret")]
[System.Text.Json.Serialization.JsonPropertyName("ret")]
public int ReturnCode { get; set; }
/// <summary>
/// 获取或设置返回错误信息。
/// </summary>
[Newtonsoft.Json.JsonProperty("err_msg")]
[System.Text.Json.Serialization.JsonPropertyName("err_msg")]
public string? ReturnMessage { get; set; }
/// <summary>
/// 获取或设置模板列表。
/// </summary>
[Newtonsoft.Json.JsonProperty("ad_unit_list")]
[System.Text.Json.Serialization.JsonPropertyName("ad_unit_list")]
public Types.Template[] TemplateList { get; set; } = default!;
/// <summary>
/// 获取或设置总数量。
/// </summary>
[Newtonsoft.Json.JsonProperty("total_num")]
[System.Text.Json.Serialization.JsonPropertyName("total_num")]
public int TotalCount { get; set; }
public override bool IsSuccessful()
{
return base.IsSuccessful() && ReturnCode == 0;
}
}
}

View File

@ -0,0 +1,9 @@
namespace SKIT.FlurlHttpClient.Wechat.Api.Models
{
/// <summary>
/// <para>表示 [POST] /wxa/operationams?action=agency_check_can_open_publisher 接口的请求。</para>
/// </summary>
public class WxaOperationAMSAgencyCheckCanOpenPublisherRequest : WechatApiRequest, IInferable<WxaOperationAMSAgencyCheckCanOpenPublisherRequest, WxaOperationAMSAgencyCheckCanOpenPublisherResponse>
{
}
}

View File

@ -0,0 +1,34 @@
namespace SKIT.FlurlHttpClient.Wechat.Api.Models
{
/// <summary>
/// <para>表示 [POST] /wxa/operationams?action=agency_check_can_open_publisher 接口的响应。</para>
/// </summary>
public class WxaOperationAMSAgencyCheckCanOpenPublisherResponse : WechatApiResponse
{
/// <summary>
/// 获取或设置返回错误码。
/// </summary>
[Newtonsoft.Json.JsonProperty("ret")]
[System.Text.Json.Serialization.JsonPropertyName("ret")]
public int ReturnCode { get; set; }
/// <summary>
/// 获取或设置返回错误信息。
/// </summary>
[Newtonsoft.Json.JsonProperty("err_msg")]
[System.Text.Json.Serialization.JsonPropertyName("err_msg")]
public string? ReturnMessage { get; set; }
/// <summary>
/// 获取或设置开通状态。
/// </summary>
[Newtonsoft.Json.JsonProperty("status")]
[System.Text.Json.Serialization.JsonPropertyName("status")]
public int Status { get; set; }
public override bool IsSuccessful()
{
return base.IsSuccessful() && ReturnCode == 0;
}
}
}

View File

@ -0,0 +1,9 @@
namespace SKIT.FlurlHttpClient.Wechat.Api.Models
{
/// <summary>
/// <para>表示 [POST] /wxa/operationams?action=agency_create_publisher 接口的请求。</para>
/// </summary>
public class WxaOperationAMSAgencyCreatePublisherRequest : WechatApiRequest, IInferable<WxaOperationAMSAgencyCreatePublisherRequest, WxaOperationAMSAgencyCreatePublisherResponse>
{
}
}

View File

@ -0,0 +1,27 @@
namespace SKIT.FlurlHttpClient.Wechat.Api.Models
{
/// <summary>
/// <para>表示 [POST] /wxa/operationams?action=agency_create_publisher 接口的响应。</para>
/// </summary>
public class WxaOperationAMSAgencyCreatePublisherResponse : WechatApiResponse
{
/// <summary>
/// 获取或设置返回错误码。
/// </summary>
[Newtonsoft.Json.JsonProperty("ret")]
[System.Text.Json.Serialization.JsonPropertyName("ret")]
public int ReturnCode { get; set; }
/// <summary>
/// 获取或设置返回错误信息。
/// </summary>
[Newtonsoft.Json.JsonProperty("err_msg")]
[System.Text.Json.Serialization.JsonPropertyName("err_msg")]
public string? ReturnMessage { get; set; }
public override bool IsSuccessful()
{
return base.IsSuccessful() && ReturnCode == 0;
}
}
}

View File

@ -0,0 +1,22 @@
namespace SKIT.FlurlHttpClient.Wechat.Api.Models
{
/// <summary>
/// <para>表示 [POST] /wxa/getdefaultamsinfo 接口的请求。</para>
/// </summary>
public class WxaGetDefaultAMSInfoRequest : WechatApiRequest, IInferable<WxaGetDefaultAMSInfoRequest, WxaGetDefaultAMSInfoResponse>
{
/// <summary>
/// 获取或设置操作类型。
/// </summary>
[Newtonsoft.Json.JsonIgnore]
[System.Text.Json.Serialization.JsonIgnore]
public string Action { get; set; } = string.Empty;
/// <summary>
/// 获取或设置小程序 AppId。如果不指定将使用构造 <see cref="WechatApiClient"/> 时的 <see cref="WechatApiClientOptions.AppId"/> 参数。
/// </summary>
[Newtonsoft.Json.JsonProperty("appid")]
[System.Text.Json.Serialization.JsonPropertyName("appid")]
public string? AppId { get; set; }
}
}

View File

@ -0,0 +1,34 @@
namespace SKIT.FlurlHttpClient.Wechat.Api.Models
{
/// <summary>
/// <para>表示 [POST] /wxa/getdefaultamsinfo 接口的响应。</para>
/// </summary>
public class WxaGetDefaultAMSInfoResponse : WechatApiResponse
{
/// <summary>
/// 获取或设置返回错误码。
/// </summary>
[Newtonsoft.Json.JsonProperty("ret")]
[System.Text.Json.Serialization.JsonPropertyName("ret")]
public int ReturnCode { get; set; }
/// <summary>
/// 获取或设置返回错误信息。
/// </summary>
[Newtonsoft.Json.JsonProperty("err_msg")]
[System.Text.Json.Serialization.JsonPropertyName("err_msg")]
public string? ReturnMessage { get; set; }
/// <summary>
/// 获取或设置分账比例(单位:百分比)。
/// </summary>
[Newtonsoft.Json.JsonProperty("share_ratio")]
[System.Text.Json.Serialization.JsonPropertyName("share_ratio")]
public int ShareRatio { get; set; }
public override bool IsSuccessful()
{
return base.IsSuccessful() && ReturnCode == 0;
}
}
}

View File

@ -0,0 +1,29 @@
namespace SKIT.FlurlHttpClient.Wechat.Api.Models
{
/// <summary>
/// <para>表示 [POST] /wxa/setdefaultamsinfo 接口的请求。</para>
/// </summary>
public class WxaSetDefaultAMSInfoRequest : WechatApiRequest, IInferable<WxaSetDefaultAMSInfoRequest, WxaSetDefaultAMSInfoResponse>
{
/// <summary>
/// 获取或设置操作类型。
/// </summary>
[Newtonsoft.Json.JsonIgnore]
[System.Text.Json.Serialization.JsonIgnore]
public string Action { get; set; } = string.Empty;
/// <summary>
/// 获取或设置小程序 AppId。如果不指定将使用构造 <see cref="WechatApiClient"/> 时的 <see cref="WechatApiClientOptions.AppId"/> 参数。
/// </summary>
[Newtonsoft.Json.JsonProperty("appid")]
[System.Text.Json.Serialization.JsonPropertyName("appid")]
public string? AppId { get; set; }
/// <summary>
/// 获取或设置分账比例(单位:百分比)。
/// </summary>
[Newtonsoft.Json.JsonProperty("share_ratio")]
[System.Text.Json.Serialization.JsonPropertyName("share_ratio")]
public int ShareRatio { get; set; }
}
}

View File

@ -0,0 +1,27 @@
namespace SKIT.FlurlHttpClient.Wechat.Api.Models
{
/// <summary>
/// <para>表示 [POST] /wxa/setdefaultamsinfo 接口的响应。</para>
/// </summary>
public class WxaSetDefaultAMSInfoResponse : WechatApiResponse
{
/// <summary>
/// 获取或设置返回错误码。
/// </summary>
[Newtonsoft.Json.JsonProperty("ret")]
[System.Text.Json.Serialization.JsonPropertyName("ret")]
public int ReturnCode { get; set; }
/// <summary>
/// 获取或设置返回错误信息。
/// </summary>
[Newtonsoft.Json.JsonProperty("err_msg")]
[System.Text.Json.Serialization.JsonPropertyName("err_msg")]
public string? ReturnMessage { get; set; }
public override bool IsSuccessful()
{
return base.IsSuccessful() && ReturnCode == 0;
}
}
}

View File

@ -0,0 +1,38 @@
namespace SKIT.FlurlHttpClient.Wechat.Api.Models
{
/// <summary>
/// <para>表示 [POST] /wxa/operationams?action=agency_get_settlement 接口的请求。</para>
/// </summary>
public class WxaOperationAMSAgencyGetSettlementRequest : WechatApiRequest, IInferable<WxaOperationAMSAgencyGetSettlementRequest, WxaOperationAMSAgencyGetSettlementResponse>
{
/// <summary>
/// 获取或设置分页页数。
/// <para>默认值1</para>
/// </summary>
[Newtonsoft.Json.JsonProperty("page")]
[System.Text.Json.Serialization.JsonPropertyName("page")]
public int Page { get; set; } = 1;
/// <summary>
/// 获取或设置分页每页数量。
/// <para>默认值10</para>
/// </summary>
[Newtonsoft.Json.JsonProperty("page_size")]
[System.Text.Json.Serialization.JsonPropertyName("page_size")]
public int Limit { get; set; } = 10;
/// <summary>
/// 获取或设置开始日期字符串格式yyyyMMdd
/// </summary>
[Newtonsoft.Json.JsonProperty("start_date")]
[System.Text.Json.Serialization.JsonPropertyName("start_date")]
public string StartDateString { get; set; } = string.Empty;
/// <summary>
/// 获取或设置结束日期字符串格式yyyyMMdd
/// </summary>
[Newtonsoft.Json.JsonProperty("end_date")]
[System.Text.Json.Serialization.JsonPropertyName("end_date")]
public string EndDateString { get; set; } = string.Empty;
}
}

View File

@ -0,0 +1,151 @@
namespace SKIT.FlurlHttpClient.Wechat.Api.Models
{
/// <summary>
/// <para>表示 [POST] /wxa/operationams?action=agency_get_settlement 接口的响应。</para>
/// </summary>
public class WxaOperationAMSAgencyGetSettlementResponse : WechatApiResponse
{
public static class Types
{
public class Settlement
{
public static class Types
{
public class SlotRevenue
{
/// <summary>
/// 获取或设置广告位类型 ID。
/// </summary>
[Newtonsoft.Json.JsonProperty("slot_id")]
[System.Text.Json.Serialization.JsonPropertyName("slot_id")]
public string AdSlotId { get; set; } = default!;
/// <summary>
/// 获取或设置广告位结算收入(单位:分)。
/// </summary>
[Newtonsoft.Json.JsonProperty("slot_settled_revenue")]
[System.Text.Json.Serialization.JsonPropertyName("slot_settled_revenue")]
public int SettledRevenue { get; set; }
}
}
/// <summary>
/// 获取或设置日期字符串格式yyyyMMdd
/// </summary>
[Newtonsoft.Json.JsonProperty("date")]
[System.Text.Json.Serialization.JsonPropertyName("date")]
public string DateString { get; set; } = default!;
/// <summary>
/// 获取或设置日期区间字符串。
/// </summary>
[Newtonsoft.Json.JsonProperty("zone")]
[System.Text.Json.Serialization.JsonPropertyName("zone")]
public string ZoneString { get; set; } = default!;
/// <summary>
/// 获取或设置收入月份字符串。
/// </summary>
[Newtonsoft.Json.JsonProperty("month")]
[System.Text.Json.Serialization.JsonPropertyName("month")]
public string MonthString { 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("sett_status")]
[System.Text.Json.Serialization.JsonPropertyName("sett_status")]
public int SettlementStatus { get; set; }
/// <summary>
/// 获取或设置结算单号。
/// </summary>
[Newtonsoft.Json.JsonProperty("sett_no")]
[System.Text.Json.Serialization.JsonPropertyName("sett_no")]
public string SettlementNumber { get; set; } = default!;
/// <summary>
/// 获取或设置结算收入(单位:分)。
/// </summary>
[Newtonsoft.Json.JsonProperty("settled_revenue")]
[System.Text.Json.Serialization.JsonPropertyName("settled_revenue")]
public long SettledRevenue { get; set; }
/// <summary>
/// 获取或设置申请补发结算单次数。
/// </summary>
[Newtonsoft.Json.JsonProperty("mail_send_cnt")]
[System.Text.Json.Serialization.JsonPropertyName("mail_send_cnt")]
public int MailSendCount { get; set; }
/// <summary>
/// 获取或设置广告位收入列表。
/// </summary>
[Newtonsoft.Json.JsonProperty("slot_revenue")]
[System.Text.Json.Serialization.JsonPropertyName("slot_revenue")]
public Types.SlotRevenue[] SlotRevenueList { get; set; } = default!;
}
}
/// <summary>
/// 获取或设置返回错误码。
/// </summary>
[Newtonsoft.Json.JsonProperty("ret")]
[System.Text.Json.Serialization.JsonPropertyName("ret")]
public int ReturnCode { get; set; }
/// <summary>
/// 获取或设置返回错误信息。
/// </summary>
[Newtonsoft.Json.JsonProperty("err_msg")]
[System.Text.Json.Serialization.JsonPropertyName("err_msg")]
public string? ReturnMessage { get; set; }
/// <summary>
/// 获取或设置累计收入(单位:分)。
/// </summary>
[Newtonsoft.Json.JsonProperty("revenue_all")]
[System.Text.Json.Serialization.JsonPropertyName("revenue_all")]
public long RevenueAll { get; set; }
/// <summary>
/// 获取或设置扣除金额(单位:分)。
/// </summary>
[Newtonsoft.Json.JsonProperty("penalty_all")]
[System.Text.Json.Serialization.JsonPropertyName("penalty_all")]
public long PenaltyAll { get; set; }
/// <summary>
/// 获取或设置已结算金额(单位:分)。
/// </summary>
[Newtonsoft.Json.JsonProperty("settled_revenue_all")]
[System.Text.Json.Serialization.JsonPropertyName("settled_revenue_all")]
public long SettledRevenueAll { get; set; }
/// <summary>
/// 获取或设置结算数据列表。
/// </summary>
[Newtonsoft.Json.JsonProperty("settlement_list")]
[System.Text.Json.Serialization.JsonPropertyName("settlement_list")]
public Types.Settlement[] SettlementList { get; set; } = default!;
/// <summary>
/// 获取或设置结算数据总数量。
/// </summary>
[Newtonsoft.Json.JsonProperty("total_num")]
[System.Text.Json.Serialization.JsonPropertyName("total_num")]
public int TotalCount { get; set; }
public override bool IsSuccessful()
{
return base.IsSuccessful() && ReturnCode == 0;
}
}
}

View File

@ -0,0 +1,38 @@
namespace SKIT.FlurlHttpClient.Wechat.Api.Models
{
/// <summary>
/// <para>表示 [POST] /wxa/operationams?action=get_agency_settled_revenue 接口的请求。</para>
/// </summary>
public class WxaOperationAMSGetAgencySettledRevenueRequest : WechatApiRequest, IInferable<WxaOperationAMSGetAgencySettledRevenueRequest, WxaOperationAMSAgencyGetSettlementResponse>
{
/// <summary>
/// 获取或设置分页页数。
/// <para>默认值1</para>
/// </summary>
[Newtonsoft.Json.JsonProperty("page")]
[System.Text.Json.Serialization.JsonPropertyName("page")]
public int Page { get; set; } = 1;
/// <summary>
/// 获取或设置分页每页数量。
/// <para>默认值10</para>
/// </summary>
[Newtonsoft.Json.JsonProperty("page_size")]
[System.Text.Json.Serialization.JsonPropertyName("page_size")]
public int Limit { get; set; } = 10;
/// <summary>
/// 获取或设置开始日期字符串格式yyyyMMdd
/// </summary>
[Newtonsoft.Json.JsonProperty("start_date")]
[System.Text.Json.Serialization.JsonPropertyName("start_date")]
public string StartDateString { get; set; } = string.Empty;
/// <summary>
/// 获取或设置结束日期字符串格式yyyyMMdd
/// </summary>
[Newtonsoft.Json.JsonProperty("end_date")]
[System.Text.Json.Serialization.JsonPropertyName("end_date")]
public string EndDateString { get; set; } = string.Empty;
}
}

View File

@ -0,0 +1,82 @@
namespace SKIT.FlurlHttpClient.Wechat.Api.Models
{
/// <summary>
/// <para>表示 [POST] /wxa/operationams?action=get_agency_settled_revenue 接口的响应。</para>
/// </summary>
public class WxaOperationAMSGetAgencySettledRevenueResponse : WechatApiResponse
{
public static class Types
{
public class Settlement : WxaOperationAMSAgencyGetSettlementResponse.Types.Settlement
{
public static new class Types
{
public class SlotRevenue : WxaOperationAMSAgencyGetSettlementResponse.Types.Settlement.Types.SlotRevenue
{
}
}
/// <summary>
/// 获取或设置广告位收入列表。
/// </summary>
[Newtonsoft.Json.JsonProperty("slot_revenue")]
[System.Text.Json.Serialization.JsonPropertyName("slot_revenue")]
public new Types.SlotRevenue[] SlotRevenueList { get; set; } = default!;
}
}
/// <summary>
/// 获取或设置返回错误码。
/// </summary>
[Newtonsoft.Json.JsonProperty("ret")]
[System.Text.Json.Serialization.JsonPropertyName("ret")]
public int ReturnCode { get; set; }
/// <summary>
/// 获取或设置返回错误信息。
/// </summary>
[Newtonsoft.Json.JsonProperty("err_msg")]
[System.Text.Json.Serialization.JsonPropertyName("err_msg")]
public string? ReturnMessage { get; set; }
/// <summary>
/// 获取或设置累计收入(单位:分)。
/// </summary>
[Newtonsoft.Json.JsonProperty("revenue_all")]
[System.Text.Json.Serialization.JsonPropertyName("revenue_all")]
public long RevenueAll { get; set; }
/// <summary>
/// 获取或设置扣除金额(单位:分)。
/// </summary>
[Newtonsoft.Json.JsonProperty("penalty_all")]
[System.Text.Json.Serialization.JsonPropertyName("penalty_all")]
public long PenaltyAll { get; set; }
/// <summary>
/// 获取或设置已结算金额(单位:分)。
/// </summary>
[Newtonsoft.Json.JsonProperty("settled_revenue_all")]
[System.Text.Json.Serialization.JsonPropertyName("settled_revenue_all")]
public long SettledRevenueAll { get; set; }
/// <summary>
/// 获取或设置结算数据列表。
/// </summary>
[Newtonsoft.Json.JsonProperty("settlement_list")]
[System.Text.Json.Serialization.JsonPropertyName("settlement_list")]
public Types.Settlement[] SettlementList { get; set; } = default!;
/// <summary>
/// 获取或设置结算数据总数量。
/// </summary>
[Newtonsoft.Json.JsonProperty("total_num")]
[System.Text.Json.Serialization.JsonPropertyName("total_num")]
public int TotalCount { get; set; }
public override bool IsSuccessful()
{
return base.IsSuccessful() && ReturnCode == 0;
}
}
}

View File

@ -0,0 +1,37 @@
{
"ret": 0,
"err_msg": "",
"blacklist_biz": [
{
"id": "id1",
"name": "name1",
"icon": "png_url1"
},
{
"id": "id2",
"name": "name2",
"icon": "png_url2"
}
],
"blacklist_weapp": [
{
"id": "id3",
"name": "name3",
"icon": "png_url3"
}
],
"blacklist_ios": [
{
"id": "id4",
"name": "name4",
"icon": "png_url4"
}
],
"blacklist_android": [
{
"id": "id5",
"name": "name5",
"icon": "png_url5"
}
]
}

View File

@ -0,0 +1,5 @@
{
"ret": 0,
"err_msg": "",
"ams_category": "CHESS|ADULT_SUPPLIES|MEDICAL_HEALTH|INSURANCE|SECURITES|LOAN|LIVING_SERVICES_BEAUTY|LIVING_SERVICES_ENTERTAINMENT|LIVING_SERVICES_OTHERS|FOOD_INDUSTRY|RETAIL_AND_GENERAL_MERCHANDISE|FOOD_AND_DRINK|TECHNICAL_SERVICE"
}

View File

@ -0,0 +1,4 @@
{
"op": 1,
"list": "[{\"type\":1,\"id\":\"gh_f23fc177abe4\"}]"
}

View File

@ -0,0 +1,3 @@
{
"ams_category": "CHESS|ADULT_SUPPLIES|MEDICAL_HEALTH|INSURANCE|SECURITES|LOAN|LIVING_SERVICES_BEAUTY|LIVING_SERVICES_ENTERTAINMENT|LIVING_SERVICES_OTHERS|FOOD_INDUSTRY|RETAIL_AND_GENERAL_MERCHANDISE|FOOD_AND_DRINK|TECHNICAL_SERVICE"
}

View File

@ -0,0 +1,7 @@
{
"page": 1,
"page_size": 8,
"start_date": "2020-04-13",
"end_date": "2020-04-13",
"ad_slot": "SLOT_ID_WEAPP_INTERSTITIAL"
}

View File

@ -0,0 +1,28 @@
{
"err_msg": "ok",
"ret": 0,
"list": [
{
"slot_id": 3030046789020061,
"ad_slot": "SLOT_ID_WEAPP_INTERSTITIAL",
"date": "2020-04-13",
"req_succ_count": 443610,
"exposure_count": 181814,
"exposure_rate": 0.409850995,
"click_count": 10095,
"click_rate": 0.055523777,
"income": 52175,
"ecpm": 286.969100289
}
],
"summary": {
"req_succ_count": 4406394,
"exposure_count": 1797225,
"exposure_rate": 0.407867522,
"click_count": 100167,
"click_rate": 0.055734257,
"income": 578003,
"ecpm": 321.608591022
},
"total_num": 1
}

View File

@ -0,0 +1,7 @@
{
"page": 1,
"page_size": 8,
"start_date": "2020-04-10",
"end_date": "2020-04-10",
"ad_unit_id": "adunit-9cedd8514XXXX"
}

View File

@ -0,0 +1,24 @@
{
"err_msg": "ok",
"ret": 0,
"list": [
{
"ad_unit_id": "adunit-9cedd8514XXXX",
"ad_unit_name": "激励视频长广告",
"stat_item": [
{
"ad_slot": "SLOT_ID_WEAPP_REWARD_VIDEO",
"date": "2020-04-10",
"req_succ_count": 138250,
"exposure_count": 74771,
"exposure_rate": 0.54083906,
"click_count": 2242,
"click_rate": 0.029984887,
"income": 93883,
"ecpm": 6.790813743
}
]
}
],
"total_num": 1
}

View File

@ -0,0 +1,7 @@
{
"name": "测试广告单元",
"type": "SLOT_ID_WEAPP_BANNER",
"video_duration_min": 6,
"video_duration_max": 30,
"tmpl_type": 6
}

View File

@ -0,0 +1,5 @@
{
"ret": 0,
"err_msg": "",
"ad_unit_id": "adunit-04a286aaed8xxxx"
}

View File

@ -0,0 +1,5 @@
{
"ret": 0,
"err_msg": "",
"code": "<ad unit-id=\"adunit-44e668410c5a8e38\"></ad>"
}

View File

@ -0,0 +1,6 @@
{
"page": 1,
"page_size": 8,
"ad_unit_id": "adunit-44e668410cxxxx",
"ad_slot": "SLOT_ID_WEAPP_REWARD_VIDEO"
}

View File

@ -0,0 +1,23 @@
{
"ret": 0,
"err_msg": "ok",
"ad_unit": [
{
"ad_slot": "SLOT_ID_WEAPP_REWARD_VIDEO",
"ad_unit_id": "adunit-e9418ee19XXXXX",
"ad_unit_name": "rewaXXXX",
"ad_unit_size": [
{
"height": 166,
"width": 582
}
],
"ad_unit_status": 1,
"ad_unit_type": "AD_UNIT_TYPE_REWARED_VIDEO",
"appid": "wx0afc78670fXXXX",
"video_duration_max": 30,
"video_duration_min": 6
}
],
"total_num": 1
}

View File

@ -0,0 +1,5 @@
{
"ret": 0,
"err_msg": "",
"cover_scene_list": "1000,1001,1007,1008,1010,1011,1012,1013,1014,1017,1019,1022,1023,1024,1025,1026,1028,1029"
}

View File

@ -0,0 +1,6 @@
{
"ret": 0,
"err_msg": "",
"next_open_time": 1666753817,
"status": 4
}

View File

@ -0,0 +1,3 @@
{
"cover_scene_list": "1000,1001,1007,1008,1010,1011,1012,1013,1014,1017,1019,1022,1023,1024,1025,1026,1028,1029"
}

View File

@ -0,0 +1,8 @@
{
"name": "测试广告单元",
"ad_unit_id": "adunit-04a286aaed8xxxx",
"status": "AD_UNIT_STATUS_ON",
"video_duration_min": 6,
"video_duration_max": 30,
"tmpl_type": 6
}

View File

@ -0,0 +1,7 @@
{
"page": 1,
"page_size": 8,
"ad_slot": "SLOT_ID_WEAPP_TEMPLATE",
"tmpl_id": "adunit-44e668410cxxxx",
"is_return_tmpl_bind_list": 1
}

View File

@ -0,0 +1,31 @@
{
"ret": 0,
"err_msg": "",
"ad_unit_list": [
{
"tmpl_id": "adunit-e9418ee19XXXXX",
"ad_unit_name": "tmpl_text",
"slot_id": "SLOT_ID_WEAPP_TEMPLATE",
"tmpl_bind_list": [
{
"ad_slot": "SLOT_ID_WEAPP_TEMPLATE",
"ad_unit_id": "adunit-e9XXXXXXXXXXXX",
"ad_unit_name": "rewaXXXX",
"ad_unit_size": [
{
"height": 166,
"width": 582
}
],
"ad_unit_status": 1,
"ad_unit_type": "AD_UNIT_TYPE_TEMPLATE_CUSTOM",
"appid": "wx0afc78670fXXXX",
"video_duration_max": 30,
"video_duration_min": 6
}
],
"tmpl_bind_total_num": 1
}
],
"total_num": 1
}

View File

@ -0,0 +1,5 @@
{
"ret": 0,
"err_msg": "",
"share_ratio": 50
}

View File

@ -0,0 +1,4 @@
{
"share_ratio": 50,
"appid": "wxf3dsfsfsdf13d"
}

View File

@ -0,0 +1,6 @@
{
"page": 1,
"page_size": 8,
"start_date": "2020-03-01",
"end_date": "2020-03-16"
}

View File

@ -0,0 +1,30 @@
{
"err_msg": "ok",
"ret": 0,
"penalty_all": 0,
"revenue_all": 5178368698,
"settled_revenue_all": 2613696765,
"settlement_list": [
{
"date": "2020-03-25",
"zone": "2020年3月1日至15日",
"month": "202003",
"order": 1,
"sett_status": 1,
"settled_revenue": 718926045,
"sett_no": "XXX",
"mail_send_cnt": "0",
"slot_revenue": [
{
"slot_id": "SLOT_ID_WEAPP_BANNER",
"slot_settled_revenue": 34139443
},
{
"slot_id": "SLOT_ID_WEAPP_REWARD_VIDEO",
"slot_settled_revenue": 684786602
}
]
}
],
"total_num": 1
}

View File

@ -0,0 +1,6 @@
{
"page": 1,
"page_size": 8,
"start_date": "2020-03-01",
"end_date": "2020-03-16"
}

View File

@ -0,0 +1,30 @@
{
"ret": 0,
"err_msg": "ok",
"penalty_all": 0,
"revenue_all": 5178368698,
"settled_revenue_all": 2613696765,
"settlement_list": [
{
"date": "2020-03-25",
"zone": "2020年3月1日至15日",
"month": "202003",
"order": 1,
"sett_status": 1,
"settled_revenue": 718926045,
"sett_no": "XXX",
"mail_send_cnt": "0",
"slot_revenue": [
{
"slot_id": "SLOT_ID_WEAPP_BANNER",
"slot_settled_revenue": 34139443
},
{
"slot_id": "SLOT_ID_WEAPP_REWARD_VIDEO",
"slot_settled_revenue": 684786602
}
]
}
],
"total_num": 1
}