Chilkat Examples

ChilkatHOMEAndroid™Classic ASPCC++C#Mono C#.NET Core C#C# UWP/WinRTDataFlexDelphi ActiveXDelphi DLLVisual FoxProJavaLianjaMFCObjective-CPerlPHP ActiveXPHP ExtensionPowerBuilderPowerShellPureBasicCkPythonChilkat2-PythonRubySQL ServerSwift 2Swift 3/4TclUnicode CUnicode C++Visual Basic 6.0VB.NETVB.NET UWP/WinRTVBScriptXojo PluginNode.jsExcelGo

PHP Extension Web API Examples

Primary Categories

CardConnect
Facebook
GeoOp
Jira
PayPal
Peoplevox
QuickBooks

Shopify
Stripe
SugarCRM
Twitter
VoiceBase
Walmart
Xero
eBay
effectconnect

 

 

 

(PHP Extension) QuickBooks - Create an Account

Demonstrates how to send an JSON request to create a QuickBooks account.

Chilkat PHP Downloads

PHP Extension for Windows, Linux, MAC OS X,
Alpine Linux, Solaris, OpenBSD, FreeBSD,
and Linux armhf/aarch64

<?php

// The version number (9_5_0) should match version of the Chilkat extension used, omitting the micro-version number.
// For example, if using Chilkat v9.5.0.48, then include as shown here:
include("chilkat_9_5_0.php");

// This example assumes the Chilkat API to have been previously unlocked.
// See Global Unlock Sample for sample code.

// This example also assumes an OAuth1 access token was previously fetched.
// and saved in a JSON file.  See the Chilkat online examples at example-code.com
// for Quickbooks OAuth1 examples (in the Quickbooks and OAuth1 categories)
// 

// First get our previously obtained access token.
$jsonToken = new CkJsonObject();
$success = $jsonToken->LoadFile('qa_data/tokens/quickbooks.json');

$oauth1 = new CkOAuth1();
$oauth1->put_ConsumerKey('QUICKBOOKS_CONSUMER_KEY');
$oauth1->put_ConsumerSecret('QUICKBOOKS_CONSUMER_SECRET');
$oauth1->put_Token($jsonToken->stringOf('oauth_token'));
$oauth1->put_TokenSecret($jsonToken->stringOf('oauth_token_secret'));

$rest = new CkRest();

// Connect using TLS.
// A single REST object, once connected, can be used for many Quickbooks REST API calls.
// The auto-reconnect indicates that if the already-established HTTPS connection is closed,
// then it will be automatically re-established as needed.
$bAutoReconnect = true;
$success = $rest->Connect('sandbox-quickbooks.api.intuit.com',443,true,$bAutoReconnect);
if ($success != true) {
    print $rest->lastErrorText() . "\n";
    exit;
}

$rest->SetAuthOAuth1($oauth1,false);

$jsonRequest = new CkJsonObject();
$jsonRequest->AppendString('AccountType','Credit Card');
$jsonRequest->AppendString('Name','Banana Republic');
$requestBody = $jsonRequest->emit();

// The company ID is the realmId
$sbPath = new CkStringBuilder();
$sbPath->Append('/v3/company/<companyID>/account');
$numReplacements = $sbPath->Replace('<companyID>',$jsonToken->stringOf('realmId'));

$rest->AddHeader('Content-Type','application/json');
$rest->AddHeader('Accept','application/json');
$rest->put_AllowHeaderFolding(false);

$responseBody = $rest->fullRequestString('POST',$sbPath->getAsString(),$requestBody);
if ($rest->get_LastMethodSuccess() != true) {
    print $rest->lastErrorText() . "\n";
    exit;
}

// We should expect a 200 response if successful.
if ($rest->get_ResponseStatusCode() != 200) {
    print 'Request Header: ' . "\n";
    print $rest->lastRequestHeader() . "\n";
    print '----' . "\n";
    print 'Response StatusCode = ' . $rest->get_ResponseStatusCode() . "\n";
    print 'Response StatusLine: ' . $rest->responseStatusText() . "\n";
    print 'Response Header:' . "\n";
    print $rest->responseHeader() . "\n";
    print $responseBody . "\n";
    exit;
}

$jsonResponse = new CkJsonObject();
$jsonResponse->Load($responseBody);
$jsonResponse->put_EmitCompact(false);
print $jsonResponse->emit() . "\n";
print 'Success.' . "\n";

// A sample JSON response:

// {
//   "Account": {
//     "Name": "Banana Republic",
//     "SubAccount": false,
//     "FullyQualifiedName": "Banana Republic",
//     "Active": true,
//     "Classification": "Liability",
//     "AccountType": "Credit Card",
//     "AccountSubType": "CreditCard",
//     "CurrentBalance": 0,
//     "CurrentBalanceWithSubAccounts": 0,
//     "CurrencyRef": {
//       "value": "USD",
//       "name": "United States Dollar"
//     },
//     "domain": "QBO",
//     "sparse": false,
//     "Id": "97",
//     "SyncToken": "0",
//     "MetaData": {
//       "CreateTime": "2016-10-25T05:07:12-07:00",
//       "LastUpdatedTime": "2016-10-25T05:07:12-07:00"
//     }
//   },
//   "time": "2016-10-25T05:07:11.714-07:00"
// }

?>

 

© 2000-2019 Chilkat Software, Inc. All Rights Reserved.