feat(edit): 优化图片导入ozon问题
This commit is contained in:
@@ -341,7 +341,7 @@ Headers:`X-Atlas-Platform-Id`、`Idempotency-Key`、`If-Match: "product_revisi
|
||||
|
||||
`GET /api/product-publish-jobs/{publish_job_id}` 返回 `{data: ProductPublishJob}`;必须传平台上下文,仅可访问当前工作空间和平台。`GET /api/product-platform-profiles/{profile_id}/publish-jobs` 返回 `{data: ProductPublishJob[]}`,最近 10 次任务,供页面刷新恢复。实际 `items` 含 id、variant_id、display_name、offer_id、status、platform_product_id、errors(code/field/message),不返回发布快照、签名 URL、密钥。job 状态为 `queued/running/succeeded/partially_succeeded/failed/reconciling`;item 状态为 `queued/submitting/polling/imported/failed/skipped/reconciling`。`reconciling` 表示提交结果不确定,listing 保持 `submitting`,禁止再次导入。202/任务 ID 仅表示受理。
|
||||
|
||||
Worker 提交前查询远端货号;已存在则标 `skipped` 并保留原因,不能调用导入更新它。每批最多 50 个 SKU,提交前生成七牛独立 HTTPS 私有签名图地址(有效期可配置,WebP 转 JPEG);来源与派生对象身份固定,地址仅在内存使用。导入请求的 task ID 持久化后通过延迟 Outbox 轮询,逐项处理 imported/failed/skipped。提交前预写 `submitting`:如果超时、5xx 或响应丢失,下次仅按货号对账,不盲目再次导入;无法确认则保持 reconciling。明确 429 可按 Retry-After 延迟再提交。读请求失败可以重试。平台 errors 必须脱敏,不得包含签名 URL 或请求体。
|
||||
Worker 提交前查询远端货号;已存在则标 `skipped` 并保留原因,不能调用导入更新它。每批最多 50 个 SKU,提交前生成七牛独立 HTTPS 私有签名图地址(有效期可配置,WebP 转 JPEG);交付域名应配置海外或全球加速并保证 Ozon 抓取端可访问,本地可下载不能替代海外连通性验收。来源与派生对象身份固定,地址仅在内存使用。导入请求的 task ID 持久化后通过延迟 Outbox 轮询,逐项处理 imported/failed/skipped。Ozon 商品导入与图片抓取独立异步完成:收到 imported 后通过 `/v2/product/pictures/info` 核对主图和附加图数量;图片尚未齐且无图片错误时继续既有轮询,不提前报告全量成功。确认缺图或图片下载错误时保留 imported 身份及脱敏警告,结果说明包含实际接收数/快照图片数,Web 显示「已导入(有提示)」。超过既有 120 次快速轮询窗口仍未齐或无法核对时,以 imported 并提示图片未齐/尚未确认结束,不把已创建商品降为可重复导入失败。平台导入返回的警告也必须保留;图片链接只用于内存核对,不持久化。提交前预写 `submitting`:如果超时、5xx 或响应丢失,下次仅按货号对账,不盲目再次导入;无法确认则保持 reconciling。明确 429 可按 Retry-After 延迟再提交。读请求失败可以重试。平台 errors 必须脱敏,不得包含签名 URL 或请求体。
|
||||
|
||||
导入成功锁定历史货号/product ID 与商品型号;其他草稿属性可修改,不隐式更新平台。存在提交中 SKU 时禁止删除该 SKU、改型号或变更目标店铺。任一 SKU 已导入后型号不可修改。沿用现有草稿换店行为:没有正在提交的 SKU 时可调整目标店铺,已导入 SKU 保留原店铺和导入身份,仍不能重复上架。失败保留草稿/报价,可修复并新建任务;任务成功不代表审核通过或有库存,在线商品事实仍由独立同步维护。
|
||||
|
||||
|
||||
Reference in New Issue
Block a user