Skip to content

Latest commit

 

History

History
197 lines (138 loc) · 8.82 KB

API.md

File metadata and controls

197 lines (138 loc) · 8.82 KB

Документация по методам API

Методы:


Вызов методов

Методы вызываются через 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"
  }
}

User

user.register

Регистрирует нового пользователя с указанной электронной почтой, авторизованного указанным паролем.

Параметры

Параметр Тип параметра Описание параметра Обязательный
email 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 символов, либо не содержащий цифр, заглавных или строчных букв

user.authorize

Авторизует пользователя по указанному e-mail и паролю.

Параметры

Параметр Тип параметра Описание параметра Обязательный
email string (length 1-320) E-mail пользователя Да
password string Пароль пользователя Да

Результат

Возвращает объект, содержащий JWT в поле access_token.

Пример ответа:

{
  "status": "success",
  "result": {
    "access_token": "eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJpYXQiOjAsIm5iZiI6MCwiZXhwIjoxMDAsInVzZXJJZCI6MSwiZWFzdGVyRWdnIjoiZ2xhZCB5b3UgZm91bmQgaXQhIn0.B2Ejs0jMaJVHIznZXphMsYkuXX1A0kml5ilP09gC_Wk"
  }
}

Коды ошибок

Помимо общих ошибок, у данного метода есть следующие коды ошибок:

Код Описание ошибки Пример возникновения
9 Неверный пароль Указан неверный пароль для пользователя

user.feed

Проверяет авторизацию пользователя по указанному 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 Внутренняя ошибка сервиса Ошибка в файле конфигурации