1. 返回 403(未授权)
依次检查以下四项:AIBase-API-Key是否有效(是否复制完整、有无多余空格)。- Key 是否已过期。
- 客户端出口 IP 是否在 Key 的 IP 白名单内(未配置白名单时默认放行)。
- 该 Key 是否被授予目标
apiCode的调用权限(仅在 Key 开启权限限制时校验)。
服务端校验顺序为:Key 有效性 → 有效期 → IP 白名单 →
apiCode 是否存在且启用 → 调用权限。任一环节不通过都会返回 403 或 4002。2. 返回 4001(所需参数不足)
常见原因:AIBase-API-Key 为空、请求体为空、apiCode 为空,或某个接口的必填业务参数缺失。
- 多数业务接口要求
data.brandId必填,缺失即返回4001。 - 先调用品牌列表查询拿到有效的
brandId,再调用其他接口。
3. 返回 4002(参数错误 / API 不存在)
- 核对
apiCode拼写,确认它与目标接口文档一致。 - 确认该
apiCode对应的 API 仍处于启用状态。 - 检查业务参数类型与取值,例如分页接口的
pageSize超过上限会被自动截断而非报错。
4. 返回 4021(品牌不存在)
按brandId 查询不到品牌。请用品牌列表查询核对当前 Key 所属账号下的真实品牌 ID —— 品牌是账号级资源,换 Key 后品牌 ID 也会不同。
5. 返回 2001(暂无数据)
这不是调用失败,而是业务上未查询到数据,应按空结果处理。常见场景:- 时间范围内该品牌尚未产生监测数据。
- 筛选条件过窄(如指定了某个 AI 平台或情感类型)。
- 分组结构接口无数据时,
llm.intention返回空数组[],llm.prompt返回空对象。
6. 返回 500(系统异常)
服务端执行异常。建议稍后有限重试,并携带AIBase-Request-Id、apiCode、请求参数与调用时间反馈排查。
7. 时间范围相关
带startDate / endDate 的接口遵循统一规则:
- 不传时默认查询最近 7 天。
endDate晚于今天会被自动截断为今天。- 起止时间跨度最大 6 个月。
- 开始日期晚于结束日期将直接报错。
8. 解析结果不符合预期
按data 的四种形态分别处理,不要用同一套解析逻辑套所有接口:
9. 本地联调
本地开发环境服务端口为6006,可直接调用 http://localhost:6006/v1/openapi/execute;生产环境替换为 https://geobaseapi.aibase.com。