There is a good blog about it. Unfortunately, in German, but the code that displays there should still make sense to you.
Source: https://blog.simlau.net/dhl-tracking-api-php.html
Excerpts:
function dhl_tracking($trackingnumber) { $data = '<?xml version="1.0" encoding="ISO-8859-1" ?>'; $data .= '<data appname="nol-public" password="anfang" request="get-status-for-public-user" language-code="de">'; $data .= ' <data piece-code="'.$trackingnumber.'"></data>'; $data .= '</data>'; // URL bauen und File hohlen $xml = simplexml_load_file(sprintf( 'http://nolp.dhl.de/nextt-online-public/direct/nexttjlibpublicservlet?xml=%s', $data )); // FALSE, wenn Syntax oder HTTP Error if ($xml === false) return false; // Wandelt das SimpleXML Objekt in ein Array um foreach ($xml->data->data->attributes() as $key => $value) { $return[$key] = (string) $value; } return $return; } // Aufruf der Funktion print_r(dhl_tracking($tracking_number));
This function returns an array that will contain some tracking information:
Array ( [status] => Die Sendung wurde erfolgreich zugestellt. [recipient-id-text] => Nachbar [product-name] => DHL PAKET [pan-recipient-name] => SIMON LAUGER )
(Actually there is WAY more data.)
Hope this helps you in some way.
source share