API Мои занятия

API Мои занятия — это интерфейс, который позволяет получать и изменять информацию и содержимое вашего профиля в системе Мои занятия, с помощью http запросов.

Получение и отправка данных происходит через вызов методов сервера, посредством http запросов, в то время как сами методы представляют собой условные команды, которые соответствуют той или иной операции с базой данных — получение информации, запись или удаление.

Все методы разделены на секции(модули). Например, для авторизации и работы с токенами Вам нужны методы секции Auth. Полный список секций доступен на этой странице, в панели навигации, а на странице каждой секции приведён список доступных в ней методов.

Структура запроса

В тело POST http запроса нужно поместить json-объект, артибутами которого указать идентификатор метода и передаваемые параметры.

Идентификатор метода имеет вид "названиеCекции/названиеМетода" (регистр символов не имеет значения). Например, для вызова метода авторизации Login, который находится в секции Auth, идентификатором будет строка:

"auth/login"

Чтобы вызвать метод авторизации, нужно сформировать пакет следующим образом:

Пример тела запроса
{
        "method" : "auth/login",
        "data" : {
            "email": "***",
            "password" : "***"
        }
}

Структура ответа

В ответе сервер вернёт, аналогично запросу, json-объект, в котором будут атрибуты:

Результат запроса:
status
Информация о состоянии выполнении метода. Возможные варианты:
  1. Метод выполнен успешно;
  2. Неклассифицированная ошибка;
  3. Запрашиваемый метод не найден;
  4. Ошибка валидации входных параметров;
  5. Некорректная структура запроса;
  6. Запрашиваемый ресурс не найден;
  7. Выполнение метода временно запрещено для IP адреса или пользователя;
Целочисленное, обязательный аттрибут
errorText
Текстовая отладочная информация об ошибке (например: "Unknown module")
Строка
validationSummary
Текстовое описание всех ошибок валидации, если ошибка содержалась в одном из переданных атрибутов запроса
Строка
validationErrorDetails
Текстовое описание ошибок валидации по каждому полю. Ключами объекта являются названия аттрибутов, чьи значения были некорректны, а значениями атрибутов будут массивы строк с текстовыми описаниями ошибки.
json-объект
data
Результат выполнения метода. Может содержать как json-массив обектов, так и json-объект, в зависимости от метода.

Пример запроса и ответа на вызов метода getParamsCount из секции user:

Пример запроса
[
    {
        "method" : "user/GetParamsCount"
    }
]
Пример ответа
[
    {
        "status": 1,
        "result": {
            "count": "4"
        }
    }
]

Выполнение методов

Все http запросы выполняются методом POST, по адресу точки входа API. В теле запроса нужно json-объектов, описывающих путь к методу и передаваемые параметры.

Точка входа API:

https://api.my-lessons.ru/v3

Существуют методы, не требующие авторизации. Их можно вызывать напрямую из точки входа. Для методов, требующих авторизации, нужно получить token авторизации, с помощью метода Login, секции Auth, а затем передать его атрибутом token, при обращении к точке входа API, например:

Размещение token в теле метода
{
    "method":"payments/get-user-balance-in-school",

    "data":{
        "orderId":"7f421aa9-30c0-4b3b-8a5b-e2bd8e3f09a6",
        "schoolId": "2701a454-12ed-492c-816a-516756a9ee1c"
    },

    "token":"747ac2ef-33b1-4deb-bdb6-c6c6fec3801e"
}