my code
<?php
//remember to copy example.credentials.php as credentials.php replace 'FEDEX_KEY', 'FEDEX_PASSWORD', 'FEDEX_ACCOUNT_NUMBER', and 'FEDEX_METER_NUMBER'
require_once 'credentials.php';
require_once 'bootstrap.php';
use FedEx\TrackService\Request;
use FedEx\TrackService\ComplexType;
use FedEx\TrackService\SimpleType;
if (!defined('FEDEX_ACCOUNT_NUMBER') || !defined('FEDEX_METER_NUMBER') || !defined('FEDEX_KEY') || !defined('FEDEX_PASSWORD')) {
die("The constants 'FEDEX_ACCOUNT_NUMBER', 'FEDEX_METER_NUMBER', 'FEDEX_KEY', and 'FEDEX_PASSWORD' need to be defined in: " . realpath(FILE));
}
Hello I'm trying to rate parcels using this example
error code object(FedEx\TrackService\ComplexType\TrackReply)#16 (2) { ["name":protected]=> string(10) "TrackReply" ["values":protected]=> array(3) { ["HighestSeverity"]=> string(5) "ERROR" ["Notifications"]=> array(1) { [0]=> object(FedEx\TrackService\ComplexType\Notification)#26 (2) { ["name":protected]=> string(12) "Notification" ["values":protected]=> array(4) { ["Severity"]=> string(5) "ERROR" ["Source"]=> string(4) "prof" ["Code"]=> string(4) "1000" ["Message"]=> string(21) "Authentication Failed" } } } ["Version"]=> object(FedEx\TrackService\ComplexType\VersionId)#27 (2) { ["name":protected]=> string(9) "VersionId" ["values":protected]=> array(4) { ["ServiceId"]=> string(4) "trck" ["Major"]=> int(19) ["Intermediate"]=> int(0) ["Minor"]=> int(0) } } } }
my code <?php //remember to copy example.credentials.php as credentials.php replace 'FEDEX_KEY', 'FEDEX_PASSWORD', 'FEDEX_ACCOUNT_NUMBER', and 'FEDEX_METER_NUMBER' require_once 'credentials.php'; require_once 'bootstrap.php';
use FedEx\TrackService\Request; use FedEx\TrackService\ComplexType; use FedEx\TrackService\SimpleType;
$trackingId1 = 612041369; $trackingId2 = 256462276;
$trackRequest = new ComplexType\TrackRequest();
// User Credential $trackRequest->WebAuthenticationDetail->UserCredential->Key = FEDEX_KEY; $trackRequest->WebAuthenticationDetail->UserCredential->Password = FEDEX_PASSWORD;
// Client Detail $trackRequest->ClientDetail->AccountNumber = FEDEX_ACCOUNT_NUMBER; $trackRequest->ClientDetail->MeterNumber = FEDEX_METER_NUMBER;
// Version $trackRequest->Version->ServiceId = 'trck'; $trackRequest->Version->Major = 19; $trackRequest->Version->Intermediate = 0; $trackRequest->Version->Minor = 0;
// Track 2 shipments $trackRequest->SelectionDetails = [new ComplexType\TrackSelectionDetail(), new ComplexType\TrackSelectionDetail()];
// For get all events $trackRequest->ProcessingOptions = [SimpleType\TrackRequestProcessingOptionType::_INCLUDE_DETAILED_SCANS];
// Track shipment 1 $trackRequest->SelectionDetails[0]->PackageIdentifier->Value = $trackingId1; $trackRequest->SelectionDetails[0]->PackageIdentifier->Type = SimpleType\TrackIdentifierType::_TRACKING_NUMBER_OR_DOORTAG;
// Track shipment 2 $trackRequest->SelectionDetails[1]->PackageIdentifier->Value = $trackingId2; $trackRequest->SelectionDetails[1]->PackageIdentifier->Type = SimpleType\TrackIdentifierType::_TRACKING_NUMBER_OR_DOORTAG;
$request = new Request(); try { $trackReply = $request->getTrackReply($trackRequest); var_dump($trackReply); } catch (\Exception $e) { echo $e->getMessage(); echo $request->getSoapClient()->__getLastResponse(); }
credentials.php <?php //Change these values below.
define('FEDEX_ACCOUNT_NUMBER', '510087640'); define('FEDEX_METER_NUMBER', '256462275'); define('FEDEX_KEY', 'l7036ded1af26e49038cab3d089722c93f'); define('FEDEX_PASSWORD', 'XXXXxXXXXXXXX');
if (!defined('FEDEX_ACCOUNT_NUMBER') || !defined('FEDEX_METER_NUMBER') || !defined('FEDEX_KEY') || !defined('FEDEX_PASSWORD')) { die("The constants 'FEDEX_ACCOUNT_NUMBER', 'FEDEX_METER_NUMBER', 'FEDEX_KEY', and 'FEDEX_PASSWORD' need to be defined in: " . realpath(FILE)); }