@commercebuild/platform-api

中文文档
0.11.33发布于 2026/07/28MITTypeScriptESM + CJS零依赖近 30 天下载 4278

Commercebuild Platform API

原始使用文档
文档目录13 节
  1. Installation
  2. npm / yarn / pnpm
  3. CDN (plain HTML)
  4. Quick Start
  5. Bundler-based projects (React, Vue, Next.js, Vite, etc.)
  6. Plain HTML via CDN
  7. Inside a Commercebuild storefront page
  8. Authentication
  9. Available Services
  10. API Versions
  11. Events
  12. TypeScript
  13. License

@commercebuild/platform-api

JavaScript / TypeScript client library for Commercebuild Platform Services. Works in Node.js (>=22) and modern browsers, with native Fetch API. TypeScript type definitions included.

Installation

npm / yarn / pnpm

npm install @commercebuild/platform-api
# or
yarn add @commercebuild/platform-api
# or
pnpm add @commercebuild/platform-api

CDN (plain HTML)

<script src="https://unpkg.com/@commercebuild/[email protected]/dist/platform-api.min.js"></script>

Or via jsDelivr:

<script src="https://cdn.jsdelivr.net/npm/@commercebuild/[email protected]/dist/platform-api.min.js"></script>

The library is exposed as a global variable CommercebuildPlatform.

Quick Start

Bundler-based projects (React, Vue, Next.js, Vite, etc.)

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);

Plain HTML via CDN

<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>

Inside a Commercebuild storefront page

<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>

Authentication

The library supports several token strategies:

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(),
});

On 401 Unauthorized, if refreshAccessToken is provided, the library automatically retries the request with a fresh token and emits a TokenUpdatedByRefreshAccessToken event.

Available Services

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

Each service is versioned. Use api.cart('2') to pin to a specific version.

API Versions

const cartV1 = api.cart('1');
const cartV2 = api.cart('2');
const cart   = api.cart(); // defaults to v1

Events

api.on('TokenUpdated', (token) => { /* refresh-token flow succeeded */ });
api.on('TokenInvalid', () => { /* both access + refresh expired */ });

TypeScript

Full type definitions are bundled. All request/response shapes are typed.

License

MIT

版本与发布记录

@commercebuild/platform-api 共发布 7 个版本,首次发布于 2025/07/18;过去 12 个月发布了 3 个版本。

版本发布日期距今
0.11.33latest2026/07/283 个月前
0.0.62026/05/255 个月前
0.0.52026/05/225 个月前
0.0.42025/10/121.1 年前
0.0.32025/07/181.3 年前
0.0.22025/07/181.3 年前

关于 @commercebuild/platform-api 的常见问题

@commercebuild/platform-api 是什么?

Commercebuild Platform API

如何安装 @commercebuild/platform-api?

在项目目录运行 npm install @commercebuild/platform-api,或使用 pnpm add / yarn add / bun add。

@commercebuild/platform-api 支持 TypeScript 吗?

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

@commercebuild/platform-api 支持 ESM 还是 CommonJS?

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

@commercebuild/platform-api 需要什么版本的 Node.js?

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

@commercebuild/platform-api 可以商用吗?

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

@commercebuild/platform-api 的下载量有多少?

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

@commercebuild/platform-api 还在维护吗?

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