{
  "openapi": "3.0.3",
  "info": {
    "title": "ZCard API — application/json wire reference",
    "version": "v1.2.87",
    "description": "Source 8d546e423153e3255284692b8db05d4b49b64dc2. JSON field names and 64-bit numeric types reconciled against generated Go types and Kratos v3 JSON codec. Manual compatibility routes are not included. See /api/conventions for limitations."
  },
  "paths": {
    "/api/supply/categories": {
      "post": {
        "tags": [
          "SupplyService"
        ],
        "description": "当前实现返回空分类集合，空字段可能省略。尚不能通过此接口获取完整分类树。",
        "operationId": "SupplyService_ListCategories",
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/zcard.api.supply.v1.ListCategoriesReply"
                }
              }
            }
          }
        },
        "security": [
          {
            "supplyKey": []
          }
        ]
      }
    },
    "/api/supply/orders": {
      "get": {
        "tags": [
          "SupplyService"
        ],
        "description": "仅返回当前认证账号的订单，时间范围为 [start, end)，最长 31 天，按内部 ID 升序排列。",
        "operationId": "SupplyService_ListOrders",
        "parameters": [
          {
            "name": "start",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "end",
            "in": "query",
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/zcard.api.supply.v1.ListSupplyOrdersReply"
                }
              }
            }
          }
        },
        "security": [
          {
            "supplyKey": []
          }
        ]
      },
      "post": {
        "tags": [
          "SupplyService"
        ],
        "description": "按账号与下游单号幂等；重复单号修改商品或数量返回 HTTP 409。商品级卡密交付与扣款、状态及回调登记共用事务，仍不消费 sku_id。",
        "operationId": "SupplyService_CreateOrder",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/zcard.api.supply.v1.CreateSupplyOrderRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/zcard.api.supply.v1.CreateSupplyOrderReply"
                }
              }
            }
          }
        },
        "security": [
          {
            "supplyKey": []
          }
        ]
      }
    },
    "/api/supply/orders/{id}": {
      "get": {
        "tags": [
          "SupplyService"
        ],
        "description": "只读取当前认证账号的订单；其他账号或不存在的订单返回 HTTP 404、supply.ORDER_NOT_FOUND。",
        "operationId": "SupplyService_GetOrder",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/zcard.api.supply.v1.GetSupplyOrderReply"
                }
              }
            }
          }
        },
        "security": [
          {
            "supplyKey": []
          }
        ]
      }
    },
    "/api/supply/orders/{id}/cancel": {
      "post": {
        "tags": [
          "SupplyService"
        ],
        "description": "仅处理当前账号的可退款未交付订单，与退款共用事务和幂等键；有实付记录时变为 refunded，无实付时变为 rejected。交付中、已交付或有卡密快照时返回 ok=false，默认 JSON 可能省略。",
        "operationId": "SupplyService_CancelOrder",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/zcard.api.supply.v1.CancelSupplyOrderReply"
                }
              }
            }
          }
        },
        "security": [
          {
            "supplyKey": []
          }
        ]
      }
    },
    "/api/supply/orders/{id}/refund": {
      "post": {
        "tags": [
          "SupplyService"
        ],
        "description": "仅退当前账号、本订单实际扣款减去历史退款；与取消共用事务和退款幂等键。交付中、已交付或有卡密快照时返回 refund_not_allowed，需联系管理员，不会自动建立审批工单。",
        "operationId": "SupplyService_RefundOrder",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/zcard.api.supply.v1.RefundSupplyOrderReply"
                }
              }
            }
          }
        },
        "security": [
          {
            "supplyKey": []
          }
        ]
      }
    },
    "/api/supply/ping": {
      "get": {
        "tags": [
          "SupplyService"
        ],
        "description": "免签名连通性探测。当前 HTTP 过滤器跳过该路由，不注入供货账号；不能依靠此接口查询账户余额。",
        "operationId": "SupplyService_Ping",
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/zcard.api.supply.v1.PingReply"
                }
              }
            }
          }
        },
        "security": []
      }
    },
    "/api/supply/products": {
      "get": {
        "tags": [
          "SupplyService"
        ],
        "description": "当前填充基础商品资料与供货价格，不填充 stock / skus；库存使用独立查询接口。",
        "operationId": "SupplyService_ListProducts",
        "parameters": [
          {
            "name": "page",
            "in": "query",
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "name": "page_size",
            "in": "query",
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "name": "include_inactive",
            "in": "query",
            "schema": {
              "type": "boolean"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/zcard.api.supply.v1.ListProductsReply"
                }
              }
            }
          }
        },
        "security": [
          {
            "supplyKey": []
          }
        ]
      }
    },
    "/api/supply/products/{id}": {
      "get": {
        "tags": [
          "SupplyService"
        ],
        "description": "当前仅填充 id、name、price、factory_price、is_active，其他定义字段可能省略。",
        "operationId": "SupplyService_GetProduct",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/zcard.api.supply.v1.GetProductReply"
                }
              }
            }
          }
        },
        "security": [
          {
            "supplyKey": []
          }
        ]
      }
    },
    "/api/supply/products/{id}/stock": {
      "get": {
        "tags": [
          "SupplyService"
        ],
        "description": "GetStock 实时库存（-1=无限）。",
        "operationId": "SupplyService_GetStock",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/zcard.api.supply.v1.GetStockReply"
                }
              }
            }
          }
        },
        "security": [
          {
            "supplyKey": []
          }
        ]
      }
    },
    "/api/v1/admin/admins": {
      "get": {
        "tags": [
          "AdminUserService"
        ],
        "description": "ListAdmins 员工列表。",
        "operationId": "AdminUserService_ListAdmins",
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/zcard.api.admin.v1.ListAdminsReply"
                }
              }
            }
          }
        }
      },
      "post": {
        "tags": [
          "AdminUserService"
        ],
        "description": "CreateAdmin 创建员工（密码 bcrypt）。",
        "operationId": "AdminUserService_CreateAdmin",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/zcard.api.admin.v1.CreateAdminRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/zcard.api.admin.v1.Admin"
                }
              }
            }
          }
        }
      }
    },
    "/api/v1/admin/admins/{id}": {
      "put": {
        "tags": [
          "AdminUserService"
        ],
        "description": "UpdateAdmin 修改员工（昵称/头像/角色）。",
        "operationId": "AdminUserService_UpdateAdmin",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/zcard.api.admin.v1.UpdateAdminRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/zcard.api.admin.v1.Admin"
                }
              }
            }
          }
        }
      },
      "delete": {
        "tags": [
          "AdminUserService"
        ],
        "description": "DeleteAdmin 删除员工（内置超管角色与本人不可删；其管理面会话一并清除）。",
        "operationId": "AdminUserService_DeleteAdmin",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {}
          }
        }
      }
    },
    "/api/v1/admin/admins/{id}/reset-password": {
      "put": {
        "tags": [
          "AdminUserService"
        ],
        "description": "ResetAdminPassword 重置员工密码（≥8 位 bcrypt；吊销其全部管理面会话强制重登）。",
        "operationId": "AdminUserService_ResetAdminPassword",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/zcard.api.admin.v1.ResetAdminPasswordRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/zcard.api.admin.v1.Admin"
                }
              }
            }
          }
        }
      }
    },
    "/api/v1/admin/admins/{id}/toggle": {
      "put": {
        "tags": [
          "AdminUserService"
        ],
        "description": "ToggleAdmin 启用/禁用员工。",
        "operationId": "AdminUserService_ToggleAdmin",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/zcard.api.admin.v1.ToggleAdminRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/zcard.api.admin.v1.Admin"
                }
              }
            }
          }
        }
      }
    },
    "/api/v1/admin/admins/{id}/totp-reset": {
      "put": {
        "tags": [
          "AdminUserService"
        ],
        "description": "ResetAdminTOTP 解绑员工 TOTP（吊销其全部管理面会话强制重登）。",
        "operationId": "AdminUserService_ResetAdminTOTP",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/zcard.api.admin.v1.ResetAdminTOTPRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/zcard.api.admin.v1.Admin"
                }
              }
            }
          }
        }
      }
    },
    "/api/v1/admin/affiliate/commissions": {
      "get": {
        "tags": [
          "AdminDashboardService"
        ],
        "description": "ListCommissions 佣金列表(affiliate）。",
        "operationId": "AdminDashboardService_ListCommissions",
        "parameters": [
          {
            "name": "status",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "page",
            "in": "query",
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "name": "page_size",
            "in": "query",
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/zcard.api.admin.v1.ListCommissionsReply"
                }
              }
            }
          }
        }
      }
    },
    "/api/v1/admin/audit/blacklist": {
      "get": {
        "tags": [
          "AdminAuditService"
        ],
        "description": "GetBlacklist IP 黑名单。",
        "operationId": "AdminAuditService_GetBlacklist",
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/zcard.api.admin.v1.GetBlacklistReply"
                }
              }
            }
          }
        }
      },
      "put": {
        "tags": [
          "AdminAuditService"
        ],
        "description": "SetBlacklist 设置黑名单（精确 IP 或 CIDR 段，逗号分隔）。",
        "operationId": "AdminAuditService_SetBlacklist",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/zcard.api.admin.v1.SetBlacklistRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {}
          }
        }
      }
    },
    "/api/v1/admin/audit/op-logs": {
      "get": {
        "tags": [
          "AdminAuditService"
        ],
        "description": "ListOpLogs 操作审计。",
        "operationId": "AdminAuditService_ListOpLogs",
        "parameters": [
          {
            "name": "operator_id",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "page",
            "in": "query",
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "name": "page_size",
            "in": "query",
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/zcard.api.admin.v1.ListOpLogsReply"
                }
              }
            }
          }
        }
      }
    },
    "/api/v1/admin/audit/security-logs": {
      "get": {
        "tags": [
          "AdminAuditService"
        ],
        "description": "ListSecurityLogs 安全审计。",
        "operationId": "AdminAuditService_ListSecurityLogs",
        "parameters": [
          {
            "name": "action",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "page",
            "in": "query",
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "name": "page_size",
            "in": "query",
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/zcard.api.admin.v1.ListSecurityLogsReply"
                }
              }
            }
          }
        }
      }
    },
    "/api/v1/admin/audit/visit-stats": {
      "get": {
        "tags": [
          "AdminAuditService"
        ],
        "description": "ListVisitStats 访问统计。",
        "operationId": "AdminAuditService_ListVisitStats",
        "parameters": [
          {
            "name": "stat_date",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "page",
            "in": "query",
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "name": "page_size",
            "in": "query",
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/zcard.api.admin.v1.ListVisitStatsReply"
                }
              }
            }
          }
        }
      }
    },
    "/api/v1/admin/auth/captcha-config": {
      "get": {
        "tags": [
          "AdminAuthService"
        ],
        "description": "GetCaptchaConfig 登录验证码开关（免鉴权；登录页据此条件渲染验证码区）。",
        "operationId": "AdminAuthService_GetCaptchaConfig",
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/zcard.api.admin.v1.CaptchaConfigReply"
                }
              }
            }
          }
        }
      }
    },
    "/api/v1/admin/auth/captcha/image": {
      "get": {
        "tags": [
          "AdminAuthService"
        ],
        "description": "GetCaptchaImage 登录图形验证码（免鉴权；captcha_admin_login 开启时登录页使用）。",
        "operationId": "AdminAuthService_GetCaptchaImage",
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/zcard.api.admin.v1.CaptchaImageReply"
                }
              }
            }
          }
        }
      }
    },
    "/api/v1/admin/auth/login": {
      "post": {
        "tags": [
          "AdminAuthService"
        ],
        "description": "Login 管理员登录。密码 bcrypt 校验；TOTP 校验；captcha_admin_login 开启时图形验证码必填。",
        "operationId": "AdminAuthService_Login",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/zcard.api.admin.v1.LoginRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/zcard.api.admin.v1.LoginReply"
                }
              }
            }
          }
        }
      }
    },
    "/api/v1/admin/auth/logout": {
      "post": {
        "tags": [
          "AdminAuthService"
        ],
        "description": "传入 refresh_token 时撤销对应刷新会话；未传时返回空成功响应。客户端仍需清理本地令牌。",
        "operationId": "AdminAuthService_Logout",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/zcard.api.admin.v1.LogoutRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {}
          }
        }
      }
    },
    "/api/v1/admin/auth/password": {
      "post": {
        "tags": [
          "AdminAuthService"
        ],
        "description": "ChangePassword 修改当前账号密码，并使全部旧会话失效。",
        "operationId": "AdminAuthService_ChangePassword",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/zcard.api.admin.v1.ChangeAdminPasswordRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {}
          }
        }
      }
    },
    "/api/v1/admin/auth/profile": {
      "get": {
        "tags": [
          "AdminAuthService"
        ],
        "description": "返回当前管理员资料与已实现的权限点清单；读取权限失败时返回空清单，服务端逐请求独立校验权限。",
        "operationId": "AdminAuthService_GetProfile",
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/zcard.api.admin.v1.GetProfileReply"
                }
              }
            }
          }
        }
      }
    },
    "/api/v1/admin/auth/refresh": {
      "post": {
        "tags": [
          "AdminAuthService"
        ],
        "description": "RefreshToken 用 refresh token 换新令牌对（一次性轮换）。",
        "operationId": "AdminAuthService_RefreshToken",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/zcard.api.admin.v1.RefreshTokenRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/zcard.api.admin.v1.LoginReply"
                }
              }
            }
          }
        }
      }
    },
    "/api/v1/admin/auth/totp/cancel": {
      "post": {
        "tags": [
          "AdminAuthService"
        ],
        "operationId": "AdminAuthService_CancelTOTP",
        "requestBody": {
          "content": {
            "application/json": {}
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {}
          }
        }
      }
    },
    "/api/v1/admin/auth/totp/confirm": {
      "post": {
        "tags": [
          "AdminAuthService"
        ],
        "description": "ConfirmTOTP 验证一次确认绑定。",
        "operationId": "AdminAuthService_ConfirmTOTP",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/zcard.api.admin.v1.ConfirmTOTPRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/zcard.api.admin.v1.RecoveryCodesReply"
                }
              }
            }
          }
        }
      }
    },
    "/api/v1/admin/auth/totp/disable": {
      "post": {
        "tags": [
          "AdminAuthService"
        ],
        "description": "DisableTOTP 解绑。",
        "operationId": "AdminAuthService_DisableTOTP",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/zcard.api.admin.v1.ConfirmTOTPRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {}
          }
        }
      }
    },
    "/api/v1/admin/auth/totp/enable": {
      "post": {
        "tags": [
          "AdminAuthService"
        ],
        "description": "EnableTOTP 生成 TOTP 密钥（返回 otpauth URL 供二维码）。",
        "operationId": "AdminAuthService_EnableTOTP",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/zcard.api.admin.v1.ConfirmTOTPRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/zcard.api.admin.v1.EnableTOTPReply"
                }
              }
            }
          }
        }
      }
    },
    "/api/v1/admin/auth/totp/reset": {
      "post": {
        "tags": [
          "AdminAuthService"
        ],
        "operationId": "AdminAuthService_ResetTOTP",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/zcard.api.admin.v1.ResetTOTPRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {}
          }
        }
      }
    },
    "/api/v1/admin/authz/permissions": {
      "get": {
        "tags": [
          "RoleService"
        ],
        "description": "GetPermissionTree 权限目录树（域分组 + 中文描述；前端勾选与菜单数据源）。",
        "operationId": "RoleService_GetPermissionTree",
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/zcard.api.admin.v1.PermissionTree"
                }
              }
            }
          }
        }
      }
    },
    "/api/v1/admin/authz/roles": {
      "get": {
        "tags": [
          "RoleService"
        ],
        "description": "ListRoles 角色列表（含权限点数量）。",
        "operationId": "RoleService_ListRoles",
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/zcard.api.admin.v1.ListRolesReply"
                }
              }
            }
          }
        }
      },
      "post": {
        "tags": [
          "RoleService"
        ],
        "description": "CreateRole 创建角色。",
        "operationId": "RoleService_CreateRole",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/zcard.api.admin.v1.CreateRoleRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/zcard.api.admin.v1.Role"
                }
              }
            }
          }
        }
      }
    },
    "/api/v1/admin/authz/roles/{id}": {
      "get": {
        "tags": [
          "RoleService"
        ],
        "description": "GetRole 角色详情（含权限点清单）。",
        "operationId": "RoleService_GetRole",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/zcard.api.admin.v1.Role"
                }
              }
            }
          }
        }
      },
      "put": {
        "tags": [
          "RoleService"
        ],
        "description": "UpdateRole 修改角色（名称/描述；内置角色 code 不可改）。",
        "operationId": "RoleService_UpdateRole",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/zcard.api.admin.v1.UpdateRoleRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/zcard.api.admin.v1.Role"
                }
              }
            }
          }
        }
      },
      "delete": {
        "tags": [
          "RoleService"
        ],
        "description": "DeleteRole 删除角色（内置角色拒绝；仍有员工挂载拒绝）。",
        "operationId": "RoleService_DeleteRole",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {}
          }
        }
      }
    },
    "/api/v1/admin/authz/roles/{id}/permissions": {
      "put": {
        "tags": [
          "RoleService"
        ],
        "description": "UpdateRolePermissions 全量替换角色权限点集（变更实时生效）。",
        "operationId": "RoleService_UpdateRolePermissions",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/zcard.api.admin.v1.UpdateRolePermissionsRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/zcard.api.admin.v1.Role"
                }
              }
            }
          }
        }
      }
    },
    "/api/v1/admin/categories": {
      "get": {
        "tags": [
          "AdminCatalogService"
        ],
        "description": "── 分类 ──",
        "operationId": "AdminCatalogService_ListCategories",
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/zcard.api.admin.v1.CategoryList"
                }
              }
            }
          }
        }
      },
      "post": {
        "tags": [
          "AdminCatalogService"
        ],
        "operationId": "AdminCatalogService_CreateCategory",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/zcard.api.admin.v1.CreateCategoryRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/zcard.api.admin.v1.Category"
                }
              }
            }
          }
        }
      }
    },
    "/api/v1/admin/categories/merge": {
      "post": {
        "tags": [
          "AdminCatalogService"
        ],
        "operationId": "AdminCatalogService_MergeCategories",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/zcard.api.admin.v1.MergeCategoriesRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/zcard.api.admin.v1.MergeCategoriesReply"
                }
              }
            }
          }
        }
      }
    },
    "/api/v1/admin/categories/reorder": {
      "post": {
        "tags": [
          "AdminCatalogService"
        ],
        "description": "ReorderCategories 分类排序（拖拽重排：把某层级全部兄弟按 ids 顺序重排并归一化 sort）。",
        "operationId": "AdminCatalogService_ReorderCategories",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/zcard.api.admin.v1.ReorderCategoriesRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {}
          }
        }
      }
    },
    "/api/v1/admin/categories/{category_id}/placements": {
      "get": {
        "tags": [
          "AdminCatalogService"
        ],
        "operationId": "AdminCatalogService_GetCategoryPlacements",
        "parameters": [
          {
            "name": "category_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/zcard.api.admin.v1.CategoryPlacementsReply"
                }
              }
            }
          }
        }
      },
      "put": {
        "tags": [
          "AdminCatalogService"
        ],
        "operationId": "AdminCatalogService_SetCategoryPlacements",
        "parameters": [
          {
            "name": "category_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/zcard.api.admin.v1.SetCategoryPlacementsRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/zcard.api.admin.v1.CategoryPlacementsReply"
                }
              }
            }
          }
        }
      }
    },
    "/api/v1/admin/categories/{id}": {
      "put": {
        "tags": [
          "AdminCatalogService"
        ],
        "operationId": "AdminCatalogService_UpdateCategory",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/zcard.api.admin.v1.UpdateCategoryRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/zcard.api.admin.v1.Category"
                }
              }
            }
          }
        }
      },
      "delete": {
        "tags": [
          "AdminCatalogService"
        ],
        "operationId": "AdminCatalogService_DeleteCategory",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {}
          }
        }
      }
    },
    "/api/v1/admin/content/banners": {
      "get": {
        "tags": [
          "AdminContentService"
        ],
        "description": "ListBanners 横幅列表（全量含停用）。",
        "operationId": "AdminContentService_ListBanners",
        "parameters": [
          {
            "name": "position",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "page",
            "in": "query",
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "name": "page_size",
            "in": "query",
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/zcard.api.admin.v1.ListBannersReply"
                }
              }
            }
          }
        }
      },
      "post": {
        "tags": [
          "AdminContentService"
        ],
        "description": "CreateBanner 创建横幅（时间窗/跳转类型）。",
        "operationId": "AdminContentService_CreateBanner",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/zcard.api.admin.v1.CreateBannerRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/zcard.api.admin.v1.Banner"
                }
              }
            }
          }
        }
      }
    },
    "/api/v1/admin/content/banners/{id}": {
      "put": {
        "tags": [
          "AdminContentService"
        ],
        "description": "UpdateBanner 更新横幅。",
        "operationId": "AdminContentService_UpdateBanner",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/zcard.api.admin.v1.UpdateBannerRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/zcard.api.admin.v1.Banner"
                }
              }
            }
          }
        }
      },
      "delete": {
        "tags": [
          "AdminContentService"
        ],
        "description": "DeleteBanner 删除横幅。",
        "operationId": "AdminContentService_DeleteBanner",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {}
          }
        }
      }
    },
    "/api/v1/admin/content/categories": {
      "get": {
        "tags": [
          "AdminContentService"
        ],
        "description": "ListCategories 分类列表。",
        "operationId": "AdminContentService_ListCategories",
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/zcard.api.admin.v1.ListPostCategoriesAdminReply"
                }
              }
            }
          }
        }
      },
      "post": {
        "tags": [
          "AdminContentService"
        ],
        "description": "CreateCategory 创建文章分类。",
        "operationId": "AdminContentService_CreateCategory",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/zcard.api.admin.v1.CreatePostCategoryRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/zcard.api.admin.v1.PostCategory"
                }
              }
            }
          }
        }
      }
    },
    "/api/v1/admin/content/categories/{id}": {
      "put": {
        "tags": [
          "AdminContentService"
        ],
        "description": "UpdateCategory 更新分类。",
        "operationId": "AdminContentService_UpdateCategory",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/zcard.api.admin.v1.UpdatePostCategoryRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/zcard.api.admin.v1.PostCategory"
                }
              }
            }
          }
        }
      },
      "delete": {
        "tags": [
          "AdminContentService"
        ],
        "description": "DeleteCategory 删除分类（存在文章时拒绝）。",
        "operationId": "AdminContentService_DeleteCategory",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {}
          }
        }
      }
    },
    "/api/v1/admin/content/posts": {
      "get": {
        "tags": [
          "AdminContentService"
        ],
        "description": "ListPosts 文章列表（全量含草稿）。",
        "operationId": "AdminContentService_ListPosts",
        "parameters": [
          {
            "name": "type",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "page",
            "in": "query",
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "name": "page_size",
            "in": "query",
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/zcard.api.admin.v1.ListPostsReply"
                }
              }
            }
          }
        }
      },
      "post": {
        "tags": [
          "AdminContentService"
        ],
        "description": "CreatePost 创建文章（草稿/发布）。",
        "operationId": "AdminContentService_CreatePost",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/zcard.api.admin.v1.CreatePostRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/zcard.api.admin.v1.Post"
                }
              }
            }
          }
        }
      }
    },
    "/api/v1/admin/content/posts/{id}": {
      "put": {
        "tags": [
          "AdminContentService"
        ],
        "description": "UpdatePost 更新文章。",
        "operationId": "AdminContentService_UpdatePost",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/zcard.api.admin.v1.UpdatePostRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/zcard.api.admin.v1.Post"
                }
              }
            }
          }
        }
      },
      "delete": {
        "tags": [
          "AdminContentService"
        ],
        "description": "DeletePost 删除文章。",
        "operationId": "AdminContentService_DeletePost",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {}
          }
        }
      }
    },
    "/api/v1/admin/content/posts/{id}/publish": {
      "post": {
        "tags": [
          "AdminContentService"
        ],
        "description": "PublishPost 发布/取消发布（首发回填 published_at）。",
        "operationId": "AdminContentService_PublishPost",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/zcard.api.admin.v1.PublishPostRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/zcard.api.admin.v1.Post"
                }
              }
            }
          }
        }
      }
    },
    "/api/v1/admin/controls/{id}": {
      "put": {
        "tags": [
          "AdminCatalogService"
        ],
        "operationId": "AdminCatalogService_UpdateControl",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/zcard.api.admin.v1.UpdateControlRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/zcard.api.admin.v1.AdminControl"
                }
              }
            }
          }
        }
      },
      "delete": {
        "tags": [
          "AdminCatalogService"
        ],
        "operationId": "AdminCatalogService_DeleteControl",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {}
          }
        }
      }
    },
    "/api/v1/admin/coupons": {
      "get": {
        "tags": [
          "AdminCouponService"
        ],
        "operationId": "AdminCouponService_ListCoupons",
        "parameters": [
          {
            "name": "status",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "batch_id",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "page",
            "in": "query",
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "name": "page_size",
            "in": "query",
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/zcard.api.admin.v1.CouponList"
                }
              }
            }
          }
        }
      }
    },
    "/api/v1/admin/coupons/batch": {
      "post": {
        "tags": [
          "AdminCouponService"
        ],
        "operationId": "AdminCouponService_CreateCouponBatch",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/zcard.api.admin.v1.CreateCouponBatchRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/zcard.api.admin.v1.CreateCouponBatchReply"
                }
              }
            }
          }
        }
      }
    },
    "/api/v1/admin/coupons/delete": {
      "post": {
        "tags": [
          "AdminCouponService"
        ],
        "description": "DeleteCoupons 批量删除券（仅未使用；可按 id 列表或整批未使用）。",
        "operationId": "AdminCouponService_DeleteCoupons",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/zcard.api.admin.v1.DeleteCouponsRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/zcard.api.admin.v1.DeleteCouponsReply"
                }
              }
            }
          }
        }
      }
    },
    "/api/v1/admin/coupons/disable": {
      "post": {
        "tags": [
          "AdminCouponService"
        ],
        "operationId": "AdminCouponService_DisableCoupon",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/zcard.api.admin.v1.DisableCouponRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {}
          }
        }
      }
    },
    "/api/v1/admin/coupons/export": {
      "get": {
        "tags": [
          "AdminCouponService"
        ],
        "description": "ExportCoupons 导出券码 CSV（按状态/批次，含表头）。",
        "operationId": "AdminCouponService_ExportCoupons",
        "parameters": [
          {
            "name": "status",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "batch_id",
            "in": "query",
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/zcard.api.admin.v1.ExportCouponsReply"
                }
              }
            }
          }
        }
      }
    },
    "/api/v1/admin/coupons/grant": {
      "post": {
        "tags": [
          "AdminCouponService"
        ],
        "description": "GrantCoupon 批次赠送指定用户。",
        "operationId": "AdminCouponService_GrantCoupon",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/zcard.api.admin.v1.GrantCouponRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/zcard.api.admin.v1.GrantCouponReply"
                }
              }
            }
          }
        }
      }
    },
    "/api/v1/admin/currencies": {
      "get": {
        "tags": [
          "AdminCurrencyService"
        ],
        "description": "ListCurrencies 全部货币（含停用）。",
        "operationId": "AdminCurrencyService_ListCurrencies",
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/zcard.api.admin.v1.CurrencyList"
                }
              }
            }
          }
        }
      },
      "post": {
        "tags": [
          "AdminCurrencyService"
        ],
        "description": "CreateCurrency 新增货币（code 唯一）。",
        "operationId": "AdminCurrencyService_CreateCurrency",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/zcard.api.admin.v1.CreateCurrencyRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/zcard.api.admin.v1.Currency"
                }
              }
            }
          }
        }
      }
    },
    "/api/v1/admin/currencies/{code}": {
      "put": {
        "tags": [
          "AdminCurrencyService"
        ],
        "description": "UpdateCurrency 修改货币（rate/precision/symbol/启停）。",
        "operationId": "AdminCurrencyService_UpdateCurrency",
        "parameters": [
          {
            "name": "code",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/zcard.api.admin.v1.UpdateCurrencyRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/zcard.api.admin.v1.Currency"
                }
              }
            }
          }
        }
      },
      "delete": {
        "tags": [
          "AdminCurrencyService"
        ],
        "description": "DeleteCurrency 删除货币（无引用时）。",
        "operationId": "AdminCurrencyService_DeleteCurrency",
        "parameters": [
          {
            "name": "code",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {}
          }
        }
      }
    },
    "/api/v1/admin/dashboard": {
      "get": {
        "tags": [
          "AdminDashboardService"
        ],
        "operationId": "AdminDashboardService_GetDashboard",
        "parameters": [
          {
            "name": "trend_days",
            "in": "query",
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/zcard.api.admin.v1.DashboardReply"
                }
              }
            }
          }
        }
      }
    },
    "/api/v1/admin/dashboard/daily-stats": {
      "get": {
        "tags": [
          "AdminDashboardService"
        ],
        "description": "GetDailyStats 历史日结查询（只扫 daily_stats；分站视角自动隔离）。",
        "operationId": "AdminDashboardService_GetDailyStats",
        "parameters": [
          {
            "name": "start_date",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "end_date",
            "in": "query",
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/zcard.api.admin.v1.GetDailyStatsReply"
                }
              }
            }
          }
        }
      }
    },
    "/api/v1/admin/dashboard/reconciliation": {
      "get": {
        "tags": [
          "AdminDashboardService"
        ],
        "description": "GetReconciliation 对账总览。",
        "operationId": "AdminDashboardService_GetReconciliation",
        "parameters": [
          {
            "name": "date",
            "in": "query",
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/zcard.api.admin.v1.GetReconciliationReply"
                }
              }
            }
          }
        }
      }
    },
    "/api/v1/admin/dashboard/reconciliation-jobs": {
      "post": {
        "tags": [
          "AdminDashboardService"
        ],
        "description": "CreateReconciliationJob 创建货源对账任务（时间窗 ≤31 天）。",
        "operationId": "AdminDashboardService_CreateReconciliationJob",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/zcard.api.admin.v1.CreateReconciliationJobRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/zcard.api.admin.v1.ReconciliationJobItem"
                }
              }
            }
          }
        }
      }
    },
    "/api/v1/admin/dashboard/reconciliation-jobs/{id}": {
      "get": {
        "tags": [
          "AdminDashboardService"
        ],
        "description": "GetReconciliationJob 对账任务详情（四态计数 + 状态可查）。",
        "operationId": "AdminDashboardService_GetReconciliationJob",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/zcard.api.admin.v1.ReconciliationJobItem"
                }
              }
            }
          }
        }
      }
    },
    "/api/v1/admin/dashboard/reconciliation-jobs/{id}/items": {
      "get": {
        "tags": [
          "AdminDashboardService"
        ],
        "description": "ListReconciliationItems 对账明细分页（四态筛选）。",
        "operationId": "AdminDashboardService_ListReconciliationItems",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "status",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "page",
            "in": "query",
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "name": "page_size",
            "in": "query",
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/zcard.api.admin.v1.ListReconciliationItemsReply"
                }
              }
            }
          }
        }
      }
    },
    "/api/v1/admin/dashboard/reconciliation-jobs/{id}/run": {
      "post": {
        "tags": [
          "AdminDashboardService"
        ],
        "description": "RunReconciliationJob 执行任务（pending → processing → done/failed）。",
        "operationId": "AdminDashboardService_RunReconciliationJob",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/zcard.api.admin.v1.RunReconciliationJobRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/zcard.api.admin.v1.ReconciliationJobItem"
                }
              }
            }
          }
        }
      }
    },
    "/api/v1/admin/dashboard/traffic": {
      "get": {
        "tags": [
          "AdminDashboardService"
        ],
        "description": "GetTraffic 流量统计（PV/UV 按天；page_views 明细表）。",
        "operationId": "AdminDashboardService_GetTraffic",
        "parameters": [
          {
            "name": "days",
            "in": "query",
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/zcard.api.admin.v1.GetTrafficReply"
                }
              }
            }
          }
        }
      }
    },
    "/api/v1/admin/flash-sales": {
      "get": {
        "tags": [
          "AdminCouponService"
        ],
        "description": "ListFlashSales 秒杀列表。",
        "operationId": "AdminCouponService_ListFlashSales",
        "parameters": [
          {
            "name": "page",
            "in": "query",
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "name": "page_size",
            "in": "query",
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/zcard.api.admin.v1.ListFlashSalesReply"
                }
              }
            }
          }
        }
      },
      "post": {
        "tags": [
          "AdminCouponService"
        ],
        "description": "CreateFlashSale 创建秒杀。",
        "operationId": "AdminCouponService_CreateFlashSale",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/zcard.api.admin.v1.CreateFlashSaleRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/zcard.api.admin.v1.FlashSaleItem"
                }
              }
            }
          }
        }
      }
    },
    "/api/v1/admin/flash-sales/{id}": {
      "delete": {
        "tags": [
          "AdminCouponService"
        ],
        "description": "DeleteFlashSale 删除秒杀。",
        "operationId": "AdminCouponService_DeleteFlashSale",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {}
          }
        }
      }
    },
    "/api/v1/admin/fulfillment": {
      "get": {
        "tags": [
          "AdminFulfillmentService"
        ],
        "description": "ListDeliveries 交付记录列表（掩码默认）。",
        "operationId": "AdminFulfillmentService_ListDeliveries",
        "parameters": [
          {
            "name": "order_no",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "page",
            "in": "query",
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "name": "page_size",
            "in": "query",
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "name": "order_item_id",
            "in": "query",
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/zcard.api.admin.v1.ListDeliveriesReply"
                }
              }
            }
          }
        }
      }
    },
    "/api/v1/admin/fulfillment/pending": {
      "get": {
        "tags": [
          "AdminFulfillmentService"
        ],
        "description": "ListPending 待人工发货列表（manual_pending 状态订单）。",
        "operationId": "AdminFulfillmentService_ListPending",
        "parameters": [
          {
            "name": "page",
            "in": "query",
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "name": "page_size",
            "in": "query",
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/zcard.api.admin.v1.ListPendingReply"
                }
              }
            }
          }
        }
      }
    },
    "/api/v1/admin/fulfillment/{order_no}/deliver": {
      "post": {
        "tags": [
          "AdminFulfillmentService"
        ],
        "description": "ManualDeliver 手动交付（卡密内容或物流单号）。",
        "operationId": "AdminFulfillmentService_ManualDeliver",
        "parameters": [
          {
            "name": "order_no",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/zcard.api.admin.v1.ManualDeliverRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {}
          }
        }
      }
    },
    "/api/v1/admin/fulfillment/{order_no}/start": {
      "post": {
        "tags": [
          "AdminFulfillmentService"
        ],
        "operationId": "AdminFulfillmentService_StartService",
        "parameters": [
          {
            "name": "order_no",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/zcard.api.admin.v1.StartServiceRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {}
          }
        }
      }
    },
    "/api/v1/admin/install": {
      "post": {
        "tags": [
          "AdminInstallService"
        ],
        "description": "PerformInstall 执行安装（公开；写管理员 + 站点信息 + 种子；已安装返回 409）。\n dialect=sqlite → 当前库直接装；mysql/postgres → 校验连接后写库切换覆盖配置\n + 待安装凭据文件，响应 restart_required 并自重启（新库上补装完成）。",
        "operationId": "AdminInstallService_PerformInstall",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/zcard.api.admin.v1.PerformInstallRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/zcard.api.admin.v1.InstallStatusReply"
                }
              }
            }
          }
        }
      }
    },
    "/api/v1/admin/install/status": {
      "get": {
        "tags": [
          "AdminInstallService"
        ],
        "description": "GetInstallStatus 安装状态 + 环境自检（公开）。",
        "operationId": "AdminInstallService_GetInstallStatus",
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/zcard.api.admin.v1.InstallStatusReply"
                }
              }
            }
          }
        }
      }
    },
    "/api/v1/admin/install/test": {
      "post": {
        "tags": [
          "AdminInstallService"
        ],
        "description": "TestInstallConnection 测试数据库/Redis 连接（公开；库不存在时自动创建）。",
        "operationId": "AdminInstallService_TestInstallConnection",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/zcard.api.admin.v1.TestInstallConnectionRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/zcard.api.admin.v1.TestInstallConnectionReply"
                }
              }
            }
          }
        }
      }
    },
    "/api/v1/admin/inventory/cards": {
      "get": {
        "tags": [
          "AdminInventoryService"
        ],
        "description": "ListCards 卡密列表（掩码默认；card:view_content 权限才可见完整内容）。",
        "operationId": "AdminInventoryService_ListCards",
        "parameters": [
          {
            "name": "product_id",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "status",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "page",
            "in": "query",
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "name": "page_size",
            "in": "query",
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/zcard.api.admin.v1.ListCardsReply"
                }
              }
            }
          }
        }
      }
    },
    "/api/v1/admin/inventory/cards/premium": {
      "get": {
        "tags": [
          "AdminInventoryService"
        ],
        "description": "ListPremiumCards 靓号列表（number_hash 命中 + 可用卡；card:premium 权限）。",
        "operationId": "AdminInventoryService_ListPremiumCards",
        "parameters": [
          {
            "name": "product_id",
            "in": "query",
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/zcard.api.admin.v1.ListPremiumCardsReply"
                }
              }
            }
          }
        }
      }
    },
    "/api/v1/admin/inventory/cards/{id}/content": {
      "get": {
        "tags": [
          "AdminInventoryService"
        ],
        "description": "ViewCardContent 查看完整卡密（card:view_content 权限 + 安全审计）。",
        "operationId": "AdminInventoryService_ViewCardContent",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/zcard.api.admin.v1.ViewCardContentReply"
                }
              }
            }
          }
        }
      }
    },
    "/api/v1/admin/inventory/cards/{id}/toggle": {
      "put": {
        "tags": [
          "AdminInventoryService"
        ],
        "description": "ToggleCard 禁用/启用单张卡。",
        "operationId": "AdminInventoryService_ToggleCard",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/zcard.api.admin.v1.ToggleCardRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {}
          }
        }
      }
    },
    "/api/v1/admin/inventory/export": {
      "post": {
        "tags": [
          "AdminInventoryService"
        ],
        "description": "ExportCards 导出卡密（card:export 权限 + 审计 + 限流 + CsvSafe）。",
        "operationId": "AdminInventoryService_ExportCards",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/zcard.api.admin.v1.ExportCardsRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/zcard.api.admin.v1.ExportCardsReply"
                }
              }
            }
          }
        }
      }
    },
    "/api/v1/admin/inventory/import": {
      "post": {
        "tags": [
          "AdminInventoryService"
        ],
        "description": "ImportConfirm 确认导入（分片写入 + 批次追踪）。",
        "operationId": "AdminInventoryService_ImportConfirm",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/zcard.api.admin.v1.ImportConfirmRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/zcard.api.admin.v1.ImportBatch"
                }
              }
            }
          }
        }
      }
    },
    "/api/v1/admin/inventory/imports": {
      "get": {
        "tags": [
          "AdminInventoryService"
        ],
        "description": "ListImports 导入批次列表。",
        "operationId": "AdminInventoryService_ListImports",
        "parameters": [
          {
            "name": "product_id",
            "in": "query",
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/zcard.api.admin.v1.ListImportsReply"
                }
              }
            }
          }
        }
      }
    },
    "/api/v1/admin/inventory/imports/{id}/cancel": {
      "post": {
        "tags": [
          "AdminInventoryService"
        ],
        "description": "CancelImport 撤销批次（删除本批 available 卡）。",
        "operationId": "AdminInventoryService_CancelImport",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/zcard.api.admin.v1.CancelImportRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {}
          }
        }
      }
    },
    "/api/v1/admin/inventory/preview": {
      "post": {
        "tags": [
          "AdminInventoryService"
        ],
        "description": "ImportPreview 上传预览（去重统计 + 样本预览）。",
        "operationId": "AdminInventoryService_ImportPreview",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/zcard.api.admin.v1.ImportPreviewRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/zcard.api.admin.v1.ImportPreviewReply"
                }
              }
            }
          }
        }
      }
    },
    "/api/v1/admin/license": {
      "get": {
        "tags": [
          "AdminLicenseService"
        ],
        "description": "GetLicenseStatus 许可证状态（安装/有效性/特性清单/到期）。",
        "operationId": "AdminLicenseService_GetLicenseStatus",
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/zcard.api.admin.v1.LicenseStatus"
                }
              }
            }
          }
        }
      },
      "post": {
        "tags": [
          "AdminLicenseService"
        ],
        "description": "InstallLicense 安装许可证（校验通过才落库；绑定当前实例）。",
        "operationId": "AdminLicenseService_InstallLicense",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/zcard.api.admin.v1.InstallLicenseRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/zcard.api.admin.v1.LicenseStatus"
                }
              }
            }
          }
        }
      },
      "delete": {
        "tags": [
          "AdminLicenseService"
        ],
        "description": "ClearLicense 清除许可证（回到社区版）。",
        "operationId": "AdminLicenseService_ClearLicense",
        "responses": {
          "200": {
            "description": "OK",
            "content": {}
          }
        }
      }
    },
    "/api/v1/admin/lottery/activities": {
      "get": {
        "tags": [
          "AdminLotteryService"
        ],
        "operationId": "AdminLotteryService_ListLotteryActivities",
        "parameters": [
          {
            "name": "page",
            "in": "query",
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "name": "page_size",
            "in": "query",
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "name": "activity_id",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "keyword",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "status",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "user_id",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "include_missed",
            "in": "query",
            "schema": {
              "type": "boolean"
            }
          },
          {
            "name": "start_at",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "end_at",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "prize_id",
            "in": "query",
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/zcard.api.admin.v1.LotteryActivityList"
                }
              }
            }
          }
        }
      },
      "post": {
        "tags": [
          "AdminLotteryService"
        ],
        "operationId": "AdminLotteryService_SaveLotteryActivity",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/zcard.api.admin.v1.LotteryActivity"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/zcard.api.admin.v1.LotteryActivity"
                }
              }
            }
          }
        }
      }
    },
    "/api/v1/admin/lottery/activities/{id}": {
      "get": {
        "tags": [
          "AdminLotteryService"
        ],
        "operationId": "AdminLotteryService_GetLotteryActivity",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/zcard.api.admin.v1.LotteryActivity"
                }
              }
            }
          }
        }
      }
    },
    "/api/v1/admin/lottery/activities/{id}/grant": {
      "post": {
        "tags": [
          "AdminLotteryService"
        ],
        "operationId": "AdminLotteryService_GrantLotteryChances",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/zcard.api.admin.v1.LotteryGrantRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {}
          }
        }
      }
    },
    "/api/v1/admin/lottery/activities/{id}/history": {
      "get": {
        "tags": [
          "AdminLotteryService"
        ],
        "operationId": "AdminLotteryService_ListLotteryHistory",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/zcard.api.admin.v1.LotteryHistoryList"
                }
              }
            }
          }
        }
      }
    },
    "/api/v1/admin/lottery/activities/{id}/status": {
      "post": {
        "tags": [
          "AdminLotteryService"
        ],
        "operationId": "AdminLotteryService_SetLotteryStatus",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/zcard.api.admin.v1.LotteryStatusRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/zcard.api.admin.v1.LotteryActivity"
                }
              }
            }
          }
        }
      }
    },
    "/api/v1/admin/lottery/draws": {
      "get": {
        "tags": [
          "AdminLotteryService"
        ],
        "operationId": "AdminLotteryService_ListLotteryDraws",
        "parameters": [
          {
            "name": "page",
            "in": "query",
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "name": "page_size",
            "in": "query",
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "name": "activity_id",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "keyword",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "status",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "user_id",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "include_missed",
            "in": "query",
            "schema": {
              "type": "boolean"
            }
          },
          {
            "name": "start_at",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "end_at",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "prize_id",
            "in": "query",
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/zcard.api.admin.v1.LotteryDrawList"
                }
              }
            }
          }
        }
      }
    },
    "/api/v1/admin/lottery/draws/{draw_no}/deliver": {
      "post": {
        "tags": [
          "AdminLotteryService"
        ],
        "operationId": "AdminLotteryService_DeliverLotteryDraw",
        "parameters": [
          {
            "name": "draw_no",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/zcard.api.admin.v1.LotteryDrawRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {}
          }
        }
      }
    },
    "/api/v1/admin/lottery/draws/{draw_no}/reveal": {
      "post": {
        "tags": [
          "AdminLotteryService"
        ],
        "operationId": "AdminLotteryService_RevealLotteryDraw",
        "parameters": [
          {
            "name": "draw_no",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/zcard.api.admin.v1.LotteryDrawRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/zcard.api.admin.v1.LotteryDraw"
                }
              }
            }
          }
        }
      }
    },
    "/api/v1/admin/media": {
      "get": {
        "tags": [
          "AdminMediaService"
        ],
        "description": "ListMedia 素材列表。",
        "operationId": "AdminMediaService_ListMedia",
        "parameters": [
          {
            "name": "category_id",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "keyword",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "page",
            "in": "query",
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "name": "page_size",
            "in": "query",
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "name": "uncategorized",
            "in": "query",
            "description": "仅未分类素材（category_id 为空；与 category_id=0「不过滤」区分）",
            "schema": {
              "type": "boolean"
            }
          },
          {
            "name": "kind",
            "in": "query",
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/zcard.api.admin.v1.ListMediaReply"
                }
              }
            }
          }
        }
      }
    },
    "/api/v1/admin/media/categories": {
      "get": {
        "tags": [
          "AdminMediaService"
        ],
        "description": "ListCategories 分类列表。",
        "operationId": "AdminMediaService_ListCategories",
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/zcard.api.admin.v1.ListMediaCategoriesReply"
                }
              }
            }
          }
        }
      },
      "post": {
        "tags": [
          "AdminMediaService"
        ],
        "description": "CreateCategory 创建分类。",
        "operationId": "AdminMediaService_CreateCategory",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/zcard.api.admin.v1.CreateMediaCategoryRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/zcard.api.admin.v1.MediaCategory"
                }
              }
            }
          }
        }
      }
    },
    "/api/v1/admin/media/categories/{id}": {
      "delete": {
        "tags": [
          "AdminMediaService"
        ],
        "description": "DeleteCategory 删除分类（有内容拒绝）。",
        "operationId": "AdminMediaService_DeleteCategory",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {}
          }
        }
      }
    },
    "/api/v1/admin/media/categories/{id}/move": {
      "post": {
        "tags": [
          "AdminMediaService"
        ],
        "description": "MoveCategory 分类移动。",
        "operationId": "AdminMediaService_MoveCategory",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/zcard.api.admin.v1.MoveMediaCategoryRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {}
          }
        }
      }
    },
    "/api/v1/admin/media/categories/{id}/rename": {
      "post": {
        "tags": [
          "AdminMediaService"
        ],
        "description": "RenameCategory 分类改名。",
        "operationId": "AdminMediaService_RenameCategory",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/zcard.api.admin.v1.RenameMediaCategoryRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/zcard.api.admin.v1.MediaCategory"
                }
              }
            }
          }
        }
      }
    },
    "/api/v1/admin/media/delete": {
      "post": {
        "tags": [
          "AdminMediaService"
        ],
        "description": "DeleteMedia 批量删除（被引用未 confirm → 409 + 引用清单）。",
        "operationId": "AdminMediaService_DeleteMedia",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/zcard.api.admin.v1.DeleteMediaRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/zcard.api.admin.v1.DeleteMediaReply"
                }
              }
            }
          }
        }
      }
    },
    "/api/v1/admin/media/import": {
      "post": {
        "tags": [
          "AdminMediaService"
        ],
        "description": "ImportFromURL 外链导入（httpx SSRF 防护 + 同三件套）。",
        "operationId": "AdminMediaService_ImportFromURL",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/zcard.api.admin.v1.ImportMediaRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/zcard.api.admin.v1.MediaItem"
                }
              }
            }
          }
        }
      }
    },
    "/api/v1/admin/media/move": {
      "post": {
        "tags": [
          "AdminMediaService"
        ],
        "description": "MoveMedia 素材批量移动。",
        "operationId": "AdminMediaService_MoveMedia",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/zcard.api.admin.v1.MoveMediaRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {}
          }
        }
      }
    },
    "/api/v1/admin/media/upload": {
      "post": {
        "tags": [
          "AdminMediaService"
        ],
        "description": "Upload 上传（安全三件套：三重校验+重编码+10MB）。",
        "operationId": "AdminMediaService_Upload",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/zcard.api.admin.v1.UploadMediaRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/zcard.api.admin.v1.MediaItem"
                }
              }
            }
          }
        }
      }
    },
    "/api/v1/admin/media/{id}/rename": {
      "post": {
        "tags": [
          "AdminMediaService"
        ],
        "description": "RenameMedia 素材改名。",
        "operationId": "AdminMediaService_RenameMedia",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/zcard.api.admin.v1.RenameMediaRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/zcard.api.admin.v1.MediaItem"
                }
              }
            }
          }
        }
      }
    },
    "/api/v1/admin/member-groups": {
      "get": {
        "tags": [
          "AdminCatalogService"
        ],
        "description": "── 会员商品组 ──",
        "operationId": "AdminCatalogService_ListMemberGroups",
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/zcard.api.admin.v1.MemberGroupList"
                }
              }
            }
          }
        }
      },
      "post": {
        "tags": [
          "AdminCatalogService"
        ],
        "operationId": "AdminCatalogService_CreateMemberGroup",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/zcard.api.admin.v1.CreateMemberGroupRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/zcard.api.admin.v1.MemberGroup"
                }
              }
            }
          }
        }
      }
    },
    "/api/v1/admin/member-groups/{id}": {
      "put": {
        "tags": [
          "AdminCatalogService"
        ],
        "operationId": "AdminCatalogService_UpdateMemberGroup",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/zcard.api.admin.v1.UpdateMemberGroupRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/zcard.api.admin.v1.MemberGroup"
                }
              }
            }
          }
        }
      },
      "delete": {
        "tags": [
          "AdminCatalogService"
        ],
        "operationId": "AdminCatalogService_DeleteMemberGroup",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {}
          }
        }
      }
    },
    "/api/v1/admin/member-levels": {
      "get": {
        "tags": [
          "AdminMemberLevelService"
        ],
        "operationId": "AdminMemberLevelService_ListMemberLevels",
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/zcard.api.admin.v1.MemberLevelList"
                }
              }
            }
          }
        }
      },
      "post": {
        "tags": [
          "AdminMemberLevelService"
        ],
        "operationId": "AdminMemberLevelService_CreateMemberLevel",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/zcard.api.admin.v1.CreateMemberLevelRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/zcard.api.admin.v1.MemberLevel"
                }
              }
            }
          }
        }
      }
    },
    "/api/v1/admin/member-levels/{id}": {
      "put": {
        "tags": [
          "AdminMemberLevelService"
        ],
        "operationId": "AdminMemberLevelService_UpdateMemberLevel",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/zcard.api.admin.v1.UpdateMemberLevelRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/zcard.api.admin.v1.MemberLevel"
                }
              }
            }
          }
        }
      },
      "delete": {
        "tags": [
          "AdminMemberLevelService"
        ],
        "operationId": "AdminMemberLevelService_DeleteMemberLevel",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {}
          }
        }
      }
    },
    "/api/v1/admin/notify/broadcasts": {
      "get": {
        "tags": [
          "AdminNotifyService"
        ],
        "description": "ListBroadcasts 群发任务列表。",
        "operationId": "AdminNotifyService_ListBroadcasts",
        "parameters": [
          {
            "name": "page",
            "in": "query",
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "name": "page_size",
            "in": "query",
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/zcard.api.admin.v1.ListBroadcastsReply"
                }
              }
            }
          }
        }
      },
      "post": {
        "tags": [
          "AdminNotifyService"
        ],
        "description": "CreateBroadcast 创建群发任务。",
        "operationId": "AdminNotifyService_CreateBroadcast",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/zcard.api.admin.v1.CreateBroadcastRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/zcard.api.admin.v1.Broadcast"
                }
              }
            }
          }
        }
      }
    },
    "/api/v1/admin/notify/broadcasts/estimate": {
      "post": {
        "tags": [
          "AdminNotifyService"
        ],
        "description": "EstimateBroadcast 覆盖人数预估。",
        "operationId": "AdminNotifyService_EstimateBroadcast",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/zcard.api.admin.v1.EstimateBroadcastRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/zcard.api.admin.v1.EstimateBroadcastReply"
                }
              }
            }
          }
        }
      }
    },
    "/api/v1/admin/notify/broadcasts/{id}/cancel": {
      "post": {
        "tags": [
          "AdminNotifyService"
        ],
        "description": "CancelBroadcast 取消群发（仅 pending）。",
        "operationId": "AdminNotifyService_CancelBroadcast",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/zcard.api.admin.v1.CancelBroadcastRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/zcard.api.admin.v1.Broadcast"
                }
              }
            }
          }
        }
      }
    },
    "/api/v1/admin/notify/logs": {
      "get": {
        "tags": [
          "AdminNotifyService"
        ],
        "description": "ListLogs 发送日志（按状态/事件筛选）。",
        "operationId": "AdminNotifyService_ListLogs",
        "parameters": [
          {
            "name": "channel",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "status",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "event_type",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "page",
            "in": "query",
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "name": "page_size",
            "in": "query",
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/zcard.api.admin.v1.ListNotifyLogsReply"
                }
              }
            }
          }
        }
      }
    },
    "/api/v1/admin/notify/logs/{id}/resend": {
      "post": {
        "tags": [
          "AdminNotifyService"
        ],
        "description": "ResendLog 重发失败日志（原变量重投）。",
        "operationId": "AdminNotifyService_ResendLog",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/zcard.api.admin.v1.ResendNotifyLogRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {}
          }
        }
      }
    },
    "/api/v1/admin/notify/telegram/test": {
      "post": {
        "tags": [
          "AdminNotifyService"
        ],
        "operationId": "AdminNotifyService_TestTelegram",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/zcard.api.admin.v1.TestTelegramRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/zcard.api.admin.v1.TestTelegramReply"
                }
              }
            }
          }
        }
      }
    },
    "/api/v1/admin/notify/templates": {
      "get": {
        "tags": [
          "AdminNotifyService"
        ],
        "description": "ListTemplates 模板列表。",
        "operationId": "AdminNotifyService_ListTemplates",
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/zcard.api.admin.v1.ListNotifyTemplatesReply"
                }
              }
            }
          }
        }
      },
      "post": {
        "tags": [
          "AdminNotifyService"
        ],
        "description": "UpsertTemplate 创建/更新模板（事件 × 通道 × 语言）。",
        "operationId": "AdminNotifyService_UpsertTemplate",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/zcard.api.admin.v1.UpsertNotifyTemplateRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/zcard.api.admin.v1.NotifyTemplate"
                }
              }
            }
          }
        }
      }
    },
    "/api/v1/admin/notify/templates/preview": {
      "post": {
        "tags": [
          "AdminNotifyService"
        ],
        "description": "PreviewTemplate 模板预览（变量样例渲染；不发送）。",
        "operationId": "AdminNotifyService_PreviewTemplate",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/zcard.api.admin.v1.PreviewTemplateRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/zcard.api.admin.v1.PreviewTemplateReply"
                }
              }
            }
          }
        }
      }
    },
    "/api/v1/admin/orders": {
      "get": {
        "tags": [
          "AdminOrderService"
        ],
        "description": "ListOrders 订单列表（游标分页）。",
        "operationId": "AdminOrderService_ListOrders",
        "parameters": [
          {
            "name": "status",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "cursor",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "limit",
            "in": "query",
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "name": "keyword",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "start_time",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "end_time",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "time_field",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "channel_id",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "channel_code",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "product_id",
            "in": "query",
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/zcard.api.admin.v1.ListOrdersReply"
                }
              }
            }
          }
        }
      }
    },
    "/api/v1/admin/orders/delete": {
      "post": {
        "tags": [
          "AdminOrderService"
        ],
        "description": "DeleteOrders 从管理列表移除已取消或已过期的未付款订单，保留关联记录。",
        "operationId": "AdminOrderService_DeleteOrders",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/zcard.api.admin.v1.DeleteOrdersRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {}
          }
        }
      }
    },
    "/api/v1/admin/orders/{order_no}": {
      "get": {
        "tags": [
          "AdminOrderService"
        ],
        "description": "GetOrder 订单详情（含金额行+状态事件时间线）。",
        "operationId": "AdminOrderService_GetOrder",
        "parameters": [
          {
            "name": "order_no",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/zcard.api.admin.v1.AdminOrder"
                }
              }
            }
          }
        }
      }
    },
    "/api/v1/admin/orders/{order_no}/cancel": {
      "post": {
        "tags": [
          "AdminOrderService"
        ],
        "description": "CancelOrder 取消订单（pending 可取消）。",
        "operationId": "AdminOrderService_CancelOrder",
        "parameters": [
          {
            "name": "order_no",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/zcard.api.admin.v1.CancelOrderRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {}
          }
        }
      }
    },
    "/api/v1/admin/payment/channels": {
      "get": {
        "tags": [
          "AdminPaymentService"
        ],
        "description": "── 渠道管理 ──",
        "operationId": "AdminPaymentService_ListChannels",
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/zcard.api.admin.v1.ChannelList"
                }
              }
            }
          }
        }
      },
      "post": {
        "tags": [
          "AdminPaymentService"
        ],
        "operationId": "AdminPaymentService_CreateChannel",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/zcard.api.admin.v1.CreateChannelRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/zcard.api.admin.v1.Channel"
                }
              }
            }
          }
        }
      }
    },
    "/api/v1/admin/payment/channels/{id}": {
      "put": {
        "tags": [
          "AdminPaymentService"
        ],
        "operationId": "AdminPaymentService_UpdateChannel",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/zcard.api.admin.v1.UpdateChannelRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/zcard.api.admin.v1.Channel"
                }
              }
            }
          }
        }
      },
      "delete": {
        "tags": [
          "AdminPaymentService"
        ],
        "operationId": "AdminPaymentService_DeleteChannel",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {}
          }
        }
      }
    },
    "/api/v1/admin/payment/drivers": {
      "get": {
        "tags": [
          "AdminPaymentService"
        ],
        "description": "ListDrivers 驱动元数据（含配置字段 schema——admin 配置面动态表单渲染）。",
        "operationId": "AdminPaymentService_ListDrivers",
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/zcard.api.admin.v1.DriverList"
                }
              }
            }
          }
        }
      }
    },
    "/api/v1/admin/payment/drivers/{code}/field-options": {
      "get": {
        "tags": [
          "AdminPaymentService"
        ],
        "description": "FieldOptions 驱动字段选项动态加载（epusdt network/token 以网关 supported_assets\n 为准；网关不可达时后端回落静态矩阵并标记 fallback）。",
        "operationId": "AdminPaymentService_FieldOptions",
        "parameters": [
          {
            "name": "code",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "field",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "config_json",
            "in": "query",
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/zcard.api.admin.v1.FieldOptionsReply"
                }
              }
            }
          }
        }
      }
    },
    "/api/v1/admin/payments": {
      "get": {
        "tags": [
          "AdminPaymentService"
        ],
        "description": "── 支付单 ──",
        "operationId": "AdminPaymentService_ListPayments",
        "parameters": [
          {
            "name": "status",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "order_no",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "cursor",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "limit",
            "in": "query",
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "name": "review_only",
            "in": "query",
            "schema": {
              "type": "boolean"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/zcard.api.admin.v1.ListPaymentsReply"
                }
              }
            }
          }
        }
      }
    },
    "/api/v1/admin/payments/{id}": {
      "get": {
        "tags": [
          "AdminPaymentService"
        ],
        "operationId": "AdminPaymentService_GetPayment",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/zcard.api.admin.v1.Payment"
                }
              }
            }
          }
        }
      }
    },
    "/api/v1/admin/payments/{id}/capture": {
      "post": {
        "tags": [
          "AdminPaymentService"
        ],
        "description": "CapturePayment 补单（主动拉网关状态复走回调管线）。",
        "operationId": "AdminPaymentService_CapturePayment",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/zcard.api.admin.v1.CapturePaymentRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/zcard.api.admin.v1.Payment"
                }
              }
            }
          }
        }
      }
    },
    "/api/v1/admin/procurements": {
      "get": {
        "tags": [
          "AdminProcurementService"
        ],
        "description": "ListProcurements 采购单列表（按状态过滤）。",
        "operationId": "AdminProcurementService_ListProcurements",
        "parameters": [
          {
            "name": "status",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "page",
            "in": "query",
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "name": "page_size",
            "in": "query",
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "name": "order_no",
            "in": "query",
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/zcard.api.admin.v1.ListProcurementsReply"
                }
              }
            }
          }
        }
      }
    },
    "/api/v1/admin/procurements/{id}": {
      "get": {
        "tags": [
          "AdminProcurementService"
        ],
        "description": "GetProcurement 采购单详情（含采购项/密文行数）。",
        "operationId": "AdminProcurementService_GetProcurement",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/zcard.api.admin.v1.ProcurementOrder"
                }
              }
            }
          }
        }
      }
    },
    "/api/v1/admin/procurements/{id}/manual": {
      "post": {
        "tags": [
          "AdminProcurementService"
        ],
        "description": "MarkProcurementManual 手动标记完成/转人工（人工拿货后回填）。",
        "operationId": "AdminProcurementService_MarkProcurementManual",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/zcard.api.admin.v1.MarkProcurementManualRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/zcard.api.admin.v1.ProcurementOrder"
                }
              }
            }
          }
        }
      }
    },
    "/api/v1/admin/procurements/{id}/retry": {
      "post": {
        "tags": [
          "AdminProcurementService"
        ],
        "description": "RetryProcurement 手动重试（pending/submitted/polling 均可重新提交或推进轮询）。",
        "operationId": "AdminProcurementService_RetryProcurement",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/zcard.api.admin.v1.RetryProcurementRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/zcard.api.admin.v1.ProcurementOrder"
                }
              }
            }
          }
        }
      }
    },
    "/api/v1/admin/products": {
      "get": {
        "tags": [
          "AdminCatalogService"
        ],
        "description": "── 商品 ──",
        "operationId": "AdminCatalogService_ListProducts",
        "parameters": [
          {
            "name": "category_id",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "keyword",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "status",
            "in": "query",
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "name": "page",
            "in": "query",
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "name": "page_size",
            "in": "query",
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "name": "low_stock_only",
            "in": "query",
            "schema": {
              "type": "boolean"
            }
          },
          {
            "name": "upstream_source_id",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "out_of_stock_only",
            "in": "query",
            "schema": {
              "type": "boolean"
            }
          },
          {
            "name": "local_only",
            "in": "query",
            "schema": {
              "type": "boolean"
            }
          },
          {
            "name": "stock_type",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "is_locked",
            "in": "query",
            "schema": {
              "type": "boolean"
            }
          },
          {
            "name": "inventory",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "restocked_only",
            "in": "query",
            "schema": {
              "type": "boolean"
            }
          },
          {
            "name": "auto_listing",
            "in": "query",
            "schema": {
              "type": "boolean"
            }
          },
          {
            "name": "options_only",
            "in": "query",
            "schema": {
              "type": "boolean"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/zcard.api.admin.v1.ListProductsReply"
                }
              }
            }
          }
        }
      },
      "post": {
        "tags": [
          "AdminCatalogService"
        ],
        "operationId": "AdminCatalogService_CreateProduct",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/zcard.api.admin.v1.CreateProductRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/zcard.api.admin.v1.AdminProduct"
                }
              }
            }
          }
        }
      }
    },
    "/api/v1/admin/products/batch-category": {
      "post": {
        "tags": [
          "AdminCatalogService"
        ],
        "operationId": "AdminCatalogService_BatchUpdateProductCategory",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/zcard.api.admin.v1.BatchUpdateProductCategoryRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/zcard.api.admin.v1.BatchUpdateProductCategoryReply"
                }
              }
            }
          }
        }
      }
    },
    "/api/v1/admin/products/batch-content": {
      "post": {
        "tags": [
          "AdminCatalogService"
        ],
        "operationId": "AdminCatalogService_BatchUpdateProductContent",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/zcard.api.admin.v1.BatchProductContentRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/zcard.api.admin.v1.BatchProductContentResult"
                }
              }
            }
          }
        }
      }
    },
    "/api/v1/admin/products/batch-content/preview": {
      "post": {
        "tags": [
          "AdminCatalogService"
        ],
        "operationId": "AdminCatalogService_PreviewBatchUpdateProductContent",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/zcard.api.admin.v1.PreviewBatchProductContentRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/zcard.api.admin.v1.BatchProductContentPreview"
                }
              }
            }
          }
        }
      }
    },
    "/api/v1/admin/products/batch-content/results/{request_id}": {
      "get": {
        "tags": [
          "AdminCatalogService"
        ],
        "operationId": "AdminCatalogService_GetBatchProductContentResult",
        "parameters": [
          {
            "name": "request_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/zcard.api.admin.v1.BatchProductContentResult"
                }
              }
            }
          }
        }
      }
    },
    "/api/v1/admin/products/batch-status": {
      "post": {
        "tags": [
          "AdminCatalogService"
        ],
        "description": "BatchUpdateProductStatus 批量上下架（列表多选操作；status 1=上架 0=下架 2=隐藏）。",
        "operationId": "AdminCatalogService_BatchUpdateProductStatus",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/zcard.api.admin.v1.BatchUpdateProductStatusRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/zcard.api.admin.v1.BatchUpdateProductStatusReply"
                }
              }
            }
          }
        }
      }
    },
    "/api/v1/admin/products/classify": {
      "post": {
        "tags": [
          "AdminCatalogService"
        ],
        "operationId": "AdminCatalogService_ClassifyProducts",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/zcard.api.admin.v1.ClassifyProductsRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/zcard.api.admin.v1.ClassifyProductsReply"
                }
              }
            }
          }
        }
      }
    },
    "/api/v1/admin/products/listing": {
      "post": {
        "tags": [
          "AdminCatalogService"
        ],
        "operationId": "AdminCatalogService_ManageProductListing",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/zcard.api.admin.v1.ManageProductListingRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/zcard.api.admin.v1.ManageProductListingReply"
                }
              }
            }
          }
        }
      }
    },
    "/api/v1/admin/products/{id}": {
      "get": {
        "tags": [
          "AdminCatalogService"
        ],
        "operationId": "AdminCatalogService_GetProduct",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/zcard.api.admin.v1.AdminProduct"
                }
              }
            }
          }
        }
      },
      "put": {
        "tags": [
          "AdminCatalogService"
        ],
        "operationId": "AdminCatalogService_UpdateProduct",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/zcard.api.admin.v1.UpdateProductRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/zcard.api.admin.v1.AdminProduct"
                }
              }
            }
          }
        }
      },
      "delete": {
        "tags": [
          "AdminCatalogService"
        ],
        "operationId": "AdminCatalogService_DeleteProduct",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "delete_orders",
            "in": "query",
            "schema": {
              "type": "boolean"
            }
          },
          {
            "name": "confirm_name",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "expected_order_count",
            "in": "query",
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {}
          }
        }
      }
    },
    "/api/v1/admin/products/{id}/delete-preview": {
      "get": {
        "tags": [
          "AdminCatalogService"
        ],
        "operationId": "AdminCatalogService_PreviewDeleteProduct",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/zcard.api.admin.v1.DeleteProductPreview"
                }
              }
            }
          }
        }
      }
    },
    "/api/v1/admin/products/{id}/lock": {
      "put": {
        "tags": [
          "AdminCatalogService"
        ],
        "operationId": "AdminCatalogService_SetProductLock",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/zcard.api.admin.v1.SetProductLockRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/zcard.api.admin.v1.AdminProduct"
                }
              }
            }
          }
        }
      }
    },
    "/api/v1/admin/products/{product_id}/controls": {
      "get": {
        "tags": [
          "AdminCatalogService"
        ],
        "description": "── 自定义控件 ──",
        "operationId": "AdminCatalogService_ListControls",
        "parameters": [
          {
            "name": "product_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/zcard.api.admin.v1.ControlList"
                }
              }
            }
          }
        }
      },
      "post": {
        "tags": [
          "AdminCatalogService"
        ],
        "operationId": "AdminCatalogService_CreateControl",
        "parameters": [
          {
            "name": "product_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/zcard.api.admin.v1.CreateControlRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/zcard.api.admin.v1.AdminControl"
                }
              }
            }
          }
        }
      }
    },
    "/api/v1/admin/products/{product_id}/delivery-sources": {
      "get": {
        "tags": [
          "AdminCatalogService"
        ],
        "operationId": "AdminCatalogService_GetDeliverySources",
        "parameters": [
          {
            "name": "product_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "sku_id",
            "in": "query",
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/zcard.api.admin.v1.DeliverySourcesReply"
                }
              }
            }
          }
        }
      },
      "post": {
        "tags": [
          "AdminCatalogService"
        ],
        "operationId": "AdminCatalogService_SetDeliverySource",
        "parameters": [
          {
            "name": "product_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/zcard.api.admin.v1.SetDeliverySourceRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/zcard.api.admin.v1.DeliverySourcesReply"
                }
              }
            }
          }
        }
      }
    },
    "/api/v1/admin/products/{product_id}/skus": {
      "get": {
        "tags": [
          "AdminCatalogService"
        ],
        "description": "── SKU 多规格 ──",
        "operationId": "AdminCatalogService_ListSkus",
        "parameters": [
          {
            "name": "product_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/zcard.api.admin.v1.SkuList"
                }
              }
            }
          }
        }
      },
      "post": {
        "tags": [
          "AdminCatalogService"
        ],
        "operationId": "AdminCatalogService_CreateSku",
        "parameters": [
          {
            "name": "product_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/zcard.api.admin.v1.CreateSkuRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/zcard.api.admin.v1.Sku"
                }
              }
            }
          }
        }
      }
    },
    "/api/v1/admin/promotions": {
      "get": {
        "tags": [
          "AdminCouponService"
        ],
        "description": "ListPromotions 促销列表。",
        "operationId": "AdminCouponService_ListPromotions",
        "parameters": [
          {
            "name": "page",
            "in": "query",
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "name": "page_size",
            "in": "query",
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/zcard.api.admin.v1.ListPromotionsReply"
                }
              }
            }
          }
        }
      },
      "post": {
        "tags": [
          "AdminCouponService"
        ],
        "description": "UpsertPromotion 创建/更新促销。",
        "operationId": "AdminCouponService_UpsertPromotion",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/zcard.api.admin.v1.UpsertPromotionRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/zcard.api.admin.v1.PromotionItem"
                }
              }
            }
          }
        }
      }
    },
    "/api/v1/admin/refunds": {
      "get": {
        "tags": [
          "AdminPaymentService"
        ],
        "operationId": "AdminPaymentService_ListRefunds",
        "parameters": [
          {
            "name": "status",
            "in": "query",
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/zcard.api.admin.v1.ListRefundsReply"
                }
              }
            }
          }
        }
      },
      "post": {
        "tags": [
          "AdminPaymentService"
        ],
        "description": "── 退款 ──",
        "operationId": "AdminPaymentService_CreateRefund",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/zcard.api.admin.v1.CreateRefundRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/zcard.api.admin.v1.RefundOrder"
                }
              }
            }
          }
        }
      }
    },
    "/api/v1/admin/reseller/apply/{id}/review": {
      "post": {
        "tags": [
          "AdminResellerService"
        ],
        "description": "ReviewApply 审核申请（通过设加价率区间与冻结天数）。",
        "operationId": "AdminResellerService_ReviewApply",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/zcard.api.admin.v1.ReviewApplyRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/zcard.api.admin.v1.ResellerProfile"
                }
              }
            }
          }
        }
      }
    },
    "/api/v1/admin/reseller/balance": {
      "get": {
        "tags": [
          "AdminResellerService"
        ],
        "description": "Balance 分站余额（缓存 + 重算对账）。",
        "operationId": "AdminResellerService_Balance",
        "parameters": [
          {
            "name": "subsite_id",
            "in": "query",
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/zcard.api.admin.v1.BalanceReply"
                }
              }
            }
          }
        }
      }
    },
    "/api/v1/admin/reseller/ledger": {
      "get": {
        "tags": [
          "AdminResellerService"
        ],
        "description": "Ledger 分站账本流水。",
        "operationId": "AdminResellerService_Ledger",
        "parameters": [
          {
            "name": "subsite_id",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "status",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "page",
            "in": "query",
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "name": "page_size",
            "in": "query",
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/zcard.api.admin.v1.LedgerReply"
                }
              }
            }
          }
        }
      }
    },
    "/api/v1/admin/reseller/my/sites": {
      "get": {
        "tags": [
          "AdminResellerService"
        ],
        "description": "MySites 分站主：名下域名列表。",
        "operationId": "AdminResellerService_MySites",
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/zcard.api.admin.v1.MySitesReply"
                }
              }
            }
          }
        }
      },
      "post": {
        "tags": [
          "AdminResellerService"
        ],
        "description": "AddSite 分站主：登记域名（生成验证 token）。",
        "operationId": "AdminResellerService_AddSite",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/zcard.api.admin.v1.AddSiteRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/zcard.api.admin.v1.ResellerSiteItem"
                }
              }
            }
          }
        }
      }
    },
    "/api/v1/admin/reseller/my/sites/{site_id}/verify": {
      "post": {
        "tags": [
          "AdminResellerService"
        ],
        "description": "VerifySite 分站主：触发域名验证（DNS TXT / HTTP well-known 双方案）。",
        "operationId": "AdminResellerService_VerifySite",
        "parameters": [
          {
            "name": "site_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/zcard.api.admin.v1.VerifySiteRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/zcard.api.admin.v1.VerifySiteReply"
                }
              }
            }
          }
        }
      }
    },
    "/api/v1/admin/reseller/my/sites/{site_id}/whitelabel": {
      "post": {
        "tags": [
          "AdminResellerService"
        ],
        "description": "SetWhitelabel 分站主：白标设置（站名/LOGO/favicon）。",
        "operationId": "AdminResellerService_SetWhitelabel",
        "parameters": [
          {
            "name": "site_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/zcard.api.admin.v1.SetWhitelabelRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {}
          }
        }
      }
    },
    "/api/v1/admin/reseller/pricing": {
      "post": {
        "tags": [
          "AdminResellerService"
        ],
        "description": "UpsertPricing 分站定价规则（SKU>商品>默认）。",
        "operationId": "AdminResellerService_UpsertPricing",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/zcard.api.admin.v1.UpsertPricingRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {}
          }
        }
      }
    },
    "/api/v1/admin/reseller/products": {
      "post": {
        "tags": [
          "AdminResellerService"
        ],
        "description": "CreateProduct 分站主：自营商品上架（subsite_id = 本人分站；等级权限位自助上架）。",
        "operationId": "AdminResellerService_CreateProduct",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/zcard.api.admin.v1.CreateResellerProductRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/zcard.api.admin.v1.ResellerProduct"
                }
              }
            }
          }
        }
      }
    },
    "/api/v1/admin/reseller/profiles": {
      "get": {
        "tags": [
          "AdminResellerService"
        ],
        "description": "ListProfiles 申请/分站列表。",
        "operationId": "AdminResellerService_ListProfiles",
        "parameters": [
          {
            "name": "status",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "page",
            "in": "query",
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "name": "page_size",
            "in": "query",
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/zcard.api.admin.v1.ListProfilesReply"
                }
              }
            }
          }
        }
      }
    },
    "/api/v1/admin/reviews": {
      "get": {
        "tags": [
          "AdminCatalogService"
        ],
        "description": "── 评价（真实一单一评审核 + 虚拟评价）──",
        "operationId": "AdminCatalogService_ListReviews",
        "parameters": [
          {
            "name": "status",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "page",
            "in": "query",
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "name": "page_size",
            "in": "query",
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/zcard.api.admin.v1.ListReviewsReply"
                }
              }
            }
          }
        }
      }
    },
    "/api/v1/admin/reviews/{id}/approve": {
      "post": {
        "tags": [
          "AdminCatalogService"
        ],
        "operationId": "AdminCatalogService_ApproveReview",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/zcard.api.admin.v1.ApproveReviewRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/zcard.api.admin.v1.ReviewItem"
                }
              }
            }
          }
        }
      }
    },
    "/api/v1/admin/reviews/{id}/reject": {
      "post": {
        "tags": [
          "AdminCatalogService"
        ],
        "operationId": "AdminCatalogService_RejectReview",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/zcard.api.admin.v1.RejectReviewRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/zcard.api.admin.v1.ReviewItem"
                }
              }
            }
          }
        }
      }
    },
    "/api/v1/admin/settings": {
      "get": {
        "tags": [
          "AdminSettingsService"
        ],
        "description": "ListSettings 按分组列出设置项。",
        "operationId": "AdminSettingsService_ListSettings",
        "parameters": [
          {
            "name": "group",
            "in": "query",
            "description": "可选分组过滤（site/template/trade/security/ops/notify/...）",
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/zcard.api.admin.v1.ListSettingsReply"
                }
              }
            }
          }
        }
      },
      "put": {
        "tags": [
          "AdminSettingsService"
        ],
        "description": "UpdateSettings 批量更新（表单级保存；单事务原子写入）。",
        "operationId": "AdminSettingsService_UpdateSettings",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/zcard.api.admin.v1.UpdateSettingsRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/zcard.api.admin.v1.UpdateSettingsReply"
                }
              }
            }
          }
        }
      }
    },
    "/api/v1/admin/settings/templates": {
      "get": {
        "tags": [
          "AdminSettingsService"
        ],
        "description": "ListTemplates 可用模板清单（扫描 web/storefront/templates/*/theme.json；\n 目录缺失回退内置 classic 清单）。",
        "operationId": "AdminSettingsService_ListTemplates",
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/zcard.api.admin.v1.TemplateList"
                }
              }
            }
          }
        }
      }
    },
    "/api/v1/admin/settings/templates/install": {
      "post": {
        "tags": [
          "AdminSettingsService"
        ],
        "description": "InstallTemplate 安装主题（zip base64；解压校验后原子落盘到模板目录）。",
        "operationId": "AdminSettingsService_InstallTemplate",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/zcard.api.admin.v1.InstallTemplateRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/zcard.api.admin.v1.TemplateItem"
                }
              }
            }
          }
        }
      }
    },
    "/api/v1/admin/settings/themes/{key}": {
      "get": {
        "tags": [
          "AdminSettingsService"
        ],
        "operationId": "AdminSettingsService_GetThemeSettings",
        "parameters": [
          {
            "name": "key",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "theme_revision",
            "in": "query",
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/zcard.api.admin.v1.ThemeSettingsReply"
                }
              }
            }
          }
        }
      },
      "put": {
        "tags": [
          "AdminSettingsService"
        ],
        "operationId": "AdminSettingsService_SaveThemeSettings",
        "parameters": [
          {
            "name": "key",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/zcard.api.admin.v1.SaveThemeSettingsRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/zcard.api.admin.v1.ThemeSettingsReply"
                }
              }
            }
          }
        }
      }
    },
    "/api/v1/admin/settings/themes/{key}/preview": {
      "post": {
        "tags": [
          "AdminSettingsService"
        ],
        "operationId": "AdminSettingsService_PreviewThemeSettings",
        "parameters": [
          {
            "name": "key",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/zcard.api.admin.v1.SaveThemeSettingsRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/zcard.api.admin.v1.ThemePreviewReply"
                }
              }
            }
          }
        }
      }
    },
    "/api/v1/admin/settings/{group}/{key}": {
      "get": {
        "tags": [
          "AdminSettingsService"
        ],
        "description": "GetSetting 读取单个设置项。",
        "operationId": "AdminSettingsService_GetSetting",
        "parameters": [
          {
            "name": "group",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "key",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/zcard.api.admin.v1.Setting"
                }
              }
            }
          }
        }
      },
      "put": {
        "tags": [
          "AdminSettingsService"
        ],
        "description": "UpdateSetting 更新单个设置项（value 为任意 JSON 文档）。",
        "operationId": "AdminSettingsService_UpdateSetting",
        "parameters": [
          {
            "name": "group",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "key",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/zcard.api.admin.v1.UpdateSettingRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/zcard.api.admin.v1.Setting"
                }
              }
            }
          }
        }
      }
    },
    "/api/v1/admin/skus/{id}": {
      "put": {
        "tags": [
          "AdminCatalogService"
        ],
        "operationId": "AdminCatalogService_UpdateSku",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/zcard.api.admin.v1.UpdateSkuRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/zcard.api.admin.v1.Sku"
                }
              }
            }
          }
        }
      },
      "delete": {
        "tags": [
          "AdminCatalogService"
        ],
        "operationId": "AdminCatalogService_DeleteSku",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {}
          }
        }
      }
    },
    "/api/v1/admin/supplier/accounts": {
      "get": {
        "tags": [
          "AdminSupplierService"
        ],
        "description": "ListAccounts 账户列表（secret 零回显）。",
        "operationId": "AdminSupplierService_ListAccounts",
        "parameters": [
          {
            "name": "page",
            "in": "query",
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "name": "page_size",
            "in": "query",
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/zcard.api.admin.v1.ListSupplierAccountsReply"
                }
              }
            }
          }
        }
      },
      "post": {
        "tags": [
          "AdminSupplierService"
        ],
        "description": "CreateAccount 下游申请（secret 明文只在此响应出现一次）。",
        "operationId": "AdminSupplierService_CreateAccount",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/zcard.api.admin.v1.CreateSupplierAccountRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/zcard.api.admin.v1.SupplierAccountReply"
                }
              }
            }
          }
        }
      }
    },
    "/api/v1/admin/supplier/accounts/{id}/ip-whitelist": {
      "put": {
        "tags": [
          "AdminSupplierService"
        ],
        "description": "SetSupplierIPWhitelist 设置 IP 白名单（空 = 所有 IP 放行；接口鉴权层强制）。",
        "operationId": "AdminSupplierService_SetSupplierIPWhitelist",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/zcard.api.admin.v1.SetSupplierIPWhitelistRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/zcard.api.admin.v1.SupplierAccountReply"
                }
              }
            }
          }
        }
      }
    },
    "/api/v1/admin/supplier/accounts/{id}/notify-url": {
      "put": {
        "tags": [
          "AdminSupplierService"
        ],
        "description": "SetNotifyURL 配置回调地址。",
        "operationId": "AdminSupplierService_SetNotifyURL",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/zcard.api.admin.v1.SetSupplierNotifyURLRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/zcard.api.admin.v1.SupplierAccountReply"
                }
              }
            }
          }
        }
      }
    },
    "/api/v1/admin/supplier/accounts/{id}/recharge": {
      "post": {
        "tags": [
          "AdminSupplierService"
        ],
        "description": "Recharge 账户充值（账本入账）。",
        "operationId": "AdminSupplierService_Recharge",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/zcard.api.admin.v1.RechargeSupplierRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {}
          }
        }
      }
    },
    "/api/v1/admin/supplier/accounts/{id}/reset-secret": {
      "post": {
        "tags": [
          "AdminSupplierService"
        ],
        "description": "ResetSecret 重置密钥（返回明文一次）。",
        "operationId": "AdminSupplierService_ResetSecret",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/zcard.api.admin.v1.ResetSupplierSecretRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/zcard.api.admin.v1.ResetSupplierSecretReply"
                }
              }
            }
          }
        }
      }
    },
    "/api/v1/admin/supplier/accounts/{id}/review": {
      "post": {
        "tags": [
          "AdminSupplierService"
        ],
        "description": "ReviewAccount 审核（applying → approved/rejected；驳回可带意见）。",
        "operationId": "AdminSupplierService_ReviewAccount",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/zcard.api.admin.v1.ReviewSupplierAccountRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/zcard.api.admin.v1.SupplierAccountReply"
                }
              }
            }
          }
        }
      }
    },
    "/api/v1/admin/supplier/accounts/{id}/toggle": {
      "post": {
        "tags": [
          "AdminSupplierService"
        ],
        "description": "ToggleAccount 启停。",
        "operationId": "AdminSupplierService_ToggleAccount",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/zcard.api.admin.v1.ToggleSupplierAccountRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/zcard.api.admin.v1.SupplierAccountReply"
                }
              }
            }
          }
        }
      }
    },
    "/api/v1/admin/supplier/callbacks": {
      "get": {
        "tags": [
          "AdminSupplierService"
        ],
        "description": "ListCallbacks 回调记录（含死信）。",
        "operationId": "AdminSupplierService_ListCallbacks",
        "parameters": [
          {
            "name": "status",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "page",
            "in": "query",
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "name": "page_size",
            "in": "query",
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/zcard.api.admin.v1.ListSupplierCallbacksReply"
                }
              }
            }
          }
        }
      }
    },
    "/api/v1/admin/supplier/callbacks/{id}/resend": {
      "post": {
        "tags": [
          "AdminSupplierService"
        ],
        "description": "ResendCallback 手动重发回调（死信恢复）。",
        "operationId": "AdminSupplierService_ResendCallback",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/zcard.api.admin.v1.ResendSupplierCallbackRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {}
          }
        }
      }
    },
    "/api/v1/admin/supplier/ledger": {
      "get": {
        "tags": [
          "AdminSupplierService"
        ],
        "description": "ListLedger 账本流水（下游自助对账数据源）。",
        "operationId": "AdminSupplierService_ListLedger",
        "parameters": [
          {
            "name": "account_id",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "page",
            "in": "query",
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "name": "page_size",
            "in": "query",
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/zcard.api.admin.v1.ListSupplierLedgerReply"
                }
              }
            }
          }
        }
      }
    },
    "/api/v1/admin/supplier/prices": {
      "get": {
        "tags": [
          "AdminSupplierService"
        ],
        "description": "ListPrices 账号的专属价列表(补齐：浏览/管理覆盖价）。",
        "operationId": "AdminSupplierService_ListPrices",
        "parameters": [
          {
            "name": "account_id",
            "in": "query",
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/zcard.api.admin.v1.ListSupplierPricesReply"
                }
              }
            }
          }
        }
      },
      "post": {
        "tags": [
          "AdminSupplierService"
        ],
        "description": "UpsertPrice 供货定价（覆盖价）。",
        "operationId": "AdminSupplierService_UpsertPrice",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/zcard.api.admin.v1.UpsertSupplierPriceRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {}
          }
        }
      }
    },
    "/api/v1/admin/supplier/prices/{id}": {
      "delete": {
        "tags": [
          "AdminSupplierService"
        ],
        "description": "DeletePrice 删除专属价（恢复基础供货价）。",
        "operationId": "AdminSupplierService_DeletePrice",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {}
          }
        }
      }
    },
    "/api/v1/admin/supply/connections": {
      "get": {
        "tags": [
          "AdminSupplyService"
        ],
        "description": "ListConnections 连接列表（凭据零回显）。",
        "operationId": "AdminSupplyService_ListConnections",
        "parameters": [
          {
            "name": "page",
            "in": "query",
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "name": "page_size",
            "in": "query",
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/zcard.api.admin.v1.ListConnectionsReply"
                }
              }
            }
          }
        }
      },
      "post": {
        "tags": [
          "AdminSupplyService"
        ],
        "description": "CreateConnection 创建上游连接（凭据 AES-GCM 加密入库；base_url SSRF 校验）。",
        "operationId": "AdminSupplyService_CreateConnection",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/zcard.api.admin.v1.CreateConnectionRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/zcard.api.admin.v1.SupplyConnection"
                }
              }
            }
          }
        }
      }
    },
    "/api/v1/admin/supply/connections/{connection_id}/import": {
      "post": {
        "tags": [
          "AdminSupplyService"
        ],
        "description": "ImportProducts 勾选导入（定价策略 + 类目映射 + 存为连接默认； D）。",
        "operationId": "AdminSupplyService_ImportProducts",
        "parameters": [
          {
            "name": "connection_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/zcard.api.admin.v1.ImportProductsRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/zcard.api.admin.v1.ImportProductsReply"
                }
              }
            }
          }
        }
      }
    },
    "/api/v1/admin/supply/connections/{connection_id}/preview": {
      "get": {
        "tags": [
          "AdminSupplyService"
        ],
        "description": "ListHealth 连接健康列表（探活结果 + 最近错误 + 同步时间）。\n PreviewProducts 轻量目录预览；quote_code 按需查询一个商品的账号报价。",
        "operationId": "AdminSupplyService_PreviewProducts",
        "parameters": [
          {
            "name": "connection_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "quote_code",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "async",
            "in": "query",
            "schema": {
              "type": "boolean"
            }
          },
          {
            "name": "snapshot_id",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "refresh",
            "in": "query",
            "schema": {
              "type": "boolean"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/zcard.api.admin.v1.PreviewProductsReply"
                }
              }
            }
          }
        }
      }
    },
    "/api/v1/admin/supply/connections/{id}": {
      "put": {
        "tags": [
          "AdminSupplyService"
        ],
        "description": "UpdateConnection 更新连接（credentials 留空 = 不更新凭据）。",
        "operationId": "AdminSupplyService_UpdateConnection",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/zcard.api.admin.v1.UpdateConnectionRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/zcard.api.admin.v1.SupplyConnection"
                }
              }
            }
          }
        }
      },
      "delete": {
        "tags": [
          "AdminSupplyService"
        ],
        "description": "DeleteConnection 删除连接（存在映射时拒绝）。",
        "operationId": "AdminSupplyService_DeleteConnection",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {}
          }
        }
      }
    },
    "/api/v1/admin/supply/connections/{id}/ping": {
      "post": {
        "tags": [
          "AdminSupplyService"
        ],
        "description": "PingConnection 探活（更新 last_ping_at/last_ping_ok/balance_cache）。",
        "operationId": "AdminSupplyService_PingConnection",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/zcard.api.admin.v1.PingConnectionRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/zcard.api.admin.v1.PingConnectionReply"
                }
              }
            }
          }
        }
      }
    },
    "/api/v1/admin/supply/health": {
      "get": {
        "tags": [
          "AdminSupplyService"
        ],
        "operationId": "AdminSupplyService_ListHealth",
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/zcard.api.admin.v1.ListHealthReply"
                }
              }
            }
          }
        }
      }
    },
    "/api/v1/admin/supply/mappings": {
      "get": {
        "tags": [
          "AdminSupplyService"
        ],
        "description": "ListMappings 商品映射列表（按连接过滤）。",
        "operationId": "AdminSupplyService_ListMappings",
        "parameters": [
          {
            "name": "connection_id",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "page",
            "in": "query",
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "name": "page_size",
            "in": "query",
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/zcard.api.admin.v1.ListMappingsReply"
                }
              }
            }
          }
        }
      },
      "post": {
        "tags": [
          "AdminSupplyService"
        ],
        "description": "UpsertMapping 创建/更新映射（UNIQUE(connection_id, upstream_product, upstream_sku)）。",
        "operationId": "AdminSupplyService_UpsertMapping",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/zcard.api.admin.v1.UpsertMappingRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/zcard.api.admin.v1.SupplyMapping"
                }
              }
            }
          }
        }
      }
    },
    "/api/v1/admin/supply/mappings/{id}": {
      "delete": {
        "tags": [
          "AdminSupplyService"
        ],
        "description": "DeleteMapping 删除映射。",
        "operationId": "AdminSupplyService_DeleteMapping",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {}
          }
        }
      }
    },
    "/api/v1/admin/supply/sync-tasks": {
      "get": {
        "tags": [
          "AdminSupplyService"
        ],
        "description": "ListSyncTasks 同步任务列表。",
        "operationId": "AdminSupplyService_ListSyncTasks",
        "parameters": [
          {
            "name": "connection_id",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "page",
            "in": "query",
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "name": "page_size",
            "in": "query",
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/zcard.api.admin.v1.ListSyncTasksReply"
                }
              }
            }
          }
        }
      },
      "post": {
        "tags": [
          "AdminSupplyService"
        ],
        "description": "CreateSyncTask 创建同步任务（full=全量 / incremental=增量；low 队列执行）。",
        "operationId": "AdminSupplyService_CreateSyncTask",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/zcard.api.admin.v1.CreateSyncTaskRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/zcard.api.admin.v1.SupplySyncTask"
                }
              }
            }
          }
        }
      }
    },
    "/api/v1/admin/supply/sync-tasks/{id}": {
      "get": {
        "tags": [
          "AdminSupplyService"
        ],
        "description": "GetSyncTask 任务详情（心跳/统计/错误上下文）。",
        "operationId": "AdminSupplyService_GetSyncTask",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/zcard.api.admin.v1.SupplySyncTask"
                }
              }
            }
          }
        }
      }
    },
    "/api/v1/admin/supply/sync-tasks/{id}/cancel": {
      "post": {
        "tags": [
          "AdminSupplyService"
        ],
        "description": "CancelSyncTask 请求取消（分批间检查标志）。",
        "operationId": "AdminSupplyService_CancelSyncTask",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/zcard.api.admin.v1.CancelSyncTaskRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/zcard.api.admin.v1.SupplySyncTask"
                }
              }
            }
          }
        }
      }
    },
    "/api/v1/admin/supply/sync-tasks/{id}/items": {
      "get": {
        "tags": [
          "AdminSupplyService"
        ],
        "operationId": "AdminSupplyService_ListImportItems",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "page",
            "in": "query",
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "name": "page_size",
            "in": "query",
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "name": "problems_only",
            "in": "query",
            "schema": {
              "type": "boolean"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/zcard.api.admin.v1.ListImportItemsReply"
                }
              }
            }
          }
        }
      }
    },
    "/api/v1/admin/supply/sync-tasks/{id}/retry": {
      "post": {
        "tags": [
          "AdminSupplyService"
        ],
        "operationId": "AdminSupplyService_RetryImportTask",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/zcard.api.admin.v1.RetryImportTaskRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/zcard.api.admin.v1.SupplySyncTask"
                }
              }
            }
          }
        }
      }
    },
    "/api/v1/admin/tags": {
      "get": {
        "tags": [
          "AdminCatalogService"
        ],
        "description": "── 标签 ──",
        "operationId": "AdminCatalogService_ListTags",
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/zcard.api.admin.v1.TagList"
                }
              }
            }
          }
        }
      },
      "post": {
        "tags": [
          "AdminCatalogService"
        ],
        "operationId": "AdminCatalogService_CreateTag",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/zcard.api.admin.v1.CreateTagRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/zcard.api.admin.v1.Tag"
                }
              }
            }
          }
        }
      }
    },
    "/api/v1/admin/tags/{id}": {
      "delete": {
        "tags": [
          "AdminCatalogService"
        ],
        "operationId": "AdminCatalogService_DeleteTag",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {}
          }
        }
      }
    },
    "/api/v1/admin/tickets": {
      "get": {
        "tags": [
          "AdminTicketService"
        ],
        "description": "ListTickets 工作台列表（urgent_paid 置顶 → 高 → 中 → 低；状态/类型/订单筛选）。",
        "operationId": "AdminTicketService_ListTickets",
        "parameters": [
          {
            "name": "status",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "type",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "order_no",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "page",
            "in": "query",
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "name": "page_size",
            "in": "query",
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/zcard.api.admin.v1.ListTicketsReply"
                }
              }
            }
          }
        }
      }
    },
    "/api/v1/admin/tickets/{ticket_no}": {
      "get": {
        "tags": [
          "AdminTicketService"
        ],
        "description": "GetTicket 详情（含内部备注——客服侧全量）。",
        "operationId": "AdminTicketService_GetTicket",
        "parameters": [
          {
            "name": "ticket_no",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/zcard.api.admin.v1.GetTicketReply"
                }
              }
            }
          }
        }
      }
    },
    "/api/v1/admin/tickets/{ticket_no}/close": {
      "post": {
        "tags": [
          "AdminTicketService"
        ],
        "description": "CloseTicket 关闭。",
        "operationId": "AdminTicketService_CloseTicket",
        "parameters": [
          {
            "name": "ticket_no",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/zcard.api.admin.v1.TicketNoRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {}
          }
        }
      }
    },
    "/api/v1/admin/tickets/{ticket_no}/reply": {
      "post": {
        "tags": [
          "AdminTicketService"
        ],
        "description": "ReplyTicket 客服回复（可内部备注）。",
        "operationId": "AdminTicketService_ReplyTicket",
        "parameters": [
          {
            "name": "ticket_no",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/zcard.api.admin.v1.AdminReplyRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {}
          }
        }
      }
    },
    "/api/v1/admin/tickets/{ticket_no}/resolve": {
      "post": {
        "tags": [
          "AdminTicketService"
        ],
        "description": "ResolveTicket 解决。",
        "operationId": "AdminTicketService_ResolveTicket",
        "parameters": [
          {
            "name": "ticket_no",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/zcard.api.admin.v1.TicketNoRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {}
          }
        }
      }
    },
    "/api/v1/admin/update/apply": {
      "post": {
        "tags": [
          "AdminUpdateService"
        ],
        "description": "ApplyUpdate 触发更新（单飞；进行中重复调用返回当前态）。",
        "operationId": "AdminUpdateService_ApplyUpdate",
        "requestBody": {
          "content": {
            "application/json": {}
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/zcard.api.admin.v1.UpdateStatus"
                }
              }
            }
          }
        }
      }
    },
    "/api/v1/admin/update/check": {
      "post": {
        "tags": [
          "AdminUpdateService"
        ],
        "description": "CheckUpdate 手动检查更新（源解析+manifest 验签；结果缓存于 status）。",
        "operationId": "AdminUpdateService_CheckUpdate",
        "requestBody": {
          "content": {
            "application/json": {}
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/zcard.api.admin.v1.UpdateCheckResult"
                }
              }
            }
          }
        }
      }
    },
    "/api/v1/admin/update/rollback": {
      "post": {
        "tags": [
          "AdminUpdateService"
        ],
        "description": "RollbackUpdate 回滚上一版本（zcard.prev）并重启。",
        "operationId": "AdminUpdateService_RollbackUpdate",
        "requestBody": {
          "content": {
            "application/json": {}
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/zcard.api.admin.v1.UpdateStatus"
                }
              }
            }
          }
        }
      }
    },
    "/api/v1/admin/update/status": {
      "get": {
        "tags": [
          "AdminUpdateService"
        ],
        "description": "GetUpdateStatus 当前状态（幂等轮询；含生效源/supervisor 探测/最近 check 结果）。",
        "operationId": "AdminUpdateService_GetUpdateStatus",
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/zcard.api.admin.v1.UpdateStatus"
                }
              }
            }
          }
        }
      }
    },
    "/api/v1/admin/users": {
      "get": {
        "tags": [
          "AdminUserManageService"
        ],
        "description": "ListUsers 用户列表（关键词/状态筛选，分页）。",
        "operationId": "AdminUserManageService_ListUsers",
        "parameters": [
          {
            "name": "keyword",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "status",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "page",
            "in": "query",
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "name": "page_size",
            "in": "query",
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "name": "is_supplier",
            "in": "query",
            "schema": {
              "type": "boolean"
            }
          },
          {
            "name": "level_id",
            "in": "query",
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/zcard.api.admin.v1.ListUsersReply"
                }
              }
            }
          }
        }
      },
      "post": {
        "tags": [
          "AdminUserManageService"
        ],
        "description": "CreateUser 后台新增用户（用户名/邮箱/初始密码；复用注册管线含推广码生成）。",
        "operationId": "AdminUserManageService_CreateUser",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/zcard.api.admin.v1.CreateUserRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/zcard.api.admin.v1.UserItem"
                }
              }
            }
          }
        }
      }
    },
    "/api/v1/admin/users/{id}": {
      "get": {
        "tags": [
          "AdminUserManageService"
        ],
        "description": "GetUser 用户详情（聚合：等级/钱包/优惠券/供货账户/邀请关系/最近订单）。",
        "operationId": "AdminUserManageService_GetUser",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/zcard.api.admin.v1.UserDetail"
                }
              }
            }
          }
        }
      }
    },
    "/api/v1/admin/users/{id}/password": {
      "put": {
        "tags": [
          "AdminUserManageService"
        ],
        "description": "ResetUserPassword 重置用户密码（超管专属）。",
        "operationId": "AdminUserManageService_ResetUserPassword",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/zcard.api.admin.v1.ResetUserPasswordRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {}
          }
        }
      }
    },
    "/api/v1/admin/users/{id}/status": {
      "post": {
        "tags": [
          "AdminUserManageService"
        ],
        "description": "SetUserStatus 封禁/解封（status: active | banned；deleted 不可经此设置）。",
        "operationId": "AdminUserManageService_SetUserStatus",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/zcard.api.admin.v1.SetUserStatusRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/zcard.api.admin.v1.UserItem"
                }
              }
            }
          }
        }
      }
    },
    "/api/v1/admin/users/{user_id}/invite-level": {
      "put": {
        "tags": [
          "AdminMemberLevelService"
        ],
        "operationId": "AdminMemberLevelService_ConfigureInviteLevel",
        "parameters": [
          {
            "name": "user_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/zcard.api.admin.v1.ConfigureInviteLevelRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {}
          }
        }
      }
    },
    "/api/v1/admin/users/{user_id}/member-level": {
      "put": {
        "tags": [
          "AdminMemberLevelService"
        ],
        "operationId": "AdminMemberLevelService_AssignUserLevel",
        "parameters": [
          {
            "name": "user_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/zcard.api.admin.v1.AssignUserLevelRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {}
          }
        }
      }
    },
    "/api/v1/admin/virtual-reviews": {
      "post": {
        "tags": [
          "AdminCatalogService"
        ],
        "operationId": "AdminCatalogService_CreateVirtualReview",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/zcard.api.admin.v1.CreateVirtualReviewRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/zcard.api.admin.v1.VirtualReviewItem"
                }
              }
            }
          }
        }
      }
    },
    "/api/v1/admin/wallet/giftcard-batches": {
      "get": {
        "tags": [
          "AdminWalletService"
        ],
        "description": "ListGiftcardBatches 批次列表。",
        "operationId": "AdminWalletService_ListGiftcardBatches",
        "parameters": [
          {
            "name": "page",
            "in": "query",
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "name": "page_size",
            "in": "query",
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/zcard.api.admin.v1.ListGiftcardBatchesReply"
                }
              }
            }
          }
        }
      },
      "post": {
        "tags": [
          "AdminWalletService"
        ],
        "description": "CreateGiftcardBatch 礼品卡批次创建（批量生成密文 code；giftcard:write）。",
        "operationId": "AdminWalletService_CreateGiftcardBatch",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/zcard.api.admin.v1.CreateGiftcardBatchRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/zcard.api.admin.v1.CreateGiftcardBatchReply"
                }
              }
            }
          }
        }
      }
    },
    "/api/v1/admin/wallet/giftcard-batches/{id}": {
      "delete": {
        "tags": [
          "AdminWalletService"
        ],
        "description": "DeleteGiftcardBatch 删除批次并作废未兑换卡，保留已兑换记录。",
        "operationId": "AdminWalletService_DeleteGiftcardBatch",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {}
          }
        }
      }
    },
    "/api/v1/admin/wallet/withdrawals": {
      "get": {
        "tags": [
          "AdminWalletService"
        ],
        "description": "ListWithdrawals 提现单列表（状态筛选）。",
        "operationId": "AdminWalletService_ListWithdrawals",
        "parameters": [
          {
            "name": "status",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "page",
            "in": "query",
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "name": "page_size",
            "in": "query",
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/zcard.api.admin.v1.ListWithdrawalsReply"
                }
              }
            }
          }
        }
      }
    },
    "/api/v1/admin/wallet/withdrawals/{id}/pay": {
      "post": {
        "tags": [
          "AdminWalletService"
        ],
        "description": "PayWithdrawal 打款（人工打款模式：approved→paid + locked 扣减 + 流水）。",
        "operationId": "AdminWalletService_PayWithdrawal",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/zcard.api.admin.v1.PayWithdrawalRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/zcard.api.admin.v1.WithdrawalItem"
                }
              }
            }
          }
        }
      }
    },
    "/api/v1/admin/wallet/withdrawals/{id}/review": {
      "post": {
        "tags": [
          "AdminWalletService"
        ],
        "description": "ReviewWithdrawal 审核（通过→approved 保持锁定；驳回→rejected 解锁回余额）。",
        "operationId": "AdminWalletService_ReviewWithdrawal",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/zcard.api.admin.v1.ReviewWithdrawalRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/zcard.api.admin.v1.WithdrawalItem"
                }
              }
            }
          }
        }
      }
    },
    "/api/v1/admin/wallet/{user_id}": {
      "get": {
        "tags": [
          "AdminWalletService"
        ],
        "description": "GetBalance 指定用户余额。",
        "operationId": "AdminWalletService_GetBalance",
        "parameters": [
          {
            "name": "user_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/zcard.api.admin.v1.Balance"
                }
              }
            }
          }
        }
      }
    },
    "/api/v1/admin/wallet/{user_id}/adjust": {
      "post": {
        "tags": [
          "AdminWalletService"
        ],
        "description": "Adjust 手动调账（需 wallet:adjust 权限 + 原因必填 + 审计）。",
        "operationId": "AdminWalletService_Adjust",
        "parameters": [
          {
            "name": "user_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/zcard.api.admin.v1.AdjustRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/zcard.api.admin.v1.Balance"
                }
              }
            }
          }
        }
      }
    },
    "/api/v1/admin/wallet/{user_id}/adjust-points": {
      "post": {
        "tags": [
          "AdminWalletService"
        ],
        "description": "AdjustPoints 积分调整（正=增加 负=扣减；复用积分账本与审计）。",
        "operationId": "AdminWalletService_AdjustPoints",
        "parameters": [
          {
            "name": "user_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/zcard.api.admin.v1.AdjustPointsRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/zcard.api.admin.v1.PointsBalance"
                }
              }
            }
          }
        }
      }
    },
    "/api/v1/admin/wallet/{user_id}/transactions": {
      "get": {
        "tags": [
          "AdminWalletService"
        ],
        "description": "ListTransactions 指定用户流水。",
        "operationId": "AdminWalletService_ListTransactions",
        "parameters": [
          {
            "name": "user_id",
            "in": "path",
            "description": "指定用户流水；0 = 全站流水（账单管理）。不能标 REQUIRED——proto3 零值 0 会被网关判缺失。",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "page",
            "in": "query",
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "name": "page_size",
            "in": "query",
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/zcard.api.admin.v1.ListWalletTxReply"
                }
              }
            }
          }
        }
      }
    },
    "/api/v1/storefront/affiliate/commissions": {
      "get": {
        "tags": [
          "StoreAffiliateService"
        ],
        "description": "ListCommissions 佣金流水（正 + 负债行）。",
        "operationId": "StoreAffiliateService_ListCommissions",
        "parameters": [
          {
            "name": "page",
            "in": "query",
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "name": "page_size",
            "in": "query",
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/zcard.api.storefront.v1.ListMyCommissionsReply"
                }
              }
            }
          }
        }
      }
    },
    "/api/v1/storefront/affiliate/me": {
      "get": {
        "tags": [
          "StoreAffiliateService"
        ],
        "description": "MyAffiliate 推广码 + 统计（登录用户）。",
        "operationId": "StoreAffiliateService_MyAffiliate",
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/zcard.api.storefront.v1.MyAffiliateReply"
                }
              }
            }
          }
        }
      }
    },
    "/api/v1/storefront/affiliate/team": {
      "get": {
        "tags": [
          "StoreAffiliateService"
        ],
        "description": "ListTeam 下级列表（脱敏用户名）。",
        "operationId": "StoreAffiliateService_ListTeam",
        "parameters": [
          {
            "name": "tier",
            "in": "query",
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "name": "page",
            "in": "query",
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "name": "page_size",
            "in": "query",
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/zcard.api.storefront.v1.ListTeamReply"
                }
              }
            }
          }
        }
      }
    },
    "/api/v1/storefront/banners": {
      "get": {
        "tags": [
          "StoreContentService"
        ],
        "description": "ListBanners 生效中横幅（position 过滤 + sort 排序 + 时间窗过滤）。",
        "operationId": "StoreContentService_ListBanners",
        "parameters": [
          {
            "name": "position",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "locale",
            "in": "query",
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/zcard.api.storefront.v1.ListBannersReply"
                }
              }
            }
          }
        }
      }
    },
    "/api/v1/storefront/captcha/image": {
      "get": {
        "tags": [
          "StoreCaptchaService"
        ],
        "description": "GetImage 生成验证码（{captcha_id, image_base64}；一次性消费）。",
        "operationId": "StoreCaptchaService_GetImage",
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/zcard.api.storefront.v1.CaptchaImage"
                }
              }
            }
          }
        }
      }
    },
    "/api/v1/storefront/cart": {
      "get": {
        "tags": [
          "StoreCartService"
        ],
        "description": "ListCart 我的购物车（商品快照联查；失效商品打标）。",
        "operationId": "StoreCartService_ListCart",
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/zcard.api.storefront.v1.ListCartReply"
                }
              }
            }
          }
        }
      }
    },
    "/api/v1/storefront/cart/items": {
      "post": {
        "tags": [
          "StoreCartService"
        ],
        "description": "AddCartItem 加购（同 user+product+sku 合并数量；商品须上架）。",
        "operationId": "StoreCartService_AddCartItem",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/zcard.api.storefront.v1.AddCartItemRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/zcard.api.storefront.v1.CartItem"
                }
              }
            }
          }
        }
      }
    },
    "/api/v1/storefront/cart/items/{id}": {
      "post": {
        "tags": [
          "StoreCartService"
        ],
        "description": "UpdateCartItem 改量（quantity=0 即删除）。",
        "operationId": "StoreCartService_UpdateCartItem",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/zcard.api.storefront.v1.UpdateCartItemRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/zcard.api.storefront.v1.CartItem"
                }
              }
            }
          }
        }
      },
      "delete": {
        "tags": [
          "StoreCartService"
        ],
        "description": "RemoveCartItem 移除。",
        "operationId": "StoreCartService_RemoveCartItem",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {}
          }
        }
      }
    },
    "/api/v1/storefront/categories": {
      "get": {
        "tags": [
          "StoreCatalogService"
        ],
        "description": "ListCategories 可见分类列表（hide=false + 分站白名单；导航/筛选用）。",
        "operationId": "StoreCatalogService_ListCategories",
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/zcard.api.storefront.v1.ListCategoriesReply"
                }
              }
            }
          }
        }
      }
    },
    "/api/v1/storefront/config": {
      "get": {
        "tags": [
          "StorefrontConfigService"
        ],
        "description": "GetPublicConfig 前台公开配置（全部分组白名单键合并下发，稳定排序）。",
        "operationId": "StorefrontConfigService_GetPublicConfig",
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/zcard.api.storefront.v1.PublicConfig"
                }
              }
            }
          }
        }
      }
    },
    "/api/v1/storefront/coupons/mine": {
      "get": {
        "tags": [
          "StoreCouponService"
        ],
        "description": "ListMyCoupons 我的可用券（登录用户）。",
        "operationId": "StoreCouponService_ListMyCoupons",
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/zcard.api.storefront.v1.ListMyCouponsReply"
                }
              }
            }
          }
        }
      }
    },
    "/api/v1/storefront/coupons/redeem": {
      "post": {
        "tags": [
          "StoreCouponService"
        ],
        "description": "RedeemCoupon 兑换码领券。",
        "operationId": "StoreCouponService_RedeemCoupon",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/zcard.api.storefront.v1.RedeemCouponRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {}
          }
        }
      }
    },
    "/api/v1/storefront/currencies": {
      "get": {
        "tags": [
          "StorefrontConfigService"
        ],
        "description": "ListCurrencies 启用货币列表（展示换算用）。",
        "operationId": "StorefrontConfigService_ListCurrencies",
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/zcard.api.storefront.v1.Currencies"
                }
              }
            }
          }
        }
      }
    },
    "/api/v1/storefront/delivery": {
      "get": {
        "tags": [
          "StoreDeliveryService"
        ],
        "description": "MaskedDeliveries 我的订单掩码列表。",
        "operationId": "StoreDeliveryService_MaskedDeliveries",
        "parameters": [
          {
            "name": "page",
            "in": "query",
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "name": "page_size",
            "in": "query",
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/zcard.api.storefront.v1.MaskedDeliveriesReply"
                }
              }
            }
          }
        }
      }
    },
    "/api/v1/storefront/delivery/fetch": {
      "post": {
        "tags": [
          "StoreDeliveryService"
        ],
        "description": "FetchDelivery 取货（一次性明文；默认 1 次后掩码；Cache-Control: no-store）。",
        "operationId": "StoreDeliveryService_FetchDelivery",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/zcard.api.storefront.v1.FetchDeliveryRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/zcard.api.storefront.v1.FetchDeliveryReply"
                }
              }
            }
          }
        }
      }
    },
    "/api/v1/storefront/flash-sales": {
      "get": {
        "tags": [
          "StoreCouponService"
        ],
        "description": "ListFlashSales 秒杀列表（upcoming=false 进行中 / true 即将开始）。",
        "operationId": "StoreCouponService_ListFlashSales",
        "parameters": [
          {
            "name": "upcoming",
            "in": "query",
            "schema": {
              "type": "boolean"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/zcard.api.storefront.v1.ListFlashSalesReply"
                }
              }
            }
          }
        }
      }
    },
    "/api/v1/storefront/guest-orders": {
      "get": {
        "tags": [
          "StoreOrderService"
        ],
        "description": "ListGuestOrders 游客按下单联系方式查订单列表（邮箱/手机号；精简信息——\n 卡密仍需逐单查询密码，防枚举：查不到返回空）。",
        "operationId": "StoreOrderService_ListGuestOrders",
        "parameters": [
          {
            "name": "contact",
            "in": "query",
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/zcard.api.storefront.v1.ListGuestOrdersReply"
                }
              }
            }
          }
        }
      }
    },
    "/api/v1/storefront/license/offer": {
      "get": {
        "tags": [
          "StoreLicenseService"
        ],
        "description": "GetLicenseOffer 套餐报价（价格服务端裁决；instance_id 供目标实例绑定预览）。",
        "operationId": "StoreLicenseService_GetLicenseOffer",
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/zcard.api.storefront.v1.LicenseOfferReply"
                }
              }
            }
          }
        }
      }
    },
    "/api/v1/storefront/license/orders": {
      "get": {
        "tags": [
          "StoreLicenseService"
        ],
        "description": "ListLicenseOrders 购买记录（含许可证文件可重新下载）。",
        "operationId": "StoreLicenseService_ListLicenseOrders",
        "parameters": [
          {
            "name": "page",
            "in": "query",
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "name": "page_size",
            "in": "query",
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/zcard.api.storefront.v1.ListLicenseOrdersReply"
                }
              }
            }
          }
        }
      }
    },
    "/api/v1/storefront/license/purchase": {
      "post": {
        "tags": [
          "StoreLicenseService"
        ],
        "description": "PurchaseLicense 购买（钱包扣款 → ed25519 签发 → 返回许可证文件）。",
        "operationId": "StoreLicenseService_PurchaseLicense",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/zcard.api.storefront.v1.PurchaseLicenseRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/zcard.api.storefront.v1.PurchaseLicenseReply"
                }
              }
            }
          }
        }
      }
    },
    "/api/v1/storefront/lottery/activities": {
      "get": {
        "tags": [
          "StoreLotteryService"
        ],
        "operationId": "StoreLotteryService_ListLotteryActivities",
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/zcard.api.storefront.v1.LotteryActivityList"
                }
              }
            }
          }
        }
      }
    },
    "/api/v1/storefront/lottery/activities/{id}": {
      "get": {
        "tags": [
          "StoreLotteryService"
        ],
        "operationId": "StoreLotteryService_GetLotteryActivity",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/zcard.api.storefront.v1.LotteryActivity"
                }
              }
            }
          }
        }
      }
    },
    "/api/v1/storefront/lottery/activities/{id}/chances": {
      "post": {
        "tags": [
          "StoreLotteryService"
        ],
        "operationId": "StoreLotteryService_ClaimLotteryChances",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/zcard.api.storefront.v1.LotteryIDRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/zcard.api.storefront.v1.LotteryChances"
                }
              }
            }
          }
        }
      }
    },
    "/api/v1/storefront/lottery/activities/{id}/draw": {
      "post": {
        "tags": [
          "StoreLotteryService"
        ],
        "operationId": "StoreLotteryService_DrawLottery",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/zcard.api.storefront.v1.LotteryDrawRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/zcard.api.storefront.v1.LotteryDraw"
                }
              }
            }
          }
        }
      }
    },
    "/api/v1/storefront/lottery/draws": {
      "get": {
        "tags": [
          "StoreLotteryService"
        ],
        "operationId": "StoreLotteryService_ListMyLotteryDraws",
        "parameters": [
          {
            "name": "page",
            "in": "query",
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "name": "page_size",
            "in": "query",
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/zcard.api.storefront.v1.LotteryDrawList"
                }
              }
            }
          }
        }
      }
    },
    "/api/v1/storefront/lottery/draws/{draw_no}": {
      "get": {
        "tags": [
          "StoreLotteryService"
        ],
        "operationId": "StoreLotteryService_GetMyLotteryDraw",
        "parameters": [
          {
            "name": "draw_no",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/zcard.api.storefront.v1.LotteryDraw"
                }
              }
            }
          }
        }
      }
    },
    "/api/v1/storefront/media/upload": {
      "post": {
        "tags": [
          "StoreMediaService"
        ],
        "description": "Upload base64 上传（图片白名单/魔数/重编码；≤2MB）。",
        "operationId": "StoreMediaService_Upload",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/zcard.api.storefront.v1.StoreUploadRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/zcard.api.storefront.v1.StoreUploadReply"
                }
              }
            }
          }
        }
      }
    },
    "/api/v1/storefront/member-level": {
      "get": {
        "tags": [
          "StoreMemberLevelService"
        ],
        "description": "GetMyLevel 我的等级（当前等级 + 下一等级 + 升级进度 + 积分余额与产生规则）。",
        "operationId": "StoreMemberLevelService_GetMyLevel",
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/zcard.api.storefront.v1.MyLevelReply"
                }
              }
            }
          }
        }
      }
    },
    "/api/v1/storefront/member-level/invite-benefit": {
      "get": {
        "tags": [
          "StoreMemberLevelService"
        ],
        "operationId": "StoreMemberLevelService_GetInviteBenefit",
        "parameters": [
          {
            "name": "code",
            "in": "query",
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/zcard.api.storefront.v1.InviteBenefitReply"
                }
              }
            }
          }
        }
      }
    },
    "/api/v1/storefront/my-orders": {
      "get": {
        "tags": [
          "StoreOrderService"
        ],
        "description": "ListMyOrders 我的订单（登录态；offset 分页）。",
        "operationId": "StoreOrderService_ListMyOrders",
        "parameters": [
          {
            "name": "page",
            "in": "query",
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "name": "page_size",
            "in": "query",
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "name": "status",
            "in": "query",
            "description": "状态筛选（可选：pending_payment/paid/delivered/completed/canceled/expired/refunded）",
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/zcard.api.storefront.v1.ListMyOrdersReply"
                }
              }
            }
          }
        }
      }
    },
    "/api/v1/storefront/notifications": {
      "get": {
        "tags": [
          "StoreNotificationService"
        ],
        "description": "ListNotifications 站内信列表。",
        "operationId": "StoreNotificationService_ListNotifications",
        "parameters": [
          {
            "name": "unread_only",
            "in": "query",
            "schema": {
              "type": "boolean"
            }
          },
          {
            "name": "page",
            "in": "query",
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "name": "page_size",
            "in": "query",
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/zcard.api.storefront.v1.ListNotificationsReply"
                }
              }
            }
          }
        }
      }
    },
    "/api/v1/storefront/notifications/read": {
      "post": {
        "tags": [
          "StoreNotificationService"
        ],
        "description": "MarkRead 标记已读（id=0 全部）。",
        "operationId": "StoreNotificationService_MarkRead",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/zcard.api.storefront.v1.MarkReadRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {}
          }
        }
      }
    },
    "/api/v1/storefront/notifications/unread-count": {
      "get": {
        "tags": [
          "StoreNotificationService"
        ],
        "description": "UnreadCount 未读数。",
        "operationId": "StoreNotificationService_UnreadCount",
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/zcard.api.storefront.v1.UnreadCountReply"
                }
              }
            }
          }
        }
      }
    },
    "/api/v1/storefront/orders": {
      "post": {
        "tags": [
          "StoreOrderService"
        ],
        "description": "CreateOrder 下单（锁卡→算价→快照→事件；Idempotency-Key 头防重）。",
        "operationId": "StoreOrderService_CreateOrder",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/zcard.api.storefront.v1.CreateOrderRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/zcard.api.storefront.v1.CreateOrderReply"
                }
              }
            }
          }
        }
      }
    },
    "/api/v1/storefront/orders/{order_no}": {
      "get": {
        "tags": [
          "StoreOrderService"
        ],
        "description": "GetOrder 凭单号+查询密码查单（三重门之一二：查询密码/登录态本人）。",
        "operationId": "StoreOrderService_GetOrder",
        "parameters": [
          {
            "name": "order_no",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "query_password",
            "in": "query",
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/zcard.api.storefront.v1.GetOrderReply"
                }
              }
            }
          }
        }
      }
    },
    "/api/v1/storefront/orders/{order_no}/cancel": {
      "post": {
        "tags": [
          "StoreOrderService"
        ],
        "description": "CancelMyOrder 取消本人待支付订单（pending 可取消；锁卡释放+返券）。",
        "operationId": "StoreOrderService_CancelMyOrder",
        "parameters": [
          {
            "name": "order_no",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/zcard.api.storefront.v1.CancelMyOrderRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {}
          }
        }
      }
    },
    "/api/v1/storefront/orders/{order_no}/review": {
      "get": {
        "tags": [
          "StoreReviewService"
        ],
        "operationId": "StoreReviewService_GetOrderReview",
        "parameters": [
          {
            "name": "order_no",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/zcard.api.storefront.v1.OrderReviewState"
                }
              }
            }
          }
        }
      },
      "post": {
        "tags": [
          "StoreReviewService"
        ],
        "operationId": "StoreReviewService_SubmitOrderReview",
        "parameters": [
          {
            "name": "order_no",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/zcard.api.storefront.v1.SubmitOrderReviewRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/zcard.api.storefront.v1.OrderReviewState"
                }
              }
            }
          }
        }
      }
    },
    "/api/v1/storefront/payment/channels": {
      "get": {
        "tags": [
          "StorePaymentService"
        ],
        "description": "ListChannels 启用渠道列表（支付页渠道下拉数据源—— 替代前端硬编码枚举）。",
        "operationId": "StorePaymentService_ListChannels",
        "parameters": [
          {
            "name": "scene",
            "in": "query",
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/zcard.api.storefront.v1.ChannelListReply"
                }
              }
            }
          }
        }
      }
    },
    "/api/v1/storefront/payment/quote": {
      "post": {
        "tags": [
          "StorePaymentService"
        ],
        "operationId": "StorePaymentService_QuotePayment",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/zcard.api.storefront.v1.PaymentQuoteRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/zcard.api.storefront.v1.PaymentQuote"
                }
              }
            }
          }
        }
      }
    },
    "/api/v1/storefront/payments": {
      "post": {
        "tags": [
          "StorePaymentService"
        ],
        "description": "CreatePayment 创建支付（返回收银台/二维码跳转信息）。",
        "operationId": "StorePaymentService_CreatePayment",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/zcard.api.storefront.v1.CreatePaymentRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/zcard.api.storefront.v1.CreatePaymentReply"
                }
              }
            }
          }
        }
      }
    },
    "/api/v1/storefront/post-categories": {
      "get": {
        "tags": [
          "StoreContentService"
        ],
        "description": "ListPostCategories 分类列表。",
        "operationId": "StoreContentService_ListPostCategories",
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/zcard.api.storefront.v1.ListPostCategoriesReply"
                }
              }
            }
          }
        }
      }
    },
    "/api/v1/storefront/posts": {
      "get": {
        "tags": [
          "StoreContentService"
        ],
        "description": "ListPosts 已发布文章分页（type 过滤）。",
        "operationId": "StoreContentService_ListPosts",
        "parameters": [
          {
            "name": "type",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "locale",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "page",
            "in": "query",
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "name": "page_size",
            "in": "query",
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "name": "category_id",
            "in": "query",
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/zcard.api.storefront.v1.ListPostsReply"
                }
              }
            }
          }
        }
      }
    },
    "/api/v1/storefront/posts/{slug}": {
      "get": {
        "tags": [
          "StoreContentService"
        ],
        "description": "GetPost 文章详情（slug；未发布返回 404 语义）。",
        "operationId": "StoreContentService_GetPost",
        "parameters": [
          {
            "name": "slug",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "locale",
            "in": "query",
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/zcard.api.storefront.v1.GetPostReply"
                }
              }
            }
          }
        }
      }
    },
    "/api/v1/storefront/products": {
      "get": {
        "tags": [
          "StoreCatalogService"
        ],
        "description": "ListProducts 商品列表（上架 + 按排序；库存数用于购买校验，stock_visible 仅控制展示）。",
        "operationId": "StoreCatalogService_ListProducts",
        "parameters": [
          {
            "name": "category_id",
            "in": "query",
            "description": "分类过滤（可选）",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "keyword",
            "in": "query",
            "description": "搜索关键词（可选，仅商品名等值/前缀匹配；全文搜索 走外置）",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "page",
            "in": "query",
            "description": "扁平分页（query 绑定：?page=1&page_size=20）",
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "name": "page_size",
            "in": "query",
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "name": "points_only",
            "in": "query",
            "description": "积分商城视图（true=仅积分兑换商品 points_required>0；）",
            "schema": {
              "type": "boolean"
            }
          },
          {
            "name": "sort",
            "in": "query",
            "description": "排序：newest（默认）| price_asc | price_desc | sales",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "recommend_only",
            "in": "query",
            "description": "推荐位视图（true=仅运营推荐商品 is_recommend；首页「推荐商品」区块）",
            "schema": {
              "type": "boolean"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/zcard.api.storefront.v1.ListProductsReply"
                }
              }
            }
          }
        }
      }
    },
    "/api/v1/storefront/products/{id}": {
      "get": {
        "tags": [
          "StoreCatalogService"
        ],
        "description": "GetProduct 商品详情（下架/隐藏商品返回 NOT_FOUND）。",
        "operationId": "StoreCatalogService_GetProduct",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/zcard.api.storefront.v1.Product"
                }
              }
            }
          }
        }
      }
    },
    "/api/v1/storefront/supplier/accounts": {
      "get": {
        "tags": [
          "StoreSupplierService"
        ],
        "description": "ListMySupplierAccounts 我的对接账户（申请中/已通过/已驳回/已禁用全量）。",
        "operationId": "StoreSupplierService_ListMySupplierAccounts",
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/zcard.api.storefront.v1.ListSupplierAccountsReply"
                }
              }
            }
          }
        }
      }
    },
    "/api/v1/storefront/supplier/accounts/{id}/cancel": {
      "post": {
        "tags": [
          "StoreSupplierService"
        ],
        "description": "CancelSupplierApplication 撤销申请（仅 applying 状态可撤销）。",
        "operationId": "StoreSupplierService_CancelSupplierApplication",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {}
          }
        }
      }
    },
    "/api/v1/storefront/supplier/accounts/{id}/credentials": {
      "get": {
        "tags": [
          "StoreSupplierService"
        ],
        "description": "GetSupplierCredentials 查看凭据（仅 approved 且归属本人；返回明文 api_secret）。",
        "operationId": "StoreSupplierService_GetSupplierCredentials",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/zcard.api.storefront.v1.SupplierCredentialsReply"
                }
              }
            }
          }
        }
      }
    },
    "/api/v1/storefront/supplier/accounts/{id}/ip-whitelist": {
      "post": {
        "tags": [
          "StoreSupplierService"
        ],
        "description": "SetSupplierIPWhitelist 设置 IP 白名单（仅 approved 且归属本人；空 = 所有 IP 放行）。",
        "operationId": "StoreSupplierService_SetSupplierIPWhitelist",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/zcard.api.storefront.v1.SetSupplierIPWhitelistRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/zcard.api.storefront.v1.SupplierAccountReply"
                }
              }
            }
          }
        }
      }
    },
    "/api/v1/storefront/supplier/accounts/{id}/recharge": {
      "post": {
        "tags": [
          "StoreSupplierService"
        ],
        "description": "CreateSupplierRecharge 对接账户自助充值（金额服务端档位裁决；\n 支付确认前不入账——回调成功后入账到供货余额，reference 幂等）。",
        "operationId": "StoreSupplierService_CreateSupplierRecharge",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/zcard.api.storefront.v1.CreateSupplierRechargeRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/zcard.api.storefront.v1.CreateSupplierRechargeReply"
                }
              }
            }
          }
        }
      }
    },
    "/api/v1/storefront/supplier/accounts/{id}/regenerate-secret": {
      "post": {
        "tags": [
          "StoreSupplierService"
        ],
        "description": "RegenerateSupplierSecret 重置密钥（旧 secret 立即失效；新明文仅此一次返回）。",
        "operationId": "StoreSupplierService_RegenerateSupplierSecret",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/zcard.api.storefront.v1.SupplierCredentialsReply"
                }
              }
            }
          }
        }
      }
    },
    "/api/v1/storefront/supplier/applications": {
      "post": {
        "tags": [
          "StoreSupplierService"
        ],
        "description": "SubmitSupplierApplication 提交对接申请（服务端生成 api_key/api_secret；\n api_secret 不在本响应返回——审核通过后在凭据接口查看）。",
        "operationId": "StoreSupplierService_SubmitSupplierApplication",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/zcard.api.storefront.v1.SubmitSupplierApplicationRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/zcard.api.storefront.v1.SupplierAccountReply"
                }
              }
            }
          }
        }
      }
    },
    "/api/v1/storefront/tickets": {
      "get": {
        "tags": [
          "StoreTicketService"
        ],
        "description": "ListMyTickets 我的工单列表。",
        "operationId": "StoreTicketService_ListMyTickets",
        "parameters": [
          {
            "name": "page",
            "in": "query",
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "name": "page_size",
            "in": "query",
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/zcard.api.storefront.v1.ListMyTicketsReply"
                }
              }
            }
          }
        }
      },
      "post": {
        "tags": [
          "StoreTicketService"
        ],
        "description": "CreateTicket 创建工单（登录用户或游客）。",
        "operationId": "StoreTicketService_CreateTicket",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/zcard.api.storefront.v1.CreateTicketRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/zcard.api.storefront.v1.Ticket"
                }
              }
            }
          }
        }
      }
    },
    "/api/v1/storefront/tickets/{ticket_no}": {
      "get": {
        "tags": [
          "StoreTicketService"
        ],
        "description": "GetTicket 工单详情（消息流；内部备注过滤）。",
        "operationId": "StoreTicketService_GetTicket",
        "parameters": [
          {
            "name": "ticket_no",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/zcard.api.storefront.v1.GetTicketReply"
                }
              }
            }
          }
        }
      }
    },
    "/api/v1/storefront/tickets/{ticket_no}/rate": {
      "post": {
        "tags": [
          "StoreTicketService"
        ],
        "description": "RateTicket 评价（resolved 后 1-5）。",
        "operationId": "StoreTicketService_RateTicket",
        "parameters": [
          {
            "name": "ticket_no",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/zcard.api.storefront.v1.RateTicketRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {}
          }
        }
      }
    },
    "/api/v1/storefront/tickets/{ticket_no}/reply": {
      "post": {
        "tags": [
          "StoreTicketService"
        ],
        "description": "ReplyTicket 追加回复。",
        "operationId": "StoreTicketService_ReplyTicket",
        "parameters": [
          {
            "name": "ticket_no",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/zcard.api.storefront.v1.ReplyTicketRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {}
          }
        }
      }
    },
    "/api/v1/storefront/tickets/{ticket_no}/urgent": {
      "post": {
        "tags": [
          "StoreTicketService"
        ],
        "description": "PayUrgent 付费加急（余额支付 urgent_fee；成功即 priority=urgent_paid）。",
        "operationId": "StoreTicketService_PayUrgent",
        "parameters": [
          {
            "name": "ticket_no",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/zcard.api.storefront.v1.PayUrgentRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/zcard.api.storefront.v1.PayUrgentReply"
                }
              }
            }
          }
        }
      }
    },
    "/api/v1/storefront/user/login": {
      "post": {
        "tags": [
          "StoreUserService"
        ],
        "description": "Login 登录（返回 user realm JWT；username 混输：用户名/邮箱/手机号）。",
        "operationId": "StoreUserService_Login",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/zcard.api.storefront.v1.LoginRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/zcard.api.storefront.v1.LoginReply"
                }
              }
            }
          }
        }
      }
    },
    "/api/v1/storefront/user/me": {
      "get": {
        "tags": [
          "StoreUserService"
        ],
        "description": "Me 我的信息（需登录）。",
        "operationId": "StoreUserService_Me",
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/zcard.api.storefront.v1.MeReply"
                }
              }
            }
          }
        }
      }
    },
    "/api/v1/storefront/user/password/change": {
      "post": {
        "tags": [
          "StoreUserService"
        ],
        "description": "ChangePassword 登录态改密（旧密码校验；吊销全部 session、响应携带新 token 保当前会话）。",
        "operationId": "StoreUserService_ChangePassword",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/zcard.api.storefront.v1.ChangePasswordRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/zcard.api.storefront.v1.ChangePasswordReply"
                }
              }
            }
          }
        }
      }
    },
    "/api/v1/storefront/user/password/forgot": {
      "post": {
        "tags": [
          "StoreUserService"
        ],
        "description": "ForgotPassword 发送找回密码验证码（：邮箱不存在同样成功——防枚举）。",
        "operationId": "StoreUserService_ForgotPassword",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/zcard.api.storefront.v1.ForgotPasswordRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/zcard.api.storefront.v1.ForgotPasswordReply"
                }
              }
            }
          }
        }
      }
    },
    "/api/v1/storefront/user/password/reset": {
      "post": {
        "tags": [
          "StoreUserService"
        ],
        "description": "ResetPassword 验码重置密码（重置即登录——返回新 token；吊销全部 session）。",
        "operationId": "StoreUserService_ResetPassword",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/zcard.api.storefront.v1.ResetPasswordRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/zcard.api.storefront.v1.ResetPasswordReply"
                }
              }
            }
          }
        }
      }
    },
    "/api/v1/storefront/user/profile": {
      "post": {
        "tags": [
          "StoreUserService"
        ],
        "description": "UpdateProfile 修改资料（邮箱；唯一性校验）。",
        "operationId": "StoreUserService_UpdateProfile",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/zcard.api.storefront.v1.UpdateProfileRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/zcard.api.storefront.v1.MeReply"
                }
              }
            }
          }
        }
      }
    },
    "/api/v1/storefront/user/register": {
      "post": {
        "tags": [
          "StoreUserService"
        ],
        "description": "注册并登录；invite_code 可使用随机推广码或兼容的历史数字 ID，其他条件由注册方式配置决定。",
        "operationId": "StoreUserService_Register",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/zcard.api.storefront.v1.RegisterRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/zcard.api.storefront.v1.RegisterReply"
                }
              }
            }
          }
        }
      }
    },
    "/api/v1/storefront/user/register/send-code": {
      "post": {
        "tags": [
          "StoreUserService"
        ],
        "description": "SendRegisterCode 发送注册验证码（通道：email|phone——按 security.register_method 校验）。",
        "operationId": "StoreUserService_SendRegisterCode",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/zcard.api.storefront.v1.SendRegisterCodeRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/zcard.api.storefront.v1.SendRegisterCodeReply"
                }
              }
            }
          }
        }
      }
    },
    "/api/v1/storefront/wallet": {
      "get": {
        "tags": [
          "StoreWalletService"
        ],
        "description": "GetBalance 余额+积分。",
        "operationId": "StoreWalletService_GetBalance",
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/zcard.api.storefront.v1.BalanceReply"
                }
              }
            }
          }
        }
      }
    },
    "/api/v1/storefront/wallet/giftcards/redeem": {
      "post": {
        "tags": [
          "StoreWalletService"
        ],
        "description": "RedeemGiftcard 礼品卡兑换（哈希检索 + 防爆破；余额入账幂等键 giftcard:<id>）。",
        "operationId": "StoreWalletService_RedeemGiftcard",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/zcard.api.storefront.v1.RedeemGiftcardRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/zcard.api.storefront.v1.RedeemGiftcardReply"
                }
              }
            }
          }
        }
      }
    },
    "/api/v1/storefront/wallet/recharge": {
      "post": {
        "tags": [
          "StoreWalletService"
        ],
        "description": "CreateRecharge 充值（走支付管线）。",
        "operationId": "StoreWalletService_CreateRecharge",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/zcard.api.storefront.v1.CreateRechargeRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/zcard.api.storefront.v1.CreateRechargeReply"
                }
              }
            }
          }
        }
      }
    },
    "/api/v1/storefront/wallet/transactions": {
      "get": {
        "tags": [
          "StoreWalletService"
        ],
        "description": "ListTransactions 流水（余额）。",
        "operationId": "StoreWalletService_ListTransactions",
        "parameters": [
          {
            "name": "page",
            "in": "query",
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "name": "page_size",
            "in": "query",
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/zcard.api.storefront.v1.ListTxReply"
                }
              }
            }
          }
        }
      }
    },
    "/api/v1/storefront/wallet/withdrawals": {
      "post": {
        "tags": [
          "StoreWalletService"
        ],
        "description": "CreateWithdrawal 提现申请（佣金提现：冻结口径+白名单+USDT 校验； 执行）。",
        "operationId": "StoreWalletService_CreateWithdrawal",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/zcard.api.storefront.v1.CreateWithdrawalRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/zcard.api.storefront.v1.CreateWithdrawalReply"
                }
              }
            }
          }
        }
      }
    },
    "/api/v1/storefront/wallet/withdrawals/mine": {
      "get": {
        "tags": [
          "StoreWalletService"
        ],
        "description": "ListMyWithdrawals 本人提现记录（状态/驳回原因/时间）。",
        "operationId": "StoreWalletService_ListMyWithdrawals",
        "parameters": [
          {
            "name": "page",
            "in": "query",
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "name": "page_size",
            "in": "query",
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/zcard.api.storefront.v1.ListMyWithdrawalsReply"
                }
              }
            }
          }
        }
      }
    }
  },
  "components": {
    "schemas": {
      "zcard.api.admin.v1.AddSiteRequest": {
        "required": [
          "domain"
        ],
        "type": "object",
        "properties": {
          "domain": {
            "type": "string",
            "x-go-type": "string"
          },
          "site_name": {
            "type": "string",
            "x-go-type": "string"
          },
          "is_primary": {
            "type": "boolean",
            "x-go-type": "bool"
          }
        }
      },
      "zcard.api.admin.v1.AdjustPointsRequest": {
        "required": [
          "user_id",
          "points",
          "reason"
        ],
        "type": "object",
        "properties": {
          "user_id": {
            "type": "integer",
            "format": "uint64",
            "x-go-type": "uint64"
          },
          "points": {
            "type": "integer",
            "format": "int64",
            "description": "正=增加 负=扣减",
            "x-go-type": "int64"
          },
          "reason": {
            "type": "string",
            "x-go-type": "string"
          }
        }
      },
      "zcard.api.admin.v1.AdjustRequest": {
        "required": [
          "user_id",
          "amount_cents",
          "reason"
        ],
        "type": "object",
        "properties": {
          "user_id": {
            "type": "integer",
            "format": "uint64",
            "x-go-type": "uint64"
          },
          "amount_cents": {
            "type": "integer",
            "format": "int64",
            "description": "正=入账 负=扣减",
            "x-go-type": "int64"
          },
          "reason": {
            "type": "string",
            "x-go-type": "string"
          }
        }
      },
      "zcard.api.admin.v1.Admin": {
        "type": "object",
        "properties": {
          "id": {
            "type": "integer",
            "format": "uint64",
            "x-go-type": "uint64"
          },
          "username": {
            "type": "string",
            "x-go-type": "string"
          },
          "nickname": {
            "type": "string",
            "x-go-type": "string"
          },
          "avatar": {
            "type": "string",
            "x-go-type": "string"
          },
          "role_id": {
            "type": "integer",
            "format": "uint64",
            "x-go-type": "uint64"
          },
          "role_name": {
            "type": "string",
            "x-go-type": "string"
          },
          "enabled": {
            "type": "boolean",
            "x-go-type": "bool"
          },
          "totp_enabled": {
            "type": "boolean",
            "x-go-type": "bool"
          },
          "remark": {
            "type": "string",
            "x-go-type": "string"
          }
        },
        "description": "Admin 员工（不含密码哈希等敏感字段）。"
      },
      "zcard.api.admin.v1.AdminCommission": {
        "type": "object",
        "properties": {
          "id": {
            "type": "integer",
            "format": "uint64",
            "x-go-type": "uint64"
          },
          "order_id": {
            "type": "integer",
            "format": "uint64",
            "x-go-type": "uint64"
          },
          "buyer_id": {
            "type": "integer",
            "format": "uint64",
            "x-go-type": "uint64"
          },
          "referrer_id": {
            "type": "integer",
            "format": "uint64",
            "x-go-type": "uint64"
          },
          "tier": {
            "type": "integer",
            "format": "int32",
            "x-go-type": "int32"
          },
          "rate": {
            "type": "number",
            "format": "double",
            "x-go-type": "float64"
          },
          "base_amount": {
            "type": "integer",
            "format": "int64",
            "x-go-type": "int64"
          },
          "amount": {
            "type": "integer",
            "format": "int64",
            "x-go-type": "int64"
          },
          "status": {
            "type": "string",
            "x-go-type": "string"
          },
          "available_at": {
            "type": "integer",
            "format": "int64",
            "x-go-type": "int64"
          },
          "created_at": {
            "type": "integer",
            "format": "int64",
            "x-go-type": "int64"
          }
        }
      },
      "zcard.api.admin.v1.AdminControl": {
        "type": "object",
        "properties": {
          "placeholder": {
            "type": "string",
            "x-go-type": "string"
          },
          "validation": {
            "type": "string",
            "x-go-type": "string"
          },
          "max_length": {
            "type": "integer",
            "format": "int32",
            "x-go-type": "*int32"
          },
          "id": {
            "type": "integer",
            "format": "uint64",
            "x-go-type": "uint64"
          },
          "product_id": {
            "type": "integer",
            "format": "uint64",
            "x-go-type": "uint64"
          },
          "name": {
            "type": "string",
            "x-go-type": "string"
          },
          "type": {
            "type": "string",
            "description": "text | password | select | number | checkbox | radio",
            "x-go-type": "string"
          },
          "required": {
            "type": "boolean",
            "x-go-type": "bool"
          },
          "options": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "x-go-type": "[]string"
          },
          "sort": {
            "type": "integer",
            "format": "int32",
            "x-go-type": "int32"
          }
        }
      },
      "zcard.api.admin.v1.AdminOrder": {
        "type": "object",
        "properties": {
          "paid_total_cents": {
            "type": "integer",
            "format": "int64",
            "x-go-type": "int64"
          },
          "paid_fee_cents": {
            "type": "integer",
            "format": "int64",
            "x-go-type": "int64"
          },
          "refunded_fee_cents": {
            "type": "integer",
            "format": "int64",
            "x-go-type": "int64"
          },
          "refunded_cents": {
            "type": "integer",
            "format": "int64",
            "description": "succeeded refunds only",
            "x-go-type": "int64"
          },
          "id": {
            "type": "integer",
            "format": "uint64",
            "x-go-type": "uint64"
          },
          "order_no": {
            "type": "string",
            "x-go-type": "string"
          },
          "status": {
            "type": "string",
            "x-go-type": "string"
          },
          "total_cents": {
            "type": "integer",
            "format": "int64",
            "x-go-type": "int64"
          },
          "cost_cents": {
            "type": "integer",
            "format": "int64",
            "x-go-type": "int64"
          },
          "user_id": {
            "type": "integer",
            "format": "uint64",
            "x-go-type": "uint64"
          },
          "guest_contact": {
            "type": "string",
            "x-go-type": "string"
          },
          "contact": {
            "type": "string",
            "x-go-type": "string"
          },
          "client_ip": {
            "type": "string",
            "x-go-type": "string"
          },
          "created_at": {
            "type": "integer",
            "format": "int64",
            "x-go-type": "int64"
          },
          "paid_at": {
            "type": "integer",
            "format": "int64",
            "x-go-type": "int64"
          },
          "expired_at": {
            "type": "integer",
            "format": "int64",
            "x-go-type": "int64"
          },
          "items": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/zcard.api.admin.v1.AdminOrderItem"
            },
            "x-go-type": "[]*AdminOrderItem"
          },
          "amount_lines": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/zcard.api.admin.v1.AmountLine"
            },
            "x-go-type": "[]*AmountLine"
          },
          "status_events": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/zcard.api.admin.v1.StatusEvent"
            },
            "x-go-type": "[]*StatusEvent"
          },
          "expiry_retry_at": {
            "type": "integer",
            "format": "int64",
            "x-go-type": "int64"
          },
          "expiry_attempts": {
            "type": "integer",
            "format": "int32",
            "x-go-type": "int32"
          },
          "expiry_review": {
            "type": "boolean",
            "x-go-type": "bool"
          },
          "expiry_reason": {
            "type": "string",
            "x-go-type": "string"
          }
        },
        "description": "AdminOrder 管理面订单（含成本；StripCostPrice 由 service 判权限）。"
      },
      "zcard.api.admin.v1.AdminOrderItem": {
        "type": "object",
        "properties": {
          "form_answers_json": {
            "type": "string",
            "x-go-type": "string"
          },
          "assigned_admin_id": {
            "type": "integer",
            "format": "uint64",
            "x-go-type": "uint64"
          },
          "id": {
            "type": "integer",
            "format": "uint64",
            "description": "订单商品项 ID，人工补发使用",
            "x-go-type": "uint64"
          },
          "product_id": {
            "type": "integer",
            "format": "uint64",
            "x-go-type": "uint64"
          },
          "sku_id": {
            "type": "integer",
            "format": "uint64",
            "x-go-type": "uint64"
          },
          "quantity": {
            "type": "integer",
            "format": "int32",
            "x-go-type": "int32"
          },
          "unit_price_cents": {
            "type": "integer",
            "format": "int64",
            "x-go-type": "int64"
          },
          "amount_cents": {
            "type": "integer",
            "format": "int64",
            "x-go-type": "int64"
          },
          "fulfillment_type": {
            "type": "string",
            "x-go-type": "string"
          },
          "fulfillment_status": {
            "type": "string",
            "x-go-type": "string"
          },
          "name": {
            "type": "string",
            "description": "商品名（联查当前）",
            "x-go-type": "string"
          },
          "sku_name": {
            "type": "string",
            "description": "SKU 名快照",
            "x-go-type": "string"
          },
          "cost_cents": {
            "type": "integer",
            "format": "int64",
            "description": "成本快照（分）",
            "x-go-type": "int64"
          },
          "is_self": {
            "type": "boolean",
            "description": "自营（upstream_source_id 为空）",
            "x-go-type": "bool"
          },
          "upstream_source_id": {
            "type": "integer",
            "format": "uint64",
            "description": "货源连接 ID",
            "x-go-type": "uint64"
          },
          "upstream_source_name": {
            "type": "string",
            "description": "上游渠道名",
            "x-go-type": "string"
          },
          "upstream_driver": {
            "type": "string",
            "description": "上游驱动（zcard/dujiao_next/acg_faka）",
            "x-go-type": "string"
          },
          "upstream_product_code": {
            "type": "string",
            "description": "上游商品标识",
            "x-go-type": "string"
          },
          "upstream_url": {
            "type": "string",
            "description": "上游地址（base_url）",
            "x-go-type": "string"
          }
        }
      },
      "zcard.api.admin.v1.AdminProduct": {
        "type": "object",
        "properties": {
          "fulfillment_mode": {
            "type": "string",
            "x-go-type": "string"
          },
          "manual_stock": {
            "type": "string",
            "x-go-type": "*int64"
          },
          "id": {
            "type": "integer",
            "format": "uint64",
            "x-go-type": "uint64"
          },
          "category_id": {
            "type": "integer",
            "format": "uint64",
            "x-go-type": "uint64"
          },
          "name": {
            "type": "string",
            "x-go-type": "string"
          },
          "slug": {
            "type": "string",
            "x-go-type": "string"
          },
          "description": {
            "type": "string",
            "description": "sanitize 后",
            "x-go-type": "string"
          },
          "cover": {
            "type": "string",
            "x-go-type": "string"
          },
          "images": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "x-go-type": "[]string"
          },
          "price_cents": {
            "type": "integer",
            "format": "int64",
            "x-go-type": "int64"
          },
          "factory_price_cents": {
            "type": "integer",
            "format": "int64",
            "x-go-type": "int64"
          },
          "stock_type": {
            "type": "string",
            "description": "card | url | code",
            "x-go-type": "string"
          },
          "stock_visible": {
            "type": "boolean",
            "x-go-type": "bool"
          },
          "delivery_mode": {
            "type": "string",
            "description": "status | delete",
            "x-go-type": "string"
          },
          "dedup": {
            "type": "boolean",
            "x-go-type": "bool"
          },
          "sort": {
            "type": "integer",
            "format": "int32",
            "x-go-type": "int32"
          },
          "status": {
            "type": "integer",
            "format": "int32",
            "description": "1=上架 0=下架 2=隐藏",
            "x-go-type": "int32"
          },
          "stock": {
            "type": "integer",
            "format": "int64",
            "description": "计算字段（available 数）",
            "x-go-type": "int64"
          },
          "upstream_source_id": {
            "type": "integer",
            "format": "uint64",
            "x-go-type": "uint64"
          },
          "upstream_product_code": {
            "type": "string",
            "x-go-type": "string"
          },
          "created_at": {
            "type": "integer",
            "format": "int64",
            "x-go-type": "int64"
          },
          "updated_at": {
            "type": "integer",
            "format": "int64",
            "x-go-type": "int64"
          },
          "points_required": {
            "type": "integer",
            "description": "积分兑换价（0=不参与积分商城；）",
            "format": "int64",
            "x-go-type": "int64"
          },
          "sold_count": {
            "type": "integer",
            "description": "已售数量（paid 及之后状态订单的 quantity 聚合；列表计算字段）",
            "format": "int64",
            "x-go-type": "int64"
          },
          "has_direct_content": {
            "type": "boolean",
            "description": "直发内容已设置（url/code 商品；明文永不回传）",
            "x-go-type": "bool"
          },
          "is_recommend": {
            "type": "boolean",
            "description": "运营推荐（storefront 首页推荐位）",
            "x-go-type": "bool"
          },
          "stock_status": {
            "type": "string",
            "description": "current | stale | unknown",
            "x-go-type": "string"
          },
          "stock_reference": {
            "type": "integer",
            "format": "int64",
            "description": "仅供展示的上次库存，不作为购买校验依据",
            "x-go-type": "int64"
          },
          "stock_checked_at": {
            "type": "integer",
            "format": "int64",
            "description": "上次库存查询时间",
            "x-go-type": "int64"
          },
          "cover_protected": {
            "type": "boolean",
            "x-go-type": "bool"
          },
          "description_protected": {
            "type": "boolean",
            "x-go-type": "bool"
          },
          "is_locked": {
            "type": "boolean",
            "x-go-type": "bool"
          },
          "lock_version": {
            "type": "integer",
            "format": "int64",
            "x-go-type": "int64"
          },
          "locked_by": {
            "type": "integer",
            "format": "uint64",
            "x-go-type": "uint64"
          },
          "locked_at": {
            "type": "integer",
            "format": "int64",
            "x-go-type": "int64"
          },
          "auto_listing": {
            "type": "boolean",
            "x-go-type": "bool"
          },
          "listing_reason": {
            "type": "string",
            "x-go-type": "string"
          },
          "listing_message": {
            "type": "string",
            "x-go-type": "string"
          },
          "listing_restocked": {
            "type": "boolean",
            "x-go-type": "bool"
          },
          "listing_observed_at": {
            "type": "integer",
            "format": "int64",
            "x-go-type": "int64"
          },
          "low_stock_message": {
            "type": "string",
            "description": "按实际发货规格和后台阈值计算，空表示无已确认预警",
            "x-go-type": "string"
          }
        },
        "description": "AdminProduct 管理面商品（含成本价等敏感字段）。"
      },
      "zcard.api.admin.v1.AdminProfile": {
        "type": "object",
        "properties": {
          "totp_bound_at": {
            "type": "integer",
            "format": "int64",
            "x-go-type": "int64"
          },
          "id": {
            "type": "integer",
            "format": "uint64",
            "x-go-type": "uint64"
          },
          "username": {
            "type": "string",
            "x-go-type": "string"
          },
          "nickname": {
            "type": "string",
            "x-go-type": "string"
          },
          "avatar": {
            "type": "string",
            "x-go-type": "string"
          },
          "role_id": {
            "type": "integer",
            "format": "uint64",
            "x-go-type": "uint64"
          },
          "role_name": {
            "type": "string",
            "x-go-type": "string"
          },
          "totp_enabled": {
            "type": "boolean",
            "x-go-type": "bool"
          },
          "last_login_at": {
            "type": "string",
            "format": "date-time",
            "x-go-type": "*timestamppb.Timestamp"
          },
          "last_login_ip": {
            "type": "string",
            "x-go-type": "string"
          }
        }
      },
      "zcard.api.admin.v1.AdminReplyRequest": {
        "required": [
          "ticket_no",
          "content"
        ],
        "type": "object",
        "properties": {
          "ticket_no": {
            "type": "string",
            "x-go-type": "string"
          },
          "content": {
            "type": "string",
            "x-go-type": "string"
          },
          "is_internal": {
            "type": "boolean",
            "description": "内部备注（用户不可见）",
            "x-go-type": "bool"
          }
        }
      },
      "zcard.api.admin.v1.AdminTicket": {
        "type": "object",
        "properties": {
          "id": {
            "type": "integer",
            "format": "uint64",
            "x-go-type": "uint64"
          },
          "ticket_no": {
            "type": "string",
            "x-go-type": "string"
          },
          "user_id": {
            "type": "integer",
            "format": "uint64",
            "x-go-type": "uint64"
          },
          "guest_contact": {
            "type": "string",
            "x-go-type": "string"
          },
          "type": {
            "type": "string",
            "x-go-type": "string"
          },
          "priority": {
            "type": "string",
            "x-go-type": "string"
          },
          "status": {
            "type": "string",
            "x-go-type": "string"
          },
          "order_id": {
            "type": "integer",
            "format": "uint64",
            "x-go-type": "uint64"
          },
          "product_id": {
            "type": "integer",
            "format": "uint64",
            "x-go-type": "uint64"
          },
          "first_reply_at": {
            "type": "integer",
            "format": "int64",
            "x-go-type": "int64"
          },
          "sla_due_at": {
            "type": "integer",
            "format": "int64",
            "x-go-type": "int64"
          },
          "satisfaction": {
            "type": "integer",
            "format": "int32",
            "x-go-type": "int32"
          },
          "created_at": {
            "type": "integer",
            "format": "int64",
            "x-go-type": "int64"
          }
        }
      },
      "zcard.api.admin.v1.AdminTicketMessage": {
        "type": "object",
        "properties": {
          "id": {
            "type": "integer",
            "format": "uint64",
            "x-go-type": "uint64"
          },
          "sender_type": {
            "type": "string",
            "x-go-type": "string"
          },
          "sender_id": {
            "type": "integer",
            "format": "uint64",
            "x-go-type": "uint64"
          },
          "content": {
            "type": "string",
            "x-go-type": "string"
          },
          "attachments": {
            "type": "array",
            "items": {
              "type": "integer",
              "format": "uint64"
            },
            "x-go-type": "[]uint64"
          },
          "is_internal": {
            "type": "boolean",
            "x-go-type": "bool"
          },
          "created_at": {
            "type": "integer",
            "format": "int64",
            "x-go-type": "int64"
          }
        }
      },
      "zcard.api.admin.v1.AmountLine": {
        "type": "object",
        "properties": {
          "type": {
            "type": "string",
            "x-go-type": "string"
          },
          "amount_cents": {
            "type": "integer",
            "format": "int64",
            "x-go-type": "int64"
          },
          "source_type": {
            "type": "string",
            "x-go-type": "string"
          },
          "source_id": {
            "type": "integer",
            "format": "uint64",
            "x-go-type": "uint64"
          },
          "seq": {
            "type": "integer",
            "format": "int32",
            "x-go-type": "int32"
          }
        }
      },
      "zcard.api.admin.v1.ApproveReviewRequest": {
        "required": [
          "id"
        ],
        "type": "object",
        "properties": {
          "id": {
            "type": "integer",
            "format": "uint64",
            "x-go-type": "uint64"
          }
        }
      },
      "zcard.api.admin.v1.AssignUserLevelRequest": {
        "type": "object",
        "properties": {
          "user_id": {
            "type": "integer",
            "format": "uint64",
            "x-go-type": "uint64"
          },
          "level_id": {
            "type": "integer",
            "format": "uint64",
            "x-go-type": "uint64"
          },
          "reason": {
            "type": "string",
            "x-go-type": "string"
          },
          "clear_referral": {
            "type": "boolean",
            "x-go-type": "bool"
          }
        }
      },
      "zcard.api.admin.v1.Balance": {
        "type": "object",
        "properties": {
          "user_id": {
            "type": "integer",
            "format": "uint64",
            "x-go-type": "uint64"
          },
          "available_cents": {
            "type": "integer",
            "format": "int64",
            "x-go-type": "int64"
          },
          "locked_cents": {
            "type": "integer",
            "format": "int64",
            "x-go-type": "int64"
          },
          "total_cents": {
            "type": "integer",
            "format": "int64",
            "x-go-type": "int64"
          }
        }
      },
      "zcard.api.admin.v1.BalanceReply": {
        "type": "object",
        "properties": {
          "available": {
            "type": "integer",
            "format": "int64",
            "description": "缓存（含冻结正数）",
            "x-go-type": "int64"
          },
          "locked": {
            "type": "integer",
            "format": "int64",
            "x-go-type": "int64"
          },
          "negative": {
            "type": "integer",
            "format": "int64",
            "x-go-type": "int64"
          },
          "recomputed_available": {
            "type": "integer",
            "format": "int64",
            "description": "流水重算（对账口径）",
            "x-go-type": "int64"
          },
          "recomputed_locked": {
            "type": "integer",
            "format": "int64",
            "x-go-type": "int64"
          },
          "recomputed_negative": {
            "type": "integer",
            "format": "int64",
            "x-go-type": "int64"
          }
        }
      },
      "zcard.api.admin.v1.Banner": {
        "type": "object",
        "properties": {
          "id": {
            "type": "integer",
            "format": "uint64",
            "x-go-type": "uint64"
          },
          "name": {
            "type": "string",
            "x-go-type": "string"
          },
          "position": {
            "type": "string",
            "description": "top | middle | bottom",
            "x-go-type": "string"
          },
          "title_json": {
            "type": "string",
            "description": "多语言标题 {\"zh_CN\": \"...\", \"en\": \"...\"}",
            "x-go-type": "string"
          },
          "image": {
            "type": "string",
            "x-go-type": "string"
          },
          "mobile_image": {
            "type": "string",
            "x-go-type": "string"
          },
          "link_type": {
            "type": "string",
            "description": "product | category | url | ad",
            "x-go-type": "string"
          },
          "link_value": {
            "type": "string",
            "x-go-type": "string"
          },
          "is_active": {
            "type": "boolean",
            "x-go-type": "bool"
          },
          "start_at": {
            "type": "integer",
            "format": "int64",
            "description": "unix 秒；0 = 不限",
            "x-go-type": "int64"
          },
          "end_at": {
            "type": "integer",
            "format": "int64",
            "x-go-type": "int64"
          },
          "sort": {
            "type": "integer",
            "format": "int32",
            "x-go-type": "int32"
          },
          "created_at": {
            "type": "integer",
            "format": "int64",
            "x-go-type": "int64"
          },
          "updated_at": {
            "type": "integer",
            "format": "int64",
            "x-go-type": "int64"
          }
        }
      },
      "zcard.api.admin.v1.BatchProductContentPreview": {
        "type": "object",
        "properties": {
          "request_id": {
            "type": "string",
            "x-go-type": "string"
          },
          "expires_at": {
            "type": "integer",
            "format": "int64",
            "x-go-type": "int64"
          },
          "matched": {
            "type": "integer",
            "format": "int32",
            "x-go-type": "int32"
          },
          "changed": {
            "type": "integer",
            "format": "int32",
            "x-go-type": "int32"
          },
          "unchanged": {
            "type": "integer",
            "format": "int32",
            "x-go-type": "int32"
          },
          "upstream_count": {
            "type": "integer",
            "format": "int32",
            "x-go-type": "int32"
          },
          "patch": {
            "$ref": "#/components/schemas/zcard.api.admin.v1.ProductContentPatch",
            "x-go-type": "*ProductContentPatch"
          },
          "targets": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/zcard.api.admin.v1.BatchProductContentTarget"
            },
            "x-go-type": "[]*BatchProductContentTarget"
          },
          "content_changed": {
            "type": "integer",
            "format": "int32",
            "x-go-type": "int32"
          },
          "protection_changed": {
            "type": "integer",
            "format": "int32",
            "x-go-type": "int32"
          },
          "skipped_locked": {
            "type": "integer",
            "format": "int32",
            "x-go-type": "int32"
          }
        }
      },
      "zcard.api.admin.v1.BatchProductContentRequest": {
        "type": "object",
        "properties": {
          "request_id": {
            "type": "string",
            "x-go-type": "string"
          }
        }
      },
      "zcard.api.admin.v1.BatchProductContentResult": {
        "type": "object",
        "properties": {
          "skipped_locked": {
            "type": "integer",
            "format": "int32",
            "x-go-type": "int32"
          },
          "completed": {
            "type": "boolean",
            "x-go-type": "bool"
          },
          "matched": {
            "type": "integer",
            "format": "int32",
            "x-go-type": "int32"
          },
          "changed": {
            "type": "integer",
            "format": "int32",
            "x-go-type": "int32"
          },
          "unchanged": {
            "type": "integer",
            "format": "int32",
            "x-go-type": "int32"
          }
        }
      },
      "zcard.api.admin.v1.BatchProductContentTarget": {
        "type": "object",
        "properties": {
          "id": {
            "type": "integer",
            "format": "uint64",
            "x-go-type": "uint64"
          },
          "name": {
            "type": "string",
            "x-go-type": "string"
          },
          "cover": {
            "type": "string",
            "x-go-type": "string"
          },
          "images": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "x-go-type": "[]string"
          },
          "description": {
            "type": "string",
            "x-go-type": "string"
          },
          "upstream": {
            "type": "boolean",
            "x-go-type": "bool"
          },
          "changed": {
            "type": "boolean",
            "x-go-type": "bool"
          },
          "content_changed": {
            "type": "boolean",
            "x-go-type": "bool"
          },
          "protection_changed": {
            "type": "boolean",
            "x-go-type": "bool"
          }
        }
      },
      "zcard.api.admin.v1.BatchUpdateProductCategoryReply": {
        "type": "object",
        "properties": {
          "updated": {
            "type": "integer",
            "format": "int32",
            "x-go-type": "int32"
          },
          "skipped_locked": {
            "type": "integer",
            "format": "int32",
            "x-go-type": "int32"
          }
        }
      },
      "zcard.api.admin.v1.BatchUpdateProductCategoryRequest": {
        "required": [
          "ids",
          "category_id"
        ],
        "type": "object",
        "properties": {
          "ids": {
            "type": "array",
            "items": {
              "type": "integer",
              "format": "uint64"
            },
            "x-go-type": "[]uint64"
          },
          "category_id": {
            "type": "integer",
            "format": "uint64",
            "x-go-type": "uint64"
          }
        }
      },
      "zcard.api.admin.v1.BatchUpdateProductStatusReply": {
        "type": "object",
        "properties": {
          "updated": {
            "type": "integer",
            "format": "int32",
            "x-go-type": "int32"
          },
          "skipped_locked": {
            "type": "integer",
            "format": "int32",
            "x-go-type": "int32"
          }
        }
      },
      "zcard.api.admin.v1.BatchUpdateProductStatusRequest": {
        "required": [
          "ids"
        ],
        "type": "object",
        "properties": {
          "ids": {
            "type": "array",
            "items": {
              "type": "integer",
              "format": "uint64"
            },
            "x-go-type": "[]uint64"
          },
          "status": {
            "type": "integer",
            "description": "1=上架 0=下架 2=隐藏",
            "format": "int32",
            "x-go-type": "int32"
          }
        }
      },
      "zcard.api.admin.v1.Broadcast": {
        "type": "object",
        "properties": {
          "id": {
            "type": "integer",
            "format": "uint64",
            "x-go-type": "uint64"
          },
          "title": {
            "type": "string",
            "x-go-type": "string"
          },
          "content": {
            "type": "string",
            "x-go-type": "string"
          },
          "channels": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "x-go-type": "[]string"
          },
          "target_type": {
            "type": "string",
            "x-go-type": "string"
          },
          "target_ids": {
            "type": "array",
            "items": {
              "type": "integer",
              "format": "uint64"
            },
            "x-go-type": "[]uint64"
          },
          "scheduled_at": {
            "type": "integer",
            "format": "int64",
            "x-go-type": "int64"
          },
          "status": {
            "type": "string",
            "description": "pending | sending | done | canceled",
            "x-go-type": "string"
          },
          "created_by": {
            "type": "integer",
            "format": "uint64",
            "x-go-type": "uint64"
          },
          "audience": {
            "type": "integer",
            "format": "int64",
            "x-go-type": "int64"
          },
          "sent_count": {
            "type": "integer",
            "format": "int64",
            "x-go-type": "int64"
          },
          "failed_count": {
            "type": "integer",
            "format": "int64",
            "x-go-type": "int64"
          },
          "started_at": {
            "type": "integer",
            "format": "int64",
            "x-go-type": "int64"
          },
          "finished_at": {
            "type": "integer",
            "format": "int64",
            "x-go-type": "int64"
          },
          "created_at": {
            "type": "integer",
            "format": "int64",
            "x-go-type": "int64"
          }
        }
      },
      "zcard.api.admin.v1.CancelBroadcastRequest": {
        "required": [
          "id"
        ],
        "type": "object",
        "properties": {
          "id": {
            "type": "integer",
            "format": "uint64",
            "x-go-type": "uint64"
          }
        }
      },
      "zcard.api.admin.v1.CancelImportRequest": {
        "required": [
          "id"
        ],
        "type": "object",
        "properties": {
          "id": {
            "type": "integer",
            "format": "uint64",
            "x-go-type": "uint64"
          }
        }
      },
      "zcard.api.admin.v1.CancelOrderRequest": {
        "required": [
          "order_no",
          "reason"
        ],
        "type": "object",
        "properties": {
          "order_no": {
            "type": "string",
            "x-go-type": "string"
          },
          "reason": {
            "type": "string",
            "x-go-type": "string"
          }
        }
      },
      "zcard.api.admin.v1.CancelSyncTaskRequest": {
        "required": [
          "id"
        ],
        "type": "object",
        "properties": {
          "id": {
            "type": "integer",
            "format": "uint64",
            "x-go-type": "uint64"
          }
        }
      },
      "zcard.api.admin.v1.CaptchaConfigReply": {
        "type": "object",
        "properties": {
          "enabled": {
            "type": "boolean",
            "description": "security.captcha_admin_login 开关",
            "x-go-type": "bool"
          }
        }
      },
      "zcard.api.admin.v1.CaptchaImageReply": {
        "type": "object",
        "properties": {
          "captcha_id": {
            "type": "string",
            "description": "验证码 ID（提交时回传）",
            "x-go-type": "string"
          },
          "image_base64": {
            "type": "string",
            "description": "base64 PNG 图片（data:image/png;base64, 前缀）",
            "x-go-type": "string"
          }
        }
      },
      "zcard.api.admin.v1.CapturePaymentRequest": {
        "required": [
          "id"
        ],
        "type": "object",
        "properties": {
          "id": {
            "type": "integer",
            "format": "uint64",
            "x-go-type": "uint64"
          }
        }
      },
      "zcard.api.admin.v1.CardInfo": {
        "type": "object",
        "properties": {
          "id": {
            "type": "integer",
            "format": "uint64",
            "x-go-type": "uint64"
          },
          "product_id": {
            "type": "integer",
            "format": "uint64",
            "x-go-type": "uint64"
          },
          "status": {
            "type": "string",
            "x-go-type": "string"
          },
          "masked_content": {
            "type": "string",
            "description": "****abcd",
            "x-go-type": "string"
          },
          "note": {
            "type": "string",
            "x-go-type": "string"
          },
          "created_at": {
            "type": "integer",
            "format": "int64",
            "x-go-type": "int64"
          },
          "used_at": {
            "type": "integer",
            "format": "int64",
            "x-go-type": "int64"
          },
          "lottery_draw_no": {
            "type": "string",
            "description": "抽奖发放的中奖编号，不改变卡密库存状态",
            "x-go-type": "string"
          }
        },
        "description": "CardInfo 卡密信息（内容默认掩码 ****尾4位）。"
      },
      "zcard.api.admin.v1.Category": {
        "type": "object",
        "properties": {
          "id": {
            "type": "integer",
            "format": "uint64",
            "x-go-type": "uint64"
          },
          "parent_id": {
            "type": "integer",
            "format": "uint64",
            "x-go-type": "uint64"
          },
          "name": {
            "type": "string",
            "x-go-type": "string"
          },
          "icon": {
            "type": "string",
            "x-go-type": "string"
          },
          "hide": {
            "type": "boolean",
            "x-go-type": "bool"
          },
          "sort": {
            "type": "integer",
            "format": "int32",
            "x-go-type": "int32"
          },
          "product_count": {
            "type": "integer",
            "format": "int64",
            "x-go-type": "int64"
          },
          "children": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/zcard.api.admin.v1.Category"
            },
            "x-go-type": "[]*Category"
          }
        },
        "description": "Category 分类（树形，含子分类计数）。"
      },
      "zcard.api.admin.v1.CategoryList": {
        "type": "object",
        "properties": {
          "categories": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/zcard.api.admin.v1.Category"
            },
            "x-go-type": "[]*Category"
          }
        }
      },
      "zcard.api.admin.v1.CategoryPlacementInput": {
        "type": "object",
        "properties": {
          "product_id": {
            "type": "integer",
            "format": "uint64",
            "x-go-type": "uint64"
          },
          "is_pinned": {
            "type": "boolean",
            "x-go-type": "bool"
          },
          "is_recommended": {
            "type": "boolean",
            "x-go-type": "bool"
          },
          "position": {
            "type": "integer",
            "format": "int32",
            "x-go-type": "int32"
          }
        }
      },
      "zcard.api.admin.v1.CategoryPlacementItem": {
        "type": "object",
        "properties": {
          "placement": {
            "$ref": "#/components/schemas/zcard.api.admin.v1.CategoryPlacementInput",
            "x-go-type": "*CategoryPlacementInput"
          },
          "product": {
            "$ref": "#/components/schemas/zcard.api.admin.v1.AdminProduct",
            "x-go-type": "*AdminProduct"
          },
          "unavailable_reason": {
            "type": "string",
            "x-go-type": "string"
          }
        }
      },
      "zcard.api.admin.v1.CategoryPlacementsReply": {
        "type": "object",
        "properties": {
          "category_id": {
            "type": "integer",
            "format": "uint64",
            "x-go-type": "uint64"
          },
          "version": {
            "type": "integer",
            "format": "int64",
            "x-go-type": "int64"
          },
          "items": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/zcard.api.admin.v1.CategoryPlacementItem"
            },
            "x-go-type": "[]*CategoryPlacementItem"
          }
        }
      },
      "zcard.api.admin.v1.ChangeAdminPasswordRequest": {
        "type": "object",
        "properties": {
          "current_password": {
            "type": "string",
            "x-go-type": "string"
          },
          "new_password": {
            "type": "string",
            "x-go-type": "string"
          },
          "confirm_password": {
            "type": "string",
            "x-go-type": "string"
          }
        }
      },
      "zcard.api.admin.v1.Channel": {
        "type": "object",
        "properties": {
          "id": {
            "type": "integer",
            "format": "uint64",
            "x-go-type": "uint64"
          },
          "name": {
            "type": "string",
            "x-go-type": "string"
          },
          "code": {
            "type": "string",
            "x-go-type": "string"
          },
          "driver": {
            "type": "string",
            "x-go-type": "string"
          },
          "config_json": {
            "type": "string",
            "description": "脱敏后",
            "x-go-type": "string"
          },
          "fee": {
            "type": "integer",
            "format": "int64",
            "x-go-type": "int64"
          },
          "fee_type": {
            "type": "string",
            "x-go-type": "string"
          },
          "enabled": {
            "type": "boolean",
            "x-go-type": "bool"
          },
          "sort": {
            "type": "integer",
            "format": "int32",
            "x-go-type": "int32"
          },
          "configured_fields": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "description": "已配置字段名（仅名不显值——脱敏）",
            "x-go-type": "[]string"
          },
          "callback_url": {
            "type": "string",
            "description": "回调地址（站点 URL 拼接；未配置站点时为相对路径）",
            "x-go-type": "string"
          },
          "icon": {
            "type": "string",
            "description": "渠道自定义图标（素材库 URL，空=回落内置徽标）",
            "x-go-type": "string"
          },
          "methods_json": {
            "type": "string",
            "description": "支付方式列表 JSON [{code,name,icon,enabled,params}]（空=单方式渠道）",
            "x-go-type": "string"
          },
          "allow_purchase": {
            "type": "boolean",
            "x-go-type": "*bool"
          },
          "allow_member_recharge": {
            "type": "boolean",
            "x-go-type": "*bool"
          },
          "allow_supply_recharge": {
            "type": "boolean",
            "x-go-type": "*bool"
          },
          "fee_bearer": {
            "type": "string",
            "x-go-type": "string"
          },
          "recommended": {
            "type": "boolean",
            "x-go-type": "bool"
          },
          "recommend_label": {
            "type": "string",
            "x-go-type": "string"
          },
          "recommend_description": {
            "type": "string",
            "x-go-type": "string"
          }
        },
        "description": "Channel 渠道（config 为 AES-GCM 加密凭据，列表返回 ****）。"
      },
      "zcard.api.admin.v1.ChannelList": {
        "type": "object",
        "properties": {
          "channels": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/zcard.api.admin.v1.Channel"
            },
            "x-go-type": "[]*Channel"
          }
        }
      },
      "zcard.api.admin.v1.ClassificationProduct": {
        "type": "object",
        "properties": {
          "id": {
            "type": "integer",
            "format": "uint64",
            "x-go-type": "uint64"
          },
          "name": {
            "type": "string",
            "x-go-type": "string"
          },
          "category_id": {
            "type": "integer",
            "format": "uint64",
            "x-go-type": "uint64"
          },
          "revision": {
            "type": "string",
            "x-go-type": "string"
          },
          "status": {
            "type": "string",
            "x-go-type": "string"
          }
        }
      },
      "zcard.api.admin.v1.ClassifyProductsReply": {
        "type": "object",
        "properties": {
          "items": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/zcard.api.admin.v1.ClassificationProduct"
            },
            "x-go-type": "[]*ClassificationProduct"
          },
          "skipped_locked": {
            "type": "integer",
            "format": "int32",
            "x-go-type": "int32"
          },
          "skipped_protected": {
            "type": "integer",
            "format": "int32",
            "x-go-type": "int32"
          },
          "unchanged": {
            "type": "integer",
            "format": "int32",
            "x-go-type": "int32"
          },
          "updated": {
            "type": "integer",
            "format": "int32",
            "x-go-type": "int32"
          },
          "truncated": {
            "type": "boolean",
            "x-go-type": "bool"
          }
        }
      },
      "zcard.api.admin.v1.ClassifyProductsRequest": {
        "type": "object",
        "properties": {
          "keywords": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "x-go-type": "[]string"
          },
          "excludes": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "x-go-type": "[]string"
          },
          "match_all": {
            "type": "boolean",
            "x-go-type": "bool"
          },
          "category_id": {
            "type": "integer",
            "format": "uint64",
            "x-go-type": "uint64"
          },
          "apply": {
            "type": "boolean",
            "x-go-type": "bool"
          },
          "revisions": {
            "type": "object",
            "additionalProperties": {
              "type": "string"
            },
            "x-go-type": "map[uint64]string"
          }
        }
      },
      "zcard.api.admin.v1.ConfigField": {
        "type": "object",
        "properties": {
          "key": {
            "type": "string",
            "x-go-type": "string"
          },
          "label": {
            "type": "string",
            "x-go-type": "string"
          },
          "type": {
            "type": "string",
            "description": "text | password | textarea | select | number | switch",
            "x-go-type": "string"
          },
          "required": {
            "type": "boolean",
            "x-go-type": "bool"
          },
          "placeholder": {
            "type": "string",
            "x-go-type": "string"
          },
          "help": {
            "type": "string",
            "description": "字段帮助文案",
            "x-go-type": "string"
          },
          "sensitive": {
            "type": "boolean",
            "description": "敏感字段：编辑时留空=保持原值，不回显",
            "x-go-type": "bool"
          },
          "dynamic": {
            "type": "boolean",
            "description": "选项动态加载（FieldOptions；失败回落 options）",
            "x-go-type": "bool"
          },
          "multiple": {
            "type": "boolean",
            "description": "多选（保存为数组；epusdt token/network——占位订单模式）",
            "x-go-type": "bool"
          },
          "options": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/zcard.api.admin.v1.Option"
            },
            "x-go-type": "[]*Option"
          },
          "default": {
            "type": "string",
            "x-go-type": "string"
          }
        },
        "description": "ConfigField 配置字段 schema（前端按 type 动态渲染表单）。"
      },
      "zcard.api.admin.v1.ConfigureInviteLevelRequest": {
        "type": "object",
        "properties": {
          "user_id": {
            "type": "integer",
            "format": "uint64",
            "x-go-type": "uint64"
          },
          "level_id": {
            "type": "integer",
            "format": "uint64",
            "x-go-type": "uint64"
          },
          "reason": {
            "type": "string",
            "x-go-type": "string"
          }
        }
      },
      "zcard.api.admin.v1.ConfirmTOTPRequest": {
        "type": "object",
        "properties": {
          "password": {
            "type": "string",
            "x-go-type": "string"
          },
          "recovery_ticket": {
            "type": "string",
            "x-go-type": "string"
          },
          "code": {
            "type": "string",
            "description": "首次生成绑定密钥时为空；确认/解绑时由用例验证",
            "x-go-type": "string"
          }
        }
      },
      "zcard.api.admin.v1.ControlList": {
        "type": "object",
        "properties": {
          "controls": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/zcard.api.admin.v1.AdminControl"
            },
            "x-go-type": "[]*AdminControl"
          }
        }
      },
      "zcard.api.admin.v1.Coupon": {
        "type": "object",
        "properties": {
          "id": {
            "type": "integer",
            "format": "uint64",
            "x-go-type": "uint64"
          },
          "batch_id": {
            "type": "string",
            "x-go-type": "string"
          },
          "name": {
            "type": "string",
            "x-go-type": "string"
          },
          "type": {
            "type": "string",
            "description": "fixed | percent",
            "x-go-type": "string"
          },
          "value": {
            "type": "integer",
            "format": "int64",
            "description": "fixed=分；percent=万分比",
            "x-go-type": "int64"
          },
          "code": {
            "type": "string",
            "x-go-type": "string"
          },
          "status": {
            "type": "string",
            "description": "unused | used | disabled",
            "x-go-type": "string"
          }
        }
      },
      "zcard.api.admin.v1.CouponList": {
        "type": "object",
        "properties": {
          "coupons": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/zcard.api.admin.v1.Coupon"
            },
            "x-go-type": "[]*Coupon"
          },
          "total": {
            "type": "integer",
            "format": "int64",
            "x-go-type": "int64"
          },
          "page": {
            "type": "integer",
            "format": "int32",
            "x-go-type": "int32"
          },
          "page_size": {
            "type": "integer",
            "format": "int32",
            "x-go-type": "int32"
          },
          "batches": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "description": "去重批次列表（筛选下拉用）",
            "x-go-type": "[]string"
          }
        }
      },
      "zcard.api.admin.v1.CreateAdminRequest": {
        "required": [
          "username",
          "password",
          "role_id"
        ],
        "type": "object",
        "properties": {
          "username": {
            "type": "string",
            "x-go-type": "string"
          },
          "password": {
            "type": "string",
            "x-go-type": "string"
          },
          "nickname": {
            "type": "string",
            "x-go-type": "string"
          },
          "role_id": {
            "type": "integer",
            "format": "uint64",
            "x-go-type": "uint64"
          },
          "remark": {
            "type": "string",
            "x-go-type": "string"
          }
        }
      },
      "zcard.api.admin.v1.CreateBannerRequest": {
        "required": [
          "name",
          "position",
          "image"
        ],
        "type": "object",
        "properties": {
          "name": {
            "type": "string",
            "x-go-type": "string"
          },
          "position": {
            "type": "string",
            "x-go-type": "string"
          },
          "title_json": {
            "type": "string",
            "x-go-type": "string"
          },
          "image": {
            "type": "string",
            "x-go-type": "string"
          },
          "mobile_image": {
            "type": "string",
            "x-go-type": "string"
          },
          "link_type": {
            "type": "string",
            "x-go-type": "string"
          },
          "link_value": {
            "type": "string",
            "x-go-type": "string"
          },
          "is_active": {
            "type": "boolean",
            "x-go-type": "bool"
          },
          "start_at": {
            "type": "integer",
            "format": "int64",
            "x-go-type": "int64"
          },
          "end_at": {
            "type": "integer",
            "format": "int64",
            "x-go-type": "int64"
          },
          "sort": {
            "type": "integer",
            "format": "int32",
            "x-go-type": "int32"
          }
        }
      },
      "zcard.api.admin.v1.CreateBroadcastRequest": {
        "required": [
          "title",
          "content",
          "channels",
          "target_type"
        ],
        "type": "object",
        "properties": {
          "title": {
            "type": "string",
            "x-go-type": "string"
          },
          "content": {
            "type": "string",
            "x-go-type": "string"
          },
          "channels": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "x-go-type": "[]string"
          },
          "target_type": {
            "type": "string",
            "description": "all | active | specified",
            "x-go-type": "string"
          },
          "target_ids": {
            "type": "array",
            "items": {
              "type": "integer",
              "format": "uint64"
            },
            "x-go-type": "[]uint64"
          },
          "scheduled_at": {
            "type": "integer",
            "format": "int64",
            "description": "unix 秒；0 = 立即",
            "x-go-type": "int64"
          }
        },
        "description": "CreateBroadcast 创建群发（定时 scheduled_at；空 = 立即）。"
      },
      "zcard.api.admin.v1.CreateCategoryRequest": {
        "required": [
          "name"
        ],
        "type": "object",
        "properties": {
          "name": {
            "type": "string",
            "x-go-type": "string"
          },
          "parent_id": {
            "type": "integer",
            "format": "uint64",
            "x-go-type": "uint64"
          },
          "icon": {
            "type": "string",
            "x-go-type": "string"
          },
          "sort": {
            "type": "integer",
            "format": "int32",
            "x-go-type": "int32"
          }
        }
      },
      "zcard.api.admin.v1.CreateChannelRequest": {
        "required": [
          "name",
          "code",
          "driver",
          "config_json"
        ],
        "type": "object",
        "properties": {
          "name": {
            "type": "string",
            "x-go-type": "string"
          },
          "code": {
            "type": "string",
            "x-go-type": "string"
          },
          "driver": {
            "type": "string",
            "x-go-type": "string"
          },
          "config_json": {
            "type": "string",
            "description": "凭据 JSON 明文（入库前加密）",
            "x-go-type": "string"
          },
          "fee": {
            "type": "integer",
            "format": "int64",
            "x-go-type": "int64"
          },
          "fee_type": {
            "type": "string",
            "x-go-type": "string"
          },
          "enabled": {
            "type": "boolean",
            "x-go-type": "bool"
          },
          "sort": {
            "type": "integer",
            "format": "int32",
            "x-go-type": "int32"
          },
          "icon": {
            "type": "string",
            "x-go-type": "string"
          },
          "methods_json": {
            "type": "string",
            "description": "支付方式列表 JSON（聚合网关按方式收银）",
            "x-go-type": "string"
          },
          "allow_purchase": {
            "type": "boolean",
            "x-go-type": "*bool"
          },
          "allow_member_recharge": {
            "type": "boolean",
            "x-go-type": "*bool"
          },
          "allow_supply_recharge": {
            "type": "boolean",
            "x-go-type": "*bool"
          },
          "fee_bearer": {
            "type": "string",
            "x-go-type": "string"
          },
          "recommended": {
            "type": "boolean",
            "x-go-type": "bool"
          },
          "recommend_label": {
            "type": "string",
            "x-go-type": "string"
          },
          "recommend_description": {
            "type": "string",
            "x-go-type": "string"
          }
        }
      },
      "zcard.api.admin.v1.CreateConnectionRequest": {
        "required": [
          "name",
          "driver",
          "base_url",
          "credentials"
        ],
        "type": "object",
        "properties": {
          "name": {
            "type": "string",
            "x-go-type": "string"
          },
          "driver": {
            "type": "string",
            "x-go-type": "string"
          },
          "base_url": {
            "type": "string",
            "x-go-type": "string"
          },
          "credentials": {
            "type": "string",
            "description": "驱动结构 JSON 明文（仅此接口）",
            "x-go-type": "string"
          },
          "callback_url": {
            "type": "string",
            "x-go-type": "string"
          },
          "retry_max": {
            "type": "integer",
            "format": "int32",
            "x-go-type": "int32"
          },
          "retry_intervals": {
            "type": "string",
            "x-go-type": "string"
          },
          "exchange_rate": {
            "type": "number",
            "format": "double",
            "x-go-type": "float64"
          },
          "price_markup_percent": {
            "type": "number",
            "format": "double",
            "x-go-type": "float64"
          },
          "price_rounding_mode": {
            "type": "string",
            "x-go-type": "string"
          },
          "auto_sync_price": {
            "type": "boolean",
            "x-go-type": "bool"
          },
          "stock_mode": {
            "type": "string",
            "x-go-type": "string"
          },
          "settings": {
            "type": "string",
            "x-go-type": "string"
          },
          "price_markup_amount": {
            "type": "integer",
            "format": "int64",
            "description": "固定加价（分）",
            "x-go-type": "int64"
          }
        }
      },
      "zcard.api.admin.v1.CreateControlRequest": {
        "required": [
          "product_id",
          "name",
          "type"
        ],
        "type": "object",
        "properties": {
          "placeholder": {
            "type": "string",
            "x-go-type": "string"
          },
          "validation": {
            "type": "string",
            "x-go-type": "string"
          },
          "max_length": {
            "type": "integer",
            "format": "int32",
            "x-go-type": "*int32"
          },
          "product_id": {
            "type": "integer",
            "format": "uint64",
            "x-go-type": "uint64"
          },
          "name": {
            "type": "string",
            "x-go-type": "string"
          },
          "type": {
            "type": "string",
            "x-go-type": "string"
          },
          "required": {
            "type": "boolean",
            "x-go-type": "bool"
          },
          "options": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "x-go-type": "[]string"
          },
          "sort": {
            "type": "integer",
            "format": "int32",
            "x-go-type": "int32"
          }
        }
      },
      "zcard.api.admin.v1.CreateCouponBatchReply": {
        "type": "object",
        "properties": {
          "count": {
            "type": "integer",
            "format": "int32",
            "x-go-type": "int32"
          }
        }
      },
      "zcard.api.admin.v1.CreateCouponBatchRequest": {
        "type": "object",
        "properties": {
          "name": {
            "type": "string",
            "x-go-type": "string"
          },
          "type": {
            "type": "string",
            "description": "fixed | percent",
            "x-go-type": "string"
          },
          "value": {
            "type": "integer",
            "format": "int64",
            "x-go-type": "int64"
          },
          "count": {
            "type": "integer",
            "format": "int32",
            "x-go-type": "int32"
          },
          "expire_at": {
            "type": "integer",
            "format": "int64",
            "description": "unix 秒，0=不限",
            "x-go-type": "int64"
          }
        }
      },
      "zcard.api.admin.v1.CreateCurrencyRequest": {
        "required": [
          "code",
          "symbol",
          "rate_json"
        ],
        "type": "object",
        "properties": {
          "code": {
            "type": "string",
            "x-go-type": "string"
          },
          "symbol": {
            "type": "string",
            "x-go-type": "string"
          },
          "position": {
            "type": "string",
            "x-go-type": "string"
          },
          "precision": {
            "type": "integer",
            "format": "int32",
            "x-go-type": "int32"
          },
          "rate_json": {
            "type": "string",
            "x-go-type": "string"
          }
        }
      },
      "zcard.api.admin.v1.CreateFlashSaleRequest": {
        "required": [
          "product_id",
          "flash_price",
          "start_at",
          "end_at",
          "limit_qty"
        ],
        "type": "object",
        "properties": {
          "product_id": {
            "type": "integer",
            "format": "uint64",
            "x-go-type": "uint64"
          },
          "sku_id": {
            "type": "integer",
            "format": "uint64",
            "x-go-type": "uint64"
          },
          "flash_price": {
            "type": "integer",
            "format": "int64",
            "x-go-type": "int64"
          },
          "start_at": {
            "type": "integer",
            "format": "int64",
            "x-go-type": "int64"
          },
          "end_at": {
            "type": "integer",
            "format": "int64",
            "x-go-type": "int64"
          },
          "limit_qty": {
            "type": "integer",
            "format": "int32",
            "x-go-type": "int32"
          },
          "per_user_limit": {
            "type": "integer",
            "format": "int32",
            "x-go-type": "int32"
          }
        },
        "description": "CreateFlashSale 创建秒杀（限量与卡密同锁）。"
      },
      "zcard.api.admin.v1.CreateGiftcardBatchReply": {
        "type": "object",
        "properties": {
          "batch": {
            "$ref": "#/components/schemas/zcard.api.admin.v1.GiftcardBatchItem",
            "x-go-type": "*GiftcardBatchItem"
          },
          "codes": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "description": "明文兑换码（当次响应后仅存于管理员侧）",
            "x-go-type": "[]string"
          }
        },
        "description": "CreateGiftcardBatchReply 批次 + 明文码（仅创建响应一次性返回；此后任何端点\n 不可再取——库内无明文，铁律 11；同 一次性明文交付纪律）。"
      },
      "zcard.api.admin.v1.CreateGiftcardBatchRequest": {
        "required": [
          "batch_no",
          "name",
          "amount_cents",
          "quantity"
        ],
        "type": "object",
        "properties": {
          "batch_no": {
            "type": "string",
            "x-go-type": "string"
          },
          "name": {
            "type": "string",
            "x-go-type": "string"
          },
          "amount_cents": {
            "type": "integer",
            "format": "int64",
            "x-go-type": "int64"
          },
          "quantity": {
            "type": "integer",
            "format": "int32",
            "x-go-type": "int32"
          }
        }
      },
      "zcard.api.admin.v1.CreateMediaCategoryRequest": {
        "required": [
          "name"
        ],
        "type": "object",
        "properties": {
          "name": {
            "type": "string",
            "x-go-type": "string"
          },
          "parent_id": {
            "type": "integer",
            "format": "uint64",
            "x-go-type": "uint64"
          },
          "sort": {
            "type": "integer",
            "format": "int32",
            "x-go-type": "int32"
          }
        }
      },
      "zcard.api.admin.v1.CreateMemberGroupRequest": {
        "required": [
          "name",
          "discount"
        ],
        "type": "object",
        "properties": {
          "name": {
            "type": "string",
            "x-go-type": "string"
          },
          "product_ids": {
            "type": "array",
            "items": {
              "type": "integer",
              "format": "uint64"
            },
            "x-go-type": "[]uint64"
          },
          "discount": {
            "type": "integer",
            "format": "int32",
            "description": "万分比",
            "x-go-type": "int32"
          },
          "stack_member": {
            "type": "boolean",
            "x-go-type": "bool"
          },
          "stack_coupon": {
            "type": "boolean",
            "x-go-type": "bool"
          },
          "badge_style": {
            "type": "string",
            "x-go-type": "string"
          }
        }
      },
      "zcard.api.admin.v1.CreateMemberLevelRequest": {
        "type": "object",
        "properties": {
          "acquire_mode": {
            "type": "string",
            "x-go-type": "string"
          },
          "display_mode": {
            "type": "string",
            "x-go-type": "string"
          },
          "name": {
            "type": "string",
            "x-go-type": "string"
          },
          "threshold_type": {
            "type": "string",
            "x-go-type": "string"
          },
          "threshold_recharge": {
            "type": "integer",
            "format": "int64",
            "x-go-type": "int64"
          },
          "threshold_consume": {
            "type": "integer",
            "format": "int64",
            "x-go-type": "int64"
          },
          "discount": {
            "type": "integer",
            "format": "int32",
            "x-go-type": "int32"
          },
          "sort": {
            "type": "integer",
            "format": "int32",
            "x-go-type": "int32"
          },
          "enabled": {
            "type": "boolean",
            "x-go-type": "bool"
          },
          "points_rule_json": {
            "type": "string",
            "x-go-type": "string"
          }
        }
      },
      "zcard.api.admin.v1.CreatePostCategoryRequest": {
        "required": [
          "name",
          "slug"
        ],
        "type": "object",
        "properties": {
          "name": {
            "type": "string",
            "x-go-type": "string"
          },
          "slug": {
            "type": "string",
            "x-go-type": "string"
          },
          "sort": {
            "type": "integer",
            "format": "int32",
            "x-go-type": "int32"
          }
        }
      },
      "zcard.api.admin.v1.CreatePostRequest": {
        "required": [
          "slug",
          "type",
          "title_json",
          "content_json"
        ],
        "type": "object",
        "properties": {
          "slug": {
            "type": "string",
            "x-go-type": "string"
          },
          "type": {
            "type": "string",
            "x-go-type": "string"
          },
          "title_json": {
            "type": "string",
            "x-go-type": "string"
          },
          "summary_json": {
            "type": "string",
            "x-go-type": "string"
          },
          "content_json": {
            "type": "string",
            "x-go-type": "string"
          },
          "thumbnail": {
            "type": "string",
            "x-go-type": "string"
          },
          "category_id": {
            "type": "integer",
            "format": "uint64",
            "x-go-type": "uint64"
          },
          "is_published": {
            "type": "boolean",
            "x-go-type": "bool"
          },
          "sort": {
            "type": "integer",
            "format": "int32",
            "x-go-type": "int32"
          }
        }
      },
      "zcard.api.admin.v1.CreateProductRequest": {
        "required": [
          "name",
          "price_cents",
          "stock_type"
        ],
        "type": "object",
        "properties": {
          "fulfillment_mode": {
            "type": "string",
            "x-go-type": "string"
          },
          "manual_stock": {
            "type": "string",
            "x-go-type": "*int64"
          },
          "name": {
            "type": "string",
            "x-go-type": "string"
          },
          "category_id": {
            "type": "integer",
            "format": "uint64",
            "x-go-type": "uint64"
          },
          "description": {
            "type": "string",
            "x-go-type": "string"
          },
          "cover": {
            "type": "string",
            "x-go-type": "string"
          },
          "images": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "x-go-type": "[]string"
          },
          "price_cents": {
            "type": "integer",
            "format": "int64",
            "x-go-type": "int64"
          },
          "factory_price_cents": {
            "type": "integer",
            "format": "int64",
            "x-go-type": "int64"
          },
          "stock_type": {
            "type": "string",
            "x-go-type": "string"
          },
          "delivery_mode": {
            "type": "string",
            "x-go-type": "string"
          },
          "stock_visible": {
            "type": "boolean",
            "x-go-type": "bool"
          },
          "dedup": {
            "type": "boolean",
            "x-go-type": "bool"
          },
          "sort": {
            "type": "integer",
            "format": "int32",
            "x-go-type": "int32"
          },
          "status": {
            "type": "integer",
            "format": "int32",
            "x-go-type": "int32"
          },
          "points_required": {
            "type": "integer",
            "description": "积分兑换价（0=不参与积分商城；）",
            "format": "int64",
            "x-go-type": "int64"
          },
          "direct_content": {
            "type": "string",
            "description": "直发内容明文（url/code 商品：网盘链接/兑换码，加密存储；同一内容发给每个买家）",
            "x-go-type": "string"
          },
          "is_recommend": {
            "type": "boolean",
            "description": "运营推荐（storefront 首页推荐位）",
            "x-go-type": "bool"
          }
        }
      },
      "zcard.api.admin.v1.CreateReconciliationJobRequest": {
        "required": [
          "connection_id",
          "start",
          "end"
        ],
        "type": "object",
        "properties": {
          "connection_id": {
            "type": "integer",
            "format": "uint64",
            "x-go-type": "uint64"
          },
          "start": {
            "type": "integer",
            "format": "int64",
            "description": "unix 秒",
            "x-go-type": "int64"
          },
          "end": {
            "type": "integer",
            "format": "int64",
            "description": "unix 秒",
            "x-go-type": "int64"
          }
        }
      },
      "zcard.api.admin.v1.CreateRefundRequest": {
        "required": [
          "order_no",
          "channel"
        ],
        "type": "object",
        "properties": {
          "expected_refunded_cents": {
            "type": "string",
            "description": "confirmed cumulative succeeded refunds",
            "x-go-type": "*int64"
          },
          "order_no": {
            "type": "string",
            "x-go-type": "string"
          },
          "amount_cents": {
            "type": "integer",
            "format": "int64",
            "x-go-type": "int64"
          },
          "channel": {
            "type": "string",
            "description": "wallet | gateway | upstream",
            "x-go-type": "string"
          },
          "reason": {
            "type": "string",
            "x-go-type": "string"
          },
          "fee_cents": {
            "type": "integer",
            "format": "int64",
            "x-go-type": "int64"
          },
          "expected_refunded_fee_cents": {
            "type": "string",
            "x-go-type": "*int64"
          }
        }
      },
      "zcard.api.admin.v1.CreateResellerProductRequest": {
        "required": [
          "name"
        ],
        "type": "object",
        "properties": {
          "name": {
            "type": "string",
            "x-go-type": "string"
          },
          "price_cents": {
            "type": "integer",
            "format": "int64",
            "x-go-type": "int64"
          },
          "factory_price_cents": {
            "type": "integer",
            "format": "int64",
            "x-go-type": "int64"
          },
          "description": {
            "type": "string",
            "x-go-type": "string"
          },
          "cover": {
            "type": "string",
            "x-go-type": "string"
          },
          "category_id": {
            "type": "integer",
            "format": "uint64",
            "x-go-type": "uint64"
          },
          "stock_type": {
            "type": "string",
            "description": "card | url | code",
            "x-go-type": "string"
          },
          "delivery_mode": {
            "type": "string",
            "description": "status | delete",
            "x-go-type": "string"
          },
          "status": {
            "type": "integer",
            "format": "int32",
            "description": "1=上架 0=下架 2=隐藏",
            "x-go-type": "int32"
          },
          "sort": {
            "type": "integer",
            "format": "int32",
            "x-go-type": "int32"
          },
          "stock_visible": {
            "type": "boolean",
            "x-go-type": "bool"
          }
        },
        "description": "CreateResellerProductRequest 分站自营商品上架入参（名称必填；价格/成本分）。"
      },
      "zcard.api.admin.v1.CreateRoleRequest": {
        "required": [
          "name",
          "code"
        ],
        "type": "object",
        "properties": {
          "name": {
            "type": "string",
            "x-go-type": "string"
          },
          "code": {
            "type": "string",
            "x-go-type": "string"
          },
          "description": {
            "type": "string",
            "x-go-type": "string"
          },
          "permissions": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "x-go-type": "[]string"
          }
        }
      },
      "zcard.api.admin.v1.CreateSkuRequest": {
        "required": [
          "product_id",
          "name"
        ],
        "type": "object",
        "properties": {
          "fulfillment_mode": {
            "type": "string",
            "x-go-type": "string"
          },
          "product_id": {
            "type": "integer",
            "format": "uint64",
            "x-go-type": "uint64"
          },
          "name": {
            "type": "string",
            "x-go-type": "string"
          },
          "spec_values": {
            "type": "object",
            "additionalProperties": {
              "type": "string"
            },
            "x-go-type": "map[string]string"
          },
          "price_cents": {
            "type": "integer",
            "format": "int64",
            "x-go-type": "int64"
          },
          "cost_cents": {
            "type": "integer",
            "format": "int64",
            "x-go-type": "int64"
          },
          "stock_offset": {
            "type": "integer",
            "format": "int32",
            "x-go-type": "int32"
          },
          "upstream_sku_id": {
            "type": "string",
            "x-go-type": "string"
          }
        }
      },
      "zcard.api.admin.v1.CreateSupplierAccountRequest": {
        "required": [
          "name",
          "api_key",
          "api_secret"
        ],
        "type": "object",
        "properties": {
          "name": {
            "type": "string",
            "x-go-type": "string"
          },
          "api_key": {
            "type": "string",
            "x-go-type": "string"
          },
          "api_secret": {
            "type": "string",
            "x-go-type": "string"
          },
          "contact": {
            "type": "string",
            "x-go-type": "string"
          },
          "protocol": {
            "type": "string",
            "description": "空 = zcard；dujiao_next/acg_faka 为兼容账号",
            "x-go-type": "string"
          },
          "display_name": {
            "type": "string",
            "x-go-type": "string"
          }
        }
      },
      "zcard.api.admin.v1.CreateSyncTaskRequest": {
        "required": [
          "connection_id"
        ],
        "type": "object",
        "properties": {
          "connection_id": {
            "type": "integer",
            "format": "uint64",
            "x-go-type": "uint64"
          },
          "mode": {
            "type": "string",
            "description": "full | incremental（默认 full；驱动不支持增量时引擎自动回落全量）",
            "x-go-type": "string"
          },
          "scope": {
            "type": "string",
            "description": "collect=采集（默认，含删除对账）| price=仅刷价格 | status=仅刷上下架与库存",
            "x-go-type": "string"
          },
          "force_reprice": {
            "type": "boolean",
            "x-go-type": "bool"
          }
        }
      },
      "zcard.api.admin.v1.CreateTagRequest": {
        "required": [
          "name",
          "slug"
        ],
        "type": "object",
        "properties": {
          "name": {
            "type": "string",
            "x-go-type": "string"
          },
          "slug": {
            "type": "string",
            "x-go-type": "string"
          },
          "icon": {
            "type": "string",
            "x-go-type": "string"
          },
          "color": {
            "type": "string",
            "x-go-type": "string"
          },
          "position": {
            "type": "string",
            "x-go-type": "string"
          }
        }
      },
      "zcard.api.admin.v1.CreateUserRequest": {
        "required": [
          "username",
          "password"
        ],
        "type": "object",
        "properties": {
          "username": {
            "type": "string",
            "x-go-type": "string"
          },
          "password": {
            "type": "string",
            "description": "≥6 位",
            "x-go-type": "string"
          },
          "email": {
            "type": "string",
            "description": "可选",
            "x-go-type": "string"
          }
        }
      },
      "zcard.api.admin.v1.CreateVirtualReviewRequest": {
        "required": [
          "product_id",
          "content"
        ],
        "type": "object",
        "properties": {
          "product_id": {
            "type": "integer",
            "format": "uint64",
            "x-go-type": "uint64"
          },
          "nickname": {
            "type": "string",
            "x-go-type": "string"
          },
          "content": {
            "type": "string",
            "x-go-type": "string"
          },
          "rating": {
            "type": "integer",
            "format": "int32",
            "x-go-type": "int32"
          },
          "sort": {
            "type": "integer",
            "format": "int32",
            "x-go-type": "int32"
          }
        }
      },
      "zcard.api.admin.v1.Currency": {
        "type": "object",
        "properties": {
          "code": {
            "type": "string",
            "x-go-type": "string"
          },
          "symbol": {
            "type": "string",
            "x-go-type": "string"
          },
          "position": {
            "type": "string",
            "x-go-type": "string"
          },
          "precision": {
            "type": "integer",
            "format": "int32",
            "x-go-type": "int32"
          },
          "rate_json": {
            "type": "string",
            "x-go-type": "string"
          },
          "enabled": {
            "type": "boolean",
            "x-go-type": "bool"
          },
          "sort": {
            "type": "integer",
            "format": "int32",
            "x-go-type": "int32"
          }
        },
        "description": "Currency 货币（rate 为 decimal 字符串）。"
      },
      "zcard.api.admin.v1.CurrencyList": {
        "type": "object",
        "properties": {
          "currencies": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/zcard.api.admin.v1.Currency"
            },
            "x-go-type": "[]*Currency"
          }
        }
      },
      "zcard.api.admin.v1.DailyStatPoint": {
        "type": "object",
        "properties": {
          "date": {
            "type": "string",
            "x-go-type": "string"
          },
          "orders": {
            "type": "integer",
            "format": "int64",
            "x-go-type": "int64"
          },
          "amount_cents": {
            "type": "integer",
            "format": "int64",
            "x-go-type": "int64"
          },
          "paid_orders": {
            "type": "integer",
            "format": "int64",
            "x-go-type": "int64"
          }
        }
      },
      "zcard.api.admin.v1.DashboardPending": {
        "type": "object",
        "properties": {
          "pending_withdrawals": {
            "type": "integer",
            "format": "int64",
            "description": "待审核提现",
            "x-go-type": "int64"
          },
          "pending_refunds": {
            "type": "integer",
            "format": "int64",
            "description": "待处理退款（refund_pending）",
            "x-go-type": "int64"
          },
          "fulfilling_orders": {
            "type": "integer",
            "format": "int64",
            "description": "履约中订单",
            "x-go-type": "int64"
          },
          "low_stock_products": {
            "type": "integer",
            "format": "int64",
            "description": "库存预警商品数",
            "x-go-type": "int64"
          },
          "pending_supplier_applications": {
            "type": "integer",
            "format": "int64",
            "description": "待审对接申请（supplier_accounts applying）",
            "x-go-type": "int64"
          },
          "open_tickets": {
            "type": "integer",
            "format": "int64",
            "description": "待回复工单",
            "x-go-type": "int64"
          },
          "processing_tickets": {
            "type": "integer",
            "format": "int64",
            "description": "处理中工单",
            "x-go-type": "int64"
          },
          "payment_reviews": {
            "type": "integer",
            "format": "int64",
            "description": "到账待核对，包含已删除订单",
            "x-go-type": "int64"
          },
          "urgent_tickets": {
            "type": "integer",
            "format": "int64",
            "description": "未解决的付费加急工单，包含在上述两项中",
            "x-go-type": "int64"
          }
        }
      },
      "zcard.api.admin.v1.DashboardReply": {
        "type": "object",
        "properties": {
          "today": {
            "$ref": "#/components/schemas/zcard.api.admin.v1.DashboardStat",
            "x-go-type": "*DashboardStat"
          },
          "last7d": {
            "$ref": "#/components/schemas/zcard.api.admin.v1.DashboardStat",
            "x-go-type": "*DashboardStat"
          },
          "last30d": {
            "$ref": "#/components/schemas/zcard.api.admin.v1.DashboardStat",
            "x-go-type": "*DashboardStat"
          },
          "trend": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/zcard.api.admin.v1.DashboardTrendPoint"
            },
            "x-go-type": "[]*DashboardTrendPoint"
          },
          "top_products": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/zcard.api.admin.v1.DashboardTopProduct"
            },
            "x-go-type": "[]*DashboardTopProduct"
          },
          "yesterday": {
            "$ref": "#/components/schemas/zcard.api.admin.v1.DashboardStat",
            "description": "环比基准（今日 vs 昨日）",
            "x-go-type": "*DashboardStat"
          },
          "prev7d": {
            "$ref": "#/components/schemas/zcard.api.admin.v1.DashboardStat",
            "description": "环比基准（近7天 vs 前7天）",
            "x-go-type": "*DashboardStat"
          },
          "prev30d": {
            "$ref": "#/components/schemas/zcard.api.admin.v1.DashboardStat",
            "description": "环比基准（近30天 vs 前30天）",
            "x-go-type": "*DashboardStat"
          },
          "top_channels": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/zcard.api.admin.v1.DashboardTopChannel"
            },
            "x-go-type": "[]*DashboardTopChannel"
          },
          "pending": {
            "$ref": "#/components/schemas/zcard.api.admin.v1.DashboardPending",
            "x-go-type": "*DashboardPending"
          },
          "range_start": {
            "type": "integer",
            "format": "int64",
            "x-go-type": "int64"
          },
          "range_end": {
            "type": "integer",
            "format": "int64",
            "x-go-type": "int64"
          },
          "generated_at": {
            "type": "integer",
            "format": "int64",
            "x-go-type": "int64"
          },
          "subsite_id": {
            "type": "integer",
            "format": "uint64",
            "x-go-type": "uint64"
          },
          "online_users": {
            "type": "integer",
            "format": "int64",
            "description": "当前在线用户数（5 分钟活跃窗口）",
            "x-go-type": "int64"
          }
        }
      },
      "zcard.api.admin.v1.DashboardStat": {
        "type": "object",
        "properties": {
          "orders": {
            "type": "integer",
            "format": "int64",
            "x-go-type": "int64"
          },
          "revenue": {
            "type": "integer",
            "format": "int64",
            "description": "分",
            "x-go-type": "int64"
          },
          "paid_orders": {
            "type": "integer",
            "format": "int64",
            "x-go-type": "int64"
          },
          "cost": {
            "type": "integer",
            "format": "int64",
            "description": "已支付订单成本（分）",
            "x-go-type": "int64"
          },
          "profit": {
            "type": "integer",
            "format": "int64",
            "description": "预估毛利 = net_revenue - cost（分）；成本不完整时不可用",
            "x-go-type": "int64"
          },
          "new_users": {
            "type": "integer",
            "format": "int64",
            "description": "全站新增注册用户",
            "x-go-type": "int64"
          },
          "refunds": {
            "type": "integer",
            "format": "int64",
            "description": "时段内成功退款",
            "x-go-type": "int64"
          },
          "net_revenue": {
            "type": "integer",
            "format": "int64",
            "description": "支付金额减成功退款",
            "x-go-type": "int64"
          },
          "unknown_cost_orders": {
            "type": "integer",
            "format": "int64",
            "description": "成本不完整时不展示利润",
            "x-go-type": "int64"
          }
        }
      },
      "zcard.api.admin.v1.DashboardTopChannel": {
        "type": "object",
        "properties": {
          "channel": {
            "type": "string",
            "x-go-type": "string"
          },
          "total_count": {
            "type": "integer",
            "format": "int64",
            "x-go-type": "int64"
          },
          "success_count": {
            "type": "integer",
            "format": "int64",
            "x-go-type": "int64"
          },
          "failed_count": {
            "type": "integer",
            "format": "int64",
            "x-go-type": "int64"
          },
          "channel_id": {
            "type": "integer",
            "format": "uint64",
            "x-go-type": "uint64"
          },
          "name": {
            "type": "string",
            "x-go-type": "string"
          },
          "channel_state": {
            "type": "string",
            "description": "active/disabled/deleted/legacy",
            "x-go-type": "string"
          },
          "amount": {
            "type": "integer",
            "format": "int64",
            "description": "订单支付金额，基础币分",
            "x-go-type": "int64"
          }
        }
      },
      "zcard.api.admin.v1.DashboardTopProduct": {
        "type": "object",
        "properties": {
          "product_id": {
            "type": "integer",
            "format": "uint64",
            "x-go-type": "uint64"
          },
          "name": {
            "type": "string",
            "x-go-type": "string"
          },
          "sold_qty": {
            "type": "integer",
            "format": "int64",
            "x-go-type": "int64"
          },
          "revenue": {
            "type": "integer",
            "format": "int64",
            "description": "分",
            "x-go-type": "int64"
          }
        }
      },
      "zcard.api.admin.v1.DashboardTrendPoint": {
        "type": "object",
        "properties": {
          "date": {
            "type": "string",
            "x-go-type": "string"
          },
          "orders": {
            "type": "integer",
            "format": "int64",
            "x-go-type": "int64"
          },
          "revenue": {
            "type": "integer",
            "format": "int64",
            "description": "分",
            "x-go-type": "int64"
          },
          "paid_count": {
            "type": "integer",
            "format": "int64",
            "description": "已支付单数",
            "x-go-type": "int64"
          },
          "cost": {
            "type": "integer",
            "format": "int64",
            "description": "已支付订单成本（分）",
            "x-go-type": "int64"
          },
          "profit": {
            "type": "integer",
            "format": "int64",
            "description": "预估毛利（分）",
            "x-go-type": "int64"
          },
          "refunds": {
            "type": "integer",
            "format": "int64",
            "x-go-type": "int64"
          },
          "net_revenue": {
            "type": "integer",
            "format": "int64",
            "x-go-type": "int64"
          }
        }
      },
      "zcard.api.admin.v1.DeleteCouponsReply": {
        "type": "object",
        "properties": {
          "deleted": {
            "type": "integer",
            "format": "int32",
            "x-go-type": "int32"
          }
        }
      },
      "zcard.api.admin.v1.DeleteCouponsRequest": {
        "type": "object",
        "properties": {
          "ids": {
            "type": "array",
            "items": {
              "type": "integer",
              "format": "uint64"
            },
            "x-go-type": "[]uint64"
          },
          "batch_id": {
            "type": "string",
            "x-go-type": "string"
          }
        },
        "description": "DeleteCoupons：ids 非空按 id 删；batch_id 非空删该批次全部未使用。两者只生效其一（ids 优先）。"
      },
      "zcard.api.admin.v1.DeleteMediaReply": {
        "type": "object",
        "properties": {
          "deleted": {
            "type": "integer",
            "format": "int32",
            "x-go-type": "int32"
          },
          "referenced": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/zcard.api.admin.v1.MediaItem"
            },
            "description": "被 confirm=false 拒绝时返回引用清单",
            "x-go-type": "[]*MediaItem"
          },
          "need_confirm": {
            "type": "boolean",
            "x-go-type": "bool"
          }
        }
      },
      "zcard.api.admin.v1.DeleteMediaRequest": {
        "required": [
          "ids"
        ],
        "type": "object",
        "properties": {
          "ids": {
            "type": "array",
            "items": {
              "type": "integer",
              "format": "uint64"
            },
            "x-go-type": "[]uint64"
          },
          "confirm": {
            "type": "boolean",
            "description": "ref_count>0 时必须 true",
            "x-go-type": "bool"
          }
        }
      },
      "zcard.api.admin.v1.DeleteOrdersRequest": {
        "required": [
          "order_nos"
        ],
        "type": "object",
        "properties": {
          "order_nos": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "x-go-type": "[]string"
          }
        }
      },
      "zcard.api.admin.v1.DeleteProductPreview": {
        "type": "object",
        "properties": {
          "name": {
            "type": "string",
            "x-go-type": "string"
          },
          "order_count": {
            "type": "integer",
            "format": "int64",
            "x-go-type": "int64"
          },
          "delete_block_reason": {
            "type": "string",
            "x-go-type": "string"
          },
          "delete_orders_block_reason": {
            "type": "string",
            "x-go-type": "string"
          }
        }
      },
      "zcard.api.admin.v1.DeliveryReceiptOption": {
        "type": "object",
        "properties": {
          "procurement_id": {
            "type": "integer",
            "format": "uint64",
            "x-go-type": "uint64"
          },
          "content_index": {
            "type": "integer",
            "format": "int32",
            "x-go-type": "int32"
          },
          "sku_id": {
            "type": "integer",
            "format": "uint64",
            "x-go-type": "uint64"
          },
          "purchased_at": {
            "type": "integer",
            "format": "int64",
            "x-go-type": "int64"
          },
          "label": {
            "type": "string",
            "x-go-type": "string"
          }
        }
      },
      "zcard.api.admin.v1.DeliveryRecord": {
        "type": "object",
        "properties": {
          "order_item_id": {
            "type": "integer",
            "format": "uint64",
            "x-go-type": "uint64"
          },
          "kind": {
            "type": "string",
            "x-go-type": "string"
          },
          "id": {
            "type": "integer",
            "format": "uint64",
            "x-go-type": "uint64"
          },
          "order_no": {
            "type": "string",
            "x-go-type": "string"
          },
          "card_id": {
            "type": "integer",
            "format": "uint64",
            "x-go-type": "uint64"
          },
          "content_masked": {
            "type": "string",
            "description": "****尾4位",
            "x-go-type": "string"
          },
          "delivered_mode": {
            "type": "string",
            "x-go-type": "string"
          },
          "delivered_by": {
            "type": "integer",
            "format": "uint64",
            "x-go-type": "uint64"
          },
          "fetch_count": {
            "type": "integer",
            "format": "int32",
            "x-go-type": "int32"
          },
          "delivered_at": {
            "type": "integer",
            "format": "int64",
            "x-go-type": "int64"
          },
          "fetched_ip": {
            "type": "string",
            "x-go-type": "string"
          },
          "content": {
            "type": "string",
            "description": "完整卡密（管理端明文）",
            "x-go-type": "string"
          }
        },
        "description": "DeliveryRecord 交付记录（content=完整卡密，服务端现场解密；路由受\n order:view_delivery 权限门控 + 查看审计留痕）。"
      },
      "zcard.api.admin.v1.DeliverySourceInfo": {
        "type": "object",
        "properties": {
          "id": {
            "type": "integer",
            "format": "uint64",
            "x-go-type": "uint64"
          },
          "sku_id": {
            "type": "integer",
            "format": "uint64",
            "x-go-type": "uint64"
          },
          "sku_name": {
            "type": "string",
            "x-go-type": "string"
          },
          "mode": {
            "type": "string",
            "x-go-type": "string"
          },
          "status": {
            "type": "string",
            "x-go-type": "string"
          },
          "has_content": {
            "type": "boolean",
            "x-go-type": "bool"
          },
          "expires_at": {
            "type": "integer",
            "format": "int64",
            "x-go-type": "int64"
          },
          "max_deliveries": {
            "type": "integer",
            "format": "int64",
            "x-go-type": "int64"
          },
          "deliveries": {
            "type": "integer",
            "format": "int64",
            "x-go-type": "int64"
          },
          "error": {
            "type": "string",
            "x-go-type": "string"
          },
          "origin_procurement_id": {
            "type": "integer",
            "format": "uint64",
            "x-go-type": "uint64"
          },
          "cost_cents": {
            "type": "integer",
            "format": "int64",
            "x-go-type": "int64"
          },
          "upstream_order_id": {
            "type": "string",
            "x-go-type": "string"
          }
        }
      },
      "zcard.api.admin.v1.DeliverySourcesReply": {
        "type": "object",
        "properties": {
          "sources": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/zcard.api.admin.v1.DeliverySourceInfo"
            },
            "x-go-type": "[]*DeliverySourceInfo"
          },
          "receipts": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/zcard.api.admin.v1.DeliveryReceiptOption"
            },
            "x-go-type": "[]*DeliveryReceiptOption"
          },
          "revision": {
            "type": "integer",
            "format": "int64",
            "x-go-type": "int64"
          }
        }
      },
      "zcard.api.admin.v1.DisableCouponRequest": {
        "type": "object",
        "properties": {
          "batch_id": {
            "type": "string",
            "x-go-type": "string"
          }
        }
      },
      "zcard.api.admin.v1.Driver": {
        "type": "object",
        "properties": {
          "code": {
            "type": "string",
            "description": "驱动码（= adapter Type）",
            "x-go-type": "string"
          },
          "name": {
            "type": "string",
            "description": "显示名",
            "x-go-type": "string"
          },
          "icon": {
            "type": "string",
            "description": "品牌图标标识（前端图标库映射）",
            "x-go-type": "string"
          },
          "description": {
            "type": "string",
            "description": "说明（适用场景/收款币种）",
            "x-go-type": "string"
          },
          "fields": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/zcard.api.admin.v1.ConfigField"
            },
            "description": "配置字段 schema",
            "x-go-type": "[]*ConfigField"
          }
        },
        "description": "Driver 渠道驱动元数据（ListDrivers）。"
      },
      "zcard.api.admin.v1.DriverList": {
        "type": "object",
        "properties": {
          "drivers": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/zcard.api.admin.v1.Driver"
            },
            "x-go-type": "[]*Driver"
          }
        },
        "description": "DriverList 驱动元数据列表。"
      },
      "zcard.api.admin.v1.EnableTOTPReply": {
        "type": "object",
        "properties": {
          "secret": {
            "type": "string",
            "description": "base32 密钥（手输用）",
            "x-go-type": "string"
          },
          "otpauth_url": {
            "type": "string",
            "description": "otpauth:// 二维码内容",
            "x-go-type": "string"
          }
        }
      },
      "zcard.api.admin.v1.EstimateBroadcastReply": {
        "type": "object",
        "properties": {
          "audience": {
            "type": "integer",
            "format": "int64",
            "x-go-type": "int64"
          }
        }
      },
      "zcard.api.admin.v1.EstimateBroadcastRequest": {
        "required": [
          "target_type"
        ],
        "type": "object",
        "properties": {
          "target_type": {
            "type": "string",
            "x-go-type": "string"
          },
          "target_ids": {
            "type": "array",
            "items": {
              "type": "integer",
              "format": "uint64"
            },
            "x-go-type": "[]uint64"
          }
        },
        "description": "EstimateBroadcast 覆盖人数预估（创建前预览）。"
      },
      "zcard.api.admin.v1.ExportCardsReply": {
        "type": "object",
        "properties": {
          "lines": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "description": "CsvSafe 处理后的卡密行",
            "x-go-type": "[]string"
          }
        }
      },
      "zcard.api.admin.v1.ExportCardsRequest": {
        "required": [
          "product_id"
        ],
        "type": "object",
        "properties": {
          "product_id": {
            "type": "integer",
            "format": "uint64",
            "x-go-type": "uint64"
          }
        }
      },
      "zcard.api.admin.v1.ExportCouponsReply": {
        "type": "object",
        "properties": {
          "filename": {
            "type": "string",
            "x-go-type": "string"
          },
          "csv": {
            "type": "string",
            "description": "含 BOM + 表头，前端直接落盘",
            "x-go-type": "string"
          }
        }
      },
      "zcard.api.admin.v1.FieldOptionsReply": {
        "type": "object",
        "properties": {
          "options": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/zcard.api.admin.v1.Option"
            },
            "x-go-type": "[]*Option"
          },
          "fallback": {
            "type": "boolean",
            "description": "true=上游不可达回落静态矩阵（前端提示）",
            "x-go-type": "bool"
          }
        }
      },
      "zcard.api.admin.v1.FlashSaleItem": {
        "type": "object",
        "properties": {
          "id": {
            "type": "integer",
            "format": "uint64",
            "x-go-type": "uint64"
          },
          "product_id": {
            "type": "integer",
            "format": "uint64",
            "x-go-type": "uint64"
          },
          "sku_id": {
            "type": "integer",
            "format": "uint64",
            "x-go-type": "uint64"
          },
          "flash_price": {
            "type": "integer",
            "format": "int64",
            "x-go-type": "int64"
          },
          "start_at": {
            "type": "integer",
            "format": "int64",
            "x-go-type": "int64"
          },
          "end_at": {
            "type": "integer",
            "format": "int64",
            "x-go-type": "int64"
          },
          "limit_qty": {
            "type": "integer",
            "format": "int32",
            "x-go-type": "int32"
          },
          "sold_qty": {
            "type": "integer",
            "format": "int32",
            "x-go-type": "int32"
          },
          "per_user_limit": {
            "type": "integer",
            "format": "int32",
            "x-go-type": "int32"
          },
          "reserved_qty": {
            "type": "integer",
            "format": "int32",
            "description": "待付款预占，不计已售",
            "x-go-type": "int32"
          }
        }
      },
      "zcard.api.admin.v1.GetBlacklistReply": {
        "type": "object",
        "properties": {
          "entries": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "x-go-type": "[]string"
          }
        }
      },
      "zcard.api.admin.v1.GetDailyStatsReply": {
        "type": "object",
        "properties": {
          "points": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/zcard.api.admin.v1.DailyStatPoint"
            },
            "x-go-type": "[]*DailyStatPoint"
          }
        }
      },
      "zcard.api.admin.v1.GetProfileReply": {
        "type": "object",
        "properties": {
          "admin": {
            "$ref": "#/components/schemas/zcard.api.admin.v1.AdminProfile",
            "x-go-type": "*AdminProfile"
          },
          "permissions": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "description": "权限点清单（如 order:list / card:view_content），前端据此生成菜单与按钮",
            "x-go-type": "[]string"
          }
        }
      },
      "zcard.api.admin.v1.GetReconciliationReply": {
        "type": "object",
        "properties": {
          "summary": {
            "$ref": "#/components/schemas/zcard.api.admin.v1.ReconciliationSummary",
            "x-go-type": "*ReconciliationSummary"
          }
        }
      },
      "zcard.api.admin.v1.GetTicketReply": {
        "type": "object",
        "properties": {
          "ticket": {
            "$ref": "#/components/schemas/zcard.api.admin.v1.AdminTicket",
            "x-go-type": "*AdminTicket"
          },
          "messages": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/zcard.api.admin.v1.AdminTicketMessage"
            },
            "description": "含内部备注",
            "x-go-type": "[]*AdminTicketMessage"
          }
        }
      },
      "zcard.api.admin.v1.GetTrafficReply": {
        "type": "object",
        "properties": {
          "points": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/zcard.api.admin.v1.TrafficPoint"
            },
            "x-go-type": "[]*TrafficPoint"
          }
        }
      },
      "zcard.api.admin.v1.GiftcardBatchItem": {
        "type": "object",
        "properties": {
          "id": {
            "type": "integer",
            "format": "uint64",
            "x-go-type": "uint64"
          },
          "batch_no": {
            "type": "string",
            "x-go-type": "string"
          },
          "name": {
            "type": "string",
            "x-go-type": "string"
          },
          "amount_cents": {
            "type": "integer",
            "format": "int64",
            "x-go-type": "int64"
          },
          "quantity": {
            "type": "integer",
            "format": "int32",
            "x-go-type": "int32"
          },
          "created_at": {
            "type": "integer",
            "format": "int64",
            "x-go-type": "int64"
          }
        }
      },
      "zcard.api.admin.v1.GrantCouponReply": {
        "type": "object",
        "properties": {
          "granted": {
            "type": "integer",
            "format": "int32",
            "x-go-type": "int32"
          }
        }
      },
      "zcard.api.admin.v1.GrantCouponRequest": {
        "required": [
          "batch_id",
          "user_id",
          "count"
        ],
        "type": "object",
        "properties": {
          "batch_id": {
            "type": "string",
            "x-go-type": "string"
          },
          "user_id": {
            "type": "integer",
            "format": "uint64",
            "x-go-type": "uint64"
          },
          "count": {
            "type": "integer",
            "format": "int32",
            "x-go-type": "int32"
          }
        },
        "description": "GrantCoupon 批次赠送指定用户（领取）。"
      },
      "zcard.api.admin.v1.Group": {
        "type": "object",
        "properties": {
          "domain": {
            "type": "string",
            "x-go-type": "string"
          },
          "label": {
            "type": "string",
            "x-go-type": "string"
          },
          "perms": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/zcard.api.admin.v1.Perm"
            },
            "x-go-type": "[]*Perm"
          }
        },
        "description": "Group 域分组。"
      },
      "zcard.api.admin.v1.HealthItem": {
        "type": "object",
        "properties": {
          "connection_id": {
            "type": "integer",
            "format": "uint64",
            "x-go-type": "uint64"
          },
          "name": {
            "type": "string",
            "x-go-type": "string"
          },
          "driver": {
            "type": "string",
            "x-go-type": "string"
          },
          "status": {
            "type": "string",
            "x-go-type": "string"
          },
          "last_ping_ok": {
            "type": "boolean",
            "x-go-type": "bool"
          },
          "last_ping_at": {
            "type": "integer",
            "format": "int64",
            "x-go-type": "int64"
          },
          "last_synced_at": {
            "type": "integer",
            "format": "int64",
            "x-go-type": "int64"
          },
          "last_error": {
            "type": "string",
            "x-go-type": "string"
          },
          "balance_cache": {
            "type": "integer",
            "format": "int64",
            "x-go-type": "int64"
          },
          "ping_success_rate": {
            "type": "integer",
            "format": "int64",
            "description": "千分比（0-1000）",
            "x-go-type": "int64"
          },
          "avg_latency_ms": {
            "type": "integer",
            "format": "int64",
            "x-go-type": "int64"
          }
        }
      },
      "zcard.api.admin.v1.ImportBatch": {
        "type": "object",
        "properties": {
          "id": {
            "type": "integer",
            "format": "uint64",
            "x-go-type": "uint64"
          },
          "product_id": {
            "type": "integer",
            "format": "uint64",
            "x-go-type": "uint64"
          },
          "total": {
            "type": "integer",
            "format": "int32",
            "x-go-type": "int32"
          },
          "imported": {
            "type": "integer",
            "format": "int32",
            "x-go-type": "int32"
          },
          "skipped": {
            "type": "integer",
            "format": "int32",
            "x-go-type": "int32"
          },
          "failed": {
            "type": "integer",
            "format": "int32",
            "x-go-type": "int32"
          },
          "status": {
            "type": "string",
            "x-go-type": "string"
          }
        }
      },
      "zcard.api.admin.v1.ImportCategoryDraft": {
        "type": "object",
        "properties": {
          "upstream_code": {
            "type": "string",
            "x-go-type": "string"
          },
          "name": {
            "type": "string",
            "x-go-type": "string"
          },
          "parent_id": {
            "type": "integer",
            "format": "uint64",
            "description": "0 = 顶级分类",
            "x-go-type": "uint64"
          }
        }
      },
      "zcard.api.admin.v1.ImportConfirmRequest": {
        "required": [
          "product_id",
          "lines"
        ],
        "type": "object",
        "properties": {
          "product_id": {
            "type": "integer",
            "format": "uint64",
            "x-go-type": "uint64"
          },
          "lines": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "x-go-type": "[]string"
          },
          "dedup": {
            "type": "boolean",
            "x-go-type": "bool"
          }
        }
      },
      "zcard.api.admin.v1.ImportMediaRequest": {
        "required": [
          "url"
        ],
        "type": "object",
        "properties": {
          "url": {
            "type": "string",
            "x-go-type": "string"
          },
          "category_id": {
            "type": "integer",
            "format": "uint64",
            "x-go-type": "uint64"
          }
        }
      },
      "zcard.api.admin.v1.ImportPreviewReply": {
        "type": "object",
        "properties": {
          "total": {
            "type": "integer",
            "format": "int32",
            "x-go-type": "int32"
          },
          "dup_in_file": {
            "type": "integer",
            "format": "int32",
            "x-go-type": "int32"
          },
          "dup_in_db": {
            "type": "integer",
            "format": "int32",
            "x-go-type": "int32"
          },
          "invalid": {
            "type": "integer",
            "format": "int32",
            "x-go-type": "int32"
          },
          "sample": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "x-go-type": "[]string"
          },
          "is_premium": {
            "type": "boolean",
            "x-go-type": "bool"
          }
        }
      },
      "zcard.api.admin.v1.ImportPreviewRequest": {
        "required": [
          "product_id",
          "lines"
        ],
        "type": "object",
        "properties": {
          "product_id": {
            "type": "integer",
            "format": "uint64",
            "x-go-type": "uint64"
          },
          "lines": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "x-go-type": "[]string"
          },
          "dedup": {
            "type": "boolean",
            "x-go-type": "bool"
          }
        }
      },
      "zcard.api.admin.v1.ImportProductsReply": {
        "type": "object",
        "properties": {
          "task": {
            "$ref": "#/components/schemas/zcard.api.admin.v1.SupplySyncTask",
            "description": "已受理后台任务，请查询任务接口获取结果",
            "x-go-type": "*SupplySyncTask"
          },
          "imported": {
            "type": "integer",
            "format": "int32",
            "description": "新建",
            "x-go-type": "int32"
          },
          "updated": {
            "type": "integer",
            "format": "int32",
            "description": "更新（已导入重导）",
            "x-go-type": "int32"
          },
          "failed": {
            "type": "integer",
            "format": "int32",
            "x-go-type": "int32"
          },
          "error_context": {
            "type": "string",
            "x-go-type": "string"
          },
          "failed_codes": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "x-go-type": "[]string"
          },
          "category_map": {
            "type": "object",
            "additionalProperties": {
              "type": "string"
            },
            "description": "本次已保存映射，失败重试时复用",
            "x-go-type": "map[string]uint64"
          }
        }
      },
      "zcard.api.admin.v1.ImportProductsRequest": {
        "required": [
          "connection_id",
          "codes"
        ],
        "type": "object",
        "properties": {
          "connection_id": {
            "type": "integer",
            "format": "uint64",
            "x-go-type": "uint64"
          },
          "codes": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "x-go-type": "[]string"
          },
          "pricing_mode": {
            "type": "string",
            "description": "channel | percent | fixed | equal | pending（默认跟随渠道，兼容已保存导入策略）",
            "x-go-type": "string"
          },
          "markup_percent": {
            "type": "number",
            "format": "double",
            "description": "percent 模式加价 %（0 = 不加价）",
            "x-go-type": "float64"
          },
          "markup_amount_cents": {
            "type": "integer",
            "format": "int64",
            "description": "fixed 模式加价金额（分）",
            "x-go-type": "int64"
          },
          "save_default": {
            "type": "boolean",
            "description": "把本次策略存为连接默认（settings.import_pricing）",
            "x-go-type": "bool"
          },
          "category_map": {
            "type": "object",
            "additionalProperties": {
              "type": "string"
            },
            "description": "缺省沿用；0 显式清除；正数指定本地分类",
            "x-go-type": "map[string]uint64"
          },
          "product_categories": {
            "type": "object",
            "additionalProperties": {
              "type": "string"
            },
            "description": "单品明确选择，仅限本次选中商品",
            "x-go-type": "map[string]uint64"
          },
          "category_rules": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/zcard.api.admin.v1.ProductCategoryRule"
            },
            "x-go-type": "[]*ProductCategoryRule"
          },
          "save_category_rules": {
            "type": "boolean",
            "x-go-type": "bool"
          },
          "selected_categories_only": {
            "type": "boolean",
            "description": "不修改整个上游分类的默认映射",
            "x-go-type": "bool"
          },
          "request_key": {
            "type": "string",
            "description": "同一次提交/网络重试使用同一键",
            "x-go-type": "string"
          },
          "snapshot_id": {
            "type": "string",
            "x-go-type": "string"
          },
          "category_drafts": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/zcard.api.admin.v1.ImportCategoryDraft"
            },
            "description": "仅在提交时创建，限所选商品涉及分类",
            "x-go-type": "[]*ImportCategoryDraft"
          }
        }
      },
      "zcard.api.admin.v1.InstallLicenseRequest": {
        "required": [
          "content"
        ],
        "type": "object",
        "properties": {
          "content": {
            "type": "string",
            "description": "许可证文件内容（JSON）",
            "x-go-type": "string"
          }
        }
      },
      "zcard.api.admin.v1.InstallStatusReply": {
        "type": "object",
        "properties": {
          "installed": {
            "type": "boolean",
            "description": "是否已安装",
            "x-go-type": "bool"
          },
          "dialect": {
            "type": "string",
            "description": "sqlite | mysql | postgres",
            "x-go-type": "string"
          },
          "version": {
            "type": "string",
            "description": "构建版本",
            "x-go-type": "string"
          },
          "database_ok": {
            "type": "boolean",
            "description": "数据库连通",
            "x-go-type": "bool"
          },
          "migrations_ok": {
            "type": "boolean",
            "description": "迁移已应用",
            "x-go-type": "bool"
          },
          "installed_at": {
            "type": "string",
            "description": "安装时间（RFC3339；未安装为空）",
            "x-go-type": "string"
          },
          "restart_required": {
            "type": "boolean",
            "description": "已提交库切换，服务即将自重启（前端轮询至 installed）",
            "x-go-type": "bool"
          }
        }
      },
      "zcard.api.admin.v1.InstallTemplateRequest": {
        "required": [
          "data_base64"
        ],
        "type": "object",
        "properties": {
          "data_base64": {
            "type": "string",
            "x-go-type": "string"
          }
        },
        "description": "InstallTemplateRequest 主题安装（zip base64，对齐 media 上传模式）。"
      },
      "zcard.api.admin.v1.LedgerEntry": {
        "type": "object",
        "properties": {
          "id": {
            "type": "integer",
            "format": "uint64",
            "x-go-type": "uint64"
          },
          "order_id": {
            "type": "integer",
            "format": "uint64",
            "x-go-type": "uint64"
          },
          "type": {
            "type": "string",
            "x-go-type": "string"
          },
          "amount": {
            "type": "integer",
            "format": "int64",
            "x-go-type": "int64"
          },
          "status": {
            "type": "string",
            "x-go-type": "string"
          },
          "available_at": {
            "type": "integer",
            "format": "int64",
            "x-go-type": "int64"
          },
          "idempotency_key": {
            "type": "string",
            "x-go-type": "string"
          },
          "created_at": {
            "type": "integer",
            "format": "int64",
            "x-go-type": "int64"
          }
        }
      },
      "zcard.api.admin.v1.LedgerReply": {
        "type": "object",
        "properties": {
          "entries": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/zcard.api.admin.v1.LedgerEntry"
            },
            "x-go-type": "[]*LedgerEntry"
          },
          "total": {
            "type": "integer",
            "format": "int64",
            "x-go-type": "int64"
          },
          "page": {
            "type": "integer",
            "format": "int32",
            "x-go-type": "int32"
          },
          "page_size": {
            "type": "integer",
            "format": "int32",
            "x-go-type": "int32"
          }
        }
      },
      "zcard.api.admin.v1.LicenseStatus": {
        "type": "object",
        "properties": {
          "installed": {
            "type": "boolean",
            "x-go-type": "bool"
          },
          "valid": {
            "type": "boolean",
            "x-go-type": "bool"
          },
          "instance_id": {
            "type": "string",
            "x-go-type": "string"
          },
          "domain": {
            "type": "string",
            "x-go-type": "string"
          },
          "features": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "x-go-type": "[]string"
          },
          "expires_at": {
            "type": "string",
            "x-go-type": "string"
          },
          "error": {
            "type": "string",
            "description": "未安装/无效时的原因（fail-closed 提示）",
            "x-go-type": "string"
          }
        }
      },
      "zcard.api.admin.v1.ListAdminsReply": {
        "type": "object",
        "properties": {
          "admins": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/zcard.api.admin.v1.Admin"
            },
            "x-go-type": "[]*Admin"
          }
        }
      },
      "zcard.api.admin.v1.ListBannersReply": {
        "type": "object",
        "properties": {
          "banners": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/zcard.api.admin.v1.Banner"
            },
            "x-go-type": "[]*Banner"
          },
          "total": {
            "type": "integer",
            "format": "int64",
            "x-go-type": "int64"
          },
          "page": {
            "type": "integer",
            "format": "int32",
            "x-go-type": "int32"
          },
          "page_size": {
            "type": "integer",
            "format": "int32",
            "x-go-type": "int32"
          }
        }
      },
      "zcard.api.admin.v1.ListBroadcastsReply": {
        "type": "object",
        "properties": {
          "broadcasts": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/zcard.api.admin.v1.Broadcast"
            },
            "x-go-type": "[]*Broadcast"
          },
          "total": {
            "type": "integer",
            "format": "int64",
            "x-go-type": "int64"
          },
          "page": {
            "type": "integer",
            "format": "int32",
            "x-go-type": "int32"
          },
          "page_size": {
            "type": "integer",
            "format": "int32",
            "x-go-type": "int32"
          }
        }
      },
      "zcard.api.admin.v1.ListCardsReply": {
        "type": "object",
        "properties": {
          "cards": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/zcard.api.admin.v1.CardInfo"
            },
            "x-go-type": "[]*CardInfo"
          },
          "total": {
            "type": "integer",
            "format": "int64",
            "x-go-type": "int64"
          }
        }
      },
      "zcard.api.admin.v1.ListCommissionsReply": {
        "type": "object",
        "properties": {
          "commissions": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/zcard.api.admin.v1.AdminCommission"
            },
            "x-go-type": "[]*AdminCommission"
          },
          "total": {
            "type": "integer",
            "format": "int64",
            "x-go-type": "int64"
          },
          "page": {
            "type": "integer",
            "format": "int32",
            "x-go-type": "int32"
          },
          "page_size": {
            "type": "integer",
            "format": "int32",
            "x-go-type": "int32"
          }
        }
      },
      "zcard.api.admin.v1.ListConnectionsReply": {
        "type": "object",
        "properties": {
          "connections": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/zcard.api.admin.v1.SupplyConnection"
            },
            "x-go-type": "[]*SupplyConnection"
          },
          "total": {
            "type": "integer",
            "format": "int64",
            "x-go-type": "int64"
          },
          "page": {
            "type": "integer",
            "format": "int32",
            "x-go-type": "int32"
          },
          "page_size": {
            "type": "integer",
            "format": "int32",
            "x-go-type": "int32"
          }
        }
      },
      "zcard.api.admin.v1.ListDeliveriesReply": {
        "type": "object",
        "properties": {
          "deliveries": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/zcard.api.admin.v1.DeliveryRecord"
            },
            "x-go-type": "[]*DeliveryRecord"
          },
          "total": {
            "type": "integer",
            "format": "int64",
            "x-go-type": "int64"
          }
        }
      },
      "zcard.api.admin.v1.ListFlashSalesReply": {
        "type": "object",
        "properties": {
          "items": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/zcard.api.admin.v1.FlashSaleItem"
            },
            "x-go-type": "[]*FlashSaleItem"
          },
          "total": {
            "type": "integer",
            "format": "int64",
            "x-go-type": "int64"
          },
          "page": {
            "type": "integer",
            "format": "int32",
            "x-go-type": "int32"
          },
          "page_size": {
            "type": "integer",
            "format": "int32",
            "x-go-type": "int32"
          }
        }
      },
      "zcard.api.admin.v1.ListGiftcardBatchesReply": {
        "type": "object",
        "properties": {
          "batches": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/zcard.api.admin.v1.GiftcardBatchItem"
            },
            "x-go-type": "[]*GiftcardBatchItem"
          },
          "total": {
            "type": "integer",
            "format": "int64",
            "x-go-type": "int64"
          }
        }
      },
      "zcard.api.admin.v1.ListHealthReply": {
        "type": "object",
        "properties": {
          "items": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/zcard.api.admin.v1.HealthItem"
            },
            "x-go-type": "[]*HealthItem"
          }
        }
      },
      "zcard.api.admin.v1.ListImportItemsReply": {
        "type": "object",
        "properties": {
          "items": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/zcard.api.admin.v1.SupplyImportItem"
            },
            "x-go-type": "[]*SupplyImportItem"
          },
          "total": {
            "type": "integer",
            "format": "int64",
            "x-go-type": "int64"
          }
        }
      },
      "zcard.api.admin.v1.ListImportsReply": {
        "type": "object",
        "properties": {
          "batches": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/zcard.api.admin.v1.ImportBatch"
            },
            "x-go-type": "[]*ImportBatch"
          }
        }
      },
      "zcard.api.admin.v1.ListMappingsReply": {
        "type": "object",
        "properties": {
          "mappings": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/zcard.api.admin.v1.SupplyMapping"
            },
            "x-go-type": "[]*SupplyMapping"
          },
          "total": {
            "type": "integer",
            "format": "int64",
            "x-go-type": "int64"
          },
          "page": {
            "type": "integer",
            "format": "int32",
            "x-go-type": "int32"
          },
          "page_size": {
            "type": "integer",
            "format": "int32",
            "x-go-type": "int32"
          }
        }
      },
      "zcard.api.admin.v1.ListMediaCategoriesReply": {
        "type": "object",
        "properties": {
          "categories": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/zcard.api.admin.v1.MediaCategory"
            },
            "x-go-type": "[]*MediaCategory"
          }
        }
      },
      "zcard.api.admin.v1.ListMediaReply": {
        "type": "object",
        "properties": {
          "items": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/zcard.api.admin.v1.MediaItem"
            },
            "x-go-type": "[]*MediaItem"
          },
          "total": {
            "type": "integer",
            "format": "int64",
            "x-go-type": "int64"
          },
          "page": {
            "type": "integer",
            "format": "int32",
            "x-go-type": "int32"
          },
          "page_size": {
            "type": "integer",
            "format": "int32",
            "x-go-type": "int32"
          },
          "max_video_bytes": {
            "type": "integer",
            "format": "int64",
            "x-go-type": "int64"
          }
        }
      },
      "zcard.api.admin.v1.ListNotifyLogsReply": {
        "type": "object",
        "properties": {
          "logs": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/zcard.api.admin.v1.NotifyLog"
            },
            "x-go-type": "[]*NotifyLog"
          },
          "total": {
            "type": "integer",
            "format": "int64",
            "x-go-type": "int64"
          },
          "page": {
            "type": "integer",
            "format": "int32",
            "x-go-type": "int32"
          },
          "page_size": {
            "type": "integer",
            "format": "int32",
            "x-go-type": "int32"
          }
        }
      },
      "zcard.api.admin.v1.ListNotifyTemplatesReply": {
        "type": "object",
        "properties": {
          "templates": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/zcard.api.admin.v1.NotifyTemplate"
            },
            "x-go-type": "[]*NotifyTemplate"
          }
        }
      },
      "zcard.api.admin.v1.ListOpLogsReply": {
        "type": "object",
        "properties": {
          "logs": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/zcard.api.admin.v1.OpLogItem"
            },
            "x-go-type": "[]*OpLogItem"
          },
          "total": {
            "type": "integer",
            "format": "int64",
            "x-go-type": "int64"
          },
          "page": {
            "type": "integer",
            "format": "int32",
            "x-go-type": "int32"
          },
          "page_size": {
            "type": "integer",
            "format": "int32",
            "x-go-type": "int32"
          }
        }
      },
      "zcard.api.admin.v1.ListOrdersReply": {
        "type": "object",
        "properties": {
          "orders": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/zcard.api.admin.v1.AdminOrder"
            },
            "x-go-type": "[]*AdminOrder"
          },
          "next_cursor": {
            "type": "integer",
            "format": "uint64",
            "x-go-type": "uint64"
          }
        }
      },
      "zcard.api.admin.v1.ListPaymentsReply": {
        "type": "object",
        "properties": {
          "payments": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/zcard.api.admin.v1.Payment"
            },
            "x-go-type": "[]*Payment"
          },
          "next_cursor": {
            "type": "integer",
            "format": "uint64",
            "x-go-type": "uint64"
          }
        }
      },
      "zcard.api.admin.v1.ListPendingReply": {
        "type": "object",
        "properties": {
          "orders": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/zcard.api.admin.v1.PendingOrder"
            },
            "x-go-type": "[]*PendingOrder"
          }
        }
      },
      "zcard.api.admin.v1.ListPostCategoriesAdminReply": {
        "type": "object",
        "properties": {
          "categories": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/zcard.api.admin.v1.PostCategory"
            },
            "x-go-type": "[]*PostCategory"
          }
        }
      },
      "zcard.api.admin.v1.ListPostsReply": {
        "type": "object",
        "properties": {
          "posts": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/zcard.api.admin.v1.Post"
            },
            "x-go-type": "[]*Post"
          },
          "total": {
            "type": "integer",
            "format": "int64",
            "x-go-type": "int64"
          },
          "page": {
            "type": "integer",
            "format": "int32",
            "x-go-type": "int32"
          },
          "page_size": {
            "type": "integer",
            "format": "int32",
            "x-go-type": "int32"
          }
        }
      },
      "zcard.api.admin.v1.ListPremiumCardsReply": {
        "type": "object",
        "properties": {
          "cards": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/zcard.api.admin.v1.PremiumCardInfo"
            },
            "x-go-type": "[]*PremiumCardInfo"
          },
          "total": {
            "type": "integer",
            "format": "int64",
            "x-go-type": "int64"
          }
        }
      },
      "zcard.api.admin.v1.ListProcurementsReply": {
        "type": "object",
        "properties": {
          "procurements": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/zcard.api.admin.v1.ProcurementOrder"
            },
            "x-go-type": "[]*ProcurementOrder"
          },
          "total": {
            "type": "integer",
            "format": "int64",
            "x-go-type": "int64"
          },
          "page": {
            "type": "integer",
            "format": "int32",
            "x-go-type": "int32"
          },
          "page_size": {
            "type": "integer",
            "format": "int32",
            "x-go-type": "int32"
          }
        }
      },
      "zcard.api.admin.v1.ListProductsReply": {
        "type": "object",
        "properties": {
          "products": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/zcard.api.admin.v1.AdminProduct"
            },
            "x-go-type": "[]*AdminProduct"
          },
          "total": {
            "type": "integer",
            "format": "int64",
            "x-go-type": "int64"
          },
          "page": {
            "type": "integer",
            "format": "int32",
            "x-go-type": "int32"
          },
          "page_size": {
            "type": "integer",
            "format": "int32",
            "x-go-type": "int32"
          }
        }
      },
      "zcard.api.admin.v1.ListProductsRequest": {
        "type": "object",
        "properties": {
          "category_id": {
            "type": "integer",
            "format": "uint64",
            "x-go-type": "uint64"
          },
          "keyword": {
            "type": "string",
            "x-go-type": "string"
          },
          "status": {
            "type": "integer",
            "format": "int32",
            "description": "0=全部 1=上架 2=隐藏 -1=仅下架",
            "x-go-type": "int32"
          },
          "page": {
            "type": "integer",
            "format": "int32",
            "x-go-type": "int32"
          },
          "page_size": {
            "type": "integer",
            "format": "int32",
            "x-go-type": "int32"
          },
          "low_stock_only": {
            "type": "boolean",
            "description": "仅返回库存不足商品（阈值取 settings.supply.low_stock_threshold）",
            "x-go-type": "bool"
          },
          "upstream_source_id": {
            "type": "integer",
            "format": "uint64",
            "description": "按供货渠道筛选（0=全部；商品列表渠道商下拉）",
            "x-go-type": "uint64"
          },
          "out_of_stock_only": {
            "type": "boolean",
            "description": "仅库存为 0，按自营/上游货源分别计算",
            "x-go-type": "bool"
          },
          "local_only": {
            "type": "boolean",
            "description": "仅看自营（无上游渠道）",
            "x-go-type": "bool"
          },
          "stock_type": {
            "type": "string",
            "description": "card | url | code，空表示全部",
            "x-go-type": "string"
          },
          "is_locked": {
            "type": "boolean",
            "x-go-type": "*bool"
          },
          "inventory": {
            "type": "string",
            "description": "available | low | empty | unknown",
            "x-go-type": "string"
          },
          "restocked_only": {
            "type": "boolean",
            "x-go-type": "bool"
          },
          "auto_listing": {
            "type": "boolean",
            "x-go-type": "*bool"
          },
          "options_only": {
            "type": "boolean",
            "description": "轻量下拉选项，不读取描述及库存/销量；默认保持完整列表",
            "x-go-type": "bool"
          }
        }
      },
      "zcard.api.admin.v1.ListProfilesReply": {
        "type": "object",
        "properties": {
          "profiles": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/zcard.api.admin.v1.ResellerProfile"
            },
            "x-go-type": "[]*ResellerProfile"
          },
          "total": {
            "type": "integer",
            "format": "int64",
            "x-go-type": "int64"
          },
          "page": {
            "type": "integer",
            "format": "int32",
            "x-go-type": "int32"
          },
          "page_size": {
            "type": "integer",
            "format": "int32",
            "x-go-type": "int32"
          }
        }
      },
      "zcard.api.admin.v1.ListPromotionsReply": {
        "type": "object",
        "properties": {
          "items": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/zcard.api.admin.v1.PromotionItem"
            },
            "x-go-type": "[]*PromotionItem"
          },
          "total": {
            "type": "integer",
            "format": "int64",
            "x-go-type": "int64"
          },
          "page": {
            "type": "integer",
            "format": "int32",
            "x-go-type": "int32"
          },
          "page_size": {
            "type": "integer",
            "format": "int32",
            "x-go-type": "int32"
          }
        }
      },
      "zcard.api.admin.v1.ListReconciliationItemsReply": {
        "type": "object",
        "properties": {
          "items": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/zcard.api.admin.v1.ReconciliationItemDetail"
            },
            "x-go-type": "[]*ReconciliationItemDetail"
          },
          "total": {
            "type": "integer",
            "format": "int64",
            "x-go-type": "int64"
          }
        }
      },
      "zcard.api.admin.v1.ListRefundsReply": {
        "type": "object",
        "properties": {
          "refunds": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/zcard.api.admin.v1.RefundOrder"
            },
            "x-go-type": "[]*RefundOrder"
          }
        }
      },
      "zcard.api.admin.v1.ListReviewsReply": {
        "type": "object",
        "properties": {
          "reviews": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/zcard.api.admin.v1.ReviewItem"
            },
            "x-go-type": "[]*ReviewItem"
          },
          "total": {
            "type": "integer",
            "format": "int64",
            "x-go-type": "int64"
          }
        }
      },
      "zcard.api.admin.v1.ListRolesReply": {
        "type": "object",
        "properties": {
          "roles": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/zcard.api.admin.v1.Role"
            },
            "x-go-type": "[]*Role"
          }
        }
      },
      "zcard.api.admin.v1.ListSecurityLogsReply": {
        "type": "object",
        "properties": {
          "logs": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/zcard.api.admin.v1.SecurityLogItem"
            },
            "x-go-type": "[]*SecurityLogItem"
          },
          "total": {
            "type": "integer",
            "format": "int64",
            "x-go-type": "int64"
          },
          "page": {
            "type": "integer",
            "format": "int32",
            "x-go-type": "int32"
          },
          "page_size": {
            "type": "integer",
            "format": "int32",
            "x-go-type": "int32"
          }
        }
      },
      "zcard.api.admin.v1.ListSettingsReply": {
        "type": "object",
        "properties": {
          "items": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/zcard.api.admin.v1.Setting"
            },
            "x-go-type": "[]*Setting"
          }
        }
      },
      "zcard.api.admin.v1.ListSupplierAccountsReply": {
        "type": "object",
        "properties": {
          "accounts": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/zcard.api.admin.v1.SupplierAccountReply"
            },
            "x-go-type": "[]*SupplierAccountReply"
          },
          "total": {
            "type": "integer",
            "format": "int64",
            "x-go-type": "int64"
          },
          "page": {
            "type": "integer",
            "format": "int32",
            "x-go-type": "int32"
          },
          "page_size": {
            "type": "integer",
            "format": "int32",
            "x-go-type": "int32"
          }
        }
      },
      "zcard.api.admin.v1.ListSupplierCallbacksReply": {
        "type": "object",
        "properties": {
          "callbacks": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/zcard.api.admin.v1.SupplierCallback"
            },
            "x-go-type": "[]*SupplierCallback"
          },
          "total": {
            "type": "integer",
            "format": "int64",
            "x-go-type": "int64"
          },
          "page": {
            "type": "integer",
            "format": "int32",
            "x-go-type": "int32"
          },
          "page_size": {
            "type": "integer",
            "format": "int32",
            "x-go-type": "int32"
          }
        }
      },
      "zcard.api.admin.v1.ListSupplierLedgerReply": {
        "type": "object",
        "properties": {
          "entries": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/zcard.api.admin.v1.SupplierLedgerEntry"
            },
            "x-go-type": "[]*SupplierLedgerEntry"
          },
          "total": {
            "type": "integer",
            "format": "int64",
            "x-go-type": "int64"
          },
          "page": {
            "type": "integer",
            "format": "int32",
            "x-go-type": "int32"
          },
          "page_size": {
            "type": "integer",
            "format": "int32",
            "x-go-type": "int32"
          }
        }
      },
      "zcard.api.admin.v1.ListSupplierPricesReply": {
        "type": "object",
        "properties": {
          "prices": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/zcard.api.admin.v1.SupplierPriceItem"
            },
            "x-go-type": "[]*SupplierPriceItem"
          }
        }
      },
      "zcard.api.admin.v1.ListSyncTasksReply": {
        "type": "object",
        "properties": {
          "tasks": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/zcard.api.admin.v1.SupplySyncTask"
            },
            "x-go-type": "[]*SupplySyncTask"
          },
          "total": {
            "type": "integer",
            "format": "int64",
            "x-go-type": "int64"
          },
          "page": {
            "type": "integer",
            "format": "int32",
            "x-go-type": "int32"
          },
          "page_size": {
            "type": "integer",
            "format": "int32",
            "x-go-type": "int32"
          }
        }
      },
      "zcard.api.admin.v1.ListTicketsReply": {
        "type": "object",
        "properties": {
          "tickets": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/zcard.api.admin.v1.AdminTicket"
            },
            "x-go-type": "[]*AdminTicket"
          },
          "total": {
            "type": "integer",
            "format": "int64",
            "x-go-type": "int64"
          },
          "page": {
            "type": "integer",
            "format": "int32",
            "x-go-type": "int32"
          },
          "page_size": {
            "type": "integer",
            "format": "int32",
            "x-go-type": "int32"
          }
        }
      },
      "zcard.api.admin.v1.ListUsersReply": {
        "type": "object",
        "properties": {
          "users": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/zcard.api.admin.v1.UserItem"
            },
            "x-go-type": "[]*UserItem"
          },
          "total": {
            "type": "integer",
            "format": "int64",
            "x-go-type": "int64"
          }
        }
      },
      "zcard.api.admin.v1.ListVisitStatsReply": {
        "type": "object",
        "properties": {
          "items": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/zcard.api.admin.v1.VisitStatItem"
            },
            "x-go-type": "[]*VisitStatItem"
          },
          "total": {
            "type": "integer",
            "format": "int64",
            "x-go-type": "int64"
          },
          "page": {
            "type": "integer",
            "format": "int32",
            "x-go-type": "int32"
          },
          "page_size": {
            "type": "integer",
            "format": "int32",
            "x-go-type": "int32"
          }
        }
      },
      "zcard.api.admin.v1.ListWalletTxReply": {
        "type": "object",
        "properties": {
          "transactions": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/zcard.api.admin.v1.WalletTx"
            },
            "x-go-type": "[]*WalletTx"
          },
          "total": {
            "type": "integer",
            "format": "int64",
            "x-go-type": "int64"
          }
        }
      },
      "zcard.api.admin.v1.ListWithdrawalsReply": {
        "type": "object",
        "properties": {
          "withdrawals": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/zcard.api.admin.v1.WithdrawalItem"
            },
            "x-go-type": "[]*WithdrawalItem"
          },
          "total": {
            "type": "integer",
            "format": "int64",
            "x-go-type": "int64"
          }
        }
      },
      "zcard.api.admin.v1.LoginReply": {
        "type": "object",
        "properties": {
          "requires_totp": {
            "type": "boolean",
            "x-go-type": "bool"
          },
          "challenge": {
            "type": "string",
            "x-go-type": "string"
          },
          "recovery_ticket": {
            "type": "string",
            "x-go-type": "string"
          },
          "access_token": {
            "type": "string",
            "description": "admin realm 访问令牌（2h）",
            "x-go-type": "string"
          },
          "token_type": {
            "type": "string",
            "description": "令牌类型，固定 Bearer",
            "x-go-type": "string"
          },
          "expires_at": {
            "type": "integer",
            "description": "过期时间（unix 秒）",
            "format": "int64",
            "x-go-type": "int64"
          },
          "admin": {
            "$ref": "#/components/schemas/zcard.api.admin.v1.AdminProfile",
            "x-go-type": "*AdminProfile"
          },
          "refresh_token": {
            "type": "string",
            "description": "refresh 令牌（14d，一次性轮换）",
            "x-go-type": "string"
          }
        }
      },
      "zcard.api.admin.v1.LoginRequest": {
        "type": "object",
        "properties": {
          "challenge": {
            "type": "string",
            "x-go-type": "string"
          },
          "username": {
            "type": "string",
            "description": "第一阶段必填，挑战验证阶段不重复提交",
            "x-go-type": "string"
          },
          "password": {
            "type": "string",
            "description": "第一阶段必填，由登录用例按阶段验证",
            "x-go-type": "string"
          },
          "totp_code": {
            "type": "string",
            "description": "TOTP 六位动态码（员工开启二步验证时必填）",
            "x-go-type": "string"
          },
          "captcha_id": {
            "type": "string",
            "description": "图形验证码 ID/验证码（captcha_admin_login 开启时必填）",
            "x-go-type": "string"
          },
          "captcha_code": {
            "type": "string",
            "x-go-type": "string"
          }
        }
      },
      "zcard.api.admin.v1.LogoutRequest": {
        "type": "object",
        "properties": {
          "refresh_token": {
            "type": "string",
            "x-go-type": "string"
          }
        }
      },
      "zcard.api.admin.v1.LotteryActivity": {
        "type": "object",
        "properties": {
          "id": {
            "type": "integer",
            "format": "uint64",
            "x-go-type": "uint64"
          },
          "name": {
            "type": "string",
            "x-go-type": "string"
          },
          "description": {
            "type": "string",
            "x-go-type": "string"
          },
          "image": {
            "type": "string",
            "x-go-type": "string"
          },
          "status": {
            "type": "string",
            "x-go-type": "string"
          },
          "start_at": {
            "type": "integer",
            "format": "int64",
            "x-go-type": "int64"
          },
          "end_at": {
            "type": "integer",
            "format": "int64",
            "x-go-type": "int64"
          },
          "timezone": {
            "type": "string",
            "x-go-type": "string"
          },
          "chance_mode": {
            "type": "string",
            "x-go-type": "string"
          },
          "chance_count": {
            "type": "integer",
            "format": "int32",
            "x-go-type": "int32"
          },
          "revision": {
            "type": "integer",
            "format": "int32",
            "x-go-type": "int32"
          },
          "published": {
            "type": "boolean",
            "x-go-type": "bool"
          },
          "prizes": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/zcard.api.admin.v1.LotteryPrize"
            },
            "x-go-type": "[]*LotteryPrize"
          }
        }
      },
      "zcard.api.admin.v1.LotteryActivityList": {
        "type": "object",
        "properties": {
          "items": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/zcard.api.admin.v1.LotteryActivity"
            },
            "x-go-type": "[]*LotteryActivity"
          },
          "total": {
            "type": "integer",
            "format": "int64",
            "x-go-type": "int64"
          }
        }
      },
      "zcard.api.admin.v1.LotteryDraw": {
        "type": "object",
        "properties": {
          "draw_no": {
            "type": "string",
            "x-go-type": "string"
          },
          "user_id": {
            "type": "integer",
            "format": "uint64",
            "x-go-type": "uint64"
          },
          "username": {
            "type": "string",
            "x-go-type": "string"
          },
          "activity_id": {
            "type": "integer",
            "format": "uint64",
            "x-go-type": "uint64"
          },
          "activity_name": {
            "type": "string",
            "x-go-type": "string"
          },
          "prize_id": {
            "type": "integer",
            "format": "uint64",
            "x-go-type": "uint64"
          },
          "prize_name": {
            "type": "string",
            "x-go-type": "string"
          },
          "mode": {
            "type": "string",
            "x-go-type": "string"
          },
          "status": {
            "type": "string",
            "x-go-type": "string"
          },
          "created_at": {
            "type": "integer",
            "format": "int64",
            "x-go-type": "int64"
          },
          "delivered_at": {
            "type": "integer",
            "format": "int64",
            "x-go-type": "int64"
          },
          "admin_id": {
            "type": "integer",
            "format": "uint64",
            "x-go-type": "uint64"
          },
          "remark": {
            "type": "string",
            "x-go-type": "string"
          },
          "cost_cents": {
            "type": "integer",
            "format": "int64",
            "x-go-type": "int64"
          },
          "content": {
            "type": "string",
            "x-go-type": "string"
          },
          "product_id": {
            "type": "integer",
            "format": "uint64",
            "x-go-type": "uint64"
          },
          "sku_id": {
            "type": "integer",
            "format": "uint64",
            "x-go-type": "uint64"
          },
          "revision": {
            "type": "integer",
            "format": "int32",
            "x-go-type": "int32"
          }
        }
      },
      "zcard.api.admin.v1.LotteryDrawList": {
        "type": "object",
        "properties": {
          "items": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/zcard.api.admin.v1.LotteryDraw"
            },
            "x-go-type": "[]*LotteryDraw"
          },
          "total": {
            "type": "integer",
            "format": "int64",
            "x-go-type": "int64"
          }
        }
      },
      "zcard.api.admin.v1.LotteryDrawRequest": {
        "type": "object",
        "properties": {
          "draw_no": {
            "type": "string",
            "x-go-type": "string"
          },
          "remark": {
            "type": "string",
            "x-go-type": "string"
          }
        }
      },
      "zcard.api.admin.v1.LotteryGrantRequest": {
        "type": "object",
        "properties": {
          "id": {
            "type": "integer",
            "format": "uint64",
            "x-go-type": "uint64"
          },
          "user_id": {
            "type": "integer",
            "format": "uint64",
            "x-go-type": "uint64"
          },
          "count": {
            "type": "integer",
            "format": "int32",
            "x-go-type": "int32"
          },
          "remark": {
            "type": "string",
            "x-go-type": "string"
          },
          "request_key": {
            "type": "string",
            "x-go-type": "string"
          }
        }
      },
      "zcard.api.admin.v1.LotteryHistory": {
        "type": "object",
        "properties": {
          "revision": {
            "type": "integer",
            "format": "int32",
            "x-go-type": "int32"
          },
          "created_at": {
            "type": "integer",
            "format": "int64",
            "x-go-type": "int64"
          },
          "admin_id": {
            "type": "integer",
            "format": "uint64",
            "x-go-type": "uint64"
          },
          "snapshot_json": {
            "type": "string",
            "x-go-type": "string"
          }
        }
      },
      "zcard.api.admin.v1.LotteryHistoryList": {
        "type": "object",
        "properties": {
          "items": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/zcard.api.admin.v1.LotteryHistory"
            },
            "x-go-type": "[]*LotteryHistory"
          }
        }
      },
      "zcard.api.admin.v1.LotteryPrize": {
        "type": "object",
        "properties": {
          "id": {
            "type": "integer",
            "format": "uint64",
            "x-go-type": "uint64"
          },
          "name": {
            "type": "string",
            "x-go-type": "string"
          },
          "image": {
            "type": "string",
            "x-go-type": "string"
          },
          "mode": {
            "type": "string",
            "x-go-type": "string"
          },
          "product_id": {
            "type": "integer",
            "format": "uint64",
            "x-go-type": "uint64"
          },
          "sku_id": {
            "type": "integer",
            "format": "uint64",
            "x-go-type": "uint64"
          },
          "probability": {
            "type": "integer",
            "format": "int32",
            "x-go-type": "int32"
          },
          "quantity": {
            "type": "integer",
            "format": "int32",
            "x-go-type": "int32"
          },
          "issued": {
            "type": "integer",
            "format": "int32",
            "x-go-type": "int32"
          },
          "content": {
            "type": "string",
            "x-go-type": "string"
          }
        }
      },
      "zcard.api.admin.v1.LotteryStatusRequest": {
        "type": "object",
        "properties": {
          "id": {
            "type": "integer",
            "format": "uint64",
            "x-go-type": "uint64"
          },
          "status": {
            "type": "string",
            "x-go-type": "string"
          },
          "revision": {
            "type": "integer",
            "format": "int32",
            "x-go-type": "int32"
          }
        }
      },
      "zcard.api.admin.v1.ManageProductListingReply": {
        "type": "object",
        "properties": {
          "items": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/zcard.api.admin.v1.ProductListingTarget"
            },
            "x-go-type": "[]*ProductListingTarget"
          },
          "matched": {
            "type": "integer",
            "format": "int32",
            "x-go-type": "int32"
          },
          "changed": {
            "type": "integer",
            "format": "int32",
            "x-go-type": "int32"
          },
          "skipped_locked": {
            "type": "integer",
            "format": "int32",
            "x-go-type": "int32"
          },
          "conflicts": {
            "type": "integer",
            "format": "int32",
            "x-go-type": "int32"
          },
          "unsupported": {
            "type": "integer",
            "format": "int32",
            "x-go-type": "int32"
          },
          "failed": {
            "type": "integer",
            "format": "int32",
            "x-go-type": "int32"
          },
          "truncated": {
            "type": "boolean",
            "x-go-type": "bool"
          }
        }
      },
      "zcard.api.admin.v1.ManageProductListingRequest": {
        "type": "object",
        "properties": {
          "action": {
            "type": "string",
            "description": "enable | disable | on | off | hide",
            "x-go-type": "string"
          },
          "ids": {
            "type": "array",
            "items": {
              "type": "integer",
              "format": "uint64"
            },
            "x-go-type": "[]uint64"
          },
          "filter": {
            "$ref": "#/components/schemas/zcard.api.admin.v1.ListProductsRequest",
            "x-go-type": "*ListProductsRequest"
          },
          "apply": {
            "type": "boolean",
            "x-go-type": "bool"
          },
          "revisions": {
            "type": "object",
            "additionalProperties": {
              "type": "string"
            },
            "x-go-type": "map[uint64]string"
          }
        }
      },
      "zcard.api.admin.v1.ManualDeliverRequest": {
        "required": [
          "order_no"
        ],
        "type": "object",
        "properties": {
          "service_content": {
            "type": "string",
            "x-go-type": "string"
          },
          "order_no": {
            "type": "string",
            "x-go-type": "string"
          },
          "content": {
            "type": "string",
            "description": "卡密内容（多行，每行一条）",
            "x-go-type": "string"
          },
          "logistics_no": {
            "type": "string",
            "description": "物流单号（与 content 二选一）",
            "x-go-type": "string"
          },
          "remark": {
            "type": "string",
            "x-go-type": "string"
          },
          "order_item_id": {
            "type": "integer",
            "format": "uint64",
            "description": "多商品订单必须指定补发商品项",
            "x-go-type": "uint64"
          }
        }
      },
      "zcard.api.admin.v1.MarkProcurementManualRequest": {
        "required": [
          "id"
        ],
        "type": "object",
        "properties": {
          "id": {
            "type": "integer",
            "format": "uint64",
            "x-go-type": "uint64"
          },
          "remark": {
            "type": "string",
            "x-go-type": "string"
          }
        }
      },
      "zcard.api.admin.v1.MediaCategory": {
        "type": "object",
        "properties": {
          "id": {
            "type": "integer",
            "format": "uint64",
            "x-go-type": "uint64"
          },
          "parent_id": {
            "type": "integer",
            "format": "uint64",
            "x-go-type": "uint64"
          },
          "name": {
            "type": "string",
            "x-go-type": "string"
          },
          "sort": {
            "type": "integer",
            "format": "int32",
            "x-go-type": "int32"
          }
        }
      },
      "zcard.api.admin.v1.MediaItem": {
        "type": "object",
        "properties": {
          "id": {
            "type": "integer",
            "format": "uint64",
            "x-go-type": "uint64"
          },
          "category_id": {
            "type": "integer",
            "format": "uint64",
            "x-go-type": "uint64"
          },
          "name": {
            "type": "string",
            "x-go-type": "string"
          },
          "url": {
            "type": "string",
            "description": "/uploads/<path>",
            "x-go-type": "string"
          },
          "mime": {
            "type": "string",
            "x-go-type": "string"
          },
          "size": {
            "type": "integer",
            "format": "int64",
            "x-go-type": "int64"
          },
          "width": {
            "type": "integer",
            "format": "int32",
            "x-go-type": "int32"
          },
          "height": {
            "type": "integer",
            "format": "int32",
            "x-go-type": "int32"
          },
          "ref_count": {
            "type": "integer",
            "format": "int32",
            "x-go-type": "int32"
          },
          "created_at": {
            "type": "integer",
            "format": "int64",
            "x-go-type": "int64"
          }
        }
      },
      "zcard.api.admin.v1.MemberGroup": {
        "type": "object",
        "properties": {
          "id": {
            "type": "integer",
            "format": "uint64",
            "x-go-type": "uint64"
          },
          "name": {
            "type": "string",
            "x-go-type": "string"
          },
          "product_ids": {
            "type": "array",
            "items": {
              "type": "integer",
              "format": "uint64"
            },
            "x-go-type": "[]uint64"
          },
          "discount": {
            "type": "integer",
            "format": "int32",
            "description": "万分比（9500=95 折）",
            "x-go-type": "int32"
          },
          "stack_member": {
            "type": "boolean",
            "x-go-type": "bool"
          },
          "stack_coupon": {
            "type": "boolean",
            "x-go-type": "bool"
          },
          "badge_style": {
            "type": "string",
            "x-go-type": "string"
          }
        },
        "description": "MemberGroup 会员商品组（命中商品的订单按 discount 万分比打折）。"
      },
      "zcard.api.admin.v1.MemberGroupList": {
        "type": "object",
        "properties": {
          "groups": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/zcard.api.admin.v1.MemberGroup"
            },
            "x-go-type": "[]*MemberGroup"
          }
        }
      },
      "zcard.api.admin.v1.MemberLevel": {
        "type": "object",
        "properties": {
          "acquire_mode": {
            "type": "string",
            "x-go-type": "string"
          },
          "display_mode": {
            "type": "string",
            "x-go-type": "string"
          },
          "id": {
            "type": "integer",
            "format": "uint64",
            "x-go-type": "uint64"
          },
          "name": {
            "type": "string",
            "x-go-type": "string"
          },
          "threshold_type": {
            "type": "string",
            "x-go-type": "string"
          },
          "threshold_recharge": {
            "type": "integer",
            "format": "int64",
            "x-go-type": "int64"
          },
          "threshold_consume": {
            "type": "integer",
            "format": "int64",
            "x-go-type": "int64"
          },
          "discount": {
            "type": "integer",
            "format": "int32",
            "description": "万分比",
            "x-go-type": "int32"
          },
          "sort": {
            "type": "integer",
            "format": "int32",
            "x-go-type": "int32"
          },
          "enabled": {
            "type": "boolean",
            "x-go-type": "bool"
          },
          "points_rule_json": {
            "type": "string",
            "description": "积分产生规则 JSON：{\"spend_cents\": 每消费多少分, \"points\": 产出积分数}",
            "x-go-type": "string"
          }
        }
      },
      "zcard.api.admin.v1.MemberLevelList": {
        "type": "object",
        "properties": {
          "levels": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/zcard.api.admin.v1.MemberLevel"
            },
            "x-go-type": "[]*MemberLevel"
          }
        }
      },
      "zcard.api.admin.v1.MergeCategoriesReply": {
        "type": "object",
        "properties": {
          "categories": {
            "type": "integer",
            "format": "int32",
            "x-go-type": "int32"
          },
          "products": {
            "type": "integer",
            "format": "int32",
            "x-go-type": "int32"
          },
          "children": {
            "type": "integer",
            "format": "int32",
            "x-go-type": "int32"
          }
        }
      },
      "zcard.api.admin.v1.MergeCategoriesRequest": {
        "type": "object",
        "properties": {
          "source_ids": {
            "type": "array",
            "items": {
              "type": "integer",
              "format": "uint64"
            },
            "x-go-type": "[]uint64"
          },
          "target_id": {
            "type": "integer",
            "format": "uint64",
            "x-go-type": "uint64"
          },
          "preview": {
            "type": "boolean",
            "x-go-type": "bool"
          }
        },
        "description": "仅合并明确选中的分类；未选中的子分类移到目标下，不递归删除。"
      },
      "zcard.api.admin.v1.MoveMediaCategoryRequest": {
        "required": [
          "id"
        ],
        "type": "object",
        "properties": {
          "id": {
            "type": "integer",
            "format": "uint64",
            "x-go-type": "uint64"
          },
          "parent_id": {
            "type": "integer",
            "format": "uint64",
            "description": "0 = 移到根",
            "x-go-type": "uint64"
          }
        }
      },
      "zcard.api.admin.v1.MoveMediaRequest": {
        "required": [
          "ids"
        ],
        "type": "object",
        "properties": {
          "ids": {
            "type": "array",
            "items": {
              "type": "integer",
              "format": "uint64"
            },
            "x-go-type": "[]uint64"
          },
          "category_id": {
            "type": "integer",
            "format": "uint64",
            "description": "0 = 未分类",
            "x-go-type": "uint64"
          }
        }
      },
      "zcard.api.admin.v1.MySitesReply": {
        "type": "object",
        "properties": {
          "sites": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/zcard.api.admin.v1.ResellerSiteItem"
            },
            "x-go-type": "[]*ResellerSiteItem"
          }
        }
      },
      "zcard.api.admin.v1.NotifyLog": {
        "type": "object",
        "properties": {
          "id": {
            "type": "integer",
            "format": "uint64",
            "x-go-type": "uint64"
          },
          "event_type": {
            "type": "string",
            "x-go-type": "string"
          },
          "biz_type": {
            "type": "string",
            "x-go-type": "string"
          },
          "biz_id": {
            "type": "integer",
            "format": "uint64",
            "x-go-type": "uint64"
          },
          "channel": {
            "type": "string",
            "x-go-type": "string"
          },
          "recipient": {
            "type": "string",
            "x-go-type": "string"
          },
          "locale": {
            "type": "string",
            "x-go-type": "string"
          },
          "subject": {
            "type": "string",
            "x-go-type": "string"
          },
          "status": {
            "type": "string",
            "x-go-type": "string"
          },
          "error_message": {
            "type": "string",
            "x-go-type": "string"
          },
          "created_at": {
            "type": "integer",
            "format": "int64",
            "x-go-type": "int64"
          },
          "attempts": {
            "type": "integer",
            "format": "int32",
            "x-go-type": "int32"
          },
          "next_attempt_at": {
            "type": "integer",
            "format": "int64",
            "x-go-type": "int64"
          },
          "message_id": {
            "type": "string",
            "x-go-type": "string"
          },
          "retryable": {
            "type": "boolean",
            "x-go-type": "bool"
          },
          "topic_id": {
            "type": "integer",
            "format": "int64",
            "x-go-type": "int64"
          }
        }
      },
      "zcard.api.admin.v1.NotifyTemplate": {
        "type": "object",
        "properties": {
          "id": {
            "type": "integer",
            "format": "uint64",
            "x-go-type": "uint64"
          },
          "event_type": {
            "type": "string",
            "x-go-type": "string"
          },
          "channel": {
            "type": "string",
            "description": "email | inbox | sms | telegram",
            "x-go-type": "string"
          },
          "locale": {
            "type": "string",
            "description": "zh_CN 默认",
            "x-go-type": "string"
          },
          "subject_tpl": {
            "type": "string",
            "x-go-type": "string"
          },
          "body_tpl": {
            "type": "string",
            "x-go-type": "string"
          },
          "enabled": {
            "type": "boolean",
            "x-go-type": "bool"
          },
          "updated_at": {
            "type": "integer",
            "format": "int64",
            "x-go-type": "int64"
          }
        }
      },
      "zcard.api.admin.v1.OpLogItem": {
        "type": "object",
        "properties": {
          "id": {
            "type": "integer",
            "format": "uint64",
            "x-go-type": "uint64"
          },
          "operator_type": {
            "type": "string",
            "x-go-type": "string"
          },
          "operator_id": {
            "type": "integer",
            "format": "uint64",
            "x-go-type": "uint64"
          },
          "permission_point": {
            "type": "string",
            "x-go-type": "string"
          },
          "action": {
            "type": "string",
            "x-go-type": "string"
          },
          "route": {
            "type": "string",
            "x-go-type": "string"
          },
          "before_json": {
            "type": "string",
            "x-go-type": "string"
          },
          "after_json": {
            "type": "string",
            "x-go-type": "string"
          },
          "ip": {
            "type": "string",
            "x-go-type": "string"
          },
          "created_at": {
            "type": "integer",
            "format": "int64",
            "x-go-type": "int64"
          },
          "operator_name": {
            "type": "string",
            "description": "读取时富化的操作者账号（已删除/未知为空）",
            "x-go-type": "string"
          }
        }
      },
      "zcard.api.admin.v1.Option": {
        "type": "object",
        "properties": {
          "label": {
            "type": "string",
            "x-go-type": "string"
          },
          "value": {
            "type": "string",
            "x-go-type": "string"
          }
        }
      },
      "zcard.api.admin.v1.OptionItem": {
        "type": "object",
        "properties": {
          "value": {
            "type": "string",
            "x-go-type": "string"
          },
          "label": {
            "type": "string",
            "x-go-type": "string"
          }
        },
        "description": "OptionItem 枚举选项（value 入库值，label 展示名）。"
      },
      "zcard.api.admin.v1.PayWithdrawalRequest": {
        "required": [
          "id"
        ],
        "type": "object",
        "properties": {
          "id": {
            "type": "integer",
            "format": "uint64",
            "x-go-type": "uint64"
          },
          "receipt": {
            "type": "string",
            "description": "打款回执（交易流水号/凭证备注；客户可见）",
            "x-go-type": "string"
          }
        }
      },
      "zcard.api.admin.v1.Payment": {
        "type": "object",
        "properties": {
          "id": {
            "type": "integer",
            "format": "uint64",
            "x-go-type": "uint64"
          },
          "order_id": {
            "type": "integer",
            "format": "uint64",
            "x-go-type": "uint64"
          },
          "order_no": {
            "type": "string",
            "x-go-type": "string"
          },
          "channel": {
            "type": "string",
            "x-go-type": "string"
          },
          "channel_order_no": {
            "type": "string",
            "x-go-type": "string"
          },
          "amount_cents": {
            "type": "integer",
            "format": "int64",
            "x-go-type": "int64"
          },
          "charged_cents": {
            "type": "integer",
            "format": "int64",
            "x-go-type": "int64"
          },
          "fee_cents": {
            "type": "integer",
            "format": "int64",
            "x-go-type": "int64"
          },
          "status": {
            "type": "string",
            "x-go-type": "string"
          },
          "paid_at": {
            "type": "integer",
            "format": "int64",
            "x-go-type": "int64"
          },
          "created_at": {
            "type": "integer",
            "format": "int64",
            "x-go-type": "int64"
          },
          "review_reason": {
            "type": "string",
            "x-go-type": "string"
          },
          "expires_at": {
            "type": "integer",
            "format": "int64",
            "x-go-type": "int64"
          },
          "driver_snapshot": {
            "type": "string",
            "x-go-type": "string"
          }
        },
        "description": "Payment 支付单。"
      },
      "zcard.api.admin.v1.PendingOrder": {
        "type": "object",
        "properties": {
          "order_item_id": {
            "type": "integer",
            "format": "uint64",
            "x-go-type": "uint64"
          },
          "sku_name": {
            "type": "string",
            "x-go-type": "string"
          },
          "form_answers_json": {
            "type": "string",
            "x-go-type": "string"
          },
          "fulfillment_status": {
            "type": "string",
            "x-go-type": "string"
          },
          "assigned_admin_id": {
            "type": "integer",
            "format": "uint64",
            "x-go-type": "uint64"
          },
          "order_no": {
            "type": "string",
            "x-go-type": "string"
          },
          "product_id": {
            "type": "integer",
            "format": "uint64",
            "x-go-type": "uint64"
          },
          "product_name": {
            "type": "string",
            "x-go-type": "string"
          },
          "quantity": {
            "type": "integer",
            "format": "int32",
            "x-go-type": "int32"
          },
          "created_at": {
            "type": "integer",
            "format": "int64",
            "x-go-type": "int64"
          }
        }
      },
      "zcard.api.admin.v1.PerformInstallRequest": {
        "required": [
          "admin_username",
          "admin_password"
        ],
        "type": "object",
        "properties": {
          "admin_username": {
            "type": "string",
            "description": "管理员用户名",
            "x-go-type": "string"
          },
          "admin_password": {
            "type": "string",
            "description": "管理员密码（≥8 位）",
            "x-go-type": "string"
          },
          "site_name": {
            "type": "string",
            "description": "站点名称（默认 ZCard 商店）",
            "x-go-type": "string"
          },
          "site_url": {
            "type": "string",
            "description": "站点网址（可选）",
            "x-go-type": "string"
          },
          "dialect": {
            "type": "string",
            "description": "sqlite（默认，当前库直装）| mysql | postgres",
            "x-go-type": "string"
          },
          "db_host": {
            "type": "string",
            "x-go-type": "string"
          },
          "db_port": {
            "type": "integer",
            "format": "int32",
            "x-go-type": "int32"
          },
          "db_user": {
            "type": "string",
            "x-go-type": "string"
          },
          "db_password": {
            "type": "string",
            "x-go-type": "string"
          },
          "db_name": {
            "type": "string",
            "x-go-type": "string"
          },
          "redis_addr": {
            "type": "string",
            "description": "mysql/postgres 必填（SQLite 免 Redis）",
            "x-go-type": "string"
          },
          "redis_password": {
            "type": "string",
            "x-go-type": "string"
          }
        }
      },
      "zcard.api.admin.v1.Perm": {
        "type": "object",
        "properties": {
          "code": {
            "type": "string",
            "x-go-type": "string"
          },
          "desc": {
            "type": "string",
            "x-go-type": "string"
          },
          "admin_only": {
            "type": "boolean",
            "x-go-type": "bool"
          },
          "public": {
            "type": "boolean",
            "x-go-type": "bool"
          }
        },
        "description": "Perm 权限点。"
      },
      "zcard.api.admin.v1.PermissionTree": {
        "type": "object",
        "properties": {
          "groups": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/zcard.api.admin.v1.Group"
            },
            "x-go-type": "[]*Group"
          }
        },
        "description": "PermissionTree 权限目录树。"
      },
      "zcard.api.admin.v1.PingConnectionReply": {
        "type": "object",
        "properties": {
          "ok": {
            "type": "boolean",
            "x-go-type": "bool"
          },
          "site_name": {
            "type": "string",
            "x-go-type": "string"
          },
          "balance": {
            "type": "integer",
            "format": "int64",
            "x-go-type": "int64"
          },
          "currency": {
            "type": "string",
            "x-go-type": "string"
          },
          "error": {
            "type": "string",
            "x-go-type": "string"
          }
        }
      },
      "zcard.api.admin.v1.PingConnectionRequest": {
        "required": [
          "id"
        ],
        "type": "object",
        "properties": {
          "id": {
            "type": "integer",
            "format": "uint64",
            "x-go-type": "uint64"
          }
        }
      },
      "zcard.api.admin.v1.PointsBalance": {
        "type": "object",
        "properties": {
          "user_id": {
            "type": "integer",
            "format": "uint64",
            "x-go-type": "uint64"
          },
          "points": {
            "type": "integer",
            "format": "int64",
            "x-go-type": "int64"
          }
        }
      },
      "zcard.api.admin.v1.Post": {
        "type": "object",
        "properties": {
          "id": {
            "type": "integer",
            "format": "uint64",
            "x-go-type": "uint64"
          },
          "slug": {
            "type": "string",
            "x-go-type": "string"
          },
          "type": {
            "type": "string",
            "description": "blog | notice",
            "x-go-type": "string"
          },
          "title_json": {
            "type": "string",
            "x-go-type": "string"
          },
          "summary_json": {
            "type": "string",
            "x-go-type": "string"
          },
          "content_json": {
            "type": "string",
            "x-go-type": "string"
          },
          "thumbnail": {
            "type": "string",
            "x-go-type": "string"
          },
          "category_id": {
            "type": "integer",
            "format": "uint64",
            "x-go-type": "uint64"
          },
          "is_published": {
            "type": "boolean",
            "x-go-type": "bool"
          },
          "published_at": {
            "type": "integer",
            "format": "int64",
            "x-go-type": "int64"
          },
          "created_at": {
            "type": "integer",
            "format": "int64",
            "x-go-type": "int64"
          },
          "updated_at": {
            "type": "integer",
            "format": "int64",
            "x-go-type": "int64"
          },
          "sort": {
            "type": "integer",
            "format": "int32",
            "description": "数字越小越靠前",
            "x-go-type": "int32"
          }
        }
      },
      "zcard.api.admin.v1.PostCategory": {
        "type": "object",
        "properties": {
          "id": {
            "type": "integer",
            "format": "uint64",
            "x-go-type": "uint64"
          },
          "name": {
            "type": "string",
            "x-go-type": "string"
          },
          "slug": {
            "type": "string",
            "x-go-type": "string"
          },
          "sort": {
            "type": "integer",
            "format": "int32",
            "x-go-type": "int32"
          },
          "created_at": {
            "type": "integer",
            "format": "int64",
            "x-go-type": "int64"
          }
        }
      },
      "zcard.api.admin.v1.PremiumCardInfo": {
        "type": "object",
        "properties": {
          "id": {
            "type": "integer",
            "format": "uint64",
            "x-go-type": "uint64"
          },
          "product_id": {
            "type": "integer",
            "format": "uint64",
            "x-go-type": "uint64"
          },
          "masked_content": {
            "type": "string",
            "description": "****尾4位",
            "x-go-type": "string"
          },
          "draft_premium": {
            "type": "integer",
            "format": "int64",
            "description": "预选加价（分）",
            "x-go-type": "int64"
          },
          "draft_cost": {
            "type": "integer",
            "format": "int64",
            "description": "预选成本（分）",
            "x-go-type": "int64"
          },
          "price_cents": {
            "type": "integer",
            "format": "int64",
            "description": "靓号自选价（0=商品价+premium）",
            "x-go-type": "int64"
          },
          "status": {
            "type": "string",
            "x-go-type": "string"
          }
        },
        "description": "PremiumCardInfo 靓号卡（内容掩码；draft_premium 预选加价）。"
      },
      "zcard.api.admin.v1.PreviewBatchProductContentRequest": {
        "type": "object",
        "properties": {
          "ids": {
            "type": "array",
            "items": {
              "type": "integer",
              "format": "uint64"
            },
            "x-go-type": "[]uint64"
          },
          "category_id": {
            "type": "integer",
            "format": "uint64",
            "x-go-type": "uint64"
          },
          "include_descendants": {
            "type": "boolean",
            "x-go-type": "*bool"
          },
          "patch": {
            "$ref": "#/components/schemas/zcard.api.admin.v1.ProductContentPatch",
            "x-go-type": "*ProductContentPatch"
          }
        }
      },
      "zcard.api.admin.v1.PreviewCategory": {
        "type": "object",
        "properties": {
          "code": {
            "type": "string",
            "x-go-type": "string"
          },
          "name": {
            "type": "string",
            "x-go-type": "string"
          },
          "products": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/zcard.api.admin.v1.PreviewProduct"
            },
            "x-go-type": "[]*PreviewProduct"
          }
        }
      },
      "zcard.api.admin.v1.PreviewProduct": {
        "type": "object",
        "properties": {
          "code": {
            "type": "string",
            "x-go-type": "string"
          },
          "name": {
            "type": "string",
            "x-go-type": "string"
          },
          "price_cents": {
            "type": "integer",
            "format": "int64",
            "description": "上游价（分）",
            "x-go-type": "int64"
          },
          "factory_price_cents": {
            "type": "integer",
            "format": "int64",
            "x-go-type": "int64"
          },
          "category_code": {
            "type": "string",
            "x-go-type": "string"
          },
          "category_name": {
            "type": "string",
            "x-go-type": "string"
          },
          "is_active": {
            "type": "boolean",
            "x-go-type": "bool"
          },
          "stock": {
            "type": "integer",
            "format": "int32",
            "description": "-1 = 无限/未知",
            "x-go-type": "int32"
          },
          "already_imported": {
            "type": "boolean",
            "description": "已存在映射（勾选导入 = 更新）",
            "x-go-type": "bool"
          },
          "quote_status": {
            "type": "string",
            "description": "pending | ready | failed；未确认时不能使用目录原价作为成本",
            "x-go-type": "string"
          },
          "cost_price_cents": {
            "type": "integer",
            "format": "int64",
            "description": "本地币种成本，账号单件报价乘汇率，不含加价；未知=-1",
            "x-go-type": "int64"
          },
          "is_locked": {
            "type": "boolean",
            "x-go-type": "bool"
          },
          "category_protected": {
            "type": "boolean",
            "x-go-type": "bool"
          },
          "local_category_id": {
            "type": "integer",
            "format": "uint64",
            "x-go-type": "uint64"
          },
          "cost_is_minimum": {
            "type": "boolean",
            "description": "多规格商品显示最低规格成本",
            "x-go-type": "bool"
          }
        }
      },
      "zcard.api.admin.v1.PreviewProductsReply": {
        "type": "object",
        "properties": {
          "categories": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/zcard.api.admin.v1.PreviewCategory"
            },
            "x-go-type": "[]*PreviewCategory"
          },
          "total": {
            "type": "integer",
            "format": "int32",
            "x-go-type": "int32"
          },
          "snapshot_id": {
            "type": "string",
            "x-go-type": "string"
          },
          "status": {
            "type": "string",
            "description": "pending | loading | ready | failed",
            "x-go-type": "string"
          },
          "message": {
            "type": "string",
            "x-go-type": "string"
          },
          "loaded_count": {
            "type": "integer",
            "format": "int32",
            "x-go-type": "int32"
          },
          "expires_at": {
            "type": "integer",
            "format": "int64",
            "x-go-type": "int64"
          }
        }
      },
      "zcard.api.admin.v1.PreviewTemplateReply": {
        "type": "object",
        "properties": {
          "subject": {
            "type": "string",
            "x-go-type": "string"
          },
          "body": {
            "type": "string",
            "x-go-type": "string"
          },
          "error": {
            "type": "string",
            "description": "空 = 渲染成功",
            "x-go-type": "string"
          }
        }
      },
      "zcard.api.admin.v1.PreviewTemplateRequest": {
        "required": [
          "event_type",
          "channel"
        ],
        "type": "object",
        "properties": {
          "event_type": {
            "type": "string",
            "x-go-type": "string"
          },
          "channel": {
            "type": "string",
            "x-go-type": "string"
          },
          "locale": {
            "type": "string",
            "x-go-type": "string"
          }
        }
      },
      "zcard.api.admin.v1.ProcurementOrder": {
        "type": "object",
        "properties": {
          "id": {
            "type": "integer",
            "format": "uint64",
            "x-go-type": "uint64"
          },
          "order_item_id": {
            "type": "integer",
            "format": "uint64",
            "x-go-type": "uint64"
          },
          "connection_id": {
            "type": "integer",
            "format": "uint64",
            "x-go-type": "uint64"
          },
          "upstream_order_id": {
            "type": "string",
            "x-go-type": "string"
          },
          "status": {
            "type": "string",
            "description": "pending | submitted | polling | fulfilled | rejected | refunding | refunded | manual",
            "x-go-type": "string"
          },
          "fail_strategy": {
            "type": "string",
            "description": "auto_refund | manual",
            "x-go-type": "string"
          },
          "retry_count": {
            "type": "integer",
            "format": "int32",
            "x-go-type": "int32"
          },
          "next_retry_at": {
            "type": "integer",
            "format": "int64",
            "x-go-type": "int64"
          },
          "last_poll_at": {
            "type": "integer",
            "format": "int64",
            "x-go-type": "int64"
          },
          "dedupe_key": {
            "type": "string",
            "x-go-type": "string"
          },
          "trace_id": {
            "type": "string",
            "x-go-type": "string"
          },
          "last_error": {
            "type": "string",
            "x-go-type": "string"
          },
          "upstream_refund_id": {
            "type": "string",
            "x-go-type": "string"
          },
          "item_quantity": {
            "type": "integer",
            "format": "int32",
            "x-go-type": "int32"
          },
          "item_unit_cost": {
            "type": "integer",
            "format": "int64",
            "x-go-type": "int64"
          },
          "received_cards": {
            "type": "integer",
            "format": "int32",
            "description": "已到手卡密行数（密文行数）",
            "x-go-type": "int32"
          },
          "created_at": {
            "type": "integer",
            "format": "int64",
            "x-go-type": "int64"
          },
          "updated_at": {
            "type": "integer",
            "format": "int64",
            "x-go-type": "int64"
          },
          "order_no": {
            "type": "string",
            "x-go-type": "string"
          },
          "order_status": {
            "type": "string",
            "x-go-type": "string"
          },
          "product_id": {
            "type": "integer",
            "format": "uint64",
            "x-go-type": "uint64"
          },
          "product_name": {
            "type": "string",
            "x-go-type": "string"
          },
          "sku_name": {
            "type": "string",
            "x-go-type": "string"
          },
          "connection_name": {
            "type": "string",
            "x-go-type": "string"
          },
          "connection_url": {
            "type": "string",
            "x-go-type": "string"
          },
          "connection_driver": {
            "type": "string",
            "x-go-type": "string"
          },
          "upstream_product_code": {
            "type": "string",
            "x-go-type": "string"
          },
          "sale_unit_cents": {
            "type": "integer",
            "format": "int64",
            "x-go-type": "int64"
          },
          "sale_amount_cents": {
            "type": "integer",
            "format": "int64",
            "x-go-type": "int64"
          },
          "allocated_sale_cents": {
            "type": "integer",
            "format": "int64",
            "description": "整单优惠按子项金额分摊",
            "x-go-type": "int64"
          },
          "cost_unit_cents": {
            "type": "integer",
            "format": "int64",
            "x-go-type": "int64"
          },
          "cost_total_cents": {
            "type": "integer",
            "format": "int64",
            "x-go-type": "int64"
          },
          "profit_cents": {
            "type": "integer",
            "format": "int64",
            "description": "预计毛利，未计退款和手续费",
            "x-go-type": "int64"
          },
          "cost_basis": {
            "type": "string",
            "description": "order_snapshot | unrecorded",
            "x-go-type": "string"
          },
          "delivered_quantity": {
            "type": "integer",
            "format": "int32",
            "x-go-type": "int32"
          },
          "delivery_incomplete": {
            "type": "boolean",
            "description": "可发货订单的该商品尚未足额交付",
            "x-go-type": "bool"
          }
        }
      },
      "zcard.api.admin.v1.ProductCategoryRule": {
        "type": "object",
        "properties": {
          "keywords": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "x-go-type": "[]string"
          },
          "excludes": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "x-go-type": "[]string"
          },
          "category_id": {
            "type": "integer",
            "format": "uint64",
            "x-go-type": "uint64"
          },
          "match_all": {
            "type": "boolean",
            "x-go-type": "bool"
          }
        }
      },
      "zcard.api.admin.v1.ProductContentPatch": {
        "type": "object",
        "properties": {
          "cover_action": {
            "type": "integer",
            "format": "int32",
            "x-go-type": "int32"
          },
          "cover": {
            "type": "string",
            "x-go-type": "string"
          },
          "images_action": {
            "type": "integer",
            "format": "int32",
            "x-go-type": "int32"
          },
          "images": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "x-go-type": "[]string"
          },
          "description_action": {
            "type": "integer",
            "format": "int32",
            "x-go-type": "int32"
          },
          "description": {
            "type": "string",
            "x-go-type": "string"
          }
        },
        "description": "Operations: KEEP=0, REPLACE=1, CLEAR=2, FOLLOW_UPSTREAM=3 (cover/description only)."
      },
      "zcard.api.admin.v1.ProductListingTarget": {
        "type": "object",
        "properties": {
          "id": {
            "type": "integer",
            "format": "uint64",
            "x-go-type": "uint64"
          },
          "name": {
            "type": "string",
            "x-go-type": "string"
          },
          "revision": {
            "type": "string",
            "x-go-type": "string"
          },
          "result": {
            "type": "string",
            "x-go-type": "string"
          },
          "message": {
            "type": "string",
            "x-go-type": "string"
          },
          "status": {
            "type": "integer",
            "format": "int32",
            "x-go-type": "int32"
          },
          "auto_listing": {
            "type": "boolean",
            "x-go-type": "bool"
          }
        }
      },
      "zcard.api.admin.v1.PromotionItem": {
        "type": "object",
        "properties": {
          "id": {
            "type": "integer",
            "format": "uint64",
            "x-go-type": "uint64"
          },
          "name": {
            "type": "string",
            "x-go-type": "string"
          },
          "scope_json": {
            "type": "string",
            "x-go-type": "string"
          },
          "type": {
            "type": "string",
            "x-go-type": "string"
          },
          "threshold": {
            "type": "integer",
            "format": "int64",
            "x-go-type": "int64"
          },
          "discount": {
            "type": "integer",
            "format": "int64",
            "x-go-type": "int64"
          },
          "special_price": {
            "type": "integer",
            "format": "int64",
            "x-go-type": "int64"
          },
          "start_at": {
            "type": "integer",
            "format": "int64",
            "x-go-type": "int64"
          },
          "end_at": {
            "type": "integer",
            "format": "int64",
            "x-go-type": "int64"
          },
          "enabled": {
            "type": "boolean",
            "x-go-type": "bool"
          }
        }
      },
      "zcard.api.admin.v1.PublishPostRequest": {
        "required": [
          "id"
        ],
        "type": "object",
        "properties": {
          "id": {
            "type": "integer",
            "format": "uint64",
            "x-go-type": "uint64"
          },
          "publish": {
            "type": "boolean",
            "x-go-type": "bool"
          }
        }
      },
      "zcard.api.admin.v1.RechargeSupplierRequest": {
        "required": [
          "id",
          "amount_cents"
        ],
        "type": "object",
        "properties": {
          "id": {
            "type": "integer",
            "format": "uint64",
            "x-go-type": "uint64"
          },
          "amount_cents": {
            "type": "integer",
            "format": "int64",
            "x-go-type": "int64"
          },
          "remark": {
            "type": "string",
            "x-go-type": "string"
          }
        }
      },
      "zcard.api.admin.v1.ReconciliationItemDetail": {
        "type": "object",
        "properties": {
          "id": {
            "type": "integer",
            "format": "uint64",
            "x-go-type": "uint64"
          },
          "status": {
            "type": "string",
            "x-go-type": "string"
          },
          "procurement_order_id": {
            "type": "integer",
            "format": "uint64",
            "x-go-type": "uint64"
          },
          "local_order_no": {
            "type": "string",
            "x-go-type": "string"
          },
          "upstream_order_no": {
            "type": "string",
            "x-go-type": "string"
          },
          "diff_json": {
            "type": "string",
            "x-go-type": "string"
          },
          "created_at": {
            "type": "integer",
            "format": "int64",
            "x-go-type": "int64"
          }
        }
      },
      "zcard.api.admin.v1.ReconciliationJobItem": {
        "type": "object",
        "properties": {
          "id": {
            "type": "integer",
            "format": "uint64",
            "x-go-type": "uint64"
          },
          "connection_id": {
            "type": "integer",
            "format": "uint64",
            "x-go-type": "uint64"
          },
          "status": {
            "type": "string",
            "description": "pending | processing | done | failed",
            "x-go-type": "string"
          },
          "time_range_start": {
            "type": "integer",
            "format": "int64",
            "x-go-type": "int64"
          },
          "time_range_end": {
            "type": "integer",
            "format": "int64",
            "x-go-type": "int64"
          },
          "total_count": {
            "type": "integer",
            "format": "int32",
            "x-go-type": "int32"
          },
          "matched_count": {
            "type": "integer",
            "format": "int32",
            "x-go-type": "int32"
          },
          "mismatched_count": {
            "type": "integer",
            "format": "int32",
            "x-go-type": "int32"
          },
          "result_json": {
            "type": "string",
            "x-go-type": "string"
          },
          "created_at": {
            "type": "integer",
            "format": "int64",
            "x-go-type": "int64"
          }
        }
      },
      "zcard.api.admin.v1.ReconciliationSummary": {
        "type": "object",
        "properties": {
          "date": {
            "type": "string",
            "x-go-type": "string"
          },
          "order_paid_total": {
            "type": "integer",
            "format": "int64",
            "description": "当日已支付订单额（分）",
            "x-go-type": "int64"
          },
          "payment_success_total": {
            "type": "integer",
            "format": "int64",
            "description": "当日支付单成功额（分）",
            "x-go-type": "int64"
          },
          "wallet_recharge_total": {
            "type": "integer",
            "format": "int64",
            "description": "当日钱包充值（分）",
            "x-go-type": "int64"
          },
          "commission_total": {
            "type": "integer",
            "format": "int64",
            "description": "当日佣金计提（分）",
            "x-go-type": "int64"
          },
          "order_count": {
            "type": "integer",
            "format": "int64",
            "x-go-type": "int64"
          },
          "mismatch_count": {
            "type": "integer",
            "format": "int64",
            "description": "订单/支付额差异数（>0 需人工）",
            "x-go-type": "int64"
          }
        }
      },
      "zcard.api.admin.v1.RecoveryCodesReply": {
        "type": "object",
        "properties": {
          "recovery_codes": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "x-go-type": "[]string"
          }
        }
      },
      "zcard.api.admin.v1.RefreshTokenRequest": {
        "required": [
          "refresh_token"
        ],
        "type": "object",
        "properties": {
          "refresh_token": {
            "type": "string",
            "x-go-type": "string"
          }
        }
      },
      "zcard.api.admin.v1.RefundOrder": {
        "type": "object",
        "properties": {
          "id": {
            "type": "integer",
            "format": "uint64",
            "x-go-type": "uint64"
          },
          "order_id": {
            "type": "integer",
            "format": "uint64",
            "x-go-type": "uint64"
          },
          "order_no": {
            "type": "string",
            "x-go-type": "string"
          },
          "amount_cents": {
            "type": "integer",
            "format": "int64",
            "x-go-type": "int64"
          },
          "channel": {
            "type": "string",
            "x-go-type": "string"
          },
          "status": {
            "type": "string",
            "x-go-type": "string"
          },
          "reason": {
            "type": "string",
            "x-go-type": "string"
          },
          "upstream_refund_id": {
            "type": "string",
            "x-go-type": "string"
          },
          "created_at": {
            "type": "integer",
            "format": "int64",
            "x-go-type": "int64"
          },
          "fee_cents": {
            "type": "integer",
            "format": "int64",
            "x-go-type": "int64"
          }
        },
        "description": "RefundOrder 退款单。"
      },
      "zcard.api.admin.v1.RejectReviewRequest": {
        "required": [
          "id"
        ],
        "type": "object",
        "properties": {
          "id": {
            "type": "integer",
            "format": "uint64",
            "x-go-type": "uint64"
          }
        }
      },
      "zcard.api.admin.v1.ReleaseNoteEntry": {
        "type": "object",
        "properties": {
          "version": {
            "type": "string",
            "x-go-type": "string"
          },
          "channel": {
            "type": "string",
            "x-go-type": "string"
          },
          "notes": {
            "type": "string",
            "x-go-type": "string"
          },
          "issued_at": {
            "type": "string",
            "x-go-type": "string"
          }
        },
        "description": "ReleaseNoteEntry 历史版本变更记录（manifest history 段透传）。"
      },
      "zcard.api.admin.v1.RenameMediaCategoryRequest": {
        "required": [
          "id",
          "name"
        ],
        "type": "object",
        "properties": {
          "id": {
            "type": "integer",
            "format": "uint64",
            "x-go-type": "uint64"
          },
          "name": {
            "type": "string",
            "x-go-type": "string"
          }
        }
      },
      "zcard.api.admin.v1.RenameMediaRequest": {
        "required": [
          "id",
          "name"
        ],
        "type": "object",
        "properties": {
          "id": {
            "type": "integer",
            "format": "uint64",
            "x-go-type": "uint64"
          },
          "name": {
            "type": "string",
            "x-go-type": "string"
          }
        }
      },
      "zcard.api.admin.v1.ReorderCategoriesRequest": {
        "type": "object",
        "properties": {
          "parent_id": {
            "type": "integer",
            "format": "uint64",
            "description": "目标层级（0=顶级）",
            "x-go-type": "uint64"
          },
          "ids": {
            "type": "array",
            "items": {
              "type": "integer",
              "format": "uint64"
            },
            "x-go-type": "[]uint64"
          }
        },
        "description": "ReorderCategoriesRequest 分类排序：把 parent_id 层级下的分类按 ids 顺序重排，\n sort 归一化为 0..n-1；ids 需包含该层级的全部兄弟（拖拽跨层级时含被移动分类）。"
      },
      "zcard.api.admin.v1.ResellerProduct": {
        "type": "object",
        "properties": {
          "id": {
            "type": "integer",
            "format": "uint64",
            "x-go-type": "uint64"
          },
          "subsite_id": {
            "type": "integer",
            "format": "uint64",
            "x-go-type": "uint64"
          },
          "name": {
            "type": "string",
            "x-go-type": "string"
          },
          "slug": {
            "type": "string",
            "x-go-type": "string"
          },
          "price_cents": {
            "type": "integer",
            "format": "int64",
            "x-go-type": "int64"
          },
          "status": {
            "type": "integer",
            "format": "int32",
            "x-go-type": "int32"
          },
          "created_at": {
            "type": "integer",
            "format": "int64",
            "x-go-type": "int64"
          }
        },
        "description": "ResellerProduct 分站自营商品（上架结果回执）。"
      },
      "zcard.api.admin.v1.ResellerProfile": {
        "type": "object",
        "properties": {
          "id": {
            "type": "integer",
            "format": "uint64",
            "x-go-type": "uint64"
          },
          "user_id": {
            "type": "integer",
            "format": "uint64",
            "x-go-type": "uint64"
          },
          "status": {
            "type": "string",
            "description": "applying | approved | rejected",
            "x-go-type": "string"
          },
          "apply_reason": {
            "type": "string",
            "x-go-type": "string"
          },
          "reject_reason": {
            "type": "string",
            "x-go-type": "string"
          },
          "level": {
            "type": "integer",
            "format": "int32",
            "x-go-type": "int32"
          },
          "default_markup_percent": {
            "type": "number",
            "format": "double",
            "x-go-type": "float64"
          },
          "max_markup_percent": {
            "type": "number",
            "format": "double",
            "x-go-type": "float64"
          },
          "confirm_days": {
            "type": "integer",
            "format": "int32",
            "x-go-type": "int32"
          },
          "reviewed_at": {
            "type": "integer",
            "format": "int64",
            "x-go-type": "int64"
          },
          "created_at": {
            "type": "integer",
            "format": "int64",
            "x-go-type": "int64"
          }
        }
      },
      "zcard.api.admin.v1.ResellerSiteItem": {
        "type": "object",
        "properties": {
          "id": {
            "type": "integer",
            "format": "uint64",
            "x-go-type": "uint64"
          },
          "profile_id": {
            "type": "integer",
            "format": "uint64",
            "x-go-type": "uint64"
          },
          "domain": {
            "type": "string",
            "x-go-type": "string"
          },
          "verification_status": {
            "type": "string",
            "description": "pending | verified | failed",
            "x-go-type": "string"
          },
          "verification_token": {
            "type": "string",
            "description": "用于 DNS TXT/HTTP 文件内容",
            "x-go-type": "string"
          },
          "is_primary": {
            "type": "boolean",
            "x-go-type": "bool"
          },
          "site_name": {
            "type": "string",
            "x-go-type": "string"
          },
          "logo": {
            "type": "string",
            "x-go-type": "string"
          }
        }
      },
      "zcard.api.admin.v1.ResendNotifyLogRequest": {
        "required": [
          "id"
        ],
        "type": "object",
        "properties": {
          "id": {
            "type": "integer",
            "format": "uint64",
            "x-go-type": "uint64"
          }
        }
      },
      "zcard.api.admin.v1.ResendSupplierCallbackRequest": {
        "required": [
          "id"
        ],
        "type": "object",
        "properties": {
          "id": {
            "type": "integer",
            "format": "uint64",
            "x-go-type": "uint64"
          }
        }
      },
      "zcard.api.admin.v1.ResetAdminPasswordRequest": {
        "required": [
          "id",
          "password"
        ],
        "type": "object",
        "properties": {
          "id": {
            "type": "integer",
            "format": "uint64",
            "x-go-type": "uint64"
          },
          "password": {
            "type": "string",
            "x-go-type": "string"
          }
        }
      },
      "zcard.api.admin.v1.ResetAdminTOTPRequest": {
        "required": [
          "id"
        ],
        "type": "object",
        "properties": {
          "id": {
            "type": "integer",
            "format": "uint64",
            "x-go-type": "uint64"
          }
        }
      },
      "zcard.api.admin.v1.ResetSupplierSecretReply": {
        "type": "object",
        "properties": {
          "api_secret": {
            "type": "string",
            "description": "明文只出现这一次",
            "x-go-type": "string"
          }
        }
      },
      "zcard.api.admin.v1.ResetSupplierSecretRequest": {
        "required": [
          "id",
          "new_secret"
        ],
        "type": "object",
        "properties": {
          "id": {
            "type": "integer",
            "format": "uint64",
            "x-go-type": "uint64"
          },
          "new_secret": {
            "type": "string",
            "x-go-type": "string"
          }
        }
      },
      "zcard.api.admin.v1.ResetTOTPRequest": {
        "type": "object",
        "properties": {
          "admin_id": {
            "type": "integer",
            "format": "uint64",
            "x-go-type": "uint64"
          },
          "password": {
            "type": "string",
            "x-go-type": "string"
          },
          "code": {
            "type": "string",
            "x-go-type": "string"
          },
          "reason": {
            "type": "string",
            "x-go-type": "string"
          }
        }
      },
      "zcard.api.admin.v1.ResetUserPasswordRequest": {
        "required": [
          "id",
          "new_password"
        ],
        "type": "object",
        "properties": {
          "id": {
            "type": "integer",
            "format": "uint64",
            "x-go-type": "uint64"
          },
          "new_password": {
            "type": "string",
            "description": "≥6 位",
            "x-go-type": "string"
          }
        }
      },
      "zcard.api.admin.v1.RetryImportTaskRequest": {
        "type": "object",
        "properties": {
          "id": {
            "type": "integer",
            "format": "uint64",
            "x-go-type": "uint64"
          },
          "scope": {
            "type": "string",
            "description": "failed | stock | remaining",
            "x-go-type": "string"
          },
          "confirm_config": {
            "type": "boolean",
            "description": "已确认使用当前货源配置继续未完成部分",
            "x-go-type": "bool"
          }
        }
      },
      "zcard.api.admin.v1.RetryProcurementRequest": {
        "required": [
          "id"
        ],
        "type": "object",
        "properties": {
          "id": {
            "type": "integer",
            "format": "uint64",
            "x-go-type": "uint64"
          }
        }
      },
      "zcard.api.admin.v1.ReviewApplyRequest": {
        "required": [
          "id"
        ],
        "type": "object",
        "properties": {
          "id": {
            "type": "integer",
            "format": "uint64",
            "x-go-type": "uint64"
          },
          "approve": {
            "type": "boolean",
            "x-go-type": "bool"
          },
          "reason": {
            "type": "string",
            "x-go-type": "string"
          },
          "default_markup_percent": {
            "type": "number",
            "format": "double",
            "description": "审核通过时设定",
            "x-go-type": "float64"
          },
          "max_markup_percent": {
            "type": "number",
            "format": "double",
            "x-go-type": "float64"
          },
          "confirm_days": {
            "type": "integer",
            "format": "int32",
            "x-go-type": "int32"
          }
        }
      },
      "zcard.api.admin.v1.ReviewItem": {
        "type": "object",
        "properties": {
          "id": {
            "type": "integer",
            "format": "uint64",
            "x-go-type": "uint64"
          },
          "product_id": {
            "type": "integer",
            "format": "uint64",
            "x-go-type": "uint64"
          },
          "user_id": {
            "type": "integer",
            "format": "uint64",
            "x-go-type": "uint64"
          },
          "order_id": {
            "type": "integer",
            "format": "uint64",
            "x-go-type": "uint64"
          },
          "rating": {
            "type": "integer",
            "format": "int32",
            "description": "1-5",
            "x-go-type": "int32"
          },
          "content": {
            "type": "string",
            "x-go-type": "string"
          },
          "status": {
            "type": "string",
            "x-go-type": "string"
          },
          "created_at": {
            "type": "integer",
            "format": "int64",
            "x-go-type": "int64"
          }
        },
        "description": "ReviewItem 真实评价（审核流：pending→approved/rejected）。"
      },
      "zcard.api.admin.v1.ReviewSupplierAccountRequest": {
        "required": [
          "id"
        ],
        "type": "object",
        "properties": {
          "id": {
            "type": "integer",
            "format": "uint64",
            "x-go-type": "uint64"
          },
          "approve": {
            "type": "boolean",
            "x-go-type": "bool"
          },
          "review_note": {
            "type": "string",
            "description": "审核意见；驳回时建议必填（≤500）",
            "x-go-type": "string"
          }
        }
      },
      "zcard.api.admin.v1.ReviewWithdrawalRequest": {
        "required": [
          "id"
        ],
        "type": "object",
        "properties": {
          "id": {
            "type": "integer",
            "format": "uint64",
            "x-go-type": "uint64"
          },
          "approve": {
            "type": "boolean",
            "x-go-type": "bool"
          },
          "reason": {
            "type": "string",
            "description": "驳回必填",
            "x-go-type": "string"
          }
        }
      },
      "zcard.api.admin.v1.Role": {
        "type": "object",
        "properties": {
          "id": {
            "type": "integer",
            "format": "uint64",
            "x-go-type": "uint64"
          },
          "name": {
            "type": "string",
            "x-go-type": "string"
          },
          "code": {
            "type": "string",
            "x-go-type": "string"
          },
          "description": {
            "type": "string",
            "x-go-type": "string"
          },
          "is_builtin": {
            "type": "boolean",
            "x-go-type": "bool"
          },
          "permissions": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "x-go-type": "[]string"
          }
        },
        "description": "Role 角色详情。"
      },
      "zcard.api.admin.v1.RunReconciliationJobRequest": {
        "required": [
          "id"
        ],
        "type": "object",
        "properties": {
          "id": {
            "type": "integer",
            "format": "uint64",
            "x-go-type": "uint64"
          }
        }
      },
      "zcard.api.admin.v1.SaveThemeSettingsRequest": {
        "type": "object",
        "properties": {
          "key": {
            "type": "string",
            "x-go-type": "string"
          },
          "theme_revision": {
            "type": "string",
            "x-go-type": "string"
          },
          "expected_revision": {
            "type": "string",
            "x-go-type": "string"
          },
          "action": {
            "type": "string",
            "description": "draft | publish | reset | rollback",
            "x-go-type": "string"
          },
          "values_json": {
            "type": "string",
            "x-go-type": "string"
          }
        }
      },
      "zcard.api.admin.v1.SecurityLogItem": {
        "type": "object",
        "properties": {
          "id": {
            "type": "integer",
            "format": "uint64",
            "x-go-type": "uint64"
          },
          "actor_type": {
            "type": "string",
            "x-go-type": "string"
          },
          "actor_id": {
            "type": "integer",
            "format": "uint64",
            "x-go-type": "uint64"
          },
          "action": {
            "type": "string",
            "x-go-type": "string"
          },
          "ip": {
            "type": "string",
            "x-go-type": "string"
          },
          "metadata_json": {
            "type": "string",
            "x-go-type": "string"
          },
          "created_at": {
            "type": "integer",
            "format": "int64",
            "x-go-type": "int64"
          },
          "actor_name": {
            "type": "string",
            "description": "读取时富化的主体账号（guest/system/未知为空）",
            "x-go-type": "string"
          }
        }
      },
      "zcard.api.admin.v1.SetBlacklistRequest": {
        "required": [
          "entries"
        ],
        "type": "object",
        "properties": {
          "entries": {
            "type": "string",
            "description": "逗号分隔",
            "x-go-type": "string"
          }
        }
      },
      "zcard.api.admin.v1.SetCategoryPlacementsRequest": {
        "type": "object",
        "properties": {
          "category_id": {
            "type": "integer",
            "format": "uint64",
            "x-go-type": "uint64"
          },
          "expected_version": {
            "type": "integer",
            "format": "int64",
            "x-go-type": "int64"
          },
          "items": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/zcard.api.admin.v1.CategoryPlacementInput"
            },
            "x-go-type": "[]*CategoryPlacementInput"
          }
        }
      },
      "zcard.api.admin.v1.SetDeliverySourceRequest": {
        "type": "object",
        "properties": {
          "product_id": {
            "type": "integer",
            "format": "uint64",
            "x-go-type": "uint64"
          },
          "sku_id": {
            "type": "integer",
            "format": "uint64",
            "x-go-type": "uint64"
          },
          "mode": {
            "type": "string",
            "description": "upstream | local | reuse",
            "x-go-type": "string"
          },
          "content": {
            "type": "string",
            "x-go-type": "string"
          },
          "procurement_id": {
            "type": "integer",
            "format": "uint64",
            "x-go-type": "uint64"
          },
          "content_index": {
            "type": "integer",
            "format": "int32",
            "x-go-type": "int32"
          },
          "first_purchase": {
            "type": "boolean",
            "x-go-type": "bool"
          },
          "expires_at": {
            "type": "integer",
            "format": "int64",
            "x-go-type": "int64"
          },
          "max_deliveries": {
            "type": "integer",
            "format": "int64",
            "x-go-type": "int64"
          },
          "expected_revision": {
            "type": "integer",
            "format": "int64",
            "x-go-type": "int64"
          },
          "action": {
            "type": "string",
            "description": "configure | pause | resume | reconcile",
            "x-go-type": "string"
          },
          "upstream_order_id": {
            "type": "string",
            "description": "uncertain purchase: bind existing receipt, never resubmit",
            "x-go-type": "string"
          }
        }
      },
      "zcard.api.admin.v1.SetProductLockRequest": {
        "type": "object",
        "properties": {
          "id": {
            "type": "integer",
            "format": "uint64",
            "x-go-type": "uint64"
          },
          "is_locked": {
            "type": "boolean",
            "x-go-type": "bool"
          },
          "expected_version": {
            "type": "integer",
            "format": "int64",
            "x-go-type": "int64"
          }
        }
      },
      "zcard.api.admin.v1.SetSupplierIPWhitelistRequest": {
        "required": [
          "id"
        ],
        "type": "object",
        "properties": {
          "id": {
            "type": "integer",
            "format": "uint64",
            "x-go-type": "uint64"
          },
          "ips": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "description": "精确 IP 或 CIDR 网段；空 = 不限",
            "x-go-type": "[]string"
          }
        }
      },
      "zcard.api.admin.v1.SetSupplierNotifyURLRequest": {
        "required": [
          "id",
          "notify_url"
        ],
        "type": "object",
        "properties": {
          "id": {
            "type": "integer",
            "format": "uint64",
            "x-go-type": "uint64"
          },
          "notify_url": {
            "type": "string",
            "x-go-type": "string"
          }
        }
      },
      "zcard.api.admin.v1.SetUserStatusRequest": {
        "required": [
          "id",
          "status"
        ],
        "type": "object",
        "properties": {
          "id": {
            "type": "integer",
            "format": "uint64",
            "x-go-type": "uint64"
          },
          "status": {
            "type": "string",
            "x-go-type": "string"
          }
        }
      },
      "zcard.api.admin.v1.SetWhitelabelRequest": {
        "required": [
          "site_id"
        ],
        "type": "object",
        "properties": {
          "site_id": {
            "type": "integer",
            "format": "uint64",
            "x-go-type": "uint64"
          },
          "site_name": {
            "type": "string",
            "x-go-type": "string"
          },
          "logo": {
            "type": "string",
            "x-go-type": "string"
          },
          "favicon": {
            "type": "string",
            "x-go-type": "string"
          }
        }
      },
      "zcard.api.admin.v1.Setting": {
        "type": "object",
        "properties": {
          "group": {
            "type": "string",
            "x-go-type": "string"
          },
          "key": {
            "type": "string",
            "x-go-type": "string"
          },
          "value_json": {
            "type": "string",
            "x-go-type": "string"
          },
          "label": {
            "type": "string",
            "description": "业务显示名称（目录裁决；缺失回落 key 本身）",
            "x-go-type": "string"
          },
          "options": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/zcard.api.admin.v1.OptionItem"
            },
            "description": "枚举选项（如 category_nav_style: list/grid）；非枚举键为空",
            "x-go-type": "[]*OptionItem"
          },
          "secret": {
            "type": "boolean",
            "description": "敏感键（值已脱敏 ****；前端渲染密码框）",
            "x-go-type": "bool"
          }
        },
        "description": "Setting 设置项（value_json 为 JSON 文档字符串）。"
      },
      "zcard.api.admin.v1.SettingUpdate": {
        "required": [
          "group",
          "key",
          "value_json"
        ],
        "type": "object",
        "properties": {
          "group": {
            "type": "string",
            "x-go-type": "string"
          },
          "key": {
            "type": "string",
            "x-go-type": "string"
          },
          "value_json": {
            "type": "string",
            "x-go-type": "string"
          }
        }
      },
      "zcard.api.admin.v1.Sku": {
        "type": "object",
        "properties": {
          "fulfillment_mode": {
            "type": "string",
            "x-go-type": "string"
          },
          "id": {
            "type": "integer",
            "format": "uint64",
            "x-go-type": "uint64"
          },
          "product_id": {
            "type": "integer",
            "format": "uint64",
            "x-go-type": "uint64"
          },
          "name": {
            "type": "string",
            "x-go-type": "string"
          },
          "spec_values": {
            "type": "object",
            "additionalProperties": {
              "type": "string"
            },
            "x-go-type": "map[string]string"
          },
          "price_cents": {
            "type": "integer",
            "format": "int64",
            "description": "独立售价（分；0=继承商品价）",
            "x-go-type": "int64"
          },
          "cost_cents": {
            "type": "integer",
            "format": "int64",
            "x-go-type": "int64"
          },
          "stock_offset": {
            "type": "integer",
            "format": "int32",
            "x-go-type": "int32"
          },
          "upstream_sku_id": {
            "type": "string",
            "x-go-type": "string"
          }
        },
        "description": "Sku 管理面多规格（含成本价）。"
      },
      "zcard.api.admin.v1.SkuList": {
        "type": "object",
        "properties": {
          "skus": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/zcard.api.admin.v1.Sku"
            },
            "x-go-type": "[]*Sku"
          }
        }
      },
      "zcard.api.admin.v1.StartServiceRequest": {
        "type": "object",
        "properties": {
          "order_no": {
            "type": "string",
            "x-go-type": "string"
          },
          "order_item_id": {
            "type": "integer",
            "format": "uint64",
            "x-go-type": "uint64"
          }
        }
      },
      "zcard.api.admin.v1.StatusEvent": {
        "type": "object",
        "properties": {
          "from_status": {
            "type": "string",
            "x-go-type": "string"
          },
          "to_status": {
            "type": "string",
            "x-go-type": "string"
          },
          "event": {
            "type": "string",
            "x-go-type": "string"
          },
          "operator": {
            "type": "string",
            "x-go-type": "string"
          },
          "reason": {
            "type": "string",
            "x-go-type": "string"
          },
          "created_at": {
            "type": "integer",
            "format": "int64",
            "x-go-type": "int64"
          }
        }
      },
      "zcard.api.admin.v1.SupplierAccountReply": {
        "type": "object",
        "properties": {
          "id": {
            "type": "integer",
            "format": "uint64",
            "x-go-type": "uint64"
          },
          "name": {
            "type": "string",
            "x-go-type": "string"
          },
          "api_key": {
            "type": "string",
            "x-go-type": "string"
          },
          "api_secret": {
            "type": "string",
            "description": "仅创建/重置时回显（一次）",
            "x-go-type": "string"
          },
          "contact": {
            "type": "string",
            "x-go-type": "string"
          },
          "status": {
            "type": "string",
            "description": "applying | approved | rejected | disabled",
            "x-go-type": "string"
          },
          "balance_cache": {
            "type": "integer",
            "format": "int64",
            "x-go-type": "int64"
          },
          "notify_url": {
            "type": "string",
            "x-go-type": "string"
          },
          "reviewed_at": {
            "type": "integer",
            "format": "int64",
            "x-go-type": "int64"
          },
          "created_at": {
            "type": "integer",
            "format": "int64",
            "x-go-type": "int64"
          },
          "protocol": {
            "type": "string",
            "description": "zcard | dujiao_next | acg_faka（对外供货协议； B/C）",
            "x-go-type": "string"
          },
          "display_name": {
            "type": "string",
            "description": "connect/ping 回显店铺名",
            "x-go-type": "string"
          },
          "owner_user_id": {
            "type": "integer",
            "format": "uint64",
            "description": "前台申请归属用户（0=admin 手动建号）",
            "x-go-type": "uint64"
          },
          "apply_reason": {
            "type": "string",
            "description": "申请理由（前台申请时填）",
            "x-go-type": "string"
          },
          "review_note": {
            "type": "string",
            "description": "审核意见/驳回理由",
            "x-go-type": "string"
          },
          "ip_whitelist": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "description": "IP 白名单（空=所有 IP 放行；精确 IP 或 CIDR）",
            "x-go-type": "[]string"
          }
        }
      },
      "zcard.api.admin.v1.SupplierCallback": {
        "type": "object",
        "properties": {
          "id": {
            "type": "integer",
            "format": "uint64",
            "x-go-type": "uint64"
          },
          "supply_order_id": {
            "type": "integer",
            "format": "uint64",
            "x-go-type": "uint64"
          },
          "account_id": {
            "type": "integer",
            "format": "uint64",
            "x-go-type": "uint64"
          },
          "downstream_order_no": {
            "type": "string",
            "x-go-type": "string"
          },
          "callback_url": {
            "type": "string",
            "x-go-type": "string"
          },
          "trace_id": {
            "type": "string",
            "x-go-type": "string"
          },
          "callback_status": {
            "type": "string",
            "description": "pending | success | failed",
            "x-go-type": "string"
          },
          "retry_count": {
            "type": "integer",
            "format": "int32",
            "x-go-type": "int32"
          },
          "last_callback_at": {
            "type": "integer",
            "format": "int64",
            "x-go-type": "int64"
          },
          "last_error": {
            "type": "string",
            "x-go-type": "string"
          }
        }
      },
      "zcard.api.admin.v1.SupplierLedgerEntry": {
        "type": "object",
        "properties": {
          "id": {
            "type": "integer",
            "format": "uint64",
            "x-go-type": "uint64"
          },
          "account_id": {
            "type": "integer",
            "format": "uint64",
            "x-go-type": "uint64"
          },
          "supply_order_id": {
            "type": "integer",
            "format": "uint64",
            "x-go-type": "uint64"
          },
          "type": {
            "type": "string",
            "description": "recharge | supply_pay | supply_refund | adjust",
            "x-go-type": "string"
          },
          "amount": {
            "type": "integer",
            "format": "int64",
            "description": "有符号分",
            "x-go-type": "int64"
          },
          "reference": {
            "type": "string",
            "x-go-type": "string"
          },
          "remark": {
            "type": "string",
            "x-go-type": "string"
          },
          "created_at": {
            "type": "integer",
            "format": "int64",
            "x-go-type": "int64"
          }
        }
      },
      "zcard.api.admin.v1.SupplierPriceItem": {
        "type": "object",
        "properties": {
          "id": {
            "type": "integer",
            "format": "uint64",
            "x-go-type": "uint64"
          },
          "product_id": {
            "type": "integer",
            "format": "uint64",
            "x-go-type": "uint64"
          },
          "sku_id": {
            "type": "integer",
            "format": "uint64",
            "description": "0 = 商品级默认价",
            "x-go-type": "uint64"
          },
          "price": {
            "type": "integer",
            "format": "int64",
            "description": "分",
            "x-go-type": "int64"
          },
          "updated_at": {
            "type": "integer",
            "format": "int64",
            "x-go-type": "int64"
          },
          "scope": {
            "type": "string",
            "x-go-type": "string"
          },
          "category_id": {
            "type": "integer",
            "format": "uint64",
            "x-go-type": "uint64"
          },
          "discount_bps": {
            "type": "integer",
            "format": "int32",
            "x-go-type": "int32"
          },
          "product_name": {
            "type": "string",
            "x-go-type": "string"
          },
          "category_name": {
            "type": "string",
            "x-go-type": "string"
          },
          "sku_name": {
            "type": "string",
            "x-go-type": "string"
          }
        }
      },
      "zcard.api.admin.v1.SupplyConnection": {
        "type": "object",
        "properties": {
          "id": {
            "type": "integer",
            "format": "uint64",
            "x-go-type": "uint64"
          },
          "name": {
            "type": "string",
            "x-go-type": "string"
          },
          "driver": {
            "type": "string",
            "description": "zcard | dujiao_next | acg_faka",
            "x-go-type": "string"
          },
          "base_url": {
            "type": "string",
            "x-go-type": "string"
          },
          "credentials_set": {
            "type": "boolean",
            "description": "凭据已配置（密文不回显）",
            "x-go-type": "bool"
          },
          "status": {
            "type": "string",
            "description": "active | disabled",
            "x-go-type": "string"
          },
          "callback_url": {
            "type": "string",
            "x-go-type": "string"
          },
          "retry_max": {
            "type": "integer",
            "format": "int32",
            "x-go-type": "int32"
          },
          "retry_intervals": {
            "type": "string",
            "description": "JSON 数组 [30,60,300]",
            "x-go-type": "string"
          },
          "exchange_rate": {
            "type": "number",
            "format": "double",
            "x-go-type": "float64"
          },
          "price_markup_percent": {
            "type": "number",
            "format": "double",
            "x-go-type": "float64"
          },
          "price_rounding_mode": {
            "type": "string",
            "description": "none | ceil_int | ceil_tenth",
            "x-go-type": "string"
          },
          "auto_sync_price": {
            "type": "boolean",
            "x-go-type": "bool"
          },
          "stock_mode": {
            "type": "string",
            "description": "real | plenty",
            "x-go-type": "string"
          },
          "settings": {
            "type": "string",
            "description": "JSON",
            "x-go-type": "string"
          },
          "low_stock_scanned_at": {
            "type": "integer",
            "format": "int64",
            "x-go-type": "int64"
          },
          "low_stock_message": {
            "type": "string",
            "x-go-type": "string"
          },
          "price_markup_amount": {
            "type": "integer",
            "format": "int64",
            "description": "固定加价（分；与加价% 组合：×(1+%) 后再加）",
            "x-go-type": "int64"
          },
          "last_ping_at": {
            "type": "integer",
            "format": "int64",
            "x-go-type": "int64"
          },
          "last_ping_ok": {
            "type": "boolean",
            "x-go-type": "bool"
          },
          "last_synced_at": {
            "type": "integer",
            "format": "int64",
            "x-go-type": "int64"
          },
          "last_error": {
            "type": "string",
            "x-go-type": "string"
          },
          "balance_cache": {
            "type": "integer",
            "format": "int64",
            "x-go-type": "int64"
          },
          "created_at": {
            "type": "integer",
            "format": "int64",
            "x-go-type": "int64"
          },
          "updated_at": {
            "type": "integer",
            "format": "int64",
            "x-go-type": "int64"
          },
          "last_collect_at": {
            "type": "integer",
            "description": "S2/S3：调度锚点与限流状态（界面展示/倒计时）",
            "format": "int64",
            "x-go-type": "int64"
          },
          "last_price_sync_at": {
            "type": "integer",
            "format": "int64",
            "x-go-type": "int64"
          },
          "last_status_sync_at": {
            "type": "integer",
            "format": "int64",
            "x-go-type": "int64"
          },
          "rate_state": {
            "type": "string",
            "description": "JSON（节奏器状态：当前间隔/封锁计数/冷却时长）",
            "x-go-type": "string"
          },
          "rate_limit_until": {
            "type": "integer",
            "format": "int64",
            "description": "熔断冷却截止（秒；0=未熔断）",
            "x-go-type": "int64"
          }
        }
      },
      "zcard.api.admin.v1.SupplyImportItem": {
        "type": "object",
        "properties": {
          "code": {
            "type": "string",
            "x-go-type": "string"
          },
          "name": {
            "type": "string",
            "x-go-type": "string"
          },
          "state": {
            "type": "string",
            "x-go-type": "string"
          },
          "stage": {
            "type": "string",
            "x-go-type": "string"
          },
          "saved": {
            "type": "boolean",
            "x-go-type": "bool"
          },
          "created": {
            "type": "boolean",
            "x-go-type": "bool"
          },
          "attempts": {
            "type": "integer",
            "format": "int32",
            "x-go-type": "int32"
          },
          "next_retry_at": {
            "type": "integer",
            "format": "int64",
            "x-go-type": "int64"
          },
          "error_code": {
            "type": "string",
            "x-go-type": "string"
          },
          "error_summary": {
            "type": "string",
            "x-go-type": "string"
          }
        }
      },
      "zcard.api.admin.v1.SupplyMapping": {
        "type": "object",
        "properties": {
          "id": {
            "type": "integer",
            "format": "uint64",
            "x-go-type": "uint64"
          },
          "connection_id": {
            "type": "integer",
            "format": "uint64",
            "x-go-type": "uint64"
          },
          "upstream_category": {
            "type": "string",
            "x-go-type": "string"
          },
          "local_category_id": {
            "type": "integer",
            "format": "uint64",
            "x-go-type": "uint64"
          },
          "upstream_product": {
            "type": "string",
            "x-go-type": "string"
          },
          "local_product_id": {
            "type": "integer",
            "format": "uint64",
            "x-go-type": "uint64"
          },
          "upstream_sku": {
            "type": "string",
            "x-go-type": "string"
          },
          "local_sku_id": {
            "type": "integer",
            "format": "uint64",
            "x-go-type": "uint64"
          },
          "up_stock": {
            "type": "integer",
            "format": "int32",
            "description": "-1 = 无限",
            "x-go-type": "int32"
          },
          "pricing_override": {
            "type": "string",
            "description": "JSON",
            "x-go-type": "string"
          },
          "created_at": {
            "type": "integer",
            "format": "int64",
            "x-go-type": "int64"
          },
          "updated_at": {
            "type": "integer",
            "format": "int64",
            "x-go-type": "int64"
          }
        }
      },
      "zcard.api.admin.v1.SupplySyncTask": {
        "type": "object",
        "properties": {
          "id": {
            "type": "integer",
            "format": "uint64",
            "x-go-type": "uint64"
          },
          "connection_id": {
            "type": "integer",
            "format": "uint64",
            "x-go-type": "uint64"
          },
          "mode": {
            "type": "string",
            "description": "full | incremental",
            "x-go-type": "string"
          },
          "scope": {
            "type": "string",
            "description": "collect | price | status（空 = collect 兼容历史任务）",
            "x-go-type": "string"
          },
          "force_reprice": {
            "type": "boolean",
            "x-go-type": "bool"
          },
          "status": {
            "type": "string",
            "description": "pending | processing | done | failed | canceled",
            "x-go-type": "string"
          },
          "total": {
            "type": "integer",
            "format": "int64",
            "x-go-type": "int64"
          },
          "processed": {
            "type": "integer",
            "format": "int64",
            "x-go-type": "int64"
          },
          "created": {
            "type": "integer",
            "format": "int64",
            "x-go-type": "int64"
          },
          "updated": {
            "type": "integer",
            "format": "int64",
            "x-go-type": "int64"
          },
          "price_updated": {
            "type": "integer",
            "format": "int64",
            "x-go-type": "int64"
          },
          "manual_skipped": {
            "type": "integer",
            "format": "int64",
            "x-go-type": "int64"
          },
          "hidden": {
            "type": "integer",
            "format": "int64",
            "x-go-type": "int64"
          },
          "deleted": {
            "type": "integer",
            "format": "int64",
            "x-go-type": "int64"
          },
          "error_code": {
            "type": "string",
            "x-go-type": "string"
          },
          "error_context": {
            "type": "string",
            "x-go-type": "string"
          },
          "started_at": {
            "type": "integer",
            "format": "int64",
            "x-go-type": "int64"
          },
          "heartbeat_at": {
            "type": "integer",
            "format": "int64",
            "x-go-type": "int64"
          },
          "current_stage": {
            "type": "string",
            "x-go-type": "string"
          },
          "page": {
            "type": "integer",
            "format": "int32",
            "x-go-type": "int32"
          },
          "cancel_requested_at": {
            "type": "integer",
            "format": "int64",
            "x-go-type": "int64"
          },
          "finished_at": {
            "type": "integer",
            "format": "int64",
            "x-go-type": "int64"
          },
          "failed_count": {
            "type": "integer",
            "format": "int64",
            "x-go-type": "int64"
          },
          "pending_count": {
            "type": "integer",
            "format": "int64",
            "x-go-type": "int64"
          },
          "retrying_count": {
            "type": "integer",
            "format": "int64",
            "x-go-type": "int64"
          },
          "stock_pending_count": {
            "type": "integer",
            "format": "int64",
            "description": "已保存商品的子集",
            "x-go-type": "int64"
          },
          "stock_failed_count": {
            "type": "integer",
            "format": "int64",
            "x-go-type": "int64"
          },
          "next_retry_at": {
            "type": "integer",
            "format": "int64",
            "x-go-type": "int64"
          }
        }
      },
      "zcard.api.admin.v1.Tag": {
        "type": "object",
        "properties": {
          "id": {
            "type": "integer",
            "format": "uint64",
            "x-go-type": "uint64"
          },
          "name": {
            "type": "string",
            "x-go-type": "string"
          },
          "slug": {
            "type": "string",
            "x-go-type": "string"
          },
          "icon": {
            "type": "string",
            "x-go-type": "string"
          },
          "color": {
            "type": "string",
            "x-go-type": "string"
          },
          "position": {
            "type": "string",
            "x-go-type": "string"
          },
          "hide": {
            "type": "boolean",
            "x-go-type": "bool"
          }
        }
      },
      "zcard.api.admin.v1.TagList": {
        "type": "object",
        "properties": {
          "tags": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/zcard.api.admin.v1.Tag"
            },
            "x-go-type": "[]*Tag"
          }
        }
      },
      "zcard.api.admin.v1.TemplateItem": {
        "type": "object",
        "properties": {
          "key": {
            "type": "string",
            "description": "模板目录名（settings.template.pc_template 存该值）",
            "x-go-type": "string"
          },
          "name": {
            "type": "string",
            "description": "显示名称",
            "x-go-type": "string"
          },
          "desc": {
            "type": "string",
            "description": "描述",
            "x-go-type": "string"
          },
          "preview": {
            "type": "string",
            "description": "预览图 URL（可空）",
            "x-go-type": "string"
          },
          "author": {
            "type": "string",
            "description": "作者",
            "x-go-type": "string"
          },
          "version": {
            "type": "string",
            "description": "版本号",
            "x-go-type": "string"
          }
        },
        "description": "TemplateItem 可用模板。"
      },
      "zcard.api.admin.v1.TemplateList": {
        "type": "object",
        "properties": {
          "templates": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/zcard.api.admin.v1.TemplateItem"
            },
            "x-go-type": "[]*TemplateItem"
          }
        }
      },
      "zcard.api.admin.v1.TestInstallConnectionReply": {
        "type": "object",
        "properties": {
          "ok": {
            "type": "boolean",
            "x-go-type": "bool"
          },
          "message": {
            "type": "string",
            "description": "失败原因（连接/权限/库创建）",
            "x-go-type": "string"
          }
        }
      },
      "zcard.api.admin.v1.TestInstallConnectionRequest": {
        "type": "object",
        "properties": {
          "dialect": {
            "type": "string",
            "description": "mysql | postgres（sqlite 无需测试）",
            "x-go-type": "string"
          },
          "db_host": {
            "type": "string",
            "x-go-type": "string"
          },
          "db_port": {
            "type": "integer",
            "format": "int32",
            "x-go-type": "int32"
          },
          "db_user": {
            "type": "string",
            "x-go-type": "string"
          },
          "db_password": {
            "type": "string",
            "x-go-type": "string"
          },
          "db_name": {
            "type": "string",
            "x-go-type": "string"
          },
          "redis_addr": {
            "type": "string",
            "description": "mysql/postgres 必填",
            "x-go-type": "string"
          },
          "redis_password": {
            "type": "string",
            "x-go-type": "string"
          }
        }
      },
      "zcard.api.admin.v1.TestTelegramReply": {
        "type": "object",
        "properties": {
          "log_ids": {
            "type": "array",
            "items": {
              "type": "integer",
              "format": "uint64"
            },
            "x-go-type": "[]uint64"
          }
        }
      },
      "zcard.api.admin.v1.TestTelegramRequest": {
        "type": "object",
        "properties": {
          "chat_id": {
            "type": "string",
            "description": "Empty retains the legacy test-all behavior.",
            "x-go-type": "string"
          },
          "topic_id": {
            "type": "integer",
            "format": "int64",
            "x-go-type": "int64"
          }
        }
      },
      "zcard.api.admin.v1.ThemePreviewReply": {
        "type": "object",
        "properties": {
          "url": {
            "type": "string",
            "x-go-type": "string"
          },
          "expires_at": {
            "type": "integer",
            "format": "int64",
            "x-go-type": "int64"
          }
        }
      },
      "zcard.api.admin.v1.ThemeSettingsReply": {
        "type": "object",
        "properties": {
          "state_json": {
            "type": "string",
            "x-go-type": "string"
          }
        }
      },
      "zcard.api.admin.v1.TicketNoRequest": {
        "required": [
          "ticket_no"
        ],
        "type": "object",
        "properties": {
          "ticket_no": {
            "type": "string",
            "x-go-type": "string"
          }
        }
      },
      "zcard.api.admin.v1.ToggleAdminRequest": {
        "required": [
          "id"
        ],
        "type": "object",
        "properties": {
          "id": {
            "type": "integer",
            "format": "uint64",
            "x-go-type": "uint64"
          },
          "enabled": {
            "type": "boolean",
            "description": "不标 REQUIRED:false=禁用是合法值(零值会被当未传拒绝,同 batch-status status 坑)",
            "x-go-type": "bool"
          }
        }
      },
      "zcard.api.admin.v1.ToggleCardRequest": {
        "required": [
          "id",
          "enable"
        ],
        "type": "object",
        "properties": {
          "id": {
            "type": "integer",
            "format": "uint64",
            "x-go-type": "uint64"
          },
          "enable": {
            "type": "boolean",
            "x-go-type": "bool"
          }
        }
      },
      "zcard.api.admin.v1.ToggleSupplierAccountRequest": {
        "required": [
          "id"
        ],
        "type": "object",
        "properties": {
          "id": {
            "type": "integer",
            "format": "uint64",
            "x-go-type": "uint64"
          },
          "enabled": {
            "type": "boolean",
            "x-go-type": "bool"
          }
        }
      },
      "zcard.api.admin.v1.TrafficPoint": {
        "type": "object",
        "properties": {
          "date": {
            "type": "string",
            "description": "yyyy-mm-dd",
            "x-go-type": "string"
          },
          "pv": {
            "type": "integer",
            "format": "int64",
            "description": "访问量",
            "x-go-type": "int64"
          },
          "uv": {
            "type": "integer",
            "format": "int64",
            "description": "独立访客（按 IP 去重）",
            "x-go-type": "int64"
          }
        }
      },
      "zcard.api.admin.v1.UpdateAdminRequest": {
        "required": [
          "id"
        ],
        "type": "object",
        "properties": {
          "id": {
            "type": "integer",
            "format": "uint64",
            "x-go-type": "uint64"
          },
          "nickname": {
            "type": "string",
            "x-go-type": "string"
          },
          "avatar": {
            "type": "string",
            "x-go-type": "string"
          },
          "role_id": {
            "type": "integer",
            "format": "uint64",
            "x-go-type": "uint64"
          },
          "remark": {
            "type": "string",
            "x-go-type": "string"
          }
        }
      },
      "zcard.api.admin.v1.UpdateBannerRequest": {
        "required": [
          "id"
        ],
        "type": "object",
        "properties": {
          "id": {
            "type": "integer",
            "format": "uint64",
            "x-go-type": "uint64"
          },
          "name": {
            "type": "string",
            "x-go-type": "string"
          },
          "position": {
            "type": "string",
            "x-go-type": "string"
          },
          "title_json": {
            "type": "string",
            "x-go-type": "string"
          },
          "image": {
            "type": "string",
            "x-go-type": "string"
          },
          "mobile_image": {
            "type": "string",
            "x-go-type": "string"
          },
          "link_type": {
            "type": "string",
            "x-go-type": "string"
          },
          "link_value": {
            "type": "string",
            "x-go-type": "string"
          },
          "is_active": {
            "type": "boolean",
            "x-go-type": "bool"
          },
          "start_at": {
            "type": "integer",
            "format": "int64",
            "x-go-type": "int64"
          },
          "end_at": {
            "type": "integer",
            "format": "int64",
            "x-go-type": "int64"
          },
          "sort": {
            "type": "integer",
            "format": "int32",
            "x-go-type": "int32"
          }
        }
      },
      "zcard.api.admin.v1.UpdateCategoryRequest": {
        "required": [
          "id"
        ],
        "type": "object",
        "properties": {
          "id": {
            "type": "integer",
            "format": "uint64",
            "x-go-type": "uint64"
          },
          "name": {
            "type": "string",
            "description": "非空才更新",
            "x-go-type": "string"
          },
          "icon": {
            "type": "string",
            "description": "图标（optional：缺省=不变；显式空串=清除）",
            "x-go-type": "*string"
          },
          "hide": {
            "type": "boolean",
            "description": "隐藏状态（optional：未传保持不变，避免只改排序/名称时误取消隐藏）",
            "x-go-type": "*bool"
          },
          "sort": {
            "type": "integer",
            "description": "排序（optional：缺省不变——曾用 int32「>=0 即更新」把只改名的请求重置排序）",
            "format": "int32",
            "x-go-type": "*int32"
          },
          "parent_id": {
            "type": "string",
            "description": "父分类（optional：缺省不变；0 = 顶级；>0 = 指定父，防环校验）",
            "x-go-type": "*int64"
          }
        }
      },
      "zcard.api.admin.v1.UpdateChannelRequest": {
        "required": [
          "id"
        ],
        "type": "object",
        "properties": {
          "id": {
            "type": "integer",
            "format": "uint64",
            "x-go-type": "uint64"
          },
          "name": {
            "type": "string",
            "x-go-type": "string"
          },
          "config_json": {
            "type": "string",
            "description": "**** = 未修改",
            "x-go-type": "string"
          },
          "fee": {
            "type": "string",
            "x-go-type": "*int64"
          },
          "fee_type": {
            "type": "string",
            "description": "percent | fixed；空=不修改",
            "x-go-type": "string"
          },
          "enabled": {
            "type": "boolean",
            "x-go-type": "*bool"
          },
          "sort": {
            "type": "integer",
            "format": "int32",
            "x-go-type": "*int32"
          },
          "icon": {
            "type": "string",
            "description": "有值=更新（空串=清除）；缺省=不修改",
            "x-go-type": "*string"
          },
          "methods_json": {
            "type": "string",
            "description": "支付方式列表 JSON；缺省=不修改",
            "x-go-type": "*string"
          },
          "allow_purchase": {
            "type": "boolean",
            "x-go-type": "*bool"
          },
          "allow_member_recharge": {
            "type": "boolean",
            "x-go-type": "*bool"
          },
          "allow_supply_recharge": {
            "type": "boolean",
            "x-go-type": "*bool"
          },
          "fee_bearer": {
            "type": "string",
            "x-go-type": "*string"
          },
          "recommended": {
            "type": "boolean",
            "x-go-type": "*bool"
          },
          "recommend_label": {
            "type": "string",
            "x-go-type": "*string"
          },
          "recommend_description": {
            "type": "string",
            "x-go-type": "*string"
          }
        }
      },
      "zcard.api.admin.v1.UpdateCheckResult": {
        "type": "object",
        "properties": {
          "current_version": {
            "type": "string",
            "x-go-type": "string"
          },
          "latest_version": {
            "type": "string",
            "x-go-type": "string"
          },
          "has_update": {
            "type": "boolean",
            "x-go-type": "bool"
          },
          "notes": {
            "type": "string",
            "x-go-type": "string"
          },
          "channel": {
            "type": "string",
            "x-go-type": "string"
          },
          "source": {
            "type": "string",
            "x-go-type": "string"
          },
          "history": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/zcard.api.admin.v1.ReleaseNoteEntry"
            },
            "description": "历史版本 changelog",
            "x-go-type": "[]*ReleaseNoteEntry"
          }
        }
      },
      "zcard.api.admin.v1.UpdateConnectionRequest": {
        "required": [
          "id"
        ],
        "type": "object",
        "properties": {
          "id": {
            "type": "integer",
            "format": "uint64",
            "x-go-type": "uint64"
          },
          "name": {
            "type": "string",
            "x-go-type": "string"
          },
          "base_url": {
            "type": "string",
            "x-go-type": "string"
          },
          "credentials": {
            "type": "string",
            "description": "留空 = 不更新",
            "x-go-type": "string"
          },
          "callback_url": {
            "type": "string",
            "x-go-type": "string"
          },
          "retry_max": {
            "type": "integer",
            "format": "int32",
            "x-go-type": "int32"
          },
          "retry_intervals": {
            "type": "string",
            "x-go-type": "string"
          },
          "exchange_rate": {
            "type": "number",
            "format": "double",
            "x-go-type": "*float64"
          },
          "price_markup_percent": {
            "type": "number",
            "format": "double",
            "x-go-type": "*float64"
          },
          "price_rounding_mode": {
            "type": "string",
            "x-go-type": "string"
          },
          "auto_sync_price": {
            "type": "boolean",
            "x-go-type": "*bool"
          },
          "stock_mode": {
            "type": "string",
            "x-go-type": "string"
          },
          "status": {
            "type": "string",
            "x-go-type": "string"
          },
          "settings": {
            "type": "string",
            "description": "JSON（定时计划/导入默认价；非空整体替换）",
            "x-go-type": "string"
          },
          "price_markup_amount": {
            "type": "string",
            "description": "固定加价（分）",
            "x-go-type": "*int64"
          }
        }
      },
      "zcard.api.admin.v1.UpdateControlRequest": {
        "required": [
          "id"
        ],
        "type": "object",
        "properties": {
          "placeholder": {
            "type": "string",
            "x-go-type": "string"
          },
          "validation": {
            "type": "string",
            "x-go-type": "string"
          },
          "max_length": {
            "type": "integer",
            "format": "int32",
            "x-go-type": "*int32"
          },
          "id": {
            "type": "integer",
            "format": "uint64",
            "x-go-type": "uint64"
          },
          "name": {
            "type": "string",
            "x-go-type": "string"
          },
          "type": {
            "type": "string",
            "x-go-type": "string"
          },
          "required": {
            "type": "boolean",
            "x-go-type": "bool"
          },
          "options": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "x-go-type": "[]string"
          },
          "sort": {
            "type": "integer",
            "format": "int32",
            "x-go-type": "int32"
          }
        }
      },
      "zcard.api.admin.v1.UpdateCurrencyRequest": {
        "required": [
          "code"
        ],
        "type": "object",
        "properties": {
          "code": {
            "type": "string",
            "x-go-type": "string"
          },
          "symbol": {
            "type": "string",
            "x-go-type": "string"
          },
          "position": {
            "type": "string",
            "x-go-type": "string"
          },
          "precision": {
            "type": "integer",
            "format": "int32",
            "x-go-type": "*int32"
          },
          "rate_json": {
            "type": "string",
            "x-go-type": "string"
          },
          "enabled": {
            "type": "boolean",
            "x-go-type": "*bool"
          },
          "sort": {
            "type": "integer",
            "format": "int32",
            "x-go-type": "*int32"
          }
        }
      },
      "zcard.api.admin.v1.UpdateMemberGroupRequest": {
        "required": [
          "id"
        ],
        "type": "object",
        "properties": {
          "id": {
            "type": "integer",
            "format": "uint64",
            "x-go-type": "uint64"
          },
          "name": {
            "type": "string",
            "x-go-type": "string"
          },
          "product_ids": {
            "type": "array",
            "items": {
              "type": "integer",
              "format": "uint64"
            },
            "x-go-type": "[]uint64"
          },
          "discount": {
            "type": "integer",
            "format": "int32",
            "x-go-type": "int32"
          },
          "stack_member": {
            "type": "boolean",
            "x-go-type": "bool"
          },
          "stack_coupon": {
            "type": "boolean",
            "x-go-type": "bool"
          },
          "badge_style": {
            "type": "string",
            "x-go-type": "string"
          }
        }
      },
      "zcard.api.admin.v1.UpdateMemberLevelRequest": {
        "type": "object",
        "properties": {
          "acquire_mode": {
            "type": "string",
            "x-go-type": "string"
          },
          "display_mode": {
            "type": "string",
            "x-go-type": "string"
          },
          "id": {
            "type": "integer",
            "format": "uint64",
            "x-go-type": "uint64"
          },
          "name": {
            "type": "string",
            "x-go-type": "string"
          },
          "discount": {
            "type": "integer",
            "format": "int32",
            "x-go-type": "int32"
          },
          "sort": {
            "type": "integer",
            "format": "int32",
            "x-go-type": "int32"
          },
          "enabled": {
            "type": "boolean",
            "x-go-type": "bool"
          },
          "points_rule_json": {
            "type": "string",
            "x-go-type": "string"
          }
        }
      },
      "zcard.api.admin.v1.UpdatePostCategoryRequest": {
        "required": [
          "id"
        ],
        "type": "object",
        "properties": {
          "id": {
            "type": "integer",
            "format": "uint64",
            "x-go-type": "uint64"
          },
          "name": {
            "type": "string",
            "x-go-type": "string"
          },
          "sort": {
            "type": "integer",
            "format": "int32",
            "x-go-type": "int32"
          }
        }
      },
      "zcard.api.admin.v1.UpdatePostRequest": {
        "required": [
          "id"
        ],
        "type": "object",
        "properties": {
          "id": {
            "type": "integer",
            "format": "uint64",
            "x-go-type": "uint64"
          },
          "title_json": {
            "type": "string",
            "x-go-type": "string"
          },
          "summary_json": {
            "type": "string",
            "x-go-type": "string"
          },
          "content_json": {
            "type": "string",
            "x-go-type": "string"
          },
          "thumbnail": {
            "type": "string",
            "x-go-type": "string"
          },
          "category_id": {
            "type": "integer",
            "format": "uint64",
            "x-go-type": "uint64"
          },
          "sort": {
            "type": "integer",
            "format": "int32",
            "description": "未传保留原值，允许重置为 0",
            "x-go-type": "*int32"
          }
        }
      },
      "zcard.api.admin.v1.UpdateProductRequest": {
        "required": [
          "id"
        ],
        "type": "object",
        "properties": {
          "fulfillment_mode": {
            "type": "string",
            "x-go-type": "string"
          },
          "manual_stock": {
            "type": "string",
            "x-go-type": "*int64"
          },
          "id": {
            "type": "integer",
            "format": "uint64",
            "x-go-type": "uint64"
          },
          "name": {
            "type": "string",
            "x-go-type": "string"
          },
          "category_id": {
            "type": "integer",
            "format": "uint64",
            "x-go-type": "uint64"
          },
          "description": {
            "type": "string",
            "x-go-type": "string"
          },
          "cover": {
            "type": "string",
            "x-go-type": "string"
          },
          "images": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "x-go-type": "[]string"
          },
          "price_cents": {
            "type": "integer",
            "format": "int64",
            "x-go-type": "int64"
          },
          "factory_price_cents": {
            "type": "integer",
            "format": "int64",
            "x-go-type": "int64"
          },
          "delivery_mode": {
            "type": "string",
            "x-go-type": "string"
          },
          "stock_visible": {
            "type": "boolean",
            "x-go-type": "bool"
          },
          "sort": {
            "type": "integer",
            "format": "int32",
            "x-go-type": "int32"
          },
          "status": {
            "type": "integer",
            "format": "int32",
            "x-go-type": "int32"
          },
          "points_required": {
            "type": "integer",
            "description": "积分兑换价（0=不参与积分商城；）",
            "format": "int64",
            "x-go-type": "int64"
          },
          "direct_content": {
            "type": "string",
            "description": "直发内容明文（空=保持不变；url/code 商品加密存储）",
            "x-go-type": "string"
          },
          "is_recommend": {
            "type": "boolean",
            "description": "运营推荐（storefront 首页推荐位；PUT 全量语义，含 false=取消推荐）",
            "x-go-type": "bool"
          },
          "stock_type": {
            "type": "string",
            "description": "空值保留原类型；card | url | code",
            "x-go-type": "string"
          }
        }
      },
      "zcard.api.admin.v1.UpdateRolePermissionsRequest": {
        "required": [
          "id",
          "permissions"
        ],
        "type": "object",
        "properties": {
          "id": {
            "type": "integer",
            "format": "uint64",
            "x-go-type": "uint64"
          },
          "permissions": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "x-go-type": "[]string"
          }
        }
      },
      "zcard.api.admin.v1.UpdateRoleRequest": {
        "required": [
          "id"
        ],
        "type": "object",
        "properties": {
          "id": {
            "type": "integer",
            "format": "uint64",
            "x-go-type": "uint64"
          },
          "name": {
            "type": "string",
            "x-go-type": "string"
          },
          "description": {
            "type": "string",
            "x-go-type": "string"
          }
        }
      },
      "zcard.api.admin.v1.UpdateSettingRequest": {
        "required": [
          "group",
          "key",
          "value_json"
        ],
        "type": "object",
        "properties": {
          "group": {
            "type": "string",
            "x-go-type": "string"
          },
          "key": {
            "type": "string",
            "x-go-type": "string"
          },
          "value_json": {
            "type": "string",
            "description": "任意 JSON 文档（对象/数组/标量均可），服务端原样存储",
            "x-go-type": "string"
          }
        }
      },
      "zcard.api.admin.v1.UpdateSettingsReply": {
        "type": "object",
        "properties": {
          "updated": {
            "type": "integer",
            "format": "int32",
            "x-go-type": "int32"
          },
          "admin_base_path": {
            "type": "string",
            "description": "Effective private entry after changing site.admin_path; omitted for other saves.",
            "x-go-type": "string"
          }
        }
      },
      "zcard.api.admin.v1.UpdateSettingsRequest": {
        "type": "object",
        "properties": {
          "items": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/zcard.api.admin.v1.SettingUpdate"
            },
            "x-go-type": "[]*SettingUpdate"
          }
        },
        "description": "UpdateSettingsRequest 批量更新项。"
      },
      "zcard.api.admin.v1.UpdateSkuRequest": {
        "required": [
          "id"
        ],
        "type": "object",
        "properties": {
          "fulfillment_mode": {
            "type": "string",
            "x-go-type": "string"
          },
          "id": {
            "type": "integer",
            "format": "uint64",
            "x-go-type": "uint64"
          },
          "name": {
            "type": "string",
            "x-go-type": "string"
          },
          "spec_values": {
            "type": "object",
            "additionalProperties": {
              "type": "string"
            },
            "x-go-type": "map[string]string"
          },
          "price_cents": {
            "type": "string",
            "x-go-type": "*int64"
          },
          "cost_cents": {
            "type": "string",
            "x-go-type": "*int64"
          },
          "stock_offset": {
            "type": "integer",
            "format": "int32",
            "x-go-type": "*int32"
          },
          "upstream_sku_id": {
            "type": "string",
            "x-go-type": "string"
          }
        }
      },
      "zcard.api.admin.v1.UpdateStatus": {
        "type": "object",
        "properties": {
          "phase": {
            "type": "string",
            "description": "idle|checking|backing_up|downloading|applying|restarting|verifying|rolled_back|failed",
            "x-go-type": "string"
          },
          "current_version": {
            "type": "string",
            "x-go-type": "string"
          },
          "target_version": {
            "type": "string",
            "x-go-type": "string"
          },
          "progress_percent": {
            "type": "integer",
            "format": "int32",
            "description": "downloading 阶段 0-100",
            "x-go-type": "int32"
          },
          "error_message": {
            "type": "string",
            "x-go-type": "string"
          },
          "source": {
            "type": "string",
            "description": "生效源展示：github | <accel 前缀> | static:<base>",
            "x-go-type": "string"
          },
          "mode": {
            "type": "string",
            "description": "配置模式 auto|github|accel|static",
            "x-go-type": "string"
          },
          "supervisor_kind": {
            "type": "string",
            "description": "systemd | supervisord | none（none=裸跑，UI 警示）",
            "x-go-type": "string"
          },
          "has_update": {
            "type": "boolean",
            "x-go-type": "bool"
          },
          "notes": {
            "type": "string",
            "description": "最近一次 check 的 changelog markdown",
            "x-go-type": "string"
          },
          "latest_version": {
            "type": "string",
            "x-go-type": "string"
          },
          "checked_at": {
            "type": "string",
            "description": "RFC3339",
            "x-go-type": "string"
          },
          "backup_dir": {
            "type": "string",
            "description": "本次更新备份目录",
            "x-go-type": "string"
          },
          "busy": {
            "type": "boolean",
            "description": "更新链进行中（apply 单飞互斥）",
            "x-go-type": "bool"
          },
          "history": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/zcard.api.admin.v1.ReleaseNoteEntry"
            },
            "description": "历史版本 changelog（manifest 权威源）",
            "x-go-type": "[]*ReleaseNoteEntry"
          },
          "backup_ready": {
            "type": "boolean",
            "description": "备份工具就绪（缺 pg_dump/mysqldump 时 false）",
            "x-go-type": "bool"
          },
          "backup_hint": {
            "type": "string",
            "description": "缺失时的事前安装指引",
            "x-go-type": "string"
          },
          "prev_version": {
            "type": "string",
            "description": "上一次版本（最近一次更新的起点，持久保存）",
            "x-go-type": "string"
          }
        }
      },
      "zcard.api.admin.v1.UploadMediaRequest": {
        "required": [
          "name",
          "data_base64"
        ],
        "type": "object",
        "properties": {
          "name": {
            "type": "string",
            "description": "原始文件名（含扩展名）",
            "x-go-type": "string"
          },
          "content_type": {
            "type": "string",
            "description": "声明 MIME（可空——魔数兜底）",
            "x-go-type": "string"
          },
          "data_base64": {
            "type": "string",
            "x-go-type": "string"
          },
          "category_id": {
            "type": "integer",
            "format": "uint64",
            "x-go-type": "uint64"
          }
        }
      },
      "zcard.api.admin.v1.UpsertMappingRequest": {
        "required": [
          "connection_id",
          "upstream_product"
        ],
        "type": "object",
        "properties": {
          "connection_id": {
            "type": "integer",
            "format": "uint64",
            "x-go-type": "uint64"
          },
          "upstream_category": {
            "type": "string",
            "x-go-type": "string"
          },
          "local_category_id": {
            "type": "integer",
            "format": "uint64",
            "x-go-type": "uint64"
          },
          "upstream_product": {
            "type": "string",
            "x-go-type": "string"
          },
          "local_product_id": {
            "type": "integer",
            "format": "uint64",
            "x-go-type": "uint64"
          },
          "upstream_sku": {
            "type": "string",
            "x-go-type": "string"
          },
          "local_sku_id": {
            "type": "integer",
            "format": "uint64",
            "x-go-type": "uint64"
          },
          "pricing_override": {
            "type": "string",
            "x-go-type": "string"
          }
        }
      },
      "zcard.api.admin.v1.UpsertNotifyTemplateRequest": {
        "required": [
          "event_type",
          "channel",
          "body_tpl"
        ],
        "type": "object",
        "properties": {
          "event_type": {
            "type": "string",
            "x-go-type": "string"
          },
          "channel": {
            "type": "string",
            "x-go-type": "string"
          },
          "locale": {
            "type": "string",
            "x-go-type": "string"
          },
          "subject_tpl": {
            "type": "string",
            "x-go-type": "string"
          },
          "body_tpl": {
            "type": "string",
            "x-go-type": "string"
          },
          "enabled": {
            "type": "boolean",
            "x-go-type": "bool"
          }
        }
      },
      "zcard.api.admin.v1.UpsertPricingRequest": {
        "required": [
          "subsite_id",
          "product_id",
          "mode",
          "value"
        ],
        "type": "object",
        "properties": {
          "subsite_id": {
            "type": "integer",
            "format": "uint64",
            "x-go-type": "uint64"
          },
          "product_id": {
            "type": "integer",
            "format": "uint64",
            "x-go-type": "uint64"
          },
          "sku_id": {
            "type": "integer",
            "format": "uint64",
            "x-go-type": "uint64"
          },
          "mode": {
            "type": "string",
            "description": "inherit | markup_percent | fixed_markup | fixed_price",
            "x-go-type": "string"
          },
          "value": {
            "type": "integer",
            "format": "int64",
            "description": "markup=万分比；fixed=分",
            "x-go-type": "int64"
          }
        }
      },
      "zcard.api.admin.v1.UpsertPromotionRequest": {
        "required": [
          "name",
          "type",
          "start_at",
          "end_at"
        ],
        "type": "object",
        "properties": {
          "id": {
            "type": "integer",
            "format": "uint64",
            "description": "0=创建",
            "x-go-type": "uint64"
          },
          "name": {
            "type": "string",
            "x-go-type": "string"
          },
          "scope_json": {
            "type": "string",
            "description": "{\"product_ids\":[1,2]} / {\"category_ids\":[3]} / 空=全场",
            "x-go-type": "string"
          },
          "type": {
            "type": "string",
            "description": "fixed | percent | special_price",
            "x-go-type": "string"
          },
          "threshold": {
            "type": "integer",
            "format": "int64",
            "description": "满 X（分）",
            "x-go-type": "int64"
          },
          "discount": {
            "type": "integer",
            "format": "int64",
            "description": "fixed=分；percent=万分比",
            "x-go-type": "int64"
          },
          "special_price": {
            "type": "integer",
            "format": "int64",
            "description": "special_price=分",
            "x-go-type": "int64"
          },
          "start_at": {
            "type": "integer",
            "format": "int64",
            "x-go-type": "int64"
          },
          "end_at": {
            "type": "integer",
            "format": "int64",
            "x-go-type": "int64"
          },
          "enabled": {
            "type": "boolean",
            "x-go-type": "bool"
          }
        },
        "description": "UpsertPromotion 创建/更新促销。"
      },
      "zcard.api.admin.v1.UpsertSupplierPriceRequest": {
        "required": [
          "account_id"
        ],
        "type": "object",
        "properties": {
          "account_id": {
            "type": "integer",
            "format": "uint64",
            "x-go-type": "uint64"
          },
          "product_id": {
            "type": "integer",
            "format": "uint64",
            "x-go-type": "uint64"
          },
          "sku_id": {
            "type": "integer",
            "format": "uint64",
            "x-go-type": "uint64"
          },
          "price": {
            "type": "integer",
            "format": "int64",
            "x-go-type": "int64"
          },
          "scope": {
            "type": "string",
            "description": "空或 product=专属价，category=分类折扣，global=整站折扣",
            "x-go-type": "string"
          },
          "category_id": {
            "type": "integer",
            "format": "uint64",
            "x-go-type": "uint64"
          },
          "discount_bps": {
            "type": "integer",
            "format": "int32",
            "description": "9000=9折，1..10000",
            "x-go-type": "int32"
          }
        }
      },
      "zcard.api.admin.v1.UserCouponItem": {
        "type": "object",
        "properties": {
          "id": {
            "type": "integer",
            "format": "uint64",
            "x-go-type": "uint64"
          },
          "title": {
            "type": "string",
            "x-go-type": "string"
          },
          "status": {
            "type": "string",
            "description": "unused | used | disabled",
            "x-go-type": "string"
          },
          "expires_at": {
            "type": "integer",
            "format": "int64",
            "description": "0=不限",
            "x-go-type": "int64"
          }
        },
        "description": "UserCouponItem 用户持有优惠券。"
      },
      "zcard.api.admin.v1.UserDetail": {
        "type": "object",
        "properties": {
          "user": {
            "$ref": "#/components/schemas/zcard.api.admin.v1.UserItem",
            "x-go-type": "*UserItem"
          },
          "coupons": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/zcard.api.admin.v1.UserCouponItem"
            },
            "description": "持有优惠券（最多 50）",
            "x-go-type": "[]*UserCouponItem"
          },
          "recent_orders": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/zcard.api.admin.v1.UserRecentOrder"
            },
            "description": "最近订单",
            "x-go-type": "[]*UserRecentOrder"
          },
          "inviter_username": {
            "type": "string",
            "description": "邀请人（无则空）",
            "x-go-type": "string"
          },
          "invitees_count": {
            "type": "integer",
            "format": "int64",
            "description": "直接下级数量",
            "x-go-type": "int64"
          }
        },
        "description": "UserDetail 用户详情（聚合视图）。"
      },
      "zcard.api.admin.v1.UserItem": {
        "type": "object",
        "properties": {
          "manual_level_id": {
            "type": "integer",
            "format": "uint64",
            "x-go-type": "uint64"
          },
          "referral_level_id": {
            "type": "integer",
            "format": "uint64",
            "x-go-type": "uint64"
          },
          "invite_level_id": {
            "type": "integer",
            "format": "uint64",
            "x-go-type": "uint64"
          },
          "referral_level_name": {
            "type": "string",
            "x-go-type": "string"
          },
          "invite_level_name": {
            "type": "string",
            "x-go-type": "string"
          },
          "level_source": {
            "type": "string",
            "description": "manual | referral | auto | none",
            "x-go-type": "string"
          },
          "promo_code": {
            "type": "string",
            "x-go-type": "string"
          },
          "id": {
            "type": "integer",
            "format": "uint64",
            "x-go-type": "uint64"
          },
          "username": {
            "type": "string",
            "x-go-type": "string"
          },
          "email": {
            "type": "string",
            "x-go-type": "string"
          },
          "status": {
            "type": "string",
            "description": "active | banned | deleted",
            "x-go-type": "string"
          },
          "last_login_at": {
            "type": "integer",
            "format": "int64",
            "x-go-type": "int64"
          },
          "created_at": {
            "type": "integer",
            "format": "int64",
            "x-go-type": "int64"
          },
          "level_id": {
            "type": "integer",
            "description": "会员等级（0=无等级）",
            "format": "uint64",
            "x-go-type": "uint64"
          },
          "level_name": {
            "type": "string",
            "x-go-type": "string"
          },
          "balance_cents": {
            "type": "integer",
            "format": "int64",
            "description": "钱包可用余额（分）",
            "x-go-type": "int64"
          },
          "points": {
            "type": "integer",
            "format": "int32",
            "description": "积分余额",
            "x-go-type": "int32"
          },
          "order_count": {
            "type": "integer",
            "format": "int64",
            "description": "全部订单数",
            "x-go-type": "int64"
          },
          "spent_cents": {
            "type": "integer",
            "format": "int64",
            "description": "累计消费（已支付订单总额，分）",
            "x-go-type": "int64"
          },
          "is_supplier": {
            "type": "boolean",
            "description": "是否开通供货账户",
            "x-go-type": "bool"
          },
          "supplier_status": {
            "type": "string",
            "description": "applying | approved | rejected",
            "x-go-type": "string"
          }
        },
        "description": "UserItem 前台用户（敏感字段如密码哈希绝不外发）。"
      },
      "zcard.api.admin.v1.UserRecentOrder": {
        "type": "object",
        "properties": {
          "items": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/zcard.api.admin.v1.AdminOrderItem"
            },
            "description": "商品名称、规格和数量摘要",
            "x-go-type": "[]*AdminOrderItem"
          },
          "order_no": {
            "type": "string",
            "x-go-type": "string"
          },
          "amount_cents": {
            "type": "integer",
            "format": "int64",
            "x-go-type": "int64"
          },
          "status": {
            "type": "string",
            "x-go-type": "string"
          },
          "created_at": {
            "type": "integer",
            "format": "int64",
            "x-go-type": "int64"
          }
        },
        "description": "UserRecentOrder 最近订单（用户详情聚合，默认 10 条）。"
      },
      "zcard.api.admin.v1.VerifySiteReply": {
        "type": "object",
        "properties": {
          "verified": {
            "type": "boolean",
            "x-go-type": "bool"
          },
          "method": {
            "type": "string",
            "description": "dns | http",
            "x-go-type": "string"
          }
        }
      },
      "zcard.api.admin.v1.VerifySiteRequest": {
        "required": [
          "site_id"
        ],
        "type": "object",
        "properties": {
          "site_id": {
            "type": "integer",
            "format": "uint64",
            "x-go-type": "uint64"
          }
        }
      },
      "zcard.api.admin.v1.ViewCardContentReply": {
        "type": "object",
        "properties": {
          "id": {
            "type": "integer",
            "format": "uint64",
            "x-go-type": "uint64"
          },
          "content": {
            "type": "string",
            "description": "完整明文（一次性下发；Cache-Control: no-store 由 transport 保证）",
            "x-go-type": "string"
          }
        }
      },
      "zcard.api.admin.v1.VirtualReviewItem": {
        "type": "object",
        "properties": {
          "id": {
            "type": "integer",
            "format": "uint64",
            "x-go-type": "uint64"
          },
          "product_id": {
            "type": "integer",
            "format": "uint64",
            "x-go-type": "uint64"
          },
          "nickname": {
            "type": "string",
            "x-go-type": "string"
          },
          "content": {
            "type": "string",
            "x-go-type": "string"
          },
          "rating": {
            "type": "integer",
            "format": "int32",
            "x-go-type": "int32"
          },
          "sort": {
            "type": "integer",
            "format": "int32",
            "x-go-type": "int32"
          },
          "created_at": {
            "type": "integer",
            "format": "int64",
            "x-go-type": "int64"
          }
        },
        "description": "VirtualReviewItem 虚拟评价（与真实 approved 合并展示）。"
      },
      "zcard.api.admin.v1.VisitStatItem": {
        "type": "object",
        "properties": {
          "stat_date": {
            "type": "string",
            "x-go-type": "string"
          },
          "stat_hour": {
            "type": "integer",
            "format": "int32",
            "x-go-type": "int32"
          },
          "path": {
            "type": "string",
            "x-go-type": "string"
          },
          "pv": {
            "type": "integer",
            "format": "int64",
            "x-go-type": "int64"
          },
          "uv": {
            "type": "integer",
            "format": "int64",
            "x-go-type": "int64"
          }
        }
      },
      "zcard.api.admin.v1.WalletTx": {
        "type": "object",
        "properties": {
          "id": {
            "type": "integer",
            "format": "uint64",
            "x-go-type": "uint64"
          },
          "direction": {
            "type": "string",
            "x-go-type": "string"
          },
          "type": {
            "type": "string",
            "x-go-type": "string"
          },
          "amount_cents": {
            "type": "integer",
            "format": "int64",
            "x-go-type": "int64"
          },
          "balance_before_cents": {
            "type": "integer",
            "format": "int64",
            "x-go-type": "int64"
          },
          "balance_after_cents": {
            "type": "integer",
            "format": "int64",
            "x-go-type": "int64"
          },
          "reference": {
            "type": "string",
            "x-go-type": "string"
          },
          "remark": {
            "type": "string",
            "x-go-type": "string"
          },
          "created_at": {
            "type": "integer",
            "format": "int64",
            "x-go-type": "int64"
          },
          "user_id": {
            "type": "integer",
            "format": "uint64",
            "description": "归属用户（全站流水场景展示）",
            "x-go-type": "uint64"
          },
          "username": {
            "type": "string",
            "description": "归属用户名（全站流水批量回填，可空）",
            "x-go-type": "string"
          },
          "display_reference": {
            "type": "string",
            "description": "展示用业务单号，reference 保留原始幂等键",
            "x-go-type": "string"
          }
        }
      },
      "zcard.api.admin.v1.WithdrawalItem": {
        "type": "object",
        "properties": {
          "id": {
            "type": "integer",
            "format": "uint64",
            "x-go-type": "uint64"
          },
          "user_id": {
            "type": "integer",
            "format": "uint64",
            "x-go-type": "uint64"
          },
          "username": {
            "type": "string",
            "description": "用户名（列表富化）",
            "x-go-type": "string"
          },
          "amount_cents": {
            "type": "integer",
            "format": "int64",
            "x-go-type": "int64"
          },
          "fee_cents": {
            "type": "integer",
            "format": "int64",
            "x-go-type": "int64"
          },
          "method_type": {
            "type": "string",
            "x-go-type": "string"
          },
          "method_name": {
            "type": "string",
            "description": "收款方式显示名",
            "x-go-type": "string"
          },
          "account": {
            "type": "string",
            "x-go-type": "string"
          },
          "qr_code_url": {
            "type": "string",
            "description": "收款码图片（微信/支付宝；审核展示）",
            "x-go-type": "string"
          },
          "status": {
            "type": "string",
            "description": "pending | approved | paid | rejected",
            "x-go-type": "string"
          },
          "reject_reason": {
            "type": "string",
            "x-go-type": "string"
          },
          "reviewed_at": {
            "type": "integer",
            "format": "int64",
            "x-go-type": "int64"
          },
          "paid_at": {
            "type": "integer",
            "format": "int64",
            "x-go-type": "int64"
          },
          "created_at": {
            "type": "integer",
            "format": "int64",
            "x-go-type": "int64"
          },
          "receipt": {
            "type": "string",
            "description": "打款回执（流水号/备注）",
            "x-go-type": "string"
          }
        }
      },
      "zcard.api.storefront.v1.AddCartItemRequest": {
        "required": [
          "product_id",
          "quantity"
        ],
        "type": "object",
        "properties": {
          "product_id": {
            "type": "integer",
            "format": "uint64",
            "x-go-type": "uint64"
          },
          "sku_id": {
            "type": "integer",
            "format": "uint64",
            "description": "0=默认规格",
            "x-go-type": "uint64"
          },
          "quantity": {
            "type": "integer",
            "format": "int32",
            "description": "1-99",
            "x-go-type": "int32"
          }
        }
      },
      "zcard.api.storefront.v1.BalanceReply": {
        "type": "object",
        "properties": {
          "available_cents": {
            "type": "integer",
            "format": "int64",
            "x-go-type": "int64"
          },
          "locked_cents": {
            "type": "integer",
            "format": "int64",
            "x-go-type": "int64"
          },
          "total_cents": {
            "type": "integer",
            "format": "int64",
            "x-go-type": "int64"
          },
          "points": {
            "type": "integer",
            "format": "int64",
            "x-go-type": "int64"
          }
        }
      },
      "zcard.api.storefront.v1.CancelMyOrderRequest": {
        "required": [
          "order_no"
        ],
        "type": "object",
        "properties": {
          "order_no": {
            "type": "string",
            "x-go-type": "string"
          }
        }
      },
      "zcard.api.storefront.v1.CaptchaImage": {
        "type": "object",
        "properties": {
          "captcha_id": {
            "type": "string",
            "description": "验证码 ID（提交时回传）",
            "x-go-type": "string"
          },
          "image_base64": {
            "type": "string",
            "description": "图片 data URL（<img src> 直用）",
            "x-go-type": "string"
          }
        }
      },
      "zcard.api.storefront.v1.CartItem": {
        "type": "object",
        "properties": {
          "id": {
            "type": "integer",
            "format": "uint64",
            "x-go-type": "uint64"
          },
          "product_id": {
            "type": "integer",
            "format": "uint64",
            "x-go-type": "uint64"
          },
          "sku_id": {
            "type": "integer",
            "format": "uint64",
            "x-go-type": "uint64"
          },
          "quantity": {
            "type": "integer",
            "format": "int32",
            "x-go-type": "int32"
          },
          "product_name": {
            "type": "string",
            "description": "商品快照（联查现值——结算前端展示用）",
            "x-go-type": "string"
          },
          "price_cents": {
            "type": "integer",
            "format": "int64",
            "description": "现价（SKU 解析后）",
            "x-go-type": "int64"
          },
          "max_quantity": {
            "type": "integer",
            "format": "int32",
            "description": "单次购买上限，0 使用默认上限",
            "x-go-type": "int32"
          },
          "stock": {
            "type": "integer",
            "format": "int64",
            "description": "可用库存（-1 不限）",
            "x-go-type": "int64"
          },
          "points_only": {
            "type": "boolean",
            "description": "积分兑换商品（不可混合结算）",
            "x-go-type": "bool"
          },
          "points_required": {
            "type": "integer",
            "format": "int64",
            "x-go-type": "int64"
          },
          "valid": {
            "type": "boolean",
            "description": "false=已下架/隐藏（列表打标不可选）",
            "x-go-type": "bool"
          },
          "flash_sale": {
            "$ref": "#/components/schemas/zcard.api.storefront.v1.FlashOffer",
            "x-go-type": "*FlashOffer"
          },
          "added_at": {
            "type": "integer",
            "format": "int64",
            "x-go-type": "int64"
          },
          "product_cover": {
            "type": "string",
            "description": "商品封面（无图时前端显示默认占位）",
            "x-go-type": "string"
          }
        }
      },
      "zcard.api.storefront.v1.CategoryItem": {
        "type": "object",
        "properties": {
          "id": {
            "type": "integer",
            "format": "uint64",
            "x-go-type": "uint64"
          },
          "name": {
            "type": "string",
            "x-go-type": "string"
          },
          "icon": {
            "type": "string",
            "x-go-type": "string"
          },
          "parent_id": {
            "type": "integer",
            "format": "uint64",
            "description": "父分类（0=根；多级分类树形）",
            "x-go-type": "uint64"
          }
        }
      },
      "zcard.api.storefront.v1.ChangePasswordReply": {
        "type": "object",
        "properties": {
          "token": {
            "type": "string",
            "description": "改密后吊销全部 session；新 token 保当前会话",
            "x-go-type": "string"
          },
          "expires_at": {
            "type": "integer",
            "format": "int64",
            "x-go-type": "int64"
          }
        }
      },
      "zcard.api.storefront.v1.ChangePasswordRequest": {
        "required": [
          "old_password",
          "new_password"
        ],
        "type": "object",
        "properties": {
          "old_password": {
            "type": "string",
            "x-go-type": "string"
          },
          "new_password": {
            "type": "string",
            "x-go-type": "string"
          }
        }
      },
      "zcard.api.storefront.v1.ChannelItem": {
        "type": "object",
        "properties": {
          "code": {
            "type": "string",
            "x-go-type": "string"
          },
          "name": {
            "type": "string",
            "description": "渠道名称（管理端配置）",
            "x-go-type": "string"
          },
          "driver": {
            "type": "string",
            "x-go-type": "string"
          },
          "icon": {
            "type": "string",
            "description": "渠道自定义图标 URL（空=前端回落内置徽标）",
            "x-go-type": "string"
          },
          "fee": {
            "type": "integer",
            "format": "int64",
            "x-go-type": "int64"
          },
          "fee_type": {
            "type": "string",
            "x-go-type": "string"
          },
          "fee_bearer": {
            "type": "string",
            "x-go-type": "string"
          },
          "recommended": {
            "type": "boolean",
            "x-go-type": "bool"
          },
          "recommend_label": {
            "type": "string",
            "x-go-type": "string"
          },
          "recommend_description": {
            "type": "string",
            "x-go-type": "string"
          },
          "methods": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/zcard.api.storefront.v1.MethodItem"
            },
            "description": "支付方式列表（聚合网关；空=单方式渠道）",
            "x-go-type": "[]*MethodItem"
          }
        }
      },
      "zcard.api.storefront.v1.ChannelListReply": {
        "type": "object",
        "properties": {
          "channels": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/zcard.api.storefront.v1.ChannelItem"
            },
            "x-go-type": "[]*ChannelItem"
          }
        },
        "description": "ChannelListReply 启用渠道列表。"
      },
      "zcard.api.storefront.v1.CommissionItem": {
        "type": "object",
        "properties": {
          "id": {
            "type": "integer",
            "format": "uint64",
            "x-go-type": "uint64"
          },
          "order_id": {
            "type": "integer",
            "format": "uint64",
            "x-go-type": "uint64"
          },
          "tier": {
            "type": "integer",
            "format": "int32",
            "x-go-type": "int32"
          },
          "base_amount": {
            "type": "integer",
            "format": "int64",
            "x-go-type": "int64"
          },
          "amount": {
            "type": "integer",
            "format": "int64",
            "description": "负数 = 负债行",
            "x-go-type": "int64"
          },
          "status": {
            "type": "string",
            "description": "pending_confirm | available | withdrawn | reversed",
            "x-go-type": "string"
          },
          "available_at": {
            "type": "integer",
            "format": "int64",
            "x-go-type": "int64"
          },
          "created_at": {
            "type": "integer",
            "format": "int64",
            "x-go-type": "int64"
          }
        }
      },
      "zcard.api.storefront.v1.CreateOrderReply": {
        "type": "object",
        "properties": {
          "order_no": {
            "type": "string",
            "x-go-type": "string"
          },
          "total_cents": {
            "type": "integer",
            "format": "int64",
            "x-go-type": "int64"
          },
          "expires_at": {
            "type": "integer",
            "format": "int64",
            "x-go-type": "int64"
          }
        }
      },
      "zcard.api.storefront.v1.CreateOrderRequest": {
        "required": [
          "items"
        ],
        "type": "object",
        "properties": {
          "items": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/zcard.api.storefront.v1.OrderItemInput"
            },
            "x-go-type": "[]*OrderItemInput"
          },
          "guest_contact": {
            "type": "string",
            "x-go-type": "string"
          },
          "query_password": {
            "type": "string",
            "x-go-type": "string"
          },
          "contact": {
            "type": "string",
            "x-go-type": "string"
          },
          "coupon_code": {
            "type": "string",
            "x-go-type": "string"
          },
          "control_answers": {
            "type": "object",
            "additionalProperties": {
              "type": "string"
            },
            "description": "控件答案（key=控件 ID 字符串，value=答案；多选用逗号分隔）",
            "x-go-type": "map[string]string"
          },
          "use_points": {
            "type": "boolean",
            "description": "积分兑换下单（：全部商品须为积分商品；积分同事务扣款，订单直落 paid）",
            "x-go-type": "bool"
          },
          "ref_code": {
            "type": "string",
            "description": "推广归因码（可空）：游客/无链用户下单时实时解析推广者 → 订单级归因快照",
            "x-go-type": "string"
          },
          "captcha_id": {
            "type": "string",
            "description": "图形验证码（captcha_order 开启时游客必填）",
            "x-go-type": "string"
          },
          "captcha_code": {
            "type": "string",
            "x-go-type": "string"
          }
        }
      },
      "zcard.api.storefront.v1.CreatePaymentReply": {
        "type": "object",
        "properties": {
          "quote": {
            "$ref": "#/components/schemas/zcard.api.storefront.v1.PaymentQuote",
            "x-go-type": "*PaymentQuote"
          },
          "payment_id": {
            "type": "integer",
            "format": "uint64",
            "x-go-type": "uint64"
          },
          "type": {
            "type": "string",
            "description": "redirect | qrcode | params",
            "x-go-type": "string"
          },
          "payload": {
            "type": "string",
            "description": "URL / 二维码内容 / 参数 JSON",
            "x-go-type": "string"
          }
        }
      },
      "zcard.api.storefront.v1.CreatePaymentRequest": {
        "required": [
          "order_no",
          "channel"
        ],
        "type": "object",
        "properties": {
          "quote_key": {
            "type": "string",
            "x-go-type": "string"
          },
          "query_password": {
            "type": "string",
            "x-go-type": "string"
          },
          "order_no": {
            "type": "string",
            "x-go-type": "string"
          },
          "channel": {
            "type": "string",
            "x-go-type": "string"
          },
          "method": {
            "type": "string",
            "description": "支付方式 code（多方式渠道必选；单方式渠道可空）",
            "x-go-type": "string"
          }
        }
      },
      "zcard.api.storefront.v1.CreateRechargeReply": {
        "type": "object",
        "properties": {
          "recharge_id": {
            "type": "integer",
            "format": "uint64",
            "x-go-type": "uint64"
          },
          "payment_id": {
            "type": "integer",
            "format": "uint64",
            "x-go-type": "uint64"
          },
          "type": {
            "type": "string",
            "description": "redirect | qrcode | params（与 CreatePaymentReply 同构）",
            "x-go-type": "string"
          },
          "payload": {
            "type": "string",
            "description": "支付跳转 URL / 二维码内容 / 参数 JSON",
            "x-go-type": "string"
          },
          "quote": {
            "$ref": "#/components/schemas/zcard.api.storefront.v1.PaymentQuote",
            "x-go-type": "*PaymentQuote"
          }
        }
      },
      "zcard.api.storefront.v1.CreateRechargeRequest": {
        "required": [
          "amount_cents",
          "channel"
        ],
        "type": "object",
        "properties": {
          "amount_cents": {
            "type": "integer",
            "format": "int64",
            "x-go-type": "int64"
          },
          "channel": {
            "type": "string",
            "x-go-type": "string"
          },
          "method": {
            "type": "string",
            "description": "方式标识（多方式渠道必填：易支付 alipay/wxpay、USDT 选链；单方式渠道留空）",
            "x-go-type": "*string"
          },
          "quote_key": {
            "type": "string",
            "x-go-type": "string"
          }
        }
      },
      "zcard.api.storefront.v1.CreateSupplierRechargeReply": {
        "type": "object",
        "properties": {
          "recharge_id": {
            "type": "integer",
            "format": "uint64",
            "x-go-type": "uint64"
          },
          "payment_id": {
            "type": "integer",
            "format": "uint64",
            "x-go-type": "uint64"
          },
          "type": {
            "type": "string",
            "description": "redirect | qrcode | params（与 CreateRechargeReply 同构）",
            "x-go-type": "string"
          },
          "payload": {
            "type": "string",
            "description": "支付跳转 URL / 二维码内容 / 参数 JSON",
            "x-go-type": "string"
          },
          "quote": {
            "$ref": "#/components/schemas/zcard.api.storefront.v1.PaymentQuote",
            "x-go-type": "*PaymentQuote"
          }
        }
      },
      "zcard.api.storefront.v1.CreateSupplierRechargeRequest": {
        "required": [
          "id",
          "amount_cents",
          "channel"
        ],
        "type": "object",
        "properties": {
          "id": {
            "type": "integer",
            "format": "uint64",
            "description": "对接账户（须 approved 且归属本人）",
            "x-go-type": "uint64"
          },
          "amount_cents": {
            "type": "integer",
            "format": "int64",
            "description": "意向金额（分；服务端按档位裁决）",
            "x-go-type": "int64"
          },
          "channel": {
            "type": "string",
            "description": "支付渠道 code",
            "x-go-type": "string"
          },
          "method": {
            "type": "string",
            "description": "方式标识（多方式渠道必填：易支付 alipay/wxpay、USDT 选链；单方式渠道留空）",
            "x-go-type": "*string"
          },
          "quote_key": {
            "type": "string",
            "x-go-type": "string"
          }
        }
      },
      "zcard.api.storefront.v1.CreateTicketRequest": {
        "required": [
          "type",
          "content"
        ],
        "type": "object",
        "properties": {
          "type": {
            "type": "string",
            "description": "presale | aftersale",
            "x-go-type": "string"
          },
          "content": {
            "type": "string",
            "x-go-type": "string"
          },
          "guest_contact": {
            "type": "string",
            "description": "游客必填（联系方式）",
            "x-go-type": "string"
          },
          "order_id": {
            "type": "integer",
            "format": "uint64",
            "description": "可选关联",
            "x-go-type": "uint64"
          },
          "product_id": {
            "type": "integer",
            "format": "uint64",
            "x-go-type": "uint64"
          },
          "attachment_media_ids": {
            "type": "array",
            "items": {
              "type": "integer",
              "format": "uint64"
            },
            "x-go-type": "[]uint64"
          }
        }
      },
      "zcard.api.storefront.v1.CreateWithdrawalReply": {
        "type": "object",
        "properties": {
          "withdrawal_id": {
            "type": "integer",
            "format": "uint64",
            "x-go-type": "uint64"
          },
          "amount_cents": {
            "type": "integer",
            "format": "int64",
            "x-go-type": "int64"
          },
          "fee_cents": {
            "type": "integer",
            "format": "int64",
            "x-go-type": "int64"
          },
          "credited_cents": {
            "type": "integer",
            "format": "int64",
            "description": "实际到账 = amount - fee",
            "x-go-type": "int64"
          }
        }
      },
      "zcard.api.storefront.v1.CreateWithdrawalRequest": {
        "required": [
          "amount_cents",
          "method_type",
          "account"
        ],
        "type": "object",
        "properties": {
          "amount_cents": {
            "type": "integer",
            "format": "int64",
            "x-go-type": "int64"
          },
          "method_type": {
            "type": "string",
            "description": "白名单 type（alipay/wechat/usdt_trc20/bank）",
            "x-go-type": "string"
          },
          "account": {
            "type": "string",
            "description": "收款账号（USDT=TRC20 地址）",
            "x-go-type": "string"
          },
          "qr_code_url": {
            "type": "string",
            "description": "收款码图片 URL（微信/支付宝可选；admin 审核展示）",
            "x-go-type": "string"
          }
        },
        "description": "CreateWithdrawalRequest 提现申请（金额/收款方式；method_type 须在白名单内）。"
      },
      "zcard.api.storefront.v1.Currencies": {
        "type": "object",
        "properties": {
          "currencies": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/zcard.api.storefront.v1.Currency"
            },
            "x-go-type": "[]*Currency"
          }
        },
        "description": "Currencies 货币列表。"
      },
      "zcard.api.storefront.v1.Currency": {
        "type": "object",
        "properties": {
          "code": {
            "type": "string",
            "x-go-type": "string"
          },
          "symbol": {
            "type": "string",
            "x-go-type": "string"
          },
          "position": {
            "type": "string",
            "x-go-type": "string"
          },
          "precision": {
            "type": "integer",
            "format": "int32",
            "x-go-type": "int32"
          },
          "rate_json": {
            "type": "string",
            "x-go-type": "string"
          }
        },
        "description": "Currency 货币（rate 为 decimal 字符串——前端 decimal 换算，杜绝浮点误差入口）。"
      },
      "zcard.api.storefront.v1.DeliveryItem": {
        "type": "object",
        "properties": {
          "delivery_id": {
            "type": "integer",
            "format": "uint64",
            "x-go-type": "uint64"
          },
          "kind": {
            "type": "string",
            "x-go-type": "string"
          },
          "product_name": {
            "type": "string",
            "x-go-type": "string"
          },
          "sku_name": {
            "type": "string",
            "x-go-type": "string"
          },
          "delivered_at": {
            "type": "integer",
            "format": "int64",
            "x-go-type": "int64"
          },
          "item_id": {
            "type": "integer",
            "format": "uint64",
            "x-go-type": "uint64"
          },
          "content": {
            "type": "string",
            "description": "明文或 ****尾4位",
            "x-go-type": "string"
          },
          "masked": {
            "type": "boolean",
            "x-go-type": "bool"
          }
        },
        "description": "DeliveryItem 交付项（明文只在首次取货返回；之后掩码）。"
      },
      "zcard.api.storefront.v1.FetchDeliveryReply": {
        "type": "object",
        "properties": {
          "order_no": {
            "type": "string",
            "x-go-type": "string"
          },
          "status": {
            "type": "string",
            "x-go-type": "string"
          },
          "items": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/zcard.api.storefront.v1.DeliveryItem"
            },
            "x-go-type": "[]*DeliveryItem"
          },
          "fetch_count": {
            "type": "integer",
            "format": "int32",
            "x-go-type": "int32"
          }
        }
      },
      "zcard.api.storefront.v1.FetchDeliveryRequest": {
        "required": [
          "order_no",
          "query_password"
        ],
        "type": "object",
        "properties": {
          "order_no": {
            "type": "string",
            "x-go-type": "string"
          },
          "query_password": {
            "type": "string",
            "x-go-type": "string"
          }
        }
      },
      "zcard.api.storefront.v1.FlashOffer": {
        "type": "object",
        "properties": {
          "price_cents": {
            "type": "integer",
            "format": "int64",
            "x-go-type": "int64"
          },
          "end_at": {
            "type": "integer",
            "format": "int64",
            "x-go-type": "int64"
          },
          "remaining": {
            "type": "integer",
            "format": "int32",
            "x-go-type": "int32"
          },
          "per_user_limit": {
            "type": "integer",
            "format": "int32",
            "x-go-type": "int32"
          }
        },
        "description": "Product 顾客视角商品（管理字段与成本价绝不下发）。"
      },
      "zcard.api.storefront.v1.ForgotPasswordReply": {
        "type": "object",
        "properties": {}
      },
      "zcard.api.storefront.v1.ForgotPasswordRequest": {
        "required": [
          "email"
        ],
        "type": "object",
        "properties": {
          "email": {
            "type": "string",
            "x-go-type": "string"
          },
          "captcha_id": {
            "type": "string",
            "description": "图形验证码 ID（captcha_reset 开启时必填）",
            "x-go-type": "string"
          },
          "captcha_code": {
            "type": "string",
            "description": "图形验证码",
            "x-go-type": "string"
          }
        }
      },
      "zcard.api.storefront.v1.GetOrderReply": {
        "type": "object",
        "properties": {
          "refunded_cents": {
            "type": "integer",
            "format": "int64",
            "x-go-type": "int64"
          },
          "refunded_fee_cents": {
            "type": "integer",
            "format": "int64",
            "x-go-type": "int64"
          },
          "order_no": {
            "type": "string",
            "x-go-type": "string"
          },
          "status": {
            "type": "string",
            "x-go-type": "string"
          },
          "total_cents": {
            "type": "integer",
            "format": "int64",
            "x-go-type": "int64"
          },
          "items": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/zcard.api.storefront.v1.OrderItemReply"
            },
            "x-go-type": "[]*OrderItemReply"
          },
          "created_at": {
            "type": "integer",
            "format": "int64",
            "x-go-type": "int64"
          },
          "expires_at": {
            "type": "integer",
            "format": "int64",
            "description": "订单过期时间（倒计时；0=无过期）",
            "x-go-type": "int64"
          },
          "paid_total_cents": {
            "type": "integer",
            "format": "int64",
            "x-go-type": "int64"
          },
          "paid_fee_cents": {
            "type": "integer",
            "format": "int64",
            "x-go-type": "int64"
          }
        }
      },
      "zcard.api.storefront.v1.GetPostReply": {
        "type": "object",
        "properties": {
          "post": {
            "$ref": "#/components/schemas/zcard.api.storefront.v1.StorePost",
            "x-go-type": "*StorePost"
          },
          "content": {
            "type": "string",
            "description": "按语言回落后（sanitize 后的 HTML）",
            "x-go-type": "string"
          }
        }
      },
      "zcard.api.storefront.v1.GetTicketReply": {
        "type": "object",
        "properties": {
          "ticket": {
            "$ref": "#/components/schemas/zcard.api.storefront.v1.Ticket",
            "x-go-type": "*Ticket"
          },
          "messages": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/zcard.api.storefront.v1.TicketMessage"
            },
            "x-go-type": "[]*TicketMessage"
          },
          "urgent_available": {
            "type": "boolean",
            "x-go-type": "bool"
          },
          "urgent_fee_cents": {
            "type": "integer",
            "format": "int64",
            "x-go-type": "int64"
          },
          "urgent_error": {
            "type": "string",
            "x-go-type": "string"
          }
        }
      },
      "zcard.api.storefront.v1.GuestOrderItem": {
        "type": "object",
        "properties": {
          "order_no": {
            "type": "string",
            "x-go-type": "string"
          },
          "status": {
            "type": "string",
            "x-go-type": "string"
          },
          "total_cents": {
            "type": "integer",
            "format": "int64",
            "x-go-type": "int64"
          },
          "created_at": {
            "type": "integer",
            "format": "int64",
            "x-go-type": "int64"
          },
          "expires_at": {
            "type": "integer",
            "format": "int64",
            "x-go-type": "int64"
          }
        }
      },
      "zcard.api.storefront.v1.InviteBenefitReply": {
        "type": "object",
        "properties": {
          "valid": {
            "type": "boolean",
            "x-go-type": "bool"
          },
          "has_benefit": {
            "type": "boolean",
            "x-go-type": "bool"
          },
          "level": {
            "$ref": "#/components/schemas/zcard.api.storefront.v1.LevelBrief",
            "x-go-type": "*LevelBrief"
          }
        }
      },
      "zcard.api.storefront.v1.LevelBrief": {
        "type": "object",
        "properties": {
          "display_mode": {
            "type": "string",
            "x-go-type": "string"
          },
          "display_text": {
            "type": "string",
            "x-go-type": "string"
          },
          "acquire_mode": {
            "type": "string",
            "x-go-type": "string"
          },
          "id": {
            "type": "integer",
            "format": "uint64",
            "x-go-type": "uint64"
          },
          "name": {
            "type": "string",
            "x-go-type": "string"
          },
          "discount": {
            "type": "integer",
            "format": "int32",
            "description": "万分比折扣",
            "x-go-type": "int32"
          },
          "threshold_type": {
            "type": "string",
            "description": "recharge | consume | both_and | both_or",
            "x-go-type": "string"
          },
          "threshold_recharge": {
            "type": "integer",
            "format": "int64",
            "description": "升级阈值（分）",
            "x-go-type": "int64"
          },
          "threshold_consume": {
            "type": "integer",
            "format": "int64",
            "x-go-type": "int64"
          },
          "points_rule_json": {
            "type": "string",
            "description": "积分产生规则 {\"spend_cents\":X,\"points\":Y}",
            "x-go-type": "string"
          }
        },
        "description": "LevelBrief 等级摘要。"
      },
      "zcard.api.storefront.v1.LevelProgress": {
        "type": "object",
        "properties": {
          "recharge_gap_cents": {
            "type": "integer",
            "description": "充值口径差额（0 = 已达标；下一等级不含充值条件时为 -1）",
            "format": "int64",
            "x-go-type": "int64"
          },
          "consume_gap_cents": {
            "type": "integer",
            "description": "消费口径差额（0 = 已达标；下一等级不含消费条件时为 -1）",
            "format": "int64",
            "x-go-type": "int64"
          },
          "percent": {
            "type": "integer",
            "description": "综合进度百分比 0-100（按已达标口径均值粗算；both_and 取较小值）",
            "format": "int32",
            "x-go-type": "int32"
          }
        },
        "description": "LevelProgress 距下一等级进度。"
      },
      "zcard.api.storefront.v1.LicenseOfferReply": {
        "type": "object",
        "properties": {
          "monthly_cents": {
            "type": "integer",
            "description": "月付价（分；默认 300 = 3U）",
            "format": "int64",
            "x-go-type": "int64"
          },
          "yearly_cents": {
            "type": "integer",
            "description": "年付价（分；默认 3000 = 30U）",
            "format": "int64",
            "x-go-type": "int64"
          },
          "purchasable": {
            "type": "boolean",
            "description": "发行侧是否配置签发私钥（false = 本部署不开通在线购买）",
            "x-go-type": "bool"
          },
          "instance_id": {
            "type": "string",
            "description": "本部署实例 ID（自购场景绑定预览；购买其他实例时填对方实例 ID）",
            "x-go-type": "string"
          }
        },
        "description": "LicenseOfferReply 套餐报价与购买前置状态。"
      },
      "zcard.api.storefront.v1.LicenseOrderItem": {
        "type": "object",
        "properties": {
          "id": {
            "type": "integer",
            "format": "uint64",
            "x-go-type": "uint64"
          },
          "plan": {
            "type": "string",
            "x-go-type": "string"
          },
          "amount_cents": {
            "type": "integer",
            "format": "int64",
            "x-go-type": "int64"
          },
          "status": {
            "type": "string",
            "description": "pending | success | canceled",
            "x-go-type": "string"
          },
          "instance_id": {
            "type": "string",
            "x-go-type": "string"
          },
          "domain": {
            "type": "string",
            "x-go-type": "string"
          },
          "license_file": {
            "type": "string",
            "x-go-type": "string"
          },
          "expires_at": {
            "type": "string",
            "x-go-type": "string"
          },
          "created_at": {
            "type": "integer",
            "format": "int64",
            "x-go-type": "int64"
          }
        }
      },
      "zcard.api.storefront.v1.ListBannersReply": {
        "type": "object",
        "properties": {
          "banners": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/zcard.api.storefront.v1.StoreBanner"
            },
            "x-go-type": "[]*StoreBanner"
          }
        }
      },
      "zcard.api.storefront.v1.ListCartReply": {
        "type": "object",
        "properties": {
          "items": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/zcard.api.storefront.v1.CartItem"
            },
            "x-go-type": "[]*CartItem"
          },
          "total": {
            "type": "integer",
            "format": "int32",
            "description": "有效项数",
            "x-go-type": "int32"
          }
        }
      },
      "zcard.api.storefront.v1.ListCategoriesReply": {
        "type": "object",
        "properties": {
          "categories": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/zcard.api.storefront.v1.CategoryItem"
            },
            "x-go-type": "[]*CategoryItem"
          }
        }
      },
      "zcard.api.storefront.v1.ListFlashSalesReply": {
        "type": "object",
        "properties": {
          "items": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/zcard.api.storefront.v1.StoreFlashSale"
            },
            "x-go-type": "[]*StoreFlashSale"
          }
        }
      },
      "zcard.api.storefront.v1.ListGuestOrdersReply": {
        "type": "object",
        "properties": {
          "orders": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/zcard.api.storefront.v1.GuestOrderItem"
            },
            "x-go-type": "[]*GuestOrderItem"
          }
        }
      },
      "zcard.api.storefront.v1.ListLicenseOrdersReply": {
        "type": "object",
        "properties": {
          "orders": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/zcard.api.storefront.v1.LicenseOrderItem"
            },
            "x-go-type": "[]*LicenseOrderItem"
          },
          "total": {
            "type": "integer",
            "format": "int64",
            "x-go-type": "int64"
          }
        }
      },
      "zcard.api.storefront.v1.ListMyCommissionsReply": {
        "type": "object",
        "properties": {
          "commissions": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/zcard.api.storefront.v1.CommissionItem"
            },
            "x-go-type": "[]*CommissionItem"
          },
          "total": {
            "type": "integer",
            "format": "int64",
            "x-go-type": "int64"
          },
          "page": {
            "type": "integer",
            "format": "int32",
            "x-go-type": "int32"
          },
          "page_size": {
            "type": "integer",
            "format": "int32",
            "x-go-type": "int32"
          }
        }
      },
      "zcard.api.storefront.v1.ListMyCouponsReply": {
        "type": "object",
        "properties": {
          "coupons": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/zcard.api.storefront.v1.MyCoupon"
            },
            "x-go-type": "[]*MyCoupon"
          }
        }
      },
      "zcard.api.storefront.v1.ListMyOrdersReply": {
        "type": "object",
        "properties": {
          "orders": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/zcard.api.storefront.v1.MyOrderItem"
            },
            "x-go-type": "[]*MyOrderItem"
          },
          "total": {
            "type": "integer",
            "format": "int64",
            "x-go-type": "int64"
          }
        }
      },
      "zcard.api.storefront.v1.ListMyTicketsReply": {
        "type": "object",
        "properties": {
          "tickets": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/zcard.api.storefront.v1.Ticket"
            },
            "x-go-type": "[]*Ticket"
          },
          "total": {
            "type": "integer",
            "format": "int64",
            "x-go-type": "int64"
          },
          "page": {
            "type": "integer",
            "format": "int32",
            "x-go-type": "int32"
          },
          "page_size": {
            "type": "integer",
            "format": "int32",
            "x-go-type": "int32"
          }
        }
      },
      "zcard.api.storefront.v1.ListMyWithdrawalsReply": {
        "type": "object",
        "properties": {
          "withdrawals": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/zcard.api.storefront.v1.MyWithdrawalItem"
            },
            "x-go-type": "[]*MyWithdrawalItem"
          },
          "total": {
            "type": "integer",
            "format": "int64",
            "x-go-type": "int64"
          }
        }
      },
      "zcard.api.storefront.v1.ListNotificationsReply": {
        "type": "object",
        "properties": {
          "notifications": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/zcard.api.storefront.v1.NotificationItem"
            },
            "x-go-type": "[]*NotificationItem"
          },
          "total": {
            "type": "integer",
            "format": "int64",
            "x-go-type": "int64"
          },
          "page": {
            "type": "integer",
            "format": "int32",
            "x-go-type": "int32"
          },
          "page_size": {
            "type": "integer",
            "format": "int32",
            "x-go-type": "int32"
          }
        }
      },
      "zcard.api.storefront.v1.ListPostCategoriesReply": {
        "type": "object",
        "properties": {
          "categories": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/zcard.api.storefront.v1.StorePostCategory"
            },
            "x-go-type": "[]*StorePostCategory"
          }
        }
      },
      "zcard.api.storefront.v1.ListPostsReply": {
        "type": "object",
        "properties": {
          "posts": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/zcard.api.storefront.v1.StorePost"
            },
            "x-go-type": "[]*StorePost"
          },
          "total": {
            "type": "integer",
            "format": "int64",
            "x-go-type": "int64"
          },
          "page": {
            "type": "integer",
            "format": "int32",
            "x-go-type": "int32"
          },
          "page_size": {
            "type": "integer",
            "format": "int32",
            "x-go-type": "int32"
          }
        }
      },
      "zcard.api.storefront.v1.ListProductsReply": {
        "type": "object",
        "properties": {
          "items": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/zcard.api.storefront.v1.Product"
            },
            "x-go-type": "[]*Product"
          },
          "total": {
            "type": "integer",
            "format": "int64",
            "x-go-type": "int64"
          },
          "page": {
            "type": "integer",
            "format": "int32",
            "x-go-type": "int32"
          },
          "page_size": {
            "type": "integer",
            "format": "int32",
            "x-go-type": "int32"
          }
        }
      },
      "zcard.api.storefront.v1.ListSupplierAccountsReply": {
        "type": "object",
        "properties": {
          "accounts": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/zcard.api.storefront.v1.SupplierAccountReply"
            },
            "x-go-type": "[]*SupplierAccountReply"
          }
        }
      },
      "zcard.api.storefront.v1.ListTeamReply": {
        "type": "object",
        "properties": {
          "members": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/zcard.api.storefront.v1.TeamMember"
            },
            "x-go-type": "[]*TeamMember"
          },
          "total": {
            "type": "integer",
            "format": "int64",
            "x-go-type": "int64"
          },
          "page": {
            "type": "integer",
            "format": "int32",
            "x-go-type": "int32"
          },
          "page_size": {
            "type": "integer",
            "format": "int32",
            "x-go-type": "int32"
          }
        }
      },
      "zcard.api.storefront.v1.ListTxReply": {
        "type": "object",
        "properties": {
          "transactions": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/zcard.api.storefront.v1.Tx"
            },
            "x-go-type": "[]*Tx"
          },
          "total": {
            "type": "integer",
            "format": "int64",
            "x-go-type": "int64"
          }
        }
      },
      "zcard.api.storefront.v1.LoginReply": {
        "type": "object",
        "properties": {
          "access_token": {
            "type": "string",
            "x-go-type": "string"
          },
          "token_type": {
            "type": "string",
            "x-go-type": "string"
          },
          "expires_at": {
            "type": "integer",
            "format": "int64",
            "x-go-type": "int64"
          }
        }
      },
      "zcard.api.storefront.v1.LoginRequest": {
        "required": [
          "username",
          "password"
        ],
        "type": "object",
        "properties": {
          "username": {
            "type": "string",
            "description": "用户名/邮箱/手机号混输",
            "x-go-type": "string"
          },
          "password": {
            "type": "string",
            "x-go-type": "string"
          },
          "captcha_id": {
            "type": "string",
            "description": "图形验证码 ID（captcha_login 开启时必填）",
            "x-go-type": "string"
          },
          "captcha_code": {
            "type": "string",
            "description": "图形验证码",
            "x-go-type": "string"
          }
        }
      },
      "zcard.api.storefront.v1.LotteryActivity": {
        "type": "object",
        "properties": {
          "id": {
            "type": "integer",
            "format": "uint64",
            "x-go-type": "uint64"
          },
          "name": {
            "type": "string",
            "x-go-type": "string"
          },
          "description": {
            "type": "string",
            "x-go-type": "string"
          },
          "image": {
            "type": "string",
            "x-go-type": "string"
          },
          "status": {
            "type": "string",
            "x-go-type": "string"
          },
          "start_at": {
            "type": "integer",
            "format": "int64",
            "x-go-type": "int64"
          },
          "end_at": {
            "type": "integer",
            "format": "int64",
            "x-go-type": "int64"
          },
          "timezone": {
            "type": "string",
            "x-go-type": "string"
          },
          "chance_mode": {
            "type": "string",
            "x-go-type": "string"
          },
          "chance_count": {
            "type": "integer",
            "format": "int32",
            "x-go-type": "int32"
          },
          "prizes": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/zcard.api.storefront.v1.LotteryPrize"
            },
            "x-go-type": "[]*LotteryPrize"
          },
          "revision": {
            "type": "integer",
            "format": "int32",
            "x-go-type": "int32"
          }
        }
      },
      "zcard.api.storefront.v1.LotteryActivityList": {
        "type": "object",
        "properties": {
          "items": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/zcard.api.storefront.v1.LotteryActivity"
            },
            "x-go-type": "[]*LotteryActivity"
          }
        }
      },
      "zcard.api.storefront.v1.LotteryChances": {
        "type": "object",
        "properties": {
          "remaining": {
            "type": "integer",
            "format": "int32",
            "x-go-type": "int32"
          },
          "period": {
            "type": "string",
            "x-go-type": "string"
          }
        }
      },
      "zcard.api.storefront.v1.LotteryDraw": {
        "type": "object",
        "properties": {
          "draw_no": {
            "type": "string",
            "x-go-type": "string"
          },
          "activity_name": {
            "type": "string",
            "x-go-type": "string"
          },
          "prize_name": {
            "type": "string",
            "x-go-type": "string"
          },
          "mode": {
            "type": "string",
            "x-go-type": "string"
          },
          "status": {
            "type": "string",
            "x-go-type": "string"
          },
          "created_at": {
            "type": "integer",
            "format": "int64",
            "x-go-type": "int64"
          },
          "delivered_at": {
            "type": "integer",
            "format": "int64",
            "x-go-type": "int64"
          },
          "content": {
            "type": "string",
            "x-go-type": "string"
          },
          "activity_id": {
            "type": "integer",
            "format": "uint64",
            "x-go-type": "uint64"
          }
        }
      },
      "zcard.api.storefront.v1.LotteryDrawList": {
        "type": "object",
        "properties": {
          "items": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/zcard.api.storefront.v1.LotteryDraw"
            },
            "x-go-type": "[]*LotteryDraw"
          },
          "total": {
            "type": "integer",
            "format": "int64",
            "x-go-type": "int64"
          }
        }
      },
      "zcard.api.storefront.v1.LotteryDrawRequest": {
        "type": "object",
        "properties": {
          "id": {
            "type": "integer",
            "format": "uint64",
            "x-go-type": "uint64"
          },
          "request_key": {
            "type": "string",
            "x-go-type": "string"
          }
        }
      },
      "zcard.api.storefront.v1.LotteryIDRequest": {
        "type": "object",
        "properties": {
          "id": {
            "type": "integer",
            "format": "uint64",
            "x-go-type": "uint64"
          }
        }
      },
      "zcard.api.storefront.v1.LotteryPrize": {
        "type": "object",
        "properties": {
          "id": {
            "type": "integer",
            "format": "uint64",
            "x-go-type": "uint64"
          },
          "name": {
            "type": "string",
            "x-go-type": "string"
          },
          "image": {
            "type": "string",
            "x-go-type": "string"
          },
          "mode": {
            "type": "string",
            "x-go-type": "string"
          },
          "probability": {
            "type": "integer",
            "format": "int32",
            "x-go-type": "int32"
          },
          "remaining": {
            "type": "integer",
            "format": "int32",
            "x-go-type": "int32"
          }
        }
      },
      "zcard.api.storefront.v1.MarkReadRequest": {
        "type": "object",
        "properties": {
          "id": {
            "type": "integer",
            "format": "uint64",
            "description": "0 = 全部",
            "x-go-type": "uint64"
          }
        }
      },
      "zcard.api.storefront.v1.MaskedDeliveriesReply": {
        "type": "object",
        "properties": {
          "deliveries": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/zcard.api.storefront.v1.MaskedDelivery"
            },
            "x-go-type": "[]*MaskedDelivery"
          }
        }
      },
      "zcard.api.storefront.v1.MaskedDelivery": {
        "type": "object",
        "properties": {
          "order_no": {
            "type": "string",
            "x-go-type": "string"
          },
          "content_masked": {
            "type": "string",
            "description": "****尾4位",
            "x-go-type": "string"
          },
          "delivered_at": {
            "type": "integer",
            "format": "int64",
            "x-go-type": "int64"
          },
          "fetch_count": {
            "type": "integer",
            "format": "int32",
            "x-go-type": "int32"
          }
        }
      },
      "zcard.api.storefront.v1.MeReply": {
        "type": "object",
        "properties": {
          "user_id": {
            "type": "integer",
            "format": "uint64",
            "x-go-type": "uint64"
          },
          "username": {
            "type": "string",
            "x-go-type": "string"
          },
          "email": {
            "type": "string",
            "x-go-type": "string"
          },
          "created_at": {
            "type": "integer",
            "format": "int64",
            "x-go-type": "int64"
          },
          "is_reseller": {
            "type": "boolean",
            "description": "分站主身份（approved）",
            "x-go-type": "bool"
          },
          "reseller_profile_id": {
            "type": "integer",
            "format": "uint64",
            "x-go-type": "uint64"
          },
          "promo_code": {
            "type": "string",
            "description": "推广码（懒生成）",
            "x-go-type": "string"
          }
        }
      },
      "zcard.api.storefront.v1.MethodItem": {
        "type": "object",
        "properties": {
          "code": {
            "type": "string",
            "x-go-type": "string"
          },
          "name": {
            "type": "string",
            "x-go-type": "string"
          },
          "recommended": {
            "type": "boolean",
            "x-go-type": "bool"
          },
          "recommend_label": {
            "type": "string",
            "x-go-type": "string"
          },
          "recommend_description": {
            "type": "string",
            "x-go-type": "string"
          },
          "icon": {
            "type": "string",
            "description": "方式级自定义图标（空=回落渠道图标/内置徽标）",
            "x-go-type": "string"
          }
        },
        "description": "MethodItem 支付方式（收银台顾客看到的选项：支付宝/微信/USDT-TRC20…）。"
      },
      "zcard.api.storefront.v1.MyAffiliateReply": {
        "type": "object",
        "properties": {
          "user_id": {
            "type": "integer",
            "format": "uint64",
            "description": "用户 ID；推广链接使用 promo_code，兼容历史数字 ID。",
            "x-go-type": "uint64"
          },
          "invite_url": {
            "type": "string",
            "description": "邀请链接（?ref=）",
            "x-go-type": "string"
          },
          "pending_cents": {
            "type": "integer",
            "format": "int64",
            "description": "冻结中",
            "x-go-type": "int64"
          },
          "available_cents": {
            "type": "integer",
            "format": "int64",
            "description": "可提",
            "x-go-type": "int64"
          },
          "withdrawn_cents": {
            "type": "integer",
            "format": "int64",
            "description": "已提现",
            "x-go-type": "int64"
          },
          "total_cents": {
            "type": "integer",
            "format": "int64",
            "description": "累计",
            "x-go-type": "int64"
          },
          "debt_cents": {
            "type": "integer",
            "format": "int64",
            "description": "负债",
            "x-go-type": "int64"
          },
          "team_l1": {
            "type": "integer",
            "format": "int64",
            "description": "直推人数",
            "x-go-type": "int64"
          },
          "team_l2": {
            "type": "integer",
            "format": "int64",
            "x-go-type": "int64"
          },
          "team_l3": {
            "type": "integer",
            "format": "int64",
            "x-go-type": "int64"
          },
          "promo_code": {
            "type": "string",
            "description": "推广码（8 位随机）",
            "x-go-type": "string"
          }
        }
      },
      "zcard.api.storefront.v1.MyCoupon": {
        "type": "object",
        "properties": {
          "id": {
            "type": "integer",
            "format": "uint64",
            "x-go-type": "uint64"
          },
          "name": {
            "type": "string",
            "x-go-type": "string"
          },
          "type": {
            "type": "string",
            "description": "fixed | percent",
            "x-go-type": "string"
          },
          "value": {
            "type": "integer",
            "format": "int64",
            "description": "fixed=分；percent=万分比",
            "x-go-type": "int64"
          },
          "code": {
            "type": "string",
            "x-go-type": "string"
          },
          "scope_json": {
            "type": "string",
            "x-go-type": "string"
          },
          "expire_at": {
            "type": "integer",
            "format": "int64",
            "x-go-type": "int64"
          }
        }
      },
      "zcard.api.storefront.v1.MyLevelReply": {
        "type": "object",
        "properties": {
          "source": {
            "type": "string",
            "description": "manual | referral | auto | none",
            "x-go-type": "string"
          },
          "has_referral_level": {
            "type": "boolean",
            "x-go-type": "bool"
          },
          "private_level": {
            "type": "boolean",
            "x-go-type": "bool"
          },
          "recharged_cents": {
            "type": "integer",
            "description": "累计充值（countAsRecharge 口径：仅真实充值入账，互转/调账不计）",
            "format": "int64",
            "x-go-type": "int64"
          },
          "consumed_cents": {
            "type": "integer",
            "description": "累计消费（已支付及之后状态订单额）",
            "format": "int64",
            "x-go-type": "int64"
          },
          "points": {
            "type": "integer",
            "description": "积分余额",
            "format": "int64",
            "x-go-type": "int64"
          },
          "current": {
            "allOf": [
              {
                "$ref": "#/components/schemas/zcard.api.storefront.v1.LevelBrief"
              }
            ],
            "description": "当前等级（未命中任何等级为 null）",
            "x-go-type": "*LevelBrief"
          },
          "next": {
            "allOf": [
              {
                "$ref": "#/components/schemas/zcard.api.storefront.v1.LevelBrief"
              }
            ],
            "description": "下一等级（已满级为 null）",
            "x-go-type": "*LevelBrief"
          },
          "progress": {
            "allOf": [
              {
                "$ref": "#/components/schemas/zcard.api.storefront.v1.LevelProgress"
              }
            ],
            "description": "升级进度（距下一等级差额）",
            "x-go-type": "*LevelProgress"
          },
          "levels": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/zcard.api.storefront.v1.LevelBrief"
            },
            "description": "启用的等级及折扣，按升级顺序排列",
            "x-go-type": "[]*LevelBrief"
          }
        },
        "description": "MyLevelReply 等级进度（阈值即时评估口径：只升不降随累计值单调）。"
      },
      "zcard.api.storefront.v1.MyOrderItem": {
        "type": "object",
        "properties": {
          "order_no": {
            "type": "string",
            "x-go-type": "string"
          },
          "status": {
            "type": "string",
            "x-go-type": "string"
          },
          "total_cents": {
            "type": "integer",
            "format": "int64",
            "x-go-type": "int64"
          },
          "created_at": {
            "type": "integer",
            "format": "int64",
            "x-go-type": "int64"
          },
          "expired_at": {
            "type": "integer",
            "format": "int64",
            "x-go-type": "int64"
          },
          "item_count": {
            "type": "integer",
            "format": "int32",
            "x-go-type": "int32"
          },
          "product_summary": {
            "type": "string",
            "x-go-type": "string"
          },
          "manual_pending_count": {
            "type": "integer",
            "format": "int32",
            "x-go-type": "int32"
          }
        },
        "description": "MyOrderItem 我的订单行（金额/状态/时间；卡密取回走 GetOrder）。"
      },
      "zcard.api.storefront.v1.MyWithdrawalItem": {
        "type": "object",
        "properties": {
          "withdrawal_id": {
            "type": "integer",
            "format": "uint64",
            "x-go-type": "uint64"
          },
          "amount_cents": {
            "type": "integer",
            "format": "int64",
            "x-go-type": "int64"
          },
          "fee_cents": {
            "type": "integer",
            "format": "int64",
            "x-go-type": "int64"
          },
          "method_type": {
            "type": "string",
            "x-go-type": "string"
          },
          "method_name": {
            "type": "string",
            "x-go-type": "string"
          },
          "account": {
            "type": "string",
            "x-go-type": "string"
          },
          "status": {
            "type": "string",
            "description": "pending | approved | paid | rejected",
            "x-go-type": "string"
          },
          "reject_reason": {
            "type": "string",
            "x-go-type": "string"
          },
          "reviewed_at": {
            "type": "integer",
            "format": "int64",
            "x-go-type": "int64"
          },
          "paid_at": {
            "type": "integer",
            "format": "int64",
            "x-go-type": "int64"
          },
          "created_at": {
            "type": "integer",
            "format": "int64",
            "x-go-type": "int64"
          },
          "receipt": {
            "type": "string",
            "description": "打款回执（流水号/备注）",
            "x-go-type": "string"
          }
        }
      },
      "zcard.api.storefront.v1.NotificationItem": {
        "type": "object",
        "properties": {
          "id": {
            "type": "integer",
            "format": "uint64",
            "x-go-type": "uint64"
          },
          "title": {
            "type": "string",
            "x-go-type": "string"
          },
          "content": {
            "type": "string",
            "x-go-type": "string"
          },
          "is_read": {
            "type": "boolean",
            "x-go-type": "bool"
          },
          "read_at": {
            "type": "integer",
            "format": "int64",
            "x-go-type": "int64"
          },
          "source_type": {
            "type": "string",
            "x-go-type": "string"
          },
          "source_id": {
            "type": "integer",
            "format": "uint64",
            "x-go-type": "uint64"
          },
          "created_at": {
            "type": "integer",
            "format": "int64",
            "x-go-type": "int64"
          }
        }
      },
      "zcard.api.storefront.v1.OrderItemInput": {
        "required": [
          "product_id",
          "quantity"
        ],
        "type": "object",
        "properties": {
          "control_answers": {
            "type": "object",
            "additionalProperties": {
              "type": "string"
            },
            "x-go-type": "map[string]string"
          },
          "product_id": {
            "type": "integer",
            "format": "uint64",
            "x-go-type": "uint64"
          },
          "sku_id": {
            "type": "integer",
            "format": "uint64",
            "x-go-type": "uint64"
          },
          "quantity": {
            "type": "integer",
            "format": "int32",
            "x-go-type": "int32"
          }
        }
      },
      "zcard.api.storefront.v1.OrderItemReply": {
        "type": "object",
        "properties": {
          "id": {
            "type": "integer",
            "format": "uint64",
            "x-go-type": "uint64"
          },
          "sku_name": {
            "type": "string",
            "x-go-type": "string"
          },
          "fulfillment_type": {
            "type": "string",
            "x-go-type": "string"
          },
          "fulfillment_status": {
            "type": "string",
            "x-go-type": "string"
          },
          "form_answers_json": {
            "type": "string",
            "x-go-type": "string"
          },
          "amount_cents": {
            "type": "integer",
            "format": "int64",
            "x-go-type": "int64"
          },
          "product_id": {
            "type": "integer",
            "format": "uint64",
            "x-go-type": "uint64"
          },
          "product_name": {
            "type": "string",
            "x-go-type": "string"
          },
          "quantity": {
            "type": "integer",
            "format": "int32",
            "x-go-type": "int32"
          },
          "unit_price_cents": {
            "type": "integer",
            "format": "int64",
            "x-go-type": "int64"
          }
        }
      },
      "zcard.api.storefront.v1.OrderReviewState": {
        "type": "object",
        "properties": {
          "enabled": {
            "type": "boolean",
            "x-go-type": "bool"
          },
          "status": {
            "type": "string",
            "description": "available | not_ready | disabled | pending | approved | rejected",
            "x-go-type": "string"
          },
          "message": {
            "type": "string",
            "x-go-type": "string"
          },
          "products": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/zcard.api.storefront.v1.ReviewProduct"
            },
            "x-go-type": "[]*ReviewProduct"
          },
          "product_id": {
            "type": "integer",
            "format": "uint64",
            "x-go-type": "uint64"
          },
          "rating": {
            "type": "integer",
            "format": "int32",
            "x-go-type": "int32"
          },
          "content": {
            "type": "string",
            "x-go-type": "string"
          }
        }
      },
      "zcard.api.storefront.v1.PayUrgentReply": {
        "type": "object",
        "properties": {
          "paid": {
            "type": "boolean",
            "x-go-type": "bool"
          },
          "fee_cents": {
            "type": "integer",
            "format": "int64",
            "description": "实扣（分）",
            "x-go-type": "int64"
          },
          "error": {
            "type": "string",
            "description": "余额不足等",
            "x-go-type": "string"
          },
          "already_urgent": {
            "type": "boolean",
            "x-go-type": "bool"
          }
        }
      },
      "zcard.api.storefront.v1.PayUrgentRequest": {
        "required": [
          "ticket_no"
        ],
        "type": "object",
        "properties": {
          "ticket_no": {
            "type": "string",
            "x-go-type": "string"
          },
          "expected_fee_cents": {
            "type": "string",
            "description": "用户已确认的报价；缺失或变价拒绝扣费",
            "x-go-type": "*int64"
          }
        }
      },
      "zcard.api.storefront.v1.PaymentQuote": {
        "type": "object",
        "properties": {
          "base_cents": {
            "type": "integer",
            "format": "int64",
            "x-go-type": "int64"
          },
          "fee_cents": {
            "type": "integer",
            "format": "int64",
            "x-go-type": "int64"
          },
          "total_cents": {
            "type": "integer",
            "format": "int64",
            "x-go-type": "int64"
          },
          "fee_type": {
            "type": "string",
            "x-go-type": "string"
          },
          "fee_rate": {
            "type": "integer",
            "format": "int64",
            "x-go-type": "int64"
          },
          "fee_bearer": {
            "type": "string",
            "x-go-type": "string"
          },
          "quote_key": {
            "type": "string",
            "x-go-type": "string"
          },
          "payment_id": {
            "type": "integer",
            "format": "uint64",
            "x-go-type": "uint64"
          },
          "channel": {
            "type": "string",
            "x-go-type": "string"
          },
          "method": {
            "type": "string",
            "x-go-type": "string"
          },
          "charged_currency": {
            "type": "string",
            "x-go-type": "string"
          },
          "charged_units": {
            "type": "integer",
            "format": "int64",
            "x-go-type": "int64"
          },
          "charged_precision": {
            "type": "integer",
            "format": "int32",
            "x-go-type": "int32"
          }
        }
      },
      "zcard.api.storefront.v1.PaymentQuoteRequest": {
        "type": "object",
        "properties": {
          "order_no": {
            "type": "string",
            "x-go-type": "string"
          },
          "channel": {
            "type": "string",
            "x-go-type": "string"
          },
          "method": {
            "type": "string",
            "x-go-type": "string"
          },
          "scene": {
            "type": "string",
            "x-go-type": "string"
          },
          "amount_cents": {
            "type": "integer",
            "format": "int64",
            "x-go-type": "int64"
          },
          "query_password": {
            "type": "string",
            "x-go-type": "string"
          }
        }
      },
      "zcard.api.storefront.v1.Product": {
        "type": "object",
        "properties": {
          "fulfillment_mode": {
            "type": "string",
            "x-go-type": "string"
          },
          "manual_stock": {
            "type": "integer",
            "format": "int64",
            "x-go-type": "int64"
          },
          "id": {
            "type": "integer",
            "format": "uint64",
            "x-go-type": "uint64"
          },
          "name": {
            "type": "string",
            "x-go-type": "string"
          },
          "slug": {
            "type": "string",
            "x-go-type": "string"
          },
          "description": {
            "type": "string",
            "description": "已 sanitize 的 Markdown/HTML",
            "x-go-type": "string"
          },
          "cover": {
            "type": "string",
            "x-go-type": "string"
          },
          "price_cents": {
            "type": "integer",
            "description": "售价（分，基础货币）",
            "format": "int64",
            "x-go-type": "int64"
          },
          "stock_type": {
            "type": "string",
            "description": "库存类型 card/url/code",
            "x-go-type": "string"
          },
          "stock": {
            "type": "integer",
            "description": "按货源返回库存（>=0 数量，-1 不限，-2 待确认），stock_visible 仅控制展示",
            "format": "int64",
            "x-go-type": "int64"
          },
          "stock_visible": {
            "type": "boolean",
            "description": "库存是否对外可见",
            "x-go-type": "bool"
          },
          "category_id": {
            "type": "integer",
            "format": "uint64",
            "x-go-type": "uint64"
          },
          "sales_count": {
            "type": "integer",
            "description": "展示销量 = 真实 + 虚拟",
            "format": "int64",
            "x-go-type": "int64"
          },
          "controls": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/zcard.api.storefront.v1.ProductControl"
            },
            "description": "自定义控件（下单收集：文本/密码/下拉/数字/多选/单选）",
            "x-go-type": "[]*ProductControl"
          },
          "reviews": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/zcard.api.storefront.v1.ReviewItem"
            },
            "description": "评价（真实 approved + 虚拟合并，按时间/排序）",
            "x-go-type": "[]*ReviewItem"
          },
          "skus": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/zcard.api.storefront.v1.Sku"
            },
            "description": "可选规格；有效 SKU 价格大于 0 时作为基础价，否则继承商品价，并非仅在高于商品价时采用。",
            "x-go-type": "[]*Sku"
          },
          "points_required": {
            "type": "integer",
            "description": "积分兑换价（0=常规商品；>0=积分商城商品，下单走积分兑换分支；）",
            "format": "int64",
            "x-go-type": "int64"
          },
          "is_recommend": {
            "type": "boolean",
            "description": "运营推荐（首页推荐位标记）",
            "x-go-type": "bool"
          },
          "stock_status": {
            "type": "string",
            "description": "current | stale | unknown",
            "x-go-type": "string"
          },
          "stock_reference": {
            "type": "integer",
            "format": "int64",
            "description": "仅供展示的上次库存，不作为购买校验依据",
            "x-go-type": "int64"
          },
          "stock_checked_at": {
            "type": "integer",
            "format": "int64",
            "description": "上次库存查询时间",
            "x-go-type": "int64"
          },
          "flash_sale": {
            "$ref": "#/components/schemas/zcard.api.storefront.v1.FlashOffer",
            "x-go-type": "*FlashOffer"
          },
          "category_recommend": {
            "type": "boolean",
            "x-go-type": "bool"
          },
          "category_pinned": {
            "type": "boolean",
            "x-go-type": "bool"
          }
        }
      },
      "zcard.api.storefront.v1.ProductControl": {
        "type": "object",
        "properties": {
          "placeholder": {
            "type": "string",
            "x-go-type": "string"
          },
          "validation": {
            "type": "string",
            "x-go-type": "string"
          },
          "max_length": {
            "type": "integer",
            "format": "int32",
            "x-go-type": "int32"
          },
          "id": {
            "type": "integer",
            "format": "uint64",
            "x-go-type": "uint64"
          },
          "name": {
            "type": "string",
            "x-go-type": "string"
          },
          "type": {
            "type": "string",
            "description": "text | password | select | number | checkbox | radio",
            "x-go-type": "string"
          },
          "required": {
            "type": "boolean",
            "x-go-type": "bool"
          },
          "options": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "description": "select/checkbox/radio 的选项",
            "x-go-type": "[]string"
          },
          "sort": {
            "type": "integer",
            "format": "int32",
            "x-go-type": "int32"
          }
        },
        "description": "ProductControl 自定义控件定义（下单表单渲染）。"
      },
      "zcard.api.storefront.v1.PublicConfig": {
        "type": "object",
        "properties": {
          "entries": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/zcard.api.storefront.v1.PublicConfigEntry"
            },
            "x-go-type": "[]*PublicConfigEntry"
          }
        },
        "description": "PublicConfig 公开配置条目列表。"
      },
      "zcard.api.storefront.v1.PublicConfigEntry": {
        "type": "object",
        "properties": {
          "key": {
            "type": "string",
            "x-go-type": "string"
          },
          "value_json": {
            "type": "string",
            "x-go-type": "string"
          }
        },
        "description": "PublicConfigEntry 单键（key 形如 \"site.name\"；value 为 JSON 文档字符串）。"
      },
      "zcard.api.storefront.v1.PurchaseLicenseReply": {
        "type": "object",
        "properties": {
          "order_id": {
            "type": "integer",
            "format": "uint64",
            "x-go-type": "uint64"
          },
          "license_file": {
            "type": "string",
            "description": "许可证文件内容（JSON：license + signature；目标实例后台安装激活）",
            "x-go-type": "string"
          },
          "expires_at": {
            "type": "string",
            "description": "RFC3339",
            "x-go-type": "string"
          },
          "paid_cents": {
            "type": "integer",
            "format": "int64",
            "x-go-type": "int64"
          }
        }
      },
      "zcard.api.storefront.v1.PurchaseLicenseRequest": {
        "required": [
          "plan"
        ],
        "type": "object",
        "properties": {
          "plan": {
            "type": "string",
            "description": "monthly | yearly",
            "x-go-type": "string"
          },
          "instance_id": {
            "type": "string",
            "description": "目标实例 ID（空 = 绑定本部署实例——发行侧自测/内部发行场景）",
            "x-go-type": "string"
          },
          "domain": {
            "type": "string",
            "description": "目标域名（可选；空 = 不限域名）",
            "x-go-type": "string"
          }
        }
      },
      "zcard.api.storefront.v1.RateTicketRequest": {
        "required": [
          "ticket_no",
          "rating"
        ],
        "type": "object",
        "properties": {
          "ticket_no": {
            "type": "string",
            "x-go-type": "string"
          },
          "rating": {
            "type": "integer",
            "format": "int32",
            "description": "1-5",
            "x-go-type": "int32"
          }
        }
      },
      "zcard.api.storefront.v1.RedeemCouponRequest": {
        "required": [
          "code"
        ],
        "type": "object",
        "properties": {
          "code": {
            "type": "string",
            "x-go-type": "string"
          }
        }
      },
      "zcard.api.storefront.v1.RedeemGiftcardReply": {
        "type": "object",
        "properties": {
          "amount_cents": {
            "type": "integer",
            "format": "int64",
            "x-go-type": "int64"
          },
          "balance_after_cents": {
            "type": "integer",
            "format": "int64",
            "x-go-type": "int64"
          }
        }
      },
      "zcard.api.storefront.v1.RedeemGiftcardRequest": {
        "required": [
          "code"
        ],
        "type": "object",
        "properties": {
          "code": {
            "type": "string",
            "x-go-type": "string"
          }
        },
        "description": "RedeemGiftcard 礼品卡兑换（哈希检索 + 防爆破限流；余额入账幂等键 giftcard:<id>）。"
      },
      "zcard.api.storefront.v1.RegisterReply": {
        "type": "object",
        "properties": {
          "user_id": {
            "type": "integer",
            "format": "uint64",
            "x-go-type": "uint64"
          },
          "token": {
            "type": "string",
            "description": "注册即登录",
            "x-go-type": "string"
          },
          "expires_at": {
            "type": "integer",
            "format": "int64",
            "x-go-type": "int64"
          },
          "promo_code": {
            "type": "string",
            "description": "自己的推广码（注册成功即拥有）",
            "x-go-type": "string"
          }
        }
      },
      "zcard.api.storefront.v1.RegisterRequest": {
        "required": [
          "username",
          "password"
        ],
        "type": "object",
        "properties": {
          "username": {
            "type": "string",
            "x-go-type": "string"
          },
          "password": {
            "type": "string",
            "x-go-type": "string"
          },
          "email": {
            "type": "string",
            "x-go-type": "string"
          },
          "invite_code": {
            "type": "string",
            "description": "推广码（8 位随机或旧数字 ID；可空）",
            "x-go-type": "string"
          },
          "code": {
            "type": "string",
            "description": "注册验证码（register_method=email/phone 时必填）",
            "x-go-type": "string"
          },
          "phone": {
            "type": "string",
            "description": "手机号（register_method=phone 时必填）",
            "x-go-type": "string"
          },
          "captcha_id": {
            "type": "string",
            "description": "图形验证码 ID（captcha_register 开启时必填）",
            "x-go-type": "string"
          },
          "captcha_code": {
            "type": "string",
            "description": "图形验证码（4 位数字）",
            "x-go-type": "string"
          }
        }
      },
      "zcard.api.storefront.v1.ReplyTicketRequest": {
        "required": [
          "ticket_no",
          "content"
        ],
        "type": "object",
        "properties": {
          "ticket_no": {
            "type": "string",
            "x-go-type": "string"
          },
          "content": {
            "type": "string",
            "x-go-type": "string"
          },
          "attachment_media_ids": {
            "type": "array",
            "items": {
              "type": "integer",
              "format": "uint64"
            },
            "x-go-type": "[]uint64"
          }
        }
      },
      "zcard.api.storefront.v1.ResetPasswordReply": {
        "type": "object",
        "properties": {
          "token": {
            "type": "string",
            "description": "重置即登录",
            "x-go-type": "string"
          },
          "expires_at": {
            "type": "integer",
            "format": "int64",
            "x-go-type": "int64"
          }
        }
      },
      "zcard.api.storefront.v1.ResetPasswordRequest": {
        "required": [
          "email",
          "code",
          "new_password"
        ],
        "type": "object",
        "properties": {
          "email": {
            "type": "string",
            "x-go-type": "string"
          },
          "code": {
            "type": "string",
            "description": "邮件验证码",
            "x-go-type": "string"
          },
          "new_password": {
            "type": "string",
            "description": ">= 6 位",
            "x-go-type": "string"
          }
        }
      },
      "zcard.api.storefront.v1.ReviewItem": {
        "type": "object",
        "properties": {
          "id": {
            "type": "integer",
            "format": "uint64",
            "x-go-type": "uint64"
          },
          "nickname": {
            "type": "string",
            "x-go-type": "string"
          },
          "content": {
            "type": "string",
            "x-go-type": "string"
          },
          "rating": {
            "type": "integer",
            "format": "int32",
            "x-go-type": "int32"
          },
          "created_at": {
            "type": "integer",
            "format": "int64",
            "x-go-type": "int64"
          },
          "is_virtual": {
            "type": "boolean",
            "x-go-type": "bool"
          }
        },
        "description": "ReviewItem 顾客视角评价（真实 approved + 虚拟合并）。"
      },
      "zcard.api.storefront.v1.ReviewProduct": {
        "type": "object",
        "properties": {
          "product_id": {
            "type": "integer",
            "format": "uint64",
            "x-go-type": "uint64"
          },
          "name": {
            "type": "string",
            "x-go-type": "string"
          }
        }
      },
      "zcard.api.storefront.v1.SendRegisterCodeReply": {
        "type": "object",
        "properties": {}
      },
      "zcard.api.storefront.v1.SendRegisterCodeRequest": {
        "required": [
          "target"
        ],
        "type": "object",
        "properties": {
          "target": {
            "type": "string",
            "description": "邮箱或手机号",
            "x-go-type": "string"
          },
          "channel": {
            "type": "string",
            "description": "email | phone（空则按 target 格式自动判定）",
            "x-go-type": "string"
          },
          "captcha_id": {
            "type": "string",
            "description": "图形验证码 ID（captcha_register 开启时必填）",
            "x-go-type": "string"
          },
          "captcha_code": {
            "type": "string",
            "description": "图形验证码",
            "x-go-type": "string"
          }
        }
      },
      "zcard.api.storefront.v1.SetSupplierIPWhitelistRequest": {
        "required": [
          "id"
        ],
        "type": "object",
        "properties": {
          "id": {
            "type": "integer",
            "format": "uint64",
            "x-go-type": "uint64"
          },
          "ips": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "description": "精确 IP 或 CIDR 网段（如 1.2.3.4、10.0.0.0/24）；空 = 不限",
            "x-go-type": "[]string"
          }
        }
      },
      "zcard.api.storefront.v1.Sku": {
        "type": "object",
        "properties": {
          "stock": {
            "type": "integer",
            "format": "int64",
            "x-go-type": "int64"
          },
          "fulfillment_mode": {
            "type": "string",
            "x-go-type": "string"
          },
          "id": {
            "type": "integer",
            "format": "uint64",
            "x-go-type": "uint64"
          },
          "name": {
            "type": "string",
            "x-go-type": "string"
          },
          "price_cents": {
            "type": "integer",
            "format": "int64",
            "x-go-type": "int64"
          },
          "flash_sale": {
            "$ref": "#/components/schemas/zcard.api.storefront.v1.FlashOffer",
            "x-go-type": "*FlashOffer"
          }
        },
        "description": "Sku 顾客视角多规格（只下发 id/名称/价格）。"
      },
      "zcard.api.storefront.v1.StoreBanner": {
        "type": "object",
        "properties": {
          "id": {
            "type": "integer",
            "format": "uint64",
            "x-go-type": "uint64"
          },
          "title": {
            "type": "string",
            "description": "按语言回落后",
            "x-go-type": "string"
          },
          "image": {
            "type": "string",
            "x-go-type": "string"
          },
          "mobile_image": {
            "type": "string",
            "description": "缺省回落 PC 图",
            "x-go-type": "string"
          },
          "link_type": {
            "type": "string",
            "x-go-type": "string"
          },
          "link_value": {
            "type": "string",
            "x-go-type": "string"
          }
        }
      },
      "zcard.api.storefront.v1.StoreFlashSale": {
        "type": "object",
        "properties": {
          "id": {
            "type": "integer",
            "format": "uint64",
            "x-go-type": "uint64"
          },
          "product_id": {
            "type": "integer",
            "format": "uint64",
            "x-go-type": "uint64"
          },
          "flash_price": {
            "type": "integer",
            "format": "int64",
            "description": "分",
            "x-go-type": "int64"
          },
          "start_at": {
            "type": "integer",
            "format": "int64",
            "x-go-type": "int64"
          },
          "end_at": {
            "type": "integer",
            "format": "int64",
            "x-go-type": "int64"
          },
          "remaining": {
            "type": "integer",
            "format": "int32",
            "description": "剩余量（limit - sold；-1 未提供）",
            "x-go-type": "int32"
          }
        }
      },
      "zcard.api.storefront.v1.StorePost": {
        "type": "object",
        "properties": {
          "id": {
            "type": "integer",
            "format": "uint64",
            "x-go-type": "uint64"
          },
          "slug": {
            "type": "string",
            "x-go-type": "string"
          },
          "type": {
            "type": "string",
            "x-go-type": "string"
          },
          "title": {
            "type": "string",
            "x-go-type": "string"
          },
          "summary": {
            "type": "string",
            "x-go-type": "string"
          },
          "thumbnail": {
            "type": "string",
            "x-go-type": "string"
          },
          "category_id": {
            "type": "integer",
            "format": "uint64",
            "x-go-type": "uint64"
          },
          "published_at": {
            "type": "integer",
            "format": "int64",
            "x-go-type": "int64"
          }
        }
      },
      "zcard.api.storefront.v1.StorePostCategory": {
        "type": "object",
        "properties": {
          "id": {
            "type": "integer",
            "format": "uint64",
            "x-go-type": "uint64"
          },
          "name": {
            "type": "string",
            "x-go-type": "string"
          },
          "slug": {
            "type": "string",
            "x-go-type": "string"
          }
        }
      },
      "zcard.api.storefront.v1.StoreUploadReply": {
        "type": "object",
        "properties": {
          "url": {
            "type": "string",
            "description": "/uploads/... 访问路径",
            "x-go-type": "string"
          }
        }
      },
      "zcard.api.storefront.v1.StoreUploadRequest": {
        "required": [
          "data_base64"
        ],
        "type": "object",
        "properties": {
          "data_base64": {
            "type": "string",
            "x-go-type": "string"
          }
        }
      },
      "zcard.api.storefront.v1.SubmitOrderReviewRequest": {
        "required": [
          "order_no",
          "product_id"
        ],
        "type": "object",
        "properties": {
          "order_no": {
            "type": "string",
            "x-go-type": "string"
          },
          "product_id": {
            "type": "integer",
            "format": "uint64",
            "x-go-type": "uint64"
          },
          "rating": {
            "type": "integer",
            "format": "int32",
            "x-go-type": "int32"
          },
          "content": {
            "type": "string",
            "x-go-type": "string"
          }
        }
      },
      "zcard.api.storefront.v1.SubmitSupplierApplicationRequest": {
        "required": [
          "protocol",
          "display_name"
        ],
        "type": "object",
        "properties": {
          "protocol": {
            "type": "string",
            "description": "下游面板协议：zcard | dujiao_next | acg_faka",
            "x-go-type": "string"
          },
          "display_name": {
            "type": "string",
            "description": "站点/店铺名（≤100）",
            "x-go-type": "string"
          },
          "contact": {
            "type": "string",
            "description": "联系方式（QQ/邮箱/手机）",
            "x-go-type": "string"
          },
          "apply_reason": {
            "type": "string",
            "description": "申请理由（≤500）",
            "x-go-type": "string"
          },
          "notify_url": {
            "type": "string",
            "description": "可选回调地址；当前申请实现允许 HTTP / HTTPS，裸域名自动补 HTTPS。生产建议使用 HTTPS。",
            "x-go-type": "string"
          }
        }
      },
      "zcard.api.storefront.v1.SupplierAccountReply": {
        "type": "object",
        "properties": {
          "id": {
            "type": "integer",
            "format": "uint64",
            "x-go-type": "uint64"
          },
          "protocol": {
            "type": "string",
            "x-go-type": "string"
          },
          "status": {
            "type": "string",
            "description": "applying | approved | rejected | disabled",
            "x-go-type": "string"
          },
          "display_name": {
            "type": "string",
            "x-go-type": "string"
          },
          "contact": {
            "type": "string",
            "x-go-type": "string"
          },
          "apply_reason": {
            "type": "string",
            "x-go-type": "string"
          },
          "review_note": {
            "type": "string",
            "description": "审核意见/驳回理由",
            "x-go-type": "string"
          },
          "api_key": {
            "type": "string",
            "description": "app_id（明文常驻）",
            "x-go-type": "string"
          },
          "reviewed_at": {
            "type": "integer",
            "format": "int64",
            "x-go-type": "int64"
          },
          "created_at": {
            "type": "integer",
            "format": "int64",
            "x-go-type": "int64"
          },
          "balance_cache": {
            "type": "integer",
            "format": "int64",
            "description": "供货余额（分）",
            "x-go-type": "int64"
          },
          "ip_whitelist": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "description": "IP 白名单（空=所有 IP 放行；精确 IP 或 CIDR）",
            "x-go-type": "[]string"
          }
        }
      },
      "zcard.api.storefront.v1.SupplierCredentialsReply": {
        "type": "object",
        "properties": {
          "id": {
            "type": "integer",
            "format": "uint64",
            "x-go-type": "uint64"
          },
          "protocol": {
            "type": "string",
            "x-go-type": "string"
          },
          "status": {
            "type": "string",
            "x-go-type": "string"
          },
          "api_key": {
            "type": "string",
            "description": "app_id（明文）",
            "x-go-type": "string"
          },
          "api_secret": {
            "type": "string",
            "description": "app_key（明文；重置后旧值立即失效）",
            "x-go-type": "string"
          }
        }
      },
      "zcard.api.storefront.v1.TeamMember": {
        "type": "object",
        "properties": {
          "user_id": {
            "type": "integer",
            "format": "uint64",
            "x-go-type": "uint64"
          },
          "username_masked": {
            "type": "string",
            "description": "脱敏（a***z）",
            "x-go-type": "string"
          },
          "tier": {
            "type": "integer",
            "format": "int32",
            "x-go-type": "int32"
          },
          "joined_at": {
            "type": "integer",
            "format": "int64",
            "x-go-type": "int64"
          }
        }
      },
      "zcard.api.storefront.v1.Ticket": {
        "type": "object",
        "properties": {
          "id": {
            "type": "integer",
            "format": "uint64",
            "x-go-type": "uint64"
          },
          "ticket_no": {
            "type": "string",
            "x-go-type": "string"
          },
          "type": {
            "type": "string",
            "x-go-type": "string"
          },
          "priority": {
            "type": "string",
            "x-go-type": "string"
          },
          "status": {
            "type": "string",
            "x-go-type": "string"
          },
          "order_id": {
            "type": "integer",
            "format": "uint64",
            "x-go-type": "uint64"
          },
          "product_id": {
            "type": "integer",
            "format": "uint64",
            "x-go-type": "uint64"
          },
          "first_reply_at": {
            "type": "integer",
            "format": "int64",
            "x-go-type": "int64"
          },
          "sla_due_at": {
            "type": "integer",
            "format": "int64",
            "x-go-type": "int64"
          },
          "satisfaction": {
            "type": "integer",
            "format": "int32",
            "x-go-type": "int32"
          },
          "created_at": {
            "type": "integer",
            "format": "int64",
            "x-go-type": "int64"
          }
        }
      },
      "zcard.api.storefront.v1.TicketMessage": {
        "type": "object",
        "properties": {
          "id": {
            "type": "integer",
            "format": "uint64",
            "x-go-type": "uint64"
          },
          "sender_type": {
            "type": "string",
            "description": "user | admin | system（内部备注已过滤）",
            "x-go-type": "string"
          },
          "content": {
            "type": "string",
            "x-go-type": "string"
          },
          "attachments": {
            "type": "array",
            "items": {
              "type": "integer",
              "format": "uint64"
            },
            "x-go-type": "[]uint64"
          },
          "created_at": {
            "type": "integer",
            "format": "int64",
            "x-go-type": "int64"
          }
        }
      },
      "zcard.api.storefront.v1.Tx": {
        "type": "object",
        "properties": {
          "id": {
            "type": "integer",
            "format": "uint64",
            "x-go-type": "uint64"
          },
          "direction": {
            "type": "string",
            "x-go-type": "string"
          },
          "type": {
            "type": "string",
            "x-go-type": "string"
          },
          "amount_cents": {
            "type": "integer",
            "format": "int64",
            "x-go-type": "int64"
          },
          "balance_after_cents": {
            "type": "integer",
            "format": "int64",
            "x-go-type": "int64"
          },
          "reference": {
            "type": "string",
            "x-go-type": "string"
          },
          "remark": {
            "type": "string",
            "x-go-type": "string"
          },
          "created_at": {
            "type": "integer",
            "format": "int64",
            "x-go-type": "int64"
          },
          "display_reference": {
            "type": "string",
            "description": "展示用业务单号，reference 保留原始幂等键",
            "x-go-type": "string"
          }
        }
      },
      "zcard.api.storefront.v1.UnreadCountReply": {
        "type": "object",
        "properties": {
          "count": {
            "type": "integer",
            "format": "int64",
            "x-go-type": "int64"
          }
        }
      },
      "zcard.api.storefront.v1.UpdateCartItemRequest": {
        "required": [
          "id",
          "quantity"
        ],
        "type": "object",
        "properties": {
          "id": {
            "type": "integer",
            "format": "uint64",
            "x-go-type": "uint64"
          },
          "quantity": {
            "type": "integer",
            "format": "int32",
            "x-go-type": "int32"
          }
        }
      },
      "zcard.api.storefront.v1.UpdateProfileRequest": {
        "type": "object",
        "properties": {
          "email": {
            "type": "string",
            "description": "新邮箱（空=不改；唯一性校验）",
            "x-go-type": "string"
          }
        }
      },
      "zcard.api.supply.v1.CancelSupplyOrderReply": {
        "type": "object",
        "properties": {
          "ok": {
            "type": "boolean",
            "x-go-type": "bool"
          }
        }
      },
      "zcard.api.supply.v1.CreateSupplyOrderReply": {
        "type": "object",
        "properties": {
          "supply_order_id": {
            "type": "string",
            "x-go-type": "string"
          },
          "status": {
            "type": "string",
            "description": "当前持久化状态包含 pending / paid / fulfilling / fulfilled / rejected / refunded；已交付使用 fulfilled，实付退款后为 refunded。",
            "x-go-type": "string"
          },
          "amount": {
            "type": "integer",
            "format": "int64",
            "description": "分",
            "x-go-type": "int64"
          },
          "fulfillment": {
            "$ref": "#/components/schemas/zcard.api.supply.v1.SupplyFulfillment",
            "x-go-type": "*SupplyFulfillment"
          },
          "error_code": {
            "type": "string",
            "x-go-type": "string"
          },
          "error_message": {
            "type": "string",
            "x-go-type": "string"
          }
        }
      },
      "zcard.api.supply.v1.CreateSupplyOrderRequest": {
        "type": "object",
        "properties": {
          "product_id": {
            "type": "string",
            "description": "商品标识（本地商品 id）",
            "x-go-type": "string"
          },
          "sku_id": {
            "type": "string",
            "description": "当前原生下单实现不消费该字段，不支持据此指定 SKU。",
            "x-go-type": "string"
          },
          "quantity": {
            "type": "integer",
            "format": "int32",
            "x-go-type": "int32",
            "description": "正整数，按 int32 解码；最终供货单价必须大于零，总金额不得超出 int64。"
          },
          "downstream_order_no": {
            "type": "string",
            "description": "必填，最多 64 个字符；与认证账号组成幂等键，同账号重复请求不得改变商品与数量。",
            "x-go-type": "string"
          },
          "callback_url": {
            "type": "string",
            "description": "可选（交付完成回调）",
            "x-go-type": "string"
          },
          "trace_id": {
            "type": "string",
            "x-go-type": "string"
          }
        }
      },
      "zcard.api.supply.v1.GetProductReply": {
        "type": "object",
        "properties": {
          "product": {
            "$ref": "#/components/schemas/zcard.api.supply.v1.SupplyProduct",
            "x-go-type": "*SupplyProduct"
          }
        }
      },
      "zcard.api.supply.v1.GetStockReply": {
        "type": "object",
        "properties": {
          "stock": {
            "type": "integer",
            "format": "int32",
            "description": "-1 = 无限",
            "x-go-type": "int32"
          }
        }
      },
      "zcard.api.supply.v1.GetSupplyOrderReply": {
        "type": "object",
        "properties": {
          "supply_order_id": {
            "type": "string",
            "x-go-type": "string"
          },
          "downstream_order_no": {
            "type": "string",
            "x-go-type": "string"
          },
          "status": {
            "type": "string",
            "x-go-type": "string",
            "description": "当前持久化状态包含 pending / paid / fulfilling / fulfilled / rejected / refunded；已交付使用 fulfilled，实付退款后为 refunded。"
          },
          "amount": {
            "type": "integer",
            "format": "int64",
            "x-go-type": "int64"
          },
          "fulfillment": {
            "$ref": "#/components/schemas/zcard.api.supply.v1.SupplyFulfillment",
            "x-go-type": "*SupplyFulfillment"
          }
        }
      },
      "zcard.api.supply.v1.ListCategoriesReply": {
        "type": "object",
        "properties": {
          "categories": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/zcard.api.supply.v1.SupplyCategory"
            },
            "x-go-type": "[]*SupplyCategory"
          }
        }
      },
      "zcard.api.supply.v1.ListProductsReply": {
        "type": "object",
        "properties": {
          "items": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/zcard.api.supply.v1.SupplyProduct"
            },
            "x-go-type": "[]*SupplyProduct"
          },
          "total": {
            "type": "integer",
            "format": "int64",
            "x-go-type": "int64"
          },
          "page_size": {
            "type": "integer",
            "format": "int32",
            "x-go-type": "int32"
          },
          "has_more": {
            "type": "boolean",
            "x-go-type": "bool"
          }
        }
      },
      "zcard.api.supply.v1.ListSupplyOrdersReply": {
        "type": "object",
        "properties": {
          "orders": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/zcard.api.supply.v1.SupplyOrderItem"
            },
            "x-go-type": "[]*SupplyOrderItem"
          }
        }
      },
      "zcard.api.supply.v1.PingReply": {
        "type": "object",
        "properties": {
          "protocol": {
            "type": "string",
            "description": "固定 \"zcard-supply-v2\"",
            "x-go-type": "string"
          },
          "version": {
            "type": "string",
            "description": "服务端版本",
            "x-go-type": "string"
          },
          "server_time": {
            "type": "integer",
            "format": "int64",
            "description": "unix 秒",
            "x-go-type": "int64"
          },
          "ok": {
            "type": "boolean",
            "x-go-type": "bool"
          },
          "name": {
            "type": "string",
            "description": "站点名",
            "x-go-type": "string"
          },
          "balance": {
            "type": "integer",
            "format": "int64",
            "description": "协议保留字段；当前 HTTP Ping 不注入账号，不可用于余额查询。",
            "x-go-type": "int64"
          },
          "currency": {
            "type": "string",
            "x-go-type": "string"
          }
        }
      },
      "zcard.api.supply.v1.RefundSupplyOrderReply": {
        "type": "object",
        "properties": {
          "ok": {
            "type": "boolean",
            "x-go-type": "bool"
          },
          "error_code": {
            "type": "string",
            "x-go-type": "string",
            "description": "不允许自动退款时为 refund_not_allowed；数据库或账本异常通过服务端错误返回。"
          },
          "error_message": {
            "type": "string",
            "x-go-type": "string"
          }
        }
      },
      "zcard.api.supply.v1.SupplyCategory": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "x-go-type": "string"
          },
          "name": {
            "type": "string",
            "x-go-type": "string"
          },
          "parent_id": {
            "type": "string",
            "x-go-type": "string"
          }
        }
      },
      "zcard.api.supply.v1.SupplyFulfillment": {
        "type": "object",
        "properties": {
          "status": {
            "type": "string",
            "description": "delivered | pending",
            "x-go-type": "string"
          },
          "cards": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "description": "已交付卡密（明文，经 TLS 传输）",
            "x-go-type": "[]string"
          },
          "instructions": {
            "type": "string",
            "x-go-type": "string"
          }
        }
      },
      "zcard.api.supply.v1.SupplyOrderItem": {
        "type": "object",
        "properties": {
          "id": {
            "type": "integer",
            "format": "uint64",
            "x-go-type": "uint64"
          },
          "downstream_order_no": {
            "type": "string",
            "x-go-type": "string"
          },
          "amount": {
            "type": "integer",
            "format": "int64",
            "description": "分",
            "x-go-type": "int64"
          },
          "status": {
            "type": "string",
            "description": "当前持久化状态包含 pending / paid / fulfilling / fulfilled / rejected / refunded；已交付使用 fulfilled，实付退款后为 refunded。",
            "x-go-type": "string"
          },
          "created_at": {
            "type": "integer",
            "format": "int64",
            "description": "unix 秒",
            "x-go-type": "int64"
          }
        }
      },
      "zcard.api.supply.v1.SupplyProduct": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "x-go-type": "string"
          },
          "name": {
            "type": "string",
            "x-go-type": "string"
          },
          "price": {
            "type": "integer",
            "format": "int64",
            "description": "分（供货价口径：定价覆盖 > 基础价）",
            "x-go-type": "int64"
          },
          "factory_price": {
            "type": "integer",
            "format": "int64",
            "description": "分（成本快照）",
            "x-go-type": "int64"
          },
          "category_id": {
            "type": "string",
            "x-go-type": "string"
          },
          "description": {
            "type": "string",
            "x-go-type": "string"
          },
          "cover": {
            "type": "string",
            "x-go-type": "string"
          },
          "is_active": {
            "type": "boolean",
            "x-go-type": "bool"
          },
          "stock": {
            "type": "integer",
            "format": "int32",
            "description": "当前商品列表与详情未填充，请调用库存接口。",
            "x-go-type": "int32"
          },
          "skus": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/zcard.api.supply.v1.SupplySku"
            },
            "x-go-type": "[]*SupplySku",
            "description": "当前商品列表与详情未填充。"
          }
        }
      },
      "zcard.api.supply.v1.SupplySku": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "x-go-type": "string"
          },
          "code": {
            "type": "string",
            "x-go-type": "string"
          },
          "price": {
            "type": "integer",
            "format": "int64",
            "x-go-type": "int64"
          },
          "stock": {
            "type": "integer",
            "format": "int32",
            "x-go-type": "int32"
          },
          "is_active": {
            "type": "boolean",
            "x-go-type": "bool"
          }
        }
      }
    },
    "securitySchemes": {
      "bearerAuth": {
        "type": "http",
        "scheme": "bearer",
        "bearerFormat": "JWT",
        "description": "商城 user 与后台 admin 为不同 realm，不能混用。部分登录与公开接口无需令牌。"
      },
      "supplyKey": {
        "type": "apiKey",
        "in": "header",
        "name": "X-Supply-Key",
        "description": "同时需要 X-Supply-Timestamp、X-Supply-Nonce 和 X-Supply-Signature；完整算法见站内鉴权文档。"
      }
    }
  },
  "tags": [
    {
      "name": "AdminAuditService",
      "description": "AdminAuditService 审计与风控管理：三类日志查询、黑名单管理。"
    },
    {
      "name": "AdminAuthService",
      "description": "AdminAuthService 管理后台认证（admin realm JWT，双 realm 防提权串用）。\n 登录 / 登出 / 当前身份（含权限点，供前端动态路由）。"
    },
    {
      "name": "AdminCatalogService",
      "description": "AdminCatalogService 商品目录管理：商品/分类/标签/控件/商品组/评价。"
    },
    {
      "name": "AdminContentService",
      "description": "AdminContentService 内容管理：横幅/文章/分类 CRUD。\n content_json 入库前经 sanitize（与商品描述同一策略）；slug 唯一。"
    },
    {
      "name": "AdminCouponService",
      "description": "AdminCouponService 优惠券管理(基础版：批量生成/列表/作废）。"
    },
    {
      "name": "AdminCurrencyService",
      "description": "AdminCurrencyService 货币管理（；多币种展示，记账永远基础货币）。"
    },
    {
      "name": "AdminDashboardService",
      "description": "AdminDashboardService 工作台指标(v1）。"
    },
    {
      "name": "AdminFulfillmentService",
      "description": "AdminFulfillmentService 履约管理：待发货列表 + 手动交付。"
    },
    {
      "name": "AdminInstallService",
      "description": "AdminInstallService 在线安装（Public——仅未安装时可用；已安装后 status 只读、install 拒绝）。\n 部署形态：SQLite 零依赖起步（无需数据库/Redis 配置），浏览器打开 → 设管理员 → 完成。\n 数据库/Redis 属部署层配置（config.yaml / env），不进安装向导。"
    },
    {
      "name": "AdminInventoryService",
      "description": "AdminInventoryService 卡密库存管理：导入/导出/列表/操作。"
    },
    {
      "name": "AdminLicenseService",
      "description": "AdminLicenseService 订阅许可证管理：安装/查询/清除。\n 校验引擎 ed25519 签名 + 实例 ID/域名绑定 + 到期（fail-closed）。"
    },
    {
      "name": "AdminLotteryService"
    },
    {
      "name": "AdminMediaService",
      "description": "AdminMediaService 素材库管理：分类/上传/列表/改名/移动/批量删除\n （ref_count>0 需 confirm）/外链导入/复制链接。\n 上传走 base64（10MB 图 ~13.7MB JSON；管理面可接受，走统一中间件栈）。"
    },
    {
      "name": "AdminMemberLevelService",
      "description": "AdminMemberLevelService 会员等级管理。"
    },
    {
      "name": "AdminNotifyService",
      "description": "AdminNotifyService 通知管理：模板 CRUD/测试发送、发送日志查询/重发。"
    },
    {
      "name": "AdminOrderService",
      "description": "AdminOrderService 订单管理。"
    },
    {
      "name": "AdminPaymentService",
      "description": "AdminPaymentService 支付管理：渠道 CRUD + 支付单 + 退款。"
    },
    {
      "name": "AdminProcurementService",
      "description": "AdminProcurementService 采购管理：采购单列表/详情/手动重试/手动标记完成。"
    },
    {
      "name": "AdminResellerService",
      "description": "AdminResellerService 分站管理(主站面核心）：申请审核/列表/定价/账本/余额。\n 域名验证与分站后台完整面随 storefront 用户登录体系接续（核心引擎已就绪）。"
    },
    {
      "name": "AdminSettingsService",
      "description": "AdminSettingsService 设置中心（settings 表 = 运行时业务开关真理源，铁律 7）。\n 读写 API；起补齐安装向导状态与分组目录。"
    },
    {
      "name": "AdminSupplierService",
      "description": "AdminSupplierService 对外供货管理：下游账户申请/审核/启停/重置密钥、\n 供货定价 CRUD、账本流水、回调记录查询与手动重发。"
    },
    {
      "name": "AdminSupplyService",
      "description": "AdminSupplyService 货源连接管理：上游连接 CRUD + Ping 探活、\n 商品映射规则、同步任务（创建/列表/详情/取消）、连接健康。\n 凭据纪律：credentials 仅创建时明文传入，任何响应都不回显密文\n （列表/详情只给 credentials_set 布尔，铁律 11）。"
    },
    {
      "name": "AdminTicketService",
      "description": "AdminTicketService 客服工单工作台：urgent_paid 置顶持续高亮、\n 认领/回复/内部备注/解决/关闭、筛选。"
    },
    {
      "name": "AdminUpdateService",
      "description": "AdminUpdateService 在线更新（doc/在线更新方案.md ；system:update 超管专属）。\n 更新链：备份 DB → 落盘下载（流式哈希+进度）→ 原子替换 → 重启三分支；\n 重启后本接口随新进程复活——前端轮询 status 直到 current==target 即成功。"
    },
    {
      "name": "AdminUserManageService",
      "description": "AdminUserManageService 前台用户管理（storefront 注册用户；员工管理见\n AdminUserService——两者数据域独立，勿混）。"
    },
    {
      "name": "AdminUserService",
      "description": "AdminUserService 员工管理（数据层归 identity，API 面在此；）。"
    },
    {
      "name": "AdminWalletService",
      "description": "AdminWalletService 钱包管理：调账/充值单/流水查询。\n\n 路由注册顺序注意：protoc-gen-go-http 按方法声明顺序注册路由，而\n gorilla/mux 按注册顺序匹配（先注册先命中），因此所有静态路径方法必须\n 声明在含 {user_id} 通配段的方法之前，否则 /wallet/withdrawals 等会被\n /wallet/{user_id} 吞掉并误解析为 CODEC 400。"
    },
    {
      "name": "RoleService",
      "description": "RoleService 角色与权限管理（自建 RBAC，规划 ；）。\n 权限目录由模块声明式生成（authz.Declare），本服务只读下发供前端勾选与动态路由。"
    },
    {
      "name": "StoreAffiliateService",
      "description": "StoreAffiliateService 我的分销：推广码/团队/佣金流水/统计。"
    },
    {
      "name": "StoreCaptchaService",
      "description": "StoreCaptchaService 图形验证码（免鉴权；4 位数字——settings.security.captcha_* 场景开关）。"
    },
    {
      "name": "StoreCartService",
      "description": "StoreCartService 购物车(销账）：登录态专属 CRUD；\n 结算复用 StoreOrderService.CreateOrder（多商品一单支付，零下单改动）。"
    },
    {
      "name": "StoreCatalogService",
      "description": "StoreCatalogService 顾客前台商品目录（游客可访问；隐藏商品对游客 404，规划)。\n ； 骨架先打通「租户上下文 → Ent 查询 → 薄 service」链路。"
    },
    {
      "name": "StoreContentService",
      "description": "StoreContentService 前台内容：横幅（生效时间窗）、文章（公告/博客）、分类。\n 多语言字段按请求语言回落（zh_CN 默认）。"
    },
    {
      "name": "StoreCouponService",
      "description": "StoreCouponService 前台营销：我的券/兑换码领券/秒杀营销位。"
    },
    {
      "name": "StoreDeliveryService",
      "description": "StoreDeliveryService 顾客取货(三重门：单号+密码+限流）。"
    },
    {
      "name": "StoreLicenseService",
      "description": "StoreLicenseService 专业套餐在线购买(：发行侧部署配置签发私钥后开放；\n 支付 = 钱包余额扣款（充值管线入账的钱），签发与扣款同事务；购买人下载许可证\n 文件后在目标实例后台安装激活）。"
    },
    {
      "name": "StoreLotteryService"
    },
    {
      "name": "StoreMediaService",
      "description": "StoreMediaService 前台媒体（登录态；收款码上传——复用 media 安全三件套）。"
    },
    {
      "name": "StoreMemberLevelService",
      "description": "StoreMemberLevelService 会员等级(：等级进度 + 积分产生）。"
    },
    {
      "name": "StoreNotificationService",
      "description": "StoreNotificationService 站内信铃铛：未读数/列表/已读。"
    },
    {
      "name": "StoreOrderService",
      "description": "StoreOrderService 顾客下单。"
    },
    {
      "name": "StorePaymentService",
      "description": "StorePaymentService 顾客支付。"
    },
    {
      "name": "StoreReviewService"
    },
    {
      "name": "StoreSupplierService",
      "description": "StoreSupplierService 前台对接申请（个人中心）：申请成为供货商户 →\n 后台审核 → 凭据管理（app_id + api_secret）。\n 通过后凭据可直接填入 acg-faka/dujiao-next/zcard 三面板（协议由申请时选定）。"
    },
    {
      "name": "StoreTicketService",
      "description": "StoreTicketService 用户工单：创建/列表/详情/回复/评价/付费加急。\n 游客可创建（guest_contact 必填）；内部备注用户侧自动过滤。"
    },
    {
      "name": "StoreUserService",
      "description": "StoreUserService 用户中心(前置）：注册/登录（user realm JWT）/我的信息。\n 注册可带邀请码（ref=<user_id>）——三级分销归因链写入（环状拒绝）。"
    },
    {
      "name": "StoreWalletService",
      "description": "StoreWalletService 顾客钱包：余额/积分/流水/充值。"
    },
    {
      "name": "StorefrontConfigService",
      "description": "StorefrontConfigService 前台公开配置。\n 输出经 PUBLIC_KEYS 白名单过滤（SECRET 键绝不外泄——快照测试守护）；\n storefront 前端模板参数、交易开关、启用语言/货币由此驱动。"
    },
    {
      "name": "SupplyService",
      "description": "SupplyService 对外供货 API（本站作上游，ZCard Supply v2 协议）。\n 里程碑 完整落地：HMAC 四头鉴权（X-Supply-Key/Timestamp/Nonce/Signature）、\n ±300s 时间窗、Nonce 防重放、按 key 限流（规划)。\n Ping 免签名（连通性探测）；其余端点全部需要签名。\n 金额口径：一律「分」（int64）——与 zcard 适配器对偶。"
    }
  ],
  "x-source-commit": "8d546e423153e3255284692b8db05d4b49b64dc2"
}
