v3.0 Overview

Overview

This document defines the Synergist XML/JSON API which is based on REST.

A request needs to include the parameters required for the action being taken. The Synergist username and password or session are always mandatory parameters. The API version number is a mandatory parameter.

For example:

GET /jsonapi/users.json?user=user&password=user&action=newsession&version=3

The above URL would create a new session for the user.

GET /jsonapi/system.json?user=user&password=user&action=version&version=3

The above URL would get system information.

General parameters for all requests:

parameterdescription
userSynergist login ID
passwordSynergist password
page (optional)Data page to return, page numbering starts at 0
rows (optional)Number of records/rows to return. 0 = return all rows
versionVersion of the API – currently 3
usernameAlternative Synergist username to use for data retrieval on behalf of a different user

XML Response

When a response is sent which contains multiple records, the root element of the XML tree will have the following attributes:

attributedescription
TotalRowsthis will be the total number of records/rows in the selection, regardless of page requested
TotalPagesthis will be the total number of pages available, based on the rows parameter supplied
MorePagesthis will be True if further pages of data are available or False if you have fetched the last page

In case of any error, the Synergist server will return an HTTP 404 error together with an XML structure containing the error details:

<Responses>
    <Error ErrorID="404500">
        <ErrorText>invalid action companylist</ErrorText>
    </Error>
</Responses>

The following errors are possible for all requests:

ErrorIDErrorText
404001no credentials supplied
404002invalid credentials supplied
404003account disabled
404004request not recognised

JSON Response

When a response is sent which contains multiple records, the root of the JSON string will have the following attributes:

attributedescription
totalrowsthis will be the total number of records/rows in the selection, regardless of page requested
totalpagesthis will be the total number of pages available, based on the rows parameter supplied
pagenumberthe current page returned in the set
pagerowsnumber of rows requested

A successful response will contain the following attributes at root level:

attributedescription
Successtrue
Responsemessagea context response message
Responsecoderesponse code indicator
Errormessageempty string
Errorcode0
Datathe root json element containing the data result rows

A response error will contain the following attributes at root level:-

attributedescription
Successfalse
Errormessageany error context message
Errorcoderesponse code indicator