B4X
B4X
Quickbooks Delete an Invoice
See more QuickBooks Examples
Demonstrates how to delete an invoice using the Quickbooks REST API.Chilkat B4X Downloads
Dim success As Boolean = False
' 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 ChilkatJsonObject
jsonToken.Initialize
success = jsonToken.LoadFile("qa_data/tokens/qb-access-token.json")
Dim rest As ChilkatRest
rest.Initialize("rest")
' Connect to the REST server.
Dim bTls As Boolean = True
Dim port As Int = 443
Dim bAutoReconnect As Boolean = True
success = rest.Connect("sandbox-quickbooks.api.intuit.com", port, bTls, bAutoReconnect)
Dim sbAuth As ChilkatStringBuilder
sbAuth.Initialize
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:
' {
' "SyncToken": "3",
' "Id": "33"
' }
'
' Use the this online tool to generate the code from sample JSON:
' Generate Code to Create JSON
Dim jsonReq As ChilkatJsonObject
jsonReq.Initialize
jsonReq.UpdateString("SyncToken", "3")
jsonReq.UpdateString("Id", "33")
Dim sbRequestBody As ChilkatStringBuilder
sbRequestBody.Initialize
jsonReq.EmitSb(sbRequestBody)
rest.AddHeader("Content-Type", "application/json")
rest.AddHeader("Accept", "application/json")
rest.AllowHeaderFolding = False
Dim sbResponseBody As ChilkatStringBuilder
sbResponseBody.Initialize
success = rest.FullRequestSb("POST", "/v3/company/<realmID>/invoice?operation=delete", sbRequestBody, sbResponseBody)
If success <> True Then
Log(rest.LastErrorText)
Return
End If
Dim respStatusCode As Int = rest.ResponseStatusCode
' Success is indicated by a 200 response status code.
Log("response status code = " & respStatusCode)
Dim jsonResponse As ChilkatJsonObject
jsonResponse.Initialize
jsonResponse.LoadSb(sbResponseBody)
jsonResponse.EmitCompact = False
Log(jsonResponse.Emit)
If rest.ResponseStatusCode <> 200 Then
Log("Failed.")
Return
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
' {
' "Invoice": {
' "status": "Deleted",
' "domain": "QBO",
' "Id": "33"
' },
' "time": "2013-03-15T00:18:15.322-07:00"
' }
'
Dim InvoiceStatus As String = jsonResponse.StringOf("Invoice.status")
Dim InvoiceDomain As String = jsonResponse.StringOf("Invoice.domain")
Dim InvoiceId As String = jsonResponse.StringOf("Invoice.Id")
Dim time As String = jsonResponse.StringOf("time")