На основании профиля API, который вы подготовили в третьей части Проекта, команда разработки подготовила коллекцию запросов для сервиса «Метрики телеканала». Разработчик добавил в неё URL сервиса, параметры запросов и примеры ответов в формате JSON.
В этой части проекта вам предстоит выполнить два задания:
Проверить эту коллекцию на соответствие составленному вами профилю API.
Редактировать профиль API или саму коллекцию не требуется. Если API немного отличается от профиля, это не критично. Такие изменения могут вноситься в процессе разработки.
Самостоятельно собрать коллекцию под запрос клиента.
Задание 1
Откройте Postman. С ним вы уже работали в рамках спринта и домашнего задания.
Познакомьтесь с переменными коллекции (variables) — это фиксированные значения, которые использует коллекция. Например, переменной dateFrom соответствует значение 2023-01-20T00:00:00. Это значит, что если в запросе указать параметр со значением dateFrom, то при выполнении запроса этот параметр примет значение, которое было задано в переменной. Для обозначения переменной используются двойные фигурные кавычки.
Запрос:
GET /statistics?date=dateFrom
превратится в запрос:
GET /statistics?date=2023-01-20T00:00:00
В коллекции вы найдёте шесть запросов. Эти запросы предоставляют данные, которые хотят получить представители телеканала «Пейзаж ТВ».
Как и в домашнем задании вы можете ознакомиться с документацией и выполнить каждый запрос. В этом задании вам не нужно устанавливать особые условия окружения, поэтому в поле «Environment» необходимо выставить значение «No environment».
Обратите внимание, что в работе вы используете мок-сервер, который не имеет бэкэнда. Все ответы на запросы хранятся на сервере в виде JSON и не обрабатываются бэкендом. Поэтому в случае, если в параметрах запроса допущена ошибка, запрос может отработать некорректно. Чтобы избежать таких ситуаций, используется только те параметры и их значения, которые указаны в документации.
Выполните каждый запрос и найдите в ответе информацию, которая соответствует деталям профиля API.
Например, для выполнения запроса «Статистика просмотра телеканала пользователем» требуется три обязательных параметра. Значения этих параметров являются переменными dateFrom, dateTo, userId. В ответе на этот запрос должна быть предоставлена информация сколько раз и как долго пользователь смотрел телеканал. Эта информация содержится в объекте “viewingDetails”. Количество просмотров соответствует объекту “viewingCount”, а длительность просмотра содержится в объекте “viewingTime”.
Обратите внимание, что в запросе «Кол-во пользователей по периодам» при выборе режима hourly (отображение просмотров по часам) вам потребуется самостоятельно изменить значение параметров запроса:
параметр dateFrom должен соответствовать переменной dateHourFrom.
параметр dateTo должен соответствовать переменной dateHourTo.
Задание 2
После того как вы проверили запросы на соответствие профилю API, клиент обратился к вам с дополнительной задачей:
«В API сейчас есть все нужные запросы, это хорошо. Но мы хотим вывести на отдельный экран информацию о количестве пользователей, которые смотрели наш канал за определённый период, какие оценки они поставили, и сколько из них добавили наш канал в Избранное и не удалили его за это время. Не могли бы вы собрать для нас нужные запросы, которые эту информацию предоставят?»
Текущее API позволяет получить эту информацию. Вам необходимо выбрать запросы API, которые могут дать нужную информацию, и их параметры. Выбранные запросы нужно собрать в отдельную коллекцию и проверить её выполнение.
В коллекции уже прописаны основные переменные: адрес сервера (metricsServer), идентификатор канала (channelId). Но вам нужно добавить еще две: dateFrom и dateTo. Скопируйте значения этих переменных из основной коллекции.
Помните, что в работе вы используете мок-сервер, который не имеет бэкэнда. Все ответы на запросы хранятся на сервере в виде JSON и не обрабатываются бэкендом. Важно скопировать значение переменных из основной коллекции. Если использовать другие значения, ответ придёт с ошибкой.
Не забудьте сохранить внесённые изменения.
Добавьте в коллекцию «Part 4 Collection» те запросы, которые необходимы для решения задачи клиента. Для этого определите запросы, которые вам нужны, создайте их копию и перетащите в коллекцию «Part 4 Collection».
Чтобы создать копию запроса, необходимо в меню выбрать поле Duplicate.
Скопированный запрос перетащите в коллекцию «Part 4 Collection» и отредактируйте название метода.
Когда все нужные запросы окажутся в новой коллекции, проведите проверку. Убедитесь, что все параметры запросов соответствуют задаче клиента. Если вы внесли изменения в запрос или его параметры, не забудьте сохранить их.
Далее запустите всю коллекцию целиком. Для этого в меню выберите Run collection.
В открывшемся окне в разделе «Run order» проверьте последовательность вызова запросов. При необходимости скорректируйте её. И запустите коллекцию.
На экране появится результат запуска коллекции. Задание выполнено успешно, если все запросы отработали корректно, получен валидный ответ и параметры запросов соответствуют задаче. Сделайте скриншот получившегося результата.
Если хотя бы один из запросов отработал с результатом «Fail», проверьте корректность запросов и параметров.
Сохраните результаты выполнения задания в папке на Яндекс.Диск:
a. Скриншот с результатом запуска коллекции
b. Коллекцию с запросами, которую вы сформировали. Для этого в меню коллекции выберите пункт «Export» и экспортируйте коллекцию. Полученный файл в формате JSON добавьте в папку вашего проекта.
Остановитесь на секунду и осознайте, что вы — великолепны!