# @beach-depository/sdk 中文文档

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

版本：0\.0\.20
npm 元数据更新时间：2026-10-23T16:21:04.505Z
中文译文更新时间：2026-11-07T20:03:34.551Z
软件包许可：未声明

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

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

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

- 包体积（解压后）：1.1 MB，987 个文件
- 模块格式：ESM + CJS
- TypeScript 类型：包内自带
- Node.js 要求：\>=18\.0\.0
- 运行依赖：0 个
- 首次发布：2026-09-28T20:32:36.092Z
- 最新版本发布：2026-10-23T16:21:04.304Z
- 近 30 天下载量：2755（2026-10-08 至 2026-11-06，npm 官方下载统计）
- 已发布版本数：21（近 12 个月 21 个）

## 中文简介

海滩寄存器 API 的 TypeScript 客户端.

## 安装

```sh
npm install @beach-depository/sdk
```

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

## README

# 海滩寄存器类型Script 库

[![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%2FPure-Technologies%2Fbeach-sdk-typescript) [![npm shield](https://img.shields.io/npm/v/@beach-depository/sdk)](https://www.npmjs.com/package/@beach-depository/sdk)

Beach Depository TypeScript库从TypeScript提供方便访问Beach Depository API.

## 目录

-   [安装](https://npmcn.com/package/%40beach-depository/sdk/#readme-installation)
-   [参考文献](https://npmcn.com/package/%40beach-depository/sdk/#readme-reference)
-   [使用量](https://npmcn.com/package/%40beach-depository/sdk/#readme-usage)
-   [环境](https://npmcn.com/package/%40beach-depository/sdk/#readme-environments)
-   [请求和答复类型](https://npmcn.com/package/%40beach-depository/sdk/#readme-request-and-response-types)
-   [例外处理](https://npmcn.com/package/%40beach-depository/sdk/#readme-exception-handling)
-   [高级](https://npmcn.com/package/%40beach-depository/sdk/#readme-advanced)
    -   [出口](https://npmcn.com/package/%40beach-depository/sdk/#readme-subpackage-exports)
    -   [其他信头](https://npmcn.com/package/%40beach-depository/sdk/#readme-additional-headers)
    -   [其它查询字符串参数](https://npmcn.com/package/%40beach-depository/sdk/#readme-additional-query-string-parameters)
    -   [检索](https://npmcn.com/package/%40beach-depository/sdk/#readme-retries)
    -   [超时](https://npmcn.com/package/%40beach-depository/sdk/#readme-timeouts)
    -   [中止请求](https://npmcn.com/package/%40beach-depository/sdk/#readme-aborting-requests)
    -   [访问原始响应数据](https://npmcn.com/package/%40beach-depository/sdk/#readme-access-raw-response-data)
    -   [日志](https://npmcn.com/package/%40beach-depository/sdk/#readme-logging)
    -   [自定义抓取](https://npmcn.com/package/%40beach-depository/sdk/#readme-custom-fetch)
    -   [运行时间相容性](https://npmcn.com/package/%40beach-depository/sdk/#readme-runtime-compatibility)
-   [捐款](https://npmcn.com/package/%40beach-depository/sdk/#readme-contributing)

## 安装

```sh
npm i -s @beach-depository/sdk
```

## 参考文献

该图书馆的全部参考资料可供查阅 [这里](https://github.com/Pure-Technologies/beach-sdk-typescript/blob/HEAD/reference.md)。 。 。 .

## 使用量

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

```typescript
import { BeachApiClient } from "@beach-depository/sdk";

const client = new BeachApiClient({ token: "YOUR_TOKEN" });
await client.fboAccounts.create({
    firstName: "firstName",
    lastName: "lastName",
    email: "email",
    phone: "phone"
});
```

## 环境

此 SDK 允许您为 API 请求配置不同的环境 .

```typescript
import { BeachApiClient, BeachApiEnvironment } from "@beach-depository/sdk";

const client = new BeachApiClient({
    environment: BeachApiEnvironment.Sandbox,
});
```

## 请求和答复类型

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

```typescript
import { BeachApi } from "@beach-depository/sdk";

const request: BeachApi.ListFboAccountsRequest = {
    ...
};
```

## 例外处理

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

```typescript
import { BeachApiError } from "@beach-depository/sdk";

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

## 高级

### 出口

这个SDK支持子包客户端的直接进口,它允许JavaScript捆绑器进行树摇并只包括被导入子包代码. 这导致捆绑大小要小得多.

```typescript
import { OrganizationClient } from '@beach-depository/sdk/organization';

const client = new OrganizationClient({...});
```

### 其他信头

如果您希望作为请求的一部分发送额外的信头,请使用 `headers` 请求选项.

```typescript
import { BeachApiClient } from "@beach-depository/sdk";

const client = new BeachApiClient({
    ...
    headers: {
        'X-Custom-Header': 'custom value'
    }
});

const response = await client.fboAccounts.create(..., {
    headers: {
        'X-Custom-Header': 'custom value'
    }
});
```

### 其它查询字符串参数

如果您希望作为请求的一部分发送额外的查询字符串参数,请使用 `queryParams` 请求选项.

```typescript
const response = await client.fboAccounts.create(..., {
    queryParams: {
        'customQueryParamKey': 'custom query param value'
    }
});
```

### 检索

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

重审哪个状态代码取决于 `retryStatusCodes` 生成器配置 :

**`legacy`** (当前默认值):在

-   [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#server_error_responses) (所有服务器错误,包括500个)

**`recommended`**: 重试

-   [408 (简体中文)](https://developer.mozilla.org/en-US/docs/Web/HTTP/Status/408) (超时)
-   [429个](https://developer.mozilla.org/en-US/docs/Web/HTTP/Status/429) (太多请求)
-   [502 (中文(简体) )](https://developer.mozilla.org/en-US/docs/Web/HTTP/Status/502) (坏门)
-   [第503条](https://developer.mozilla.org/en-US/docs/Web/HTTP/Status/503) (服务不可用)
-   [504 (中文(简体) )](https://developer.mozilla.org/en-US/docs/Web/HTTP/Status/504) (Gateway超时)

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

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

### 超时

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

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

### 中止请求

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

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

### 访问原始响应数据

SDK通过下列方式提供原始响应数据,包括信头: `.withRawResponse()` 方法. 这个 `.withRawResponse()` 方法返回给一个带有 `data` (单位:千美元) `rawResponse` 属性.

```typescript
const { data, rawResponse } = await client.fboAccounts.create(...).withRawResponse();

console.log(data);
console.log(rawResponse.headers['X-My-Header']);
```

### 日志

SDK支持记录. 您可以通过通过一个 `logging` 对象对客户端选项.

```typescript
import { BeachApiClient, logging } from "@beach-depository/sdk";

const client = new BeachApiClient({
    ...
    logging: {
        level: logging.LogLevel.Debug, // defaults to logging.LogLevel.Info
        logger: new logging.ConsoleLogger(), // defaults to ConsoleLogger
        silent: false, // defaults to true, set to false to enable logging
    }
});
```

这个 `logging` 对象可以具有以下属性:

-   `level`: 要使用的日志级别 。 默认为 `logging.LogLevel.Info`。 。 。 .
-   `logger`:要使用的伐木机. 默认为 a `logging.ConsoleLogger`。 。 。 .
-   `silent`: 是否让伐木工安静. 默认为 `true`。 。 。 .

这个 `level` 属性可以是下列值之一:

-   `logging.LogLevel.Debug`
-   `logging.LogLevel.Info`
-   `logging.LogLevel.Warn`
-   `logging.LogLevel.Error`

要提供自定义日志, 您可以通过一个执行 `logging.ILogger` 接口.

自定义日志示例

举个例子,用流行的 `winston` 伐木图书馆.

```ts
import winston from 'winston';

const winstonLogger = winston.createLogger({...});

const logger: logging.ILogger = {
    debug: (msg, ...args) => winstonLogger.debug(msg, ...args),
    info: (msg, ...args) => winstonLogger.info(msg, ...args),
    warn: (msg, ...args) => winstonLogger.warn(msg, ...args),
    error: (msg, ...args) => winstonLogger.error(msg, ...args),
};
```

举个例子,用流行的 `pino` 伐木图书馆.

```ts
import pino from 'pino';

const pinoLogger = pino({...});

const logger: logging.ILogger = {
  debug: (msg, ...args) => pinoLogger.debug(args, msg),
  info: (msg, ...args) => pinoLogger.info(args, msg),
  warn: (msg, ...args) => pinoLogger.warn(args, msg),
  error: (msg, ...args) => pinoLogger.error(args, msg),
};
```

### 自定义抓取

SDK提供低级 `fetch` 将自定义的 HTTP 请求生成到当前 从SDK级配置中受益,如认证、重试、超时和记录. 这对调用SDK中尚未支持的API端点很有用.

```typescript
const response = await client.fetch("/v1/custom/endpoint", {
    method: "GET",
}, {
    timeoutInSeconds: 30,
    maxRetries: 3,
    headers: {
        "X-Custom-Header": "custom-value",
    },
});

const data = await response.json();
```

### 运行时间相容性

SDK工作时间如下:

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

## 捐款

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

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

## 常见问题

### @beach-depository/sdk 是什么？

海滩寄存器 API 的 TypeScript 客户端\.

### 如何安装 @beach-depository/sdk？

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

### @beach-depository/sdk 支持 TypeScript 吗？

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

### @beach-depository/sdk 支持 ESM 还是 CommonJS？

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

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

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

### @beach-depository/sdk 可以商用吗？

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

### @beach-depository/sdk 的下载量有多少？

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

### @beach-depository/sdk 还在维护吗？

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

