translate5 provides a REST API to create, read and manipulate all stored data. REST is a HTTP based, resource oriented architecture.
For further information see: http://en.wikipedia.org/wiki/Representational_state_transfer
The data format is JSON. On PUT requests not all data fields must be given, only the fields with changed data are sufficient.
Currently the JSON can not be transferred as raw HTTP content, but must be put into a form variable named "data". In future plain JSON will be possible too!
Therefore the HTTP Header Content-Type must be: "application/x-www-form-urlencoded; charset=UTF-8". The form-data body should look like:
The whole JSON string must be URL-encoded, since the content-type "application/x-www-form-urlencoded" requires that.
To see the use of the REST API in action, a developer may have a look on the way translate5 JS-GUI frontend uses the REST API through tools like Firebug. This way it is easy for a programmer, to understand the way it works and to see, which values are used for which resources in which situations.
All GET calls without an ID provide a list of resources. With the GET Parameter “filter” this list can be filtered. In general all fields are filterable. Exceptions in single cases.
For all requests the authenticated user must have the right to access the resource in the requested context.
A dynamic authentication via API is implemented with the "Session"-resource.
Editor only usage
Please note, that via API translate5 can be integrated in "Editor only usage", meaning that you can use only the editing component of translate5 and do the user management and task management elsewhere. Please see here.