面向 ESL 更新的供应商中立 JSON 接口
第一个电子价签试点项目上线后,通常紧接着就会出现这样一个问题:标签能正常工作,价格也准确,然后有人问:“冷冻区能不能换一家标签供应商?”没人愿意回答,因为诚实的答案是“除非我们重写集成。”
这正是供应商中立 JSON 接口要解决的问题。它并不是让硬件神奇地变得可以互换,而是让内容流水线独立于标签的制造商。本文解释这个接口究竟是什么、为什么它是 JSON 文件而不是 API 调用,以及像 Next Generation Label Printing System 这样的平台在其中扮演什么角色。
什么是面向 ESL 的供应商中立 JSON 接口?
电子价签(ESL)是夹在货架边缘的小型数字显示屏。它们取代纸质价签,通过基站无线更新,而不需要有人拿着打标枪在货架间走动。
麻烦出在底层管道上。过去,每家 ESL 制造商都有自己的推送更新方式:二进制数据块、专有的 REST 端点、厂商 SDK、串口协议。两家供应商意味着两套集成。三家供应商意味着一个没人愿意维护的小型内部框架,外加一张把产品 ID 映射到各系统所称“标签”的电子表格。
供应商中立 JSON 接口用一个统一契约取代了这一切:一种有文档记录的 JSON 结构,表达这个标签标识符应显示这个内容。任何能写出 JSON 的系统——ERP、定时脚本、电子表格导出、标签设计工具——都能生成它。任何能读取 JSON 的基站或中间件都能消费它。
这个说法里有两个词承载着关键分量:
- JSON 是一种基于文本、人类可读的数据格式。你可以在编辑器中打开更新文件,对比两个版本的差异,一眼看出价格字段是字符串还是数字。这听起来平淡无奇,直到你在早上 7 点门店开门前调试过二进制载荷。
- 供应商中立意味着接口不绑定特定的 ESL 硬件制造商。它定义更新长什么样,而不是由谁的无线电来传输。
有一点值得明确说明,因为它承担了大部分作用:供应商中立接口定义的是模式(schema),而不是协议。模式是数据的形状。协议——基站如何通过无线与标签通信——仍然留在它该在的地方:硬件供应商那里。
一个简单的类比:万能电源适配器
想想墙上的插座。英国 G 型插座、欧盟 F 型插座和美国 A 型插座是三种互不兼容的物理规格。你的笔记本电脑充电器并不关心它们中的任何一个;它只关心能否获得电力。所以你带一个万能适配器,充电器无论你落地哪里都能继续工作。
映射到 ESL 上非常直接:
- 墙上的插座是 ESL 硬件及其基站。
- 你的设备是你想显示的内容——价格、商品名称、条码。
- 万能适配器是双方共同认可的 JSON 模式。
这个类比也延伸到维护上,而这正是人们低估的部分。换适配器是花五美元的事。换墙意味着要请电工、在石膏板上开洞,还要搭上你一天的时间。用 ESL 的话说:更换标签供应商应该是换适配器——让新基站指向同样的 JSON 输出——而不是重写每天早上生成价格的系统。
这种解耦就是全部意义所在。内容管理侧不再关心硬件。硬件侧不再关心数据来自哪里。
底层工作原理
其机制刻意做得平淡无奇,而这正是一个优点。
ESL 更新是一个文件。某个东西生成 JSON 文件;ESL 基站或中间件读取它,并把内容分发到物理标签。文件如何传输是开放的:HTTP 上传、被监视的共享文件夹、消息队列、在连接不稳定的门店里用 U 盘。模式中没有任何内容规定传输方式。
结构通常承载三类信息:
- 标签或价签标识符——指明要寻址的是哪个货架标签。
- 内容——文本字段、图像、条码。
- 显示属性——使用哪个模板,以及硬件支持的任何呈现标志。
下面的示例经过刻意简化,只为展示结构。确切的字段名和允许值来自随 ESL 接口文档发布的模式——在向生产环境发送任何内容之前请先核对。
{
"label": "SHELF-0421",
"template": "price-tag-7in",
"content": {
"title": "Arabica Beans 1kg",
"price": "12.49 EUR",
"unit": "per pack",
"barcode": {
"type": "EAN13",
"value": "4006381333931"
}
},
"display": {
"highlight": true,
"validFrom": "2026-11-01"
}
}
因为它是模式而不是协议,同一个文件可以由夜间 ERP 任务、Google Sheets 工作流或可视化标签设计器生成。生产系统不需要知道四号通道上放的是哪个品牌的标签。
RSJ LPSNG 提供了该模型的两半:输出此 JSON 格式的 ESL Interface(ESLSEND),以及将标签与商品关联起来的 ESL Binding API——这对自身没有 Web 界面的移动数据采集(MDE)设备很有用。
为什么供应商中立很重要
三个实际理由,外加一个值得澄清的误解。
避免锁定。 如果你的内容流水线输出中立的 JSON 文件,那么更换 ESL 硬件就变成一个硬件项目,而不是软件项目。你保留价格逻辑、模板设计和定时任务。你只需更换消费输出的那一端。
面向未来。 新的 ESL 型号不断出现——不同尺寸、不同电池配置、不同无线电协议栈。稳定的 JSON 模式在硬件侧吸收这些变化,而你的流水线保持不变。
更简单的集成。 一种格式应对 N 家供应商,胜过 N 个专有 API。学会一次模式的开发者,就能集成第二家门店、第二家供应商或第二个国家,而无需重新学习这个领域。
那个误解: 供应商中立并不意味着功能贫乏。中立的模式仍然可以承载丰富的内容——多行文本、商品图像,以及一维或二维条码。中立关乎谁拥有格式,而不是你能往里放多少东西。(如果你要生成条码,How to Check Barcodes Before Printing Labels 中的检查同样适用于货架标签和印刷标签。)
RSJ LPSNG 如何管理 ESL 内容
Next Generation Label Printing System 是一个标签设计与打印平台,ESL 支持是其跨媒体解决方案的一部分:送往打印机的同一份标签设计也能驱动货架标签。这在运营上很重要——一份设计、一套字段规则、两个不会彼此偏离的输出通道。
工作流程如下:
- 在 LPSNG Web UI 的标签工作室中设计一次标签。
- 通过 ESL Binding API 将标签与商品绑定,在需要程序化关联的地方,而不是在手持设备上点来点去地操作 Web 界面。
- 让系统从该设计生成 ESLSEND JSON。你不是在手工编写载荷;平台从你打印所用的同一份布局生成它们。
- 用 LPSNG Player 自动化运行,这是独立的命令行打印引擎:输入包加数据,输出 PDF、PNG、JSON、直接打印或 ESL。定时任务可以在没有浏览器参与的情况下重新生成并交付 JSON。
你可以手工拼装 JSON 并自己把文件丢到基站上——用笨办法——但那样你就在维护标签内容的第二套并行定义,它会在一个月内与打印版本产生偏差。
对于连锁企业,企业级功能覆盖多用户、多区域和多设备环境,因此内容可以集中管理,并通过同一接口分发到多个地点。在硬件方面,RSJ 发布了 CATIC ESL 的安装说明,作为让特定标签系列上线的完整示例。
常见误解与实际考量
“JSON 接口只适合开发者。” 并不尽然。开发者可以用程序生成 JSON,但任何能输出文本的系统都能生成它,而平台可以为你从可视化设计生成它。门槛比这个缩写所暗示的要低。
“供应商中立意味着没有供应商支持。” 在实践中,它通常意味着更好的互操作性,因为集成面是有文档记录且共享的,而不是定制的。
考量:验证你的基站。 确认你的 ESL 基站或中间件能消费 ESLSEND 格式,或者能够被适配。这是中立模式帮不了你的唯一一步——接收端必须能理解这个文件。
考量:部署前先验证。 格式错误的 JSON 文件会静默失败,或者更糟,只更新门店的一半内容。两项低成本的检查就能抓住大部分问题:
jq empty ./out/SHELF-0421.json && echo "valid JSON"
import json
import sys
REQUIRED = ("label", "template", "content")
def check(path: str) -> None:
with open(path, encoding="utf-8") as f:
doc = json.load(f)
missing = [key for key in REQUIRED if key not in doc]
if missing:
sys.exit(f"{path}: missing {', '.join(missing)}")
print(f"{path}: ok")
check("./out/SHELF-0421.json")
语法验证能抓住损坏的文件。必需键检查能抓住更常见的失败:一个有效文件却缺少基站真正需要的那个字段。
常见问题
ESLSEND 究竟是什么?
ESLSEND 是 RSJ LPSNG 提供的供应商中立 JSON 文件接口,用于更新电子价签显示内容。它定义了标签内容的标准 JSON 结构,允许任何能生成 JSON 的系统向 ESL 发送更新。
使用供应商中立 JSON 接口需要写代码吗?
不一定。虽然开发者可以用程序生成 JSON,但 RSJ LPSNG 提供了 Web UI 和 LPSNG Player 等工具,可以为你生成 JSON。你可以可视化地设计标签,让系统处理 JSON 输出。
RSJ LPSNG 能配合任何 ESL 硬件使用吗?
RSJ LPSNG 支持供应商中立 JSON 接口,这意味着它可以配合接受 ESLSEND 格式的 ESL 硬件使用。不过,你应当验证你的 ESL 基站或中间件能否消费这些 JSON 文件。RSJ LPSNG 还提供了 CATIC ESL 硬件的安装说明作为示例。
RSJ LPSNG 如何处理多家门店的 ESL 更新?
RSJ LPSNG 提供面向多用户、多区域和多设备环境的企业级功能。你可以集中管理 ESL 内容,并使用 ESLSEND 接口将更新分发到多个地点,确保各门店之间的一致性。
结论
供应商中立 JSON 接口不是什么巧妙的技术花招——它是一条边界。一边是你的内容:价格、商品名称、条码、模板。另一边是硬件:标签、无线电、基站。ESLSEND 用有文档记录的 JSON 文件划出这条边界,让每一侧都能独立变化,而不必拖着另一侧一起动。
实际路径很短:在 Next Generation Label Printing System 中设计标签,让平台从该设计生成 JSON,确认你的基站接受该格式,然后用 LPSNG Player 自动化运行。如果你还在决定需要多少工具,Label Design Software With Python Scripting: What to Expect 和 Label Design Software Pricing: A Small Business Guide 涵盖了相关的决策。
准备在你自己的标签上试试了吗?从托管云版本开始,设计一个货架标签,并在决定采购任何硬件之前导出 ESL 输出。
相关文章
- How to Check Barcodes Before Printing Labels
- Label Design Software Pricing: A Small Business Guide
- Label Design Software With Python Scripting: What to Expect
