@ commercialbuilding/ platform- api
JavaScript / TypeScript 客户端库 商业建设 平台服务. 在Node.js(QQ22)和现代浏览器中工作,有本地 获取 API。包括类型脚本类型定义.
安装
npm/ 纱线/ pnpm
npm install @commercebuild/platform-api
# or
yarn add @commercebuild/platform-api
# or
pnpm add @commercebuild/platform-api
CDN( 平面 HTML)
<script src="https://unpkg.com/@commercebuild/[email protected]/dist/platform-api.min.js"></script>
或者通过jsDelivr:
<script src="https://cdn.jsdelivr.net/npm/@commercebuild/[email protected]/dist/platform-api.min.js"></script>
库作为一个全球变量被曝光 CommercebuildPlatform。 。 。 .
快速启动
基于 Bundler 的项目( React, Vue, Next.js, Vite等)
import {createApi} from '@commercebuild/platform-api';
const api = createApi({
rootUrl: 'https://platform.yourdomain.com',
storeId: 'your-store-id',
accessToken: 'your-access-token',
});
const customer = await api.customer().getUserSelf();
console.log(customer);
通过 CDN 的普通 HTML
<script src="https://unpkg.com/@commercebuild/[email protected]/dist/platform-api.min.js"></script>
<script>
const api = CommercebuildPlatform.createApi({
rootUrl: 'https://platform.yourdomain.com',
storeId: 'your-store-id',
accessToken: 'your-access-token',
});
api.customer().getUserSelf().then(console.log);
</script>
商业建设商店前页
<script src="https://unpkg.com/@commercebuild/[email protected]/dist/platform-api.min.js"></script>
<script>
const api = CommercebuildPlatform.createWebApiInStoreV4({
storeId: 'your-store-id',
uniqueId: 'myPlatformApi',
});
</script>
认证
该图书馆支持几个符号策略:
createApi({
rootUrl: 'https://platform.yourdomain.com',
storeId: 'your-store-id',
// Option 1: static token
accessToken: 'eyJhbGc...',
// Option 2: dynamic token (sync or async)
// accessToken: async () => fetchTokenFromSomewhere(),
// Option 3: auto-refresh on 401
// refreshAccessToken: async () => fetchNewToken(),
});
打开 401 Unauthorized,如果 refreshAccessToken 以新符号自动重审请求并发出 a TokenUpdatedByRefreshAccessToken 活动.
可用服务
api.cart() // shopping cart (v1, v2)
api.catalog() // product catalog
api.checkout() // checkout flow
api.customer() // customer profiles
api.files() // file storage
api.grid() // pricing grids
api.notification() // notifications
api.oauth() // OAuth tokens
api.order() // orders, quotes, shipments, transactions
api.payment() // payment processors
api.price() // pricing
api.promotion() // promotions / coupons
api.setting() // platform settings
api.shipping() // shipping methods
api.stock() // inventory
api.sync() // integration sync
每个服务都有版本. 使用 api.cart('2') 连接到特定版本.
API 版本
const cartV1 = api.cart('1');
const cartV2 = api.cart('2');
const cart = api.cart(); // defaults to v1
活动
api.on('TokenUpdated', (token) => { /* refresh-token flow succeeded */ });
api.on('TokenInvalid', () => { /* both access + refresh expired */ });
类型脚本
完整类型定义被捆绑. 所有请求/响应形状都被输入 .