diff --git a/src/SKIT.FlurlHttpClient.Wechat.Api/Extensions/WechatApiClientExecuteWxaSecExtensions.cs b/src/SKIT.FlurlHttpClient.Wechat.Api/Extensions/WechatApiClientExecuteWxaSecExtensions.cs
index 7811bbab..9d18fbcf 100644
--- a/src/SKIT.FlurlHttpClient.Wechat.Api/Extensions/WechatApiClientExecuteWxaSecExtensions.cs
+++ b/src/SKIT.FlurlHttpClient.Wechat.Api/Extensions/WechatApiClientExecuteWxaSecExtensions.cs
@@ -127,6 +127,54 @@ namespace SKIT.FlurlHttpClient.Wechat.Api
}
#endregion
+ #region FamousBrand
+ ///
+ /// 异步调用 [POST] /wxa/sec/famousbrand/apply 接口。
+ ///
+ /// REF:
+ ///
+ ///
+ ///
+ ///
+ ///
+ ///
+ ///
+ public static async Task ExecuteWxaSecFamousBrandApplyAsync(this WechatApiClient client, Models.WxaSecFamousBrandApplyRequest 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
+ .CreateFlurlRequest(request, HttpMethod.Post, "wxa", "sec", "famousbrand", "apply")
+ .SetQueryParam("access_token", request.AccessToken);
+
+ return await client.SendFlurlRequestAsJsonAsync(flurlReq, data: request, cancellationToken: cancellationToken).ConfigureAwait(false);
+ }
+
+ ///
+ /// 异步调用 [POST] /wxa/sec/famousbrand/get_status 接口。
+ ///
+ /// REF:
+ ///
+ ///
+ ///
+ ///
+ ///
+ ///
+ ///
+ public static async Task ExecuteWxaSecFamousBrandGetStatusAsync(this WechatApiClient client, Models.WxaSecFamousBrandGetStatusRequest 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
+ .CreateFlurlRequest(request, HttpMethod.Post, "wxa", "sec", "famousbrand", "get_status")
+ .SetQueryParam("access_token", request.AccessToken);
+
+ return await client.SendFlurlRequestAsJsonAsync(flurlReq, data: request, cancellationToken: cancellationToken).ConfigureAwait(false);
+ }
+ #endregion
+
#region Order
///
/// 异步调用 [POST] /wxa/sec/order/upload_shipping_info 接口。
diff --git a/src/SKIT.FlurlHttpClient.Wechat.Api/Models/WxaSec/FamousBrand/WxaSecFamousBrandApplyRequest.cs b/src/SKIT.FlurlHttpClient.Wechat.Api/Models/WxaSec/FamousBrand/WxaSecFamousBrandApplyRequest.cs
new file mode 100644
index 00000000..35db31df
--- /dev/null
+++ b/src/SKIT.FlurlHttpClient.Wechat.Api/Models/WxaSec/FamousBrand/WxaSecFamousBrandApplyRequest.cs
@@ -0,0 +1,85 @@
+using System.Collections.Generic;
+
+namespace SKIT.FlurlHttpClient.Wechat.Api.Models
+{
+ ///
+ /// 表示 [POST] /wxa/sec/famousbrand/apply 接口的请求。
+ ///
+ public class WxaSecFamousBrandApplyRequest : WechatApiRequest, IInferable
+ {
+ public static class Types
+ {
+ public class Application
+ {
+ public static class Types
+ {
+ public class AuditInfo
+ {
+ ///
+ /// 获取或设置品牌名称。
+ ///
+ [Newtonsoft.Json.JsonProperty("brand_name")]
+ [System.Text.Json.Serialization.JsonPropertyName("brand_name")]
+ public string BrandName { get; set; } = string.Empty;
+
+ ///
+ /// 获取或设置品牌类型。
+ ///
+ [Newtonsoft.Json.JsonProperty("brand_type")]
+ [System.Text.Json.Serialization.JsonPropertyName("brand_type")]
+ public int BrandType { get; set; }
+
+ ///
+ /// 获取或设置电商平台旗舰店。
+ ///
+ [Newtonsoft.Json.JsonProperty("flagship_in_which_ec_platform")]
+ [System.Text.Json.Serialization.JsonPropertyName("flagship_in_which_ec_platform")]
+ public string? FlagshipInWhichECPlatform { get; set; }
+
+ ///
+ /// 获取或设置电商平台旗舰店佐证材料 MediaId 列表。
+ ///
+ [Newtonsoft.Json.JsonProperty("ec_platform_proof_list")]
+ [System.Text.Json.Serialization.JsonPropertyName("ec_platform_proof_list")]
+ public IList? ECPlatformProofMediaIdList { get; set; }
+
+ ///
+ /// 获取或设置其他补充说明材料 MediaId 列表。
+ ///
+ [Newtonsoft.Json.JsonProperty("other_material_list")]
+ [System.Text.Json.Serialization.JsonPropertyName("other_material_list")]
+ public IList? OtherMaterialMediaIdList { get; set; }
+
+ ///
+ /// 获取或设置有关部门认定的驰名商标佐证材料 MediaId 列表。
+ ///
+ [Newtonsoft.Json.JsonProperty("authority_certified_proof_list")]
+ [System.Text.Json.Serialization.JsonPropertyName("authority_certified_proof_list")]
+ public IList? AuthorityCertifiedProofMediaIdList { get; set; }
+ }
+ }
+
+ ///
+ /// 获取或设置品牌申请类型。
+ ///
+ [Newtonsoft.Json.JsonProperty("apply_for")]
+ [System.Text.Json.Serialization.JsonPropertyName("apply_for")]
+ public int ApplyForType { get; set; }
+
+ ///
+ /// 获取或设置品牌信息。
+ ///
+ [Newtonsoft.Json.JsonProperty("audit_info")]
+ [System.Text.Json.Serialization.JsonPropertyName("audit_info")]
+ public Types.AuditInfo? AuditInfo { get; set; }
+ }
+ }
+
+ ///
+ /// 获取或设置申请信息。
+ ///
+ [Newtonsoft.Json.JsonProperty("Application")]
+ [System.Text.Json.Serialization.JsonPropertyName("Application")]
+ public Types.Application Application { get; set; } = new Types.Application();
+ }
+}
diff --git a/src/SKIT.FlurlHttpClient.Wechat.Api/Models/WxaSec/FamousBrand/WxaSecFamousBrandApplyResponse.cs b/src/SKIT.FlurlHttpClient.Wechat.Api/Models/WxaSec/FamousBrand/WxaSecFamousBrandApplyResponse.cs
new file mode 100644
index 00000000..3d0d46ee
--- /dev/null
+++ b/src/SKIT.FlurlHttpClient.Wechat.Api/Models/WxaSec/FamousBrand/WxaSecFamousBrandApplyResponse.cs
@@ -0,0 +1,9 @@
+namespace SKIT.FlurlHttpClient.Wechat.Api.Models
+{
+ ///
+ /// 表示 [POST] /wxa/sec/famousbrand/apply 接口的响应。
+ ///
+ public class WxaSecFamousBrandApplyResponse : WechatApiResponse
+ {
+ }
+}
diff --git a/src/SKIT.FlurlHttpClient.Wechat.Api/Models/WxaSec/FamousBrand/WxaSecFamousBrandGetStatusRequest.cs b/src/SKIT.FlurlHttpClient.Wechat.Api/Models/WxaSec/FamousBrand/WxaSecFamousBrandGetStatusRequest.cs
new file mode 100644
index 00000000..9221035a
--- /dev/null
+++ b/src/SKIT.FlurlHttpClient.Wechat.Api/Models/WxaSec/FamousBrand/WxaSecFamousBrandGetStatusRequest.cs
@@ -0,0 +1,9 @@
+namespace SKIT.FlurlHttpClient.Wechat.Api.Models
+{
+ ///
+ /// 表示 [POST] /wxa/sec/famousbrand/get_status 接口的请求。
+ ///
+ public class WxaSecFamousBrandGetStatusRequest : WechatApiRequest, IInferable
+ {
+ }
+}
diff --git a/src/SKIT.FlurlHttpClient.Wechat.Api/Models/WxaSec/FamousBrand/WxaSecFamousBrandGetStatusResponse.cs b/src/SKIT.FlurlHttpClient.Wechat.Api/Models/WxaSec/FamousBrand/WxaSecFamousBrandGetStatusResponse.cs
new file mode 100644
index 00000000..3785dc1c
--- /dev/null
+++ b/src/SKIT.FlurlHttpClient.Wechat.Api/Models/WxaSec/FamousBrand/WxaSecFamousBrandGetStatusResponse.cs
@@ -0,0 +1,72 @@
+namespace SKIT.FlurlHttpClient.Wechat.Api.Models
+{
+ ///
+ /// 表示 [POST] /wxa/sec/famousbrand/get_status 接口的响应。
+ ///
+ public class WxaSecFamousBrandGetStatusResponse : WechatApiResponse
+ {
+ public static class Types
+ {
+ public class Progress
+ {
+ ///
+ /// 获取或设置申请状态。
+ ///
+ [Newtonsoft.Json.JsonProperty("status")]
+ [System.Text.Json.Serialization.JsonPropertyName("status")]
+ public int Status { get; set; }
+ }
+
+ public class Application
+ {
+ public static class Types
+ {
+ public class AuditInfo
+ {
+ ///
+ /// 获取或设置审核原因。
+ ///
+ [Newtonsoft.Json.JsonProperty("audit_reason")]
+ [System.Text.Json.Serialization.JsonPropertyName("audit_reason")]
+ public string? AuditReason { get; set; }
+ }
+ }
+
+ ///
+ /// 获取或设置品牌申请类型。
+ ///
+ [Newtonsoft.Json.JsonProperty("apply_for")]
+ [System.Text.Json.Serialization.JsonPropertyName("apply_for")]
+ public int ApplyForType { get; set; }
+
+ ///
+ /// 获取或设置审核信息。
+ ///
+ [Newtonsoft.Json.JsonProperty("audit_info")]
+ [System.Text.Json.Serialization.JsonPropertyName("audit_info")]
+ public Types.AuditInfo? AuditInfo { get; set; }
+
+ ///
+ /// 获取或设置申请状态。
+ ///
+ [Newtonsoft.Json.JsonProperty("status")]
+ [System.Text.Json.Serialization.JsonPropertyName("status")]
+ public int Status { get; set; }
+ }
+ }
+
+ ///
+ /// 获取或设置申请信息。
+ ///
+ [Newtonsoft.Json.JsonProperty("progress")]
+ [System.Text.Json.Serialization.JsonPropertyName("progress")]
+ public Types.Progress Progress { get; set; } = default!;
+
+ ///
+ /// 获取或设置申请信息。
+ ///
+ [Newtonsoft.Json.JsonProperty("application")]
+ [System.Text.Json.Serialization.JsonPropertyName("application")]
+ public Types.Application Application { get; set; } = default!;
+ }
+}
diff --git a/test/SKIT.FlurlHttpClient.Wechat.Api.UnitTests/ModelSamples/WxaSec/FamousBrand/WxaSecFamousBrandApplyRequest.json b/test/SKIT.FlurlHttpClient.Wechat.Api.UnitTests/ModelSamples/WxaSec/FamousBrand/WxaSecFamousBrandApplyRequest.json
new file mode 100644
index 00000000..d9028c40
--- /dev/null
+++ b/test/SKIT.FlurlHttpClient.Wechat.Api.UnitTests/ModelSamples/WxaSec/FamousBrand/WxaSecFamousBrandApplyRequest.json
@@ -0,0 +1,19 @@
+{
+ "Application": {
+ "apply_for": 2,
+ "audit_info": {
+ "brand_name": "我的小店",
+ "brand_type": 4,
+ "flagship_in_which_ec_platform": "淘宝",
+ "ec_platform_proof_list": [
+ "R7oH3VuVWboktgKh3QABx2UqbeNoUDJzLdDjLVvi4kLEOtkCTAGmX9g8-xxxxxx"
+ ],
+ "other_material_list": [
+ "R7oH3VuVWboktgKh3QABx2UqbeNoUDJzLdDjLVvi4kLEOtkCTAGmX9g8-xxxxxx"
+ ],
+ "authority_certified_proof_list": [
+ "R7oH3VuVWboktgKh3QABx2UqbeNoUDJzLdDjLVvi4kLEOtkCTAGmX9g8-xxxxxx"
+ ]
+ }
+ }
+}
diff --git a/test/SKIT.FlurlHttpClient.Wechat.Api.UnitTests/ModelSamples/WxaSec/FamousBrand/WxaSecFamousBrandGetStatusResponse.json b/test/SKIT.FlurlHttpClient.Wechat.Api.UnitTests/ModelSamples/WxaSec/FamousBrand/WxaSecFamousBrandGetStatusResponse.json
new file mode 100644
index 00000000..01bfa910
--- /dev/null
+++ b/test/SKIT.FlurlHttpClient.Wechat.Api.UnitTests/ModelSamples/WxaSec/FamousBrand/WxaSecFamousBrandGetStatusResponse.json
@@ -0,0 +1,14 @@
+{
+ "errcode": 0,
+ "errmsg": "ok",
+ "progress": {
+ "status": 0
+ },
+ "application": {
+ "apply_for": 1,
+ "audit_info": {
+ "audit_reason": ""
+ },
+ "status": 0
+ }
+}