-
Notifications
You must be signed in to change notification settings - Fork 15
/
Client.php
69 lines (54 loc) · 2.05 KB
/
Client.php
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
66
67
68
69
<?php
namespace SmartyStreets\PhpSdk\US_Enrichment;
require_once(dirname(dirname(__FILE__)) . '/Exceptions/UnprocessableEntityException.php');
require_once(dirname(dirname(__FILE__)) . '/Sender.php');
require_once(dirname(dirname(__FILE__)) . '/Serializer.php');
require_once(dirname(dirname(__FILE__)) . '/Request.php');
require_once('Lookup.php');
require_once('Result.php');
use SmartyStreets\PhpSdk\Sender;
use SmartyStreets\PhpSdk\Serializer;
use SmartyStreets\PhpSdk\Request;
class Client {
private $sender,
$serializer;
public function __construct(Sender $sender, Serializer $serializer = null) {
$this->sender = $sender;
$this->serializer = $serializer;
}
public function sendPropertyFinancialLookup($smartyKey){
$lookup = new Lookup($smartyKey, "property", "financial");
$this->sendLookup($lookup);
return $lookup->getResponse();
}
public function sendPropertyPrincipalLookup($smartyKey){
$lookup = new Lookup($smartyKey, "property", "principal");
$this->sendLookup($lookup);
return $lookup->getResponse();
}
private function sendLookup(Lookup $lookup) {
$request = $this->buildRequest($lookup);
$response = $this->sender->send($request);
echo($response->getPayload());
$lookupResponse = $this->buildResponse($this->serializer->deserialize($response->getPayload()));
$lookup->setResponse($lookupResponse);
}
private function buildResponse($objArray){
$response = [];
if($objArray == null){
return $response;
}
foreach($objArray as $result) {
$response[] = new Result($result);
}
return $response;
}
private function buildRequest(Lookup $lookup) {
$request = new Request();
$request->setUrlPrefix($this->getUrlPrefix($lookup));
return $request;
}
private function getUrlPrefix($lookup){
return $lookup->getSmartyKey() . "/" . $lookup->getDataSetName() . "/" . $lookup->getDataSubsetName();
}
}