API 参考
SDK 使用的公开接口:配置拉取、事件上报、公开内容与密钥模型。
基址 https://api.soobro.com/v1。公开接口用站点公钥鉴权并校验 Origin 白名单;写接口需要服务端私钥或 API Key。
GET /sdk/config
GET /sdk/config?site=pk_live_xxx&path=/blog/hello&locale=en响应(节选):
{
"data": {
"site": { "publicKey": "pk_live_xxx", "brand": { "name": "Acme" }, "defaultLocale": "zh-CN", "locales": ["zh-CN", "en"], "urlStrategy": "path-prefix" },
"rule": { "id": "rule_01", "pageType": "article", "title": "{title} | Acme", "description": "{summary}", "canonical": "https://example.com/en/blog/hello", "noindex": false, "og": {}, "twitter": {} },
"jsonLd": [],
"hreflang": [{ "locale": "en", "hreflang": "en", "href": "https://example.com/en/blog/hello" }],
"webmcp": { "enabled": true, "tools": ["site_search"] },
"version": "1.4.0"
}
}边缘缓存 max-age=300,发布时失效。
POST /sdk/events
{ "site": "pk_live_xxx", "events": [{ "type": "page_view", "path": "/blog/hello", "locale": "en", "ruleId": "rule_01", "ts": "2026-11-02T03:00:00Z" }] }最多 100 条/次;只做聚合统计,不设置 cookie。
公开内容接口
| 方法 | 路径 | 说明 |
|---|---|---|
| GET | /public/sites/{publicKey}/articles?locale=&categorySlug= | 已发布文章列表 |
| GET | /public/sites/{publicKey}/articles/{slug}?locale= | 文章详情(含 JSON-LD、来源、相关文章) |
| GET | /public/sites/{publicKey}/categories?locale= | 栏目树 |
| GET | /public/sites/{publicKey}/search?locale=&q= | 站内搜索 |
密钥
| 密钥 | 用途 | 位置 |
|---|---|---|
pk_live_… 公钥 | 配置拉取、事件上报、公开内容 | 可暴露在前端 |
sk_live_… 私钥 | 服务端 SSR 拉取、签名请求 | 仅服务端 |
| API Key | 控制台 设置 → API 密钥,带权限点与站点范围 | 第三方集成 |
轮换私钥后旧密钥保留 24 小时宽限期。
错误
错误体为 { "error": { "code", "message", "requestId" } };常见 NOT_FOUND(公钥错误)、RATE_LIMITED、VALIDATION_FAILED。