POST /register
Request body
phone: string Должен быть уникальным. Формат: строго 12 символов +7XXXXXXXXXX, только цифры и знак + в начале строки.
password: string Пароль пользователя. Должен быть надёжным.
password_retype: string Подтверждение пароля. Должен совпадать с password.
Response 200 Успех
phone: string Номер телефона (идентификатор) созданного пользователя
400 Ошибка в переданных параметрах ErrorMessage: string Номер телефона уже существует; неверный формат; пароль ненадежный; пароли не совпадают
500 Ошибка сервера
POST /login
Request body
Phone: string Password: string
Response 200 Успех
Access: string Refresh: string
400 Ошибка в переданных данных 500 Ошибка сервера
POST /token/refresh
Request body Refresh: string
Response 200 Успех Access: string Refresh: string
401 Не авторизован refresh токен истек
500 Ошибка севера
(На уточнении) GET /register/confirm?phone={}&confirmation={} Код подтверждения приходит в смс по номеру телефона
Response 200 Успех 404 Параметры запроса неверные 500 Ошибка севера
(возможно будет реализовано позднее)
GET /api/parks/
появилась информация о ценах
GET /api/parks/{id}/
появилась информация о ценах
GET /api/parkings/ (записи о парковках сортируются по entry_time от самой новой до самой старой)
появился расчет цены, время теперь локальное (по местоположению паркинга) и UTC
POST api/entry-register/
Request body park: int car: string (номер машины)
Response 201 Created 400 Ошибка в переданных данных
POST api/checkout-register/
Request body park: int car: string
Response 201 Created 400 Ошибка в переданных данных
(сейчас может выполнить любой пользователь прошедший аутентификацию) (хозяином парковки устанавливается пользователь выполнивший запрос) POST /api/parks/create
Request body description: string place_count: int latitude: decimal (с точностью 6 знаков после запятой) longitude: decimal (с точностью 6 знаков после запятой)
опционально address: string web_address: string
Response 201 Created 400 Ошибка в переданных данных
GET /api/cars - отдает список машин пользователя
POST /api/cars /api/add-car/ - создает новую машину для пользователя
теперь обязательным является код подтверждения
PUT, PATCH, DELETE /api/cars/<номер машины (он же PK)> - редактирует, удалеят машину пользователя с переданным PK
список возможных значений для day_of_week:
- ALL = "All"
- WEEKEND = "Wkd"
- MONDAY = "Mon"
- THUESDAY = "Tue"
- WEDNESDAY = "Wed"
- THURSDAY = "Thu"
- FRIDAY = "Fri"
- SATURDAY = "Sat"
- SUNDAY = "Sun"
сначала выбирается цена по дню недели -> если такой нет -> WEEKEND (если выходной день) -> ALL (если нет не выбрано на предыдущих шагах)
POST /api/price - создает новую цену
PUT, PATCH, DELETE /api/price/ - редактируем, удаляем цену
get profile/ - отдает профиль пользователя
PATCH profile/ - редактирует профиль
На ендпоинтах отдающих коллекции подключена пагинация в стиле limit-offset
Пример:
Запрос /api/parkings/?limit=2&offset=3 отдаст 2 записи о парковках пользователя со смещением в 3 элемента от начала коллекции (т. е. запрос отдаст 4, 5 записи). Для получения последней записи достаточно установить параметру limit значение 1 (параметр offset можно опустить)
При использовании пагинации ответ выглядит следующим образом:




