Skip to content

Commit 43992f6

Browse files
authored
Merge pull request #42 from JeremyDunn/examples-fixes
Examples fixes
2 parents 0eaba7b + af67f4c commit 43992f6

File tree

5 files changed

+106
-184
lines changed

5 files changed

+106
-184
lines changed

examples/address-validation.php

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -66,7 +66,6 @@
6666

6767

6868
$validateShipmentRequest = new AddressValidationService\Request();
69-
$validateShipmentRequest->getSoapClient()->__setLocation('https://gateway.fedex.com:443/web-services');
7069
$result = $validateShipmentRequest->getAddressValidationReply($addressValidationRequest);
7170

7271
var_dump($result);

examples/cancel-pending-shipment.php

Lines changed: 14 additions & 36 deletions
Original file line numberDiff line numberDiff line change
@@ -3,47 +3,25 @@
33
require_once 'credentials.php';
44
require_once 'bootstrap.php';
55

6-
use FedEx\ShipService;
6+
use FedEx\ShipService\Request;
77
use FedEx\ShipService\ComplexType;
88
use FedEx\ShipService\SimpleType;
99

10-
$userCredential = new ComplexType\WebAuthenticationCredential();
11-
$userCredential
12-
->setKey(FEDEX_KEY)
13-
->setPassword(FEDEX_PASSWORD);
14-
15-
$webAuthenticationDetail = new ComplexType\WebAuthenticationDetail();
16-
$webAuthenticationDetail->setUserCredential($userCredential);
17-
18-
$clientDetail = new ComplexType\ClientDetail();
19-
$clientDetail
20-
->setAccountNumber(FEDEX_ACCOUNT_NUMBER)
21-
->setMeterNumber(FEDEX_METER_NUMBER);
22-
23-
$version = new ComplexType\VersionId();
24-
$version
25-
->setServiceId('ship')
26-
->setMajor(10)
27-
->setIntermediate(0)
28-
->setMinor(0);
29-
30-
$trackingId = new ComplexType\TrackingId();
31-
$trackingId
32-
->setTrackingNumber('12345')
33-
->setTrackingIdType(SimpleType\TrackingIdType::_FEDEX);
10+
$trackingNumber = '12345';
3411

3512
$cancelPendingShipmentRequest = new ComplexType\CancelPendingShipmentRequest();
36-
$cancelPendingShipmentRequest->setWebAuthenticationDetail($webAuthenticationDetail);
37-
$cancelPendingShipmentRequest->setClientDetail($clientDetail);
38-
$cancelPendingShipmentRequest->setVersion($version);
39-
$cancelPendingShipmentRequest->setTrackingId($trackingId);
40-
41-
var_dump($cancelPendingShipmentRequest->toArray());
42-
13+
$cancelPendingShipmentRequest->WebAuthenticationDetail->UserCredential->Key = FEDEX_KEY;
14+
$cancelPendingShipmentRequest->WebAuthenticationDetail->UserCredential->Password = FEDEX_PASSWORD;
15+
$cancelPendingShipmentRequest->ClientDetail->AccountNumber = FEDEX_ACCOUNT_NUMBER;
16+
$cancelPendingShipmentRequest->ClientDetail->MeterNumber = FEDEX_METER_NUMBER;
17+
$cancelPendingShipmentRequest->Version->ServiceId = 'ship';
18+
$cancelPendingShipmentRequest->Version->Major = 12;
19+
$cancelPendingShipmentRequest->Version->Intermediate = 1;
20+
$cancelPendingShipmentRequest->Version->Minor = 0;
21+
$cancelPendingShipmentRequest->TrackingId->TrackingNumber = $trackingNumber;
4322

4423

45-
$validateShipmentRequest = new ShipService\Request();
46-
$validateShipmentRequest->getSoapClient()->__setLocation('https://ws.fedex.com:443/web-services/ship');
47-
$response = $validateShipmentRequest->getCancelPendingShipmentReply($cancelPendingShipmentRequest);
24+
$shipServiceRequest = new Request();
25+
$cancelPendingShipmentReply = $shipServiceRequest->getCancelPendingShipmentReply($cancelPendingShipmentRequest);
4826

49-
var_dump($response);
27+
var_dump($cancelPendingShipmentReply);

examples/create-pending-shipment.php

Lines changed: 90 additions & 145 deletions
Original file line numberDiff line numberDiff line change
@@ -1,154 +1,99 @@
11
<?php
2-
32
require_once 'credentials.php';
43
require_once 'bootstrap.php';
54

6-
use FedEx\ShipService;
5+
use FedEx\ShipService\Request;
76
use FedEx\ShipService\ComplexType;
87
use FedEx\ShipService\SimpleType;
98

10-
$userCredential = new ComplexType\WebAuthenticationCredential();
11-
$userCredential
12-
->setKey(FEDEX_KEY)
13-
->setPassword(FEDEX_PASSWORD);
14-
15-
$webAuthenticationDetail = new ComplexType\WebAuthenticationDetail();
16-
$webAuthenticationDetail->setUserCredential($userCredential);
17-
18-
$clientDetail = new ComplexType\ClientDetail();
19-
$clientDetail
20-
->setAccountNumber(FEDEX_ACCOUNT_NUMBER)
21-
->setMeterNumber(FEDEX_METER_NUMBER);
22-
23-
$version = new ComplexType\VersionId();
24-
$version
25-
->setServiceId('ship')
26-
->setMajor(12)
27-
->setIntermediate(1)
28-
->setMinor(0);
29-
30-
$shipTimestamp = new DateTime();
31-
32-
$shipperAddress = new ComplexType\Address();
33-
$shipperAddress
34-
->setStreetLines(array(
35-
'1234 Main Street',
36-
'STE 810'
37-
))
38-
->setCity('Anytown')
39-
->setStateOrProvinceCode('NY')
40-
->setPostalCode('12345')
41-
->setCountryCode('US');
42-
43-
$shipperContact = new ComplexType\Contact();
44-
$shipperContact
45-
->setCompanyName('Company name')
46-
->setPersonName('Person Name')
47-
->setEMailAddress('[email protected]')
48-
->setPhoneNumber('1-123-123-1234');
49-
50-
$shipper = new ComplexType\Party();
51-
$shipper
52-
->setAccountNumber(FEDEX_ACCOUNT_NUMBER)
53-
->setAddress($shipperAddress)
54-
->setContact($shipperContact);
55-
56-
$recipientContact = new ComplexType\Contact();
57-
$recipientContact
58-
->setPersonName('John Doe')
59-
->setEMailAddress('[email protected]');
60-
61-
$recipientAddress = new ComplexType\Address();
62-
$recipientAddress
63-
->setStreetLines(array('54321 1st Ave'))
64-
->setCity('Anytown')
65-
->setStateOrProvinceCode('NY')
66-
->setPostalCode('12345')
67-
->setCountryCode('US');
68-
69-
$recipient = new ComplexType\Party();
70-
$recipient
71-
->setContact($recipientContact)
72-
->setAddress($recipientAddress);
73-
74-
$labelSpecification = new ComplexType\LabelSpecification();
75-
$labelSpecification
76-
->setImageType(SimpleType\ShippingDocumentImageType::_PDF)
77-
->setLabelFormatType(SimpleType\LabelFormatType::_COMMON2D)
78-
->setLabelStockType(SimpleType\LabelStockType::_PAPER_4X6);
79-
80-
$packageLineItem1 = new ComplexType\RequestedPackageLineItem();
81-
$packageLineItem1
82-
->setSequenceNumber(1)
83-
->setItemDescription('Product description')
84-
->setDimensions(new ComplexType\Dimensions(array(
85-
'Width' => 10,
86-
'Height' => 10,
87-
'Length' => 25,
88-
'Units' => SimpleType\LinearUnits::_IN
89-
)))
90-
->setWeight(new ComplexType\Weight(array(
91-
'Value' => 2,
92-
'Units' => SimpleType\WeightUnits::_LB
93-
)));
94-
95-
$shippingChargesPayor = new ComplexType\Payor();
96-
$shippingChargesPayor->setResponsibleParty($shipper);
97-
98-
99-
$shippingChargesPayment = new ComplexType\Payment();
100-
$shippingChargesPayment
101-
->setPaymentType(SimpleType\PaymentType::_SENDER)
102-
->setPayor($shippingChargesPayor);
103-
104-
$pendingShipmentDetail = new ComplexType\PendingShipmentDetail();
105-
$pendingShipmentDetail
106-
->setType(SimpleType\PendingShipmentType::_EMAIL)
107-
->setExpirationDate('2012-11-01')
108-
->setEmailLabelDetail(new ComplexType\EMailLabelDetail(array(
109-
'NotificationEMailAddress' => 'test',
110-
'NotificationMessage' => 'pending shipment notification message'
111-
)));
112-
113-
114-
$specialServicesRequested = new ComplexType\ShipmentSpecialServicesRequested();
115-
$specialServicesRequested
116-
->setSpecialServiceTypes(array(SimpleType\ShipmentSpecialServiceType::_PENDING_SHIPMENT))
117-
->setPendingShipmentDetail($pendingShipmentDetail);
118-
119-
$requestedShipment = new ComplexType\RequestedShipment();
120-
$requestedShipment
121-
->setDropoffType(SimpleType\DropoffType::_REGULAR_PICKUP)
122-
->setShipTimestamp($shipTimestamp->format(DateTime::ISO8601))
123-
->setServiceType(SimpleType\ServiceType::_FEDEX_2_DAY)
124-
->setPackagingType(SimpleType\PackagingType::_YOUR_PACKAGING)
125-
->setShipper($shipper)
126-
->setRecipient($recipient)
127-
->setLabelSpecification($labelSpecification)
128-
->setRateRequestTypes(array(SimpleType\RateRequestType::_ACCOUNT))
129-
->setPackageCount(1)
130-
->setRequestedPackageLineItems(array(
131-
$packageLineItem1
132-
))
133-
->setShippingChargesPayment($shippingChargesPayment)
134-
->setSpecialServicesRequested($specialServicesRequested);
135-
136-
137-
138-
9+
$shipDate = new \DateTime('now +7 days');
10+
$expirationDate = new \DateTime('now +14 days');
11+
12+
//package 1
13+
$requestedPackageLineItem1 = new ComplexType\RequestedPackageLineItem();
14+
$requestedPackageLineItem1->SequenceNumber = 1;
15+
$requestedPackageLineItem1->ItemDescription = 'Product description 1';
16+
$requestedPackageLineItem1->Dimensions->Width = 10;
17+
$requestedPackageLineItem1->Dimensions->Height = 10;
18+
$requestedPackageLineItem1->Dimensions->Length = 15;
19+
$requestedPackageLineItem1->Dimensions->Units = SimpleType\LinearUnits::_IN;
20+
$requestedPackageLineItem1->Weight->Value = 2;
21+
$requestedPackageLineItem1->Weight->Units = SimpleType\WeightUnits::_LB;
22+
23+
//package 2
24+
$requestedPackageLineItem2 = new ComplexType\RequestedPackageLineItem();
25+
$requestedPackageLineItem2->SequenceNumber = 1;
26+
$requestedPackageLineItem2->ItemDescription = 'Product description 2';
27+
$requestedPackageLineItem2->Dimensions->Width = 5;
28+
$requestedPackageLineItem2->Dimensions->Height = 5;
29+
$requestedPackageLineItem2->Dimensions->Length = 10;
30+
$requestedPackageLineItem2->Dimensions->Units = SimpleType\LinearUnits::_IN;
31+
$requestedPackageLineItem2->Weight->Value = 1;
32+
$requestedPackageLineItem2->Weight->Units = SimpleType\WeightUnits::_LB;
33+
34+
//create pending shipment request
13935
$createPendingShipmentRequest = new ComplexType\CreatePendingShipmentRequest();
140-
$createPendingShipmentRequest->setWebAuthenticationDetail($webAuthenticationDetail);
141-
$createPendingShipmentRequest->setClientDetail($clientDetail);
142-
$createPendingShipmentRequest->setVersion($version);
143-
$createPendingShipmentRequest->setRequestedShipment($requestedShipment);
144-
145-
146-
var_dump($createPendingShipmentRequest->toArray());
147-
148-
var_export($createPendingShipmentRequest->toArray());
149-
150-
$validateShipmentRequest = new ShipService\Request();
151-
$validateShipmentRequest->getSoapClient()->__setLocation('https://ws.fedex.com:443/web-services/ship');
152-
$response = $validateShipmentRequest->getCreatePendingShipmentReply($createPendingShipmentRequest);
15336

154-
var_dump($response);
37+
//authentication detail
38+
$createPendingShipmentRequest->WebAuthenticationDetail->UserCredential->Key = FEDEX_KEY;
39+
$createPendingShipmentRequest->WebAuthenticationDetail->UserCredential->Password = FEDEX_PASSWORD;
40+
41+
//client detail
42+
$createPendingShipmentRequest->ClientDetail->AccountNumber = FEDEX_ACCOUNT_NUMBER;
43+
$createPendingShipmentRequest->ClientDetail->MeterNumber = FEDEX_METER_NUMBER;
44+
45+
//version
46+
$createPendingShipmentRequest->Version->ServiceId = 'ship';
47+
$createPendingShipmentRequest->Version->Major = 12;
48+
$createPendingShipmentRequest->Version->Intermediate = 1;
49+
$createPendingShipmentRequest->Version->Minor = 0;
50+
51+
//requested shipment
52+
$createPendingShipmentRequest->RequestedShipment->DropoffType = SimpleType\DropoffType::_REGULAR_PICKUP;
53+
$createPendingShipmentRequest->RequestedShipment->ShipTimestamp = $shipDate->format('c');
54+
$createPendingShipmentRequest->RequestedShipment->ServiceType = SimpleType\ServiceType::_FEDEX_2_DAY;
55+
$createPendingShipmentRequest->RequestedShipment->PackagingType = SimpleType\PackagingType::_YOUR_PACKAGING;
56+
$createPendingShipmentRequest->RequestedShipment->LabelSpecification->ImageType = SimpleType\ShippingDocumentImageType::_PDF;
57+
$createPendingShipmentRequest->RequestedShipment->LabelSpecification->LabelFormatType = SimpleType\LabelFormatType::_COMMON2D;
58+
$createPendingShipmentRequest->RequestedShipment->LabelSpecification->LabelStockType = SimpleType\LabelStockType::_PAPER_4X6;
59+
$createPendingShipmentRequest->RequestedShipment->RateRequestTypes = [SimpleType\RateRequestType::_ACCOUNT];
60+
$createPendingShipmentRequest->RequestedShipment->PackageCount = 1;
61+
$createPendingShipmentRequest->RequestedShipment->RequestedPackageLineItems = [$requestedPackageLineItem1, $requestedPackageLineItem2];
62+
63+
//requested shipment shipper
64+
$createPendingShipmentRequest->RequestedShipment->Shipper->AccountNumber = FEDEX_ACCOUNT_NUMBER;
65+
$createPendingShipmentRequest->RequestedShipment->Shipper->Address->StreetLines = ['1234 Main Street'];
66+
$createPendingShipmentRequest->RequestedShipment->Shipper->Address->City = 'Anytown';
67+
$createPendingShipmentRequest->RequestedShipment->Shipper->Address->StateOrProvinceCode = 'NY';
68+
$createPendingShipmentRequest->RequestedShipment->Shipper->Address->PostalCode = '12345';
69+
$createPendingShipmentRequest->RequestedShipment->Shipper->Address->CountryCode = 'US';
70+
$createPendingShipmentRequest->RequestedShipment->Shipper->Contact->CompanyName = 'Company Name';
71+
$createPendingShipmentRequest->RequestedShipment->Shipper->Contact->PersonName = 'Person Name';
72+
$createPendingShipmentRequest->RequestedShipment->Shipper->Contact->EMailAddress = '[email protected]';
73+
$createPendingShipmentRequest->RequestedShipment->Shipper->Contact->PhoneNumber = '1-123-123-1234';
74+
75+
//requested shipment recipient
76+
$createPendingShipmentRequest->RequestedShipment->Recipient->Address->StreetLines = ['54321 1st Ave.'];
77+
$createPendingShipmentRequest->RequestedShipment->Recipient->Address->City = 'Anytown';
78+
$createPendingShipmentRequest->RequestedShipment->Recipient->Address->StateOrProvinceCode = 'NY';
79+
$createPendingShipmentRequest->RequestedShipment->Recipient->Address->PostalCode = '12345';
80+
$createPendingShipmentRequest->RequestedShipment->Recipient->Address->CountryCode = 'US';
81+
$createPendingShipmentRequest->RequestedShipment->Recipient->Contact->PersonName = 'John Doe';
82+
$createPendingShipmentRequest->RequestedShipment->Recipient->Contact->EMailAddress = '[email protected]';
83+
$createPendingShipmentRequest->RequestedShipment->Recipient->Contact->PhoneNumber = '1-321-321-4321';
84+
85+
//shipping charges payment
86+
$createPendingShipmentRequest->RequestedShipment->ShippingChargesPayment->PaymentType = SimpleType\PaymentType::_SENDER;
87+
$createPendingShipmentRequest->RequestedShipment->ShippingChargesPayment->Payor->ResponsibleParty = $createPendingShipmentRequest->RequestedShipment->Shipper;
88+
89+
//special services requested
90+
$createPendingShipmentRequest->RequestedShipment->SpecialServicesRequested->SpecialServiceTypes = [SimpleType\ShipmentSpecialServiceType::_PENDING_SHIPMENT];
91+
$createPendingShipmentRequest->RequestedShipment->SpecialServicesRequested->PendingShipmentDetail->Type = SimpleType\PendingShipmentType::_EMAIL;
92+
$createPendingShipmentRequest->RequestedShipment->SpecialServicesRequested->PendingShipmentDetail->ExpirationDate = $expirationDate->format('Y-m-d');
93+
$createPendingShipmentRequest->RequestedShipment->SpecialServicesRequested->PendingShipmentDetail->EmailLabelDetail->NotificationEMailAddress = '[email protected]';
94+
$createPendingShipmentRequest->RequestedShipment->SpecialServicesRequested->PendingShipmentDetail->EmailLabelDetail->NotificationMessage = 'Pending shipment notification message.';
95+
96+
$shipServiceRequest = new Request();
97+
$createPendingShipmentReply = $shipServiceRequest->getCreatePendingShipmentReply($createPendingShipmentRequest);
98+
99+
var_dump($createPendingShipmentReply);

examples/example2.php

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
<?php
22
/**
3-
* This is the same example as presented in example1.php, but shortened by passing all data through the constructor as an array.
3+
* This is the same example as presented in example1.php, but we're var_dumping the entire response.
44
*
55
*/
66

examples/ship.php

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -73,7 +73,7 @@
7373

7474
$labelSpecification = new ComplexType\LabelSpecification();
7575
$labelSpecification
76-
->setLabelStockType(new SimpleType\LabelStockType(SimpleType\LabelStockType::_PAPER_7X4point75))
76+
->setLabelStockType(new SimpleType\LabelStockType(SimpleType\LabelStockType::_PAPER_7X4POINT75))
7777
->setImageType(new SimpleType\ShippingDocumentImageType(SimpleType\ShippingDocumentImageType::_PDF))
7878
->setLabelFormatType(new SimpleType\LabelFormatType(SimpleType\LabelFormatType::_COMMON2D));
7979

0 commit comments

Comments
 (0)