forked from boltboxapp/parcel-perfect
-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathExample.php
More file actions
65 lines (52 loc) · 1.95 KB
/
Copy pathExample.php
File metadata and controls
65 lines (52 loc) · 1.95 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
<?php
use ParcelPerfect\Entities\PackageContents;
use ParcelPerfect\Entities\PackageDetails;
use ParcelPerfect\Entities\PackageAddress;
use ParcelPerfect\Entities\QuoteCollection;
use ParcelPerfect\Requests\AcceptQuote;
use ParcelPerfect\Requests\GetQuotes;
use ParcelPerfect\Requests\GetPlacesByName;
use ParcelPerfect\Requests\GetPlacesByPostalCode;
require_once 'vendor/autoload.php';
function dd($var) {
var_dump($var);
die();
}
$config = [
'username' => 'bonline@ecom.co.za',
'password' => 'bonlineEcom',
'api_url' => 'http://adpdemo.pperfect.com/ecomService/v15/Soap/index.php?wsdl'
];
$getByPostalCode = new GetPlacesByPostalCode($config);
$dropoffPlace = $getByPostalCode->getPlacesByPostalCode('2000')[0];
$getPlacesByName = new GetPlacesByName($config);
$pickupPlace = $getPlacesByName->getPlacesByName('Stellenbosch')[0];
$pickupLocation = new PackageAddress();
$pickupLocation
->setPlaceId($pickupPlace->getPlaceId())
->setAddressLineOne('87 Ryneveldt')
->setTown('Stellenbosch')
->setPostalCode($pickupPlace->getPcode());
$dropoffLocation = new PackageAddress();
$dropoffLocation
->setPlaceId($dropoffPlace->getPlaceId())
->setAddressLineOne('56 King George St')
->setTown('Johannesburg')
->setPostalCode($dropoffPlace->getPcode());
$pickupDetails = new PackageDetails();
$pickupDetails->setPickupLocation($pickupLocation)->setDropoffLocation($dropoffLocation);
$itemContents = (new PackageContents())
->setActmass(1)
->setDescription('TEST')
->setDim1(1)
->setDim2(1)
->setDim3(1)
->setItemNumber(1)
->setPieces(1);
$deliveryRequest = new GetQuotes($config);
$quotes = $deliveryRequest->setContents([$itemContents])->setDetails($pickupDetails)->requestQuotes();
$quote = (new QuoteCollection())->setQuoteno($quotes->getQuoteNumber())->setPrintWaybill(1)->setSpecins("test instructions");
$acceptQuote = (new AcceptQuote($config))
->setQuote($quote)
->accept();
dd($acceptQuote);