|
| 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