Sample code for 30+ languages & platforms
Java

QuickBooks - Create an Employee

See more QuickBooks Examples

Demonstrates how to send an JSON request to create a QuickBooks employee

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.

        // 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"
        // }

        JsonObject jsonToken = new JsonObject();
        jsonToken.loadFile("qa_data/tokens/qb-access-token.json");

        Rest rest = new 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.
        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());

        // 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"
        //   }
        // }
        //
        JsonObject json = new JsonObject();
        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.setAllowHeaderFolding(false);

        // The company ID is 123146096291789
        String responseBody;
        try {
            responseBody = rest.fullRequestString("POST", "/v3/company/123146096291789/employee?minorversion=45", json.emit());
        } 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.");

        // 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"
        // }
        //
    }
}