# Product API Specification > **定位**:商品管理 API 规范 - 包含商品 CRUD、采集、定价、审核等接口。 > **更新日期**: 2026-03-18 > **版本**: v1.0 --- ## 1. 接口概览 | 方法 | 路径 | 功能 | 权限 | |------|------|------|------| | GET | `/api/v1/products` | 获取商品列表 | product:read | | GET | `/api/v1/products/:id` | 获取商品详情 | product:read | | POST | `/api/v1/products` | 创建商品 | product:create | | PUT | `/api/v1/products/:id` | 更新商品 | product:update | | DELETE | `/api/v1/products/:id` | 删除商品 | product:delete | | POST | `/api/v1/products/:id/approve` | 审核商品 | product:review | | POST | `/api/v1/products/collect` | 采集商品 | product:create | | POST | `/api/v1/products/:id/pricing` | 动态调价 | product:update | | POST | `/api/v1/products/autonomous-listing` | 自治上架 | product:create | --- ## 2. 接口详情 ### 2.1 获取商品列表 **请求** ```http GET /api/v1/products?platform=AMAZON&status=ACTIVE&page=1&limit=20 ``` **请求头** ``` Authorization: Bearer {token} X-Tenant-Id: {tenantId} X-Trace-Id: {traceId} ``` **查询参数** | 参数 | 类型 | 必填 | 说明 | |------|------|------|------| | platform | string | 否 | 平台筛选 (AMAZON, EBAY, SHOPIFY, etc.) | | status | string | 否 | 状态筛选 (DRAFTED, PENDING_REVIEW, APPROVED, etc.) | | page | number | 否 | 页码,默认 1 | | limit | number | 否 | 每页数量,默认 20 | **响应** ```json { "success": true, "data": { "items": [ { "id": 1, "title": "Product Name", "platform": "AMAZON", "platformProductId": "B08N5WRWNW", "status": "APPROVED", "sellingPrice": 29.99, "purchasePrice": 15.00, "stock": 100, "createdAt": "2026-03-18T10:00:00Z", "updatedAt": "2026-03-18T10:00:00Z" } ], "pagination": { "page": 1, "limit": 20, "total": 100, "totalPages": 5 } } } ``` --- ### 2.2 获取商品详情 **请求** ```http GET /api/v1/products/:id ``` **响应** ```json { "success": true, "data": { "id": 1, "title": "Product Name", "description": "Product description...", "platform": "AMAZON", "platformProductId": "B08N5WRWNW", "status": "APPROVED", "sellingPrice": 29.99, "purchasePrice": 15.00, "currency": "USD", "stock": 100, "images": ["url1", "url2"], "attributes": { "color": "black", "size": "M" }, "profitMargin": 45.5, "roi": 99.9, "createdAt": "2026-03-18T10:00:00Z", "updatedAt": "2026-03-18T10:00:00Z" } } ``` --- ### 2.3 创建商品 **请求** ```http POST /api/v1/products ``` **请求体** ```json { "title": "Product Name", "description": "Product description", "platform": "AMAZON", "platformProductId": "B08N5WRWNW", "sellingPrice": 29.99, "purchasePrice": 15.00, "currency": "USD", "stock": 100, "images": ["url1", "url2"], "attributes": { "color": "black", "size": "M" }, "category": "Electronics", "tags": ["new", "hot"] } ``` **响应** ```json { "success": true, "data": { "id": 1, "message": "Product created successfully" } } ``` --- ### 2.4 更新商品 **请求** ```http PUT /api/v1/products/:id ``` **请求体** ```json { "title": "Updated Product Name", "sellingPrice": 34.99, "stock": 150, "status": "PENDING_REVIEW" } ``` **状态机校验** - 商品状态流转必须符合预定义状态机 - 非法状态流转返回 400 错误 **响应** ```json { "success": true, "data": { "id": 1, "title": "Updated Product Name", "status": "PENDING_REVIEW", "updatedAt": "2026-03-18T11:00:00Z" } } ``` --- ### 2.5 删除商品 **请求** ```http DELETE /api/v1/products/:id ``` **响应** ```json { "success": true, "message": "Product deleted successfully" } ``` --- ### 2.6 审核商品 [UX_REVIEW_01] **请求** ```http POST /api/v1/products/:id/approve ``` **请求体** ```json { "decision": "APPROVE", "reason": "符合上架标准" } ``` **参数说明** | 参数 | 类型 | 必填 | 说明 | |------|------|------|------| | decision | string | 是 | APPROVE 或 REJECT | | reason | string | 否 | 审核意见 | **响应** ```json { "success": true, "message": "Product approved successfully" } ``` --- ### 2.7 采集商品 [CORE_WORK_01] **请求** ```http POST /api/v1/products/collect ``` **请求体** ```json { "url": "https://www.1688.com/product/123456.html", "sandbox": false } ``` **参数说明** | 参数 | 类型 | 必填 | 说明 | |------|------|------|------| | url | string | 是 | 商品链接 | | sandbox | boolean | 否 | 是否使用沙箱模式 | **响应** ```json { "success": true, "data": { "jobId": "job-uuid", "status": "PENDING", "message": "Crawl job submitted successfully" } } ``` --- ### 2.8 动态调价 [BIZ_MKT_30] **请求** ```http POST /api/v1/products/:id/pricing ``` **响应** ```json { "success": true, "data": { "productId": 1, "oldPrice": 29.99, "newPrice": 32.99, "reason": "Competitor price increased", "profitMargin": 48.5, "updatedAt": "2026-03-18T12:00:00Z" } } ``` --- ### 2.9 自治上架 [CORE_AUTO_01] **请求** ```http POST /api/v1/products/autonomous-listing ``` **请求体** ```json { "url": "https://www.1688.com/product/123456.html", "targetPlatforms": ["AMAZON", "EBAY"] } ``` **响应** ```json { "success": true, "data": { "instanceId": "pipeline-uuid", "status": "RUNNING", "steps": [ { "id": "crawl", "status": "PENDING" }, { "id": "optimize", "status": "PENDING" }, { "id": "publish", "status": "PENDING" } ] } } ``` --- ## 3. 数据模型 ### 3.1 Product (商品) | 字段 | 类型 | 说明 | |------|------|------| | id | number | 主键 | | tenantId | string | 租户ID | | title | string | 商品标题 | | description | string | 商品描述 | | platform | string | 平台 (AMAZON, EBAY, etc.) | | platformProductId | string | 平台商品ID | | status | string | 状态 | | sellingPrice | number | 售价 | | purchasePrice | number | 采购价 | | currency | string | 币种 | | stock | number | 库存 | | images | string[] | 图片URL列表 | | attributes | object | 属性 | | category | string | 类目 | | tags | string[] | 标签 | | profitMargin | number | 利润率 | | roi | number | ROI | | createdAt | string | 创建时间 | | updatedAt | string | 更新时间 | ### 3.2 状态枚举 ```typescript enum ProductStatus { DRAFTED = 'DRAFTED', // 草稿 PENDING_REVIEW = 'PENDING_REVIEW', // 待审核 APPROVED = 'APPROVED', // 已通过 REJECTED = 'REJECTED', // 已拒绝 LISTED = 'LISTED', // 已上架 DELISTED = 'DELISTED' // 已下架 } ``` --- ## 4. 错误码 | 错误码 | 说明 | HTTP状态 | |--------|------|----------| | PRODUCT_NOT_FOUND | 商品不存在 | 404 | | INVALID_STATUS_TRANSITION | 非法状态流转 | 400 | | UNAUTHORIZED | 未授权 | 401 | | FORBIDDEN | 无权限 | 403 | | VALIDATION_ERROR | 参数校验失败 | 400 | | INTERNAL_ERROR | 内部错误 | 500 | --- ## 5. 相关服务 - [Backend Design](../Backend_Design.md) - [Order API](./Order_API.md) - [Finance API](./Finance_API.md) --- *本文档基于代码自动生成,最后更新: 2026-03-18*