POST管理接口
创建看板卡片
保存一份指标 DSL 查询定义。只存定义不存结果——结果随时间范围变化, 缓存下来只会给出过期数字。 `query` 在写入时就按指标 DSL 完整校验(含公式语法),不合法直接 400, 以免一张存坏的卡片在每次打开看板时炸一遍。
URL
/api/v1/admin/projects/{projectKey}/events/dashboards/cards鉴权方式
需要管理员 JWT 或 API Key,二者等价(Authorization: Bearer <token>)
请求参数
Path 参数
| 名称 | 类型 | 必填 | 说明 |
|---|---|---|---|
| projectKey | string | 是 | 项目主键 project_key(大小写不敏感) |
Header 参数
| 名称 | 类型 | 必填 | 说明 |
|---|---|---|---|
| Authorization | string | 是 | Bearer <管理员 JWT 或 API Key> |
请求体
{
"title": "string",
"description": "string",
"query": {
"type": "value",
"events": [
{
"name": "checkout_completed",
"alias": "A",
"measure": "unique_users"
},
{
"name": "cart_viewed",
"alias": "B",
"measure": "unique_users"
}
],
"formula": "A / B * 100"
},
"layout": {},
"sort_order": 0
}响应示例
201 响应
{
"card_id": "string",
"project_key": "string",
"title": "string",
"description": "string",
"query": {
"type": "value",
"events": [
{
"name": "checkout_completed",
"alias": "A",
"measure": "unique_users"
},
{
"name": "cart_viewed",
"alias": "B",
"measure": "unique_users"
}
],
"formula": "A / B * 100"
},
"layout": {},
"sort_order": 0,
"created_time": 0,
"updated_time": 0
}POST
