Skip to main content

📄 正文

一个主体可以同时被多条规则约束,系统在每个维度上取最严值合并出「有效限额」。query-quota 返回的就是这份合并结果与当期已用,剩余额度平台已代为算出;规则本身的调整走 update-rule(全量替换)与 change-rule-status(启停),查阅走 query-rulelist-rules。规则创建见创建限额规则,合并模型的概念主线见限额与账单

查询有效额度

GET /open-api-corp/velocity/v1/query-quota——查某主体(卡 / 员工)合并后的有效限额与当期已用。

请求参数(Query String)

额度对象:读懂响应的钥匙

响应里每个周期节点(daily / monthly / quarterly / yearly)都是一个「额度对象」。金额侧与笔数侧字段名不同,结构一一对应:
单笔限额是例外perTransaction 额度对象只有 limitAmountsourceRuleId 两个字段——单笔不累计,没有已用、剩余、使用率与周期键。

响应 data 结构

响应示例

(示例为节省篇幅省略了部分取现周期节点,实际响应四个周期节点齐全。)

错误码

更新规则

POST /open-api-corp/velocity/v1/update-rule——全量替换:请求中未包含的维度 / 控制组即删除;对已绑定主体即时生效
更新是全量提交,不是增量合并:remark 不传即清空;某控制组不传即删除该控制组(等于不限);amountLimits 中未包含的币种组即删除。五个控制组仍须至少配置一组——要停用整条规则请走启停接口,不要靠清空控制组。更新前建议先调 query-rule 拿到完整配置,在其上修改后整体提交。
请求字段与创建规则的五个控制组完全一致,差别在顶层: 响应 data 为更新后的完整规则对象(结构与创建响应一致),其中 ruleVersion 已自增。
未配置的控制组返回 null 而不是空对象——空对象会让您误以为配了一个空名单。
除创建规则的错误码之外,更新另有:

启停规则

POST /open-api-corp/velocity/v1/change-rule-status——在 ACTIVEINACTIVE 间切换。INACTIVE 不参与任何交易校验,但保留既有绑定关系,重新启用即恢复约束,不需要逐个解绑。 响应 dataruleIdruleName(供客户端确认改对了规则)、status(变更后状态)、ruleVersion(变更后的新值,下次更新须用它)、bindingCountmodifyTime
停用前建议用响应中的 bindingCount 提示客户:该规则正约束着 N 个主体,停用后这些主体不再受本规则控制。

查规则详情与列表

详情GET /open-api-corp/velocity/v1/query-rule——传 organizationId + ruleId,返回完整规则对象(结构与创建响应一致,含 ruleVersionbindingCount 与五个控制组)。规则不存在或不属所传 organizationId 时返回 VELOCITY_RULE_NOT_FOUND 列表GET /open-api-corp/velocity/v1/list-rules——分页查询组织下的规则,只返摘要。 响应 data 为标准分页壳:page / pageSize / total + result[],每项含 ruleIdruleNamestatusbindingCountmodifyTime
total 是数字,bindingCount 是字符串——后者声明为装箱 Long,经序列化器出参为字符串。解析时请分别处理。

下一步