Методы:
Методы вызываются через HTTP при помощи методов GET или POST.
Используется адрес следующего вида:
http://<адрес-сервера>/<контроллер>.<метод>?<параметры>
Пример вызова метода:
http://localhost:8080/user.register?email=test@test.ru&password=123456Aa
Ответы отдаются в формате JSON. Каждый ответ содержит поле status
, которое содержит статус ответа.
Если ответ успешен, то API возвращает код HTTP 200 OK
, а поле status
принимает значение "success"
.
Результат выполнения метода указан в поле result
, он может принимать любой поддерживаемый JSON тип данных:
число, строку, массив или объект.
Пример успешного ответа:
{
"status": "success",
"result": {
"user_id": 1,
"password_check_status": "good"
}
}
Если запрос завершился с ошибкой, то поле status
принимает значение "error"
.
Ошибка указана в поле error
, которое представляет собой объект с полем code
, содержащим
числовой код ошибки, и полем message
, содержащем строку с текстом ошибки.
Пример ответа с ошибкой:
{
"status": "error",
"error": {
"code": 5,
"message": "Parameter email expected to be a valid e-mail address"
}
}
Регистрирует нового пользователя с указанной электронной почтой, авторизованного указанным паролем.
Параметр | Тип параметра | Описание параметра | Обязательный |
---|---|---|---|
string (length 1-320) | E-mail пользователя | Да | |
password | string | Пароль пользователя | Да |
Возвращает объект со следующими полями:
user_id
, в котором содержится ID только что созданного пользователя;password_check_status
, которое может принимать значениеgood
иperfect
в зависимости от надёжности пароля.
Сложность пароля:
good
— состоит хотя бы из 8 символов, содержит хотя бы одну цифру, одну строчную и одну заглавную букву;perfect
— состоит хотя бы из 16 символов, содержит, помимо прочего, хотя бы один специальный символ.
Пример ответа:
{
"status": "success",
"result": {
"user_id": 1,
"password_check_status": "perfect"
}
}
Помимо общих ошибок, у данного метода есть следующие коды ошибок:
Код | Описание ошибки | Пример возникновения |
---|---|---|
7 | Пользователь уже зарегистрирован | Пользователь с указанным e-mail уже существует |
8 | Слишком слабый пароль | Указан пароль, состоящий менее чем из 8 символов, либо не содержащий цифр, заглавных или строчных букв |
Авторизует пользователя по указанному e-mail и паролю.
Параметр | Тип параметра | Описание параметра | Обязательный |
---|---|---|---|
string (length 1-320) | E-mail пользователя | Да | |
password | string | Пароль пользователя | Да |
Возвращает объект, содержащий JWT в поле access_token
.
Пример ответа:
{
"status": "success",
"result": {
"access_token": "eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJpYXQiOjAsIm5iZiI6MCwiZXhwIjoxMDAsInVzZXJJZCI6MSwiZWFzdGVyRWdnIjoiZ2xhZCB5b3UgZm91bmQgaXQhIn0.B2Ejs0jMaJVHIznZXphMsYkuXX1A0kml5ilP09gC_Wk"
}
}
Помимо общих ошибок, у данного метода есть следующие коды ошибок:
Код | Описание ошибки | Пример возникновения |
---|---|---|
9 | Неверный пароль | Указан неверный пароль для пользователя |
Проверяет авторизацию пользователя по указанному access_token
.
Параметр | Тип параметра | Описание параметра | Обязательный |
---|---|---|---|
access_token | string | JWT токена, полученный из метода user.authorize |
Да |
Возвращает объект, содержащий в поле user_id
уникальный ID пользователя.
Пример ответа:
{
"status": "success",
"result": {
"user_id": 1
}
}
Помимо общих ошибок, у данного метода есть следующие коды ошибок:
Код | Описание ошибки | Пример возникновения |
---|---|---|
10 | Недействительный токен доступа | Указан истёкший или некорректный токен доступа |
Код | Описание ошибки | Пример возникновения |
---|---|---|
1 | Не указан метод | Обращение к «корневому каталогу» API |
2 | Не найден контроллер | Обращение к несуществующему контроллеру |
3 | Не найден метод | Обращение к несуществующему методу какого-либо контроллера |
4 | Не указан обязательный параметр | Не указан параметр email в методе user.register |
5 | Неверный формат параметра | В параметре email указан некорректный e-mail адрес |
6 | Модель не найдена | Не найден пользователь с указанным email |
255 | Внутренняя ошибка сервиса | Ошибка в файле конфигурации |