Обзор

UserEcho предоставляет API, что позволяет выполнять все операции, доступные для пользователей и администраторов через веб-интерфейс и многое другое.

API состоит из базового и расширенного набора функций. Базовое API позволяет делать запросы на чтение. на текущий момент в стадии разработки, оно позволит делать операции записи.

Requests format

Все обращения к API должны совершаться по адресу:
https://[alias].userecho.com/api/v2/

Типовой формат запроса:
https://[alias].userecho.com/api/v2/[command].[format]?access_token=[api_token]
где:
[alias] - алиас Вашего проекта.
[command] - любая из поддерживаемых команд.
[format] - формат вывода. Мы поддерживаем json и xml .
[access_token] - Ваш токен доступа. Вы можете получить ключ по адресу Настройки->Дополнительно->API.

Вы должны заменить [user_id],[feedback_id],[forum_id],... соответствующими значениями

Формат ответов

Мы поддерживаем форматы выдачи JSON и XML. Если Вам небходим другой формат, запросите его на форуме поддержки. Замените [format] на json или xml.

Формат ответа

Ответ содержит "status" он может принимать значения "success" или "error". Если "status" равен "success" то вы получите данные в параметре "data". В случае ошибки, причина будет указана в параметре "message".

Параметр "details" может содержать дополнительную информацию. Например текущую страницу, количество данных, итд..

Дополнительные параметры

Мы поддерживаем постраничную выдачу данных во всех запросах. По умолчанию выдача во всех запросах ограничена 50-ю записями.
Для постраничной выдачи используются два параметра.
page - выберите страницу
limit - количество записей на странице

Пример запроса

Для примера получим список пользователей Вашего форума.
https://[alias].userecho.com/api/v2/users.json?access_token=[replace with access token] - возвращает всех пользователей. https://[alias].userecho.com/api/v2/users.json?page=11&limit=2&access_token=[replace with access token] - возвратит 11-ю страницу списка пользователей

{
    "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
    }
}
Пример ответа об ошибке
{
    "status": "fail",
    "message": "User doesn't exists"
}

Документация по всем функциям.