查询订阅规则 POST /v1/subscription/product/query
用途:签约前拉取产品配置及当前生效中的定价策略列表。数据不经 subscription-pay 本地缓存,每次请求直达 cutpayment-config(与内部 Dubbo getProductWithStrategiesNoCache 语义一致)。
说明:对外 data 使用 subscription-pay 包装结构,不返回内部扣款重试治理字段 maxRetryCount、retryIntervals;不返回主键 id 及创建人、修改人、创建时间、修改时间等审计字段(产品与策略均如此)。
Request Header
| Header | 必填 | 说明 |
|---|---|---|
Baofu-Mch-ID |
是 | 统一会员编号;服务端写入 Body 的 unifiedMemberNo |
Request Body 字段
| 字段 | 必填 | 说明 |
|---|---|---|
unifiedMemberNo |
是(由 Header 覆盖) | 统一会员编号,以 Baofu-Mch-ID Header 为准,服务端自动填入 |
externalProductCode |
否 | 外部产品编号,最长 64 |
约束:unifiedMemberNo 必填(由 Header Baofu-Mch-ID 提供);externalProductCode 为可选过滤条件,可为空(返回该会员下所有产品);其余校验与错误码以配置中心 FacadeValidator 为准。
Response data 结构(成功时)
data 类型为 JSON 数组(array),每个元素为一个「产品 + 策略」组合对象。
data[] 数组元素字段
| 字段 | 类型 | 说明 |
|---|---|---|
product |
object | 产品配置对象,字段见下表 |
strategies |
array | 该产品下生效中的定价策略列表(按优先级降序排列,无生效策略时为空数组 []) |
data[].product 字段(对外模型:无重试治理字段、无审计字段)
| 字段 | 类型 | 说明 |
|---|---|---|
unifiedMemberNo |
string | 统一会员编号(配置归属) |
productCode |
string | 内部产品编码 |
externalProductCode |
string | 外部产品编号 |
productName |
string | 产品名称 |
cycleType |
string | 周期类型,如 MONTH |
cycleValue |
number | 周期值 |
fixedDay |
number | 固定扣款日(依周期模型) |
baseAmount |
number | 基础金额(分) |
totalPeriod |
number | 总期数;null 表示永续订阅 |
currency |
string | 币种 |
status |
string | ENABLED / DISABLED |
description |
string | 描述 |
data[].strategies[] 每项字段(无主键与审计字段)
| 字段 | 类型 | 说明 |
|---|---|---|
unifiedMemberNo |
string | 统一会员编号 |
strategyCode |
string | 策略编码 |
productCode |
string | 内部产品编码 |
merchantNo |
string | 商户号(可空表示通配) |
pricingType |
string | 定价类型,如 FIRST_PERIOD_DISCOUNT |
priority |
number | 优先级(降序排列) |
strategyParams |
string | 策略参数 JSON |
effectiveStart / effectiveEnd |
string | 生效起止时间 |
status |
string | ENABLED / DISABLED |
成功响应示例
{
"success": true,
"code": null,
"message": null,
"data": [
{
"product": {
"unifiedMemberNo": "UM_NEW_10001",
"productCode": "PC202603260001",
"externalProductCode": "MONTHLY_VIP",
"productName": "月度会员",
"cycleType": "MONTH",
"cycleValue": 1,
"fixedDay": null,
"baseAmount": 1990,
"totalPeriod": 12,
"currency": "CNY",
"status": "ENABLED",
"description": "月度VIP会员订阅"
},
"strategies": [
{
"unifiedMemberNo": "UM_NEW_10001",
"strategyCode": "STR202603260001",
"productCode": "PC202603260001",
"merchantNo": null,
"pricingType": "FIRST_PERIOD_DISCOUNT",
"priority": 100,
"strategyParams": "{\"discountRate\":0.8}",
"effectiveStart": "2026-01-01 00:00:00",
"effectiveEnd": "2026-12-31 23:59:59",
"status": "ENABLED"
}
]
}
]
}
失败 / 未命中:未命中产品配置时业务上可能返回错误码(如产品不存在),以实际 code/message 为准。