AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

DHL-API mit RESTClient

Ein Thema von Ykcim · begonnen am 8. Jan 2025 · letzter Beitrag vom 10. Jan 2025
Antwort Antwort
Ykcim

Registriert seit: 29. Dez 2006
Ort: NRW
856 Beiträge
 
Delphi 12 Athens
 
#1

AW: DHL-API mit RESTClient

  Alt 9. Jan 2025, 13:59
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
Patrick
  Mit Zitat antworten Zitat
TUhr

Registriert seit: 25. Sep 2021
25 Beiträge
 
#2

AW: DHL-API mit RESTClient

  Alt 9. Jan 2025, 22:25
Hallo,

Diese Datei als Stream laden und die Platzhalter in eckigen Klammern mit Deinen Parametern ersetzen :

Code:
<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>
Der folgende Code ist zwar in C++, aber ich denke den kannst Du einfach in Delphi übersetzen :

Code:
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);
Als Ergebnis erhälst Du die Paketnummer und einen Downloadurl des Labels.

MfG
Thorsten Uhr
  Mit Zitat antworten Zitat
Ykcim

Registriert seit: 29. Dez 2006
Ort: NRW
856 Beiträge
 
Delphi 12 Athens
 
#3

AW: DHL-API mit RESTClient

  Alt 10. Jan 2025, 08:58
Hallo Thorsten,
klasse! Vielen Dank!
Patrick
  Mit Zitat antworten Zitat
Ykcim

Registriert seit: 29. Dez 2006
Ort: NRW
856 Beiträge
 
Delphi 12 Athens
 
#4

AW: DHL-API mit RESTClient

  Alt 10. Jan 2025, 09:00
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:
curl https://api-eu.dhl.com/track/shipments?trackingNumber=00341434296527125347 -H DHL-API-Key:xxXXXxxXXXXXxxXX Die xxXXXxxXXXXXxxXX gegen den API-Key tauschen.

Vielen Dank für Eure Unterstützung
Patrick
Patrick
  Mit Zitat antworten Zitat
Rollo62

Registriert seit: 15. Mär 2007
4.175 Beiträge
 
Delphi 12 Athens
 
#5

AW: DHL-API mit RESTClient

  Alt 10. Jan 2025, 09:21
ich habe soeben die API Shipment Tracking - Unified freigeschaltet bekommen.
Sorry wenn ich so blöd nachfrage, was war denn jetzt die Lösung?
- Fehlende Freischaltung im Dashboard?
- Die richtige curl URI?
- Das Demo was TUhr zuletzt für Delphi gepostet hat?
  Mit Zitat antworten Zitat
Benutzerbild von DeddyH
DeddyH

Registriert seit: 17. Sep 2006
Ort: Barchfeld
27.659 Beiträge
 
Delphi 12 Athens
 
#6

AW: DHL-API mit RESTClient

  Alt 10. Jan 2025, 09:24
Die Demo von TUhr war ein SOAP-Request, der kann ja keine Lösung für ein REST-Problem sein . So wie ich es lese, war der Key seitens DHL noch gar nicht freigeschaltet, dann macht die Fehlermeldung natürlich Sinn.
Detlef
"Ich habe Angst vor dem Tag, an dem die Technologie unsere menschlichen Interaktionen übertrumpft. Die Welt wird eine Generation von Idioten bekommen." (Albert Einstein)
Dieser Tag ist längst gekommen
  Mit Zitat antworten Zitat
Ykcim

Registriert seit: 29. Dez 2006
Ort: NRW
856 Beiträge
 
Delphi 12 Athens
 
#7

AW: DHL-API mit RESTClient

  Alt 10. Jan 2025, 10:02
Das Beispiel von TUhr ist für meinen nächsten Schritt interessant, wenn ich versuche, über DHL API's Pakete zu versenden.
Aber da ich noch nie mit externen API's gearbeitet habe, wollte ich erst erst einmal die Sendungsverfolgung angehen, die ja viel einfacher ist.

Dabei ist mein Fehler gewesen, dass ich eine API verwendet habe, die nicht freigeschaltet war. Es war eine andere freigeschaltet, aber die ist für unsere Sendungen nicht verwendbar (vielleicht für die internationalen, ich habe es jetzt hier nur mit einer nationalen Sendungsnummer getestet).

Das heißt, dass ich jetzt im nächsten Schritt die funktionierende CURL in eine Delphi-App einbaue und versuchen werden, das ErgebnisJSON zu parsen. und wenn das funktioniert, werde ich mich mit TUhrs Demo an den eigentlichen Schritt wagen, und versuchen Pakete national / international zu versenden.

Aber Dank Eurer Unterstützung habe ich jetzt einen ersten Erfolg mit einer externen API - Vielen Dank!
Patrick
Patrick
  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 21:13 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-2025 by Thomas Breitkreuz