moodle-external-api-development
Create custom external web service APIs for Moodle LMS. Use when implementing web services for course management, user tracking, quiz operations, or custom plugin functionality. Covers parameter validation, database operations, error handling, service registration, and Moodle
Installation
Pick a client and clone the repository into its skills directory.
Installation
About this skill
Create custom external web service APIs for Moodle LMS. Use when implementing web services for course management, user tracking, quiz operations, or custom plugin functionality. Covers parameter validation, database operations, error handling, service registration, and Moodle coding standards.
How to use
Umieść plik klasy API w katalogu wtyczki, np.
/local/yourplugin/classes/external/your_api_name.php. Klasa musi rozszerzaćexternal_apii być umieszczona w odpowiedniej przestrzeni nazw (local_pluginname\externallubmod_modname\external).Zaimplementuj trzy obowiązkowe metody:
execute_parameters()definiującą strukturę parametrów wejściowych,execute()zawierającą logikę biznesową, orazexecute_returns()definiującą strukturę zwracanego wyniku.W metodzie
execute_parameters()użyj klasexternal_function_parameters,external_single_structureiexternal_valuedo zdefiniowania typów i struktury danych, które API będzie przyjmować.Zaimplementuj logikę biznesową w metodzie
execute(), uwzględniając walidację parametrów, operacje na bazie danych oraz obsługę błędów zgodnie ze standardami Moodle'a.W metodzie
execute_returns()określ strukturę odpowiedzi API, używając tych samych klas parametrów do opisania zwracanych danych.Zarejestruj API w pliku
db/services.phpwtyczki, aby Moodle mogło je rozpoznać i udostępnić jako webservice dla aplikacji zewnętrznych i mobilnych.