|
|
2 dni temu | |
|---|---|---|
| .. | ||
| docs | 2 dni temu | |
| src | 2 dni temu | |
| README.md | 2 dni temu | |
| build.sh | 2 dni temu | |
| deno.json | 2 dni temu | |
| package-lock.json | 2 dni temu | |
| package.json | 2 dni temu | |
| test_auth.ts | 2 dni temu | |
Amazon Selling Partner API (SP-API) 集成模块,支持多店铺动态配置(基于 Parse Server)。
Shop 表(Parse Server)动态获取 SP-API 配置。shopId 和 marketplaceId,自动路由到正确的 API 端点和店铺配置。npm install @fmode/amazon-sp-api
在应用启动时,初始化 Parse 配置:
import express from 'express';
import { createSpApiRouter, initParse } from '@fmode/amazon-sp-api';
const app = express();
// 1. 初始化 Parse (连接到配置中心)
initParse({
appId: 'msq-voc', // 或从环境变量读取
serverURL: 'https://server-msq.fmode.cn/parse',
// masterKey: 'YOUR_MASTER_KEY' // 如果需要 Server-to-Server 权限
});
// 2. 挂载 SP-API 路由
// 注意:不再需要传入静态 client,模块会自动处理动态配置
app.use('/api/amazon', createSpApiRouter());
app.listen(3000, () => {
console.log('Server started on port 3000');
});
前端或调用方需要在 Header 中携带 shopId 和 marketplaceId。
GET /api/amazon/orders?CreatedAfter=2023-10-01T00:00:00Z
Headers:
shopId: <PARSE_SHOP_OBJECT_ID>
marketplaceId: ATVPDKIKX0DER
{
"success": true,
"data": {
"payload": {
"Orders": [...]
}
},
"timestamp": "2023-10-27T10:00:00.000Z"
}
在 Parse Dashboard 中,Shop 表需要包含以下字段:
| Field | Type | Description |
|Data Type| Field Name | Description |
|---|---|---|
| Object | config | 包含 SP-API 凭证: { "clientId": "...", "clientSecret": "...", "refreshToken": "..." } |
| String | sp_api_access_token | (自动维护) 当前有效的 Access Token |
| Date | sp_api_token_expires_at | (自动维护) Token 过期时间 |
shopId 头,或 shopId 无效,或 Shop 配置不完整。