![]() |
AW: DHL-API mit RESTClient
Wenn das hier funktioniert, dann ist wohl dein API-Key nicht korrekt:
Code:
curl https://api-eu.dhl.com/track/shipments?trackingNumber=0 -H DHL-API-Key:demo-key
|
AW: DHL-API mit RESTClient
Hello,
DHL also offers its own client for generating the labels dhl pollingclient it periodically checks for/reads a simple csv file with the address and parcel data (sizes, weight (customs codes for foreign shipments)) and returns the file with the tracking number so it can be read into your system regards hannes |
AW: DHL-API mit RESTClient
Hallo,
ich habe das vor einigen Jahren mal in C++ Builder realisiert über die HTTP Schnittstelle und SOAP. Meine Anwendung erstellt allerdings nur Labels (National) und prüft Adressen. Wenn da Interesse besteht bitte Bescheid geben. MfG Thorsten Uhr |
AW: DHL-API mit RESTClient
Guten Morgen zusammen,
@Thorsten, vielen Dank für das Angebot. Da hätte ich großes Interesse dran. Ich muss zwar eine internationale Schnittstelle bauen, aber ich denke, es wird sehr hilfreich sein! |
AW: DHL-API mit RESTClient
Zitat:
Damit kann man auch ein Delphi-Programm füttern und testen, ob es prinzipiell funktioniert. Ich hatte auf der Seite von DHL gar nichts zu diesem Demo-Datensatz und Demo-Key gelesen, aber ich bin auch nicht besonders tief eingestiegen, da ich aktuell keine Verwendung dafür habe. |
AW: DHL-API mit RESTClient
Das habe ich getestet - diese Möglichkeit hatte ich nicht gesehen.
Hier bekomme ich über CURL ein Ergebnis geliefert. Ich vermute, dass mein Key nicht zu der API passt. Für die API würde ich einen housebill Code benötigen. Eine Sendungsnummer kann man darüber wohl auch ermitteln, aber das hat nicht funktioniert. Ich habe jetzt weitere API's der App hinzugefügt, die aber noch nicht alle freigeschaltet wurden. Wenn ich schlauer bin, melde ich mich wieder! Vielen Dank Patrick |
AW: DHL-API mit RESTClient
Hallo,
Diese Datei als Stream laden und die Platzhalter in eckigen Klammern mit Deinen Parametern ersetzen :
Code:
Der folgende Code ist zwar in C++, aber ich denke den kannst Du einfach in Delphi übersetzen :
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:cis="http://dhl.de/webservice/cisbase" xmlns:ns="http://dhl.de/webservices/businesscustomershipping/3.0">
<soapenv:Header> <cis:Authentification> <cis:user>[Benutzername]</cis:user> <cis:signature>[Passwort]</cis:signature> </cis:Authentification> </soapenv:Header> <soapenv:Body> <ns:CreateShipmentOrderRequest> <ns:Version> <majorRelease>3</majorRelease> <minorRelease>1</minorRelease> </ns:Version> <ShipmentOrder> <sequenceNumber></sequenceNumber> <Shipment> <ShipmentDetails> <product>V01PAK</product> <cis:accountNumber>[Produkt]</cis:accountNumber> <customerReference>[Sendungsreferenz]</customerReference> <shipmentDate>[Sendungsdatum]</shipmentDate> <costCentre></costCentre> <ShipmentItem> <weightInKG>[Gewicht]</weightInKG> </ShipmentItem> <Service> </Service> </ShipmentDetails> <Shipper> <Name> <cis:name1>Xxxxxxx GmbH</cis:name1> <cis:name2></cis:name2> <cis:name3></cis:name3> </Name> <Address> <cis:streetName>Xxxxxxstrasse</cis:streetName> <cis:streetNumber>4</cis:streetNumber> <cis:zip>53225</cis:zip> <cis:city>Bonn</cis:city> <cis:Origin> <cis:country></cis:country> <cis:countryISOCode>DE</cis:countryISOCode> </cis:Origin> </Address> <Communication> <!--Optional:--> <cis:phone>+49228xxxxxx</cis:phone> <cis:email>info@xxxxxx.de</cis:email> <!--Optional:--> <cis:contactPerson>Kontaktperson Absender</cis:contactPerson> </Communication> </Shipper> <Receiver> <cis:name1>[EmpfaengerName1]</cis:name1> <Address> <cis:name2>[EmpfaengerName2]</cis:name2> <cis:name3>[EmpfaengerName3]</cis:name3> <cis:streetName>[EmpfaengerStrasse]</cis:streetName> <cis:streetNumber>[EmpfaengerHausnummer]</cis:streetNumber> <cis:zip>[EmpfaengerPLZ]</cis:zip> <cis:city>[EmpfaengerOrt]</cis:city> <cis:Origin> <cis:country></cis:country> <cis:countryISOCode>DE</cis:countryISOCode> </cis:Origin> </Address> </Receiver> </Shipment> <PrintOnlyIfCodeable active="1"/> </ShipmentOrder> <labelResponseType>URL</labelResponseType> <groupProfileName></groupProfileName> <labelFormat>910-300-610</labelFormat> <labelFormatRetoure></labelFormatRetoure> <combinedPrinting>0</combinedPrinting> </ns:CreateShipmentOrderRequest> </soapenv:Body> </soapenv:Envelope>
Code:
Als Ergebnis erhälst Du die Paketnummer und einen Downloadurl des Labels.
IdHTTP1->Request->BasicAuthentication=true;
IdHTTP1->Request->Username=ApplicationsIDEdit->Text; IdHTTP1->Request->Password=ApplicationsTokenEdit->Text; IdHTTP1->Request->CustomHeaders->Clear(); IdHTTP1->Request->CustomHeaders->Add("SOAPAction: \"urn:createShipmentOrder\""); Ergebnis=IdHTTP1->Post("https://cig.dhl.de/services/production/soap",StreamData); MfG Thorsten Uhr |
AW: DHL-API mit RESTClient
Hallo Thorsten,
klasse! Vielen Dank! |
AW: DHL-API mit RESTClient
Hallo Zusammen,
ich habe soeben die API Shipment Tracking - Unified freigeschaltet bekommen. Mit folgendem Aufruf in der cmd-Konsole bekomme ich damit jetzt das richtige Ergebnis:
Delphi-Quellcode:
Die xxXXXxxXXXXXxxXX gegen den API-Key tauschen.
curl https://api-eu.dhl.com/track/shipments?trackingNumber=00341434296527125347 -H DHL-API-Key:xxXXXxxXXXXXxxXX
Vielen Dank für Eure Unterstützung Patrick |
AW: DHL-API mit RESTClient
Zitat:
- Fehlende Freischaltung im Dashboard? - Die richtige curl URI? - Das Demo was TUhr zuletzt für Delphi gepostet hat? |
Alle Zeitangaben in WEZ +1. Es ist jetzt 22:30 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz