C#
C#
Quickbooks Delete an Invoice
See more QuickBooks Examples
Demonstrates how to delete an invoice using the Quickbooks REST API.Chilkat C# Downloads
bool success = 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.
Chilkat.JsonObject jsonToken = new Chilkat.JsonObject();
success = jsonToken.LoadFile("qa_data/tokens/qb-access-token.json");
Chilkat.Rest rest = new Chilkat.Rest();
// Connect to the REST server.
bool bTls = true;
int port = 443;
bool bAutoReconnect = true;
success = rest.Connect("sandbox-quickbooks.api.intuit.com",port,bTls,bAutoReconnect);
Chilkat.StringBuilder sbAuth = new Chilkat.StringBuilder();
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
Chilkat.JsonObject jsonReq = new Chilkat.JsonObject();
jsonReq.UpdateString("SyncToken","3");
jsonReq.UpdateString("Id","33");
Chilkat.StringBuilder sbRequestBody = new Chilkat.StringBuilder();
jsonReq.EmitSb(sbRequestBody);
rest.AddHeader("Content-Type","application/json");
rest.AddHeader("Accept","application/json");
rest.AllowHeaderFolding = false;
Chilkat.StringBuilder sbResponseBody = new Chilkat.StringBuilder();
success = rest.FullRequestSb("POST","/v3/company/<realmID>/invoice?operation=delete",sbRequestBody,sbResponseBody);
if (success != true) {
Debug.WriteLine(rest.LastErrorText);
return;
}
int respStatusCode = rest.ResponseStatusCode;
// Success is indicated by a 200 response status code.
Debug.WriteLine("response status code = " + Convert.ToString(respStatusCode));
Chilkat.JsonObject jsonResponse = new Chilkat.JsonObject();
jsonResponse.LoadSb(sbResponseBody);
jsonResponse.EmitCompact = false;
Debug.WriteLine(jsonResponse.Emit());
if (rest.ResponseStatusCode != 200) {
Debug.WriteLine("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
// {
// "Invoice": {
// "status": "Deleted",
// "domain": "QBO",
// "Id": "33"
// },
// "time": "2013-03-15T00:18:15.322-07:00"
// }
//
string InvoiceStatus = jsonResponse.StringOf("Invoice.status");
string InvoiceDomain = jsonResponse.StringOf("Invoice.domain");
string InvoiceId = jsonResponse.StringOf("Invoice.Id");
string time = jsonResponse.StringOf("time");