Что это
Moodle Web Services - интерфейс интеграции установленного Moodle. Внешнее приложение вызывает выбранную функцию по HTTP и получает данные. Это полезно для обмена с корпоративной системой обучения, отчета или помощника, который читает только разрешенные учебные сведения.
Администратор включает протокол и определяет набор функций внешнего сервиса. Токен связан с пользователем и сервисом; доступ также зависит от ролей и контекста данных. Один ключ не должен превращаться в доступ ко всем курсам и оценкам.
Web Services не является AI-агентом и не оценивает учеников с помощью модели. AI-подсистему Moodle или внешнюю модель настраивают отдельно. Для первого теста лучше получить сведения о сайте и своем учебном пользователе, не меняя оценки и записи на курсы.
Ключевые параметры
- Категория: Операционные задачи
- Сложность: Для разработчика
- Запуск: Около 30 минут
- Open-source: Да
- Данные: Не известно
- Чувствительные данные: Только с настройками
Сильные стороны
- Внешний сервис может включать только конкретные функции, нужные интеграции.
- Роли и контекст Moodle позволяют ограничивать операции с учебными данными.
- REST позволяет работать из обычного HTTP-клиента с JSON-ответами.
- Документация установленного сайта показывает реальные функции и параметры именно вашей версии.
Ограничения
- Нужен администратор для включения сервиса, функций, пользователя и токена.
- Версия Moodle и установленные плагины определяют доступные методы; чужой пример может не подходить.
- Токен и данные учащихся требуют защиты; лишние функции увеличивают последствия утечки.
- HTTP 200 не всегда означает успешную операцию: ответ нужно проверять на exception и errorcode.
Как использовать
1. Подготовка. Используйте учебный Moodle и отдельного пользователя. Откройте Site administration > Server > Web services > API Documentation и проверьте функцию core_webservice_get_site_info своей версии. Для этого теста оценки и рабочие курсы не нужны.
2. Настройка. Администратор включает Web services и REST, создает сервис только с core_webservice_get_site_info и доступом только разрешенным пользователям. Добавляет учебного пользователя, необходимые права REST и создает токен этого сервиса с ограниченным сроком. Токен администратора не используйте.
3. Первый результат. Отправьте POST на https://ВАШ_MOODLE/webservice/rest/server.php с form-параметрами wstoken=TOKEN, wsfunction=core_webservice_get_site_info, moodlewsrestformat=json. Замените адрес и токен своими. Получите sitename, userid и список функций сервиса: это проверка подключения без изменения учебных записей.
4. Проверка. Сравните название сайта и пользователя с Moodle, проверьте список functions и отсутствие exception/errorcode. Убедитесь, что ненужные функции не включены. Не передавайте токен в URL браузера, промпт или открытые логи. Для следующих операций отдельно проверяйте роли, контекст и доступ к нужному курсу.
Доступ и оплата
- Модель оплаты: Open-source
- Бесплатный тариф: Да
- Работа в РФ: Нужно проверять
- VPN: Не известно
- Русский интерфейс: Не известно
- Русский язык: Не известно
Код Moodle открыт под GPL-3.0-or-later. Это не обещание бесплатного хостинга, MoodleCloud или сопровождения. Доступ к Web Services определяется настройками вашего экземпляра и правилами его владельца.
Когда не подходит
- Обойти роли и права Moodle одним токеном
- Выдать модели права менять оценки без контроля
- Считать API отдельной бесплатной облачной LMS
Альтернативы
Open edX - другая платформа обучения, не API вашей Moodle-базы. Google Classroom API работает с Classroom. Google Sheets API подходит для простого учебного реестра, но не заменяет права, курсы и оценивание LMS.