Automatisieren Sie den Barcode-Etikettendruck mit der LPSNG-API
Wenn Ihr Team immer noch Bestelldaten exportiert, eine Etikettenvorlage öffnet, SKUs einfügt und pro Paket einmal auf Drucken klickt, liegt der Engpass nicht am Drucker. Es ist der manuelle Zwischenschritt zwischen Ihren Daten und dem Etikett. Die LPSNG Web Service API beseitigt diesen Schritt: Sie übermitteln Druckaufträge programmgesteuert, rendern einzelne Etiketten als PDF oder PNG zur Vorschau und senden Aufträge direkt an Thermo- oder Standarddrucker.
Dieser Leitfaden behandelt die praktischen Bausteine: einmalige OAuth2-Einrichtung, eine grundlegende automatisierte Pipeline, Fehlerbehandlung und die Praktiken, die ein Etikettenautomatisierungssystem auch bei wachsendem Volumen zuverlässig halten.
Einmalige Einrichtung: Verbinden Ihrer Anwendung mit LPSNG
Bevor Sie auch nur ein einziges Etikett senden können, müssen Sie Ihre Anwendung mit LPSNG verbinden. LPSNG verwendet ein vereinfachtes OAuth2-Registrierungsprotokoll für externe Systeme. Statt eines langwierigen manuellen Developer-App-Prozesses wird die Verbindung über eine einzige Registrierungs-URL eingerichtet.
Der Ablauf funktioniert so:
- Initiieren Sie die OAuth2-Registrierung zwischen Ihrer Anwendung und LPSNG.
- Genehmigen Sie die Verbindung.
- Speichern Sie die zurückgegebenen Zugangsdaten in Ihrer Integrationsumgebung.
- Verwenden Sie diese Zugangsdaten, um Bearer-Tokens für API-Aufrufe anzufordern.
Dasselbe Einzel-URL-Registrierungsmodell wird für externe Systeme wie ESL-Basisstationen verwendet. Sobald Ihr Team es einmal verdrahtet hat, ist das Muster auf andere Integrationen übertragbar.
Wohin Sie die API richten, hängt von Ihrer Bereitstellung ab. Sowohl die gehostete Multi-User-Cloud-Edition als auch die Embedded Edition stellen die Web-Service-Schnittstelle bereit. Wenn Sie einen Offline- oder hochvolumigen Befehlszeilenpfad benötigen, ist der LPSNG Player eine eigenständige Druck-Engine, die Paket- und Dateneingaben entgegennimmt und PDF-, PNG-, JSON-, Druck- oder ESL-Ausgaben erzeugt.
Für Nicht-Entwickler oder tabellenkalkulationslastige Prozesse sind das Google Sheets Add-on und die Excel-Schnittstelle nützliche No-Code-Wege. Wenn Sie aus einer Tabellenkalkulation statt aus Code automatisieren, lesen Sie How to Print Labels from Google Sheets with LPSNG, bevor Sie einen benutzerdefinierten API-Client erstellen.
Halten Sie Ihre Integrationszugangsdaten aus der Versionsverwaltung heraus:
# .env — in Ihrem Secret Manager oder CI/CD-Secretspeicher ablegen
LPSNG_BASE_URL=https://<your-lpsng-instance>
LPSNG_CLIENT_ID=<from-oauth2-registration>
LPSNG_CLIENT_SECRET=<from-oauth2-registration>
Aufbau der automatisierten Pipeline: Von Daten zum gedruckten Etikett
Die Kernschleife ist einfach: Ihr Bestell-, Bestands- oder Versandsystem verfügt über Datensätze. Sie verpacken diese Datensätze in eine Auftragsnutzlast und übermitteln sie an die LPSNG Web Service API. LPSNG rendert die Etiketten mit den von Ihnen gestalteten Vorlagen, und das Ergebnis ist entweder ein Druckauftrag auf einem konfigurierten Drucker oder eine gerenderte Datei.
Daraus ergeben sich drei nützliche Muster:
- Direkt drucken: Übermitteln Sie den Auftrag und lassen Sie LPSNG ihn an den Zieldrucker senden.
- Zur Freigabe rendern: Erzeugen Sie ein einzelnes Etikett als PDF oder PNG für Vorschau, E-Mail-Anhang oder Archivierung.
- Drucken und archivieren: Kombinieren Sie beide Wege, sodass das physische Etikett gedruckt und ein PNG/PDF-Nachweis in Ihrem System gespeichert wird.
Eine minimale Python-Integration kann so aussehen. Die Endpunktpfade und Nutzlastfelder sind hier bewusst konzeptionell gehalten — verwenden Sie den Web Service API-Leitfaden für die exakten Anfrageformen.
import os
import requests
LPSNG_BASE_URL = os.environ["LPSNG_BASE_URL"]
def get_token():
# Exchange OAuth2 registration credentials for a bearer token.
# See the OAuth2 guide for the exact request and response fields.
...
def render_label_preview(template_id: str, record: dict, output_format: str = "png"):
token = get_token()
response = requests.post(
f"{LPSNG_BASE_URL}/<render-endpoint>", # exact path in Web Service API guide
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}/<jobs-endpoint>",
headers={"Authorization": f"Bearer {token}"},
json={
"template_id": template_id,
"records": records,
},
timeout=30,
)
response.raise_for_status()
return response.json()
Ihre Auftragsnutzlast sollte nur die variablen Daten enthalten, die Ihre Etikettenvorlage benötigt. Lassen Sie die Vorlage für Layout, Barcode-Formatierung und statische Inhalte verantwortlich sein.
Für dynamische Etiketteninhalte enthält LPSNG eine Python Field Script API. Sie können Python-Skriptblöcke an Etikettenfelder anhängen, damit diese vor dem Druck auf Feldwerte zugreifen und sie ändern können. Dies ist nützlich für Formatierung, Bereinigung von Eingabedaten oder die Anwendung bedingter Logik direkt im Etikett, statt all diese Logik in Ihre Anwendung einzubauen.
# Conceptual field script attached to a barcode or text field.
if record.get("country_code") == "DE":
value = value.strip().upper()
Derselbe Automatisierungsgedanke geht über Papieretiketten hinaus. Für elektronische Regaletiketten bietet LPSNG eine herstellerneutrale JSON-Dateischnittstelle namens ESLSEND und eine ESL Binding API. Wenn Ihr Projekt digitale Preisschilder umfasst, lesen Sie What Are Electronic Shelf Labels and How Do They Work? für den breiteren Kontext.
Überwachung und Fehlerbehandlung
Eine zuverlässige Automatisierungspipeline behandelt einen übermittelten Auftrag nicht als gedruckten Auftrag. Nachdem Sie eine Druckanfrage übermittelt haben, verfolgen Sie den Auftrag, bis er einen Endzustand erreicht.
Die LPSNG-Weboberfläche enthält eine Auftragswarteschlange, die Bedienern einen manuellen Kontrollpunkt bietet. Diese Warteschlange ist nützlich, um fehlgeschlagene Aufträge zu erkennen, zu prüfen, warum ein Etikett nicht gedruckt wurde, und erneut zu drucken, ohne die ursprünglichen Daten erneut zu übermitteln.
Bauen Sie in Ihren Integrationscode eine kleine Statusabfrage ein:
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) # from API or job queue
if state in ("printed", "completed", "failed"):
return state
time.sleep(2)
raise TimeoutError(
f"Job {job_reference} did not reach a terminal state in {timeout}s"
)
Seien Sie bei Wiederholungsversuchen nach Netzwerk-Timeouts zurückhaltend. Ein Timeout sagt Ihnen nicht, ob der Auftrag angenommen wurde. Bevor Sie erneut übermitteln, fragen Sie die Auftragswarteschlange nach Ihrem vorherigen Versuch ab. Wenn Sie eine clientgenerierte Auftragsreferenz anhängen können, halten Sie sie über Wiederholungsversuche hinweg stabil, damit eine doppelte Übermittlung erkennbar ist.
Protokollieren Sie in der Produktion mindestens diese Felder:
- Auftragsreferenz oder von der API zurückgegebene ID
- Vorlagen-ID
- Datensatzkennungen, wie Bestellnummer oder SKU
- Drucker oder Ausgabeweg
- HTTP-Status und Fehlertext
Alarmieren Sie dann bei fehlgeschlagenen Aufträgen und nicht nur bei Fehlern auf Serviceebene. Ein Etikett, das stillschweigend fehlschlägt, ist schlimmer als ein Dienst, der eine Ausnahme meldet.
Best Practices für die Etikettenautomatisierung
- Gestalten Sie Vorlagen um Platzhalter für variable Daten. Je mehr Sie Layout, Barcode-Typ und statisches Branding in der Vorlage halten, desto weniger Anwendungscode müssen Sie später ändern.
- Verwenden Sie die Python Field Script API für Transformationen auf Etikettenebene. Das Formatieren eines Barcodes, das Kürzen von Eingaben oder das bedingte Ändern von Text gehört in das Etikettenskript, wenn es etikettenspezifisch ist.
- Verwenden Sie die Excel-Schnittstelle für Nachschlagetabellen und Datenvalidierung. Wenn Ihre Anwendung bereits auf Tabellenkalkulationen für Produktdaten, Zuordnungen oder Validierung angewiesen ist, kann LPSNG Excel-Dateien als Datendateien und Nachschlagedateien verwenden.
- Ziehen Sie die Embedded Edition für On-Premise- oder latenzarme Umgebungen in Betracht. Sie bietet vollständiges LPSNG auf einem Einplatinencomputer wie einem Raspberry Pi, was nützlich ist, wenn Etiketten auch bei unterbrochener Cloud-Verbindung gedruckt werden müssen.
- Sehen Sie sich die White-Label-Lösung für OEM- oder Reseller-Builds an. Wenn der Etikettendruck in ein größeres Produkt eingebettet ist, ist die White-Label-Edition für Druckerhersteller, Papierhersteller und Systemintegratoren konzipiert.
Innerhalb des Next Generation Label Printing System Label-Studios sind wiederverwendbare Vorlagen der Schlüssel zur langfristigen Wartbarkeit. Eine gute Faustregel: Wenn sich zwei Etiketten nur in den Daten unterscheiden, sollten sie eine einzige Vorlage sein.
FAQ
Welche Authentifizierungsmethode verwendet die LPSNG-API?
LPSNG verwendet OAuth2 mit einem vereinfachten Registrierungsprotokoll. Sie registrieren Ihre Anwendung über eine einzige URL und erhalten Zugangsdaten zur Authentifizierung von API-Aufrufen.
Kann ich Etikettenvorschauen rendern, ohne zu drucken?
Ja, die Web Service API kann einzelne Etiketten als PDF- oder PNG-Dateien rendern. Diese Dateien können für Vorschauen, E-Mail-Anhänge oder Archivierung verwendet werden.
Unterstützt die API alle Barcode-Formate?
LPSNG unterstützt eine breite Palette von 1D- und 2D-Barcode-Formaten. Die vollständige Liste finden Sie in der Barcode Formats-Dokumentation.
Gibt es eine Offline- oder On-Premise-Option für die Automatisierung?
Ja, der LPSNG Player ist eine eigenständige Befehlszeilen-Druck-Engine, die lokal ausgeführt werden kann, und die Embedded Edition bietet eine vollständige LPSNG-Installation auf einem Einplatinencomputer wie einem Raspberry Pi.
Fazit: Beginnen Sie noch heute mit der Automatisierung
API-gesteuerter Etikettendruck beseitigt das manuelle Kopieren, Einfügen und Klicken, das langsame Abwicklung und falsch etikettierte Sendungen verursacht. Mit der LPSNG Web Service API können dieselben Daten, die Ihr Bestell- oder Bestandssystem antreiben, gedruckte Etiketten, PDF-Vorschauen und Aktualisierungen elektronischer Regaletiketten erzeugen — ohne einen Menschen dazwischen.
Fangen Sie klein an: Wählen Sie einen Etikettentyp, verbinden Sie eine Anwendung und betreiben Sie sie parallel zu Ihrem bestehenden Prozess, bis Sie der Ausgabe vertrauen. Das verwaltete Next Generation Label Printing System bietet Ihnen die Cloud-Edition und den eigenständigen Player, um den Workflow zu evaluieren, ohne zuerst einen ganzen Druckraum aufzubauen.
Für Implementierungsdetails beginnen Sie mit der Web Service API-Dokumentation und dem OAuth2-Leitfaden.
Verwandte Beiträge
- What Are Electronic Shelf Labels and How Do They Work?
- How to Print Labels from Google Sheets with LPSNG
- LPSNG Pricing: Which Edition Fits Your Needs?
