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
(PHP Extension) Quickbooks Delete an InvoiceDemonstrates how to delete an invoice using the Quickbooks REST API. For more information, see https://www.developer.intuit.com/app/developer/qbo/docs/api/accounting/most-commonly-used/invoice#delete-an-invoice
<?php // The version number (9_5_0) should match version of the Chilkat extension used, omitting the micro-version number. // For example, if using Chilkat v9.5.0.48, then include as shown here: include("chilkat_9_5_0.php"); // 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. $jsonToken = new CkJsonObject(); $success = $jsonToken->LoadFile('qa_data/tokens/qb-access-token.json'); $rest = new CkRest(); // Connect to the REST server. $bTls = true; $port = 443; $bAutoReconnect = true; $success = $rest->Connect('sandbox-quickbooks.api.intuit.com',$port,$bTls,$bAutoReconnect); $sbAuth = new CkStringBuilder(); $sbAuth->Append('Bearer '); $sbAuth->Append($jsonToken->stringOf('access_token')); $rest->put_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 $jsonReq = new CkJsonObject(); $jsonReq->UpdateString('SyncToken','3'); $jsonReq->UpdateString('Id','33'); $sbRequestBody = new CkStringBuilder(); $jsonReq->EmitSb($sbRequestBody); $rest->AddHeader('Content-Type','application/json'); $rest->AddHeader('Accept','application/json'); $rest->put_AllowHeaderFolding(false); $sbResponseBody = new CkStringBuilder(); $success = $rest->FullRequestSb('POST','/v3/company/<realmID>/invoice?operation=delete',$sbRequestBody,$sbResponseBody); if ($success != true) { print $rest->lastErrorText() . "\n"; exit; } $respStatusCode = $rest->get_ResponseStatusCode(); // Success is indicated by a 200 response status code. print 'response status code = ' . $respStatusCode . "\n"; $jsonResponse = new CkJsonObject(); $jsonResponse->LoadSb($sbResponseBody); $jsonResponse->put_EmitCompact(false); print $jsonResponse->emit() . "\n"; if ($rest->get_ResponseStatusCode() != 200) { print 'Failed.' . "\n"; exit; } // 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" // } // $InvoiceStatus = $jsonResponse->stringOf('Invoice.status'); $InvoiceDomain = $jsonResponse->stringOf('Invoice.domain'); $InvoiceId = $jsonResponse->stringOf('Invoice.Id'); $time = $jsonResponse->stringOf('time'); ?> |
© 2000-2024 Chilkat Software, Inc. All Rights Reserved.