Assembly.js 节点 SDK
Assembly.js Node SDK为与Assembly REST API互动提供TypeScript所写的功能调用方便. 现在,这只是一个TypeScript软件包。 未来,我们将有一个Vanilla JS软件包,并配有相应的@types软件包.
此SDK仅用于服务器侧. 我们目前没有为客户方的发展提供一揽子方案.
对于 AI 编码代理
本节显示基于LLM的工具和与这个SDK合作的AI编码代理的关键资源.
- 完整 API 参考 : https://docs.assembly.com/参考资料
- OpenAPI 规格 : https://api.assembly.com/openapi.json 页面存档备份,存于互联网档案馆
安装
npm install @assembly-js/node-sdk
# or
yarn add @assembly-js/node-sdk
设置
说明: 从v4起,
assemblyApi()和必须调用await。 。 。 .
自定义应用程序
import { assemblyApi } from '@assembly-js/node-sdk';
const assembly = await assemblyApi({ apiKey: YOUR_API_KEY_HERE });
市场应用程序
如果您正在构建一个 Marketplace 应用程序, 您应该经过一个额外的步骤, 获取一个查询参数, 当在仪表盘中提供时, 它会传递到 App URL: ?token=TOKEN_IS_HERE
从 URL 中取出该令牌并将其传递到 Api 配置对象 .
import { assemblyApi } from '@assembly-js/node-sdk';
const assembly = await assemblyApi({
apiKey: YOUR_API_KEY_HERE,
token: searchParams.token,
});
从副驾驶-节点-sdk迁移
如果你正在迁徙 从 copilot-node-sdk,需要进行下列修改:
软件包安装
# Remove old package
npm uninstall copilot-node-sdk
# Install new package
npm install @assembly-js/node-sdk
代码更改
// Before
import { copilotApi } from 'copilot-node-sdk';
const copilot = copilotApi({ apiKey: YOUR_API_KEY });
// After (note: assemblyApi is async since v4)
import { assemblyApi } from '@assembly-js/node-sdk';
const assembly = await assemblyApi({ apiKey: YOUR_API_KEY });
环境变量
| 旧变量 | 新建变量 | 页:1 |
|---|---|---|
COPILOT_ENV | ASSEMBLY_ENV | 两项工作,新工作优先 |
COPILOT_DEBUG | ASSEMBLY_DEBUG | 两项工作,新工作优先 |
后向兼容性
为了逐渐地迁移,旧名仍可取取而代之:
// These still work but are deprecated
import { copilotApi, type CopilotAPI } from '@assembly-js/node-sdk';
如何在内部开发此软件包 :
yarnyarn generate-apiyarn test* 提出成功的对策yarn test:fail生成一个因缺少嵌入变量而失败的响应.
对于额外的日志, 您可以设置环境变量 ASSEMBLY_DEBUG 任何真实价值。 如果您想在应用程序的代码库中开发时看到 SDK 日志,这个是有用的.
外地折旧
折旧的字段
以下字段已贬值,并将在未来版本的 SDK 中被去除:
companyId (在v3.1.5.0中折旧)
- 替换: 使用
companyIds数组代替 - 原因: 支持多公司的功能
- 受影响的终点: 客户端操作, App 连接,任务
recipientId (在v3.1.5.0中折旧)
- 替换: 使用
clientId财务报告和审定财务报表companyId换成 - 原因: 更明确的受援方目标
- 受影响的终点合同、发票、通知、订阅
移徙指南
在( 折旧 ) 之前 :
// Creating a client with single company
await assembly.createClient({
companyId: 'company-uuid-here',
// ... other fields
});
// Creating an invoice with recipient ID
await assembly.createInvoice({
recipientId: 'recipient-uuid-here',
// ... other fields
});
在(建议):
// Creating a client with multiple companies support
await assembly.createClient({
companyIds: ['company-uuid-here'], // Now an array
// ... other fields
});
// Creating an invoice with explicit client and company targeting
await assembly.createInvoice({
clientId: 'client-uuid-here',
companyId: 'company-uuid-here',
// ... other fields
});
开发者经验
使用被贬值的字段时,可以看到:
- IDE 警告: TypeScript 将在编辑器中显示折旧警告
- 联合来文说明: 逾越已荒芜的田地,看移民指南
- 继续功能: 折旧后田地继续工作,直至拆除