@foxy.io/sdk

中文文档
1.19.1发布于 2026/11/05MITTypeScriptESM + CJS近 30 天下载 1.2万

Universal SDK用于全服务器侧和有限的内浏览器访问Foxy hAPI.

中文使用文档
文档目录8 节
  1. 狐狸 SDK 🦊🧱
  2. 设置
  3. 开始
  4. 1. 寻找节点
  5. 2. 获得一些数据
  6. 3. 提出复杂的询问
  7. 收益:后续反应
  8. 发展

狐狸 SDK 🦊🧱

Universal SDK用于全服务器侧和有限的内浏览器访问Foxy hAPI.

设置

安装软件包 :

npm i @foxy.io/sdk

然后使用普通JS( 第 10- 12 号) 导入 :

const FoxySDK = require('@foxy.io/sdk');

或 ES 模块(节点13+, TypeScript, 浏览器):

import * as FoxySDK from '@foxy.io/sdk';

开始

我们的SDK由三个主要部分组成,通过主文件提供:

  1. 后端 用于构建从保险箱直接连接到hAPI的Node.JS应用程序 服务器侧 环境。 除了API客户端之外,您还会发现一些有用的功能,用于HMAC的签名,从响应中去掉敏感信息,并在此导出别名下进行webhook验证.
  2. 客户 是用来建造的 普遍 与特定商店客户可用的hAPI子集交互的应用程序和网站. 此导出也作为我们CDN的预建库提供.
  3. 核心:用于构建自定义的API客户端,与Hypermedia API端点交互. 这是其他每个内置API客户端所依赖的SDK最先进的部分. 你可以运行它服务器和客户端.

后端和客户输出 API 客户类,用于配合相应的端点. 如果您正在使用 TypeScript, 您也会看到 API 特定超介质关系和图的导出类型 Rels 财务报告和审定财务报表 Graph。让我们使用 FoxySDK.Backend.API 类 :

const api = new FoxySDK.Backend.API({
  refreshToken: 'your refresh token',
  clientSecret: 'your client secret',
  clientId: 'your client id',
});

这将创建 HAPI 第 1 版客户端连接到 https://api.foxy.io/ 带有给定的证书,使用内存存储以获取符和URL解析,日志错误,警告和信息消息到控制台. 您可以在构造参数中自定义其中每一个默认值, 您也会看到客户 API 的类似选项 .

无论你合作的API类型如何,在每个节点上都会看到相同的方法: .follow(), (中文(简体) ), .get(), (中文(简体) ), .put(), (中文(简体) ), .post(), (中文(简体) ), .patch() 财务报告和审定财务报表 .delete()。这里是您如何在三个步骤中使用它们:

1. 寻找节点

要访问 hAPI 端点, 您不会在 URL 中键入, 而是通过链接通过 API 图表, 直到您到达目标 。 例如,要看到您的交易,需要加载书签 URL(https://api.foxy.io/,将您的商店装入 bookmark._links['fx:store'].href ,然后才能进行交易 store._links['fx:transactions'].href随着我们的SDK,这个漫长的过程变成了一行:

const transactionsNode = api.follow('fx:store').follow('fx:transactions');

开始的字符串比特 fx: 如果您使用一个编辑器支持基于 TypeScript 定义的代码自动补全, 我们将尽可能为可用的目录提供建议.

现在我们有了节点,让我们从中获取一些数据:

2. 获得一些数据

每个节点都有与所支持的HTTP方法相对应的类方法. 例如,制作 GET 请求,我们可以打电话 .get()数字 :

const transactionsResponse = await transactionsNode.get();

我们刚刚称之为“返回承诺”的方法(即使用 await 关键词),用增强版本的本地 回应 对象,使您能够访问响应状态、信头和更多。 但是现在我们只想让我们的JSON:

const transactions = await transactionsResponse.json();

没问题! 现在你有API的响应 与计划一样 文档 随你便 是的,我们也有它的类型定义, 这意味着你会得到类型检查 TypeScript 和丰富的自动化建议 与内含的docs 在每一个支持它们的编辑器。 但如果我们能更进一步呢?

3. 提出复杂的询问

通常你需要获取一组特定项目, 可能应用一些过滤器, 跳过几个条目, 通过请求部分资源来加速事情的进行 。 您可以使用来自我们的查询参数使用 hAPI来完成 欺骗表我们的SDK为这些参数提供了方便的快捷键 .get() 方法( 全部可选) :

const transactionsResponse = await transactionsNode.get({
  zoom: { customer: ['default_billing_address'] },
  filters: ['total_order:greaterthan=50', 'attributes:name[color]=red'],
  fields: ['id', 'total_order', 'currency_code'],
  offset: 25,
  limit: 10,
});

响应类型也会尽可能地与您的查询相匹配,使您能够在点击API前消除可能的错误. 例如,对于上述请求,每笔交易将只有这3个字段,只有2个嵌入地块(+由于默认包含而支持的属性).

收益:后续反应

中每个链接 _links 从我们SDK收到的对象包括和正则节点相同的方法,所以你可以做这样的事情:

const nextTransactionsPage = await transactions._links.next.get();

还可以使用嵌入式资源并跟踪,您将获得自动补全和输入式检查全程:

const recentSubscriptions = await transactions._embedded['fx:customer']._links['fx:subscriptions'].follow('last').get();

发展

要启动, 克隆本地重播并安装依赖性 :

git clone https://github.com/foxy/foxy-sdk.git && cd foxy-sdk && npm i

您也可以通过在工程文件夹中运行以下内容来构建此软件包,并在本地测试它:

npm pack

使用下列命令进行测试:

npm test # run all tests
npm run test:watch # watch files for changes and re-run relevant tests

所有最新特稿均发表于 β 语录 分支到 beta 发行渠道. 如果你提交了公关,请瞄准 beta 还有 发表于 主要。 。 。 .

版本与发布记录

@foxy.io/sdk 共发布 78 个版本,首次发布于 2020/11/07;过去 12 个月发布了 10 个版本。

版本发布日期距今
1.19.1latest2026/11/0511 天前
1.19.02026/10/091 个月前
1.18.02026/09/251 个月前
1.17.12026/09/161 个月前
1.17.02026/08/292 个月前
1.16.22026/01/309 个月前

其他发布通道:beta → 1.16.1-beta.1。

关于 @foxy.io/sdk 的常见问题

@foxy.io/sdk 是什么?

Universal SDK用于全服务器侧和有限的内浏览器访问Foxy hAPI.

如何安装 @foxy.io/sdk?

在项目目录运行 npm install @foxy.io/sdk,或使用 pnpm add / yarn add / bun add。

@foxy.io/sdk 支持 TypeScript 吗?

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

@foxy.io/sdk 支持 ESM 还是 CommonJS?

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

@foxy.io/sdk 需要什么版本的 Node.js?

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

@foxy.io/sdk 可以商用吗?

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

@foxy.io/sdk 的下载量有多少?

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

@foxy.io/sdk 还在维护吗?

最新版本 1.19.1 发布于 2026/11/05(11 天前);至今共发布 78 个版本,其中过去 12 个月发布了 10 个;首次发布于 2020/11/07。发布频率只是参考信号:功能稳定的工具可能很少需要更新,建议结合源码仓库的 issue 和提交记录判断。