Skip to content

Commit 291da98

Browse files
committed
Add open ship example
1 parent 62cdb34 commit 291da98

File tree

1 file changed

+143
-0
lines changed

1 file changed

+143
-0
lines changed

examples/create-open-shipment.php

+143
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,143 @@
1+
<?php
2+
3+
require_once 'credentials.php';
4+
require_once 'bootstrap.php';
5+
6+
use FedEx\OpenShipService\Request;
7+
use FedEx\OpenShipService\ComplexType;
8+
use FedEx\OpenShipService\SimpleType;
9+
10+
/********************************************************
11+
* Create initial open shipment request with 1 package...
12+
********************************************************/
13+
$shipDate = new \DateTime();
14+
15+
$createOpenShipmentRequest = new ComplexType\CreateOpenShipmentRequest();
16+
// web authentication detail
17+
$createOpenShipmentRequest->WebAuthenticationDetail->UserCredential->Key = FEDEX_KEY;
18+
$createOpenShipmentRequest->WebAuthenticationDetail->UserCredential->Password = FEDEX_PASSWORD;
19+
// client detail
20+
$createOpenShipmentRequest->ClientDetail->MeterNumber = FEDEX_METER_NUMBER;
21+
$createOpenShipmentRequest->ClientDetail->AccountNumber = FEDEX_ACCOUNT_NUMBER;
22+
// version
23+
$createOpenShipmentRequest->Version->ServiceId = 'ship';
24+
$createOpenShipmentRequest->Version->Major = 11;
25+
$createOpenShipmentRequest->Version->Intermediate = 0;
26+
$createOpenShipmentRequest->Version->Minor = 0;
27+
28+
// package 1
29+
$requestedPackageLineItem1 = new ComplexType\RequestedPackageLineItem();
30+
$requestedPackageLineItem1->SequenceNumber = 1;
31+
$requestedPackageLineItem1->ItemDescription = 'Product description 1';
32+
$requestedPackageLineItem1->Dimensions->Width = 10;
33+
$requestedPackageLineItem1->Dimensions->Height = 10;
34+
$requestedPackageLineItem1->Dimensions->Length = 15;
35+
$requestedPackageLineItem1->Dimensions->Units = SimpleType\LinearUnits::_IN;
36+
$requestedPackageLineItem1->Weight->Value = 2;
37+
$requestedPackageLineItem1->Weight->Units = SimpleType\WeightUnits::_LB;
38+
39+
// requested shipment
40+
$createOpenShipmentRequest->RequestedShipment->DropoffType = SimpleType\DropoffType::_REGULAR_PICKUP;
41+
$createOpenShipmentRequest->RequestedShipment->ShipTimestamp = $shipDate->format('c');
42+
$createOpenShipmentRequest->RequestedShipment->ServiceType = SimpleType\ServiceType::_FEDEX_2_DAY;
43+
$createOpenShipmentRequest->RequestedShipment->PackagingType = SimpleType\PackagingType::_YOUR_PACKAGING;
44+
$createOpenShipmentRequest->RequestedShipment->LabelSpecification->ImageType = SimpleType\ShippingDocumentImageType::_PDF;
45+
$createOpenShipmentRequest->RequestedShipment->LabelSpecification->LabelFormatType = SimpleType\LabelFormatType::_COMMON2D;
46+
$createOpenShipmentRequest->RequestedShipment->LabelSpecification->LabelStockType = SimpleType\LabelStockType::_PAPER_4X6;
47+
$createOpenShipmentRequest->RequestedShipment->RateRequestTypes = [SimpleType\RateRequestType::_PREFERRED];
48+
$createOpenShipmentRequest->RequestedShipment->PackageCount = 1;
49+
$createOpenShipmentRequest->RequestedShipment->RequestedPackageLineItems = [$requestedPackageLineItem1];
50+
51+
// requested shipment shipper
52+
$createOpenShipmentRequest->RequestedShipment->Shipper->AccountNumber = FEDEX_ACCOUNT_NUMBER;
53+
$createOpenShipmentRequest->RequestedShipment->Shipper->Address->StreetLines = ['1234 Main Street'];
54+
$createOpenShipmentRequest->RequestedShipment->Shipper->Address->City = 'Anytown';
55+
$createOpenShipmentRequest->RequestedShipment->Shipper->Address->StateOrProvinceCode = 'NY';
56+
$createOpenShipmentRequest->RequestedShipment->Shipper->Address->PostalCode = '12345';
57+
$createOpenShipmentRequest->RequestedShipment->Shipper->Address->CountryCode = 'US';
58+
$createOpenShipmentRequest->RequestedShipment->Shipper->Contact->CompanyName = 'Company Name';
59+
$createOpenShipmentRequest->RequestedShipment->Shipper->Contact->PersonName = 'Person Name';
60+
$createOpenShipmentRequest->RequestedShipment->Shipper->Contact->EMailAddress = '[email protected]';
61+
$createOpenShipmentRequest->RequestedShipment->Shipper->Contact->PhoneNumber = '1-123-123-1234';
62+
63+
// requested shipment recipient
64+
$createOpenShipmentRequest->RequestedShipment->Recipient->Address->StreetLines = ['54321 1st Ave.'];
65+
$createOpenShipmentRequest->RequestedShipment->Recipient->Address->City = 'Anytown';
66+
$createOpenShipmentRequest->RequestedShipment->Recipient->Address->StateOrProvinceCode = 'NY';
67+
$createOpenShipmentRequest->RequestedShipment->Recipient->Address->PostalCode = '12345';
68+
$createOpenShipmentRequest->RequestedShipment->Recipient->Address->CountryCode = 'US';
69+
$createOpenShipmentRequest->RequestedShipment->Recipient->Contact->PersonName = 'John Doe';
70+
$createOpenShipmentRequest->RequestedShipment->Recipient->Contact->EMailAddress = '[email protected]';
71+
$createOpenShipmentRequest->RequestedShipment->Recipient->Contact->PhoneNumber = '1-321-321-4321';
72+
73+
// shipping charges payment
74+
$createOpenShipmentRequest->RequestedShipment->ShippingChargesPayment->Payor->ResponsibleParty = $createOpenShipmentRequest->RequestedShipment->Shipper;
75+
$createOpenShipmentRequest->RequestedShipment->ShippingChargesPayment->PaymentType = SimpleType\PaymentType::_SENDER;
76+
77+
// send the create open shipment request
78+
$openShipServiceRequest = new Request();
79+
$createOpenShipmentReply = $openShipServiceRequest->getCreateOpenShipmentReply($createOpenShipmentRequest);
80+
81+
// shipment is created and we have an index number
82+
$index = $createOpenShipmentReply->Index;
83+
84+
85+
/********************************
86+
* Add a package to open shipment
87+
********************************/
88+
$addPackagesToOpenShipmentRequest = new ComplexType\AddPackagesToOpenShipmentRequest();
89+
90+
// set index
91+
$addPackagesToOpenShipmentRequest->Index = $index;
92+
93+
// reuse web authentication detail from previous request
94+
$addPackagesToOpenShipmentRequest->WebAuthenticationDetail = $createOpenShipmentRequest->WebAuthenticationDetail;
95+
96+
// reuse client detail from previous request
97+
$addPackagesToOpenShipmentRequest->ClientDetail = $createOpenShipmentRequest->ClientDetail;
98+
99+
// reuse version from previous request
100+
$addPackagesToOpenShipmentRequest->Version = $createOpenShipmentRequest->Version;
101+
102+
// requested package line item
103+
$requestedPackageLineItem2 = new ComplexType\RequestedPackageLineItem();
104+
$requestedPackageLineItem2->SequenceNumber = 2;
105+
$requestedPackageLineItem2->ItemDescription = 'New package added to open shipment';
106+
$requestedPackageLineItem2->Dimensions->Width = 20;
107+
$requestedPackageLineItem2->Dimensions->Height = 10;
108+
$requestedPackageLineItem2->Dimensions->Length = 12;
109+
$requestedPackageLineItem2->Dimensions->Units = SimpleType\LinearUnits::_IN;
110+
$requestedPackageLineItem2->Weight->Value = 4;
111+
$requestedPackageLineItem2->Weight->Units = SimpleType\WeightUnits::_LB;
112+
$addPackagesToOpenShipmentRequest->RequestedPackageLineItems = [$requestedPackageLineItem2];
113+
114+
// send the add packages to open shipment request
115+
$addPackagesToOpenShipmentReply = $openShipServiceRequest->getAddPackagesToOpenShipmentReply($addPackagesToOpenShipmentRequest);
116+
117+
var_dump($addPackagesToOpenShipmentReply);
118+
119+
/************************************
120+
* Retrieve the open shipment details
121+
************************************/
122+
$retrieveOpenShipmentRequest = new ComplexType\RetrieveOpenShipmentRequest();
123+
$retrieveOpenShipmentRequest->Index = $index;
124+
$retrieveOpenShipmentRequest->WebAuthenticationDetail = $createOpenShipmentRequest->WebAuthenticationDetail;
125+
$retrieveOpenShipmentRequest->ClientDetail = $createOpenShipmentRequest->ClientDetail;
126+
$retrieveOpenShipmentRequest->Version = $createOpenShipmentRequest->Version;
127+
128+
$retrieveOpenShipmentReply = $openShipServiceRequest->getRetrieveOpenShipmentReply($retrieveOpenShipmentRequest);
129+
130+
var_dump($retrieveOpenShipmentReply);
131+
132+
/***********************
133+
* Confirm open shipment
134+
***********************/
135+
$confirmOpenShipmentRequest = new ComplexType\ConfirmOpenShipmentRequest();
136+
$confirmOpenShipmentRequest->WebAuthenticationDetail = $createOpenShipmentRequest->WebAuthenticationDetail;
137+
$confirmOpenShipmentRequest->ClientDetail = $createOpenShipmentRequest->ClientDetail;
138+
$confirmOpenShipmentRequest->Version = $createOpenShipmentRequest->Version;
139+
$confirmOpenShipmentRequest->Index = $index;
140+
141+
$confirmOpenShipmentReply = $openShipServiceRequest->getConfirmOpenShipmentReply($confirmOpenShipmentRequest);
142+
143+
var_dump($confirmOpenShipmentReply);

0 commit comments

Comments
 (0)