Note: You are currently viewing documentation for Moodle 2.2. Up-to-date documentation for the latest stable version is available here: Using web services.

Using web services

From MoodleDocs

Template:Moodle 2.0This document explains how an administrator set up a web service for ordinary users.

Introduction

A user goes on his security keys page. He gets a security key (also called token). He enters the key on the external application accessing to Moodle. At any time, a user can reset the key if he suspects that it has been stolen. The key is complex, long and difficult to generate. This is the recommended authentication method for web service. This document explains how a Moodle administrator can set it up.

Enable the web service in Moodle

  Settings block > Site Administration > Advanced features
Check Enable web services option and Save Changes

enable ws option.png

Enable a protocol

  Settings block > Site Administration > Plugins > Web services > Manage protocols
Enable the desired protocol (SOAP, REST, XMLRPC, AMF, ...)

ws manageprotocal settings.png

Enable capabilities to users

for create token

you need to set "moodle/webservice:createtoken" capability to the users

for protocols

you need to set the activated protocol (webservice/rest:use, webservice/soap:use,...) capability to the users

Create a service with funtions

  Settings block > Site Administration > Plugins > Web services > External Services
  Click on Add new custom service

externlservices settings.png


Add new custom service page

A service is a group of web service functions. You need to know that Moodle tests if a user has the right to use a service. Moodle doesn't test if an user has a right to use a web service function. By default any user using the web service authentication method will be able to call a service. To restrict a service to some user only you need to select the Restricted users option. When this option is enable, by default no user can user this service.

  Enter a name, check enable
  Click on Save changes

add webservice.png

Add a function to the service

  Settings block > Site Administration > Plugins > Web services > External Services
Click on the Functions link for the newly created service


Service functions page

  Select Add function operation, then select a function and Save changes

wsfunctionadmin.png

selectservicefunction.png


Users visit web service page to get auto token