Skip to content

Commit 6b74650

Browse files
authored
Merge pull request #89 from JeremyDunn/update-services
Update services
2 parents 04f1e87 + 6831160 commit 6b74650

File tree

911 files changed

+36116
-17776
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

911 files changed

+36116
-17776
lines changed

CHANGELOG.md

+31
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,36 @@
11
# CHANGELOG
22

3+
## 3.0 (released 2018-12-27)
4+
- Updated Upload Document Service
5+
- Updated Pickup Service
6+
- Updated Ship Service
7+
- Updated Address Validation Service
8+
- Updated Rate Service
9+
- Updated Track Service
10+
- Updated Locations Service
11+
- Added Country Service
12+
- Added/updated usage examples
13+
14+
|Service|Version|
15+
|---|---|
16+
|Address Validation|4|
17+
|Close|5|
18+
|Courier Dispatch|3|
19+
|Locations|9|
20+
|Package Movement Information|5|
21+
|Pickup|17|
22+
|Rate|24|
23+
|Return Tag|1|
24+
|Ship|23|
25+
|Track|16|
26+
|Upload Document|11|
27+
|Open Ship|15|
28+
|Validation Availability and Commitment Service|8|
29+
|ASYNC Transaction Service|4|
30+
|In Flight Shipment Service|1|
31+
|DGLD Service|1|
32+
|DGDS Service|3|
33+
334
## 2.6 (released 2017-11-02)
435
- Added Dangerous Goods Data Service
536

README.md

+1-1
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,7 @@ Each web service has it's own class namespace. See the official FedEx web servic
1515
* [Address Validation Service](src/FedEx/AddressValidationService)
1616
* [Close Service](src/FedEx/CloseService)
1717
* [Courier Dispatch Service](src/FedEx/CourierDispatchService)
18-
* [Locator Service](src/FedEx/LocatorService)
18+
* [Locations Service](src/FedEx/LocationsService)
1919
* [Package Movement Information Service](src/FedEx/PackageMovementInformationService)
2020
* [Pickup Service](src/FedEx/PickupService)
2121
* [Rate Service](src/FedEx/RateService)

examples/CommercialInvoice.xls

5.5 KB
Binary file not shown.

examples/address-validation.php

+23-57
Original file line numberDiff line numberDiff line change
@@ -1,71 +1,37 @@
11
<?php
2-
/**
3-
* This test will send the same test data as in FedEx's documentation:
4-
* /php/RateAvailableServices/RateAvailableServices.php5
5-
*/
62

7-
//remember to copy example.credentials.php as credentials.php replace 'FEDEX_KEY', 'FEDEX_PASSWORD', 'FEDEX_ACCOUNT_NUMBER', and 'FEDEX_METER_NUMBER'
83
require_once 'credentials.php';
94
require_once 'bootstrap.php';
105

11-
use FedEx\AddressValidationService;
6+
use FedEx\AddressValidationService\Request;
127
use FedEx\AddressValidationService\ComplexType;
138
use FedEx\AddressValidationService\SimpleType;
149

15-
$userCredential = new ComplexType\WebAuthenticationCredential();
16-
$userCredential
17-
->setKey(FEDEX_KEY)
18-
->setPassword(FEDEX_PASSWORD);
19-
20-
$webAuthenticationDetail = new ComplexType\WebAuthenticationDetail();
21-
$webAuthenticationDetail->setUserCredential($userCredential);
22-
23-
$clientDetail = new ComplexType\ClientDetail();
24-
$clientDetail
25-
->setAccountNumber(FEDEX_ACCOUNT_NUMBER)
26-
->setMeterNumber(FEDEX_METER_NUMBER);
27-
28-
$version = new ComplexType\VersionId();
29-
$version
30-
->setMajor(2)
31-
->setIntermediate(0)
32-
->setMinor(0)
33-
->setServiceId('aval');
34-
35-
$options = new ComplexType\AddressValidationOptions();
36-
$options
37-
->setCheckResidentialStatus(true)
38-
->setVerifyAddresses(true)
39-
->setConvertToUpperCase(true)
40-
->setDirectionalAccuracy(SimpleType\AddressValidationAccuracyType::_MEDIUM);
41-
42-
$addresses = array();
43-
44-
$address1 = new ComplexType\Address();
45-
$address1
46-
->setStreetLines(array('12345 Main Street'))
47-
->setCity('Anytown')
48-
->setStateOrProvinceCode('NY')
49-
->setPostalCode('47711')
50-
->setCountryCode('US');
10+
$addressValidationRequest = new ComplexType\AddressValidationRequest();
5111

52-
$addressToValidate1 = new ComplexType\AddressToValidate();
53-
$addressToValidate1
54-
->setAddress($address1)
55-
->setAddressId(1);
12+
// User Credentials
13+
$addressValidationRequest->WebAuthenticationDetail->UserCredential->Key = FEDEX_KEY;
14+
$addressValidationRequest->WebAuthenticationDetail->UserCredential->Password = FEDEX_PASSWORD;
5615

57-
$addresses[] = $addressToValidate1;
16+
// Client Detail
17+
$addressValidationRequest->ClientDetail->AccountNumber = FEDEX_ACCOUNT_NUMBER;
18+
$addressValidationRequest->ClientDetail->MeterNumber = FEDEX_METER_NUMBER;
5819

59-
$addressValidationRequest = new ComplexType\AddressValidationRequest();
60-
$addressValidationRequest->setWebAuthenticationDetail($webAuthenticationDetail);
61-
$addressValidationRequest->setClientDetail($clientDetail);
62-
$addressValidationRequest->setVersion($version);
63-
$addressValidationRequest->setRequestTimestamp(date('c'));
64-
$addressValidationRequest->setOptions($options);
65-
$addressValidationRequest->setAddressesToValidate($addresses);
20+
// Version
21+
$addressValidationRequest->Version->ServiceId = 'aval';
22+
$addressValidationRequest->Version->Major = 4;
23+
$addressValidationRequest->Version->Intermediate = 0;
24+
$addressValidationRequest->Version->Minor = 0;
6625

26+
// Address(es) to validate.
27+
$addressValidationRequest->AddressesToValidate = [new ComplexType\AddressToValidate()]; // just validating 1 address in this example.
28+
$addressValidationRequest->AddressesToValidate[0]->Address->StreetLines = ['12345 Main Street'];
29+
$addressValidationRequest->AddressesToValidate[0]->Address->City = 'Anytown';
30+
$addressValidationRequest->AddressesToValidate[0]->Address->StateOrProvinceCode = 'NY';
31+
$addressValidationRequest->AddressesToValidate[0]->Address->PostalCode = 47711;
32+
$addressValidationRequest->AddressesToValidate[0]->Address->CountryCode = 'US';
6733

68-
$validateShipmentRequest = new AddressValidationService\Request();
69-
$result = $validateShipmentRequest->getAddressValidationReply($addressValidationRequest);
34+
$request = new Request();
35+
$addressValidationReply = $request->getAddressValidationReply($addressValidationRequest);
7036

71-
var_dump($result);
37+
var_dump($addressValidationReply);
+35
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,35 @@
1+
<?php
2+
//remember to copy example.credentials.php as credentials.php replace 'FEDEX_KEY', 'FEDEX_PASSWORD', 'FEDEX_ACCOUNT_NUMBER', and 'FEDEX_METER_NUMBER'
3+
require_once 'credentials.php';
4+
require_once 'bootstrap.php';
5+
6+
use FedEx\AsyncService\Request;
7+
use FedEx\AsyncService\ComplexType;
8+
use FedEx\AsyncService\SimpleType;
9+
10+
$retrieveJobResultsRequest = new ComplexType\RetrieveJobResultsRequest();
11+
12+
// Authentication & client details.
13+
$retrieveJobResultsRequest->WebAuthenticationDetail->UserCredential->Key = FEDEX_KEY;
14+
$retrieveJobResultsRequest->WebAuthenticationDetail->UserCredential->Password = FEDEX_PASSWORD;
15+
$retrieveJobResultsRequest->ClientDetail->AccountNumber = FEDEX_ACCOUNT_NUMBER;
16+
$retrieveJobResultsRequest->ClientDetail->MeterNumber = FEDEX_METER_NUMBER;
17+
18+
$retrieveJobResultsRequest->TransactionDetail->CustomerTransactionId = 'testing async service';
19+
20+
// Version.
21+
$retrieveJobResultsRequest->Version->ServiceId = 'async';
22+
$retrieveJobResultsRequest->Version->Major = 4;
23+
$retrieveJobResultsRequest->Version->Intermediate = 0;
24+
$retrieveJobResultsRequest->Version->Minor = 0;
25+
26+
$retrieveJobResultsRequest->JobId = 'your job id';
27+
28+
29+
$request = new Request();
30+
try {
31+
$retrieveJobResultsReply = $request->getRetrieveJobResultsReply($retrieveJobResultsRequest);
32+
} catch (\Exception $e) {
33+
echo $request->getSoapClient()->__getLastResponse();
34+
}
35+

examples/close-service.php

+50
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,50 @@
1+
<?php
2+
//remember to copy example.credentials.php as credentials.php replace 'FEDEX_KEY', 'FEDEX_PASSWORD', 'FEDEX_ACCOUNT_NUMBER', and 'FEDEX_METER_NUMBER'
3+
require_once 'credentials.php';
4+
require_once 'bootstrap.php';
5+
6+
use FedEx\CloseService\Request;
7+
use FedEx\CloseService\ComplexType;
8+
use FedEx\CloseService\SimpleType;
9+
10+
$closeWithDocumentsRequest = new ComplexType\CloseWithDocumentsRequest();
11+
12+
// Authentication & client details.
13+
$closeWithDocumentsRequest->WebAuthenticationDetail->UserCredential->Key = FEDEX_KEY;
14+
$closeWithDocumentsRequest->WebAuthenticationDetail->UserCredential->Password = FEDEX_PASSWORD;
15+
$closeWithDocumentsRequest->ClientDetail->AccountNumber = FEDEX_ACCOUNT_NUMBER;
16+
$closeWithDocumentsRequest->ClientDetail->MeterNumber = FEDEX_METER_NUMBER;
17+
18+
$closeWithDocumentsRequest->TransactionDetail->CustomerTransactionId = 'ground close with documents test';
19+
20+
// Version.
21+
$closeWithDocumentsRequest->Version->ServiceId = 'clos';
22+
$closeWithDocumentsRequest->Version->Major = 5;
23+
$closeWithDocumentsRequest->Version->Intermediate = 0;
24+
$closeWithDocumentsRequest->Version->Minor = 0;
25+
26+
// Action type.
27+
$closeWithDocumentsRequest->ActionType = SimpleType\CloseActionType::_CLOSE;
28+
29+
// Processing options.
30+
$closeWithDocumentsRequest->ProcessingOptions->Options = [SimpleType\CloseWithDocumentsProcessingOptionType::_ERROR_IF_OPEN_SHIPMENTS_FOUND];
31+
32+
// Carrier code.
33+
$closeWithDocumentsRequest->CarrierCode = SimpleType\CarrierCodeType::_FDXE;
34+
35+
// Reprint close date.
36+
$closeWithDocumentsRequest->ReprintCloseDate = date('c');
37+
38+
// Manifest reference detail.
39+
$closeWithDocumentsRequest->CloseDocumentSpecification->CloseDocumentTypes = [SimpleType\CloseDocumentType::_MANIFEST];
40+
41+
42+
$closeSerivceRequest = new Request();
43+
$closeWithDocumentsReply = $closeSerivceRequest->getCloseWithDocumentsReply($closeWithDocumentsRequest);
44+
45+
var_dump($closeWithDocumentsReply);
46+
47+
48+
49+
50+

examples/country-service.php

+44
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,44 @@
1+
<?php
2+
//remember to copy example.credentials.php as credentials.php replace 'FEDEX_KEY', 'FEDEX_PASSWORD', 'FEDEX_ACCOUNT_NUMBER', and 'FEDEX_METER_NUMBER'
3+
require_once 'credentials.php';
4+
require_once 'bootstrap.php';
5+
6+
use FedEx\CountryService\Request;
7+
use FedEx\CountryService\ComplexType;
8+
use FedEx\CountryService\SimpleType;
9+
10+
$validatePostalRequest = new ComplexType\ValidatePostalRequest();
11+
12+
// Authentication and client details.
13+
$validatePostalRequest->WebAuthenticationDetail->UserCredential->Key = FEDEX_KEY;
14+
$validatePostalRequest->WebAuthenticationDetail->UserCredential->Password = FEDEX_PASSWORD;
15+
$validatePostalRequest->ClientDetail->AccountNumber = FEDEX_ACCOUNT_NUMBER;
16+
$validatePostalRequest->ClientDetail->MeterNumber = FEDEX_METER_NUMBER;
17+
18+
// Version.
19+
$validatePostalRequest->Version->ServiceId = 'cnty';
20+
$validatePostalRequest->Version->Major = 8;
21+
$validatePostalRequest->Version->Intermediate = 0;
22+
$validatePostalRequest->Version->Minor = 0;
23+
24+
// Address.
25+
$validatePostalRequest->Address->PostalCode = 96813;
26+
$validatePostalRequest->Address->CountryCode = 'US';
27+
28+
$validatePostalRequest->CarrierCode = SimpleType\CarrierCodeType::_FDXE;
29+
30+
// Get Validate Postal reply.
31+
$countryServiceRequest = new Request();
32+
$validatePostalReply = $countryServiceRequest->getValidatePostalReply($validatePostalRequest);
33+
34+
echo '<h1>Postal Detail</h1>';
35+
echo "<h2>Country Code: {$validatePostalReply->PostalDetail->CountryCode}</h2>";
36+
echo "<h2>State or Province Code: {$validatePostalReply->PostalDetail->StateOrProvinceCode}</h2>";
37+
echo "<h2>City First Initials: {$validatePostalReply->PostalDetail->CityFirstInitials}</h2>";
38+
echo "<h2>Cleaned Postal Code: {$validatePostalReply->PostalDetail->CleanedPostalCode}</h2>";
39+
echo '<h2> Location Descriptions: </h2>';
40+
if (!empty($validatePostalReply->PostalDetail->LocationDescriptions)) {
41+
foreach ($validatePostalReply->PostalDetail->LocationDescriptions as $locationDescription) {
42+
var_dump($locationDescription->toArray());
43+
}
44+
}

examples/create-open-shipment.php

+1-1
Original file line numberDiff line numberDiff line change
@@ -21,7 +21,7 @@
2121
$createOpenShipmentRequest->ClientDetail->AccountNumber = FEDEX_ACCOUNT_NUMBER;
2222
// version
2323
$createOpenShipmentRequest->Version->ServiceId = 'ship';
24-
$createOpenShipmentRequest->Version->Major = 11;
24+
$createOpenShipmentRequest->Version->Major = 15;
2525
$createOpenShipmentRequest->Version->Intermediate = 0;
2626
$createOpenShipmentRequest->Version->Minor = 0;
2727

examples/create-pickup.php

+75
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,75 @@
1+
<?php
2+
//remember to copy example.credentials.php as credentials.php replace 'FEDEX_KEY', 'FEDEX_PASSWORD', 'FEDEX_ACCOUNT_NUMBER', and 'FEDEX_METER_NUMBER'
3+
require_once 'credentials.php';
4+
require_once 'bootstrap.php';
5+
6+
use FedEx\PickupService\Request;
7+
use FedEx\PickupService\ComplexType;
8+
use FedEx\PickupService\SimpleType;
9+
10+
$createPickupRequest = new ComplexType\CreatePickupRequest();
11+
12+
// Authentication & client details.
13+
$createPickupRequest->WebAuthenticationDetail->UserCredential->Key = FEDEX_KEY;
14+
$createPickupRequest->WebAuthenticationDetail->UserCredential->Password = FEDEX_PASSWORD;
15+
$createPickupRequest->ClientDetail->AccountNumber = FEDEX_ACCOUNT_NUMBER;
16+
$createPickupRequest->ClientDetail->MeterNumber = FEDEX_METER_NUMBER;
17+
18+
// Version.
19+
$createPickupRequest->Version->ServiceId = 'disp';
20+
$createPickupRequest->Version->Major = 17;
21+
$createPickupRequest->Version->Intermediate = 0;
22+
$createPickupRequest->Version->Minor = 0;
23+
24+
$createPickupRequest->TransactionDetail->CustomerTransactionId = 'create pickup request example';
25+
$createPickupRequest->TransactionDetail->Localization->LanguageCode = 'EN';
26+
$createPickupRequest->TransactionDetail->Localization->LocaleCode = 'ES';
27+
28+
// Associated account number.
29+
$createPickupRequest->AssociatedAccountNumber->Type = SimpleType\AssociatedAccountNumberType::_FEDEX_EXPRESS;
30+
$createPickupRequest->AssociatedAccountNumber->AccountNumber = FEDEX_ACCOUNT_NUMBER;
31+
32+
// Origin detail contact.
33+
$createPickupRequest->OriginDetail->PickupLocation->Contact->ContactId = 'KR1059';
34+
$createPickupRequest->OriginDetail->PickupLocation->Contact->PersonName = 'INPUT YOUR INFORMATION';
35+
$createPickupRequest->OriginDetail->PickupLocation->Contact->Title = 'Mr.';
36+
$createPickupRequest->OriginDetail->PickupLocation->Contact->CompanyName = 'DEOYAROHIT0905$';
37+
$createPickupRequest->OriginDetail->PickupLocation->Contact->PhoneNumber = 'INPUT YOUR INFORMATION';
38+
$createPickupRequest->OriginDetail->PickupLocation->Contact->PhoneExtension = 'INPUT YOUR INFORMATION';
39+
$createPickupRequest->OriginDetail->PickupLocation->Contact->PagerNumber = '9962308621';
40+
$createPickupRequest->OriginDetail->PickupLocation->Contact->FaxNumber = '9962308621';
41+
$createPickupRequest->OriginDetail->PickupLocation->Contact->EMailAddress = '[email protected]';
42+
43+
// Origin detail address.
44+
$createPickupRequest->OriginDetail->PickupLocation->Address->StreetLines = ['INPUT YOUR INFORMATION'];
45+
$createPickupRequest->OriginDetail->PickupLocation->Address->City = 'Memphis';
46+
$createPickupRequest->OriginDetail->PickupLocation->Address->StateOrProvinceCode = 'TN';
47+
$createPickupRequest->OriginDetail->PickupLocation->Address->PostalCode = '38125';
48+
$createPickupRequest->OriginDetail->PickupLocation->Address->CountryCode = 'US';
49+
50+
$createPickupRequest->OriginDetail->PackageLocation = SimpleType\PickupBuildingLocationType::_FRONT;
51+
$createPickupRequest->OriginDetail->BuildingPart = SimpleType\BuildingPartCode::_DEPARTMENT;
52+
$createPickupRequest->OriginDetail->BuildingPartDescription = 'Building part description';
53+
$createPickupRequest->OriginDetail->ReadyTimestamp = date('c');
54+
$createPickupRequest->OriginDetail->CompanyCloseTime = '19:00:00';
55+
$createPickupRequest->OriginDetail->Location = 'NQAA';
56+
$createPickupRequest->OriginDetail->SuppliesRequested = 'supplies requested';
57+
58+
$createPickupRequest->PackageCount = 1;
59+
$createPickupRequest->TotalWeight->Units = SimpleType\WeightUnits::_LB;
60+
$createPickupRequest->TotalWeight->Value = 50;
61+
62+
$createPickupRequest->CarrierCode = SimpleType\CarrierCodeType::_FDXE;
63+
$createPickupRequest->OversizePackageCount = 0;
64+
$createPickupRequest->Remarks = 'remarks';
65+
$createPickupRequest->CommodityDescription = 'test environment - please do not process pickup';
66+
$createPickupRequest->CountryRelationship = SimpleType\CountryRelationshipType::_DOMESTIC;
67+
68+
69+
$request = new Request();
70+
try {
71+
$createPickupReply = $request->getCreatePickupReply($createPickupRequest);
72+
var_dump($createPickupReply);
73+
} catch (\Exception $e) {
74+
echo $request->getSoapClient()->__getLastResponse();
75+
}

0 commit comments

Comments
 (0)