JeremyDunn / php-fedex-api-wrapper

This library provides a fluid interface for constructing requests to the FedEx web service API.
269 stars 184 forks source link

Please, can you add an example of using track-by-id.php #212

Closed Razor-90 closed 1 year ago

Razor-90 commented 1 year ago

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)); }

github-actions[bot] commented 1 year ago

This issue is stale because it has been open for 30 days with no activity.

github-actions[bot] commented 1 year ago

This issue was closed because it has been inactive for 14 days since being marked as stale.