// 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";
    /*
    print("\n\n\n\n");
    print('Request [' . $IPP->lastRequest() . ']');
Пример #2
0
 /**
  * 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;
 }