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