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