Zend_Service_StrikeIron comes with wrapper classes for three popular StrikeIron services.
Zend_Service_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:
<?php require_once 'Zend/Service/StrikeIron.php'; $strikeIron = new Zend_Service_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;
Zend_Service_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:
<?php require_once 'Zend/Service/StrikeIron.php'; $strikeIron = new Zend_Service_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'); }
Zend_Service_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.
<?php require_once 'Zend/Service/StrikeIron.php'; $strikeIron = new Zend_Service_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