Endpoint GET /api/v1/tests/reports/pdf возвращает PDF-отчёт тестирования по uniqueId. В query нужно передать uniqueId, а lang можно передать для выбора языка PDF-отчёта. Перед выдачей PDF сервер проверяет, что отчёт принадлежит текущей компании.
Какой endpoint используется?
Используется GET /api/v1/tests/reports/pdf. Endpoint возвращает binary PDF file по уникальному идентификатору отчёта по тестированию.
| Параметр | Значение |
|---|---|
| Method | GET |
| Endpoint | /api/v1/tests/reports/pdf |
| Base URL | [https://smartway.pro](https://smartway.pro) |
| Auth | Bearer token |
Для чего используется этот API endpoint?
Endpoint используется для загрузки или открытия PDF-отчёта тестирования. Его применяют после получения uniqueId из списка отчётов по тестированию.
Какие предварительные условия нужны перед выполнением запроса?
-
Нужен Bearer token с company context.
-
Token должен содержать scope
tests.read. -
Нужен
uniqueIdотчёта по тестированию, принадлежащего текущей компании.
| Предусловие | Описание | Обязательно |
|---|---|---|
access_token |
Bearer token с company context | Да |
tests.read |
Scope для чтения отчётов по тестированию | Да |
uniqueId |
Уникальный идентификатор отчёта по тестированию | Да |
Какие параметры нужно передать в запросе?
Headers
| Header | Тип | Обязательно | Описание |
|---|---|---|---|
Authorization |
string | Да | Bearer token в формате Bearer <access_token> |
Accept |
string | Да | application/pdf |
Path parameters
Path parameters отсутствуют.
Query parameters
| Параметр | Тип | Обязательно | Описание |
|---|---|---|---|
uniqueId |
string | Да | Уникальный идентификатор отчёта по тестированию |
lang |
string | Нет | Язык PDF-отчёта; default en, доступные языки uk, ru, en |
Request body
Request body не используется.
curl-пример
curl -X GET 'https://smartway.pro/api/v1/tests/reports/pdf?uniqueId=abc12345&lang=ru' \
-H 'Authorization: Bearer <access_token>' \
-H 'Accept: application/pdf' \
--output test-report-abc12345.pdf
Какой ответ возвращает API?
Успешный запрос возвращает 200 OK и binary PDF file. Успешный ответ содержит Content-Type: application/pdf и Content-Disposition: inline; filename=test-report-<uniqueId>.pdf.
JSON response body не используется, потому что ответ является binary PDF file.
Что означают поля в ответе API?
Недостаточно данных для описания полей ответа.
Что происходит под капотом?
-
Перед выдачей PDF сервер проверяет, что отчёт принадлежит текущей компании.
-
Для доступа нужен scope
tests.read.
Какие edge cases нужно учитывать?
| Сценарий | Поведение API | Что сделать интегратору |
|---|---|---|
uniqueId не найден |
API возвращает 404 Not Found |
Проверить uniqueId из списка отчётов по тестированию |
| Отчёт не принадлежит текущей компании | API возвращает 404 Not Found |
Использовать только uniqueId, доступные в tenant-контексте текущей компании |
lang не передан |
API использует en |
Передать lang, если нужен другой язык PDF |
Какие ошибки может вернуть API?
| HTTP status | Описание |
|---|---|
401 Unauthorized |
Отсутствует или невалидный Bearer token |
403 Forbidden |
Недостаточно прав |
404 Not Found |
Отчёт не найден или не принадлежит текущей компании |
500 Internal Server Error |
Неожиданная ошибка |
503 Service Unavailable |
Сбой сервиса |
Как использовать результат в следующих API-запросах?
Значение uniqueId берётся из ответа POST /api/v1/tests/reports/search. Результат PDF-запроса нужно сохранять в файл или открывать как PDF-документ.
Пример получения uniqueId из списка отчётов:
curl -X POST 'https://smartway.pro/api/v1/tests/reports/search?lang=ru' \
-H 'Authorization: Bearer <access_token>' \
-H 'Accept: application/json' \
-H 'Content-Type: application/json' \
-d '{
"page": 0,
"size": 20,
"view": "all"
}'
Каких ошибок интегратору стоит избегать?
-
Передавать
uniqueId, который не принадлежит текущей компании. -
Не указывать
Accept: application/pdf. -
Ожидать JSON-ответ вместо binary PDF file.
-
Вызывать endpoint без scope
tests.read.
FAQ
Какой параметр обязателен?
Обязательный query parameter — uniqueId.
Какой язык PDF можно запросить?
Параметр lang поддерживает uk, ru, en; если его не передать, используется en.
Что возвращает API?
API возвращает binary PDF file с Content-Type: application/pdf.
Что будет, если отчёт не принадлежит компании?
API вернёт 404 Not Found.
Какой scope нужен?
Для доступа нужен scope tests.read.