SuperAPI AI 工具集

consuming-endpoints-from-client-code

编程与开发

查看项目

更新于 10-16 08:07

技能介绍

用途:这是创建端点的调用侧技能,用于将已有端点接入独立代码库(移动应用、后端、客户端仪表盘或下游数据管道),不修改 PostHog 代码。

主要能力:提供 endpoint-get(查看端点完整配置与变量)、endpoint-openapi-spec(生成 OpenAPI 3.0 规范,可喂给代码生成器)、endpoint-run(实时测试调用)。端点 URL 为 /api/projects/{team_id}/endpoints/{name}/run,POST 为规范方法,变量放在请求体中。

使用方式:认证使用个人 API 密钥,请求头为 Authorization: Bearer <key>,需至少 endpoint:read 权限(403 通常为缺权限,401 为密钥缺失或格式错误)。请求载荷包含 variables、limit、offset、refresh(cache/force/direct)。生成类型化客户端可用 openapi-ts -i spec.json -o ./generated、openapi-generator-cli generate -i spec.json -g typescript-fetch -o ./generated、oapi-codegen -package=client spec.json > client.go 等命令。CLI 可通过 posthog-cli exp endpoints run 或 {list,get,pull,push,diff} 执行和管理。

限制:个人 API 密钥只能用于服务端,禁止放入面向终端用户的客户端代码(移动应用、浏览器 JS)。物化端点(is_materialized: true)要求每次调用传入全部声明变量,否则返回 400。建议用 ?version=N 固定版本,避免查询变更静默影响结果。速率限制按团队和类别而非按端点计算(非物化端点约 240/分钟突发、2400/小时持续;物化端点约 1200/分钟、12000/小时)。错误处理涵盖 400、401、403、404、429、5xx。目前调用端点不计费,但随托管仓库推出后将开始计费。PostHog 团队尚无计划解除物化端点可选变量限制。缺失事实暂未提供。