GEO
GEO Docs

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。