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.
55 lines
2.6 KiB
55 lines
2.6 KiB
# REST API
|
|
|
|
## Авторизация
|
|
HTTP заголовок: Authorization: Token eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9
|
|
Токен возвращается в ответ на `/api/v1/api-token-auth/`
|
|
|
|
## Статус коды ответов
|
|
Успех: 2ХХ
|
|
Ошибка сервера: 5ХХ
|
|
Ошибка входящего запроса (включая ошибки бизнес-логики): 4ХХ
|
|
В ответе возвращается тип ошибки {"error": "ERROR_DESCRIPTION", code=HTTP_STATUS_CODE}
|
|
|
|
## Формат ответа
|
|
Ответ от сервера возвращается в 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
|
|
Управление уроками курсов.
|
|
|
|
### Payment(CoursePayment, SchoolPayment), AuthorBalance
|
|
Получение информации об оплатах и управление запросами на вывод
|
|
|
|
### Comment (CourseComment, LessonComment)
|
|
Управление комментариями(модерирование)
|
|
|
|
### Category
|
|
Управление справочником категорий курсов
|
|
|
|
### Subscription
|
|
Управление подписками и рассылками пользователям
|
|
|
|
|
|
_Форматы запросов и ответов будут подробно описываться с помощью автоматической документации Swagger Documentation Generator for Django REST Framework_
|
|
|