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
(Swift 2) 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
func chilkatTest() { // 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. let jsonToken = CkoJsonObject() var success: Bool = jsonToken.LoadFile("qa_data/tokens/qb-access-token.json") let rest = CkoRest() // Connect to the REST server. var bTls: Bool = true var port: Int = 443 var bAutoReconnect: Bool = true var success: Bool = rest.Connect("sandbox-quickbooks.api.intuit.com", port: port, tls: bTls, autoReconnect: bAutoReconnect) let sbAuth = CkoStringBuilder() sbAuth.Append("Bearer ") 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 let jsonReq = CkoJsonObject() jsonReq.UpdateString("FullyQualifiedName", value: "King Groceries") jsonReq.UpdateString("PrimaryEmailAddr.Address", value: "jdrew@myemail.com") jsonReq.UpdateString("DisplayName", value: "King's Groceries") jsonReq.UpdateString("Suffix", value: "Jr") jsonReq.UpdateString("Title", value: "Mr") jsonReq.UpdateString("MiddleName", value: "B") jsonReq.UpdateString("Notes", value: "Here are other details.") jsonReq.UpdateString("FamilyName", value: "King") jsonReq.UpdateString("PrimaryPhone.FreeFormNumber", value: "(555) 555-5555") jsonReq.UpdateString("CompanyName", value: "King Groceries") jsonReq.UpdateString("BillAddr.CountrySubDivisionCode", value: "CA") jsonReq.UpdateString("BillAddr.City", value: "Mountain View") jsonReq.UpdateString("BillAddr.PostalCode", value: "94042") jsonReq.UpdateString("BillAddr.Line1", value: "123 Main Street") jsonReq.UpdateString("BillAddr.Country", value: "USA") jsonReq.UpdateString("GivenName", value: "James") let sbRequestBody = CkoStringBuilder() jsonReq.EmitSb(sbRequestBody) rest.AddHeader("Content-Type", value: "application/json") rest.AddHeader("Accept", value: "application/json") rest.AllowHeaderFolding = false let sbResponseBody = CkoStringBuilder() success = rest.FullRequestSb("POST", uriPath: "/v3/company/<realmID>/customer", requestBody: sbRequestBody, responseBody: sbResponseBody) if success != true { print("\(rest.LastErrorText)") return } var respStatusCode: Int = rest.ResponseStatusCode.intValue // Success is indicated by a 200 response status code. print("response status code = \(respStatusCode)") let jsonResponse = CkoJsonObject() jsonResponse.LoadSb(sbResponseBody) jsonResponse.EmitCompact = false print("\(jsonResponse.Emit())") if rest.ResponseStatusCode.intValue != 200 { print("Failed.") return } // 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" // } // var CustomerDomain: String? = jsonResponse.StringOf("Customer.domain") var CustomerPrimaryEmailAddrAddress: String? = jsonResponse.StringOf("Customer.PrimaryEmailAddr.Address") var CustomerDisplayName: String? = jsonResponse.StringOf("Customer.DisplayName") var CustomerCurrencyRefName: String? = jsonResponse.StringOf("Customer.CurrencyRef.name") var CustomerCurrencyRefValue: String? = jsonResponse.StringOf("Customer.CurrencyRef.value") var CustomerDefaultTaxCodeRefValue: String? = jsonResponse.StringOf("Customer.DefaultTaxCodeRef.value") var CustomerPreferredDeliveryMethod: String? = jsonResponse.StringOf("Customer.PreferredDeliveryMethod") var CustomerGivenName: String? = jsonResponse.StringOf("Customer.GivenName") var CustomerFullyQualifiedName: String? = jsonResponse.StringOf("Customer.FullyQualifiedName") var CustomerBillWithParent: Bool = jsonResponse.BoolOf("Customer.BillWithParent") var CustomerTitle: String? = jsonResponse.StringOf("Customer.Title") var CustomerJob: Bool = jsonResponse.BoolOf("Customer.Job") var CustomerBalanceWithJobs: Int = jsonResponse.IntOf("Customer.BalanceWithJobs").intValue var CustomerPrimaryPhoneFreeFormNumber: String? = jsonResponse.StringOf("Customer.PrimaryPhone.FreeFormNumber") var CustomerTaxable: Bool = jsonResponse.BoolOf("Customer.Taxable") var CustomerMetaDataCreateTime: String? = jsonResponse.StringOf("Customer.MetaData.CreateTime") var CustomerMetaDataLastUpdatedTime: String? = jsonResponse.StringOf("Customer.MetaData.LastUpdatedTime") var CustomerBillAddrCity: String? = jsonResponse.StringOf("Customer.BillAddr.City") var CustomerBillAddrCountry: String? = jsonResponse.StringOf("Customer.BillAddr.Country") var CustomerBillAddrLine1: String? = jsonResponse.StringOf("Customer.BillAddr.Line1") var CustomerBillAddrPostalCode: String? = jsonResponse.StringOf("Customer.BillAddr.PostalCode") var CustomerBillAddrCountrySubDivisionCode: String? = jsonResponse.StringOf("Customer.BillAddr.CountrySubDivisionCode") var CustomerBillAddrId: String? = jsonResponse.StringOf("Customer.BillAddr.Id") var CustomerMiddleName: String? = jsonResponse.StringOf("Customer.MiddleName") var CustomerNotes: String? = jsonResponse.StringOf("Customer.Notes") var CustomerActive: Bool = jsonResponse.BoolOf("Customer.Active") var CustomerBalance: Int = jsonResponse.IntOf("Customer.Balance").intValue var CustomerSyncToken: String? = jsonResponse.StringOf("Customer.SyncToken") var CustomerSuffix: String? = jsonResponse.StringOf("Customer.Suffix") var CustomerCompanyName: String? = jsonResponse.StringOf("Customer.CompanyName") var CustomerFamilyName: String? = jsonResponse.StringOf("Customer.FamilyName") var CustomerPrintOnCheckName: String? = jsonResponse.StringOf("Customer.PrintOnCheckName") var CustomerSparse: Bool = jsonResponse.BoolOf("Customer.sparse") var CustomerId: String? = jsonResponse.StringOf("Customer.Id") var time: String? = jsonResponse.StringOf("time") } |
© 2000-2024 Chilkat Software, Inc. All Rights Reserved.