Блог
Учебные пособия
Интеграция TrustExam.ai в вашу существующую LMS (Moodle, Canvas, кастомные порталы): Практическое руководство
Нурали Сарбакиш
Генеральный директор

Если вы уже проводите экзамены внутри LMS или на пользовательском портале тестирования, самый быстрый путь к безопасному прокторингу — это использовать вашу платформу в качестве основного интерфейса и интегрировать прокторинг TrustExam в фоновом режиме. Именно так и разработан процесс интеграции TrustExam: бэкенд API создает сессию экзамена и возвращает токен, затем фронтенд SDK интегрирует прокторинг в вашу страницу экзамена, и вебхуки + AI отчеты возвращают результаты обратно в вашу систему.
1) Что означает «интеграция» на практике
Большинство команд не хотят переносить контент, перестраивать экзамены или заставлять пользователей использовать отдельный портал прокторинга. Интеграция обычно означает:
Ваш LMS остается под контролем: входы, правила экзамена, вопросы, таймеры, оценка, попытки.
TrustExam обрабатывает прокторинг: камера, совместное использование экрана, аудио мониторинг, проверки личности, сбор улик и аналитика целостности.
Вы получаете результаты обратно: через
report_url, вебхуки и API отчета о попытках AI.
Этот подход работает для Moodle, Canvas, локальных LMS, правительственных порталов и любой веб-системы тестирования, которая может вызывать API и загружать JS скрипт.
2) Двухуровневая модель интеграции (бэкенд + фронтенд)
Рекомендуемая интеграция TrustExam состоит из двух уровней:
Уровень A: Бэкенд (сервер-сервер)
Ваш бэкенд регистрирует:
задание (определение и настройки экзамена)
студента (идентичность тестируемого)
необязательные метаданные попытки сессии
TrustExam возвращает:
external_session.token(используется фронтенд SDK)report_url(прямое ссылается на отчет о попытке в интерфейсе TrustExam)
Уровень B: Фронтенд (браузер/клиент)
Ваша страница экзамена загружает SDK прокторинга, инициализирует его, используя токен, затем начинает и завершает попытки из вашего интерфейса.
3) API бэкенда: создайте сессию экзамена и получите токен
Конечная точка и аутентификация
Конечная точка бэкенда TrustExam для создания внешней сессии:
POST https://api.trustexam.ai/api/external-session/assignment.json?api_token=YOUR_API_TOKEN
Вы также можете передать токен в заголовках:
X-Authorization: YOUR_API_TOKEN
Ответ, который вы должны сохранить
Ответ включает:
external_session.tokenreport_url
Вы обычно сохраняете их вместе с вашей записью о попытке, чтобы ваша панель администратора всегда могла открыть отчет, и ваш фронтенд всегда мог инициализировать прокторинг.
Необходимая структура JSON (что отправить)
В минимуме ваш полезный нагруз включает:
assignment(обязательно)
assignment.external_id(уникальный идентификатор экзамена в вашей системе)assignment.nameassignment.settings(где находятся параметры прокторинга и вебхуки)
student(обязательно)
student.external_id(уникальный идентификатор пользователя в вашей системе)student.namestudent.email(рекомендуется)
application(обязательно)
"browser"(по умолчанию),"tray"или"desktop"
session_data(необязательно)
session_data.external_id(ваш внутренний идентификатор попытки; полезен для согласования вебхуков и отчетов)
Почему это важно для команд LMS
Эта структура четко отображается на общие объекты LMS:
“тест” или “задание” Moodle/Canvas →
assignment.external_idЗапись пользователя →
student.external_idЗапись попытки →
session_data.external_id
Она также позволяет вам изменять настройки без создания дубликатов, потому что TrustExam использует одинаковые assignment.external_id и student.external_id для обновления записей, когда они отправляются снова.
4) Фронтенд SDK: встроить прокторинг в вашу страницу экзамена
Загрузите SDK
Добавьте скрипт TrustExam SDK на вашу страницу экзамена:
Инициализируйте внутри вашего контейнера экзамена
Вы монтируете интерфейс прокторинга в контейнер (например, .wrapper) и передаете токен, возвращенный с бэкенда:
Ключевые параметры включают:
selector: где монтировать интерфейсlanguage:"en","ru"или"kz"token:external_session.token
Начните и завершите попытки из вашего собственного интерфейса
TrustExam предоставляет основные методы:
И вспомогательные действия:
Proctoring.isFinished()Proctoring.isCanStartNewAttempt()
Это важно для потоков LMS, где попытки могут ограничиваться, перезапускаться или возобновляться.
5) Защита контента: защита содержания вопросов в браузере
Если ваша основная забота — утечка контента (скриншоты, запись экрана, удаленный захват), TrustExam поддерживает Защиту контента в SDK:
Бэкенд: установить
content_protect: trueвassignment.settings.proctoring_settingsФронтенд: передать
protectorпри инициализации (определить, какой элемент защищать)
Документация описывает Защиту контента как предотвращение скриншотов/записи экрана защищенного контента и захвата экзамена с помощью инструментов удаленного управления.
6) Вебхуки + AI отчеты: получайте результаты обратно в Moodle, Canvas или ваш портал
Вебхуки (начало и завершение)
Если вы настраиваете вебхуки в assignment.settings.webhook, TrustExam отправляет HTTP POST вызовы при начале и завершении экзамена:
webhook.start_url(экзамен начинается)webhook.finish_url(экзамен завершается)
Вебхуки включают:
идентификаторы попыток (включая ваш
session_data.external_id, если вы его предоставили)статус и временные метки
основные метаданные
необязательные поля из
webhook.post,webhook.queryиwebhook.headers
синхронизируете статус прокторинга в ваш журнал оценок
запускаете рабочие потоки обзора
уведомляете преподавателей, координаторов или системы HR
report_url для администраторов и рецензентов
Ответ бэкенда включает report_url, который открывает отчет о попытке в интерфейсе TrustExam. Большинство команд встраивают эту ссылку в:
панель инструментов преподавателей
панель аудита администратора
рабочий процесс обзора апелляций
AI API отчета о попытках
Если вам нужны структурированные результаты для панелей инструментов или автоматизации, TrustExam предоставляет конечную точку AI отчета:
GET https://trust-rating.trustexam.ai/api/v1/actions/reports/ai/ATTEMPT_ID?api_token=API_KEY
Документация описывает выходные данные, такие как:
общая оценка риска
список выявленных нарушений
хронология подозрительных событий
рекомендации для вручную проверки
Это полезно, когда вы хотите обеспечить постоянную сортировку в большом масштабе, не превращая прокторинг в «автоматическое наказание». Сохраняйте человеческий контроль в вашей политике.
7) Параметры прокторинга, которые вы должны определить заранее (и почему)
Большинство провальных интеграций не являются техническими. Они терпят неудачу, потому что параметры неясны. Вот наиболее актуальные параметры интеграции из справочника настроек TrustExam.
Камера и захват экрана
Вы можете отдельно включить стриминг против записи/загрузки:
main_camera_record(по умолчанию true),main_camera_upload(по умолчанию false)second_camera_record(по умолчанию true),second_camera_upload(по умолчанию false)screen_share_record(по умолчанию true),screen_share_upload(по умолчанию false)
Почему это важно:
“Запись” поддерживает сигналы живого мониторинга.
“Загрузка” контролирует хранение улик и размеры хранения.
Идентичность и верификация
photo_head_identity(0 отключено, 1 включено)video_head_identity(проверка идентичности на основе видео в реальном времени)id_verification(захват удостоверения личности)
Почему это важно:
Это основной уровень для предотвращения выдачи себя за кого-то другого и поддерживает более сильную проверяемость для апелляций.
Аудио и варианты второго микрофона
noise_detector,speech_detectorsecond_microphone_record / second_microphone_uploadsecond_microphone_label(регулярное выражение для разрешенных имен устройств)
Почему это важно:
Аудио политики варьируются в зависимости от страны и учреждения. Определите язык согласия и правила хранения перед включением загрузок.
Отслеживание головы/лица и обнаружение объектов
Настройки включают чувствительность, интервалы сравнения и то, будут ли анализы выполняться на стороне клиента или на сервере:
head_tracking_clienthead_tracking_server,head_tracking_server_post,head_tracking_server_realtimeobject_detectи связанные пороги/категорииface_landmarker(отслеживание глаз/взгляда)
Почему это важно:
Используйте их как сигнал риска, а не единственную точку истинности.
Согласуйте пороги с типом вашего экзамена: высокие ставки лицензирования против низких ставок тестов.
Дополнительные управления
proctoring_mobile_restrict(заблокировать экзамены на мобильных устройствах)proctoring_fallback_allow(разрешить начало экзамена, если некоторые функции не работают)тайм-ауты соединения и инициализации
Почему это важно:
Эти параметры определяют вашу политику «гладкого ухудшения».
Для экзаменов с высокими ставками вы можете захотеть строгих требований к началу.
8) Справочная архитектура (рекомендуемая схема)
Вот простая схема, удобная для производства:
Ваш бэкенд LMS создает внешнюю сессию TrustExam прямо перед началом экзамена.
Ваш бэкенд хранит:
external_session.tokenreport_urlваш собственный идентификатор попытки в
session_data.external_id
Ваша страница экзамена загружает SDK и инициализирует его, используя токен.
Когда учащийся нажимает «Начать», ваш интерфейс вызывает
Proctoring.start().При отправке ваш интерфейс вызывает
Proctoring.finish().TrustExam вызывает ваш вебхук
finish_urlс метаданными попытки.Ваш бэкенд получает:
report_urlдля администраторовAI отчет через API для аналитики и сортировки (при необходимости)
9) Список задач по внедрению (что ваша команда должна запланировать)
Неделя 1: Техническая интеграция
Создание сессии на бэкенде (задание + студент + приложение + необязательный session_data)
Монтаж фронтенд SDK и старт/завершение
Основная обработка ошибок и повторные попытки (тайм-ауты, пользовательские разрешения)
Неделя 2: Политика и управление
Согласие и уведомления о конфиденциальности
Контроль доступа и хранения для видео/экрана/аудио
Рабочий процесс апелляций: кто может просматривать отчеты, кто принимает решения
Неделя 3: Масштаб и операции
Вебхуки в ваш рабочий процесс оценки
Интеграция AI отчета для сортировки
Мониторинг: доставка вебхуков, жизненный цикл токенов, уровень неудач
10) Распространенные ошибки интеграции (и как их избежать)
Токен создан слишком рано
Создавайте сессии ближе ко времени экзамена. Храните токены безопасно.
Нет стабильных ID
Используйте последовательные
assignment.external_idиstudent.external_id. TrustExam обновляет записи, если вы отправляете те же ID снова.
Неясная политика прокторинга
Решите, что произойдет, если камера не заработает, совместное использование экрана отклонено или аудио заблокировано. Используйте
proctoring_fallback_allowс умом.
Результаты не возвращены
Без вебхуков ваша команда LMS оказывается вынужденной проверять отдельный интерфейс. Настройте
start_urlиfinish_urlзаранее.
Слишком строгие настройки для экзаменов с низкими ставками
Начните с умеренной политики. Ужесточайте позже на основе наблюдаемого поведения и объема апелляций.
11) Как TrustExam.ai вписывается
Если вы хотите, чтобы ваш Moodle, Canvas или настраиваемая LMS оставались основным опытом экзамена, модель интеграции TrustExam разработана именно для этого: выдача токенов на бэкенде, встраивание фронтенда, рабочие процессы на основе вебхуков и отчеты, удобные для аудита.
Если вы поделитесь:
ваш тип LMS (Moodle/Canvas/настраиваемая),
ваши типы экзаменов (среднелетия, приемы, олимпиады, сертификация),
и вашими обязательными требованиями к соблюдению норм,
вы можете сопоставить правильный профиль параметров прокторинга (идентичность, экран, аудио, хранение улик) и отправить интеграцию, которая масштабируется без создания узкого места на этапе обзора.
Нурали Сарбакиш
Генеральный директор
Поделиться


