# @chariot-giving/typescript-sdk 中文文档

规范地址：https://npmcn.com/package/%40chariot-giving/typescript-sdk/

版本：2\.0\.0-a0
npm 元数据更新时间：2025-03-04T21:45:55.673Z
中文译文更新时间：2026-11-09T18:45:02.530Z
软件包许可：未声明

本文由上游 README 翻译，可能存在偏差，请结合原文核对 API、命令与配置。版权与许可归原作者所有。

原始 npm 页面：https://www.npmjs.com/package/%40chariot-giving/typescript-sdk
原文对照：https://npmcn.com/package/%40chariot-giving/typescript-sdk/?lang=original
项目主页：https://github.com/chariot-giving/typescript-sdk#readme
源码仓库：https://github.com/chariot-giving/typescript-sdk

## 关键信息（来自 npm 元数据）

- 包体积（解压后）：1.1 MB，1024 个文件
- 模块格式：CommonJS
- TypeScript 类型：包内自带
- 运行依赖：6 个
- 首次发布：2024-08-09T01:34:46.006Z
- 最新版本发布：2025-03-04T21:45:55.427Z
- 近 30 天下载量：1874（2026-10-10 至 2026-11-08，npm 官方下载统计）
- 已发布版本数：6（近 12 个月 0 个）

## 中文简介

[![fern shield](https://img.shields.io/badge/%F0%9F%8C%BF-Built%20with%20Fern-brightgreen)](https://buildwithfern.com/?utm_source=github&utm_medium=github&utm_campaign=readme&utm_source=https%3A%2F%2Fgithub.com%2Fchariot-giving%2Ftypescript-sdk) \[npm shi\] (英语)

## 安装

```sh
npm install @chariot-giving/typescript-sdk
```

也可以使用：`pnpm add @chariot-giving/typescript-sdk`、`yarn add @chariot-giving/typescript-sdk`、`bun add @chariot-giving/typescript-sdk`

## README

# 战车类型脚本库

[![fern shield](https://img.shields.io/badge/%F0%9F%8C%BF-Built%20with%20Fern-brightgreen)](https://buildwithfern.com/?utm_source=github&utm_medium=github&utm_campaign=readme&utm_source=https%3A%2F%2Fgithub.com%2Fchariot-giving%2Ftypescript-sdk) [![npm shield](https://img.shields.io/npm/v/@chariot-giving/typescript-sdk)](https://www.npmjs.com/package/@chariot-giving/typescript-sdk)

Chariot TypeScript库提供从TypeScript获取Chariot API的方便通道.

## 安装

```sh
npm i -s @chariot-giving/typescript-sdk
```

## 使用量

以下列方式证明和使用客户端:

```typescript
import { ChariotClient } from "@chariot-giving/typescript-sdk";

const client = new ChariotClient({ token: "YOUR_TOKEN" });
await client.nonprofits.create({
    user: {
        email: "ben.give@co.com",
    },
    ein: "043567500",
});
```

## 请求和响应类型

SDK导出所有请求和响应类型为TypeScript接口. 只需用 以下命名空间:

```typescript
import { Chariot } from "@chariot-giving/typescript-sdk";

const request: Chariot.NonprofitsCreateRequest = {
    ...
};
```

## 例外处理

当 API 返回一个非成功状态代码( 4xx 或 5xx 响应) 时, 以下错误的子类 将会被扔出.

```typescript
import { ChariotError } from "@chariot-giving/typescript-sdk";

try {
    await client.nonprofits.create(...);
} catch (err) {
    if (err instanceof ChariotError) {
        console.log(err.statusCode);
        console.log(err.message);
        console.log(err.body);
    }
}
```

## 自动放置

列表终点为相接点. SDK提供传动器,让你 只需绕过项目 :

```ts
const result = await client.events.list();
for await (const event of result) {
    console.log(event);
}
```

您也可以逐行逐页排列:

```ts
let page = await client.events.list();
for (const event of page.data) {
    console.log(event);
}
```

或手动:

```ts
while (page.hasNextPage()) {
    page = page.getNextPage();
    // ...
}
```

## 高级

### 检索

SDK是用有指数回放的自动回放装置. 申请要等会再审 由于请求被认为可以收回,且重试次数没有超过所配置的 重试限制( 默认: 2) .

如果返回以下任一 HTTP 状态代码,则请求被视为可收回:

-   [408 (简体中文)](https://developer.mozilla.org/en-US/docs/Web/HTTP/Status/408) (超时)
-   [429个](https://developer.mozilla.org/en-US/docs/Web/HTTP/Status/429) (太多请求)
-   [第5XX条](https://developer.mozilla.org/en-US/docs/Web/HTTP/Status/500) (内部服务器出错)

使用 `maxRetries` 请求选项来配置此行为.

```typescript
const response = await client.nonprofits.create(..., {
    maxRetries: 0 // override maxRetries at the request level
});
```

### 超时

SDK默认为60第二次超时. 使用 `timeoutInSeconds` 选项来配置此行为.

```typescript
const response = await client.nonprofits.create(..., {
    timeoutInSeconds: 30 // override timeout to 30s
});
```

### 中止请求

SDK允许用户在任何时刻通过一个中止信号来中止请求.

```typescript
const controller = new AbortController();
const response = await client.nonprofits.create(..., {
    abortSignal: controller.signal
});
controller.abort(); // aborts the request
```

### 运行时间相容性

SDK 默认为 `node-fetch` 但是如果存在, 将会使用全局获取客户端 。 SDK的工作在以下几个方面 运行时间 :

-   节点.js 18+
-   维塞尔
-   云花岗工人
-   德诺v1.25+
-   1.0+号舱
-   原生反应

### 自定义获取客户端

SDK 为您自定义 HTTP 客户端/ 获取函数提供了一种方法 。 如果你正在运行在一个 不支持的环境,这为您提供了一个打破玻璃并确保SDK工作的方法.

```typescript
import { ChariotClient } from "@chariot-giving/typescript-sdk";

const client = new ChariotClient({
    ...
    fetcher: // provide your implementation here
});
```

## 捐款

虽然我们重视对SDK的开源贡献,但这个库是程序生成的. 直接给这个图书馆增加的代码 得转到我们一代人的代码上, 否则,它们将被覆盖 在下一次产生的释放。 随便打开公关吧 是一个概念的证明, 但知道我们将无法 合并它作为一个。 我们建议开放 先和我们讨论一个问题!

另一方面,对 " README " 的贡献总是非常受欢迎的!

## 常见问题

### @chariot-giving/typescript-sdk 是什么？

\[npm shi\] \(英语\)

### 如何安装 @chariot-giving/typescript-sdk？

在项目目录运行 npm install @chariot-giving/typescript-sdk，或使用 pnpm add / yarn add / bun add。

### @chariot-giving/typescript-sdk 支持 TypeScript 吗？

支持。包内自带 TypeScript 类型声明（package\.json 声明了 types 入口），安装后即可获得类型提示，无需再安装 @types 包。

### @chariot-giving/typescript-sdk 支持 ESM 还是 CommonJS？

以 CommonJS 形式发布，可以直接 require\(\)；在 ES Module 项目中也可以用 import 引入（Node\.js 会把 module\.exports 作为默认导出）。

### @chariot-giving/typescript-sdk 可以商用吗？

@chariot-giving/typescript-sdk 使用 未声明 许可。package\.json 没有声明许可证。没有许可证的代码默认保留全部权利，商用前请联系作者或查看仓库中的 LICENSE 文件。以上为概括，不构成法律意见，请以许可原文为准。

### @chariot-giving/typescript-sdk 的下载量有多少？

根据 npm 官方下载统计，@chariot-giving/typescript-sdk 在 2026/10/10 – 2026/11/08 这 30 天内被下载 1,874 次，日均约 62 次。下载量会把 CI 构建、镜像同步和作为其他包依赖的安装一并计入，适合横向比较热度，不能直接等同于使用人数。

### @chariot-giving/typescript-sdk 还在维护吗？

最新版本 2\.0\.0-a0 发布于 2025/03/05（1\.7 年前）；至今共发布 6 个版本，其中过去 12 个月发布了 0 个；首次发布于 2024/08/09。发布频率只是参考信号：功能稳定的工具可能很少需要更新，建议结合源码仓库的 issue 和提交记录判断。

