Знакомство с API
API Студенты.онлайн — это интерфейс, который позволяет получать и изменять информацию Вашей базы данных в "студентах", с помощью http запросов к серверу системы.
Получение и отправка данных происходит через вызов методов сервера, посредством http запросов, в то время как сами методы представляют собой условные команды, которые соответствуют той или иной операции с базой данных — получение информации, запись или удаление.
Все методы разделены на секции(модули). Например, для авторизации и работы с токенами Вам нужны методы секции Auth, для работы со списком учеников - Students, и так далее. Полный список секций доступен на этой странице, в панели навигации, а на странице каждой секции приведён список доступных в ней методов.
В целях ускорения работы и сокращения количества запросов, один http запрос может содержать данные для последовательного вызова нескольких методов. Это достигается через передачу, в теле запроса, массива json-объектов, в каждом из которых должны быть указаны: идентификатор метода и передаваемые параметры. В ответе на http запрос сервер поместит результаты всех вызванных методов в том же порядке, в котором они были указаны в теле запроса.
Структура запроса
В тело POST http запроса нужно поместить json-массив json-объектов, артибутами которых указать идентификаторы методов и передаваемые параметры.
Идентификатор метода имеет вид "названиеCекции/названиеМетода" (регистр символов не имеет значения). Например, для вызова метода авторизации Login, который находится в секции Auth, идентификатором будет строка:
Чтобы вызвать метод авторизации, нужно сформировать пакет следующим образом:
|
Структура ответа
В ответе сервер вернёт, аналогично запросу, json-массов json-объектов, в котором, по каждому запрошенному методу будут перечислены:
method |
Идентификатор запрашиваемого метода
Строка, обязательный аттрибут
|
data |
Переданные параметры, при наличии
|
resultStatus |
Информация о состоянии выполнении метода. Возможные варианты:
Целочисленное, обязательный аттрибут
|
resultStatusText |
Текстовая отладочная информация об ошибке (например: "Unknown
module")
|
result |
Результат выполнения метода. Может содаржить как json-массив
обектов, так и json-объект, в зависимости от метода.
|
Пример запроса и ответа на вызов метода getParamsCount из секции lessonsMarksList:
|
|
Выполнение методов
Все http запросы выполняются методом POST, по адресу точки входа API. В теле запроса нужно поместить json-массива json-объектов, описывающих путь к методу и передаваемые параметры.
Точка входа API:
https://api.stonline.club
Существуют методы, не требующие авторизации. Их можно вызывать напрямую из точки входа. Для методов, требующих авторизации, нужно получить token авторизации, с помощью метода Login, секции Auth, а затем передать его GET параметром token, при обращении к точке входа API, например:
Точка входа API + token:
https://api.stonline.club/?token=d765387407957642b2314c026789fac99b45cde5f84392e674
В случае, если GET параметр для token использовать не очень удобно или просто не хочется, параметр token можно разместить прямо в теле первого метода запроса, например:
|