PHP SDK Sample: Retrieve Avalara Item Settings

The following tutorial will collect all the Avalara settings from items on an account and store them in associative arrays.

 

<?php require_once __DIR__ . '/vendor/autoload.php'; // Disable SSL verification if we're having issues with this PHP install not having the proper CA installed. Fix your CA for a production environment! // Set debug to true if you need more information on request/response $client = new GuzzleHttp\Client(['verify' => false, 'debug' => false]); // Configure API key authorization: ultraCartSimpleApiKey $config = new ultracart\v2\Configuration(); $config->setApiKey('x-ultracart-simple-key', 'YOUR KEY HERE'); $api_instance = new ultracart\v2\api\ItemApi( $client, $config, new ultracart\v2\HeaderSelector("2016-10-01") ); $_limit = 200; // int | The maximum number of records to return on this one API call. (Maximum 200) $_offset = 0; // int | Pagination of the record set. Offset is a zero based index. $_sort = "merchant_item_id"; // string | The sort order of the orders. See Sorting documentation for examples of using multiple values and sorting by ascending and descending. $_expand = "properties"; // string | The object expansion to perform on the result. // Collect values in dictionaries and lists $itemIdToAvalaraTaxCodeMap = array(); $itemIdToAvalaraTaxDescriptionMap = array(); $itemIds = array(); for ($_offset = 0; ; $_offset += $_limit) { echo 'Pulling offset ' . $_offset . PHP_EOL; try { $result = $api_instance->getItems(null, null, $_limit, $_offset, null, null, $_expand, false); if ($result->getSuccess()) { echo 'Retrieved ' . count($result->getItems()) . PHP_EOL; for ($i = 0; $i < count($result->getItems()); $i++) { $item = $result->getItems()[$i]; array_push($itemIds, $item->getMerchantItemId()); for ($j = 0; $j < count($item->getProperties()); $j++) { $property = $item->getProperties()[$j]; if ($property->getName() == "avalaraTaxCodeDescription") { $itemIdToAvalaraTaxDescriptionMap[$item->getMerchantItemId()] = $property->getValue(); } if ($property->getName() == "avalaraTaxCode") { $itemIdToAvalaraTaxCodeMap[$item->getMerchantItemId()] = $property->getValue(); } } // Put your code here to process each of the orders that came back // var_dump($item); } // Are we done? if (count($result->getItems()) < $_limit) { echo 'Finished' . PHP_EOL; break; } } else { echo 'Failed to retrieve orders' . PHP_EOL; var_dump($result); break; } } catch (Exception $e) { echo 'Exception when calling ItemApi->getItems: ', $e->getMessage(), PHP_EOL; } } echo 'Items:' . PHP_EOL; var_dump($itemIds); echo 'Tax Code Map:' . PHP_EOL; var_dump($itemIdToAvalaraTaxCodeMap); echo 'Tax Description Map:' . PHP_EOL; var_dump($itemIdToAvalaraTaxDescriptionMap); ?>