Большая задача
Требования к API
Межгалактический курьер должен иметь возможность:
-
Запросить список доступных для доставки заказов.
Доступными считаются только заказы в статусе
CREATED
(создан), заказы в других статусах не должны быть возвращены в ответе.Метод Эндпоинт Описание Пример запроса GET /deliveries
Получить информацию обо всех доставках в статусе создано. https://www.tester-today.com/postman-task/deliveries
Запросить подробную информацию о заказе по идентификатору заказа.
Ответ должен содержать описание заказа, имя и адрес отправителя и получателя, дополнительные поля опциональны.
Метод Эндпоинт Описание Пример запроса GET /deliveries/{id}
Получить информацию о доставке по идентификатору заказа. Идентификатор указывается в виде переменной пути. https://www.tester-today.com/postman-task/deliveries/1
Создать новый заказ.
Для каждого нового заказа на сервере должен быть сгенерирован уникальный идентификатор и установлен статус
CREATED
.Метод Эндпоинт Описание Пример запроса POST /deliveries
Создать новый заказ, данные заказа должны быть указаны в теле запроса в формате JSON:
Поле Тип Обязате-
льностьОграничения description строка + от 1 до 50 символов from.name строка + от 1 до 30 символов from.address строка + от 1 до 50 символов to.name строка + от 1 до 30 символов to.address строка + от 1 до 50 символов client_comment строка - до 50 символов courier_comment строка - до 50 символов https://www.tester-today.com/postman-task/deliveries
{ "description": "Пирожки", "from": { "name": "Мама кота-астронавта", "address": "Земля" }, "to": { "name": "Кот-астронавт", "address": "Марс, фабрика 1" } }
Обновить статус заказа по идентификатору заказа.
Метод Эндпоинт Описание Пример запроса PATCH /deliveries/{id}
Обновить статус заказа по идентификатору заказа в виде переменной пути. Новый статус задается в теле запроса в формате JSON:
Поле Тип Обязате-
льностьОграничения status строка + CREATED, IN_PROGRESS, DELIVERED, CANCELLED courier_comment строка - до 50 символов https://www.tester-today.com/postman-task/deliveries/1
{ "status": "DELIVERED" }
Авторизация по JWT
Все запросы к API сервера должны выполняться с JWT токеном.
- Срок жизни токена: 30 минут.
- Запрос на получение токена отправляется через UI в Задаче.
- Токен должен передаваться в заголовке Authorization с типом Bearer Token.
Уровень повышен!