GET /v1/tests/{testId} повертає детальну інформацію про тест, якщо він доступний поточній компанії та не є integrated synthetic-тестом SCORM/CMI5/xAPI.
Endpoint
| Метод | URL |
|---|---|
| GET | https://smartway.pro/api/v1/tests/{testId} |
Призначення
Отримати налаштування конкретного тесту: активність, кількість питань, таймер, унікальність, валідацію та прохідний бал.
Передумови
| Вимога | Значення |
|---|---|
| Авторизація | Authorization: Bearer <access_token> |
| Scope | tests.read |
| Tenant context | Пошук виконується в межах tenant context з Bearer token |
Запит
Path parameters
| Параметр | Тип | Обов’язковий | Опис |
|---|---|---|---|
testId |
int64 | так | ID тесту |
curl приклад
curl -X GET 'https://smartway.pro/api/v1/tests/200001' \
-H 'Authorization: Bearer <access_token>' \
-H 'Accept: application/json'
Відповідь
Успішна відповідь: 200 OK.
{
"testId": 200001,
"name": "Adaptive Sales",
"active": true,
"companyOwned": true,
"questionCount": 12,
"timerEnabled": true,
"timerMinutes": 10,
"uniquenessEnabled": true,
"uniquenessQuestionCount": 25,
"validationEnabled": true,
"passingScore": 75
}
Поля відповіді
| Поле | Тип | Опис |
|---|---|---|
testId |
int64 | ID тесту |
name |
string | Назва тесту |
active |
boolean | Ознака активності тесту |
companyOwned |
boolean | true, якщо тест належить поточній компанії |
questionCount |
int32 | Кількість питань у тесті |
timerEnabled |
boolean | Чи ввімкнений таймер |
timerMinutes |
int32 | Тривалість таймера у хвилинах |
uniquenessEnabled |
boolean | Чи ввімкнена унікальність питань |
uniquenessQuestionCount |
int32 | Кількість унікальних питань |
validationEnabled |
boolean | Чи ввімкнена валідація результату |
passingScore |
int32 | Прохідний бал |
Бізнес-логіка
-
API шукає тест у межах tenant context з Bearer token.
-
Якщо тест недоступний поточній компанії, API повертає
404 Not Found. -
Integrated synthetic-тести SCORM/CMI5/xAPI через цей endpoint не повертаються.
Edge cases
| Сценарій | Поведінка API |
|---|---|
| Тест недоступний поточній компанії | 404 Not Found |
testId належить integrated synthetic-тесту SCORM/CMI5/xAPI |
404 Not Found |
| Налаштування таймера, унікальності, валідації або прохідного балу не застосовуються | Відповідні поля можуть бути null |
Помилки
| HTTP status | Причина |
|---|---|
| 401 Unauthorized | Відсутній або невалідний Bearer token |
| 403 Forbidden | Недостатньо прав |
| 404 Not Found | Тест не знайдено, він недоступний поточному tenant-у або це integrated synthetic-тест |
| 500 Internal Server Error | Неочікувана помилка LMS Smart Way |
| 503 Service Unavailable | Збій внутрішньої інтеграції LMS Smart Way |
Використання
Використовуйте endpoint після GET /v1/tests, щоб отримати деталі конкретного тесту перед створенням запрошення або аналізом налаштувань.
Типові помилки
| Помилка | Як уникнути |
|---|---|
Використання testId, недоступного поточній компанії |
Отримуйте testId через GET /v1/tests |
| Обробка nullable-полів як обов’язкових | Перевіряйте null для налаштувань тесту |
FAQ
Чому API повертає 404 Not Found для існуючого testId?
Тест може бути недоступний поточній компанії або належати до integrated synthetic-тестів SCORM/CMI5/xAPI.
Чи всі налаштування тесту завжди заповнені?
Ні. Частина налаштувань може бути null.