<?php // Set up the IPP instance $IPP = new QuickBooks_IPP($dsn); // Get our OAuth credentials from the database $creds = $IntuitAnywhere->load($the_username, $the_tenant); // Tell the framework to load some data from the OAuth store $IPP->authMode(QuickBooks_IPP::AUTHMODE_OAUTH, $the_username, $creds); // Print the credentials we're using //print_r($creds); // This is our current realm $realm = $creds['qb_realm']; // Load the OAuth information from the database if ($Context = $IPP->context()) { // Set the DBID $IPP->dbid($Context, 'something'); // Set the IPP flavor $IPP->flavor($creds['qb_flavor']); // Get the base URL if it's QBO if ($creds['qb_flavor'] == QuickBooks_IPP_IDS::FLAVOR_ONLINE) { $IPP->baseURL($IPP->getBaseURL($Context, $realm)); } //print('Base URL is [' . $IPP->baseURL() . ']' . "\n\n"); $CustomerService = new QuickBooks_IPP_Service_Customer(); $Customer = new QuickBooks_IPP_Object_Customer(); $Customer->setName('Willy Wonka #' . mt_rand(0, 1000)); $Customer->setGivenName('Willy'); $Customer->setFamilyName('Wonka'); $resp = $CustomerService->add($Context, $realm, $Customer); print 'We added a new customer named [' . $Customer->getName() . '] and got back an ID value of [' . $resp . ']' . "\n\n"; /*
/** * Test to see if a connection actually works (make sure you haven't been disconnected on Intuit's end) * */ public function test($app_username, $app_tenant) { if ($creds = $this->load($app_username, $app_tenant)) { $IPP = new QuickBooks_IPP(); $IPP->authMode(QuickBooks_IPP::AUTHMODE_OAUTH, $app_username, $creds); if ($Context = $IPP->context()) { // Set the DBID $IPP->dbid($Context, 'something'); // Set the IPP flavor $IPP->flavor($creds['qb_flavor']); // Get the base URL if it's QBO if ($creds['qb_flavor'] == QuickBooks_IPP_IDS::FLAVOR_ONLINE) { $cur_version = $IPP->version(); $IPP->version(QuickBooks_IPP_IDS::VERSION_3); // Need v3 for this $CustomerService = new QuickBooks_IPP_Service_Customer(); $customers = $CustomerService->query($Context, $creds['qb_realm'], "SELECT * FROM Customer MAXRESULTS 1"); $IPP->version($cur_version); // Revert back to whatever they set //$IPP->baseURL($IPP->getBaseURL($Context, $creds['qb_realm'])); } else { $companies = $IPP->getAvailableCompanies($Context); } //print('[[' . $IPP->lastRequest() . ']]' . "\n\n"); //print('[[' . $IPP->lastResponse() . ']]' . "\n\n"); //print('here we are! [' . $IPP->errorCode() . ']'); // Check the last error code now... if ($IPP->errorCode() == 401 or $IPP->errorCode() == 3200) { return false; } return true; } } return false; }