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 3,4,5...) 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.string(of: "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.update("FullyQualifiedName", value: "King Groceries") jsonReq.update("PrimaryEmailAddr.Address", value: "jdrew@myemail.com") jsonReq.update("DisplayName", value: "King's Groceries") jsonReq.update("Suffix", value: "Jr") jsonReq.update("Title", value: "Mr") jsonReq.update("MiddleName", value: "B") jsonReq.update("Notes", value: "Here are other details.") jsonReq.update("FamilyName", value: "King") jsonReq.update("PrimaryPhone.FreeFormNumber", value: "(555) 555-5555") jsonReq.update("CompanyName", value: "King Groceries") jsonReq.update("BillAddr.CountrySubDivisionCode", value: "CA") jsonReq.update("BillAddr.City", value: "Mountain View") jsonReq.update("BillAddr.PostalCode", value: "94042") jsonReq.update("BillAddr.Line1", value: "123 Main Street") jsonReq.update("BillAddr.Country", value: "USA") jsonReq.update("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.string(of: "Customer.domain") var CustomerPrimaryEmailAddrAddress: String? = jsonResponse.string(of: "Customer.PrimaryEmailAddr.Address") var CustomerDisplayName: String? = jsonResponse.string(of: "Customer.DisplayName") var CustomerCurrencyRefName: String? = jsonResponse.string(of: "Customer.CurrencyRef.name") var CustomerCurrencyRefValue: String? = jsonResponse.string(of: "Customer.CurrencyRef.value") var CustomerDefaultTaxCodeRefValue: String? = jsonResponse.string(of: "Customer.DefaultTaxCodeRef.value") var CustomerPreferredDeliveryMethod: String? = jsonResponse.string(of: "Customer.PreferredDeliveryMethod") var CustomerGivenName: String? = jsonResponse.string(of: "Customer.GivenName") var CustomerFullyQualifiedName: String? = jsonResponse.string(of: "Customer.FullyQualifiedName") var CustomerBillWithParent: Bool = jsonResponse.bool(of: "Customer.BillWithParent") var CustomerTitle: String? = jsonResponse.string(of: "Customer.Title") var CustomerJob: Bool = jsonResponse.bool(of: "Customer.Job") var CustomerBalanceWithJobs: Int = jsonResponse.int(of: "Customer.BalanceWithJobs").intValue var CustomerPrimaryPhoneFreeFormNumber: String? = jsonResponse.string(of: "Customer.PrimaryPhone.FreeFormNumber") var CustomerTaxable: Bool = jsonResponse.bool(of: "Customer.Taxable") var CustomerMetaDataCreateTime: String? = jsonResponse.string(of: "Customer.MetaData.CreateTime") var CustomerMetaDataLastUpdatedTime: String? = jsonResponse.string(of: "Customer.MetaData.LastUpdatedTime") var CustomerBillAddrCity: String? = jsonResponse.string(of: "Customer.BillAddr.City") var CustomerBillAddrCountry: String? = jsonResponse.string(of: "Customer.BillAddr.Country") var CustomerBillAddrLine1: String? = jsonResponse.string(of: "Customer.BillAddr.Line1") var CustomerBillAddrPostalCode: String? = jsonResponse.string(of: "Customer.BillAddr.PostalCode") var CustomerBillAddrCountrySubDivisionCode: String? = jsonResponse.string(of: "Customer.BillAddr.CountrySubDivisionCode") var CustomerBillAddrId: String? = jsonResponse.string(of: "Customer.BillAddr.Id") var CustomerMiddleName: String? = jsonResponse.string(of: "Customer.MiddleName") var CustomerNotes: String? = jsonResponse.string(of: "Customer.Notes") var CustomerActive: Bool = jsonResponse.bool(of: "Customer.Active") var CustomerBalance: Int = jsonResponse.int(of: "Customer.Balance").intValue var CustomerSyncToken: String? = jsonResponse.string(of: "Customer.SyncToken") var CustomerSuffix: String? = jsonResponse.string(of: "Customer.Suffix") var CustomerCompanyName: String? = jsonResponse.string(of: "Customer.CompanyName") var CustomerFamilyName: String? = jsonResponse.string(of: "Customer.FamilyName") var CustomerPrintOnCheckName: String? = jsonResponse.string(of: "Customer.PrintOnCheckName") var CustomerSparse: Bool = jsonResponse.bool(of: "Customer.sparse") var CustomerId: String? = jsonResponse.string(of: "Customer.Id") var time: String? = jsonResponse.string(of: "time") } |
© 2000-2024 Chilkat Software, Inc. All Rights Reserved.