ZendService\StrikeIron: Bundled Services¶
ZendService\StrikeIron\StrikeIron comes with wrapper classes for three popular StrikeIron services.
ZIP Code Information¶
ZendService\StrikeIron\ZipCodeInfo provides a client for StrikeIron’s Zip Code Information Service. For more information on this service, visit these StrikeIron resources:
The service contains a getZipCode() method that will retrieve information about a United States ZIP code or Canadian postal code:
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 | $strikeIron = new ZendService\StrikeIron\StrikeIron(array('username' => 'your-username',
'password' => 'your-password'));
// Get a client for the Zip Code Information service
$zipInfo = $strikeIron->getService(array('class' => 'ZipCodeInfo'));
// Get the Zip information for 95014
$response = $zipInfo->getZipCode(array('ZipCode' => 95014));
$zips = $response->serviceResult;
// Display the results
if ($zips->count == 0) {
echo 'No results found';
} else {
// a result with one single zip code is returned as an object,
// not an array with one element as one might expect.
if (! is_array($zips->zipCodes)) {
$zips->zipCodes = array($zips->zipCodes);
}
// print all of the possible results
foreach ($zips->zipCodes as $z) {
$info = $z->zipCodeInfo;
// show all properties
print_r($info);
// or just the city name
echo $info->preferredCityName;
}
}
// Detailed status information
// http://www.strikeiron.com/exampledata/StrikeIronZipCodeInformation_v3.pdf
$status = $response->serviceStatus;
|
U.S. Address Verification¶
ZendService\StrikeIron\USAddressVerification provides a client for StrikeIron’s U.S. Address Verification Service. For more information on this service, visit these StrikeIron resources:
The service contains a verifyAddressUSA() method that will verify an address in the United States:
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 | $strikeIron = new ZendService\StrikeIron\StrikeIron(array('username' => 'your-username',
'password' => 'your-password'));
// Get a client for the Zip Code Information service
$verifier = $strikeIron->getService(array('class' => 'USAddressVerification'));
// Address to verify. Not all fields are required but
// supply as many as possible for the best results.
$address = array('firm' => 'Zend Technologies',
'addressLine1' => '19200 Stevens Creek Blvd',
'addressLine2' => '',
'city_state_zip' => 'Cupertino CA 95014');
// Verify the address
$result = $verifier->verifyAddressUSA($address);
// Display the results
if ($result->addressErrorNumber != 0) {
echo $result->addressErrorNumber;
echo $result->addressErrorMessage;
} else {
// show all properties
print_r($result);
// or just the firm name
echo $result->firm;
// valid address?
$valid = ($result->valid == 'VALID');
}
|
Sales & Use Tax Basic¶
ZendService\StrikeIron\SalesUseTaxBasic provides a client for StrikeIron’s Sales & Use Tax Basic service. For more information on this service, visit these StrikeIron resources:
The service contains two methods, getTaxRateUSA() and getTaxRateCanada(), that will retrieve sales and use tax data for the United States and Canada, respectively.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 | $strikeIron = new ZendService\StrikeIron\StrikeIron(array('username' => 'your-username',
'password' => 'your-password'));
// Get a client for the Sales & Use Tax Basic service
$taxBasic = $strikeIron->getService(array('class' => 'SalesUseTaxBasic'));
// Query tax rate for Ontario, Canada
$rateInfo = $taxBasic->getTaxRateCanada(array('province' => 'foo'));
print_r($rateInfo); // show all properties
echo $rateInfo->GST; // or just the GST (Goods & Services Tax)
// Query tax rate for Cupertino, CA USA
$rateInfo = $taxBasic->getTaxRateUS(array('zip_code' => 95014));
print_r($rateInfo); // show all properties
echo $rateInfo->state_sales_tax; // or just the state sales tax
|