Muss bezüglich REST was beachtet werden?
Da ich noch auf die Antwort von Hermes warte, habe ich mir schonmal die DPD Schnittstelle angeschaut.
Hier steht mir neben
SOAP auch REST zur Verfügung.
Habe meine
XML-Datei konfiguriert und eine Abfrage per IDHTTP.POST durchgeführt.
Code:
IdHTTP1.Request.URL := 'https://cloud-stage.dpd.com/
api/v1/setOrder';
IdHTTP1.Request.ContentType := 'text/
xml; charset=utf-8';
IdHTTP1.Post(IdHTTP1.Request.URL,MSRequest,MSResponse);
In der Antwort erhalte ich nur Fehler bezüglich Authentifizierung und Versions Nr usw.
Da die Versionsnummer aber übermittelt wird, hat das für mich ja den Anschein, dass die
XML-Datei nicht ankommt oder nicht gelesen werden kann
Request:
Code:
<?
xml version="1.0" encoding="UTF-8"?>
<setOrderRequest>
<Version>100</Version>
<Language>de_DE</Language>
<PartnerCredentials>
<Name>xxxx</Name>
<Token>xxxxxx</Token>
</PartnerCredentials>
<UserCredentials>
<cloudUserID>xxxx</cloudUserID>
<Token>xxxxxxxxx</Token>
</UserCredentials>
<OrderAction>startOrder</OrderAction>
<OrderSettings>
<ShipDate>2018-01-08T11:18:09</ShipDate>
<LabelSize>PDF_A4</LabelSize>
<LabelStartPosition>UpperLeft</LabelStartPosition>
</OrderSettings>
<OrderDataList>
<OrderData>
<ShipAdress>
<Gender>male</Gender>
<Company>xxx</Company>
<Salutation>Herr</Salutation>
<Name></Name>
<FirstName>xxx</FirstName>
<LastName>xxx</LastName>
<Street>xxx</Street>
<HouseNo>6</HouseNo>
<Country>DE</Country>
<ZipCode>xxx</ZipCode>
<City>Drebber</City>
<State></State>
<Phone>xxx</Phone>
<Mail>xxx</Mail>
</ShipAdress>
<ParcelData>
<ShipService>Classic</ShipService>
<Weight>10.5</Weight>
<Content>xxx</Content>
<YourInternalID>123456</YourInternalID>
<Reference1>Knr.: 5555</Reference1>
<Reference2>Auftrags.-Nr.: 123456</Reference2>
</ParcelData>
</OrderData>
</OrderDataList>
</setOrderRequest>
Code:
<?
xml version="1.0"?>
<setOrderResponseType xmlns="http://schemas.datacontract.org/2004/07/
com.dpd.cloud.business.apiPublic" xmlns:i="http://www.w3.org/2001/XMLSchema-instance">
<Ack>false</Ack>
<ErrorDataList>
<ErrorDataType>
<ErrorCode>CLOUD_API_PARTNERCREDENTIALS</ErrorCode>
<ErrorID>2000</ErrorID>
<ErrorMsgLong>'Partner Credentials' ungültig.</ErrorMsgLong>
<ErrorMsgShort>'Partner Credentials' ungültig.</ErrorMsgShort>
</ErrorDataType>
<ErrorDataType>
<ErrorCode>CLOUD_API_VERSION</ErrorCode>
<ErrorID>2004</ErrorID>
<ErrorMsgLong>Die angegebene
API Version ist ungültig. Letzte
API Version derzeit = 100.</ErrorMsgLong>
<ErrorMsgShort>
API Version ungültig.</ErrorMsgShort>
</ErrorDataType>
<ErrorDataType>
<ErrorCode>CLOUD_API_LANGUAGE</ErrorCode>
<ErrorID>2005</ErrorID>
<ErrorMsgLong>The
API language versions are'de_DE' for German and 'en_EN' for English.</ErrorMsgLong>
<ErrorMsgShort>Language: 'de_DE' or 'en_EN'</ErrorMsgShort>
</ErrorDataType>
</ErrorDataList>
<LabelResponse i:nil="true" xmlns:d2p1="http://schemas.datacontract.org/2004/07/
com.dpd.cloud.business"/>
<Language/>
<SystemInformation i:nil="true"/>
<TimeStamp>2018-01-08T11:11:27.5565912+01:00</TimeStamp>
<Version>0</Version>
</setOrderResponseType>
alles läuft, aber nichts geht...