Warenkorb
0
Wagen 0
Telefonische Beratung +49 (0) 441-30 43 76 40
Die Anbindung von FileMaker an die DHL REST API ermöglicht die automatisierte Erstellung von Paketmarken für den Versand. In dieser Anleitung erfahren Sie Schritt für Schritt, wie Sie FileMaker so programmieren, dass Ihre FileMaker-Lösung mit der DHL REST API kommuniziert, um Paketmarken anzufordern und herunterzuladen.
Mit der DHL-API lässt sich eine Vielzahl von Prozessen rund um den Versand und die Sendungsverfolgung automatisieren. Neben der Erstellung von Paketmarken (Versandlabeln) können Nutzer auch Sendungsverfolgungen (Tracking) automatisieren, um den Status ihrer Pakete in Echtzeit zu überwachen. Die API ermöglicht außerdem das Erstellen von Retouren-Labeln, um den Rückversand für Kunden zu vereinfachen. Weiterhin können wichtige Versanddokumente wie Zolldeklarationen für internationale Sendungen direkt erstellt und in den Versandprozess integriert werden. Zusätzlich können Sendungen priorisiert oder bestimmte Versandoptionen wie Nachnahme oder Versicherung hinzugefügt werden. Die DHL-API bietet somit eine umfassende Lösung, um den gesamten Versandprozess zu optimieren und vollständig in bestehende Systeme wie FileMaker zu integrieren. In dieser Anleitung zeigen wir Ihnen, wie Sie Paketlabels mit der API erstellen können.
Bevor Sie die DHL API in FileMaker integrieren können, benötigen Sie einen Zugang zur DHL API:
Die DHL API verwendet HTTP-Anfragen, um Daten zu senden und zu empfangen. Die wichtigsten Funktionen zur Erstellung eines Paketlabels sind:
FileMaker nutzt den Befehl Aus URL einfügen
in Kombination mit cURL-Optionen, um HTTP-Anfragen an die API zu senden und Antworten zu empfangen.
DHL verwendet die Basic Authentication. In FileMaker wird dies durch die Bereitstellung von Benutzername und Passwort im Base64-Format erreicht. Im folgenden finden Sie ein Beispiel, wie Sie die Authentifizierung vorbereiten können:
Base64Encode("Benutzername:Passwort")
In FileMaker können Sie diesen String direkt in den Aus URL einfügen
-Befehl mit den entsprechenden cURL-Optionen integrieren.
Die API erfordert bestimmte Angaben wie Absenderadresse, Empfängeradresse, Gewicht, Versandart usw. Im folgenden ein einfaches Beispiel für eine Anfrage an die DHL API zur Erstellung eines Labels.
Skript: Paketmarke erstellen
Variable setzen [ $url; Wert: "https://cig.dhl.de/services/production/rest/sendungsverfolgung/v2/paketmarken" ]
Variable setzen [ $auth; Wert: "Base64Encode(Benutzername:Passwort)" ]
Variable setzen [ $payload; Wert: "{ 'Version': '2.0', 'shipmentDetails': {...} }" ]
# Hier die Versanddaten im JSON-Format einfügen
Beispiel für den JSON-Request (Payload), den Sie an DHL senden:
{
"Version": "2.0",
"ShipmentOrder": [
{
"sequenceNumber": "1",
"Shipment": {
"Shipper": {
"Name": "Dein Unternehmen",
"Address": {
"StreetName": "Straße",
"BuildingNumber": "1",
"PostalCode": "12345",
"City": "Stadt",
"CountryCode": "DE"
}
},
"Receiver": {
"Name": "Empfänger",
"Address": {
"StreetName": "Empfängerstraße",
"BuildingNumber": "10",
"PostalCode": "54321",
"City": "Empfängerstadt",
"CountryCode": "DE"
}
},
"ShipmentDetails": {
"ProductCode": "V01PAK", # Versandart (z.B. Paket national)
"WeightInKG": "2.5", # Gewicht des Pakets
"CustomerReference": "123456", # Referenznummer
"ShipmentDate": "2023-09-01"
}
},
"LabelResponseType": "URL"
}
]
}
Verwenden Sie den Aus URL einfügen
-Befehl, um die Anfrage an DHL zu senden und das Label zu erstellen:
Aus URL einfügen [ Auswahl ; Ziel: $response ; URL: $url ; cURL-Optionen:
"-X POST --header \"Authorization: Basic " & $auth & "\"" &
"--header \"Content-Type: application/json\"" &
"--data " & $payload ]
Das erstellte Label wird von der API in Form einer PDF-Datei zurückgegeben. Sie können es in einem FileMaker Container-Feld speichern.
Aus URL einfügen [ Auswahl ; Ziel: Tabelle::Containerfeld ; URL: "response-PDF-URL" ]
Das Feld response-PDF-URL wird von der DHL API nach erfolgreicher Erstellung des Labels zurückgegeben und enthält die URL, unter der das PDF heruntergeladen werden kann.
Im folgenden finden Sie ein FileMaker-Skript, das zeigt, wie Sie den JSON-Payload mit Daten aus FileMaker-Feldern aufbauen können. In diesem Beispiel gehen wir davon aus, dass die Felder in Ihrer FileMaker-Datenbank Informationen zum Absender, Empfänger und Versanddetails enthalten und nennen Ihre Tabelle hier beispielhaft „Table“ mit entsprechenden Feldnamen, was Sie in Ihrer FileMaker-Lösung entsprechend anpassen müssen. Die JSON-Struktur entspricht der, die Sie an die DHL-API senden können.
Beispiel-Skript in FileMaker:
# Variablen für JSON-Aufbau setzen
Variable setzen [ $jsonAbsender; Wert: JSONSetElement ( "{}" ;
[ "Name" ; Table::AbsenderFirma ; JSONString ] ;
[ "Address.StreetName" ; Table::AbsenderStraße ; JSONString ] ;
[ "Address.BuildingNumber" ; Table::AbsenderHausnummer ; JSONString ] ;
[ "Address.PostalCode" ; Table::AbsenderPLZ ; JSONString ] ;
[ "Address.City" ; Table::AbsenderStadt ; JSONString ] ;
[ "Address.CountryCode" ; Table::AbsenderLand ; JSONString ]
)]
Variable setzen [ $jsonEmpfänger; Wert: JSONSetElement ( "{}" ;
[ "Name" ; Table::EmpfängerName ; JSONString ] ;
[ "Address.StreetName" ; Table::EmpfängerStraße ; JSONString ] ;
[ "Address.BuildingNumber" ; Table::EmpfängerHausnummer ; JSONString ] ;
[ "Address.PostalCode" ; Table::EmpfängerPLZ ; JSONString ] ;
[ "Address.City" ; Table::EmpfängerStadt ; JSONString ] ;
[ "Address.CountryCode" ; Table::EmpfängerLand ; JSONString ]
)]
Variable setzen [ $jsonVersanddetails; Wert: JSONSetElement ( "{}" ;
[ "ProductCode" ; Table::Produktcode ; JSONString ] ;
[ "WeightInKG" ; Table::Versandgewicht ; JSONNumber ] ;
[ "CustomerReference" ; Table::Referenznummer ; JSONString ] ;
[ "ShipmentDate" ; Table::Versanddatum ; JSONString ]
)]
# Aufbau des gesamten JSON-Dokuments
Variable setzen [ $payload; Wert: JSONSetElement ( "{}" ;
[ "Version" ; "2.0" ; JSONString ] ;
[ "ShipmentOrder[0].sequenceNumber" ; "1" ; JSONString ] ;
[ "ShipmentOrder[0].Shipment.Shipper" ; $jsonAbsender ; JSONObject ] ;
[ "ShipmentOrder[0].Shipment.Receiver" ; $jsonEmpfänger ; JSONObject ] ;
[ "ShipmentOrder[0].Shipment.ShipmentDetails" ; $jsonVersanddetails ; JSONObject ] ;
[ "ShipmentOrder[0].LabelResponseType" ; "URL" ; JSONString ]
)]
Der erzeugte JSON-Payload wird in die Variable $payload geschrieben, die Sie im oberen Script Paketmarke erstellen als Definition der Variable $payload nutzen können.
Mit der Anbindung von FileMaker an die DHL REST API können Sie die Erzeugung von Paketmarken effizient automatisieren. Im folgenden die wichtigsten Schritte zusammengefasst:
Dieses Setup erlaubt Ihnen, den Versandprozess vollständig in FileMaker zu integrieren und Paketmarken direkt aus Ihrer Datenbank heraus zu erstellen.
Hinzufügen von {{itemName}} zum Warenkorb
Hinzugefügt {{EinkaufsName}} zum Warenkorb