Chilkat HOME .NET Core C# Android™ AutoIt C C# C++ Chilkat2-Python CkPython Classic ASP DataFlex Delphi ActiveX Delphi DLL Go Java Lianja Mono C# Node.js Objective-C PHP ActiveX PHP Extension Perl PowerBuilder PowerShell PureBasic Ruby SQL Server Swift 2 Swift 3,4,5... Tcl Unicode C Unicode C++ VB.NET VBScript Visual Basic 6.0 Visual FoxPro Xojo Plugin
(PHP Extension) Quickbooks Create a New CustomerDemonstrates how to create a new customer via the Quickbooks REST API. For more information, see https://www.developer.intuit.com/app/developer/qbo/docs/api/accounting/most-commonly-used/customer#create-a-customer
<?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 requires the Chilkat API to have been previously unlocked. // See Global Unlock Sample for sample code. // First get our previously obtained OAuth2 access token. $jsonToken = new CkJsonObject(); $success = $jsonToken->LoadFile('qa_data/tokens/qb-access-token.json'); $rest = new CkRest(); // Connect to the REST server. $bTls = true; $port = 443; $bAutoReconnect = true; $success = $rest->Connect('sandbox-quickbooks.api.intuit.com',$port,$bTls,$bAutoReconnect); $sbAuth = new CkStringBuilder(); $sbAuth->Append('Bearer '); $sbAuth->Append($jsonToken->stringOf('access_token')); $rest->put_Authorization($sbAuth->getAsString()); // -------------------------------------------------------------------------- // Note: The above code to setup the initial REST connection // can be done once. After connecting, any number of REST calls can be made. // If the connection is lost, the next REST method call will automatically // reconnect if needed. // -------------------------------------------------------------------------- // Create the following JSON: // { // "FullyQualifiedName": "King Groceries", // "PrimaryEmailAddr": { // "Address": "jdrew@myemail.com" // }, // "DisplayName": "King's Groceries", // "Suffix": "Jr", // "Title": "Mr", // "MiddleName": "B", // "Notes": "Here are other details.", // "FamilyName": "King", // "PrimaryPhone": { // "FreeFormNumber": "(555) 555-5555" // }, // "CompanyName": "King Groceries", // "BillAddr": { // "CountrySubDivisionCode": "CA", // "City": "Mountain View", // "PostalCode": "94042", // "Line1": "123 Main Street", // "Country": "USA" // }, // "GivenName": "James" // } // // Use the this online tool to generate the code from sample JSON: // Generate Code to Create JSON $jsonReq = new CkJsonObject(); $jsonReq->UpdateString('FullyQualifiedName','King Groceries'); $jsonReq->UpdateString('PrimaryEmailAddr.Address','jdrew@myemail.com'); $jsonReq->UpdateString('DisplayName','King's Groceries'); $jsonReq->UpdateString('Suffix','Jr'); $jsonReq->UpdateString('Title','Mr'); $jsonReq->UpdateString('MiddleName','B'); $jsonReq->UpdateString('Notes','Here are other details.'); $jsonReq->UpdateString('FamilyName','King'); $jsonReq->UpdateString('PrimaryPhone.FreeFormNumber','(555) 555-5555'); $jsonReq->UpdateString('CompanyName','King Groceries'); $jsonReq->UpdateString('BillAddr.CountrySubDivisionCode','CA'); $jsonReq->UpdateString('BillAddr.City','Mountain View'); $jsonReq->UpdateString('BillAddr.PostalCode','94042'); $jsonReq->UpdateString('BillAddr.Line1','123 Main Street'); $jsonReq->UpdateString('BillAddr.Country','USA'); $jsonReq->UpdateString('GivenName','James'); $sbRequestBody = new CkStringBuilder(); $jsonReq->EmitSb($sbRequestBody); $rest->AddHeader('Content-Type','application/json'); $rest->AddHeader('Accept','application/json'); $rest->put_AllowHeaderFolding(false); $sbResponseBody = new CkStringBuilder(); $success = $rest->FullRequestSb('POST','/v3/company/<realmID>/customer',$sbRequestBody,$sbResponseBody); if ($success != true) { print $rest->lastErrorText() . "\n"; exit; } $respStatusCode = $rest->get_ResponseStatusCode(); // Success is indicated by a 200 response status code. print 'response status code = ' . $respStatusCode . "\n"; $jsonResponse = new CkJsonObject(); $jsonResponse->LoadSb($sbResponseBody); $jsonResponse->put_EmitCompact(false); print $jsonResponse->emit() . "\n"; if ($rest->get_ResponseStatusCode() != 200) { print 'Failed.' . "\n"; exit; } // Sample output... // (See the parsing code below..) // // Use the this online tool to generate parsing code from sample JSON: // Generate Parsing Code from JSON // { // "Customer": { // "domain": "QBO", // "PrimaryEmailAddr": { // "Address": "jdrew@myemail.com" // }, // "DisplayName": "King's Groceries", // "CurrencyRef": { // "name": "United States Dollar", // "value": "USD" // }, // "DefaultTaxCodeRef": { // "value": "2" // }, // "PreferredDeliveryMethod": "Print", // "GivenName": "James", // "FullyQualifiedName": "King's Groceries", // "BillWithParent": false, // "Title": "Mr", // "Job": false, // "BalanceWithJobs": 0, // "PrimaryPhone": { // "FreeFormNumber": "(555) 555-5555" // }, // "Taxable": true, // "MetaData": { // "CreateTime": "2015-07-23T10:58:12-07:00", // "LastUpdatedTime": "2015-07-23T10:58:12-07:00" // }, // "BillAddr": { // "City": "Mountain View", // "Country": "USA", // "Line1": "123 Main Street", // "PostalCode": "94042", // "CountrySubDivisionCode": "CA", // "Id": "112" // }, // "MiddleName": "B", // "Notes": "Here are other details.", // "Active": true, // "Balance": 0, // "SyncToken": "0", // "Suffix": "Jr", // "CompanyName": "King Groceries", // "FamilyName": "King", // "PrintOnCheckName": "King Groceries", // "sparse": false, // "Id": "67" // }, // "time": "2015-07-23T10:58:12.099-07:00" // } // $CustomerDomain = $jsonResponse->stringOf('Customer.domain'); $CustomerPrimaryEmailAddrAddress = $jsonResponse->stringOf('Customer.PrimaryEmailAddr.Address'); $CustomerDisplayName = $jsonResponse->stringOf('Customer.DisplayName'); $CustomerCurrencyRefName = $jsonResponse->stringOf('Customer.CurrencyRef.name'); $CustomerCurrencyRefValue = $jsonResponse->stringOf('Customer.CurrencyRef.value'); $CustomerDefaultTaxCodeRefValue = $jsonResponse->stringOf('Customer.DefaultTaxCodeRef.value'); $CustomerPreferredDeliveryMethod = $jsonResponse->stringOf('Customer.PreferredDeliveryMethod'); $CustomerGivenName = $jsonResponse->stringOf('Customer.GivenName'); $CustomerFullyQualifiedName = $jsonResponse->stringOf('Customer.FullyQualifiedName'); $CustomerBillWithParent = $jsonResponse->BoolOf('Customer.BillWithParent'); $CustomerTitle = $jsonResponse->stringOf('Customer.Title'); $CustomerJob = $jsonResponse->BoolOf('Customer.Job'); $CustomerBalanceWithJobs = $jsonResponse->IntOf('Customer.BalanceWithJobs'); $CustomerPrimaryPhoneFreeFormNumber = $jsonResponse->stringOf('Customer.PrimaryPhone.FreeFormNumber'); $CustomerTaxable = $jsonResponse->BoolOf('Customer.Taxable'); $CustomerMetaDataCreateTime = $jsonResponse->stringOf('Customer.MetaData.CreateTime'); $CustomerMetaDataLastUpdatedTime = $jsonResponse->stringOf('Customer.MetaData.LastUpdatedTime'); $CustomerBillAddrCity = $jsonResponse->stringOf('Customer.BillAddr.City'); $CustomerBillAddrCountry = $jsonResponse->stringOf('Customer.BillAddr.Country'); $CustomerBillAddrLine1 = $jsonResponse->stringOf('Customer.BillAddr.Line1'); $CustomerBillAddrPostalCode = $jsonResponse->stringOf('Customer.BillAddr.PostalCode'); $CustomerBillAddrCountrySubDivisionCode = $jsonResponse->stringOf('Customer.BillAddr.CountrySubDivisionCode'); $CustomerBillAddrId = $jsonResponse->stringOf('Customer.BillAddr.Id'); $CustomerMiddleName = $jsonResponse->stringOf('Customer.MiddleName'); $CustomerNotes = $jsonResponse->stringOf('Customer.Notes'); $CustomerActive = $jsonResponse->BoolOf('Customer.Active'); $CustomerBalance = $jsonResponse->IntOf('Customer.Balance'); $CustomerSyncToken = $jsonResponse->stringOf('Customer.SyncToken'); $CustomerSuffix = $jsonResponse->stringOf('Customer.Suffix'); $CustomerCompanyName = $jsonResponse->stringOf('Customer.CompanyName'); $CustomerFamilyName = $jsonResponse->stringOf('Customer.FamilyName'); $CustomerPrintOnCheckName = $jsonResponse->stringOf('Customer.PrintOnCheckName'); $CustomerSparse = $jsonResponse->BoolOf('Customer.sparse'); $CustomerId = $jsonResponse->stringOf('Customer.Id'); $time = $jsonResponse->stringOf('time'); ?> |
© 2000-2024 Chilkat Software, Inc. All Rights Reserved.