一张定制单,如何变成生产图
客户在你的商品上加了图、写了字、下单付款。然后呢? 你手上拿到的不是一张可以直接印的图,而是一堆坐标和 URL。 这一篇讲清楚从订单到生产,中间到底要做什么。
一、客户下单后,你实际拿到的是什么
订单里会有一个标识告诉你「这单是定制的」,以及一个定制数据的 ID。 通过接口能取回一份结构化数据,大致长这样(简化示意):
{
"surface": [
{
"surface_name": "Front Side",
"custom_area": [
{
"external_area_id": "front-image-0-black",
"type": "IMAGE",
"image_url": "https://...", // 客户上传的原图
"content_placement": { "x": "523", "y": "717", "w": "294", "h": "294" }
},
{
"external_area_id": "front-text-1-black",
"type": "TEXT",
"content": "Test front", // 客户填的文字
"content_placement": { "x": "523", "y": "717", "w": "294", "h": "294" }
}
]
}
]
} 注意这里的关键点:你拿到的不是「一张设计好的图」, 而是「原始素材 + 应该放在哪里的坐标」。 排版这一步,平台没有帮你做(也不该帮你做,因为最终印刷由你负责)。
二、为什么「效果图」不能直接拿去印
平台会生成一张预览效果图(surface preview), 就是把客户的图和字贴到商品图上给你看效果。它很好看,但不能用于生产,原因有四个:
| 原因 | 说明 |
|---|---|
| 含辅助线 | 预览图上常带印刷区域标记线(通常是很显眼的彩色框),印刷时要印出来就是废品 |
| 没有色彩管理 | 屏幕是 RGB,印刷是 CMYK,中间需要色彩转换。预览图没有做这一步 |
| 没有出血 | 印刷需要裁切余量,预览图没有预留,直接印会裁到内容 |
| 分辨率与图层合并 | 预览图通常已经合并压缩,客户原图的原始分辨率信息丢失 |
⛔ 记住这一条:效果图是给客户看的,不是给你印的。
生产图必须你自己按底图 + 客户原图 + 客户文字 + 坐标重新合成。
三、⏰ 最容易踩的坑:图片 URL 会失效
客户的定制图存在平台的私有存储里,给你的是一个带签名的临时链接。
⚠️ 这个链接只有 24 小时有效。
24 小时后会返回 403,再也能下不回来了。 而且平台规则明确:这些图片属于用户的私有数据, 只能用于完成这笔订单,不能挪作他用。
24 小时后会返回 403,再也能下不回来了。 而且平台规则明确:这些图片属于用户的私有数据, 只能用于完成这笔订单,不能挪作他用。
所以正确做法只有一条:
✅ 拉单即下载
拉到订单的同一时间,就把所有定制图下载到自己的存储里。 绝不能「先入库,等排产时再下图」——那时候链接早失效了。
拉到订单的同一时间,就把所有定制图下载到自己的存储里。 绝不能「先入库,等排产时再下图」——那时候链接早失效了。
另外,直接请求这些图片会返回 403,需要在请求头里带上店铺身份与应用的鉴权信息。 (具体 header 格式见平台开发文档,属于技术细节。)
四、合成生产图要处理什么
把素材合成一张能上机的生产图,需要解决这几件事:
- 坐标换算
订单里给的坐标是字符串形式的像素值,落到底图上要转成数值计算。 注意:坐标的基准是底图,底图换了坐标就得重算。 - 区域映射
定制数据里的每个区域都有一个唯一标识, 要用它去对应到你模板里定义的区域,不能用数组下标—— 客户填写顺序和你的配置顺序不一定一致。 - 文字排版
这是最容易被低估的部分。客户填的文字要按指定字体、字号、对齐方式渲染, 还要处理自动换行和超长截断。 ⚠️ 很多图片处理库做不了复杂排版,需要真正的排版引擎。 - 输出规格
按你的印刷设备要求输出:分辨率(通常 300dpi)、色彩模式、出血、 支持的格式(TIFF / PDF / PNG)。
五、整条链路的全貌
客户在 TikTok 下单
↓
拉取订单(识别这是定制单)
↓
取定制数据(拿到坐标 + 图 URL + 文字)
↓
⭐ 立刻下载图片(24 小时内,过期即失效)
↓
合成生产图(底图 + 原图 + 文字 + 坐标 + 排版)
↓
送进生产线(按设备要求输出规格)
↓
发货 + 回传物流单号 六、这活能不能自动化
能,但需要写东西。手工做的话,一单 5~15 分钟,量一大就撑不住, 而且容易错——印错了是直接损失。
自动化要解决的是:拉单 → 下图 → 合成 → 推送生产这一串的衔接, 外加异常处理(图下载失败怎么办、坐标异常怎么办、重复单怎么办)。 这些不出现在「成功路径」里,但恰恰是生产环境最容易出事的地方。