Большая задача
Требования и описание 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" }
Протестируйте API согласно списку проверок в чек-листе. При выполнении запросов используйте данные своей учётной записи в Заголовке Authorization с типом Basic Auth (см. пример в предыдущей задаче).
Не забывайте сверять информационные ответы сервера с фактическим изменением данных заказа, вызывая запрос подробной информации по идентификатору заказа.
При желании, дополните чек-лист собственными проверками, например, используя тестирование методом чёрного ящика, убедитесь, что все диапазоны значений соответствуют требованиям.
Уровень повышен!