@ epcc- sdk/ sdks- cart- checkout- 顺序
一个用于"弹性路径"手推车的TypeScript客户端,退出并订购API. 函数,类型和Zod schemas由API的OpenAPI spec生成.
安装
npm install @epcc-sdk/sdks-cart-checkout-order
快开始
import {
createCartCheckoutOrderClient,
getCarts,
} from "@epcc-sdk/sdks-cart-checkout-order"
const client = createCartCheckoutOrderClient({
baseUrl: "https://euwest.api.elasticpath.com",
clientId: process.env.EPCC_CLIENT_ID!,
clientSecret: process.env.EPCC_CLIENT_SECRET!,
})
const { data, error } = await getCarts({ client })
客户端获得访问符并添加到每个请求中. 在信使到期前,它会得到一个新的信使. 在401回信后,它得到一个新的信使并再次发出请求. 经过408或429回應后,或一些服务器和网络出错后,它会再等一等再发送请求.
将客户端传递到每个操作中. 该套件还输出 a client 没有证书。 如果您不使用操作 { client },它使用该客户端,API返回一个401响应.
失败的请求不会丢出 。 操作返回错误 error。要启动操作,请添加 config: { throwOnError: true } 到工厂的选择.
基础 URL
设定 baseUrl 到您所在区域的 API 主机, 没有路径 。 每个操作都增加了自己的路径.
全权证书
| 选项 | 赠款类型 |
|---|---|
clientId 财务报告和审定财务报表 clientSecret | 客户证书. 只用在服务器上,因为它包含一个秘密. |
clientId | 隐相相. 你可以在浏览器中使用. |
token | 一个你得到自己的标志。 客户端无法取而代之,所以401回复是最终的. |
provider | 属于你的 TokenProvider 函数. |
source | A 类 TokenSource 用于保存,例如当用户签名退出时清除符号. |
这些选项改变默认行为 :
| 选项 | 它会做什么 |
|---|---|
storage | 委托人把信物放在那里 默认是 memoryStorage。 。 。 . localStorageAdapter 将符号保存在页面加载和浏览器标签上. |
leewaySeconds | 到期前几秒客户端获得新符. |
retry | 备选方案 createRetryFetch设置它 false 以停止复试. |
fetch | 这个 fetch 函数,客户端用于所有请求,包括符号请求. |
config | 例如客户端配置 headers它超越了工厂设定的值. |
让客户自己来
包裹出口出工厂使用的零件. 需要自有或自有信号源时使用 fetch。 。 。 .
import {
clientCredentialsProvider,
createAuthCallback,
createAuthenticatedFetch,
createClient,
createConfig,
createRetryFetch,
createTokenSource,
} from "@epcc-sdk/sdks-cart-checkout-order"
const source = createTokenSource(
clientCredentialsProvider({
baseUrl: "https://euwest.api.elasticpath.com",
clientId: process.env.EPCC_CLIENT_ID!,
clientSecret: process.env.EPCC_CLIENT_SECRET!,
}),
)
const client = createClient(
createConfig({
baseUrl: "https://euwest.api.elasticpath.com",
auth: createAuthCallback(source),
fetch: createRetryFetch({ fetch: createAuthenticatedFetch(source) }),
}),
)
- 将两个包裹都从同一处制成
source。 。 。 .createAuthenticatedFetch仅替换来自其来源的符号. - 打开
createAuthenticatedFetch内部createRetryFetch。在另一个顺序中,每次重试都会再次发送过期的符号.
不要用请求截取器添加符号 。 截取器无法看到响应,因此在401响应后无法得到新的信号.
Zod 计划
这个 ./zod 导出对每次请求和响应都有Zod计划. zod 4是可选的对等依赖,因此主要出口不导入.
import { zGetCartsResponse } from "@epcc-sdk/sdks-cart-checkout-order/zod"
const result = zGetCartsResponse.safeParse(data)
Spec 给出的字段 int64 是一个 number 在各种种类和计谋中.
MCP工具
这个 ./mcp 导出每个操作都有一个模式上下文协议(MCP)工具,用于MCP SDK v2. 惠璶 zod (单位:千美元) @modelcontextprotocol/server 2只用于此导出.
import { McpServer } from "@modelcontextprotocol/server"
import { tools } from "@epcc-sdk/sdks-cart-checkout-order/mcp"
const server = new McpServer({ name: "cart-checkout-order", version: "1.0.0" })
for (const tool of tools({ client })) {
server.registerTool(tool.name, tool.config, tool.handler)
}
- 每个工具都会向客户端发送它的请求,由您给出. 向每个请求发送一个信头,例如
EP-Store-Id,设置在config.headers客户. - 对于一个工具,使用它的工厂。 工厂的名称是操作名称
Tool添加,例如getCartsTool。 。 。 . - 工具的名称是
cart_checkout_order_和操作名称,例如蛇案cart_checkout_order_get_carts。 。 。 . - 工具的参数在
path, (中文(简体) ),query, (中文(简体) ),headers财务报告和审定财务报表body编辑Authorization头来自客户端. tool.config._meta["com.elasticpath/operation"].risk实值read, (中文(简体) ),create, (中文(简体) ),update或者说delete。工具说明来自它。 仅登记读取的工具,将工具保存在risk实值read。 。 。 .- 工具返回 API 错误为
isError结果。 它不会扔出.
这些操作的风险与其HTTP方法的默认不同:
anonymizeOrders实值update,因为它以订单取代客户数据,不能被撤销.