Большая задача
Требования к 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.
Уровень повышен!