"entrypoint": {"type": "external_https", "base_url": "https://hooks.acme.example", "health_path": "/healthz"},
"permissions": ["events.site.read", "events.security.read"],
"subscriptions": ["io.cdnca.site.v1.updated", "io.cdnca.security.v1.incident_detected"]
"entrypoint": {
"type": "ui_page",
"origin": "https://ui.acme.example",
"api_base_url": "https://api.acme.example/v1",
"pages": [{
"id": "report", "path": "/report", "mount": "menu", "menu_parent": "monitor",
"role": "admin", "title": {"zh-CN": "报表", "en-US": "Reports"}, "required_permission": "sites.read"
}]
},
"permissions": ["platform.ui_pages.provide"]
| 字段 | 要求 |
|---|
| subscriptions[] | 最多 64 个事件类型,形如 io.cdnca.site.v1.updated |
|---|
| webhooks[] | 最多 64 个可接收的 Webhook 能力码,每个安装单独批准 |
|---|
| origin | https://<DNS 主机名>,默认端口,可带结尾 /;必须是你已验证的页面来源 |
|---|
| api_base_url | 可选,https,主控把页面的受限 API 请求代理到这里;其 origin 也必须已验证 |
|---|
| pages[] | 1–16 页:id ^[a-z][a-z0-9-]{0,31}$、path(以 / 开头)、mount(menu 或 site_tab)、role(admin 或 user)、title(zh-CN 必填,最多 32 字) |
|---|
| menu_parent | mount=menu 时必填:admin 为 monitor/node/site/stream/config/package/finance/system,user 为 monitor/site/stream/user-package/account;site_tab 不能填 |
|---|
| required_permission / required_module | 可选的显示门槛(权限码不能是 platform.admin;模块形如 module.xxx、pack.xxx、theme.xxx) |
|---|
| permissions | ui_page 必须包含 platform.ui_pages.provide;ui_page 不能声明 provides |
|---|