Anhang B: Cloud Trigger API
Um den Druck mit Cloud-Trigger zu ermöglichen, verwenden Sie ein Integrationssystem (Loftware Automation), das vor Ort installiert ist, um Daten aus Ihren Geschäftssystemen zu empfangen und zu verarbeiten. Loftware Automationstellt APIs zur Verfügung, mit denen Sie sich über Cloud-Trigger-APIs aus Ihren Cloud-Geschäftsanwendungen verbinden können.
Zusätzlich zum Etikettendruck bieten Ihnen die APIs folgende Möglichkeiten:
-
Etikettenvorschauen abrufen (PDF, PNG oder JPEG)
-
Live-Status von Etikettendruckern anzeigen
-
Listen aller Etiketten in Ihrem Dokumentenmanagementsystem (DMS) erstellen
-
Listen der verfügbaren Drucker abrufen
-
Listen der in Ihrem Etikett definierten Variablen abrufen
-
Druckaufträge bereitstellen (binär)
Wichtig
Sie müssen diese Beispiele nicht verwenden oder befolgen. Diese Anweisungen basieren auf der Beispielkonfiguration von Loftware Automation von, die in Ihrem Integrationspaket enthalten ist. Es steht Ihnen frei, Ihre Konfiguration zu ändern oder Ihre eigene zu erstellen.
Ausführen von Cloud-Trigger-APIs
Jeder Cloud-Trigger wird durch einen eindeutigen Namen identifiziert. Sie müssen den eindeutigen Namen in jeder HTTP-Anfrage an unsere Cloud-Trigger-API angeben.
Ersetzen Sie im folgenden Beispiel den Teil „unique_name_of_the_Cloud_trigger“ durch den tatsächlichen eindeutigen Cloud-Trigger-Namen, der in Ihrer Loftware Automation Konfiguration (.MISX Datei) definiert ist.
Jeder in Ihrer Konfiguration definierte Cloud-Trigger bietet eine bestimmte API-Methode. Sie verwenden verschiedene Trigger für jede Methode. Ein Trigger für die PRINT-Methode, ein anderer für die PREVIEW-Methode, ein weiterer für die PRINTERS-Methode usw. Eindeutige Namen teilen Automation mit, welchen Trigger es ausführen muss.
Wenn Sie Ihre Automation -Konfiguration laden und bereitstellen/aktivieren, registriert Automation die Cloud-Trigger (eindeutige Namen) in Ihrem Loftware Cloud -Konto. Sie können mit Cloud-Trigger-APIs auf die Trigger zugreifen. Wenn Sie Cloud-Trigger-APIs ausführen, weiß Ihr Loftware Cloud -Konto, wo Ihr registrierter Automation ausgeführt wird und leitet Daten an Ihren Trigger weiter.
Sie können mehrere lokale Loftware Automation Server haben, die die gleiche Konfiguration zur gleichen Zeit ausführen, wobei die automatische Lastverteilung per DNS aktiviert ist.
URL |
https://labelcloudapi.onnicelabel.com/Trigger/v1/CloudTrigger/<unique_Cloud_Trigger_name> |
Sie müssen den folgenden benutzerdefinierten HTTP-Header in jede Anforderung einfügen:
Ocp-Apim-Subscription-Key |
<Subscription key is generated on the Developer Portal when you register "Cloud Integration" developer from the Control Center> |
Sie müssen die POST-Methode verwenden und die JSON- oder XML-Daten in Ihren Nachrichtentext einfügen.
Hinweis
Das Zeitlimit für die Cloud-Trigger-API ist auf 120 Sekunden fest einprogrammiert.
Registrierung als Integratoren
Um Cloud-Trigger-APIs auszuführen, müssen Sie sich als Entwickler registrieren und einen Abonnementschlüssel erhalten. Sie können diesen Vorgang selbst abschließen, sobald Sie sich bei Ihrem Loftware Cloud Konto anmelden können und wenn Sie Ihr Konto in unserem Entwicklerportal eingerichtet haben.
Weitere Informationen über den Registrierungsprozess finden Sie unter Cloud Integrations und Cloud Trigger.
API-Methoden
Mit unseren API-Methoden können Sie die Strukturen der zwischen Ihren Geschäftsanwendungen und Loftware Automation übertragenen Nachrichten testen und verstehen. Wir bieten Beispiele und Beschreibungen von eingehenden Anfragen und Loftware Automation Feedback-Strukturen.
Sie können JSON- und XML-Datenstrukturen mit unseren API-Methoden verwenden.
Weitere Informationen über eingehende Nutzdaten finden Sie unter Datenstrukturen.
PRINTERS-Methode
Diese Methode ruft Listen der verfügbaren Drucker ab, die Loftware Automation verwenden kann. Die Listen enthalten die Namen der Druckertreiber, die auf dem Computer installiert sind, auf dem Loftware Automation ausgeführt wird.
Sie müssen einen leeren Nutzdateninhalt senden, damit die API feststellen kann, welche Art von Antwort Sie benötigen.
Anfrage-URL
https://labelcloudapi.onnicelabel.com/Trigger/v1/CloudTrigger/CloudTrigger/Api-CloudIntegrationDemo-Printers
JSON-Nutzdaten
{}
XML-Nutzdaten
<?xml version="1.0" encoding="utf-8"?>
PRINT-Methode
Mit dieser Methode werden Ihre Etiketten gedruckt. In den Nutzdaten geben Sie Folgendes an:
-
Name des Etiketts:
-
Versionen des Etiketts
-
Druckernamen
-
Alle zu druckenden Etikettendaten
Anfrage-URL
https://labelcloudapi.onnicelabel.com/Trigger/v1/CloudTrigger/Api-CloudIntegrationDemo-Print
JSON-Nutzdaten
{ "FilePath": "/folder/label.nlbl", "FileVersion": "", "Quantity": “1”, „Drucker“: " ZEBRA R-402", "PrinterSettings": "", "PrintJobName": "", "Variables": [ { "Name": "FIELD1", "Wert": "Value1" }, { "Name": "FIELD2", "Wert": "Value2" } ] }
XML-Nutzdaten
<?xml version="1.0" encoding="utf-8"?> <PrintData> <FilePath>/folder/label.nlbl</FilePath> <FileVersion></FileVersion> <Quantity>1</Quantity> <Printer>ZEBRA R-402</Printer> <PrinterSettings></PrinterSettings> <PrintJobName></PrintJobName> <Variables> <Variable Name="FIELD1">Value1</Variable> <Variable Name="FIELD2">Value2</Variable> </Variables> </PrintData>
LABELCATALOG-Methode
Diese Methode liefert Listen der verfügbaren Etikettenvorlagen in bestimmten Ordnern (und Unterordnern) aus Ihrem DMS.
Anfrage-URL
https://labelcloudapi.onnicelabel.com/Trigger/v1/CloudTrigger/Api-CloudIntegrationDemo-LabelCatalog
JSON-Nutzdaten
{ "CatalogRoot": "/folder/subfolder", "SubscriptionKey": "your_subscription_key" }
XML-Nutzdaten
<?xml version="1.0" encoding="utf-8"?> <PrintData> <CatalogRoot>/folder/subfolder</CatalogRoot> <SubscriptionKey>your_subscription_key</SubscriptionKey> </PrintData>
Hinweis
Das Feld subscriptionKey ist für das Loftware Cloud Data Integration Pack erforderlich.
PREVIEW-Methode
Diese Methode liefert Etikettenvorschauen in dem von Ihnen gewünschten Format. Wie bei der Methode PRINT müssen Sie Etikettennamen, Versionen und Datenwerte angeben. Unterstützte Vorschauformate sind PDF, JPG und PNG.
Anfrage-URL
https://labelcloudapi.onnicelabel.com/Trigger/v1/CloudTrigger/Api-CloudIntegrationDemo-Preview
JSON-Nutzdaten
{ "FilePath": "/folder/label.nlbl", "FileVersion": "", "Quantity": “1”, "Printer": "", "PrinterSettings": "", "PreviewFormat": "", "Variables": [ { "FIELD1": "Value1", "FIELD2": "Value2" } ] }
XML-Nutzdaten
<?xml version="1.0" encoding="utf-8"?> <PrintData> <FilePath>/folder/label.nlbl</FilePath> <FileVersion></FileVersion> <Quantity>1</Quantity> <Printer></Printer> <PrinterSettings></PrinterSettings> <PreviewFormat></PreviewFormat> <Variables> <Variable Name="FIELD1">Value1</Variable> <Variable Name="FIELD2">Value2</Variable> </Variables> </PrintData>
PRINTJOB-Methode
Diese Methode liefert Ihre Etiketten in Druckaufträge für Zieldrucker umgewandelt. Wenn Ihr Zieldrucker zum Beispiel Zebra ist, wird Ihr Inhalt in ZPL (Zebra Programming Language) ausgegeben. Sie geben Etikettennamen, Versionen und Datenwerte wie bei der PRINT-Methode an.
Anfrage-URL
https://labelcloudapi.onnicelabel.com/Trigger/v1/CloudTrigger/Api-CloudIntegrationDemo-PrintJob
JSON-Nutzdaten
{ "FilePath": "/folder/label.nlbl", "FileVersion": "", "Quantity": "1", "Printer": "", "PrinterSettings": "", } „Variablen“: [ { "FIELD1": "Value1", "FIELD2": "Value2" } ]
XML-Nutzdaten
<?xml version="1.0" encoding="utf-8"?> <PrintData> <FilePath>/folder/label.nlbl</FilePath> <FileVersion></FileVersion> <Quantity>1</Quantity> <Printer></Printer> <PrinterSettings></PrinterSettings> <Variables> <Variable Name="FIELD1">Value1</Variable> <Variable Name="FIELD2">Value2</Variable> </Variables> </PrintData>
VARIABLES-Methode
Diese Methode liefert eine Liste der Variablen, die in den von Ihnen angegebenen Etiketten definiert sind. Möglicherweise müssen Sie die in Ihren Etiketten definierten Variablen kennen, damit Sie ihnen bei der Ausführung der Methode PRINT Werte zuweisen können.
Anfrage-URL
https://labelcloudapi.onnicelabel.com/Trigger/v1/CloudTrigger/Api-CloudIntegrationDemo-Variables
JSON-Nutzdaten
{ "FilePath": "/folder/label.nlbl", "FileVersion": "", }
XML-Nutzdaten
<?xml version="1.0" encoding="utf-8"?> <PrintData> <FilePath>/folder/label.nlbl</FilePath> <FileVersion></FileVersion> </PrintData>
PRINTERSTATUS-Methode
Diese Methode liefert die von Ihren Druckern gemeldeten aktuellen Druckerstatus. Nicht alle Drucker können ihren Status melden.
Anfrage-URL
https://labelcloudapi.onnicelabel.com/Trigger/v1/CloudTrigger/Api-CloudIntegrationDemo-PrinterStatus
JSON-Nutzdaten
{ „Drucker“: "ZEBRA ZD420-300dpi ZPL" }
XML-Nutzdaten
<?xml version="1.0" encoding="utf-8"?> <PrintData> <Printer>ZEBRA ZD420-300dpi ZPL</Printer> </PrintData>
Datenstrukturen
Ihre API-Konfiguration akzeptiert JSON- und XML-Nutzdaten. Ihre Konfiguration bestimmt automatisch Ihren Nutzdatentyp und antwortet mit demselben Typ.
Eingehende Nutzdaten
Die unten aufgeführten Datenstrukturen enthalten alle möglichen Felder. Die von Ihnen verwendeten Felder hängen von Ihrer API-Methode ab. Im Kapitel API-Methoden finden Sie eine Liste der Felder, die für Ihre spezielle API-Methode gelten.
JSON-Nutzdatenstruktur
{ "FilePath": "/folder/label.nlbl", "FileVersion": "", "Quantity": "1", "Printer": "", "PrinterSettings": "", "PrintJobName": "", "PreviewFormat": "", "CatalogRoot": "", "SubscriptionKey": "", "Variables": [ { "Variable1": "Value1", "Variable2": "Value2" } ], "Report": [ { "Pos": "01", "Code": "100" "Name": "Produkt 1" }, { "Pos": "02", "Code": "200" "Name": "Produkt 2" } ] }
Sie können das optionale JSON-Report-Objekt verwenden, wenn Sie Versanddokumente wie Packzettel und Lieferscheine drucken.
Elemente in JSON-Report-Objekten werden in Strukturen umgewandelt, die für Report-Objekte auf Ihren Etikettenvorlagen geeignet sind. Zum Beispiel werden die Variablen „Pos“, „Code“ und „Name“ aus dem Beispiel im Report-Objekt mit denselben Namen verwendet. Sie können auch Ihre eigenen Variablennamen verwenden. Wenn Sie keine Report-Objekte in Ihrer Etikettenvorlage verwenden möchten, können Sie das JSON-Report-Objekt auslassen.
XML-Nutzdatenstruktur
<?xml version="1.0" encoding="utf-8"?> <PrintData> <FilePath>/folder/label.nlbl</FilePath> <FileVersion>1</FileVersion> <Quantity>1</Quantity> <Printer></Printer> <PrinterSettings></PrinterSettings> <PrintJobName></PrintJobName> <PreviewFormat></PreviewFormat> <CatalogRoot></CatalogRoot> <SubScriptionKey></SubscriptionKey> <Variables> <Variable Name="Variable1">Value1</Variable> <Variable Name="Variable2">Value2</Variable> </Variables> <Report> <Item> <Pos>01</Pos> <Code>100</Code> <Name>Product 1</Name> </Item> <Item> <Pos>02</Pos> <Code>200</Code> <Name>Product 2</Name> </Item> </Report> </PrintData>
Feldbeschreibungen
NAME |
BESCHREIBUNG |
---|---|
FilePath |
Vollständiger Pfad- und Etikettenname aus dem Dokumentenspeicher. |
FileVersion |
Dateiversion des Etiketts. Wenn Sie eine Major-/Minor-Version verwenden, geben Sie die Version als „0.1“ oder „1.1“ an. Wenn Sie die Major-Version verwenden, geben Sie die Version als „1“ oder „2“ an. Wenn Sie keine Werte angeben, wird die letzte verfügbare Version verwendet. Wenn Sie Genehmigungs-Workflows einsetzen, wird die letzte genehmigte Etikettenversion verwendet. |
Quantity |
Anzahl der auszudruckenden Etiketten. |
Printer |
Name des Druckers, auf dem Ihre Etiketten gedruckt werden. Hierbei muss es sich um den genauen Druckernamen handeln, der auf Ihrem Windows-Computer mit installiert ist. Loftware Automation |
PrinterSettings |
Base64-kodierte DEVMODE-Struktur. Ermöglicht das Außerkraftsetzen von Druckereinstellungen, die in Ihrer Etikettenvorlage gespeichert sind oder von Ihrem Druckertreiber abgerufen werden. Hinweis Sie können PowerForms-Anwendungen erstellen, um Druckereinstellungen zu konfigurieren und Einstellungen in DEVMODE zu exportieren. Außerdem können Sie mit einer Anwendung, die Sie von unserer Website herunterladen können (Downloads > Utilities and Support Software), Einstellungen aus Ihrem Druckertreiber in DEVMODE exportieren. |
PrintJobName |
Auftragsdateinamen, die im Windows Spooler angezeigt werden. Wenn Sie diese Angabe weglassen, ist der Auftragsname standardmäßig der Name Ihrer Etikettendatei. |
PreviewFormat |
Format der Etikettenvorschau. Zu den verfügbaren Formaten gehören PDF, PNG und JPEG. Falls nicht angegeben, ist PDF das Standardformat. |
CatalogRoot |
Startordner, in dem Sie Ihren Etikettenkatalog erstellen. Ihr Katalog enthält außerdem Etiketten aus allen Unterordnern. Hinweis Wenn Sie Etikettenkataloge aus großen Dokumentenspeichern abrufen, kann es einige Augenblicke dauern, bis Ihre Anfrage abgeschlossen ist. |
SubscriptionKey |
Ein Abonnementschlüssel zur Erstellung des Etikettenkatalogs. Die Konfiguration von Automation nutzt die Dokumenten-API, um den Etikettenkatalog zu generieren. Zur Authentifizierung wird ein Abonnementschlüssel benötigt. Sie können Ihren Abonnementschlüssel über das Entwicklerportal abrufen. |
Variablen |
Name-Wert-Paare für Ihre Etikettenvariablen. Für jeden „Namen“ müssen Sie einen passenden „Wert“ angeben. Alle Name-Wert-Paare senden Sie an Ihr Etikett, um sie mit Variablen zu verwenden, die mit demselben „Namen“ definiert sind. Die Zuordnung der Werte erfolgt automatisch anhand der übereinstimmenden Namen. |
Report |
Mehrere Elemente, die Name-Wert-Paare für die im Report-Objekt in der Etikettenvorlage verwendeten Variablen liefern. Jedes „Element“ wird als neue Zeile im Report-Objekt verwendet. Hierbei handelt es sich um ein optionales Feld. |
Feedback-Meldungen
Automation stellt die Ergebnisse der Datenverarbeitung in synchronen Antworten für Geschäftsanwendungen bereit. Die Antworten entsprechen immer den Strukturen der eingehenden Nutzdaten. Wenn Sie Anforderungen im JSON-Format senden, erhalten Sie JSON-Antworten. Wenn Sie Anforderungen im XML-Format senden, erhalten Sie XML-Antworten.
-
Erfolgreiche Ausführung. Wenn keine Datenverarbeitungsfehler vorliegen, erhalten die Geschäftssysteme Nachrichten im JSON- oder XML-Format. Die Struktur Ihrer Antwort hängt von der von Ihnen verwendeten API-Methode ab.
-
Fehlerhafte Ausführung. Liegt ein Verarbeitungsfehler vor, wie z.B. „Etikett nicht gefunden“, „Drucker nicht verfügbar“ oder „falsche Daten für Etikettenobjekte“, gibt Ihr Loftware Automation Trigger einen Fehler aus und sendet Details in der Trigger-Antwort zurück.
Für XML Daten-Nutzdaten bietet die API eine Rückmeldung im HTTP-Header und im Nachrichtentext. Für JSON-Daten enthalten die Antworten HTML-Nachrichten ohne Fehlerdetails (eine kommende Loftware -Version wird JSON-Antworten mit Fehlerdetails enthalten).
Detaillierte Fehlerprotokolle finden Sie im Loftware Automation Manager für jeden Antworttyp.
PrinterList-Strukturen
Jeder Drucker verfügt über Drucker -Elemente.
NAME |
BESCHREIBUNG |
---|---|
PrinterName |
Der Windows-Druckertreibername, der für Loftware Automation sichtbar ist. Windows-Benutzer können diesen Namen ändern. |
DriverName |
Windows-Druckermodellname (vom Druckertreiber definiert). Windows-Benutzer können diesen Namen nicht ändern. |
Variablen-Strukturen
Jede Variable auf Ihrem Etikett enthält Variable -Elemente.
Für weitere Informationen lesen Sie bitte unser Benutzerhandbuch:
NAME |
BESCHREIBUNG |
---|---|
Name |
Name der Variablen. |
Beschreibung |
Variablenbeschreibungen |
DefaultValue |
Standardwert, der für Ihre Variable während des Etikettendesigns definiert wurde. |
Format |
Zulässige Arten von Variableninhalten (Zeichen). |
IsPrompted |
Gibt an, ob die Variable zum Zeitpunkt des Drucks abgefragt wird. |
PromptText |
Der Text, mit dem die Benutzer zur Eingabe eines Wertes aufgefordert werden. |
CurrentValue |
Aktueller Wert, der zum Drucken verwendet wird. |
IncrementType |
Gibt an, ob die Variable als Zähler definiert ist. Wenn sie als Zähler definiert ist, zeigt IncrementType den Zählertyp an. |
IncrementStep |
Informationen zum Zählerschritt. Ihr Zählerwert erhöht/verringert sich beim nächsten Etikett um diesen Wert. |
IncrementCount |
Informationen zur Erhöhung/Verringerung des Zählerwerts. Zähler ändern ihre Werte normalerweise für jedes Etikett, aber Sie können auch benutzerdefinierte Schritte wählen. |
Length |
Maximale Anzahl der gespeicherten Zeichen in der Variablen. |
IsPickListEnabled |
Gibt an, ob Ihre Benutzer Variablenwerte aus einer Auswahlliste auswählen. |
PickListValues |
Tatsächliche (auswählbare) Werte der Auswahlliste. |
Etikettenkatalog-Strukturen
Unten sehen Sie eine Beispielstruktur, die für den Etikettenkatalog ausgegeben wird.
Die Automation -Konfiguration generiert den Etikettenkatalog mit Dokumenten-API aus dem Entwicklerportal (Sie müssen sich anmelden, um den Inhalt zu sehen). Das Beispiel verwendet eine kleine Teilmenge der von der Dokumenten-API bereitgestellten Daten.
Hinweis
Sie können die Struktur des ausgegebenen Etikettenkatalogs ändern, um sie an Ihre Anforderungen anzupassen. Bearbeiten Sie einfach den Trigger, der den Etikettenkatalog erzeugt, in der bereitgestellten Automation -Konfiguration.
Die Loftware -Konfiguration bietet die folgende Beispielstruktur:
NAME |
BESCHREIBUNG |
---|---|
Id |
Interne ID der Etikettenvorlagen, wie sie im Dokumentenverwaltungssystem generiert werden. |
ItemPath |
Der vollständige Pfad und Dateiname der Etikettenvorlage. |
Erstellt |
Zeitstempel der Erstellung. |
Geändert |
Zeitstempel der Änderung. |
ModifiedBy |
Kennung des Benutzers, der die Etikettenvorlage zuletzt geändert hat. |
VersionNumber |
Die Version der letzten Etikettenvorlage. |
WorkflowName |
Der Name eines Workflows, der für den Ordner definiert ist, in dem die Etikettenvorlage gespeichert ist. |
WorkflowStepName |
Der Name des Workflow-Schrittes, den die Etikettenvorlage einnimmt. |