Wie man Versandetiketten für ausgehende Sendungen direkt auf einem Zebra-Drucker druckt, während Rücksendeetiketten als PDF-Dateien generiert und in einem Ordner gespeichert werden.
Dies kann mit Shipment Server zusammen mit DropZone erreicht werden.
Die beigefügte Postman-Sammlung zeigt sowohl die klassische Shipment Server API als auch die Shipment Server REST API sowie die erforderliche Konfiguration in DropZone.
https://nshiftship.helpcenter.nshift.com/hc/en-us/article_attachments/28207250192156
Umgebungsvariablen
Die Postman-Sammlung verwendet die folgenden Umgebungsvariablen:
| Variable | Zweck |
|---|---|
| ActorID | Shipment Server Actor ID |
| KEY | Shipment Server API-Schlüssel |
| Username | Shipment Server Benutzername |
| Password | Shipment Server Passwort |
| TicketUserName | DropZone-Benutzer, der Druckaufträge empfängt |
| WorkstationID | DropZone-Installations-ID der Arbeitsstation |
| DropZoneLabelPrinterKey | DropZone-Druckerschlüssel, der für die Weiterleitung von Rücksendeetiketten verwendet wird |
| SSAPIBaseURL | Basis-URL für Ship API (v1) |
| SSRESTAPIBaseURL | Basis-URL für Ship REST API (v2) |
Unterschied zwischen den beiden Shipment Server APIs
Die Sammlung zeigt zwei verschiedene Methoden zur Erstellung von Sendungen.
Klassische Shipment Server API
Endpunkt:
POST https://demo.shipmentserver.com/ship
Merkmale:
- Verwendet multipart/form-data.
- Authentifizierung erfolgt über die Anforderungsparameter.
- Ein Befehlsparameter spezifiziert die Aktion:
"command": "SubmitShipment"
- Sendungsdaten und Optionen werden als JSON-Strings gesendet.
Shipment Server REST API
Endpunkt:
POST https://demo.shipmentserver.com:8080/shipServer/{ActorID}/shipmentsMerkmale:
- Verwendet application/json.
- Verwendet Basic Authentication oder OAuth.
- Actor ID ist Teil der URL.
- Daten und Optionen werden als native JSON-Objekte gesendet.
Funktionaler Unterschied
Aus geschäftlicher Sicht führen beide APIs dieselbe Operation aus:
- Erstellung einer Sendung.
- Generierung von Etiketten.
- Weiterleitung der Etiketten über DropZone.
Der Unterschied liegt nur im API-Stil, Authentifizierungsmechanismus und Datenformat.
DropZone-Konfiguration
Bevor die API-Anfragen verwendet werden können, muss DropZone auf der Arbeitsstation installiert und konfiguriert sein, die die Druckaufträge empfängt.
1. Anmeldung bei DropZone
Melden Sie sich mit demselben Konto an, das in den API-Anfragen angegeben ist.
Beispiel:
"TicketUserName": "first.last.company.owner"
Die in DropZone angezeigte Installations-ID der Arbeitsstation muss mit dem in den API-Anfragen verwendeten Wert übereinstimmen.
Beispiel:
"WorkstationID": "014AFB70-1234-1234-1234-9CB1A646C6D0"
2. Konfigurieren des Zebra-Druckers
Navigieren Sie zu:
Drucker → Neu
Wählen Sie den Zebra-Drucker aus, der die Versandetiketten für ausgehende Sendungen drucken soll.
Beispiel:
Druckername: ZDesigner GK420d
Druckertyp: GK240
Standardetikettendrucker: True
Dieser Drucker erhält Etiketten im Zebra-Format.
3. Konfigurieren eines PDF-Druckers für Rücksendeetiketten
Erstellen Sie einen Dateidrucker in DropZone.
Beispiel:
Druckername: ZDesigner GK420d
Ausgabeordner: C:\Data\PrintToFile
Druckertyp: PDF Label
Standardetikettendrucker: False
Importschlüssel: return-labels
Der Importschlüssel ist wichtig, da er direkt aus der API-Anfrage referenziert wird.
Beispiel:
"DropZoneLabelPrinterKey": "return-labels"
Wenn Shipment Server diesen Wert erhält, leitet DropZone das generierte PDF-Etikett an diese Druckerkonfiguration weiter.
4. Cloud Print aktivieren
Öffnen Sie den Reiter Cloud Print in DropZone und aktivieren Sie den Dienst.
Ohne aktiviertes Cloud Print kann Shipment Server keine Etiketten an den DropZone-Client liefern.
Szenario 1 – Ausgehende Sendung wird auf Zebra-Drucker gedruckt
Für ausgehende Sendungen gibt die API-Anfrage Folgendes an:
{
"Labels": "ZPLGK",
"TicketUserName": "first.last.customer.owner",
"WorkstationID": "014AFB70-1234-1234-1234-9CB1A646C6D0"
}Ablauf
- Shipment Server erstellt die Sendung.
- Ein Zebra (ZPL) Etikett wird generiert.
- Das Etikett wird über Cloud Print gesendet.
- DropZone empfängt den Druckauftrag.
- Der Zebra-Drucker druckt das Versandetikett automatisch.
Ergebnis
Der Lagerarbeiter erhält sofort ein physisches Etikett und kann es dem Paket anbringen.
Szenario 2 – Rücksendung wird als PDF generiert
Für Rücksendungen gibt die API-Anfrage Folgendes an:
{
"Labels": "PDF",
"TicketUserName": "first.last.customer.owner",
"WorkstationID": "014AFB70-1234-1234-1234-9CB1A646C6D0",
"DropZoneLabelPrinterKey": "return-labels"
}Ablauf
- Shipment Server erstellt die Rücksendung.
- Ein PDF-Etikett wird generiert.
- Das PDF wird über Cloud Print gesendet.
- DropZone leitet das Dokument an die Druckerkonfiguration mit dem Schlüssel
return-labelsweiter. - Das PDF wird im konfigurierten Ordner gespeichert.
Ergebnis
Das Kundenserviceteam kann das PDF abrufen und es einer E-Mail an den Endkunden anhängen.
Diagramm
flowchart TD
A[Customer system / Postman collection] --> B{Shipment type}
B -->|Normal outbound shipment| C[Submit shipment request]
C --> C1[Options: Labels = ZPLGK]
C1 --> C2[TicketUserName identifies DropZone user]
C2 --> C3[WorkstationID identifies DropZone installation]
C3 --> D[Shipment Server creates shipment]
D --> E[Shipment Server generates Zebra ZPL label]
E --> F[Cloud Print sends label to DropZone]
F --> G[DropZone routes job to Zebra printer]
G --> H[Physical label is printed]
B -->|Return shipment| I[Submit return shipment request]
I --> I1[Options: Labels = PDF]
I1 --> I2[DropZoneLabelPrinterKey = return-labels]
I2 --> I3[TicketUserName identifies DropZone user]
I3 --> I4[WorkstationID identifies DropZone installation]
I4 --> J[Shipment Server creates return shipment]
J --> K[Shipment Server generates PDF label]
K --> L[Cloud Print sends PDF to DropZone]
L --> M[DropZone routes PDF to ReturnLabels printer]
M --> N[PDF is saved to configured folder]
N --> O[PDF can be attached to customer email]