1. Go to this page and download the library: Download ktscript/fedex-rest library. Choose the download type require.
2. Extract the ZIP file and open the index.php.
3. Add this code to the index.php.
<?php
require_once('vendor/autoload.php');
/* Start to develop here. Best regards https://php-download.com/ */
ktscript / fedex-rest example snippets
use FedexRest\Authorization\Authorize;
$authorize = new Authorize();
$authorize->setClientId('your_client_id')
->setClientSecret('your_client_secret')
->useProduction() // Use production environment (optional, defaults to sandbox)
->authorize();
$token = $authorize->access_token;
use FedexRest\Services\Track\TrackByTrackingNumberRequest;
$tracking = new TrackByTrackingNumberRequest();
$tracking->setAccessToken($token)
->setTrackingNumber('1234567890') // Single tracking number
->
use FedexRest\Services\Ship\CreateTagRequest;
use FedexRest\Entity\Person;
use FedexRest\Entity\Address;
use FedexRest\Entity\Item;
use FedexRest\Entity\Weight;
use FedexRest\Services\Ship\Type\ServiceType;
use FedexRest\Services\Ship\Type\PackagingType;
use FedexRest\Services\Ship\Type\PickupType;
// Create shipper address
$shipperAddress = new Address();
$shipperAddress->setStreetLines('123 Main St')
->setCity('Memphis')
->setStateOrProvince('TN')
->setPostalCode('38116')
->setCountryCode('US');
// Create shipper
$shipper = new Person();
$shipper->setPersonName('John Doe')
->setPhoneNumber(1234567890)
->withAddress($shipperAddress);
// Create recipient address
$recipientAddress = new Address();
$recipientAddress->setStreetLines('456 Oak Ave')
->setCity('Los Angeles')
->setStateOrProvince('CA')
->setPostalCode('90001')
->setCountryCode('US');
// Create recipient
$recipient = new Person();
$recipient->setPersonName('Jane Smith')
->setPhoneNumber(9876543210)
->withAddress($recipientAddress);
// Create item weight
$weight = new Weight();
$weight->setUnit('LB')
->setValue(5);
// Create item
$item = new Item();
$item->setItemDescription('Sample Product')
->setWeight($weight);
// Create shipping label
$shipment = new CreateTagRequest();
$shipment->setAccessToken($token)
->setAccountNumber(123456789)
->setShipper($shipper)
->setRecipients($recipient)
->setLineItems($item)
->setServiceType(ServiceType::_FEDEX_GROUND)
->setPackagingType(PackagingType::_FEDEX_BOX)
->setPickupType(PickupType::_USE_SCHEDULED_PICKUP)
->setShipDatestamp('2024-01-15')
->useProduction() // Optional: use production environment
->request();
use FedexRest\Services\AddressValidation\AddressValidation;
use FedexRest\Entity\Address;
$address = new Address();
$address->setStreetLines('123 Main St')
->setCity('Memphis')
->setStateOrProvince('TN')
->setPostalCode('38116')
->setCountryCode('US');
$validation = new AddressValidation();
$validation->setAccessToken($token)
->setAddress($address)
->useProduction() // Optional: use production environment
->request();
use FedexRest\Services\Location\LocationSearchRequest;
use FedexRest\Services\Location\Type\LocationType;
use FedexRest\Entity\Address;
// Search by address
$address = new Address();
$address->setStreetLines('123 Main St')
->setCity('Memphis')
->setStateOrProvince('TN')
->setPostalCode('38116')
->setCountryCode('US');
$locationSearch = new LocationSearchRequest();
$result = $locationSearch->setAccessToken($token)
->setAddress($address)
->setDistance(10, LocationSearchRequest::UNITS_KM)
->setLocationTypes([LocationType::FEDEX_OFFICE, LocationType::FEDEX_SELF_SERVICE_LOCATION])
->setResultsLimit(15)
->useProduction()
->request();
// Or search by coordinates
$result = $locationSearch->setAccessToken($token)
->setCoordinates(35.1495, -90.0490)
->setDistance(5, LocationSearchRequest::UNITS_MI)
->request();
// Or search by phone number
$result = $locationSearch->setAccessToken($token)
->setPhoneNumber('9015551234')
->request();
// Use sandbox (default)
$request->request();
// Use production
$request->useProduction()->request();
// Using Laravel's Conditionable trait (when available)
$request->when($isProduction, fn($req) => $req->useProduction())
->request();