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
(Perl) 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
use chilkat(); # 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 = chilkat::CkJsonObject->new(); $success = $jsonToken->LoadFile("qa_data/tokens/qb-access-token.json"); $rest = chilkat::CkRest->new(); # Connect to the REST server. $bTls = 1; $port = 443; $bAutoReconnect = 1; $success = $rest->Connect("sandbox-quickbooks.api.intuit.com",$port,$bTls,$bAutoReconnect); $sbAuth = chilkat::CkStringBuilder->new(); $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 = chilkat::CkJsonObject->new(); $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 = chilkat::CkStringBuilder->new(); $jsonReq->EmitSb($sbRequestBody); $rest->AddHeader("Content-Type","application/json"); $rest->AddHeader("Accept","application/json"); $rest->put_AllowHeaderFolding(0); $sbResponseBody = chilkat::CkStringBuilder->new(); $success = $rest->FullRequestSb("POST","/v3/company/<realmID>/customer",$sbRequestBody,$sbResponseBody); if ($success != 1) { print $rest->lastErrorText() . "\r\n"; exit; } $respStatusCode = $rest->get_ResponseStatusCode(); # Success is indicated by a 200 response status code. print "response status code = " . $respStatusCode . "\r\n"; $jsonResponse = chilkat::CkJsonObject->new(); $jsonResponse->LoadSb($sbResponseBody); $jsonResponse->put_EmitCompact(0); print $jsonResponse->emit() . "\r\n"; if ($rest->get_ResponseStatusCode() != 200) { print "Failed." . "\r\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.