通知接口
服务地址:https://cmp-api.boss160.cn
认证方式:Bearer <JWT>
通知枚举
通知类别
| 值 |
说明 |
approval |
审批 |
expiry |
临期 |
sync |
同步 |
system |
系统 |
通知级别
| 值 |
说明 |
info |
提示 |
warning |
警告 |
error |
错误 |
critical |
严重 |
查询通知未读数
GET /api/admin/notifications/unread-count
查询当前认证后台账号的未过期未读通知数量,超过 99 条时显示 99+。
成功响应
| 字段 |
类型 |
说明 |
| data.count |
integer |
未读通知数量 |
| data.display_count |
string |
徽标显示文本,超过 99 时为 99+ |
查询通知未读分类汇总
GET /api/admin/notifications/unread-summary
查询当前账号未过期通知的总未读数及分类数量。
成功响应
| 字段 |
类型 |
说明 |
| data.approval |
integer |
审批类未读数量 |
| data.expiry |
integer |
临期类未读数量 |
| data.sync |
integer |
同步类未读数量 |
| data.system |
integer |
系统类未读数量 |
| data.total |
integer |
未读通知总数 |
查询通知列表
GET /api/admin/notifications
查询当前认证后台账号的未过期通知,按创建时间和通知 ID 倒序返回。
请求参数
| 参数 |
类型 |
必填 |
说明 |
| category |
string |
否 |
通知类别:approval、expiry、sync、system |
| type |
string |
否 |
稳定通知类型 |
| severity |
string |
否 |
通知级别:info、warning、error、critical |
| is_read |
boolean |
否 |
已读状态;不传查询全部 |
| page |
integer |
否 |
页码,默认 1,范围 1~10000 |
| page_size |
integer |
否 |
每页数量,默认 20,范围 1~50 |
成功响应
返回字段
| 字段 |
类型 |
说明 |
| data.items |
array |
通知列表 |
| data.page |
integer |
当前页码 |
| data.size |
integer |
每页数量 |
| data.total |
integer |
总数量 |
| items[].id |
integer |
通知 ID |
| items[].category |
string |
通知类别 |
| items[].type |
string |
稳定通知类型 |
| items[].severity |
string |
通知级别 |
| items[].title |
string |
纯文本标题 |
| items[].body |
string |
纯文本正文 |
| items[].is_read |
boolean |
是否已读 |
| items[].read_at |
string/null |
首次已读时间 |
| items[].ref_type |
string |
受控资源类型,不是前端路由 |
| items[].ref_id |
string |
受控资源数字 ID 字符串 |
| items[].ref_key |
string |
受控资源稳定 Key 或展示快照 |
| items[].created_at |
string |
创建时间 |
标记单条通知已读
PUT /api/admin/notifications/{id}/read
标记当前账号的一条通知为已读。通知不存在、属于其他账号或已经已读时均幂等成功。
路径参数
| 参数 |
类型 |
必填 |
说明 |
| id |
integer |
是 |
通知 ID,最小值为 0 |
请求体
| 字段 |
类型 |
必填 |
说明 |
| id |
integer |
是 |
通知 ID,必须与路径参数一致 |
请求示例:
成功响应
批量标记通知已读
PUT /api/admin/notifications/read-all
批量标记当前账号通知为已读。未传类别时更新全部未过期未读通知,传类别时只更新对应类别。
请求体
| 字段 |
类型 |
必填 |
说明 |
| category |
string |
否 |
通知类别:approval、expiry、sync、system |
请求示例:
成功响应
| 字段 |
类型 |
说明 |
| data.updated_count |
integer |
本次实际更新的通知数量 |
解析通知受控目标
GET /api/admin/notifications/{id}/target
校验通知属于当前账号后,复核目标资源当前权限,返回白名单结构化目标。不会返回任意 URL。
路径参数
| 参数 |
类型 |
必填 |
说明 |
| id |
integer |
是 |
通知 ID,最小值为 0 |
成功响应
| 字段 |
类型 |
说明 |
| data.available |
boolean |
当前账号是否仍可访问目标 |
| data.target_type |
string |
前端白名单目标类型,空表示不支持跳转 |
| data.target_id |
integer/null |
ID 型目标业务主键 |
| data.target_key |
string |
Key 型目标稳定定位值 |
target_type 白名单
| 值 |
说明 |
refund_detail |
退款详情 |
agent_recharge_detail |
代理充值详情 |
wecom_approval_detail |
企微审批详情 |
iot_card_detail |
IoT 卡详情 |
device_detail |
设备详情 |
expiring_asset_list |
临期资产列表 |
shop_fund_summary |
店铺资金概况 |
system_config |
系统配置 |
业务规则
- 通知只返回当前认证后台账号的未过期通知。
ref_type、ref_id 和 ref_key 是受控资源引用,不是前端 URL。
- 点击通知后必须调用目标解析接口,由
target_type 和 available 决定是否跳转。
available=false 或 target_type 为空时,只展示通知正文,不执行跳转。
- 前端维护
target_type 到页面的白名单映射,不得根据通知字段拼接任意 URL。
- 已读操作必须支持幂等调用。
错误响应
适用于以上接口:
| HTTP 状态码 |
说明 |
| 400 |
请求参数错误 |
| 401 |
未认证或认证已过期 |
| 403 |
无权访问 |
| 500 |
服务器内部错误 |
错误响应示例: