Einzelnen Beitrag anzeigen

Ykcim

Registriert seit: 29. Dez 2006
Ort: NRW
844 Beiträge
 
Delphi 10.4 Sydney
 
#1

DHL-API mit RESTClient

  Alt 8. Jan 2025, 11:06
Hallo Zusammen,
wir benötigen eine Möglichkeit, DHL-Labels via Software zu erstellen. Das ist für mich komplettes Neuland daher versuche ich im ersten Schritt, die Sendungsverfolgung über die API zu realisieren.

Ich habe mich registriert, die App hinzugefügt und habe meinen API-Key.

In der Dokumentation steht folgende CURL als Beispiel:
Zitat:
curl -X GET 'https://api-eu.dhl.com/track/shipments?trackingNumber=7777777770' -H 'DHL-API-Key: PasteHere_ConsumerKey'
Nach langem Suchen und Lesen habe ich folgenden gefundenen Code angepasst und versucht auszuführen:
Delphi-Quellcode:
function cUrlCall: string;
begin
  var client := TRESTClient.Create('https://api-eu.dhl.com');
  try
    var request := TRESTRequest.Create(client);
    request.Method := rmGET;
    request.Resource := 'track/shipments';
    request.AddParameter('trackingNumber', '00341434296527125347', pkGETorPOST, []);
    request.AddAuthParameter('DHL-API-Key','XXxxXXXxxxXXXxxx',pkGETorPOST,[poDoNotEncode]);
    request.Execute;
    Result:= request.GetFullRequestURL;
    Result := Result + ' // Result:' + request.Response.Content;
  finally
    client.Free;
  end;
end;
Das Ergebnis ist eine Fehlermeldung, dass die Authorization fehlgeschlagen ist.

Zitat:
https://api-eu.dhl.com/track/shipmen...xxXXXxxxXXXxxx // Result:{"status":401,"title":"Unauthorized","detai l":"Unauthorized for given resource."}
(TrackingNr und DHL-API-Key sind für die Frage gefakt)

Ich habe das gleiche Problem auch, wenn ich versuche, dass Ganze mit dem RESTDebugger auszuführen.

Kann mir jemand sagen, was ich falsch mache?

Vielen Dank Patrick
Patrick
  Mit Zitat antworten Zitat