Web service API functions
From MoodleDocs
Moodle 2.0
Implemented |
Must be implemented |
Suggested |
Web service protocols
Name | Moodle Ver. | Description | Issue |
---|---|---|---|
AMF | 2.0 | Adobe protocol to communicate with Flash/Flex apps | |
REST (returning XML) | 2.0 | XML data accessed through a REST API (not restful) | |
REST (returning JSON) | 2.X | JSON data accessed through a REST API (not restful) | MDL-29242 |
REST (returning JSONP) | 2.X | Would be very useful for client-side JavaScript | |
JSON | 2.2 | JSON server receives a JSON encoded params and return JSON encoded values. | MDL-21341 |
SOAP | 2.0 | Very important for interoperating with Java and .Net applications. There was a partial implementation JAVA/.Net in Moodle 2.0, but it does not work for anything but the most trivial functions. It is fully working with PHP clients. | MDL-20804, MDL-28988, MDL-28989 |
XMLRPC | 2.0 | XML remote-procedure call. |
Web service functions
Naming convention
Tracker issue: MDL-29106
Component | Draft naming convention | Current naming | Annotation |
---|---|---|---|
module | mod_forum_create_posts | moodle_mod_forum_create_posts() | |
enrolment plugin | enrol_manual_enrol_users | moodle_enrol_manual_enrol_users() | |
local plugin | local_hub_get_courses | local_hub_get_courses | |
user | core_user_create_users() | moodle_user_create_users() | core_component_functionname |
course | core_course_create_courses() | moodle_course_create_courses() | |
course | core_course_create_categories() | moodle_category_create_categories() | |
role | core_role_assign_roles() | moodle_role_assign() | |
enrol | core_enrol_get_enrolled_users() | moodle_enrol_get_enrolled_users() |
- fullcomponent = frankenstyle like core_xxxx or mod_xxxx
- classname = fullcomponent_external
- methodname = verb_noun(s)
- WS function names = fullcomponent_methodname
API Roadmap
New Naming Convention | 2.0/2.1 Name | Moodle Ver. | Description | Issue |
---|---|---|---|---|
User | ||||
core_user_create_users() | moodle_user_create_users() | 2.0 | Create users - admin function | |
core_user_delete_users() | moodle_user_delete_users() | 2.0 | Delete users - admin function | |
core_user_update_users() | moodle_user_update_users() | 2.0 | Update users | |
core_user_get_users_by_id() | moodle_user_get_users_by_id() | 2.0 | Get users by id | |
core_user_get_course_user_profiles() | moodle_user_get_course_participants_by_id() | 2.1 | Get course user profiles by id | |
core_user_get_users() | 2.2 | Get users from a specifed key/value | MDL-27985 | |
core_user_get_completed_users_per_course() | 2.2 | Get users who completed the course | MDL-28320 | |
core_user_get_completed_courses_per_user() | 2.2 | Get courses that a user completed | MDL-28319 | |
Course | ||||
core_course_get_courses() | moodle_course_get_courses() | 2.0 | Return course details | |
core_course_create_courses() | moodle_course_create_courses() | 2.0 | Create new courses | |
core_course_update_courses() | 2.2 | including moving categories | ||
core_course_delete_courses() | 2.2 | MDL-13130 | ||
core_course_get_course_contents() | 2.2 | including sections, activities etc | MDL-28646 | |
core_course_get_recent_activity() | 2.2 | also works for site course | MDL-13135 | |
Group | ||||
core_group_create_groups() | moodle_group_create_groups() | 2.0 | Creates new groups | |
core_group_get_groups() | moodle_group_get_groups() | 2.0 | Returns group details. | |
core_group_get_course_groups() | moodle_group_get_course_groups() | 2.0 | Returns all groups in specified course | |
core_group_delete_groups() | moodle_group_delete_groups() | 2.0 | Deletes all specified groups | |
core_group_get_group_members() | moodle_group_get_groupmembers() | 2.0 | Returns group members | |
core_group_add_group_members() | moodle_group_add_groupmembers() | 2.0 | Adds group members | |
core_group_delete_group_members() | moodle_group_delete_groupmembers() | 2.0 | Deletes group members | |
Role | ||||
core_role_assign_roles() | moodle_role_assign() | 2.0 | Manual role assignments | |
core_role_unassign_roles() | moodle_role_unassign() | 2.0 | Manual role unassignments | |
Enrol | ||||
NONE | moodle_enrol_get_enrolled_users() | 2.0 | get some minimal information about the users enrolled in a course (DEPRECATED) | |
core_enrol_get_enrolled_users() | moodle_user_get_users_by_courseid() | 2.1 | Get enrolled users by course id | |
core_enrol_get_users_courses() | moodle_enrol_get_users_courses() | 2.0 | get list of course ids that a user is enrolled in (if you are allowed to see that) | |
Enrol/manual | ||||
enrol_manual_create() | moodle_enrol_manual_enrol_users() | 2.0 | Manual enrol users | |
enrol_manual_delete() | 2.2 | Manual unenrol users | ||
enrol_ manual_update() | 2.2 | |||
Enrol/cohort | ||||
enrol_cohort_create() | 2.2 | |||
enrol_cohort_delete() | 2.2 | |||
Enrol/self | ||||
enrol_self_create() | 2.2 | |||
enrol_self_delete() | 2.2 | |||
Webservice | ||||
core_webservice_get_site_info() | moodle_webservice_get_siteinfo() | 2.1 | Return some site info / user info / list web service functions | |
Message | ||||
core_message_send_instant_messages() | moodle_message_send_instantmessages() | 2.1 | Send instant messages | |
core_message_get_instant_messages() | 2.2 | params for unread etc | ||
core_message_create_contacts() | 2.2 | |||
core_message_delete_contacts() | 2.2 | |||
Notes | ||||
core_notes_create_notes() | moodle_notes_create_notes() | 2.1 | Create notes | |
core_notes_delete_notes() | 2.2 | |||
Events | ||||
core_XXXX_trigger_event() | 2.2 | triggers an event | ||
Calendar | ||||
core_calendar_create_calendar_events() | 2.2 | |||
core_calendar_update_calendar_events() | 2.2 | |||
core_calendar_delete_calendar_events() | 2.2 | |||
Private file | ||||
core_files_get_files() | moodle_file_get_files() | 2.0 | browse moodle files | |
core_files_upload() | moodle_file_upload() | 2.0 | upload a file to moodle (DEPRECATED) | |
core_files_create_files() | 2.2 | can also do folders via a flag | ||
core_files_update_files() | 2.2 | |||
core_files_delete_files() | 2.2 | |||
Category | ||||
core_course_create_categories() | 2.2 | |||
core_course_delete_categories() | 2.2 | |||
core_course_update_categories() | 2.2 | |||
core_course_get_categories() | 2.2 | |||
Grade | ||||
core_grades_get_grades() | 2.2 | for user, course, activity etc | ||
core_grades_get_scales() | 2.2 | |||
core_grades_get_outcomes() | 2.2 | |||
core_grades_update_grades() | 2.2 | including feedback | ||
core_grades_create_grades() | 2.2 | |||
Ratings | ||||
core_rating_get_ratings() | 2.2 | |||
core_rating_create_ratings() | 2.2 | |||
core_rating_update_ratings() | 2.2 | |||
core_rating_delete_ratings() | 2.2 | |||
Comments | ||||
core_XXXXX_get_comments() | 2.2 | |||
core_XXXXX_create_comments() | 2.2 | |||
core_XXXXX_update_comments() | 2.2 | |||
core_XXXXX_delete_comments() | 2.2 | |||
Forum | ||||
mod_forum_get_forums() | 2.2 | |||
mod_forum_create_forums() | 2.2 | |||
mod_forum_update_forums() | 2.2 | |||
mod_forum_delete_forums() | 2.2 | |||
mod_forum_get_discussions() | 2.2 | |||
mod_forum_create_discussions() | 2.2 | |||
mod_forum_update_discussions() | 2.2 | |||
mod_forum_delete_discussions() | 2.2 | |||
mod_forum_get_posts() | 2.2 | |||
mod_forum_create_posts() | 2.2 | |||
mod_forum_update_posts() | 2.2 | |||
mod_forum_delete_posts() | 2.2 |