Einzelnen Beitrag anzeigen

TUhr

Registriert seit: 25. Sep 2021
23 Beiträge
 
#27

AW: DHL-API mit RESTClient

  Alt Gestern, 23: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