用于 JavaScript 和 TypeScript 的 Crossmint REST SDK
输入客户端 十字薄荷 REST API支持 节点.js 18+ 和浏览器,带本地抓取器, 并带有无害环境管理和普通JS导出并不存在 运行时间依赖.
安装
npm install @crossmint/rest-js
创建客户端
import { createCrossmintSdk } from "@crossmint/rest-js";
const crossmint = createCrossmintSdk({
environment: "staging",
apiKey: process.env.CROSSMINT_API_KEY,
});
const { data: wallet } = await crossmint.wallets.create({
body: { chainType: "evm", type: "mpc" },
throwOnError: true,
});
默认环境是 staging设置 environment: "production" 用于使用
生产API。 客户端将每个操作自动引导到它的 API 主机,
包括断层操作。 仅在发送拒绝请求时可用的终点
在生产中.
要通过您的后端代理或本地 API 调用, 设置 baseUrl 改为:
绝对URL. 它取代 API 主机及其 /api 每个操作的路径
除故障操作外:
const crossmint = createCrossmintSdk({ baseUrl: "https://your-app.example/api/crossmint" });
故障操作(付款方法创建)发送原始卡和银行细节,以及
只有Vault主机表示它们。 你准备好后,他们就留在地窖主机上
baseUrl要移动它们,设置 vaultBaseUrl。接收这些软件的服务器
请求会收到原始卡片数据,所以它会进入您的PCI DSS范围.
在服务器上保留服务器 API 密钥 。 在浏览器中,使用带有 API 的客户端密钥
适当范围和供应 userJwt 当终点需要用户时
认证。 对于接受命令的终端客户端秘密,使用
clientSecret。每个请求都使用已宣布的完整认证选项
由API;明确提供的请求头优先.
请求和答复
方法按资源分类,例如: crossmint.wallets.create(...) 财务报告和审定财务报表
crossmint.orders.get(...)。请求选项保留 body, (中文(简体) ), path, (中文(简体) ), query,以及
headers 分开。 通过一个 AbortSignal 结束 signal 取消一项请求,
或创建客户端时提供自定义获取执行.
const { data, error, response } = await crossmint.orders.get({
path: { orderId: "your-order-id" },
});
if (error !== undefined) {
console.error(response?.status, error);
} else {
console.log(data);
}
HTTP 失败返回 error 默认。 与 throwOnError: true,客户端
舍弃错误。 网络失败也返回 error 除非
throwOnError 已启用.
返回的错误不一定是 JavaScript Error 实例.
一些API明确曝光多个版本,例如:
crossmint.paymentMethods.v20260916.create(...) 财务报告和审定财务报表
crossmint.paymentMethods.unstable.create(...)。使用文档中的版本
您的集成; 不稳定的 API 可能会改变.
流线
流出方法返回同步延时器 :
const abortController = new AbortController();
const { stream } = await crossmint.agentCheckouts.messages.stream({
path: { id: "your-checkout-id" },
signal: abortController.signal,
});
for await (const event of stream) {
console.log(event);
}
响应查询
在查询函数和突变中使用SDK方法. 包括环境和 在您的缓存范围内的工程或用户身份, 因此来自不同客户的请求 不共享缓存结果。 从不将 API 密钥或令牌放入查询密钥中 .
import { useQuery } from "@tanstack/react-query";
const walletQuery = useQuery({
queryKey: ["crossmint", cacheScope, "wallet", walletLocator],
queryFn: async ({ signal }) => {
const { data } = await crossmint.wallets.get({
path: { walletLocator },
signal,
throwOnError: true,
});
return data;
},
});
React 查询单独安装 。 SDK不依赖于反应.
兼容性
SDK由Crossmint的公开OpenAPI规格所出. 它的终点 范围、请求和答复类型都遵循这一规定。 类型脚本 类型不执行运行时响应验证.
该软件包支持采用无害环境管理和 sideEffects: false。 。 。 .
可以删除完全未使用的导入; 当前创建资源客户端
包括整个业务登记册。 资源捆绑拆分不是
提供。 React 本地和其他 Freach 兼容的运行时间尚未实现
验证.
见 API 参考 对于端点行为, 权限,和 API 限制.
在Apache 2.0下获得许可. 见 THIRD_PARTY_NOTICES 用于捆绑的 Hey API
运输的麻省理工学院执照.