Skip to content

Commit ed3b808

Browse files
authored
Merge pull request #1 from ragod123/shipping-label
Shipping label
2 parents 70c339c + 4a431b9 commit ed3b808

28 files changed

+2075
-124
lines changed

demo/create-label.php

Lines changed: 194 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,194 @@
1+
<?php
2+
3+
use RahulGodiyal\PhpUpsApiWrapper\Entity\Address;
4+
use RahulGodiyal\PhpUpsApiWrapper\Entity\BillShipper;
5+
use RahulGodiyal\PhpUpsApiWrapper\Entity\Dimensions;
6+
use RahulGodiyal\PhpUpsApiWrapper\Entity\LabelImageFormat;
7+
use RahulGodiyal\PhpUpsApiWrapper\Entity\LabelSpecification;
8+
use RahulGodiyal\PhpUpsApiWrapper\Entity\LabelStockSize;
9+
use RahulGodiyal\PhpUpsApiWrapper\Entity\Package;
10+
use RahulGodiyal\PhpUpsApiWrapper\Entity\PackageWeight;
11+
use RahulGodiyal\PhpUpsApiWrapper\Entity\Packaging;
12+
use RahulGodiyal\PhpUpsApiWrapper\Entity\PaymentInformation;
13+
use RahulGodiyal\PhpUpsApiWrapper\Entity\Phone;
14+
use RahulGodiyal\PhpUpsApiWrapper\Entity\Request;
15+
use RahulGodiyal\PhpUpsApiWrapper\Entity\Service;
16+
use RahulGodiyal\PhpUpsApiWrapper\Entity\ShipFrom;
17+
use RahulGodiyal\PhpUpsApiWrapper\Entity\Shipment;
18+
use RahulGodiyal\PhpUpsApiWrapper\Entity\ShipmentCharge;
19+
use RahulGodiyal\PhpUpsApiWrapper\Entity\ShipmentRequest;
20+
use RahulGodiyal\PhpUpsApiWrapper\Entity\Shipper;
21+
use RahulGodiyal\PhpUpsApiWrapper\Entity\ShipTo;
22+
use RahulGodiyal\PhpUpsApiWrapper\Entity\UnitOfMeasurement;
23+
use RahulGodiyal\PhpUpsApiWrapper\Ship;
24+
25+
require_once('./vendor/autoload.php');
26+
27+
$client_id = "************************"; // UPS Client ID
28+
$client_secret = "*****************************"; // UPS Client Secret
29+
30+
/********* Shipper **********/
31+
$address = new Address();
32+
$address->setAddressLine1("address line 1");
33+
$address->setAddressLine2(""); // optional
34+
$address->setCity("Timonium");
35+
$address->setStateProvinceCode("MD");
36+
$address->setPostalCode("21093");
37+
$address->setCountryCode("US");
38+
39+
$phone = new Phone();
40+
$phone->setNumber("1115554758");
41+
$phone->setExtension(""); // optional
42+
43+
$shipper = new Shipper();
44+
$shipper->setName("Shipper Test");
45+
$shipper->setAttentionName(""); // optional
46+
$shipper->setTaxIdentificationNumber(""); // optional
47+
$shipper->setPhone($phone);
48+
$shipper->setShippingNumber("123456");
49+
$shipper->setFaxNumber(""); // optional
50+
$shipper->setAddress($address);
51+
/********* End Shipper **********/
52+
53+
/************ ShipTo **********/
54+
$address = new Address();
55+
$address->setAddressLine1("address line 1");
56+
$address->setAddressLine2(""); // optional
57+
$address->setCity("Timonium");
58+
$address->setStateProvinceCode("MD");
59+
$address->setPostalCode("21093");
60+
$address->setCountryCode("US");
61+
62+
$phone = new Phone();
63+
$phone->setNumber("1115554758");
64+
65+
$shipTo = new ShipTo();
66+
$shipTo->setName("Shipper Test");
67+
$shipTo->setAttentionName(""); // optional
68+
$shipTo->setPhone($phone);
69+
$shipTo->setAddress($address);
70+
$shipTo->setResidential(""); // optional
71+
/************ End ShipTo **********/
72+
73+
/************ ShipFrom **********/
74+
$address = new Address();
75+
$address->setAddressLine1("address line 1");
76+
$address->setAddressLine2(""); // optional
77+
$address->setCity("Timonium");
78+
$address->setStateProvinceCode("MD");
79+
$address->setPostalCode("21093");
80+
$address->setCountryCode("US");
81+
82+
$phone = new Phone();
83+
$phone->setNumber("1115554758");
84+
85+
$shipFrom = new ShipFrom();
86+
$shipFrom->setName("Shipper Test");
87+
$shipFrom->setAttentionName(""); // optional
88+
$shipFrom->setPhone($phone);
89+
$shipFrom->setFaxNumber(""); // optional
90+
$shipFrom->setAddress($address);
91+
/************ End ShipFrom **********/
92+
93+
/************ PaymentInformation **********/
94+
$billShipper = new BillShipper();
95+
$billShipper->setAccountNumber("123456");
96+
97+
$shipmentCharge = new ShipmentCharge();
98+
$shipmentCharge->setBillShipper($billShipper);
99+
100+
$paymentInformation = new PaymentInformation();
101+
$paymentInformation->setShipmentCharge($shipmentCharge);
102+
/************ End PaymentInformation **********/
103+
104+
/************ Service **********/
105+
$service = new Service();
106+
$service->setCode(Service::GROUND);
107+
$service->setDescription("Ground"); // optional
108+
/************ End Service **********/
109+
110+
/************ Package **********/
111+
$packaging = new Packaging();
112+
$packaging->setCode(Packaging::CUSTOMER_SUPPLIED_PACKAGE);
113+
$packaging->setDescription("Ups Letter"); // optional
114+
115+
$unitOfMeasurement = new UnitOfMeasurement();
116+
$unitOfMeasurement->setCode(UnitOfMeasurement::INCHES);
117+
$unitOfMeasurement->setDescription("Inches"); // optional
118+
119+
$dimensions = new Dimensions();
120+
$dimensions->setUnitOfMeasurement($unitOfMeasurement);
121+
$dimensions->setLength("10");
122+
$dimensions->setWidth("30");
123+
$dimensions->setHeight("45");
124+
125+
$unitOfMeasurement = new UnitOfMeasurement();
126+
$unitOfMeasurement->setCode(UnitOfMeasurement::POUNDS);
127+
$unitOfMeasurement->setDescription("POUNDS"); // optional
128+
129+
$packageWeight = new PackageWeight();
130+
$packageWeight->setUnitOfMeasurement($unitOfMeasurement);
131+
$packageWeight->setWeight("5");
132+
133+
$package = new Package();
134+
$package->setDescription(""); // optional
135+
$package->setPackaging($packaging);
136+
$package->setDimensions($dimensions);
137+
$package->setPackageWeight($packageWeight);
138+
/************ End Package **********/
139+
140+
/************ Shipment **********/
141+
$shipment = new Shipment();
142+
$shipment->setDescription("Ship WS test");
143+
$shipment->setShipper($shipper);
144+
$shipment->setShipTo($shipTo);
145+
$shipment->setShipFrom($shipFrom);
146+
$shipment->setPaymentInformation($paymentInformation);
147+
$shipment->setService($service);
148+
$shipment->setPackage($package);
149+
/************ End Shipment **********/
150+
151+
/************ Label Specification **********/
152+
$labelImageFormat = new LabelImageFormat();
153+
$labelImageFormat->setCode(LabelImageFormat::GIF);
154+
$labelImageFormat->setDescription("GIF"); // optional
155+
156+
$labelStockSize = new LabelStockSize();
157+
$labelStockSize->setHeight(LabelStockSize::H_8);
158+
$labelStockSize->setWidth(LabelStockSize::W_4);
159+
160+
$labelSpecification = new LabelSpecification();
161+
$labelSpecification->setLabelImageFormat($labelImageFormat);
162+
$labelSpecification->setLabelStockSize($labelStockSize);
163+
$labelSpecification->setHttpUserAgent("Mozilla/4.5"); // optional
164+
/************ End Label Specification **********/
165+
166+
/************ Shipment Request **********/
167+
$shipmentRequest = new ShipmentRequest();
168+
$shipmentRequest->setRequest(new Request);
169+
$shipmentRequest->setShipment($shipment);
170+
$shipmentRequest->setLabelSpecification($labelSpecification);
171+
/************ End Shipment Request **********/
172+
173+
/************ Create Ship **********/
174+
$ship = new Ship();
175+
$ship->setShipmentRequest($shipmentRequest);
176+
$ship->setOnlyLabel(true); // optional
177+
// $ship->setMode('PROD'); // Optional | only used for prod
178+
$shipRes = $ship->createShipment($client_id, $client_secret);
179+
/************ End Create Ship **********/
180+
181+
echo '<pre>'; print_r($shipRes); echo '</pre>';
182+
?>
183+
<!DOCTYPE html>
184+
<html lang="en">
185+
<head>
186+
<meta charset="UTF-8">
187+
<meta name="viewport" content="width=device-width, initial-scale=1.0">
188+
<title>Shipping Label</title>
189+
</head>
190+
<body>
191+
<img src="data:image/png;base64,<?= $shipRes['data']->GraphicImage ?>" alt="Shipping Label">
192+
193+
</body>
194+
</html>

readme.md

Lines changed: 198 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -45,4 +45,202 @@ echo '</pre>';
4545
die();
4646

4747
```
48+
Create Shipment | Shipping Label
49+
```php
50+
<?php
51+
52+
use RahulGodiyal\PhpUpsApiWrapper\Entity\Address;
53+
use RahulGodiyal\PhpUpsApiWrapper\Entity\BillShipper;
54+
use RahulGodiyal\PhpUpsApiWrapper\Entity\Dimensions;
55+
use RahulGodiyal\PhpUpsApiWrapper\Entity\LabelImageFormat;
56+
use RahulGodiyal\PhpUpsApiWrapper\Entity\LabelSpecification;
57+
use RahulGodiyal\PhpUpsApiWrapper\Entity\LabelStockSize;
58+
use RahulGodiyal\PhpUpsApiWrapper\Entity\Package;
59+
use RahulGodiyal\PhpUpsApiWrapper\Entity\PackageWeight;
60+
use RahulGodiyal\PhpUpsApiWrapper\Entity\Packaging;
61+
use RahulGodiyal\PhpUpsApiWrapper\Entity\PaymentInformation;
62+
use RahulGodiyal\PhpUpsApiWrapper\Entity\Phone;
63+
use RahulGodiyal\PhpUpsApiWrapper\Entity\Request;
64+
use RahulGodiyal\PhpUpsApiWrapper\Entity\Service;
65+
use RahulGodiyal\PhpUpsApiWrapper\Entity\ShipFrom;
66+
use RahulGodiyal\PhpUpsApiWrapper\Entity\Shipment;
67+
use RahulGodiyal\PhpUpsApiWrapper\Entity\ShipmentCharge;
68+
use RahulGodiyal\PhpUpsApiWrapper\Entity\ShipmentRequest;
69+
use RahulGodiyal\PhpUpsApiWrapper\Entity\Shipper;
70+
use RahulGodiyal\PhpUpsApiWrapper\Entity\ShipTo;
71+
use RahulGodiyal\PhpUpsApiWrapper\Entity\UnitOfMeasurement;
72+
use RahulGodiyal\PhpUpsApiWrapper\Ship;
73+
74+
require_once('./vendor/autoload.php');
75+
76+
$client_id = "************************"; // UPS Client ID
77+
$client_secret = "*****************************"; // UPS Client Secret
78+
79+
/********* Shipper **********/
80+
$address = new Address();
81+
$address->setAddressLine1("address line 1");
82+
$address->setAddressLine2(""); // optional
83+
$address->setCity("Timonium");
84+
$address->setStateProvinceCode("MD");
85+
$address->setPostalCode("21093");
86+
$address->setCountryCode("US");
87+
88+
$phone = new Phone();
89+
$phone->setNumber("1115554758");
90+
$phone->setExtension(""); // optional
91+
92+
$shipper = new Shipper();
93+
$shipper->setName("Shipper Test");
94+
$shipper->setAttentionName(""); // optional
95+
$shipper->setTaxIdentificationNumber(""); // optional
96+
$shipper->setPhone($phone);
97+
$shipper->setShippingNumber("123456");
98+
$shipper->setFaxNumber(""); // optional
99+
$shipper->setAddress($address);
100+
/********* End Shipper **********/
101+
102+
/************ ShipTo **********/
103+
$address = new Address();
104+
$address->setAddressLine1("address line 1");
105+
$address->setAddressLine2(""); // optional
106+
$address->setCity("Timonium");
107+
$address->setStateProvinceCode("MD");
108+
$address->setPostalCode("21093");
109+
$address->setCountryCode("US");
110+
111+
$phone = new Phone();
112+
$phone->setNumber("1115554758");
113+
114+
$shipTo = new ShipTo();
115+
$shipTo->setName("Shipper Test");
116+
$shipTo->setAttentionName(""); // optional
117+
$shipTo->setPhone($phone);
118+
$shipTo->setAddress($address);
119+
$shipTo->setResidential(""); // optional
120+
/************ End ShipTo **********/
121+
122+
/************ ShipFrom **********/
123+
$address = new Address();
124+
$address->setAddressLine1("address line 1");
125+
$address->setAddressLine2(""); // optional
126+
$address->setCity("Timonium");
127+
$address->setStateProvinceCode("MD");
128+
$address->setPostalCode("21093");
129+
$address->setCountryCode("US");
130+
131+
$phone = new Phone();
132+
$phone->setNumber("1115554758");
133+
134+
$shipFrom = new ShipFrom();
135+
$shipFrom->setName("Shipper Test");
136+
$shipFrom->setAttentionName(""); // optional
137+
$shipFrom->setPhone($phone);
138+
$shipFrom->setFaxNumber(""); // optional
139+
$shipFrom->setAddress($address);
140+
/************ End ShipFrom **********/
141+
142+
/************ PaymentInformation **********/
143+
$billShipper = new BillShipper();
144+
$billShipper->setAccountNumber("123456");
145+
146+
$shipmentCharge = new ShipmentCharge();
147+
$shipmentCharge->setBillShipper($billShipper);
148+
149+
$paymentInformation = new PaymentInformation();
150+
$paymentInformation->setShipmentCharge($shipmentCharge);
151+
/************ End PaymentInformation **********/
152+
153+
/************ Service **********/
154+
$service = new Service();
155+
$service->setCode(Service::GROUND);
156+
$service->setDescription("Ground"); // optional
157+
/************ End Service **********/
158+
159+
/************ Package **********/
160+
$packaging = new Packaging();
161+
$packaging->setCode(Packaging::CUSTOMER_SUPPLIED_PACKAGE);
162+
$packaging->setDescription("Ups Letter"); // optional
163+
164+
$unitOfMeasurement = new UnitOfMeasurement();
165+
$unitOfMeasurement->setCode(UnitOfMeasurement::INCHES);
166+
$unitOfMeasurement->setDescription("Inches"); // optional
167+
168+
$dimensions = new Dimensions();
169+
$dimensions->setUnitOfMeasurement($unitOfMeasurement);
170+
$dimensions->setLength("10");
171+
$dimensions->setWidth("30");
172+
$dimensions->setHeight("45");
173+
174+
$unitOfMeasurement = new UnitOfMeasurement();
175+
$unitOfMeasurement->setCode(UnitOfMeasurement::POUNDS);
176+
$unitOfMeasurement->setDescription("POUNDS"); // optional
177+
178+
$packageWeight = new PackageWeight();
179+
$packageWeight->setUnitOfMeasurement($unitOfMeasurement);
180+
$packageWeight->setWeight("5");
181+
182+
$package = new Package();
183+
$package->setDescription(""); // optional
184+
$package->setPackaging($packaging);
185+
$package->setDimensions($dimensions);
186+
$package->setPackageWeight($packageWeight);
187+
/************ End Package **********/
188+
189+
/************ Shipment **********/
190+
$shipment = new Shipment();
191+
$shipment->setDescription("Ship WS test");
192+
$shipment->setShipper($shipper);
193+
$shipment->setShipTo($shipTo);
194+
$shipment->setShipFrom($shipFrom);
195+
$shipment->setPaymentInformation($paymentInformation);
196+
$shipment->setService($service);
197+
$shipment->setPackage($package);
198+
/************ End Shipment **********/
199+
200+
/************ Label Specification **********/
201+
$labelImageFormat = new LabelImageFormat();
202+
$labelImageFormat->setCode(LabelImageFormat::GIF);
203+
$labelImageFormat->setDescription("GIF"); // optional
204+
205+
$labelStockSize = new LabelStockSize();
206+
$labelStockSize->setHeight(LabelStockSize::H_8);
207+
$labelStockSize->setWidth(LabelStockSize::W_4);
208+
209+
$labelSpecification = new LabelSpecification();
210+
$labelSpecification->setLabelImageFormat($labelImageFormat);
211+
$labelSpecification->setLabelStockSize($labelStockSize);
212+
$labelSpecification->setHttpUserAgent("Mozilla/4.5"); // optional
213+
/************ End Label Specification **********/
214+
215+
/************ Shipment Request **********/
216+
$shipmentRequest = new ShipmentRequest();
217+
$shipmentRequest->setRequest(new Request);
218+
$shipmentRequest->setShipment($shipment);
219+
$shipmentRequest->setLabelSpecification($labelSpecification);
220+
/************ End Shipment Request **********/
221+
222+
/************ Create Ship **********/
223+
$ship = new Ship();
224+
$ship->setShipmentRequest($shipmentRequest);
225+
$ship->setOnlyLabel(true); // optional
226+
// $ship->setMode('PROD'); // Optional | only used for prod
227+
$shipRes = $ship->createShipment($client_id, $client_secret);
228+
/************ End Create Ship **********/
229+
230+
echo '<pre>'; print_r($shipRes); echo '</pre>';
231+
?>
232+
<!DOCTYPE html>
233+
<html lang="en">
234+
<head>
235+
<meta charset="UTF-8">
236+
<meta name="viewport" content="width=device-width, initial-scale=1.0">
237+
<title>Shipping Label</title>
238+
</head>
239+
<body>
240+
<img src="data:image/png;base64,<?= $shipRes['data']->GraphicImage ?>" alt="Shipping Label">
241+
242+
</body>
243+
</html>
244+
245+
```
48246

0 commit comments

Comments
 (0)