API
Rogo 6.1.0
Web services
The following restful endpoints are available:
Handler
All module management requests should hit /api/modulemanagement.
Schema
The module management schema is available at /api/schema/modulemanagement/managementrequest.xsd
Create
In order to create a module the create tag needs to be sent containing the name, modluecode, school and faculty tags.
Create Request
<?xml version="1.0" encoding="utf-8"?>
<moduleManagementRequest xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:noNamespaceSchemaLocation="https://localhost/rogo/api/schema/modulemanagement/managementrequest.xsd">
<create id="str1234">
<modulecode>abc</modulecode>
<name>abc</name>
<school>abc</school>
<faculty>abc</faculty>
</create>
</moduleManagementRequest>If the operation is successful the response returns the id of the created module in the id node and a message of 'OK' in the status node. The create tags id attribute is return in order for the external system to match up its request with the response. i.e. a request might contain 100 create requests, meaning we need to be able to identify the response to the specific request.
Create Response
<?xml version="1.0" encoding="utf-8"?>
<moduleManagementResponse>
<create id="str1234">
<id>23</id>
<status_code>100</status_code>
<status>OK</status>
</create>
</moduleManagementResponse>If there is an error performing the operation the response message returns an id in the id node if applicable and a message in the status node. The create tags id attribute is return in order for the external system to match up its request with the response. i.e. a request might contain 100 create requests, meaning we need to be able to identify the response to the specific request.
Create Error Response
<?xml version="1.0" encoding="utf-8"?>
<moduleManagementResponse>
<create id="str1234">
<id>12</id>
<status_code>505</status_code>
<status>Module already exists</status>
</create>
</moduleManagementResponse>Update
In order to update a module the update tag needs to be sent containing an id tag (or external id) of the module to be updated.
Update Request
<?xml version="1.0" encoding="utf-8"?>
<moduleManagementRequest xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:noNamespaceSchemaLocation="https://localhost/rogo/api/schema/modulemanagement/managementrequest.xsd">
<update id="1">
<id>23</id>
<name>abcd</name>
</update>
</moduleManagementRequest>If the operation is successful the response returns the id of the updated module in the id node and a message of 'OK' in the status node. The create tags id attribute is return in order for the external system to match up its request with the response. i.e. a request might contain 100 create requests, meaning we need to be able to identify the response to the specific request.
Update Response
<?xml version="1.0" encoding="utf-8"?>
<moduleManagementResponse>
<update id="1">
<id>23</id>
<status_code>100</status_code>
<status>OK</status>
</update>
</moduleManagementResponse>If there is an error performing the operation the response message returns a null id node and a message in the status node. The create tags id attribute is return in order for the external system to match up its request with the response. i.e. a request might contain 100 create requests, meaning we need to be able to identify the response to the specific request.
Create Error Response
<?xml version="1.0" encoding="utf-8"?>
<moduleManagementResponse>
<update id="1">
<id></id>
<status_code>501</status_code>
<status>Module does not exist</status>
</update>
</moduleManagementResponse>Valid attributes
Attribute | Action | Info | Required? |
|---|
Attribute | Action | Info | Required? |
|---|---|---|---|
id | update | The id used to identify the module to update | Only used when updating |
externalid | create/update | The external is used to identify the module | If using the externalid as your primary identifier instead of id |
externalsys | create/update | The name of the external system | If using the externalid as your primary identifier instead of id |
modulecode | create/update | The code of the module | When creating |
name | create/update | The name of the module | When creating |
school | create/update | School the module is in i.e. 'School of Computer Science' | When creating and if updating faculty |
faculty | create/update | Faculty the module is in i.e. 'Faculty of Science'. | Only when school attribute supplied |
sms | create/update | Student management system used to create module | No |
Delete
In order to delete a module the delete tag needs to be sent containing an id tag of the module to be deleted.
Delete Request
<?xml version="1.0" encoding="utf-8"?>
<moduleManagementRequest xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:noNamespaceSchemaLocation="https://localhost/rogo/api/schema/modulemanagement/managementrequest.xsd">
<delete id="az">
<id>23</id>
</delete>
</moduleManagementRequest>If the operation is successful the response returns the id of the deleted module in the id node and a message of 'OK' in the status node. The delete tags id attribute is return in order for the external system to match up its request with the response. i.e. a request might contain 100 delete requests, meaning we need to be able to identify the response to the specific request.
Delete Response
<?xml version="1.0" encoding="utf-8"?>
<moduleManagementResponse>
<delete id="az">
<id>23</id>
<status_code>100</status_code>
<status>OK</status>
</delete>
</moduleManagementResponse>If there is an error performing the operation the response message returns a null id node and a message in the status node. The delete tags id attribute is return in order for the external system to match up its request with the response. i.e. a request might contain 100 delete requests, meaning we need to be able to identify the response to the specific request.
Create Error Response
<?xml version="1.0" encoding="utf-8"?>
<moduleManagementResponse>
<delete id="az">
<id></id>
<status>You do not have permission to run this action</status>
</delete>
</moduleManagementResponse>Valid attributes
Attribute | Action | Info | Required? |
|---|
Attribute | Action | Info | Required? |
|---|---|---|---|
id | delete | The id used to identify the module to delete | Yes |
externalid | create/update | The external is used to identify the module | If using the externalid as your primary identifier instead of id |
Response Codes
Possible response codes are as follows:
Code | Description |
|---|
Code | Description |
|---|---|
100 | Action successfully performed |
500 | Error deleting module |
501 | Module does not exist |
502 | Cannot delete module as in use |
503 | Error updating module |
504 | Error creating module |
505 | Module already exists |
506 | Faculty not supplied |
511 | School not supplied |
512 | Nothing to update |
513 | School External ID already in use |
Handler
All school management requests should hit /api/schoolmanagement.
Schema
The school management schema is available at /api/schema/schoolmanagement/managementrequest.xsd
Create
In order to create a school the create tag needs to be sent containing the name, and faculty tags.
Create Request
<?xml version="1.0" encoding="utf-8"?>
<schoolManagementRequest xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:noNamespaceSchemaLocation="https://localhost/rogo/api/schema/schoolmanagement/managementrequest.xsd">
<create id="str1234">
<name>abcd</name>
<faculty>abc</faculty>
</create>
</schoolManagementRequest>If the operation is successful the response returns the id of the created school in the id node and a message of 'OK' in the status node. The create tags id attribute is return in order for the external system to match up its request with the response. i.e. a request might contain 100 create requests, meaning we need to be able to identify the response to the specific request.
Create Response
<?xml version="1.0" encoding="utf-8"?>
<schoolManagementResponse>
<create id="str1234">
<id>12</id>
<status_code>100</status_code>
<status>OK</status>
</create>
</schoolManagementResponse>If there is an error performing the operation the response message returns an id in the id node if applicable and a message in the status node. The create tags id attribute is return in order for the external system to match up its request with the response. i.e. a request might contain 100 create requests, meaning we need to be able to identify the response to the specific request.
Create Error Response
<?xml version="1.0" encoding="utf-8"?>
<schoolManagementResponse>
<create id="str1234">
<id>12</id>
<status_code>606</status_code>
<status>School already exists</status>
</create>
</schoolManagementResponse>Update
In order to update a module the update tag needs to be sent containing an id tag (or external id) of the school to be updated.
Update Request
<?xml version="1.0" encoding="utf-8"?>
<schoolManagementRequest xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:noNamespaceSchemaLocation="https://localhost/rogo/api/schema/schoolmanagement/managementrequest.xsd">
<update id="13">
<id>12</id>
<name>abcde</name>
</update>
</schoolManagementRequest>If the operation is successful the response returns the id of the updated school in the id node and a message of 'OK' in the status node. The create tags id attribute is return in order for the external system to match up its request with the response. i.e. a request might contain 100 create requests, meaning we need to be able to identify the response to the specific request.
Update Response
<?xml version="1.0" encoding="utf-8"?>
<schoolManagementResponse>
<update id="13">
<id>12</id>
<status_code>100</status_code>
<status>OK</status>
</update>
</schoolManagementResponse>If there is an error performing the operation the response message returns a null id node and a message in the status node. The create tags id attribute is return in order for the external system to match up its request with the response. i.e. a request might contain 100 create requests, meaning we need to be able to identify the response to the specific request.
Create Error Response
<?xml version="1.0" encoding="utf-8"?>
<schoolManagementResponse>
<update id="1">
<id></id>
<status_code>605</status_code>
<status>Faculty does not exist</status>
</update>
</schoolManagementResponse>Valid attributes
Attribute | Action | Info | Required? |
|---|
Attribute | Action | Info | Required? |
|---|---|---|---|
id | update | The id used to identify the school to update | Only used when updating |
externalid | create/update | The external is used to identify the module | If using the externalid as your primary identifier instead of id |
externalsys | create/update | The name of the external system | If using the externalid as your primary identifier instead of id |
school | create/update | The School i.e. 'School of Computer Science' | When creating |
faculty | create/update | Faculty the school is in i.e. 'Faculty of Science'. | Only when creating a new school |
Delete
In order to delete a module the delete tag needs to be sent containing an id tag of the school to be deleted.
Delete Request
<?xml version="1.0" encoding="utf-8"?>
<schoolManagementRequest xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:noNamespaceSchemaLocation="https://localhost/rogo/api/schema/schoolmanagement/managementrequest.xsd">
<delete id="qwerty">
<id>12</id>
</delete>
</schoolManagementRequest>If the operation is successful the response returns the id of the deleted school in the id node and a message of 'OK' in the status node. The delete tags id attribute is return in order for the external system to match up its request with the response. i.e. a request might contain 100 delete requests, meaning we need to be able to identify the response to the specific request.
Delete Response
<?xml version="1.0" encoding="utf-8"?>
<schoolManagementResponse>
<delete id="qwerty">
<id>12</id>
<status_code>100</status_code>
<status>OK</status>
</delete>
</schoolManagementResponse>If there is an error performing the operation the response message returns a null id node and a message in the status node. The delete tags id attribute is return in order for the external system to match up its request with the response. i.e. a request might contain 100 delete requests, meaning we need to be able to identify the response to the specific request.
Delete Error Response
<?xml version="1.0" encoding="utf-8"?>
<schoolManagementResponse>
<delete id="qwerty">
<id></id>
<status>You do not have permission to run this action</status>
</delete>
</schoolManagementResponse>Valid attributes
Attribute | Action | Info | Required? |
|---|
Attribute | Action | Info | Required? |
|---|---|---|---|
id | delete | The id used to identify the school to delete | Yes |
externalid | create/update | The external is used to identify the module | If using the externalid as your primary identifier instead of id |
Response Codes
Possible response codes are as follows:
Code | Description |
|---|
Code | Description |
|---|---|
100 | Action successfully performed |
600 | Error deleting school |
601 | School does not exist |
602 | Error updating school |
603 | Error creating school |
604 | Cannot delete school in use |
605 | Faculty supplied invalid |
606 | School already exists |
607 | Nothing to update |
608 | Faculty External ID invalid |
Handler
All course management requests should hit /api/coursemanagement.
Schema
The course management schema is available at /api/schema/coursemanagement/managementrequest.xsd
Create
In order to create a course the create tag needs to be sent containing the name, description and school tags (ty as well if new school).
Create Request
<?xml version="1.0" encoding="utf-8"?>
<courseManagementRequest xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:noNamespaceSchemaLocation="https://localhost/rogo/api/schema/coursemanagement/managementrequest.xsd">
<create id="str1234">
<name>rogotest</name>
<description>rogo test</description>
<school>test</school>
</create>
</courseManagementRequest>If the operation is successful the response returns the id of the created course in the id node and a message of 'OK' in the status node. The create tags id attribute is return in order for the external system to match up its request with the response. i.e. a request might contain 100 create requests, meaning we need to be able to identify the response to the specific request.
Create Response
<?xml version="1.0" encoding="utf-8"?>
<courseManagementResponse>
<create id="str1234">
<id>13</id>
<status_code>100</status_code>
<status>OK</status>
</create>
</courseManagementResponse>If there is an error performing the operation the response message returns an id in the id node if applicable and a message in the status node. The create tags id attribute is return in order for the external system to match up its request with the response. i.e. a request might contain 100 create requests, meaning we need to be able to identify the response to the specific request.
Create Error Response
<?xml version="1.0" encoding="utf-8"?>
<courseManagementResponse>
<create id="str1234">
<id>13</id>
<status_code>306</status_code>
<status>Course already exists</status>
</create>
</courseManagementResponse>Update
In order to update a module the update tag needs to be sent containing an id tag of the course to be updated.
Update Request
<?xml version="1.0" encoding="utf-8"?>
<courseManagementRequest xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:noNamespaceSchemaLocation="https://localhost/rogo/api/schema/coursemanagement/managementrequest.xsd">
<update id="str1234">
<id>13</id>
<school>test 2</school>
<faculty>test faculty</faculty>
</update>
</courseManagementRequest>If the operation is successful the response returns the id of the updated course in the id node and a message of 'OK' in the status node. The create tags id attribute is return in order for the external system to match up its request with the response. i.e. a request might contain 100 create requests, meaning we need to be able to identify the response to the specific request.
Update Response
<?xml version="1.0" encoding="utf-8"?>
<courseManagementRequest>
<update id="str1234">
<id>13</id>
<status_code>100</status_code>
<status>OK</status>
</update>
</courseManagementRequest>If there is an error performing the operation the response message returns a null id node and a message in the status node. The create tags id attribute is return in order for the external system to match up its request with the response. i.e. a request might contain 100 create requests, meaning we need to be able to identify the response to the specific request.
Create Error Response
<?xml version="1.0" encoding="utf-8"?>
<courseManagementRequest>
<update id="1">
<id></id>
<status_code>301</status_code>
status>Course does not exist</status>
</update>
</courseManagementRequest>Valid attributes
Attribute | Action | Info | Required? |
|---|
Attribute | Action | Info | Required? |
|---|---|---|---|
id | update | The id used to identify the course to update | Only used when updating |
externalid | create/update | The external is used to identify the module | If using the externalid as your primary identifier instead of id |
externalsys | create/update | The name of the external system | If using the externalid as your primary identifier instead of id |
name | create/update | The code of the course i.e. EA03 | When creating |
description | create/update | Description of the course i.e. 'Computer Science with Artificial Intelligence (2+2)(4 Year UG (yr 1 foundation))' | When creating |
school | create/update | School the course is in i.e. 'School of Computer Science' | When creating |
faculty | create/update | Faculty the school is in i.e. 'Faculty of Science'. | Only when school attribute supplied |
Delete
In order to delete a module the delete tag needs to be sent containing an id tag of the course to be deleted.
Delete Request
<?xml version="1.0" encoding="utf-8"?>
<courseManagementRequest xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:noNamespaceSchemaLocation="https://localhost/rogo/api/schema/coursemanagement/managementrequest.xsd">
<delete id="qwerty">
<id>13</id>
</delete>
</courseManagementRequest>If the operation is successful the response returns the id of the deleted course in the id node and a message of 'OK' in the status node. The delete tags id attribute is return in order for the external system to match up its request with the response. i.e. a request might contain 100 delete requests, meaning we need to be able to identify the response to the specific request.
Delete Response
<?xml version="1.0" encoding="utf-8"?>
<courseManagementRequest>
<delete id="qwerty">
<id>13</id>
<status_code>100</status_code>
<status>OK</status>
</delete>
</courseManagementRequest>If there is an error performing the operation the response message returns a null id node and a message in the status node. The delete tags id attribute is return in order for the external system to match up its request with the response. i.e. a request might contain 100 delete requests, meaning we need to be able to identify the response to the specific request.
Delete Error Response
<?xml version="1.0" encoding="utf-8"?>
<courseManagementRequest>
<delete id="qwerty">
<id></id>
<status>You do not have permission to run this action</status>
</delete>
</courseManagementRequest>Valid attributes
Attribute | Action | Info | Required? |
|---|
Attribute | Action | Info | Required? |
|---|---|---|---|
id | delete | The id used to identify the course to delete | Yes |
externalid | create/update | The external is used to identify the module | If using the externalid as your primary identifier instead of id |
Response Codes
Possible response codes are as follows:
Code | Description |
|---|
Code | Description |
|---|---|
100 | Action successfully performed |
300 | Error deleting course |
301 | Course does not exist |
302 | Cannot delete course as in use |
303 | Invalid faculty |
304 | Error updating course |
305 | Error creating course |
306 | Course already exists |
307 | School not supplied |
308 | Request updates nothing |
309 | School External ID already in use |
Handler
All faculty management requests should hit /api/facultymanagement.
Schema
The faculty management schema is available at /api/schema/facultymanagement/managementrequest.xsd
Create
In order to create a faculty the create tag needs to be sent containing the name.
Create Request
<?xml version="1.0" encoding="utf-8"?>
<facultyManagementRequest xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:noNamespaceSchemaLocation="https://localhost/rogo/api/schema/facultymanagement/managementrequest.xsd">
<create id="str1234">
<name>abc</name>
</create>
</facultyManagementRequest>If the operation is successful the response returns the id of the created faculty in the id node and a message of 'OK' in the status node. The create tags id attribute is return in order for the external system to match up its request with the response. i.e. a request might contain 100 create requests, meaning we need to be able to identify the response to the specific request.
Create Response
<?xml version="1.0" encoding="utf-8"?>
<facultyManagementResponse>
<create id="str1234">
<id>11</id>
<status_code>100</status_code>
<status>OK</status>
</create>
</facultyManagementResponse>If there is an error performing the operation the response message returns an id in the id node if applicable and a message in the status node. The create tags id attribute is return in order for the external system to match up its request with the response. i.e. a request might contain 100 create requests, meaning we need to be able to identify the response to the specific request.
Create Error Response
<?xml version="1.0" encoding="utf-8"?>
<facultyManagementResponse>
<create id="str1234">
<id>10</id>
<status_code>401</status_code>
<status>Faculty already exists</status>
</create>
</facultyManagementResponse>Update
In order to update a module the update tag needs to be sent containing an id tag of the faculty to be updated.
Update Request
<?xml version="1.0" encoding="utf-8"?>
<facultyManagementRequest xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:noNamespaceSchemaLocation="https://localhost/rogo/api/schema/facultymanagement/managementrequest.xsd">
<update id="str1234">
<id>11</id>
<name>abcde</name>
</update>
</facultyManagementRequest>If the operation is successful the response returns the id of the updated faculty in the id node and a message of 'OK' in the status node. The create tags id attribute is return in order for the external system to match up its request with the response. i.e. a request might contain 100 create requests, meaning we need to be able to identify the response to the specific request.
Update Response
<?xml version="1.0" encoding="utf-8"?>
<facultyManagementResponse>
<update id="str1234">
<id>11</id>
<status_code>100</status_code>
<status>OK</status>
</update>
</facultyManagementResponse>If there is an error performing the operation the response message returns a null id node and a message in the status node. The create tags id attribute is return in order for the external system to match up its request with the response. i.e. a request might contain 100 create requests, meaning we need to be able to identify the response to the specific request.
Create Error Response
<?xml version="1.0" encoding="utf-8"?>
<facultyManagementResponse>
<update id="str1234">
<id></id>
<status_code>402</status_code>
<status>Faculty not updated</status>
</update>
</facultyManagementResponse>Valid attributes
Attribute | Action | Info | Required? |
|---|
Attribute | Action | Info | Required? |
|---|---|---|---|
id | update | The id used to identify the faculty to update | Only used when updating |
externalid |