You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
61 lines
3.1 KiB
61 lines
3.1 KiB
#REST API
|
|
|
|
##Авторизация
|
|
HTTP заголовок: Authorization: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9
|
|
Токен возвращается в ответ на `/auth`
|
|
|
|
##Статус коды ответов
|
|
Успех: 2ХХ Ошибка сервера: 5ХХ Ошибка входящего запроса (включая ошибки бизнес-логики): 4ХХ В ответе возвращается тип ошибки {"error": "E_VALIDATION"}
|
|
|
|
##Общие ошибки:
|
|
|
|
* E_VALIDATION Ошибка входящих параметров
|
|
* E_SESSION_EXPIRED Сессия истекла, пользователя нужно направить на форму авторизации
|
|
* E_TOKEN Неправильно сформирован токен
|
|
* E_AUTH Неправильный логин или пароль
|
|
* E_NOT_FOUND Сущность не найдена
|
|
* E_ACCESS Не достаточно прав для просмотра
|
|
|
|
##Формат ответа
|
|
Ответ от сервера возвращается в JSON. Значение null описывает не установленное значение имеющегося поле. В UI должно выводиться как «Не установлено», прочерк и тп, в инпутах каститься в пустую строку
|
|
|
|
##Работа с файлами
|
|
Работа с файлами происходит единообразно в данных формы (multipart/form-data):
|
|
|
|
* загрузка/обновление: POST/PUT {param: text, ..., file: file}
|
|
* удаление: PUT {param: text, ..., file: ''}
|
|
* обновление без изменения файла: PUT {param: text, ...}
|
|
|
|
|
|
## CRUD endpoints
|
|
|
|
Каждая из сущностей, представленных ниже, имеет стандартные точки доступа:
|
|
* `GET /entity` Получить список всех сущностей
|
|
* `POST /entity` Добавить новую сущность
|
|
* `GET /entity/:id` Получить подробную информацию о сущности
|
|
* `PUT /entity/:id` Обновить информацию
|
|
* `DELETE /entity/:id` Удалить сущность
|
|
|
|
### User
|
|
Управление пользователями
|
|
|
|
### Course
|
|
Управление курсами
|
|
|
|
### Lesson
|
|
Управление уроками курсов. Является вложенной сущностью от Course
|
|
|
|
### Payment, AuthorBalance
|
|
Получение информации об оплатах и управление запросами на вывод
|
|
|
|
### Comment
|
|
Управление комментариями(модерирование)
|
|
|
|
### Category
|
|
Управление справочником категорий курсов
|
|
|
|
### Subscription
|
|
Управление подписками и рассылками пользователям
|
|
|
|
|
|
_Форматы запросов и ответов будут подробно описываться с помощью автоматической документации Swagger Documentation Generator for Django REST Framework_ |