SDK / TypeScript + Node.js
统一的 SDK 命名、类型与调用方式。
每个 API 使用 @pontx/<api-slug> 包名、生成类型与独立 CLI,让发现、验证和生产集成保持一致。
01发现
pontx-hub search02理解
pontx-hub show03验证
pontx-hub preview04集成
pontx-hub sdk01
统一包契约
包名可预测,类型来自批准的 OAS,发布状态由 Hub 精确验证。
包名
@pontx/<api-slug>运行时
Node.js ≥ 18模块
ESM + CommonJS类型
TypeScript declarationspnpm add @pontx/frankfurter02
按认证方式选择客户端
所有 SDK 都遵循同一命名与类型契约;具体导出会忠实表达 API 的认证和调用模型。
import currencyExchangeClient from "@pontx/frankfurter";
const result = await currencyExchangeClient.exchangeRates.getLatestRates({
base: "USD",
symbols: "JPY,CNY"
});import { createMassiveClient } from "@pontx/massive";
const client = createMassiveClient({
apiKey: process.env.MASSIVE_API_KEY!
});
const result = await client.common.getPreviousClose("AAPL", {});import { Dida365OAuthClient } from "@pontx/dida365";
const client = new Dida365OAuthClient({
client_id: process.env.DIDA365_CLIENT_ID!,
client_secret: process.env.DIDA365_CLIENT_SECRET!
});
await client.authenticate();接口方法按 OAS controller/tag 与 operationId 生成。以每个 API 的 SDK 页面代码为准,不要假定所有供应商拥有相同认证构造器。
03
独立 API CLI
已发布的 SDK 可以同时暴露 pontx-<api-slug> 命令,直接使用同一份生成类型。
pnpm add --global @pontx/frankfurter
pontx-frankfurter call exchangeRates.getLatestRates --base USD --symbols JPY,CNY --dry-runpontx-hub跨 API 目录
搜索、资源检查、Hub 预演与受控代理调用。
pontx-<api>单个 API
随 SDK 发布,适合本地开发、CI 和 API 专用脚本。
04
版本与发布边界
访客安装已发布版本;Hub 验证,但不会代表访客发布 npm 包。
major
不兼容的 OAS 或生成接口变化
minor
向后兼容的新接口或字段
patch
文档或生成器修复