UserEcho provides an API that lets you perform all the operations available to users and admins via WEB interface and more. API consists of the Base API and Advanced API. Base API - allows read access to data. currently in development, will give you access to create and maintain objects.
REMEMBER! You should never provide any links with support agent's access token to end users. You will provide to the user all the same access as your support agents have! In this case all your content can be downloaded or even deleted by the user. Instead of it you can use anonymous access token in combination with user's SSO token or provide a proxy link (without access token) to your side and make request from your server-side to hidden the access token from users.
All calls to the API must be made at:
https://[alias].userecho.com/api/v2/
Typical call format is:
https://[alias].userecho.com/api/v2/[command].[format]?access_token=[api_token]
where:
[alias] - your project alias.
[command] - any of the supported commands from list below.
[format] - output format. We support json and xml.
[access_token] - Your access token key. You can get key under Setup->Advanced features->API.
You should replace the [user_id],[feedback_id],[forum_id],... with suitable values
We support JSON and XML response formats. Feel free to request what's you need at our support forum. Replace [format] with json or xml.
Response has parameter "status" that can be "success" or "error". If "status" is "success" than requested information will be in parameter "data". Other way error will be described in parameter "message".
Also parameter "details" may be available with some additional information. For example, current page, count items, etc..
We support pagination in all requests. By default all queries limited to 50 records.
For pagination we use two params.
page - select page
limit - limit records on page
Let's suppose than we need get users of your support forum.
https://[alias].userecho.com/api/v2/users.json?access_token=[replace with access token] - return all users.
https://[alias].userecho.com/api/v2/users.json?page=11&limit=2&access_token=[replace with access token] - return 11th page of user list
{
"status": "success",
"data": [
{
"rating": 23,
"display_name": "Best user",
"avatar_url": "https://secure.gravatar.com/avatar/09b4a1f47e5d064b5344c7e6433dd751?default=https%3A%2F%2Fcdn.userecho.com%2Fimages%2Fno_avatar_48.jpg&s=48",
"updates_count": 1,
"id": 7966,
"is_staff": false,
"last_activity": "2013-12-01T20:51:10.895Z",
"date_joined": "2013-12-01T20:51:10.895Z"
},
{
"rating": 6,
"display_name": "MARK3906",
"avatar_url": "https://secure.gravatar.com/avatar/92eedc79ef0eb55e8868f808157360b7?default=https%3A%2F%2Fcdn.userecho.com%2Fimages%2Fno_avatar_48.jpg&s=48",
"updates_count": 1,
"id": 7967,
"is_staff": false,
"last_activity": "2013-12-01T20:51:16.254Z",
"date_joined": "2013-12-01T20:51:16.254Z"
}
],
"details": {
"count": 78,
"limit": 2,
"from": 21,
"page": 11
}
}
Example of error response
{
"status": "fail",
"message": "User doesn't exists"
}