Note:

If you want to create a new page for developers, you should create it on the Moodle Developer Resource site.

Mnet Web services API: Difference between revisions

From MoodleDocs
Line 16: Line 16:


==The server script==
==The server script==
* allow trusted sites to access web services by configuring '''/admin/mnet/trustedhosts.php'''
* allow trusted sites to access web services by configuring '''admin/mnet/trustedhosts.php'''
* start by pointing your browser to '''/mnet/xmlrpc/server.php''' - this should show an XML error message
* start by pointing your browser to '''mnet/xmlrpc/server.php''' - this should show an XML error message
* use POST data in this format:
* use POST data in this format:
  // $method is something like: "mod/forum/lib/forum_add_instance"
  // $method is something like: "mod/forum/lib/forum_add_instance"
Line 24: Line 24:
  // The method name must not begin with a / - avoid absolute paths
  // The method name must not begin with a / - avoid absolute paths
  // A dot character . is only allowed in the filename, i.e. something.php
  // A dot character . is only allowed in the filename, i.e. something.php
* use '''mnet/xmlrpc/client.php''' to make remote xmlrpc calls


==Things you can do==
==Things you can do==

Revision as of 06:30, 19 July 2007

Overview

The Web Services API provides Moodle with a web service interface to allow exchange of data and information with other systems.

For example,

  1. Manage user data - send and retrieve the information,
  2. Manage course enrolments - add/remove teachers and students,
  3. Course management - create new courses based on templates,
  4. Gradebook info - extract grades information from Moodle.

XML-RPC background

The XML-RPC service allows other servers to contact your Moodle server and request that it call a function. The Moodle server might do something, like create a user, or it might fetch some data and serve it back to your host.

To communicate like this with another Moodle host, you'd normally use the Moodle Network [1] features, but it's also possible for other kinds of program to contact your Moodle, using plain-old-XML-RPC, with Moodle Network's encryption or signed-message features.

The server script

  • allow trusted sites to access web services by configuring admin/mnet/trustedhosts.php
  • start by pointing your browser to mnet/xmlrpc/server.php - this should show an XML error message
  • use POST data in this format:
// $method is something like: "mod/forum/lib/forum_add_instance"
// $params is an array of parameters. A parameter might itself be an array.
// use only Whitelist characters that are permitted in a method name
// The method name must not begin with a / - avoid absolute paths
// A dot character . is only allowed in the filename, i.e. something.php
  • use mnet/xmlrpc/client.php to make remote xmlrpc calls

Things you can do

See also