← Todos los artículos

2026-10-28

Una interfaz JSON neutral para actualizaciones de ESL

Una interfaz JSON neutral para actualizaciones de ESL
pdf labels barcodes label merge browser based graphical layout editor google sheets addin microsoft excel addon electronic shelf labels esl barcode3 labels label editor

Una interfaz JSON neutral respecto al proveedor para actualizaciones de ESL

He aquí la pregunta que suele aparecer justo después del primer piloto de etiquetas electrónicas de estantería: las etiquetas funcionan, los precios son correctos y, entonces, alguien pregunta: «¿Podemos usar un proveedor de etiquetas diferente para el pasillo de congelados?». Y nadie quiere responder, porque la respuesta honesta es «solo si reescribimos la integración».

Ese es el problema que una interfaz JSON neutral respecto al proveedor pretende resolver. No haciendo que el hardware sea mágicamente intercambiable, sino haciendo que el pipeline de contenido sea independiente de quien fabricó las etiquetas. Este artículo explica qué es realmente esa interfaz, por qué es un archivo JSON en lugar de una llamada a una API, y cómo encaja en el panorama una plataforma como Next Generation Label Printing System.

¿Qué es una interfaz JSON neutral respecto al proveedor para ESL?

Las etiquetas electrónicas de estantería (ESL, por sus siglas en inglés) son las pequeñas pantallas digitales que se sujetan al borde de las estanterías. Sustituyen a las etiquetas de precio en papel y se actualizan por el aire desde una estación base, en lugar de que una persona recorra el pasillo con una pistola de etiquetado.

La fontanería es donde se complica. Históricamente, cada fabricante de ESL ofrecía su propia forma de enviar una actualización: un bloque binario, un endpoint REST propietario, un SDK del proveedor, un protocolo serie. Dos proveedores significaban dos integraciones. Tres proveedores significaban un pequeño framework interno que nadie quería mantener, más una hoja de cálculo que mapeaba los ID de producto a lo que cada sistema llamaba una «etiqueta».

Una interfaz JSON neutral respecto al proveedor sustituye eso por un único contrato: una estructura JSON documentada que dice este identificador de etiqueta debe mostrar este contenido. Cualquier sistema que pueda escribir JSON —un ERP, un script programado, una exportación de hoja de cálculo, una herramienta de diseño de etiquetas— puede producirlo. Cualquier estación base o middleware que pueda leer JSON puede consumirlo.

Dos palabras de esa frase cargan con el peso:

  • JSON es un formato de datos basado en texto y legible por humanos. Puedes abrir un archivo de actualización en un editor, comparar dos versiones y ver de un vistazo si el campo de precio es una cadena o un número. Eso suena mundano hasta que has depurado una carga binaria a las 7 de la mañana antes de abrir la tienda.
  • Neutral respecto al proveedor significa que la interfaz no está atada a un fabricante específico de hardware ESL. Define cómo es una actualización, no de quién es la radio que la transmite.

Merece la pena hacer explícita una distinción, porque es la que hace la mayor parte del trabajo: una interfaz neutral respecto al proveedor define un esquema, no un protocolo. El esquema es la forma de los datos. El protocolo —cómo habla la estación base con las etiquetas por el aire— se queda exactamente donde corresponde: con el proveedor del hardware.

Una analogía sencilla: el adaptador de corriente universal

Piensa en los enchufes de pared. Un enchufe británico tipo G, un enchufe europeo tipo F y un enchufe estadounidense tipo A son tres formatos físicos incompatibles. A tu cargador de portátil no le importa ninguno de ellos; le importa recibir corriente. Así que llevas un adaptador universal, y el cargador sigue funcionando allá donde aterrices.

La correspondencia con las ESL es directa:

  • El enchufe de pared es el hardware ESL y su estación base.
  • Tu dispositivo es el contenido que quieres mostrar: precios, nombres de producto, códigos de barras.
  • El adaptador universal es el esquema JSON con el que ambas partes están de acuerdo.

La analogía se extiende al mantenimiento, que es la parte que la gente subestima. Cambiar el adaptador es una compra de cinco dólares. Cambiar la pared significa un electricista, un agujero en el tabique y un día de tu vida. En términos de ESL: cambiar de proveedor de etiquetas debería ser un cambio de adaptador —apuntar la nueva estación base a la misma salida JSON—, no una reescritura del sistema que genera tus precios cada mañana.

Ese desacoplamiento es todo el objetivo. El lado de la gestión de contenido deja de preocuparse por el hardware. El lado del hardware deja de preocuparse por de dónde vienen los datos.

Cómo funciona por dentro

La mecánica es deliberadamente aburrida, y eso es una virtud.

Una actualización de ESL es un archivo. Algo genera un archivo JSON; una estación base o un middleware de ESL lo lee y distribuye el contenido a las etiquetas físicas. Cómo viaja ese archivo queda abierto: una subida HTTP, una carpeta compartida vigilada, una cola de mensajes, un lápiz USB en una tienda con conectividad inestable. Nada en el esquema prescribe el transporte.

La estructura suele contener tres tipos de información:

  • Un identificador de etiqueta — qué etiqueta de estantería se está direccionando.
  • Contenido — campos de texto, imágenes, códigos de barras.
  • Atributos de visualización — qué plantilla usar y cualquier indicador de presentación que soporte el hardware.

El ejemplo siguiente está simplificado a propósito para mostrar la forma. Los nombres exactos de los campos y los valores permitidos provienen del esquema publicado con la documentación de la interfaz ESL; consúltalo antes de enviar nada a producción.

{
  "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"
  }
}

Como es un esquema y no un protocolo, el mismo archivo puede producirlo un proceso nocturno del ERP, un flujo de trabajo de Google Sheets o un diseñador visual de etiquetas. El sistema productor no necesita saber qué marca de etiqueta está en el pasillo cuatro.

RSJ LPSNG proporciona ambas mitades de ese modelo: una ESL Interface (ESLSEND) que emite este formato JSON, y una ESL Binding API que asocia etiquetas con artículos —útil para unidades de captura de datos móvil (MDE) que no tienen interfaz web propia.

Por qué importa la neutralidad respecto al proveedor

Tres razones prácticas, más un malentendido que conviene desterrar.

Evitar el lock-in. Si tu pipeline de contenido emite un archivo JSON neutral, cambiar el hardware ESL pasa a ser un proyecto de hardware, no de software. Conservas la lógica de precios, el diseño de plantillas y el proceso programado. Cambias lo que consume la salida.

Preparación para el futuro. No dejan de aparecer nuevos modelos de ESL —distintos tamaños, distintos perfiles de batería, distintas pilas de radio—. Un esquema JSON estable absorbe esos cambios en el lado del hardware mientras tu pipeline se mantiene igual.

Integración más sencilla. Un formato para N proveedores supera a N API propietarias. Un desarrollador que aprende el esquema una vez puede integrar una segunda tienda, un segundo proveedor o un segundo país sin volver a aprender el dominio.

El malentendido: neutral respecto al proveedor no significa pobre en funcionalidades. Un esquema neutral puede seguir transportando contenido rico —texto de varias líneas, imágenes de producto y códigos de barras 1D o 2D—. La neutralidad tiene que ver con quién es dueño del formato, no con cuánto puedes meter en él. (Si generas códigos de barras, las comprobaciones de Cómo comprobar códigos de barras antes de imprimir etiquetas se aplican igual a las etiquetas de estantería que a las impresas.)

Cómo gestiona RSJ LPSNG el contenido de ESL

Next Generation Label Printing System es una plataforma de diseño e impresión de etiquetas, y el soporte de ESL forma parte de su solución multicanal: el mismo diseño de etiqueta que va a una impresora puede alimentar una etiqueta de estantería. Eso importa a nivel operativo: un diseño, un conjunto de reglas de campos, dos canales de salida que no pueden divergir.

El flujo de trabajo es así:

  1. Diseña la etiqueta una vez en la interfaz web de LPSNG, en el estudio de etiquetas.
  2. Asocia etiquetas con artículos mediante la ESL Binding API cuando necesites una asociación programática, en lugar de hacer clic en una interfaz web desde un terminal portátil.
  3. Deja que el sistema emita el JSON de ESLSEND a partir de ese diseño. No estás escribiendo cargas útiles a mano; la plataforma las produce a partir del mismo diseño que imprimes.
  4. Automatiza la ejecución con LPSNG Player, el motor de impresión autónomo de línea de comandos: paquete más datos de entrada, y salida en PDF, PNG, JSON, impresión directa o ESL. Un proceso programado puede regenerar y entregar el JSON sin que haya un navegador en el circuito.

Podrías montar el JSON a mano y dejar los archivos en una estación base tú mismo —la forma difícil—, pero entonces estarías manteniendo una segunda definición paralela del contenido de tus etiquetas, y se desviará de la versión impresa en menos de un mes.

Para las cadenas, las funciones empresariales cubren entornos multiusuario, multirregión y multidispositivo, de modo que el contenido puede gestionarse de forma centralizada y distribuirse a muchas ubicaciones a través de la misma interfaz. En el lado del hardware, RSJ publica instrucciones de instalación para CATIC ESL como ejemplo práctico de cómo poner en marcha una familia de etiquetas concreta.

Malentendidos comunes y consideraciones prácticas

«Las interfaces JSON son solo para desarrolladores». No exactamente. Los desarrolladores pueden generar JSON de forma programática, pero cualquier sistema que pueda emitir texto puede producirlo, y una plataforma puede producirlo por ti a partir de un diseño visual. La barrera es más baja de lo que sugiere el acrónimo.

«Neutral respecto al proveedor significa sin soporte del proveedor». En la práctica, suele significar mejor interoperabilidad, porque la superficie de integración está documentada y es compartida en lugar de a medida.

Consideración: verifica tu estación base. Confirma que tu estación base o middleware de ESL consume el formato ESLSEND, o que puede adaptarse para hacerlo. Este es el único paso en el que un esquema neutral no puede ayudarte: el extremo receptor tiene que entender el archivo.

Consideración: valida antes de desplegar. Un archivo JSON mal formado falla en silencio o, peor aún, actualiza una tienda a medias. Dos comprobaciones baratas detectan la mayor parte:

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")

La validación de sintaxis detecta archivos rotos. La comprobación de claves obligatorias detecta el fallo más común: un archivo válido al que le falta el único campo que la estación base realmente necesitaba.

Preguntas frecuentes

¿Qué es exactamente ESLSEND?

ESLSEND es una interfaz de archivo JSON neutral respecto al proveedor que proporciona RSJ LPSNG para actualizar las pantallas de las etiquetas electrónicas de estantería. Define una estructura JSON estándar para el contenido de las etiquetas, lo que permite que cualquier sistema capaz de producir JSON envíe actualizaciones a las ESL.

¿Necesito escribir código para usar una interfaz JSON neutral respecto al proveedor?

No necesariamente. Aunque los desarrolladores pueden generar JSON de forma programática, RSJ LPSNG ofrece una interfaz web y herramientas como LPSNG Player que pueden producir el JSON por ti. Puedes diseñar etiquetas visualmente y dejar que el sistema se encargue de la salida JSON.

¿Puedo usar RSJ LPSNG con cualquier hardware ESL?

RSJ LPSNG es compatible con una interfaz JSON neutral respecto al proveedor, lo que significa que puede funcionar con hardware ESL que acepte el formato ESLSEND. No obstante, debes verificar que tu estación base o middleware de ESL pueda consumir los archivos JSON. RSJ LPSNG también proporciona instrucciones de instalación para el hardware CATIC ESL como ejemplo.

¿Cómo gestiona RSJ LPSNG las actualizaciones de ESL para varias tiendas?

RSJ LPSNG ofrece funciones empresariales para entornos multiusuario, multirregión y multidispositivo. Puedes gestionar el contenido de ESL de forma centralizada y distribuir actualizaciones a varias ubicaciones mediante la interfaz ESLSEND, garantizando la coherencia entre tiendas.

Conclusión

Una interfaz JSON neutral respecto al proveedor no es un truco técnico ingenioso: es una frontera. A un lado está tu contenido: precios, nombres de producto, códigos de barras, plantillas. Al otro está el hardware: etiquetas, radios, estaciones base. ESLSEND traza esa frontera como un archivo JSON documentado, de modo que cada lado puede cambiar sin arrastrar al otro.

El camino práctico es el corto: diseña la etiqueta en Next Generation Label Printing System, deja que la plataforma emita el JSON a partir de ese diseño, confirma que tu estación base acepta el formato y automatiza la ejecución con LPSNG Player. Si todavía estás decidiendo cuántas herramientas necesitas, Software de diseño de etiquetas con scripting en Python: qué esperar y Precios del software de diseño de etiquetas: guía para pequeñas empresas cubren las decisiones adyacentes.

¿Listo para verlo en tus propias etiquetas? Empieza con la edición en la nube alojada, diseña una etiqueta de estantería y exporta la salida ESL antes de comprometerte con ningún hardware.

Entradas relacionadas

EU label: AI-generated content