1 对接商品
接口地址: /merchantapi/distribution/goods/dockgoods
请求方式: POST
请求参数:
| 参数名 | 类型 | 必填 | 说明 |
|---|---|---|---|
| goods_id | int | 是 | 要对接的商品ID |
| cate_id | int | 否 | 对接到的分类ID(默认0,需后续编辑) |
| status | int | 否 | 对接后的上架状态(默认0) |
| price | float | 否 | 对接后的售价(默认使用成本价) |
| name | string | 否 | 对接后的商品名称;未传时沿用上级商品名称 |
| content | string | 否 | 对接后的商品描述;未传时沿用上级商品描述 |
| remark | string | 否 | 对接后的使用说明;未传时沿用上级商品说明 |
| auto_create_category | int | 否 | 自动创建同名分类:0=否,1=是(默认0) |
| auto_online_restock | int | 否 | 补货自动上架:0=否,1=是(默认0) |
| auto_offline_price_up | int | 否 | 涨价自动下架:0=否,1=是(默认0) |
| goods_name | string | 否 | 旧版商品名称字段,仅用于兼容;新页面使用 name |
响应示例:
json
{
"code": 1,
"msg": "对接成功"
}业务规则:
- 不能对接自己的商品
- 同一“下级 + 直属上级 + 上级商品”只能存在一条商品对接关系
- 等级分销和货源集市只新增独立供货渠道,不重复生成商品;其他渠道再次看到时显示“已对接”
- 对接和后续取价统一使用当前最低有效供货价;当前渠道失效后自动回退其他有效渠道
- 权限恢复后重新计算有效渠道和最低供货价,但已下架商品不会自动上架,必须由商户确认后手动上架
- 快捷对接不传售价时,可先按成本价生成下架商品;补充价格后才能上架
- 立即上架时,代理商品售价必须按每件至少高于成本价 0.01 元
- 对接后会创建商品副本和对接关系记录
- 旧字段
source、relation_id、cost_price表示当前渠道快照,不再表示永久绑定渠道 - 快速对接时只需要传
goods_id;此时cate_id=0,商品会以未上架状态入库,后续需要到“我代理的商品”中补充分组、内容和价格后再上架。 - 完整对接时传
cate_id,后端会校验该分类必须属于当前商户;分类不存在时返回“分类不存在”。 - 完整对接支持自定义
name、content、remark;对应字段为空时才继承上级商品内容。 新增于 2025-12-20当auto_create_category=1且cate_id=0时,会自动创建与商品同名的分类
2 一键克隆上级商品(异步任务模式)
更新于 2025-12-20:改为异步任务模式,支持同步源头分类
接口地址: /merchantapi/distribution/goods/cloneGoodsByParent
请求方式: POST
请求参数:
| 参数名 | 类型 | 必填 | 说明 |
|---|---|---|---|
| parent_id | int | 是 | 上级商家ID |
| hall_category_id | int | 货源大厅克隆时是 | 当前货源大厅分类ID;仅克隆该分类下的商品 |
| cate_id | int | 否 | 对接到的分类ID(sync_source_category=0时必填) |
| sync_source_category | int | 否 | 同步源头分类:0=否,1=是(默认0) |
| status | int | 否 | 对接后的上架状态(默认0) |
| price_type | int | 否 | 价格类型:1=固定加价,2=百分比加价,3=原成本价(默认1) |
| add_price | float | 否 | 加价金额/百分比(默认0) |
| optimize_price_type | int | 否 | 价格优化规则:0=不处理,1=向上取整为无小数,2=保留1位小数(默认0) |
| auto_online_restock | int | 否 | 补货自动上架:0=否,1=是(默认0) |
| auto_offline_price_up | int | 否 | 涨价自动下架:0=否,1=是(默认0) |
响应示例:
json
{
"code": 1,
"msg": "克隆任务已创建",
"data": {
"task_id": "clone_task_1000_1001",
"total": 20
}
}业务规则:
- 不能克隆自己
- 检查是否在对接黑名单中
更新于 2025-12-20改为异步任务模式,避免大量商品克隆时超时更新于 2025-12-20同一上级只能有一个正在进行的克隆任务更新于 2025-12-20支持同步源头分类(sync_source_category=1)- 从货源大厅发起克隆时必须传
hall_category_id,任务只包含当前大厅分类下的商品 price_type=3时会强制add_price=0optimize_price_type只能传 0/1/2,其他值会返回“优化价格规则选择错误”- 批量克隆选择立即上架时,价格优化后的最终售价必须按每件至少高于成本价 0.01 元;不满足的商品会计入跳过数量和原因
3 获取克隆任务进度
新增于 2025-12-20
接口地址: /merchantapi/distribution/goods/getCloneTaskStatus
请求方式: POST
请求参数:
| 参数名 | 类型 | 必填 | 说明 |
|---|---|---|---|
| parent_id | int | 是 | 上级商家ID |
响应示例:
json
{
"code": 1,
"msg": "获取成功",
"data": {
"status": "running",
"total": 100,
"current": 52,
"success_count": 50,
"fail_count": 2,
"progress": 52.0
}
}状态说明:
running: 任务进行中completed: 任务完成cancelled: 任务已取消none: 无任务
4 取消克隆任务
接口地址: /merchantapi/distribution/goods/cancelCloneTask
请求方式: POST
请求参数:
| 参数名 | 类型 | 必填 | 说明 |
|---|---|---|---|
| parent_id | int | 是 | 上级商家ID |
响应示例:
json
{
"code": 1,
"msg": "任务已取消"
}说明:
- 只有任务状态为
running时会被标记为cancelled - 接口会按当前登录商户和
parent_id组合定位任务