Методы:
Методы вызываются через HTTP при помощи методов GET или POST.
Используется адрес следующего вида:
http://<адрес-сервера>/<контроллер>.<метод>?<параметры>
Пример вызова метода:
http://localhost:8080/[email protected]&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 | Внутренняя ошибка сервиса | Ошибка в файле конфигурации |