So I was trying to track down the way to use the FedEx API and Developer Tools to get tracking information. Found the API's Documentation a little hard to follow but thankfully I came across an article that gave a nice sample script. Thank you for providing the following code.
<?php // Copyright 2009, FedEx Corporation. All rights reserved. // Version 6.0.0 require_once('../../library/fedex-common.php5'); //The WSDL is not included with the sample code. //Please include and reference in $path_to_wsdl variable. $path_to_wsdl = "../../TrackService_v9.wsdl"; ini_set("soap.wsdl_cache_enabled", "0"); $client = new SoapClient($path_to_wsdl, array('trace' => 1)); // Refer to http://us3.php.net/manual/en/ref.soap.php for more information $request['WebAuthenticationDetail'] = array( 'UserCredential' =>array( 'Key' => 'KUFWQTFzJsgy48If ', 'Password' => 'vQjjZJGVbXurqNN2kceq0Z9lr' ) ); $request['ClientDetail'] = array( 'AccountNumber' => '510087143', 'MeterNumber' => '107487844' ); $request['TransactionDetail'] = array('CustomerTransactionId' => '*** Track Request using PHP ***'); $request['Version'] = array( 'ServiceId' => 'trck', 'Major' => '9', 'Intermediate' => '1', 'Minor' => '0' ); $request['SelectionDetails'] = array( 'PackageIdentifier' => array( 'Type' => 'TRACKING_NUMBER_OR_DOORTAG', 'Value' => '624108940304' // Replace 'XXX' with a valid tracking identifier ) ); $track = $client ->track($request); echo '<pre>'; print_r($client ->track($request)); echo '</pre>'; $info['Tracking number'] = $track->CompletedTrackDetails->TrackDetails->TrackingNumber; $info['Reference'] = $track->CompletedTrackDetails->TrackDetails->OtherIdentifiers['1']->PackageIdentifier->Value; $info['Door tag number'] = $track->CompletedTrackDetails->TrackDetails->OtherIdentifiers['2']->PackageIdentifier->Value; $info['Dimensions'] = $track->CompletedTrackDetails->TrackDetails->PackageWeight->Value.'X'.$track->CompletedTrackDetails->TrackDetails->PackageDimensions->Width.'X'.$track->CompletedTrackDetails->TrackDetails->PackageDimensions->Height.' '.$track->CompletedTrackDetails->TrackDetails->PackageDimensions->Units; $info['Total shipment weight'] = $track->CompletedTrackDetails->TrackDetails->ShipmentWeight->Value.' '.$track->CompletedTrackDetails->TrackDetails->ShipmentWeight->Units; $info['Service'] = $track->CompletedTrackDetails->TrackDetails->OperatingCompanyOrCarrierDescription; $info['Master tracking number'] = $track->CompletedTrackDetails->TrackDetails->TrackingNumber; $info['Weight'] = $track->CompletedTrackDetails->TrackDetails->PackageWeight->Value.' '.$track->CompletedTrackDetails->TrackDetails->PackageWeight->Units; $info['Total pieces'] = $track->CompletedTrackDetails->TrackDetails->TrackingNumber; try { if(setEndpoint('changeEndpoint')){ $newLocation = $client->__setLocation(setEndpoint('endpoint')); } $response = $client ->track($request); if ($response -> HighestSeverity != 'FAILURE' && $response -> HighestSeverity != 'ERROR'){ if($response->HighestSeverity != 'SUCCESS'){ echo '<table border="1">'; echo '<tr><th>Track Reply</th><th> </th></tr>'; trackDetails($response->Notifications, ''); echo '</table>'; }else{ if ($response->CompletedTrackDetails->HighestSeverity != 'SUCCESS'){ echo '<table border="1">'; echo '<tr><th>Shipment Level Tracking Details</th><th> </th></tr>'; trackDetails($response->CompletedTrackDetails, ''); echo '</table>'; }else{ echo '<table border="1">'; echo '<tr><th>Package Level Tracking Details</th><th> </th></tr>'; trackDetails($response->CompletedTrackDetails->TrackDetails, ''); echo '</table>'; } } printSuccess($client, $response); }else{ printError($client, $response); } writeToLog($client); // Write to log file } catch (SoapFault $exception) { printFault($exception, $client); } ?>