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
(Ruby) 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
require '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 = true port = 443 bAutoReconnect = true 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(false) sbResponseBody = Chilkat::CkStringBuilder.new() success = rest.FullRequestSb("POST","/v3/company/<realmID>/customer",sbRequestBody,sbResponseBody) if (success != true) print rest.lastErrorText() + "\n"; exit end respStatusCode = rest.get_ResponseStatusCode() # Success is indicated by a 200 response status code. print "response status code = " + respStatusCode.to_s() + "\n"; jsonResponse = Chilkat::CkJsonObject.new() jsonResponse.LoadSb(sbResponseBody) jsonResponse.put_EmitCompact(false) print jsonResponse.emit() + "\n"; if (rest.get_ResponseStatusCode() != 200) print "Failed." + "\n"; exit end # 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.