# @dsptch-work/api-client 中文文档

规范地址：https://npmcn.com/package/%40dsptch-work/api-client/

版本：0\.52\.0
npm 元数据更新时间：2026-11-10T14:07:30.239Z
中文译文更新时间：2026-11-12T22:41:04.081Z
软件包许可：MIT

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

原始 npm 页面：https://www.npmjs.com/package/%40dsptch-work/api-client
原文对照：https://npmcn.com/package/%40dsptch-work/api-client/?lang=original
项目主页：https://dsptch.app/support/api/api-v-1
源码仓库：https://github.com/rnwbllabs/dsptch-api

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

- 包体积（解压后）：4.6 MB，42 个文件
- 模块格式：ES Module
- TypeScript 类型：包内自带
- Node.js 要求：\>=18
- 运行依赖：1 个
- 首次发布：2026-07-24T15:39:09.866Z
- 最新版本发布：2026-11-10T14:07:30.003Z
- 近 30 天下载量：3629（2026-10-13 至 2026-11-11，npm 官方下载统计）
- 已发布版本数：53（近 12 个月 53 个）

## 中文简介

为DSPTCH REST API创建了TypeScript客户端.

## 安装

```sh
npm install @dsptch-work/api-client
```

也可以使用：`pnpm add @dsptch-work/api-client`、`yarn add @dsptch-work/api-client`、`bun add @dsptch-work/api-client`

## README

# @dsptch-work/ api-客户端

一个生成,打入的TypeScript客户端,用于DSPTCH 公共REST API. 换成 手卷式抓取包,每个资源一个类,方法名称匹配 API的软件 `operationId`s, 完全输入请求/ 响应形状, 以及捆绑的获取客户端 连接基础URL和 `X-Api-Key` 证明给你.

> **状态 :** 预1.0,向npm公共登记处发布. API还在追上 到 DSPTCH 网络应用程序,所以 释放留在 `0.x` 范围并可能运输破损变化 介于小版本之间`0.5.x` → `0.6.0`)——贴上你测试过的版本.

## 安装

```sh
npm install @dsptch-work/api-client   # or: pnpm add @dsptch-work/api-client · yarn add @dsptch-work/api-client
```

这是一个公共软件包:安装不需要注册配置和认证. 提供经认证的API电话确实需要DSPTCH API密钥——参见 [使用量](https://npmcn.com/package/%40dsptch-work/api-client/#readme-usage)。 。 。 .

## 使用量

```ts
import { Jobs } from '@dsptch-work/api-client';
import { client } from '@dsptch-work/api-client/client';

// Configure auth once. The returned string is sent as the `X-Api-Key` header on every
// authenticated request. A function is used so the key can be resolved lazily — e.g.
// read from `process.env` in a Node script, or from a secret store.
client.setConfig({ auth: () => apiKey });

// One class per tag; each method is named by the operation's operationId.
const { data, error } = await Jobs.listJobs({
  query: { 'filter[project_id]': projectId },
});

if (error) {
  throw new Error(`Failed to list jobs: ${JSON.stringify(error)}`);
}

console.log(data);
```

基准 URL (`https://api.dsptch.app`)从 spec's被烤入 `servers` 输入,所以 无法配置用于生产。 覆盖每个环境 `client.setConfig({ baseUrl: '…' })`。 。 。 .

上面一个可运行的、经过类型检查的版本生活在 [`examples/basic-usage.ts`](https://npmcn.com/package/%40dsptch-work/api-client/examples/basic-usage.ts)。 。 。 .

### 插入列表终点

列出端点为光标:每个答复带有一个 `meta.page.next_cursor`,则a `null` 光标是最后一页。 而不是用手进行循环,将列表方法交给 `paginate` 并在每一页上标出每个项目:

```ts
import { Jobs, paginate, collect } from '@dsptch-work/api-client';

for await (const job of paginate(Jobs.listJobs, { query: { 'filter[project_id]': projectId } })) {
  process(job); // `job` is typed as the Jobs list element
}

// Or, when every page fits in memory, drain it into an array:
const jobs = await collect(paginate(Jobs.listJobs));
```

从方法推断出项目类型,选项保持方法自己的形状—— 当终点需要路径 id 时需要 (单位:千美元)`paginate(ApprenticeshipApprentices.listApprentices, { path: { program_id } })`),可选 否则. `paginate` 发送每页 `next_cursor` 作为下一个 `page[cursor]` 并投掷,如果 结尾返回出错.

## 出口的东西

| 导入路径 | 目录 |
| --- | --- |
| `@dsptch-work/api-client` | 资源类别`Jobs`, (中文(简体) ), `TimeCards`),各种类型,以及 `paginate` 编号 : `collect` 帮助者 |
| `@dsptch-work/api-client/client` | 配置 `client` 实例——将其用于 `setConfig` |
| `@dsptch-work/api-client/zod` | Zod schemas 镜像光谱, 对于想要验证的呼叫者 |

* * *

维护客户本身(从光谱中恢复、建筑、释放)的文件记录 用于寄存器中的贡献者: `DEVELOPMENT.md` 财务报告和审定财务报表 `RELEASING.md`。 。 。 .

## 常见问题

### @dsptch-work/api-client 是什么？

为DSPTCH REST API创建了TypeScript客户端\.

### 如何安装 @dsptch-work/api-client？

在项目目录运行 npm install @dsptch-work/api-client，或使用 pnpm add / yarn add / bun add。

### @dsptch-work/api-client 支持 TypeScript 吗？

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

### @dsptch-work/api-client 支持 ESM 还是 CommonJS？

以 ES Module 形式发布，推荐使用 import 引入。在 CommonJS 项目中，Node\.js 20\.19\+ / 22\.12\+ 可以直接 require\(\) 不含顶层 await 的 ES Module，更早的版本需要改用动态 import\(\)。

### @dsptch-work/api-client 需要什么版本的 Node\.js？

package\.json 的 engines 字段要求 Node\.js \>=18。版本不符时 npm 默认只给出警告，开启 engine-strict 后会拒绝安装。

### @dsptch-work/api-client 可以商用吗？

@dsptch-work/api-client 使用 MIT 许可。宽松许可：允许商业使用、修改和再分发，通常只需在分发时保留原版权与许可声明。以上为概括，不构成法律意见，请以许可原文为准。

### @dsptch-work/api-client 的下载量有多少？

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

### @dsptch-work/api-client 还在维护吗？

最新版本 0\.52\.0 发布于 2026/11/10（3 天前）；至今共发布 53 个版本，其中过去 12 个月发布了 53 个；首次发布于 2026/07/24。发布频率只是参考信号：功能稳定的工具可能很少需要更新，建议结合源码仓库的 issue 和提交记录判断。

