Chilkat HOME Android™ Classic ASP C C++ C# Mono C# .NET Core C# C# UWP/WinRT DataFlex Delphi ActiveX Delphi DLL Visual FoxPro Java Lianja MFC Objective-C Perl PHP ActiveX PHP Extension PowerBuilder PowerShell PureBasic CkPython Chilkat2-Python Ruby SQL Server Swift 2 Swift 3,4,5... Tcl Unicode C Unicode C++ Visual Basic 6.0 VB.NET VB.NET UWP/WinRT VBScript Xojo Plugin Node.js Excel Go
(Excel) 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
' 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. Dim jsonToken As Chilkat.JsonObject Set jsonToken = Chilkat.NewJsonObject success = jsonToken.LoadFile("qa_data/tokens/qb-access-token.json") Dim rest As Chilkat.Rest Set rest = Chilkat.NewRest ' Connect to the REST server. bTls = True port = 443 bAutoReconnect = True success = rest.Connect("sandbox-quickbooks.api.intuit.com",port,bTls,bAutoReconnect) Dim sbAuth As Chilkat.StringBuilder Set sbAuth = Chilkat.NewStringBuilder Dim success As Boolean success = sbAuth.Append("Bearer ") success = sbAuth.Append(jsonToken.StringOf("access_token")) rest.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 Dim jsonReq As Chilkat.JsonObject Set jsonReq = Chilkat.NewJsonObject success = jsonReq.UpdateString("FullyQualifiedName","King Groceries") success = jsonReq.UpdateString("PrimaryEmailAddr.Address","jdrew@myemail.com") success = jsonReq.UpdateString("DisplayName","King's Groceries") success = jsonReq.UpdateString("Suffix","Jr") success = jsonReq.UpdateString("Title","Mr") success = jsonReq.UpdateString("MiddleName","B") success = jsonReq.UpdateString("Notes","Here are other details.") success = jsonReq.UpdateString("FamilyName","King") success = jsonReq.UpdateString("PrimaryPhone.FreeFormNumber","(555) 555-5555") success = jsonReq.UpdateString("CompanyName","King Groceries") success = jsonReq.UpdateString("BillAddr.CountrySubDivisionCode","CA") success = jsonReq.UpdateString("BillAddr.City","Mountain View") success = jsonReq.UpdateString("BillAddr.PostalCode","94042") success = jsonReq.UpdateString("BillAddr.Line1","123 Main Street") success = jsonReq.UpdateString("BillAddr.Country","USA") success = jsonReq.UpdateString("GivenName","James") Dim sbRequestBody As Chilkat.StringBuilder Set sbRequestBody = Chilkat.NewStringBuilder success = jsonReq.EmitSb(sbRequestBody) success = rest.AddHeader("Content-Type","application/json") success = rest.AddHeader("Accept","application/json") rest.AllowHeaderFolding = False Dim sbResponseBody As Chilkat.StringBuilder Set sbResponseBody = Chilkat.NewStringBuilder success = rest.FullRequestSb("POST","/v3/company/<realmID>/customer",sbRequestBody,sbResponseBody) If (success <> True) Then Debug.Print rest.LastErrorText Exit Sub End If respStatusCode = rest.ResponseStatusCode ' Success is indicated by a 200 response status code. Debug.Print "response status code = "; respStatusCode Dim jsonResponse As Chilkat.JsonObject Set jsonResponse = Chilkat.NewJsonObject success = jsonResponse.LoadSb(sbResponseBody) jsonResponse.EmitCompact = False Debug.Print jsonResponse.Emit() If (rest.ResponseStatusCode <> 200) Then Debug.Print "Failed." Exit Sub End If ' 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-2022 Chilkat Software, Inc. All Rights Reserved.