SDK 用户功能

以 Markdown 格式查看

Fern 生成的 SDK 在所有语言中提供一致的功能集,帮助开发者与您的 API 进行交互。使用信息会自动生成在您 SDK 的 README.md 中,您可以自定义它

有关生成的 SDK README 的完整示例,请查看 Intercom 的 Python SDK

安装和基本用法

用户使用标准包管理器(TypeScript 使用 npm,Python 使用 pip,Java 使用 Maven/Gradle 等)从特定语言的仓库安装 SDK。

用户使用您 API 的基础 URL 和任何必需的身份验证来初始化客户端,然后调用客户端上的方法与您的 API 进行交互。生成的 SDK 支持跨语言的现代运行时。

参考文档

README.md 文件链接到一个自动生成的 reference.md 文件(示例),该文件按资源组织列出所有可用的 API 方法,包括带参数类型的方法签名、使用示例,以及每个端点的请求/响应结构。

IDE 支持和智能提示

Fern 生成的 SDK 包含完整的类型定义,支持丰富的 IDE 功能。当开发者在 VS Code 等编辑器中使用您的 SDK 时,他们可以获得自动完成、内联文档和类型信息。

内联文档来自您的 API 定义。在 SDK 生成过程中,Fern 将您的参数描述、返回类型和代码示例直接作为 docstrings(Python)、JSDoc(TypeScript)、Javadoc(Java)等嵌入到代码中。

来自 Vapi Server SDK (TypeScript)

错误处理

当 API 返回 4xx 或 5xx 状态码时,SDK 会抛出一个错误,其中包括状态码、错误消息、响应正文和原始响应对象。

Webhook 签名验证

当您在 API 规范中定义 webhook 时,Fern 会自动生成实用程序,允许您的用户验证 webhook 签名并确保事件来自您的 API。

默认参数值

您可以为路径、标头和查询参数配置默认值,包括在 x-fern-global-headers 下定义的标头。SDK 会使这些参数变为可选,并在调用者未提供时发送默认值——这对于固定 API 版本标头或默认区域等场景很有用。支持 TypeScript、Python、Go、Java、C#、PHP 和 Ruby SDK。

自定义选项

您的 SDK 用户可以使用特定语言的选项来配置单个请求:

选项描述可用性
超时配置请求超时(默认:C# 和 PHP 为 30 秒,所有其他语言为 60 秒)所有语言
重试配置最大重试次数(默认:对 408、429 和 5xx 响应进行 2 次指数退避重试)除 Ruby 和 Swift 外的所有语言
自定义 HTTP 客户端为不受支持的环境或自定义需求覆盖默认 HTTP 客户端TypeScript、Python、Java、PHP 和 Swift
aiohttp 传输选择使用 aiohttp 作为异步 HTTP 传输来解决 DNS 并发瓶颈仅限 Python
自定义标头在任何请求中发送额外的标头TypeScript、Java 和 Swift
原始响应数据访问响应标头和解析后的数据TypeScript、Python 和 Go
查询参数添加额外的查询字符串参数TypeScript 和 Swift
中止信号取消正在进行的请求仅限 TypeScript