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
(AutoIt) 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. $oJsonToken = ObjCreate("Chilkat.JsonObject") Local $bSuccess = $oJsonToken.LoadFile("qa_data/tokens/qb-access-token.json") $oRest = ObjCreate("Chilkat.Rest") ; Connect to the REST server. Local $bTls = True Local $iPort = 443 Local $bAutoReconnect = True Local $bSuccess = $oRest.Connect("sandbox-quickbooks.api.intuit.com",$iPort,$bTls,$bAutoReconnect) $oSbAuth = ObjCreate("Chilkat.StringBuilder") $oSbAuth.Append("Bearer ") $oSbAuth.Append($oJsonToken.StringOf("access_token")) $oRest.Authorization = $oSbAuth.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 $oJsonReq = ObjCreate("Chilkat.JsonObject") $oJsonReq.UpdateString("FullyQualifiedName","King Groceries") $oJsonReq.UpdateString("PrimaryEmailAddr.Address","jdrew@myemail.com") $oJsonReq.UpdateString("DisplayName","King's Groceries") $oJsonReq.UpdateString("Suffix","Jr") $oJsonReq.UpdateString("Title","Mr") $oJsonReq.UpdateString("MiddleName","B") $oJsonReq.UpdateString("Notes","Here are other details.") $oJsonReq.UpdateString("FamilyName","King") $oJsonReq.UpdateString("PrimaryPhone.FreeFormNumber","(555) 555-5555") $oJsonReq.UpdateString("CompanyName","King Groceries") $oJsonReq.UpdateString("BillAddr.CountrySubDivisionCode","CA") $oJsonReq.UpdateString("BillAddr.City","Mountain View") $oJsonReq.UpdateString("BillAddr.PostalCode","94042") $oJsonReq.UpdateString("BillAddr.Line1","123 Main Street") $oJsonReq.UpdateString("BillAddr.Country","USA") $oJsonReq.UpdateString("GivenName","James") $oSbRequestBody = ObjCreate("Chilkat.StringBuilder") $oJsonReq.EmitSb($oSbRequestBody) $oRest.AddHeader("Content-Type","application/json") $oRest.AddHeader("Accept","application/json") $oRest.AllowHeaderFolding = False $oSbResponseBody = ObjCreate("Chilkat.StringBuilder") $bSuccess = $oRest.FullRequestSb("POST","/v3/company/<realmID>/customer",$oSbRequestBody,$oSbResponseBody) If ($bSuccess <> True) Then ConsoleWrite($oRest.LastErrorText & @CRLF) Exit EndIf Local $iRespStatusCode = $oRest.ResponseStatusCode ; Success is indicated by a 200 response status code. ConsoleWrite("response status code = " & $iRespStatusCode & @CRLF) $oJsonResponse = ObjCreate("Chilkat.JsonObject") $oJsonResponse.LoadSb($oSbResponseBody) $oJsonResponse.EmitCompact = False ConsoleWrite($oJsonResponse.Emit() & @CRLF) If ($oRest.ResponseStatusCode <> 200) Then ConsoleWrite("Failed." & @CRLF) Exit EndIf ; 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" ; } ; Local $sCustomerDomain = $oJsonResponse.StringOf("Customer.domain") Local $sCustomerPrimaryEmailAddrAddress = $oJsonResponse.StringOf("Customer.PrimaryEmailAddr.Address") Local $sCustomerDisplayName = $oJsonResponse.StringOf("Customer.DisplayName") Local $sCustomerCurrencyRefName = $oJsonResponse.StringOf("Customer.CurrencyRef.name") Local $sCustomerCurrencyRefValue = $oJsonResponse.StringOf("Customer.CurrencyRef.value") Local $sCustomerDefaultTaxCodeRefValue = $oJsonResponse.StringOf("Customer.DefaultTaxCodeRef.value") Local $sCustomerPreferredDeliveryMethod = $oJsonResponse.StringOf("Customer.PreferredDeliveryMethod") Local $sCustomerGivenName = $oJsonResponse.StringOf("Customer.GivenName") Local $sCustomerFullyQualifiedName = $oJsonResponse.StringOf("Customer.FullyQualifiedName") Local $bCustomerBillWithParent = $oJsonResponse.BoolOf("Customer.BillWithParent") Local $sCustomerTitle = $oJsonResponse.StringOf("Customer.Title") Local $bCustomerJob = $oJsonResponse.BoolOf("Customer.Job") Local $iCustomerBalanceWithJobs = $oJsonResponse.IntOf("Customer.BalanceWithJobs") Local $sCustomerPrimaryPhoneFreeFormNumber = $oJsonResponse.StringOf("Customer.PrimaryPhone.FreeFormNumber") Local $bCustomerTaxable = $oJsonResponse.BoolOf("Customer.Taxable") Local $sCustomerMetaDataCreateTime = $oJsonResponse.StringOf("Customer.MetaData.CreateTime") Local $sCustomerMetaDataLastUpdatedTime = $oJsonResponse.StringOf("Customer.MetaData.LastUpdatedTime") Local $sCustomerBillAddrCity = $oJsonResponse.StringOf("Customer.BillAddr.City") Local $sCustomerBillAddrCountry = $oJsonResponse.StringOf("Customer.BillAddr.Country") Local $sCustomerBillAddrLine1 = $oJsonResponse.StringOf("Customer.BillAddr.Line1") Local $sCustomerBillAddrPostalCode = $oJsonResponse.StringOf("Customer.BillAddr.PostalCode") Local $sCustomerBillAddrCountrySubDivisionCode = $oJsonResponse.StringOf("Customer.BillAddr.CountrySubDivisionCode") Local $sCustomerBillAddrId = $oJsonResponse.StringOf("Customer.BillAddr.Id") Local $sCustomerMiddleName = $oJsonResponse.StringOf("Customer.MiddleName") Local $sCustomerNotes = $oJsonResponse.StringOf("Customer.Notes") Local $bCustomerActive = $oJsonResponse.BoolOf("Customer.Active") Local $iCustomerBalance = $oJsonResponse.IntOf("Customer.Balance") Local $sCustomerSyncToken = $oJsonResponse.StringOf("Customer.SyncToken") Local $sCustomerSuffix = $oJsonResponse.StringOf("Customer.Suffix") Local $sCustomerCompanyName = $oJsonResponse.StringOf("Customer.CompanyName") Local $sCustomerFamilyName = $oJsonResponse.StringOf("Customer.FamilyName") Local $sCustomerPrintOnCheckName = $oJsonResponse.StringOf("Customer.PrintOnCheckName") Local $bCustomerSparse = $oJsonResponse.BoolOf("Customer.sparse") Local $sCustomerId = $oJsonResponse.StringOf("Customer.Id") Local $sTime = $oJsonResponse.StringOf("time") |
© 2000-2024 Chilkat Software, Inc. All Rights Reserved.