Web services: Difference between revisions
From MoodleDocs
Line 15: | Line 15: | ||
The full API can be found on any Moodle sites under ''' Administration block > Plugins > Web services > API Documentation'''. | The full API can be found on any Moodle sites under ''' Administration block > Plugins > Web services > API Documentation'''. | ||
'''Note''' Additional services are available for uploading and downloading files which are not in the API Documentation - they are accessed in a different way. See [[Web services files handling]] | '''Note:''' Additional services are available for uploading and downloading files which are not in the API Documentation - they are accessed in a different way. See [[Web services files handling]] | ||
* [[How to contribute a web service function to core]] | * [[How to contribute a web service function to core]] |
Revision as of 21:31, 2 April 2020
How it works
This simple example will give you an idea of how our web services infrastructure works.
- The client sends a username and password to the web service login script.
- The script returns a token for that user account.
- The client calls a particular web service function on a protocol server including the token .
- The protocol server uses the token to check that the user can call the function.
- The protocol server calls the matching external function, located in a externallib.php file inside the relevant module.
- The external function checks that the current user has_capability to do this operation.
- The external function calls the matching Moodle core function (in lib.php usually).
- The core function can return a result to the external function.
- The external function will return a result to the protocol server.
- The protocol server returns the result to the client.
Developer documentation
The full API can be found on any Moodle sites under Administration block > Plugins > Web services > API Documentation.
Note: Additional services are available for uploading and downloading files which are not in the API Documentation - they are accessed in a different way. See Web services files handling
- How to contribute a web service function to core
- Adding a web service to your plugin
- Implement a web service client
- Web services files handling
- Web service Listing & Roadmap
Specification and brainstorming
See also
- Web service API functions
- Web services FAQ
- How to create and enable a web service
- How to enable the mobile web service
- Web services user documentation
- Mastering Moodle Web Services development - Last session of the Hackfest in the MoodleMoot UK 2016