Техническая документация SCORM-пакета

1. Общий обзор интеграции

Интеграция между LMS заказчика и системой boto реализуется через SCORM-пакет, который содержит пользовательский интерфейс и обеспечивает обмен сообщениями с внешним сервисом boto.


SCORM-пакет поставляется заказчику в виде ZIP-архива, который может быть загружен и развёрнут в LMS.


Архитектура взаимодействия построена по модели:


  • пользователь взаимодействует с интерфейсом SCORM-пакета;
  • SCORM-пакет отправляет запросы в API системы boto;
  • система boto выполняет обработку сообщений, бизнес-логику и интеграции;
  • ответы возвращаются в SCORM-пакет и отображаются пользователю.
  1. Основная логика системы реализована на стороне backend-сервиса boto.

2. Архитектура и принцип работы.

Общий поток взаимодействия.

  1. Пользователь открывает курс в LMS.
  2. LMS загружает SCORM-пакет, содержащий интерфейс чат-ассистента.
  3. SCORM-пакет получает данные пользователя из LMS:
  • student_id
  • student_name

4. Пользователь начинает диалог.

5. SCORM-пакет отправляет сообщение в API boto.

6. Backend boto:

  • валидирует запрос;
  • идентифицирует пользователя;
  • выполняет сценарий;
  • при необходимости обращается к внешним сервисам.

7. boto возвращает ответ.

8. SCORM-пакет отображает сообщение пользователю.


3. Схема интеграции

Логическая схема взаимодействия
4. Компоненты системы

4.1 SCORM-пакетSCORM-пакет включает:

  • интерфейс пользователя (чат-интерфейс)
  • механизм получения данных пользователя из LMS
  • отправку сообщений в API boto
  • отображение ответов системы

SCORM-пакет поставляется готовым файлом (ZIP) и не требует модификации со стороны заказчика.


4.2 Backend система botoBackend реализован как Python-сервис и выполняет:

  • обработку сообщений пользователей
  • выполнение сценариев обучения
  • интеграцию с AI-сервисами
  • хранение аналитики
  • генерацию ответов пользователю

Backend размещается в инфраструктуре исполнителя.


5. API взаимодействиеSCORM-пакет отправляет HTTP-запросы в API boto.

Пример базового URL API:

<https://server-name.boto.education/scorm/test/>

Основная точка взаимодействия:

POST /dialog

Пример полного URL:

<https://server-name.boto.education/scorm/test/dialog>


Пример запроса

POST /dialog

Заголовки:

Тип содержания:

application/json X-Client-ID: <client_id>

Тело запроса:

{ "student_id":"12345", "student_name":"Ivan Ivanov", "message":"Начать обучение" }


Ответ API

{ "messages": [ { "type":"text", "content":"Добро пожаловать в курс" } ] }


6. Идентификация пользователей

SCORM-пакет получает данные пользователя из LMS через стандартный SCORM API.


Используемые параметры:

Параметр

Описание

student_id

уникальный идентификатор пользователя

student_name

имя пользователя


7. Аутентификация

Для аутентификации используется client_id.

Каждый запрос SCORM-пакета должен содержать заголовок:

X-Client-ID

Значение client_id предоставляется исполнителем.


Backend boto проверяет:

  • наличие client_id
  • корректность идентификатора
  • соответствие клиента зарегистрированной интеграции.

8. Требования к сетевой инфраструктуре

Для корректной работы интеграции LMS должна иметь возможность отправлять HTTPS-запросы во внешний интернет.

Необходимо разрешить доступ к домену:

*.boto.education

Другие протоколы (например WebSocket) не используются.


9. Безопасность

9.1 Сетевое взаимодействие

Все запросы выполняются через:

HTTPS (TLS)


9.2 Контроль доступа

Каждый запрос содержит:

X-Client-ID Backend проверяет:

  • валидность клиента
  • формат запроса
  • допустимость операции.

9.3 Данные пользователей

Система boto сохраняет:

  • student_id
  • student_name
  • сообщения диалога
  • аналитические данные обучения

Персональные данные используются исключительно для функционирования системы обучения.


9.4 Логирование

Логи системы хранятся во внутренней системе логирования.

Используются для:

  • диагностики
  • технической поддержки
  • анализа ошибок
10. Обновление системыSCORM-пакет реализован как тонкий клиент.

Основная логика находится на backend-сервисе boto.

Это позволяет:

  • обновлять сценарии
  • изменять ответы
  • обновлять AI-модели
  • изменять логику обучения

без необходимости обновления SCORM-пакета в LMS.


11. Ограничения

Текущие ограничения системы:

  • при перезагрузке страницы текущий диалог начинается заново; (Поддержка восстановления диалога после перезагрузки страницы находится в разработке.)
  • Offline-режим работы не поддерживается.