引见/文档/快速开始 · 5 分钟
开放 API · 入门

快速开始 · 5 分钟

签发一个只读密钥,完成第一个请求,再查出一个时间窗内的品牌可见度。

更新于 2026-08-25·约 5 分钟阅读·复制链接

开始前

你需要一个引见商户账号、至少一批已经由桌面客户端采集并回传的数据,以及一个 API 密钥。开放 API 是已采集 GEO 数据的只读出口,不能发起新的 AI 引擎采集。

1 · 签发密钥

在引见桌面客户端的「API 密钥」页创建密钥,填写便于识别的名称并只授予需要的读取 scope。完整密钥只显示一次;立即复制到密码管理器或密钥管理服务,不要写进代码仓库、日志或前端包。

bash
export YINJEN_API_KEY="yj_live_replace_with_your_key"

2 · 第一个请求

读取引擎目录不需要任何业务参数,适合先验证网络、鉴权和响应头。成功时返回 12 个引擎的稳定 id、名称与颜色。

bash
curl https://api.zhimahang.com/v1/engines \
  -H "Authorization: Bearer $YINJEN_API_KEY"

保存响应头里的 X-Request-Id。若请求失败,它是支持人员定位同一次服务端请求的唯一抓手。

3 · 第一个有意义的查询

下面查询半开时间窗 [since, until) 内的可见度时间序列。时间值是 Unix 毫秒;示例窗口为 7 天。生产集成应在每次运行时计算窗口,不要长期照抄示例时间戳。

bash
curl --get https://api.zhimahang.com/v1/metrics/visibility \
  -H "Authorization: Bearer $YINJEN_API_KEY" \
  --data-urlencode "since=1787558400000" \
  --data-urlencode "until=1788163200000"

Python · 仅标准库

python
import json, os, time, urllib.parse, urllib.request

base = os.getenv("YINJEN_API_BASE", "https://api.zhimahang.com")
key = os.environ["YINJEN_API_KEY"]
until = int(time.time() * 1000)
since = until - 7 * 24 * 60 * 60 * 1000
query = urllib.parse.urlencode({"since": since, "until": until})
request = urllib.request.Request(
    f"{base}/v1/metrics/visibility?{query}",
    headers={"Authorization": f"Bearer {key}"},
)
with urllib.request.urlopen(request, timeout=30) as response:
    print(json.dumps(json.load(response), ensure_ascii=False, indent=2))

Node.js 18+

javascript
const base = process.env.YINJEN_API_BASE ?? "https://api.zhimahang.com";
const key = process.env.YINJEN_API_KEY;
if (!key) throw new Error("YINJEN_API_KEY is required");
const until = Date.now();
const since = until - 7 * 24 * 60 * 60 * 1000;
const url = new URL("/v1/metrics/visibility", base);
url.search = new URLSearchParams({ since: String(since), until: String(until) });
const response = await fetch(url, { headers: { Authorization: `Bearer ${key}` } });
if (!response.ok) throw new Error(`HTTP ${response.status}: ${await response.text()}`);
console.log(JSON.stringify(await response.json(), null, 2));
开放 API 只读取已经采集的数据。查不到数据时,先确认桌面客户端已完成采集与回传,再核对时间窗。
鉴权与密钥管理