HELP CENTER SMART WAY LMS

Знайдіть відповіді та корисні інструкції.

Перегляд за темами

Знайдіть потрібну інформацію за категоріями.

Популярні статті

Найпопулярніші матеріали довідкового центру.

LMS

Копіювання уроків

Щоб скопіювати урок з іншого курсу або поточного, натисніть кнопку "Скопіювати урок". Кнопка “Скопіювати урок”, візуально обʼєднана з кнопкою “Додати урок” та знаходиться під назвами уроків. Після того, як ви натиснете кнопку "Скопіювати урок": 1. Відкриється нове вікно, де потрібно вибрати, з якого курсу ви хочете скопіювати урок. 2. Після вибору курсу з'явиться ще одне поле, де потрібно вибрати конкретний урок для копіювання. 3. Після цього натисніть кнопку "Створити", і урок буде скопійовано. Кожна копія уроку має попередження вгорі редактора, яке говорить, що це копія. Якщо ви зміните контент цієї копії, зміни також відобразяться в усіх інших копіях. У попередженні також вказано список курсів, де знаходяться всі копії цього уроку. Зазвичай, коли ми змінюємо копію, ми хочемо, щоб зміни автоматично застосовувалися і до інших копій. Але іноді потрібно змінити тільки одну копію. У такому випадку цю копію треба зробити самостійним уроком, натиснувши кнопку "Зробити самостійним" у вікні попередження. Якщо ви видаляєте копію та у неї залишилася лише одна інша копія, то та копія стане самостійним уроком. Якщо ж є декілька копій, вони залишаться зв'язаними між собою. Попередження про те, що урок є копією, показується тільки в режимі редагування для адміністраторів. Учні, коли переглядають урок, цього повідомлення не бачать.

API документація

Як отримати access token

Access token потрібен для авторизації наступних API-запитів у LMS Smart Way. Після отримання токена ви передаєте його в заголовку Authorization з типом Bearer і використовуєте для звернення до доступних endpoint’ів відповідно до scope, які вкладені в токен. Ця стаття показує, як отримати токен, що саме повертає API у відповіді та на що звернути увагу перед інтеграцією. Якщо ви лише починаєте налаштування інтеграції, спочатку переконайтеся, що у вас є дійсний company_api_key. Передумови - У вас має бути дійсний company_api_key вашої компанії. - Запит на отримання токена потрібно виконувати на endpoint /api/v1/auth/token. - API key передається в заголовку X-API-Key. - Отриманий access token використовується лише для наступних викликів API і не замінює собою API key. Запит curl -X POST 'https://smartway.pro/api/v1/auth/token' \ -H 'X-API-Key: <company_api_key>' Успішна відповідь { "access_token": "<short_lived_jwt>", "token_type": "Bearer", "expires_in": 900, "scope": "academy.read academy.write employees.read employees.write tests.read tests.write files.read" } Зафіксовані правила відповіді - access_token — короткоживучий JWT для наступних викликів public API - token_type — завжди Bearer - expires_in — TTL у секундах - scope — space-delimited список scope-ів, вкладених у токен Що всередині access token - JWT містить claim companyId для tenant isolation. - JWT також містить claim hrEmail — email HRADMIN, який створив або ротував поточний активний API key компанії. - Якщо API key згенерує або ротуватиме інший HRADMIN, то нові токени вже міститимуть інший hrEmail, і саме він буде використовуватися для наступних employee write-операцій. Як використовувати access token у наступних запитах Після успішного отримання токена передавайте його в заголовку Authorization у форматі Bearer <access_token>. Саме цей токен використовується для авторизації подальших запитів до public API. Перед виконанням запиту перевіряйте, що токен ще не втратив чинність. Якщо строк дії завершився, отримайте новий access token повторним викликом endpoint’а авторизації.

LMS

Як забрати доступ до Академії або видалити співробітника

Цей гайд допоможе адміністратору в LMS платформі Smart Way вибрати правильну дію: тимчасово або назавжди забрати доступ до Академії, чи повністю видалити співробітника з платформи. Коли знімати доступ до Академії, а коли видаляти співробітника? Є два різні сценарії: | Ситуація | Що робити | | ---------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------- | | Співробітник більше не повинен навчатися в Академії, але його потрібно залишити у списку співробітників | Зніміть галочку "Надати доступ до Академії". | | Співробітник потрібен для інших задач, наприклад для збереження історії або психологічного тестування, але не повинен входити в Академію | Зніміть галочку "Надати доступ до Академії". | | Співробітник звільнився або його запис більше не потрібен у Smart Way | Виконайте повне видалення співробітника. | | Ви не впевнені, чи знадобляться дані співробітника в майбутньому | Спочатку зніміть доступ до Академії. Повне видалення використовуйте лише тоді, коли запис справді більше не потрібен. | Як забрати доступ до Академії без видалення співробітника? 1. Перейдіть до розділу "Співробітники". 2. Знайдіть потрібного співробітника через "Пошук по ПІБ", "Пошук за посадою" або "Пошук по відділу". 3. Натисніть на рядок зі співробітником, щоб відкрити його картку. 4. У вікні "Редагувати" знайдіть опцію "Надати доступ до Академії". 5. Зніміть галочку з цієї опції. 6. Натисніть "Зберегти". 7. Перевірте, що співробітник залишився у списку. Після збереження співробітник не зникає з розділу "Співробітники". Видаляється лише його доступ до Академії. Що відбудеться після зняття галочки "Надати доступ до Академії"? - співробітник залишається у списку співробітників; - його ім'я, email, телефон, відділ, посада та нотатки залишаються в картці; - обліковий запис для входу в Академію видаляється із сервера авторизації; - співробітник більше не може увійти до Академії; - співробітник більше не вважається активним користувачем Академії; - навчальний рейтинг і навчальний час для цього співробітника в Академії прибираються з активної навчальної звітності. Цей варіант підходить, коли потрібно заблокувати доступ до навчання, але не прибирати людину з основного списку співробітників. Це також корисно, якщо дані людини можуть знадобитися для інших HR-процесів, зокрема для тестування кандидатів або подальшої роботи з історією взаємодії. Чи можна повернути доступ до Академії? Так. Якщо співробітнику знову потрібно навчатися: 1. Перейдіть до розділу "Співробітники". 2. Відкрийте картку потрібного співробітника. 3. Увімкніть опцію "Надати доступ до Академії". 4. Натисніть "Зберегти". Після повторного надання доступу Smart Way створить для співробітника новий обліковий запис для входу в Академію і надішле дані для входу на його email. Як повністю видалити співробітника? Повне видалення використовуйте лише тоді, коли співробітник більше не потрібен у Smart Way. 1. Перейдіть до розділу "Співробітники". 2. Знайдіть потрібного співробітника. 3. У рядку співробітника відкрийте меню дій (три крапки в кінці рядка). 4. Натисніть "Видалити". 5. У вікні підтвердження уважно прочитайте попередження. 6. Якщо ви впевнені, натисніть "Видалити". Перед підтвердженням LMS платформа показує попередження: "Ви впевнені? Всі дані будуть видалені без можливості відновлення." Що буде після повного видалення співробітника? - співробітник зникає зі списку співробітників; - його картка співробітника видаляється; - обліковий запис для входу в Академію видаляється із сервера авторизації; - навчальний рейтинг і навчальний час у звітах Академії видаляються; - локальні записи навчальних тестів і відповідей, пов'язані з цим співробітником, очищаються; - співробітник більше не відображається як активний учасник навчання у звітах Академії. Що буде зі звітами та історією співробітника? Поведінка залежить від того, яку дію ви обрали. | Дія | Що буде зі звітами | | --------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------- | | Зняти "Надати доступ до Академії" | Співробітник більше не враховується як активний користувач Академії; частина історичних даних може залишатися в інших звітах, якщо сам запис співробітника не видалено. | | Повністю видалити співробітника | Пов'язані навчальні записи та робочі звіти очищаються; співробітник більше не має відображатися у звітах як активний або доступний користувач. | Якщо вам потрібно зберегти можливість швидко знайти людину в списку співробітників, не використовуйте повне видалення. Замість цього зніміть доступ до Академії. Коли видалення може бути недоступне? Зі списку співробітників неможливо видалити адміністратора: кнопка видалення буде недоступною. Якщо потрібно видалити адміністратора, зробіть це на сторінці "Компанія" у блоці "Адміністратори", натиснувши значок кошика у рядку адміністратора, якого видаляєте. Якщо в акаунті компанії лише один адміністратор, кнопка його видалення буде недоступною. Спочатку додайте нового адміністратора. Типові ситуації Співробітник тимчасово не повинен проходити навчання Зніміть доступ до Академії. Коли навчання знову буде потрібне, увімкніть доступ у його картці. Співробітник не може увійти в Академію Перевірте, чи увімкнена опція "Надати доступ до Академії" у його картці. Якщо опцію було вимкнено, співробітник не зможе увійти. Співробітник є у списку, але не з'являється в навчальних звітах Перевірте, чи має він доступ до Академії. Якщо галочка "Надати доступ до Академії" знята, він не буде враховуватися як активний користувач Академії. Чеклист адміністратора перед зміною доступу або видаленням Перед тим як зберегти зміни, перевірте: - чи справді співробітник більше не має проходити навчання; - чи потрібно залишити його у списку співробітників; - чи можуть знадобитися його дані або історія в майбутньому. Якщо є сумніви, безпечніше спочатку заблокувати доступ до Академії, а не виконувати повне видалення.

API документація

Як отримати збережений фільтр звітів з тестування через API

Endpoint GET /api/v1/tests/reports/filter повертає збережений фільтр звітів з тестування для userKey, який береться із subject Bearer token. Для company API key цей userKey має формат company-api-key:{companyId} і залишається стабільним після ротації ключа. Для доступу потрібен Bearer token зі scope tests.read. Який endpoint використовується? Використовується GET /api/v1/tests/reports/filter. Endpoint повертає поточний збережений фільтр звітів з тестування для user context з Bearer token. | Параметр | Значення | | ------------ | ------------------------------ | | Method | GET | | Endpoint | /api/v1/tests/reports/filter | | Base URL | https://smartway.pro | | Auth | Bearer token | Для чого використовується цей API endpoint? Endpoint використовується для перегляду поточного фільтра, який застосовується до пошуку та експорту звітів з тестування. Його використовують перед POST /api/v1/tests/reports/search або POST /api/v1/tests/reports/export, щоб зрозуміти, які обмеження будуть застосовані. Які передумови потрібні перед виконанням запиту? | Передумова | Опис | Обов’язково | | -------------- | ------------------------------------- | --------------- | | access_token | Bearer token | Так | | tests.read | Scope для читання збереженого фільтра | Так | Які параметри потрібно передати в запиті? Headers | Header | Тип | Обов’язково | Опис | | --------------- | ------- | --------------- | ---------------------------------------------- | | Authorization | string | Так | Bearer token у форматі Bearer <access_token> | | Accept | string | Так | application/json | Path parameters Path parameters відсутні. Query parameters Query parameters відсутні. Request body Request body не використовується. curl приклад curl -X GET 'https://smartway.pro/api/v1/tests/reports/filter' \ -H 'Authorization: Bearer <access_token>' \ -H 'Accept: application/json' Яку відповідь повертає API? Успішний запит повертає 200 OK і об’єкт PublicTestReportFilterResponse з параметрами збереженого фільтра. { "active": true, "startDate": "2026-03-01", "endDate": "2026-03-10", "groupByName": true, "testIds": [5, 200001], "departments": ["Sales"], "jobTitles": ["Manager"] } Що означають поля у відповіді API? | Поле | Тип | Опис | | ------------- | ------- | ------------------------------------------ | | active | boolean | Фільтр за ознакою активності звіту | | startDate | string | Початок діапазону дат | | endDate | string | Кінець діапазону дат | | groupByName | boolean | Групування кількох спроб проходження тесту | | testIds | array | Набір ID тестів для фільтра | | departments | array | Набір департаментів для фільтра | | jobTitles | array | Набір посад для фільтра | Що відбувається під капотом? - Фільтр прив’язаний до userKey, який береться із subject Bearer token. - Для company API key userKey має формат company-api-key:{companyId}. - userKey стабільний після ротації ключа. - Зовнішній клієнт не передає idUser. - Для доступу потрібен scope tests.read. Які edge cases потрібно врахувати? | Сценарій | Поведінка API | Що зробити інтегратору | | -------------------------- | ------------------------------------------------------------------------ | ----------------------------------------------- | | Ротація company API key | userKey залишається стабільним у форматі company-api-key:{companyId} | Не створювати окрему прив’язку до active key id | | idUser у запиті | Зовнішній клієнт не передає idUser | Не додавати idUser у query string або body | | Активний збережений фільтр | Фільтр застосовується до пошуку та експорту | Перевіряти фільтр перед отриманням звітів | Які помилки може повернути API? | HTTP status | Опис | | --------------------------- | ------------------------------------- | | 401 Unauthorized | Відсутній або невалідний Bearer token | | 403 Forbidden | Недостатньо прав | | 500 Internal Server Error | Неочікувана помилка | | 503 Service Unavailable | Збій сервісу | Як використовувати результат у наступних API-запитах? Використовуйте отриманий фільтр, щоб зрозуміти, які обмеження будуть застосовані до POST /api/v1/tests/reports/search і POST /api/v1/tests/reports/export. Приклад пошуку звітів після перевірки фільтра: curl -X POST 'https://smartway.pro/api/v1/tests/reports/search' \ -H 'Authorization: Bearer <access_token>' \ -H 'Accept: application/json' Яких помилок інтегратору варто уникати? - Передавати idUser у запиті. - Очікувати, що фільтр прив’язаний до конкретного active key id. - Запускати пошук або експорт без перевірки поточного фільтра. - Викликати endpoint без scope tests.read. FAQ До чого прив’язаний збережений фільтр? Фільтр прив’язаний до userKey, який береться із subject Bearer token. Який формат userKey для company API key? Для company API key userKey має формат company-api-key:{companyId}. Чи потрібно передавати idUser? Ні. Зовнішній клієнт не передає idUser. Чи зміниться фільтр після ротації ключа? Для company API key userKey стабільний після ротації ключа. Який scope потрібен? Для доступу потрібен scope tests.read.

API документація

Правила поточної реалізації API LMS

Public API використовує схему: company API key -> short-lived Bearer token Правила поточної реалізації: - API key належить компанії, а не окремому користувачу. - Для v1 дозволено один активний API key на компанію. - Керує ключем тільки користувач із роллю HRADMIN у cab > Settings > Company. - Повний секрет показується лише один раз — одразу після генерації або ротації. - Після ротації попередній ключ стає невалідним одразу. - Інтегратор отримує access token через POST /v1/auth/token і далі використовує Authorization: Bearer <token>. - Refresh token для інтегратора у v1 не використовується: після завершення TTL access token інтегратор повторно викликає POST /v1/auth/token. Base URL і загальні правила виклику 1. Base URL Поточний base URL: - https://smartway.pro/api 2. Загальні правила - Формат бізнес-відповідей: application/json - Формат помилок: application/problem+json - Версіонування: major-версія в URI (/v1/...) - Для кореляції запитів рекомендовано передавати traceparent

Користувачі

Додавання учнів до навчальної платформи

Щоб додати учня до навчальної платформи, вам потрібно спочатку внести його в систему як співробітника. При внесені в систему співробітника обов'язково заповнюйте поля відділу та посади, по ним ви будете надавати доступ до курсів (надання доступу до курсу розглянемо в уроці про налаштування курсів) Для надання доступу до навчальної платформи: 1. Перейдіть в меню “Співробітники”. 2. Натисніть на рядок з потрібним співробітником, відкриється карточка даних співробітника. 3. Поставте галочку “Надати доступ до Академії”. 4. Натисніть кнопку “Зберегти”. Виконавши ці дії ви надали співробітнику доступ до навчальної платформи. Система автоматично надішле вашому співробітнику листа з його логіном та паролем. Пароль після першого входу можна змінити.