Sample code for 30+ languages & platforms
Java

QuickBooks - Create an Account

See more QuickBooks Examples

Demonstrates how to send an JSON request to create a QuickBooks account.

Chilkat Java Downloads

Chilkat2 Java
import com.chilkatsoft.chilkat2.ChilkatException;
import com.chilkatsoft.chilkat2.JsonObject;
import com.chilkatsoft.chilkat2.Rest;
import com.chilkatsoft.chilkat2.StringBuilder;

public class ChilkatExample {

    public static void main(String[] args) {
        // This example assumes the Chilkat API to have been previously unlocked.
        // See Global Unlock Sample for sample code.

        // First get our previously obtained OAuth2 access token.
        JsonObject jsonToken = new JsonObject();
        jsonToken.loadFile("qa_data/tokens/qb-access-token.json");

        Rest rest = new Rest();

        boolean bAutoReconnect = true;
        try {
            rest.connect("sandbox-quickbooks.api.intuit.com", 443, true, bAutoReconnect);
        } catch (ChilkatException e) {
            System.out.println(e.getLastErrorText());
            return;
        }

        StringBuilder sbAuth = new StringBuilder();
        sbAuth.append("Bearer ");
        sbAuth.append(jsonToken.stringOf("access_token"));
        rest.setAuthorization(sbAuth.getAsString());

        JsonObject jsonRequest = new JsonObject();
        jsonRequest.appendString("AccountType", "Credit Card");
        jsonRequest.appendString("Name", "Banana Republic");
        String requestBody = jsonRequest.emit();

        // "123146096291789" is the company ID.
        StringBuilder sbPath = new StringBuilder();
        sbPath.append("/v3/company/123146096291789/account?minorversion=45");

        rest.addHeader("Content-Type", "application/json");
        rest.addHeader("Accept", "application/json");
        rest.setAllowHeaderFolding(false);

        String responseBody;
        try {
            responseBody = rest.fullRequestString("POST", sbPath.getAsString(), requestBody);
        } catch (ChilkatException e) {
            System.out.println(e.getLastErrorText());
            return;
        }

        // We should expect a 200 response if successful.
        if (rest.getResponseStatusCode() != 200) {
            System.out.println("Request Header: ");
            System.out.println(rest.getLastRequestHeader());
            System.out.println("----");
            System.out.println("Response StatusCode = " + rest.getResponseStatusCode());
            System.out.println("Response StatusLine: " + rest.getResponseStatusText());
            System.out.println("Response Header:");
            System.out.println(rest.getResponseHeader());
            System.out.println(responseBody);
            return;
        }

        JsonObject jsonResponse = new JsonObject();
        jsonResponse.load(responseBody);
        jsonResponse.setEmitCompact(false);
        System.out.println(jsonResponse.emit());
        System.out.println("Success.");

        // A sample JSON response:

        // Use this online tool to generate parsing code from sample JSON:
        // Generate Parsing Code from JSON

        // {
        //   "Account": {
        //     "Name": "Banana Republic",
        //     "SubAccount": false,
        //     "FullyQualifiedName": "Banana Republic",
        //     "Active": true,
        //     "Classification": "Liability",
        //     "AccountType": "Credit Card",
        //     "AccountSubType": "CreditCard",
        //     "CurrentBalance": 0,
        //     "CurrentBalanceWithSubAccounts": 0,
        //     "CurrencyRef": {
        //       "value": "USD",
        //       "name": "United States Dollar"
        //     },
        //     "domain": "QBO",
        //     "sparse": false,
        //     "Id": "97",
        //     "SyncToken": "0",
        //     "MetaData": {
        //       "CreateTime": "2016-10-25T05:07:12-07:00",
        //       "LastUpdatedTime": "2016-10-25T05:07:12-07:00"
        //     }
        //   },
        //   "time": "2016-10-25T05:07:11.714-07:00"
        // }
    }
}