Automatice la impresión de etiquetas de código de barras con la API de LPSNG
Si su equipo todavía exporta datos de pedidos, abre una plantilla de etiquetas, pega los SKU y hace clic en Imprimir una vez por paquete, el cuello de botella no es la impresora. Es el paso manual intermedio entre sus datos y la etiqueta. La API de servicio web de LPSNG elimina ese paso: usted envía trabajos de impresión de forma programática, genera etiquetas individuales como PDF o PNG para previsualización y envía trabajos directamente a impresoras térmicas o estándar.
Esta guía cubre los aspectos prácticos: la configuración única de OAuth2, una canalización automatizada básica, el manejo de fallos y las prácticas que mantienen fiable un sistema de automatización de etiquetas a medida que crece el volumen.
Configuración única: conectar su aplicación a LPSNG
Antes de poder enviar una sola etiqueta, necesita conectar su aplicación a LPSNG. LPSNG utiliza un protocolo de registro OAuth2 simplificado para sistemas externos. En lugar de un largo proceso manual de aplicación de desarrollador, la conexión se configura con una única URL de registro.
El flujo funciona así:
- Inicie el registro OAuth2 entre su aplicación y LPSNG.
- Apruebe la conexión.
- Almacene las credenciales devueltas en su entorno de integración.
- Utilice esas credenciales para solicitar tokens de portador para las llamadas a la API.
El mismo modelo de registro con una única URL se utiliza para sistemas externos como las estaciones base ESL, de modo que una vez que su equipo lo haya configurado una vez, el patrón es repetible en otras integraciones.
A dónde apunte la API depende de su implementación. La edición en la nube multiusuario alojada y la edición integrada exponen ambas la interfaz de servicio web. Si necesita una ruta de línea de comandos sin conexión o de alto volumen, el LPSNG Player es un motor de impresión independiente que recibe entrada de paquetes y datos y produce salida en PDF, PNG, JSON, impresión o ESL.
Para procesos no orientados a desarrolladores o con muchas hojas de cálculo, el complemento de Google Sheets y la interfaz de Excel son rutas útiles sin código. Si está automatizando desde una hoja de cálculo en lugar de desde código, consulte Cómo imprimir etiquetas desde Google Sheets con LPSNG antes de crear un cliente de API personalizado.
Mantenga sus credenciales de integración fuera del control de código fuente:
# .env — almacénelas en su gestor de secretos o en el almacén de secretos de CI/CD
LPSNG_BASE_URL=https://<su-instancia-lpsng>
LPSNG_CLIENT_ID=<del-registro-oauth2>
LPSNG_CLIENT_SECRET=<del-registro-oauth2>
Creación de la canalización automatizada: de los datos a la etiqueta impresa
El bucle central es simple: su sistema de pedidos, inventario o envíos tiene registros. Usted empaqueta esos registros en una carga útil de trabajo y la envía a la API de servicio web de LPSNG. LPSNG genera las etiquetas utilizando las plantillas que usted ha diseñado, y el resultado es un trabajo de impresión en una impresora configurada o un archivo generado.
Eso le ofrece tres patrones útiles:
- Imprimir directamente: envíe el trabajo y deje que LPSNG lo envíe a la impresora de destino.
- Generar para aprobación: genere una etiqueta individual como PDF o PNG para previsualización, adjunto de correo electrónico o archivo.
- Imprimir y archivar: combine ambas rutas para que la etiqueta física se imprima y se almacene una prueba en PNG/PDF en su sistema.
Una integración mínima en Python puede tener este aspecto. Las rutas de los endpoints y los campos de la carga útil son intencionadamente conceptuales aquí; utilice la guía de la API de servicio web para conocer las formas exactas de las solicitudes.
import os
import requests
LPSNG_BASE_URL = os.environ["LPSNG_BASE_URL"]
def get_token():
# Intercambie las credenciales de registro OAuth2 por un token de portador.
# Consulte la guía de OAuth2 para conocer los campos exactos de solicitud y respuesta.
...
def render_label_preview(template_id: str, record: dict, output_format: str = "png"):
token = get_token()
response = requests.post(
f"{LPSNG_BASE_URL}/<endpoint-de-generacion>", # ruta exacta en la guía de la API de servicio web
headers={"Authorization": f"Bearer {token}"},
json={
"template_id": template_id,
"data": record,
"format": output_format,
},
timeout=30,
)
response.raise_for_status()
return response.content
def submit_print_job(template_id: str, records: list[dict]):
token = get_token()
response = requests.post(
f"{LPSNG_BASE_URL}/<endpoint-de-trabajos>",
headers={"Authorization": f"Bearer {token}"},
json={
"template_id": template_id,
"records": records,
},
timeout=30,
)
response.raise_for_status()
return response.json()
La carga útil de su trabajo debe contener únicamente los datos variables que necesita su plantilla de etiqueta. Mantenga la plantilla responsable del diseño, el formato del código de barras y el contenido estático.
Para contenido de etiquetas dinámico, LPSNG incluye una API de scripts de campo en Python. Puede adjuntar bloques de script de Python a los campos de la etiqueta para que puedan acceder y modificar los valores de los campos antes de imprimir. Esto es útil para formatear, limpiar datos de entrada o aplicar lógica condicional directamente dentro de la etiqueta en lugar de incorporar toda esa lógica en su aplicación.
# Script de campo conceptual adjunto a un campo de código de barras o de texto.
if record.get("country_code") == "DE":
value = value.strip().upper()
La misma mentalidad de automatización se extiende más allá de las etiquetas de papel. Para las etiquetas electrónicas de estantería, LPSNG proporciona una interfaz de archivos JSON independiente del proveedor llamada ESLSEND y una API de enlace ESL. Si su proyecto incluye etiquetas de precio digitales, consulte ¿Qué son las etiquetas electrónicas de estantería y cómo funcionan? para obtener un contexto más amplio.
Supervisión y manejo de fallos
Una canalización de automatización fiable no trata un trabajo enviado como un trabajo impreso. Después de enviar una solicitud de impresión, realice un seguimiento del trabajo hasta que alcance un estado terminal.
La interfaz web de LPSNG incluye una cola de trabajos, que ofrece a los operadores un punto de supervisión manual. Esa cola es útil para detectar trabajos fallidos, comprobar por qué una etiqueta no se imprimió y reimprimir sin volver a enviar los datos originales.
En su código de integración, cree una pequeña consulta de estado:
import time
def wait_until_terminal(job_reference: str, timeout: int = 120):
deadline = time.time() + timeout
while time.time() < deadline:
state = get_job_state(job_reference) # desde la API o la cola de trabajos
if state in ("printed", "completed", "failed"):
return state
time.sleep(2)
raise TimeoutError(
f"El trabajo {job_reference} no alcanzó un estado terminal en {timeout}s"
)
En cuanto a los reintentos, sea prudente después de los tiempos de espera de red. Un tiempo de espera no le indica si el trabajo fue aceptado. Antes de volver a enviar, consulte la cola de trabajos para ver su intento anterior. Si puede adjuntar una referencia de trabajo generada por el cliente, manténgala estable entre reintentos para que un envío duplicado sea detectable.
En producción, registre al menos estos campos:
- referencia del trabajo o ID devuelto por la API
- ID de la plantilla
- identificadores de registro, como número de pedido o SKU
- impresora o ruta de salida
- estado HTTP y cuerpo del error
Luego, genere alertas sobre trabajos fallidos en lugar de solo sobre errores a nivel de servicio. Una etiqueta que falla silenciosamente es peor que un servicio que informa de una excepción.
Prácticas recomendadas para la automatización de etiquetas
- Diseñe plantillas en torno a marcadores de posición de datos variables. Cuanto más mantenga el diseño, el tipo de código de barras y la marca estática en la plantilla, menos código de aplicación necesitará cambiar más adelante.
- Utilice la API de scripts de campo en Python para transformaciones a nivel de etiqueta. Formatear un código de barras, recortar la entrada o cambiar condicionalmente el texto pertenece al script de la etiqueta cuando es específico de la etiqueta.
- Utilice la interfaz de Excel para tablas de búsqueda y validación de datos. Si su aplicación ya depende de hojas de cálculo para datos de productos, mapeo o validación, LPSNG puede utilizar archivos de Excel como archivos de datos y archivos de búsqueda.
- Considere la edición integrada para entornos locales o de baja latencia. Proporciona LPSNG completo en un ordenador de placa única como una Raspberry Pi, lo cual es útil cuando las etiquetas deben imprimirse incluso si se interrumpe la conectividad con la nube.
- Examine la solución de marca blanca para compilaciones OEM o de revendedor. Si la impresión de etiquetas está integrada en un producto más grande, la edición de marca blanca está diseñada para fabricantes de impresoras, fabricantes de papel e integradores de sistemas.
Dentro del estudio de etiquetas del Next Generation Label Printing System, las plantillas reutilizables son la clave para el mantenimiento a largo plazo. Una buena regla general: si dos etiquetas difieren solo en los datos, deberían ser una sola plantilla.
Preguntas frecuentes
¿Qué método de autenticación utiliza la API de LPSNG?
LPSNG utiliza OAuth2 con un protocolo de registro simplificado. Usted registra su aplicación mediante una única URL y recibe credenciales para autenticar las llamadas a la API.
¿Puedo generar vistas previas de etiquetas sin imprimir?
Sí, la API de servicio web puede generar etiquetas individuales como archivos PDF o PNG. Esos archivos pueden utilizarse para vistas previas, adjuntos de correo electrónico o archivo.
¿La API admite todos los formatos de código de barras?
LPSNG admite una amplia gama de formatos de código de barras 1D y 2D. Consulte la documentación de formatos de código de barras para obtener la lista completa.
¿Existe una opción sin conexión o local para la automatización?
Sí, el LPSNG Player es un motor de impresión independiente de línea de comandos que puede ejecutarse localmente, y la edición integrada proporciona una instalación completa de LPSNG en un ordenador de placa única como una Raspberry Pi.
Conclusión: comience a automatizar hoy mismo
La impresión de etiquetas impulsada por API elimina la copia, el pegado y los clics manuales que causan un cumplimiento lento y envíos mal etiquetados. Con la API de servicio web de LPSNG, los mismos datos que impulsan su sistema de pedidos o inventario pueden producir etiquetas impresas, vistas previas en PDF y actualizaciones de etiquetas electrónicas de estantería sin una persona de por medio.
Comience poco a poco: elija un tipo de etiqueta, conecte una aplicación y ejecútela en paralelo con su proceso existente hasta que confíe en el resultado. El Next Generation Label Printing System gestionado le ofrece la edición en la nube y el reproductor independiente para evaluar el flujo de trabajo sin tener que montar primero una sala de impresión completa.
Para obtener detalles de implementación, comience con la documentación de la API de servicio web y la guía de OAuth2.
Publicaciones relacionadas
- ¿Qué son las etiquetas electrónicas de estantería y cómo funcionan?
- Cómo imprimir etiquetas desde Google Sheets con LPSNG
- Precios de LPSNG: ¿qué edición se adapta a sus necesidades?
