# @affinity-health/sdk 中文文档

规范地址：https://npmcn.com/package/%40affinity-health/sdk/

版本：2\.1\.0
npm 元数据更新时间：2026-11-04T00:03:22.972Z
中文译文更新时间：2026-11-06T20:13:36.735Z
软件包许可：MIT

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

原始 npm 页面：https://www.npmjs.com/package/%40affinity-health/sdk
原文对照：https://npmcn.com/package/%40affinity-health/sdk/?lang=original
项目主页：https://docs.affinityrx.com/api
源码仓库：https://github.com/affinity-health/affinity-typescript

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

- 包体积（解压后）：551 kB，376 个文件
- 模块格式：ESM + CJS
- TypeScript 类型：包内自带
- Node.js 要求：\>=20
- 运行依赖：0 个
- 首次发布：2026-07-29T00:40:56.368Z
- 最新版本发布：2026-11-04T00:03:22.665Z
- 近 30 天下载量：2394（2026-10-05 至 2026-11-03，npm 官方下载统计）
- 已发布版本数：54（近 12 个月 54 个）

## 中文简介

Affinity API 的官方类型脚本 SDK

## 安装

```sh
npm install @affinity-health/sdk
```

也可以使用：`pnpm add @affinity-health/sdk`、`yarn add @affinity-health/sdk`、`bun add @affinity-health/sdk`

## README

# 无限类型SDK

为Afffinity API,为Node.js 20+,Bun,AWS Lambda等获取运行时间的服务器端客户端打出. 它搭载一个ES模块和一个共同JS的建造,所以 `import` 财务报告和审定财务报表 `require()` 两者都行 它针对API版本 `2026-11-01` 送进去 `Affinity-Version` 每一个请求.

## 安装

```sh
bun add @affinity-health/sdk
```

Npm 时,使用 `npm install @affinity-health/sdk`。 。 。 .

## 使用

在服务器上保留 API 密钥 。 从不将它们放入浏览器捆绑,移动应用程序或公共环境变量.

```typescript
import { AffinityClient } from "@affinity-health/sdk";

const affinity = new AffinityClient({ token: process.env.AFFINITY_API_KEY! });
const account = await affinity.account.get();
if (account.mode !== "test") throw new Error("Use a Test key for this example");

for await (const medication of await affinity.medications.list())
  console.log(medication.name, medication.pharmacy.name);
```

密钥设置了组织和测试或活模式. 测试订单到测试药店.

-   **写作需要 `idempotencyKey`。 。 。 .** 在第一次请求前用被审查的订单保存,再利用它进行再试. 客户端的自动回盘(2个默认,为408个,429个和5xx)再用.
-   **列出每一页的斜体.** `for await` 阅读下页; `page.data` 是一页.
-   **错误已输入 .** `Affinity.UnprocessableEntityError` 携带 `issues` 每个拒绝字段的名称。 每个错误都会延伸 `AffinityError` 与 `statusCode`, (中文(简体) ), `body` 财务报告和审定财务报表 `requestId`。 。 。 .
-   **网友验证.** `verifyAffinityWebhook` 检查 `Affinity-Signature` (原始内容存档于2018-09-21) (中文(中国大陆) ). official website.

读取 [SDK 指南](https://github.com/affinity-health/affinity-typescript/blob/main/docs/guide.md) 命令、公正无私、放任、错误和网络攻击 [API 参考](https://github.com/affinity-health/affinity-typescript/blob/main/docs/reference.md) 对于每一种方法。 这个 [快速启动](https://github.com/affinity-health/affinity-typescript/blob/main/examples/quickstart.ts) 读取 测试数据 [EMR 实例](https://github.com/affinity-health/affinity-typescript/blob/main/examples/emr-order.ts) 发送经临床医生审查的命令,并接收其网页.

## 构建和验证

[费恩](https://buildwithfern.com/) 生成 `src/generated` 从 `spec/affinity.openapi.json`,Afffinity API合同;它在当地运行于多克,没有Fern账户. Webhook 校验在 `src/webhook-events.ts` 由手书写.

```sh
bun install --frozen-lockfile
bun run generate      # regenerate after the contract changes (needs Docker)
bun run check         # build, regenerate-and-compare, types, tests, package and examples
AFFINITY_API_KEY=sk_test_... bun run smoke   # every operation against a real API, Test mode only
```

`bun run smoke` 对照合同检查每个答复。 它创建了"测试"练习和"测试"命令并取消该命令. 设定 `AFFINITY_BASE_URL` 呼叫另一个API,以及 `AFFINITY_SMOKE_WEBHOOK_URL` 以包含 webhook 端点.

## 常见问题

### @affinity-health/sdk 是什么？

Affinity API 的官方类型脚本 SDK

### 如何安装 @affinity-health/sdk？

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

### @affinity-health/sdk 支持 TypeScript 吗？

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

### @affinity-health/sdk 支持 ESM 还是 CommonJS？

同时提供 ES Module 与 CommonJS 入口，import 和 require\(\) 都可以使用，打包工具会自动选择合适的版本。

### @affinity-health/sdk 需要什么版本的 Node\.js？

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

### @affinity-health/sdk 可以商用吗？

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

### @affinity-health/sdk 的下载量有多少？

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

### @affinity-health/sdk 还在维护吗？

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

