Web service API functions: Difference between revisions
From MoodleDocs
Jason Fowler (talk | contribs) |
Jason Fowler (talk | contribs) |
||
Line 145: | Line 145: | ||
|notes | |notes | ||
| style="background:#D4FFDF;" | core_notes_create_notes() || style="background:#D4FFDF;" | moodle_notes_create_notes() || style="background:#D4FFDF;" | 2.1 || style="background:#D4FFDF;" | Create notes || | | style="background:#D4FFDF;" | core_notes_create_notes() || style="background:#D4FFDF;" | moodle_notes_create_notes() || style="background:#D4FFDF;" | 2.1 || style="background:#D4FFDF;" | Create notes || | ||
|- | |||
|notes | |||
| style="background:#D4FFDF;" core_notes_delete_notes() || style="background:#D4FFDF;" | || style="background:#D4FFDF;" | 2.4 || style="background:#D4FFDF;" | Delete Notes || MDL-30072 | |||
|- | |||
|notes | |||
| style="background:#D4FFDF;" core_notes_get_notes() || style="background:#D4FFDF;" | || style="background:#D4FFDF;" | 2.4 || style="background:#D4FFDF;" | Retrieve Notes || MDL-30072 | |||
|- | |||
|notes | |||
| style="background:#D4FFDF;" core_notes_update_notes() || style="background:#D4FFDF;" | || style="background:#D4FFDF;" | 2.4 || style="background:#D4FFDF;" | Update Notes || MDL-30072 | |||
|- | |- | ||
|files | |files | ||
Line 260: | Line 269: | ||
|user | |user | ||
| style="background:#D4FFDF;" | core_user_get_users() || style="background:#D4FFDF;" | || style="background:#D4FFDF;" | 2.5 || style="background:#D4FFDF;" | Search users. - If you want to get multiple users for one specific field, use core_user_get_users_by_field(), it's designed for this purpose and it should be faster. || MDL-29938 | | style="background:#D4FFDF;" | core_user_get_users() || style="background:#D4FFDF;" | || style="background:#D4FFDF;" | 2.5 || style="background:#D4FFDF;" | Search users. - If you want to get multiple users for one specific field, use core_user_get_users_by_field(), it's designed for this purpose and it should be faster. || MDL-29938 | ||
|- | |- | ||
Revision as of 05:06, 14 March 2013
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.2 | JSON data accessed through a REST API (not restful) | MDL-29242 |
REST (returning JSONP) | 2.X | Would be very useful for client-side JavaScript | MDL-29913 |
JSON | 2.X | 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
We updated (regularised) the naming convention in Moodle 2.2. See MDL-29106 for those details.
All functions should be named as follows:
- wsfunction = fullcomponent_methodname
- fullcomponent = frankenstyle (eg core_xxxx or mod_xxx etc)
- methodname = verb_noun(s)
- verb = get|create|delete|update
- noun = moodle objects, usually plural (eg posts, discussions, users, courses etc)
Core web service functions
Area | Moodle 2.2 name | Moodle 2.0/2.1 name | Introduced in | Description | Issue |
---|---|---|---|---|---|
user | core_user_create_users() | moodle_user_create_users() | 2.0 | Create users - admin function | |
user | core_user_delete_users() | moodle_user_delete_users() | 2.0 | Delete users - admin function | |
user | core_user_update_users() | moodle_user_update_users() | 2.0 | Update users | |
user | core_user_get_users_by_id() | moodle_user_get_users_by_id() | 2.0 | Get users by id | |
user | core_user_get_course_user_profiles() | moodle_user_get_course_participants_by_id() | 2.1 | Get course user profiles by id | |
cohort | core_cohort_create_cohorts() | 2.4 | Create cohorts | MDL-29472 | |
cohort | core_cohort_update_cohorts() | 2.4 | Update cohorts | MDL-29472 | |
cohort | core_cohort_delete_cohorts() | 2.4 | Delete cohorts | MDL-29472 | |
cohort | core_cohort_get_cohorts() | 2.4 | Get cohorts | MDL-29472 | |
cohort | core_cohort_add_cohort_members() | 2.4 | Add members to cohort | MDL-29472 | |
cohort | core_cohort_delete_cohort_members() | 2.4 | Delete members from cohort | MDL-29472 | |
cohort | core_cohort_get_cohort_members() | 2.4 | Get cohort members | MDL-29472 | |
course | core_course_get_courses() | moodle_course_get_courses() | 2.0 | Return course details | |
course | core_course_create_courses() | moodle_course_create_courses() | 2.0 | Create new courses | |
group | core_group_create_groups() | moodle_group_create_groups() | 2.0 | Creates new groups | |
group | core_group_get_groups() | moodle_group_get_groups() | 2.0 | Returns group details. | |
group | core_group_get_course_groups() | moodle_group_get_course_groups() | 2.0 | Returns all groups in specified course | |
group | core_group_delete_groups() | moodle_group_delete_groups() | 2.0 | Deletes all specified groups | |
group | core_group_get_group_members() | moodle_group_get_groupmembers() | 2.0 | Returns group members | |
group | core_group_add_group_members() | moodle_group_add_groupmembers() | 2.0 | Adds group members | |
group | 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 | |
role | 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) | |
enrol | core_enrol_get_enrolled_users() | moodle_user_get_users_by_courseid() | 2.1 | Get enrolled users by course id | |
enrol | 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_enrol_users() | moodle_enrol_manual_enrol_users() | 2.0 | Manual enrol users | |
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 | |
notes | core_notes_create_notes() | moodle_notes_create_notes() | 2.1 | Create notes | |
notes | style="background:#D4FFDF;" core_notes_delete_notes() | 2.4 | Delete Notes | MDL-30072 | |
notes | style="background:#D4FFDF;" core_notes_get_notes() | 2.4 | Retrieve Notes | MDL-30072 | |
notes | style="background:#D4FFDF;" core_notes_update_notes() | 2.4 | Update Notes | MDL-30072 | |
files | core_files_get_files() | moodle_file_get_files() | 2.0 | browse moodle files | |
files | core_files_upload() | moodle_file_upload() | 2.0 | upload a file to moodle (DEPRECATED) | |
course | core_course_get_contents() | 2.2 | get course content (modules + web service file urls) | MDL-28646 | |
course | core_course_delete_courses() | 2.3 | delete courses | MDL-13130 | |
course | core_course_duplicate_course() | 2.3 | duplicate a course | MDL-32233 | |
course | core_course_get_categories() | 2.3 | get categories | MDL-32941 | |
course | core_course_update_categories() | 2.3 | update categories | MDL-32941 | |
course | core_course_create_categories() | 2.3 | create categories | MDL-32941 | |
course | core_course_delete_categories() | 2.3 | delete categories | MDL-32941 | |
group | core_group_create_groupings() | 2.3 | create groupings | MDL-32662 | |
group | core_group_update_groupings() | 2.3 | update groupings | MDL-32662 | |
group | core_group_get_groupings() | 2.3 | get groupings | MDL-32662 | |
group | core_group_delete_groupings() | 2.3 | delete groupings | MDL-32662 | |
group | core_group_assign_grouping() | 2.3 | assign groups from groupings | MDL-32662 | |
group | core_group_unassign_grouping() | 2.3 | unassign groups from groupings | MDL-32662 | |
group | core_group_get_course_groupings() | 2.3 | get all groupings in specified course | MDL-32662 | |
user | core_user_get_users_by_field() | 2.5 | Retrieve users information for a specified unique field - If you want to do a user search, use core_user_get_users() | MDL-35543 | |
enrol | core_enrol_get_enrolled_users_with_capability() | 2.4 | For each course and capability specified, return a list of the users that are enrolled in the course and have that capability | MDL-31859 | |
course | core_course_import_course() | 2.4 | Import course data from a course into another course. Does not include any user data. | MDL-32919 | |
message | core_message_create_contacts() | 2.5 | Add contacts to the contact list | MDL-30070 | |
message | core_message_delete_contacts() | 2.5 | Remove contacts from the contact list | MDL-30070 | |
message | core_message_block_contacts() | 2.5 | Block contacts | MDL-30070 | |
message | core_message_unblock_contacts() | 2.5 | Unblock contacts | MDL-30070 | |
message | core_message_get_contacts() | 2.5 | Retrieve the contact list | MDL-30070 | |
message | core_message_search_contacts() | 2.5 | Search for contacts | MDL-30070 | |
external | core_get_string() | 2.4 | Return a translated string - similar to core get_string() call | MDL-35997 | |
external | core_get_component_strings() | 2.4 | Return all raw strings (with {$a->xxx}) for a specific component - similar to core get_component_strings() call | MDL-35997 | |
external | core_get_strings() | 2.4 | Return some translated strings - like several core get_string() calls | MDL-35997 | |
calendar | core_calendar_delete_calendar_events() | 2.5 | Delete calendar events | MDL-37077 | |
calendar | core_calendar_get_calendar_events() | 2.5 | Get calendar events | MDL-37100 | |
calendar | core_calendar_create_calendar_events() | 2.5 | Create calendar events | MDL-37101 | |
mod_assign | mod_assign_get_grades() | 2.4 | Returns grades from the assignment | MDL-31873 | |
mod_assign | mod_assign_get_assignments() | 2.4 | Returns the courses and assignments for the users capability | MDL-31873 | |
mod_assign | mod_assign_get_submissions | 2.5 | Returns the submissions for assignments | MDL-31682 | |
mod_forum | mod_forum_get_forums_by_courses | 2.5 | Returns a list of forum instances in a provided set of courses, if no courses are provided then all the forum instances the user has access to will be returned. | MDL-37247 | |
mod_forum | mod_forum_get_forum_discussions | 2.5 | Returns a list of forum discussions in a provided set of forums. | MDL-30102 | |
course | core_course_update_courses() | 2.5 | Update courses. | MDL-30062 | |
user | core_user_get_users() | 2.5 | Search users. - If you want to get multiple users for one specific field, use core_user_get_users_by_field(), it's designed for this purpose and it should be faster. | MDL-29938 |
This is the list of the integrated core functions. To see the roadmap, see to the tracker issue in the section bellow.
API Roadmap
Tracker issue: MDL-29934