B4X
B4X
QuickBooks - Create an Employee
See more QuickBooks Examples
Demonstrates how to send an JSON request to create a QuickBooks employeeChilkat B4X Downloads
Dim success As Boolean = False
' This example assumes the Chilkat API to have been previously unlocked.
' See Global Unlock Sample for sample code.
' Get our previously obtained OAuth2 access token, which should contain JSON like this:
' {
' "expires_in": 3600,
' "x_refresh_token_expires_in": 8726400,
' "refresh_token": "L011546037639r ... 3vR2DrbOmg0Sdagw",
' "access_token": "eyJlbmMiOiJBMTI4Q0 ... oETJEMbeggg",
' "token_type": "bearer"
' }
Dim jsonToken As ChilkatJsonObject
jsonToken.Initialize
success = jsonToken.LoadFile("qa_data/tokens/qb-access-token.json")
Dim rest As ChilkatRest
rest.Initialize("rest")
' Connect using TLS.
' A single REST object, once connected, can be used for many Quickbooks REST API calls.
' The auto-reconnect indicates that if the already-established HTTPS connection is closed,
' then it will be automatically re-established as needed.
Dim bAutoReconnect As Boolean = True
success = rest.Connect("sandbox-quickbooks.api.intuit.com", 443, True, bAutoReconnect)
If success <> True Then
Log(rest.LastErrorText)
Return
End If
Dim sbAuth As ChilkatStringBuilder
sbAuth.Initialize
sbAuth.Append("Bearer ")
sbAuth.Append(jsonToken.StringOf("access_token"))
rest.Authorization = sbAuth.GetAsString
' Create the following JSON:
' Use this online tool to generate code from sample JSON:
' Generate Code to Create JSON
' {
' "SSN": "444-55-6666",
' "PrimaryAddr": {
' "Id": "50",
' "Line1": "45 N. Elm Street",
' "City": "Middlefield",
' "CountrySubDivisionCode": "CA",
' "PostalCode": "93242"
' },
' "GivenName": "John",
' "FamilyName": "Meuller",
' "PrimaryPhone": {
' "FreeFormNumber": "408-525-1234"
' }
' }
'
Dim json As ChilkatJsonObject
json.Initialize
json.UpdateString("SSN", "444-55-6666")
json.UpdateString("PrimaryAddr.Id", "50")
json.UpdateString("PrimaryAddr.Line1", "45 N. Elm Street")
json.UpdateString("PrimaryAddr.City", "Middlefield")
json.UpdateString("PrimaryAddr.CountrySubDivisionCode", "CA")
json.UpdateString("PrimaryAddr.PostalCode", "93242")
json.UpdateString("GivenName", "John")
json.UpdateString("FamilyName", "Meuller")
json.UpdateString("PrimaryPhone.FreeFormNumber", "408-525-1234")
rest.AddHeader("Content-Type", "application/json")
rest.AddHeader("Accept", "application/json")
rest.AllowHeaderFolding = False
' The company ID is 123146096291789
Dim responseBody As String = rest.FullRequestString("POST", "/v3/company/123146096291789/employee?minorversion=45", json.Emit)
If rest.LastMethodSuccess <> True Then
Log(rest.LastErrorText)
Return
End If
' We should expect a 200 response if successful.
If rest.ResponseStatusCode <> 200 Then
Log("Request Header: ")
Log(rest.LastRequestHeader)
Log("----")
Log("Response StatusCode = " & rest.ResponseStatusCode)
Log("Response StatusLine: " & rest.ResponseStatusText)
Log("Response Header:")
Log(rest.ResponseHeader)
Log(responseBody)
Return
End If
Dim jsonResponse As ChilkatJsonObject
jsonResponse.Initialize
jsonResponse.Load(responseBody)
jsonResponse.EmitCompact = False
Log(jsonResponse.Emit)
Log("Success.")
' Use this online tool to generate parsing code from sample JSON:
' Generate Parsing Code from JSON
' A sample JSON response:
' {
' "Employee": {
' "SSN": "XXX-XX-XXXX",
' "PrimaryAddr": {
' "Id": "97",
' "Line1": "45 N. Elm Street",
' "City": "Middlefield",
' "CountrySubDivisionCode": "CA",
' "PostalCode": "93242"
' },
' "BillableTime": false,
' "domain": "QBO",
' "sparse": false,
' "Id": "59",
' "SyncToken": "0",
' "MetaData": {
' "CreateTime": "2016-10-25T14:05:05-07:00",
' "LastUpdatedTime": "2016-10-25T14:05:05-07:00"
' },
' "GivenName": "John",
' "FamilyName": "Meuller",
' "DisplayName": "John Meuller",
' "PrintOnCheckName": "John Meuller",
' "Active": true,
' "PrimaryPhone": {
' "FreeFormNumber": "408-525-1234"
' }
' },
' "time": "2016-10-25T14:05:05.661-07:00"
' }
'