Test API

API сервиса «Управление платформой» для управления своим профилем, телеканалами и группами пользователей
Профиль пользователя

Аутентификация, регистрация, действия с профилем пользователя

Аутентификация пользователя
POST /auth/signIn

Authentication

Open

Аутентификация пользователя

Request body

Object
login
string required

Логин (электронная почта)

Min length: 1
Max length: 255
Pattern: /^[\w-\.]+@([\w-]+\.)+[\w-]{2,4}$/g
password
string required

Пароль

Min length: 12
Pattern: Пароль содержит хотя бы одно число; пароль содержит хотя бы один спецсимвол (!@#$-.%^&*); пароль содержит хотя бы одну латинскую букву в нижнем регистре; пароль содержит хотя бы одну латинскую букву в верхнем регистре; пароль содержит не менее 12 вышеупомянутых символов

Responses

200 SuccessSignInResponse

Ответ, возвращаемый методами авторизации пользователя и обновления accessToken, в случае успешного выполнения запроса.

Body
Object
accessToken
string

Access Token

refreshToken
string

Refresh Token

400 InvalidCredentialsError

Ошибка, возвращаемая в случае несоответствия пары логина (адреса электронной почты) и пароля учетной записи.

400 ValidationFieldsError

Ошибка возвращается в случае, когда входные данные не проходят валидацию.

429 TooManyUnsucsessfulSignInError

Ошибка, возвращаемая в случае определенного количества запросов на авторизацию пользователя с некорректным сочетанием логина и пароля учетной записи.

Регистрация пользователя
POST /auth/reg

Authentication

Open

Регистрация пользователя (в ответ - два токена)

Request body

Object
login
string required

Логин (электронная почта)

Min length: 1
Max length: 255
Pattern: /^[\w-\.]+@([\w-]+\.)+[\w-]{2,4}$/g
password1
string required

Пароль

Min length: 12
Pattern: Пароль содержит хотя бы одно число; пароль содержит хотя бы один спецсимвол (!@#$-.%^&*); пароль содержит хотя бы одну латинскую букву в нижнем регистре; пароль содержит хотя бы одну латинскую букву в верхнем регистре; пароль содержит не менее 12 вышеупомянутых символов.
password2
string required

Пароль

Min length: 12
Pattern: Пароль содержит хотя бы одно число; пароль содержит хотя бы один спецсимвол (!@#$-.%^&*); пароль содержит хотя бы одну латинскую букву в нижнем регистре; пароль содержит хотя бы одну латинскую букву в верхнем регистре; пароль содержит не менее 12 вышеупомянутых символов.
name
string required

Имя пользователя

Min length: 1
Max length: 255
Pattern: "/ [\p{L}\p{P}\p{S}\d\s]/gu"
surname
string

Фамилия

Min length: 1
Max length: 255
Pattern: "/ [\p{L}\p{P}\p{S}\d\s]/gu"
patronymic
string

Отчество

Min length: 1
Max length: 255
Pattern: "/ [\p{L}\p{P}\p{S}\d\s]/gu"
organization
string required

Организация

Min length: 1
Max length: 255
Pattern: "/ [\p{L}\p{P}\p{S}\d\s]/gu"
position
string

Должность

Min length: 1
Max length: 255
Pattern: "/ [\p{L}\p{P}\p{S}\d\s]/gu"

Responses

200 SuccessSignInResponse

Ответ, возвращаемый методами авторизации пользователя и обновления accessToken, в случае успешного выполнения запроса.

Body
Object
email
string

Логин (электронная почта)

name
string

Имя пользователя

surname
string

Фамилия

patronymic
string

Отчество

organization
string

Организация

position
string

Должность

accessToken
string

Access Token

refreshToken
string

Refresh Token

400 ValidationFieldsError

Ошибка возвращается в случае, когда входные данные не проходят валидацию.

400 DataAlreadyInUse

Ошибка возвращается в случае, когда указанный email уже используется в системе.

Обновить Access Token
GET /auth/refresh

Метод, необходимый для обновления пары accessToken и refreshToken после истечения срока действия

Request parameters

refreshToken
string required

Токен, служащий для обновления accessToken, выданного в результате выполнения метода авторизации пользователя.

Responses

200 SuccessSignInResponse

Ответ, возвращаемый методами авторизации пользователя и обновления accessToken, в случае успешного выполнения запроса.

Body
Object
accessToken
string

accessToken

400 EncodedTokenValidationError

Ошибка, возвращаемая в случае несоответствия JWT токена в зашифрованном виде заданному регулярному выражению.

403 AccessDeniedError

Ошибка, возвращаемая в случае несоответствия прав пользователя или системы на работу с указанными данными.

401 UnauthorizedRequestError

Ошибка, возвращаемая в случае отсутствия accessToken при выполнении запроса, либо когда accessToken просрочен.

Получить данные профиля
GET /profile

Authentication

Access token

Получить данные профиля, каналы пользователя, результирующие права (сгруппированные по телеканалам)

Responses

200 SuccessGetResponse

Ответ, возвращаемый в случае успешного выполнения запроса.

Body
Object
email
string required

Почта пользователя

name
string required

Имя пользователя

surname
string

Фамилия пользователя

patronymic
string

Отчество пользователя

organization
string required

Организация пользователя

position
string

Должность пользователя

photo
string

URI фотографии профиля

lastActivity
unknown

Дата и время последней активности пользователя (datetime)

channel[]
string

Мнемокоды каналов - массив

essence[]
string

Сущности - массив

rightsLevels[]
string

Уровени прав - массив

401 Unauthorized

Ошибка, возвращаемая в случае отсутствия accessToken, frontoffice или entryPoint при выполнении запроса, либо когда accessToken просрочен.

404 NotFound

Ошибка, возвращаемая в случае отсутствия записей в таблицах по идентификатору пользователя.

Редактировать профиль
PATCH /profile/update

Authentication

Access token

Добавить/изменить/удалить поля

Request body

Object
name
string

Имя пользователя

Min length: 1
Max length: 255
Pattern: "/ [\p{L}\p{P}\p{S}\d\s]/gu"
surname
string

Фамилия пользователя

Min length: 1
Max length: 255
Pattern: "/ [\p{L}\p{P}\p{S}\d\s]/gu"
patronymic
string

Отчество

Min length: 1
Max length: 255
Pattern: "/ [\p{L}\p{P}\p{S}\d\s]/gu"
organization
string

Организация

Min length: 1
Max length: 255
Pattern: "/ [\p{L}\p{P}\p{S}\d\s]/gu"
position
string

Должность

Min length: 1
Max length: 255
Pattern: "/ [\p{L}\p{P}\p{S}\d\s]/gu"
photo
string

URI фотографии профиля

Min length: 1
Max length: 1,024
Pattern: "/\w+:(\/?\/?)[^\s]+/g"

Responses

200 SuccessUpdateResponse

Ответ, возвращаемый методами редактирования профиля в случае успешного выполнения запроса.

Body
Object
name
string required

Имя пользователя

surname
string required

Фамилия пользователя

patronymic
string required

Отчество

organization
string required

Организация

position
string required

Должность

photo
string required

URI фотографии профиля

400 ValidationFieldsError

Ошибка возвращается в случае, когда входные данные не проходят валидацию.

401 Unauthorized

Ошибка, возвращаемая в случае отсутствия accessToken, frontoffice или entryPoint при выполнении запроса, либо когда accessToken просрочен.

Удалить профиль
DELETE /profile/delete

Authentication

Access token

Удаление учётной записи пользователя

Request body

Object
password
string required

Пароль пользователя

Min length: 12
Pattern: Пароль содержит хотя бы одно число; пароль содержит хотя бы один спецсимвол (!@#$-.%^&*); пароль содержит хотя бы одну латинскую букву в нижнем регистре; пароль содержит хотя бы одну латинскую букву в верхнем регистре; пароль содержит не менее 12 вышеупомянутых символов.

Responses

200 SuccessDeleteResponse

Ответ, возвращаемый методами удаления профиля в случае успешного выполнения запроса.

400 InvalidCredentialsError

Ошибка, возвращаемая в случае неверного пароля

424 FailedDependency

Ошибка, возвращаемая в случае, если данный профиль является владельцем канала

401 Unauthorized

Ошибка, возвращаемая в случае отсутствия accessToken, frontoffice или entryPoint при выполнении запроса, либо когда accessToken просрочен.

Изменить пароль
PATCH /profile/editPassword

Authentication

Access token

Пользователь может сбросить пароль учетной записи, установить новый пароль

Request body

Object
code
integer

Код подтверждения

newPassword1
string required

Новый пароль

Min length: 12
Pattern: Пароль содержит хотя бы одно число; пароль содержит хотя бы один спецсимвол (!@#$-.%^&*); пароль содержит хотя бы одну латинскую букву в нижнем регистре; пароль содержит хотя бы одну латинскую букву в верхнем регистре; пароль содержит не менее 12 вышеупомянутых символов.
newPassword2
string required

Новый пароль

Min length: 12
Pattern: Пароль содержит хотя бы одно число; пароль содержит хотя бы один спецсимвол (!@#$-.%^&*); пароль содержит хотя бы одну латинскую букву в нижнем регистре; пароль содержит хотя бы одну латинскую букву в верхнем регистре; пароль содержит не менее 12 вышеупомянутых символов.

Responses

200 SuccessUpdateResponse

Ответ, возвращаемый методами изменения пароля в случае успешного выполнения запроса.

400 InvalidCodeError

Ошибка, возвращаемая в случае неверного кода

400 InvalidCredentialsError

Ошибка, возвращаемая в случае несовпадения двух введённых паролей

400 ValidationFieldsError

Ошибка возвращается в случае, когда входные данные не проходят валидацию.

401 Unauthorized

Ошибка, возвращаемая в случае отсутствия accessToken, frontoffice или entryPoint при выполнении запроса, либо когда accessToken просрочен.

Подтвердить почту
POST /profile/confirmEmail

Authentication

Access token

Пользователь может подтвердить право использования адреса электронной почты, указав код подтверждения, отправленный на указанный адрес электронной почты

Request body

Object
code
string required

Код подтверждения

Responses

200 SuccessApproveResponse

Ответ, возвращаемый в случае успешного выполнения запроса.

Body
Object
email
string required

Почта пользователя

400 InvalidCodeError

Ошибка, возвращаемая в случае неверного кода

401 Unauthorized

Ошибка, возвращаемая в случае отсутствия accessToken, frontoffice или entryPoint при выполнении запроса, либо когда accessToken просрочен.

Телеканалы

Действия с телеканалами системы

Создать новый телеканал
POST /channel/create

Authentication

Access token

Создание нового телеканала

Request body

Object
name
string required

Наименование канала

mnemocode
string required

Мнемокод канала

id
integer

Идентификатор канала

Responses

201 SuccessCreatedResponse

Ответ, возвращаемый методами создания телеканала в случае успешного выполнения запроса.

Body
Object
name
string required

Наименование канала

mnemocode
string required

Мнемокод канала

id
integer required

Идентификатор канала

400 ValidationFieldsError

Ошибка возвращается в случае, когда входные данные не проходят валидацию.

400 DataAlreadyInUse

Ошибка, возвращаемая в случае, если данные дублируют уже существующие в системе

401 Unauthorized

Ошибка, возвращаемая в случае отсутствия accessToken, frontoffice или entryPoint при выполнении запроса, либо когда accessToken просрочен.

Получить данные телеканала
GET /channel/{id}

Authentication

Access token
reader
writer
moder

Получить данные телеканала

Path variables

id
integer required

Идентификатор телеканала

Responses

200 SuccessGetResponse

Ответ, возвращаемый в случае успешного выполнения запроса.

Body
Object
name
string required

Наименование телеканала

mnemocode
string required

Мнемокод телеканала

owner
integer required

Идентификатор пользователя владельца канала

dateOfChange
unknown required

Дата и время последнего редактирования канала (datetime)

editor
integer required

Идентификатор профиля последнего редактора канала

essences
Array required

Массив сущностей данных о канале (мнемокод сущности, содержание)

string
string
401 Unauthorized

Ошибка, возвращаемая в случае отсутствия accessToken, frontoffice или entryPoint при выполнении запроса, либо когда accessToken просрочен.

403 Forbidden

Ошибка, возвращаемая в случае, если недостаточно прав на данную операцию

Получить группы телеканала
GET /channel/getGroups/{id}

Authentication

Access token
moder

Получить все группы телеканала (мнемокоды) и составы групп

Path variables

id
integer required

Идентификатор телеканала

Responses

200 SuccessGetResponse

Ответ, возвращаемый в случае успешного выполнения запроса.

Body
Object
group1
string

Наименование группы 1

email1
string

Почта пользователя 1

name1
string

Имя пользователя 1

surname1
string

Фамилия пользователя 1

patronymic1
string

Отчество пользователя 1

organization1
string

Наименование организации пользователя 1

position1
string

Должность пользователя 1

lastActivity1
unknown

Дата и время последней активности пользователя 1 (datetime)

401 Unauthorized

Ошибка, возвращаемая в случае отсутствия accessToken, frontoffice или entryPoint при выполнении запроса, либо когда accessToken просрочен.

403 Forbidden

Ошибка, возвращаемая в случае, если недостаточно прав на данную операцию

Редактировать канал
PATCH /channel/update/{id}

Authentication

Access token
writer
moder

Редактировать название, мнемокод телеканала, сущности канала

Path variables

id
integer required

Идентификатор телеканала

Request body

Object
name
string

Наименование канала

mnemocode
string

Мнемокод канала

essence1
string

Сущность 1

content1
string

Новое содержание сущности 1

Responses

200 SuccessUpdateResponse

Ответ, возвращаемый методами редактирования телеканала в случае успешного выполнения запроса.

Body
Object
name
string required

Наименование канала

mnemocode
string required

Мнемокод канала

essence1
string required

Сущность 1

content1
string required

Содержание сущности 1

400 ValidationFieldsError

Ошибка возвращается в случае, когда входные данные не проходят валидацию.

401 Unauthorized

Ошибка, возвращаемая в случае отсутствия accessToken, frontoffice или entryPoint при выполнении запроса, либо когда accessToken просрочен.

403 Forbidden

Ошибка, возвращаемая в случае, если недостаточно прав на данную операцию

409 Conflict

Ошибка, возвращаемая в случае, если данные дублируют уже существующие в системе

Изменить владельца канала
PATCH /channel/changeOwner/{id}

Authentication

Access token
owner

Пользователь (аутентифицированный, являющийся владельцем телеканала) может изменить владельца телеканала, указав адрес электронной почты пользователя (Мб в update?)

Path variables

id
integer required

Идентификтор телеканала

Request body

Object
email
string required

Почта нового владельца канала

Responses

200 SuccessUpdateResponse

Ответ, возвращаемый методами редактирования канала в случае успешного выполнения запроса.

Body
Object
channel
string required

Мнемокод телеканала

owner
integer required

Идентификатор пользователя - нового владельца канала

400 ValidationFieldsError

Ошибка возвращается в случае, когда входные данные не проходят валидацию.

401 Unauthorized

Ошибка, возвращаемая в случае отсутствия accessToken, frontoffice или entryPoint при выполнении запроса, либо когда accessToken просрочен.

403 Forbidden

Ошибка, возвращаемая в случае, если недостаточно прав на данную операцию

422 UnprocessableEntity

Ошибка, возвращаемая в случае, если пользователя с таким email нет

Группы пользователей

Действия с группами пользователей

Создать новую группу
POST /channel/createGroup/{id}

Authentication

Access token
moder

Создание новой группы телеканала или вне каналов

Path variables

id
integer optional

Идентификатор телеканала

Request body

Object
name
string required

Наименование канала

channel
string

Мнемокод канала, к которому привязана группа

Responses

201 SuccessCreatedResponse

Ответ, возвращаемый методами создания группы в случае успешного выполнения запроса.

Body
Object
name
string required

Наименование канала

channel
string

Мнемокод канала, к которому привязана группа

400 ValidationFieldsError

Ошибка возвращается в случае, когда входные данные не проходят валидацию.

401 Unauthorized

Ошибка, возвращаемая в случае отсутствия accessToken, frontoffice или entryPoint при выполнении запроса, либо когда accessToken просрочен.

403 Forbidden

Ошибка, возвращаемая в случае, если недостаточно прав на данную операцию

Получить данные группы
GET /group

Authentication

Access token
reader
writer
moder

Получить данные группы пользователей

Responses

200 SuccessGetResponse

Ответ, возвращаемый в случае успешного выполнения запроса.

Body
Object
name
string required

Наименование группы

channel
integer

Идентификатор телеканала, к которому привязана группа

isDeleted
boolean required

Признак удалённости группы

dateOfChange
unknown required

Дата и время последнего редактирования группы (datetime)

editor
integer required

Идентификатор профиля последнего редактора группы

401 Unauthorized

Ошибка, возвращаемая в случае отсутствия accessToken, frontoffice или entryPoint при выполнении запроса, либо когда accessToken просрочен.

403 Forbidden

Ошибка, возвращаемая в случае, если недостаточно прав на данную операцию

Редактировать группу
PATCH /group/update/{id}

Authentication

Access token
moder

Редактировать название и разрешения группы (добавить или удалить разрешение)

Path variables

id
integer required

Идентификатор группы

Request body

Object
name
string

Наименование группы

essence
string

Сущность (мнемокод)

rightLevel
string

Уровень прав (мнемокод)

Responses

200 SuccessUpdateResponse

Ответ, возвращаемый методами редактирования группы в случае успешного выполнения запроса.

Body
Object
name
string required

Наименование группы

essence
string

Сущность (мнемокод)

rightLevel
string

Уровень прав (мнемокод)

400 ValidationFieldsError

Ошибка возвращается в случае, когда входные данные не проходят валидацию.

401 Unauthorized

Ошибка, возвращаемая в случае отсутствия accessToken, frontoffice или entryPoint при выполнении запроса, либо когда accessToken просрочен.

403 Forbidden

Ошибка, возвращаемая в случае, если недостаточно прав на данную операцию

409 Conflict

Ошибка, возвращаемая в случае, если права на данную сущность уже существуют (?)

Удалить группу
DELETE /group/delete/{id}

Authentication

Access token
moder

Удаление группы

Path variables

id
integer required

Идентификатор группы

Request body

Object
password
string required

Пароль пользователя

Responses

200 SuccessDeleteResponse

Ответ, возвращаемый методами удаления группы в случае успешного выполнения запроса.

400 ValidationFieldsError

ValidationFieldsError Ошибка возвращается в случае, когда входные данные не проходят валидацию.

400 InvalidCredentialsError

Ошибка, возвращаемая в случае ввода неверного пароля

401 Unauthorized

Ошибка, возвращаемая в случае отсутствия accessToken, frontoffice или entryPoint при выполнении запроса, либо когда accessToken просрочен.

403 Forbidden

Ошибка, возвращаемая в случае, если недостаточно прав на данную операцию

Восстановить группу
POST /group/restore/{id}

Authentication

Access token
moder

Восстановление группы

Path variables

id
integer required

Идентификатор группы

Responses

200 SuccessUpdateResponse

Ответ, возвращаемый методами редактирования группы в случае успешного выполнения запроса.

Body
Object
name
string required

Наименование группы (?)

401 Unauthorized

Ошибка, возвращаемая в случае отсутствия accessToken, frontoffice или entryPoint при выполнении запроса, либо когда accessToken просрочен.

403 Forbidden

Ошибка, возвращаемая в случае, если недостаточно прав на данную операцию

Проверить возможность добавления пользователя в группу
POST /group/canAddMember/{id}

Authentication

Access token
moder

Проверить признак возможности добавление пользователя в группу пользователей

Path variables

id
integer required

Идентификатор группы

Request body

Object
email
string required

Почта пользователя

Responses

201 SuccessCreatedResponse

Ответ, возвращаемый в случае успешного выполнения запроса.

Body
Object
canAddMember
boolean required

Признак возможности добавления пользователя в группу

400 ValidationFieldsError

Ошибка возвращается в случае, когда входные данные не проходят валидацию.

401 Unauthorized

Ошибка, возвращаемая в случае отсутствия accessToken, frontoffice или entryPoint при выполнении запроса, либо когда accessToken просрочен.

403 Forbidden

Ошибка, возвращаемая в случае, если недостаточно прав на данную операцию

Добавить пользователя в группу
POST /group/addMember/{id}

Authentication

Access token
moder

Добавить нового пользователя в группу пользователей

Path variables

id
integer required

Идентификатор группы

Request body

Object
email
string required

Почта пользователя

Responses

201 SuccessCreatedResponse

Ответ, возвращаемый методами редактирования группы в случае успешного выполнения запроса.

Body
Object
email
string required

Почта пользователя

400 ValidationFieldsError

Ошибка возвращается в случае, когда входные данные не проходят валидацию.

401 Unauthorized

Ошибка, возвращаемая в случае отсутствия accessToken, frontoffice или entryPoint при выполнении запроса, либо когда accessToken просрочен.

403 Forbidden

Ошибка, возвращаемая в случае, если недостаточно прав на данную операцию

422 UnprocessableEntity

Ошибка, возвращаемая в случае, если добавление этого email в группу недоступно

Удалить пользователя из группы
DELETE /group/deleteMember/{id}

Authentication

Access token
moder

Удалить пользователя из группы пользователей

Path variables

id
integer required

Идентификатор группы

Request body

Object
id
integer required

Идентификатор пользователя

Responses

201 SuccessDeleteResponse

Ответ, возвращаемый методами редактирования группы в случае успешного выполнения запроса.

400 ValidationFieldsError

Ошибка возвращается в случае, когда входные данные не проходят валидацию.

401 Unauthorized

Ошибка, возвращаемая в случае отсутствия accessToken, frontoffice или entryPoint при выполнении запроса, либо когда accessToken просрочен.

403 Forbidden

Ошибка, возвращаемая в случае, если недостаточно прав на данную операцию

422 UnprocessableEntity

Ошибка, возвращаемая в случае, если пользователя с таким email нет в группе

Проверить существование пользователя
POST /channel/checkMember/{id}

Authentication

Access token
owner

Пользователь (аутентифицированный, являющийся владельцем телеканала) может проверить существование пользователя с указанным адресом электронной почты (нужен id канала, где владелец?)

Path variables

id
integer required

Идентификатор телеканала

Request body

Object
email
string required

Почта пользователя

Responses

200 SuccessApproveResponse

Ответ, возвращаемый в случае успешного выполнения запроса.

Body
Object
isMemberExist
boolean required

Признак наличия пользователя

400 ValidationFieldsError

Ошибка возвращается в случае, когда входные данные не проходят валидацию.

401 Unauthorized

Ошибка, возвращаемая в случае отсутствия accessToken, frontoffice или entryPoint при выполнении запроса, либо когда accessToken просрочен.

403 Forbidden

Ошибка, возвращаемая в случае, если недостаточно прав на данную операцию

Проверить наличие прав на операцию
POST /channel/checkRights

Authentication

Access token

Пользователь, с помощью API, может проверить наличие или отсутствия права на выполнение операции, предоставив свои реквизиты, тип сущности (с которой планируется выполнение операции), уровень прав (необходимый для выполнения операции) и идентификатор телеканала (с данными которого планируется выполнение операции). (Мб в profile?)

Request body

Object
email
string required

Почта пользователя

essence
string required

Сущность (мнемокод)

rightsLevel
string required

Уровень прав (мнемокод)

channel
integer required

Идентификатор телеканала

Responses

200 SuccessApprovedResponse

Ответ, возвращаемый в случае успешного выполнения запроса.

Body
Object
hasRight
boolean required

Признак наличия прав на выполнение операции

400 ValidationFieldsError

Ошибка возвращается в случае, когда входные данные не проходят валидацию.

401 Unauthorized

Ошибка, возвращаемая в случае отсутствия accessToken, frontoffice или entryPoint при выполнении запроса, либо когда accessToken просрочен.

422 UnprocessableEntity

Ошибка, возвращаемая в случае, если указанных реквизитов пользователя либо канала нет в системе