This method allows you to retrieve course properties from courses you have access to. If organisation level access is used, only courses belonging to the selected organisations will be returned. You can choose to read all courses, courses belonging to a specific organisation, courses belonging to a specific term or individual courses. Additionally it is possible to include all course properties or just a basic set of properties. Please note that if you choose to include all properties the performance impact on the server is higher, so only request these properties if you actually need them.
Input parameters
Name | Description | Type | Mandatory/Optional |
---|---|---|---|
SiteId | Site where action will be executed. | Integer | Optional |
VendorId | VendorId. Currently not used. | Text | Optional |
PageIndex | Index of the requested page. | Integer | Optional (defaults to 0) |
PageSize | Size of the requested page. | Integer | Optional (defaults to 100) |
Id | Identifier of an entity to filter the result set on. Refer to IdType to the impact of this setting. | Integer | Optional if IdType = unspecified Mandatory if IdType ~= unspecified |
IdType | The type of the identifier specified by Id.
NOTE1: If IdType is CourseId or CourseSyncKey the service will return an error if the specified course is deleted. If IdType is any other value the result set will not include any deleted or archived courses. NOTE2: If the Id parameter is passed, the IdType cannot be Unspecified. NOTE3: Only courses connected to organisations you have access to will be returned. | Enum of:
| Optional (defaults to unspecified) |
IncludeAdditionalData | If set to true, the result set will contain all course properties. If set to false, the AdditionalData output parameter will always be null. | Boolean | Optional (defaults to false) |
Output parameters
Name | Description | Type |
---|---|---|
CurrentPageIndex | The index of the current page. | Integer |
PageSize | The size of the current page. | Integer |
Total | The total number of items which meet the input parameters. | Integer |
Courses | Array of courses containing one row for each course in the page. | Course[] |
| Identifier of the course. | Integer |
| SyncKey of the course. | String |
| Course code. | String |
| Course title. | String |
| Identifier of the organisation. | Integer |
| Organisation title. | String |
| SyncKey of the organisation. | String |
| Node containing all the additional data. This is only populated if the input parameter IncludeAdditionalData is set to true. | Custom |
| Set to true if the course setting for AICC access is enabled. | Boolean |
| Set to true if any of the course catalogues are enabled. | Boolean |
| Set to true if students can withdraw themselves from the course. | Boolean |
| The number of free seats in case the course catalogue is enabled. | Boolean |
| The registration type in case the course catalogue is enabled. | Enum of:
|
| The course credits. | String |
| The date at which the course was created. | DateTime |
| The PersonId of the course creator. | Integer |
| Specifies if this course is an early learner course or a normal course. | Boolean |
| The date at which this course was last accessed by a course participant. | DateTime |
| The date at which this course was last updated. | DateTime |
| Array containing the associated term identifiers. | Integer[] |
| Array containing all course functions. | CourseFunction[] |
| Specifies if the course function is active or not. | Boolean |
| The name of the course function (in English). | String |
| Array containing course template information | ShareAsTemplate[] |
ShareAsTemplate | ||
Name | Description | Type |
Scope | Scope | Text
|
OrganisationSyncKey | SyncKey of the organisation the template is shared with, if Scope = School or Site | Text |
Example #1 - Unfiltered request
<
soapenv
:Envelope
xmlns:soapenv
=
"http://schemas.xmlsoap.org/soap/envelope/"
xmlns:tem
=
"http://tempuri.org/"
xmlns:its
=
"http://schemas.datacontract.org/2004/07/Itslearning.Integration.ContentImport.Model.ServiceEntities"
xmlns:its1
=
"http://schemas.datacontract.org/2004/07/Itslearning.Integration.ContentImport.Model.ServiceEntities.ReadCourses"
>
<
soapenv
:Header/>
<
soapenv
:Body>
<
tem
:ReadCourses>
<
tem
:request></
tem
:request>
</
tem
:ReadCourses>
</
soapenv
:Body>
</
soapenv
:Envelope>
<
s
:Envelope
xmlns:s
=
"http://schemas.xmlsoap.org/soap/envelope/"
xmlns:u
=
"http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-utility-1.0.xsd"
>
<
s
:Header>
<
o
:Security
s:mustUnderstand
=
"1"
xmlns:o
=
"http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-secext-1.0.xsd"
>
<
u
:Timestamp
u:Id
=
"_0"
>
<
u
:Created>2013-10-22T07:37:15.075Z</
u
:Created>
<
u
:Expires>2013-10-22T07:42:15.075Z</
u
:Expires>
</
u
:Timestamp>
</
o
:Security>
</
s
:Header>
<
s
:Body>
<
ReadCoursesResponse
xmlns
=
"http://tempuri.org/"
>
<
ReadCoursesResult
xmlns:a
=
"http://schemas.datacontract.org/2004/07/Itslearning.Integration.ContentImport.Model.ServiceEntities.ReadCourses"
xmlns:i
=
"http://www.w3.org/2001/XMLSchema-instance"
>
<
CurrentPageIndex
xmlns
=
"http://schemas.datacontract.org/2004/07/Itslearning.Integration.ContentImport.Model.ServiceEntities"
>0</
CurrentPageIndex
>
<
PageSize
xmlns
=
"http://schemas.datacontract.org/2004/07/Itslearning.Integration.ContentImport.Model.ServiceEntities"
>100</
PageSize
>
<
Total
xmlns
=
"http://schemas.datacontract.org/2004/07/Itslearning.Integration.ContentImport.Model.ServiceEntities"
>4</
Total
>
<
a
:Courses>
<
a
:Course>
<
a
:AdditionalData
i:nil
=
"true"
/>
<
a
:CourseCode>TestCourse</
a
:CourseCode>
<
a
:CourseId>1</
a
:CourseId>
<
a
:CourseSyncKey>TestCourse</
a
:CourseSyncKey>
<
a
:CourseTitle>TestCourse</
a
:CourseTitle>
<
a
:OrganisationId>1</
a
:OrganisationId>
<
a
:OrganisationName>IMS</
a
:OrganisationName>
<
a
:OrganisationSyncKey>autogenerated_IMS_59969085</
a
:OrganisationSyncKey>
</
a
:Course>
<
a
:Course>
<
a
:AdditionalData
i:nil
=
"true"
/>
<
a
:CourseCode>TestCourse3</
a
:CourseCode>
<
a
:CourseId>2</
a
:CourseId>
<
a
:CourseSyncKey>TestCourse3</
a
:CourseSyncKey>
<
a
:CourseTitle>TestCourse3</
a
:CourseTitle>
<
a
:OrganisationId>1</
a
:OrganisationId>
<
a
:OrganisationName>IMS</
a
:OrganisationName>
<
a
:OrganisationSyncKey>autogenerated_IMS_59969085</
a
:OrganisationSyncKey>
</
a
:Course>
<
a
:Course>
<
a
:AdditionalData
i:nil
=
"true"
/>
<
a
:CourseCode/>
<
a
:CourseId>3</
a
:CourseId>
<
a
:CourseSyncKey/>
<
a
:CourseTitle>TestLuuk4</
a
:CourseTitle>
<
a
:OrganisationId>1</
a
:OrganisationId>
<
a
:OrganisationName>IMS</
a
:OrganisationName>
<
a
:OrganisationSyncKey>autogenerated_IMS_59969085</
a
:OrganisationSyncKey>
</
a
:Course>
<
a
:Course>
<
a
:AdditionalData
i:nil
=
"true"
/>
<
a
:CourseCode>synctest</
a
:CourseCode>
<
a
:CourseId>4</
a
:CourseId>
<
a
:CourseSyncKey/>
<
a
:CourseTitle>SyncTest</
a
:CourseTitle>
<
a
:OrganisationId>1</
a
:OrganisationId>
<
a
:OrganisationName>IMS</
a
:OrganisationName>
<
a
:OrganisationSyncKey>autogenerated_IMS_59969085</
a
:OrganisationSyncKey>
</
a
:Course>
</
a
:Courses>
</
ReadCoursesResult
>
</
ReadCoursesResponse
>
</
s
:Body>
</
s
:Envelope>
Example #2 - Request filtered on OrganisationSyncKey and max response size of 2
<
soapenv
:Envelope
xmlns:soapenv
=
"http://schemas.xmlsoap.org/soap/envelope/"
xmlns:tem
=
"http://tempuri.org/"
xmlns:its
=
"http://schemas.datacontract.org/2004/07/Itslearning.Integration.ContentImport.Model.ServiceEntities"
xmlns:its1
=
"http://schemas.datacontract.org/2004/07/Itslearning.Integration.ContentImport.Model.ServiceEntities.ReadCourses"
>
<
soapenv
:Header/>
<
soapenv
:Body>
<
tem
:ReadCourses>
<
tem
:request>
<
its
:PageIndex>0</
its
:PageIndex>
<
its
:PageSize>2</
its
:PageSize>
<
its1
:Id>autogenerated_IMS_59969085</
its1
:Id>
<
its1
:IdType>OrganisationSyncKey</
its1
:IdType>
<
its1
:IncludeAdditionalData>true</
its1
:IncludeAdditionalData>
</
tem
:request>
</
tem
:ReadCourses>
</
soapenv
:Body>
</
soapenv
:Envelope>
<
s
:Envelope
xmlns:s
=
"http://schemas.xmlsoap.org/soap/envelope/"
xmlns:u
=
"http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-utility-1.0.xsd"
>
<
s
:Header>
<
o
:Security
s:mustUnderstand
=
"1"
xmlns:o
=
"http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-secext-1.0.xsd"
>
<
u
:Timestamp
u:Id
=
"_0"
>
<
u
:Created>2013-10-22T07:45:19.875Z</
u
:Created>
<
u
:Expires>2013-10-22T07:50:19.875Z</
u
:Expires>
</
u
:Timestamp>
</
o
:Security>
</
s
:Header>
<
s
:Body>
<
ReadCoursesResponse
xmlns
=
"http://tempuri.org/"
>
<
ReadCoursesResult
xmlns:a
=
"http://schemas.datacontract.org/2004/07/Itslearning.Integration.ContentImport.Model.ServiceEntities.ReadCourses"
xmlns:i
=
"http://www.w3.org/2001/XMLSchema-instance"
>
<
CurrentPageIndex
xmlns
=
"http://schemas.datacontract.org/2004/07/Itslearning.Integration.ContentImport.Model.ServiceEntities"
>0</
CurrentPageIndex
>
<
PageSize
xmlns
=
"http://schemas.datacontract.org/2004/07/Itslearning.Integration.ContentImport.Model.ServiceEntities"
>2</
PageSize
>
<
Total
xmlns
=
"http://schemas.datacontract.org/2004/07/Itslearning.Integration.ContentImport.Model.ServiceEntities"
>4</
Total
>
<
a
:Courses>
<
a
:Course>
<
a
:AdditionalData>
<
a
:AllowAICC>false</
a
:AllowAICC>
<
a
:AllowCourseCatalogue>false</
a
:AllowCourseCatalogue>
<
a
:AllowWithdrawal>false</
a
:AllowWithdrawal>
<
a
:CourseCatalogueFreeSeats
i:nil
=
"true"
/>
<
a
:CourseCatalogueRegistrationSetting
i:nil
=
"true"
/>
<
a
:CourseCredits/>
<
a
:CourseFunctions>
<
a
:CourseFunction>
<
a
:FunctionActive>false</
a
:FunctionActive>
<
a
:FunctionName>Show Links</
a
:FunctionName>
</
a
:CourseFunction>
<
a
:CourseFunction>
<
a
:FunctionActive>false</
a
:FunctionActive>
<
a
:FunctionName>Show Participants</
a
:FunctionName>
</
a
:CourseFunction>
<
a
:CourseFunction>
<
a
:FunctionActive>false</
a
:FunctionActive>
<
a
:FunctionName>Show Status and follow-up</
a
:FunctionName>
</
a
:CourseFunction>
<
a
:CourseFunction>
<
a
:FunctionActive>false</
a
:FunctionActive>
<
a
:FunctionName>Use Calendar</
a
:FunctionName>
</
a
:CourseFunction>
<
a
:CourseFunction>
<
a
:FunctionActive>false</
a
:FunctionActive>
<
a
:FunctionName>Use Assessment Record</
a
:FunctionName>
</
a
:CourseFunction>
<
a
:CourseFunction>
<
a
:FunctionActive>false</
a
:FunctionActive>
<
a
:FunctionName>Show Bulletin Board</
a
:FunctionName>
</
a
:CourseFunction>
<
a
:CourseFunction>
<
a
:FunctionActive>false</
a
:FunctionActive>
<
a
:FunctionName>Planner</
a
:FunctionName>
</
a
:CourseFunction>
<
a
:CourseFunction>
<
a
:FunctionActive>false</
a
:FunctionActive>
<
a
:FunctionName>Use Attendance Reporting</
a
:FunctionName>
</
a
:CourseFunction>
<
a
:CourseFunction>
<
a
:FunctionActive>true</
a
:FunctionActive>
<
a
:FunctionName>Use Files In Course</
a
:FunctionName>
</
a
:CourseFunction>
<
a
:CourseFunction>
<
a
:FunctionActive>false</
a
:FunctionActive>
<
a
:FunctionName>Portfolio Assessment</
a
:FunctionName>
</
a
:CourseFunction>
<
a
:CourseFunction>
<
a
:FunctionActive>false</
a
:FunctionActive>
<
a
:FunctionName>Learning Objectives</
a
:FunctionName>
</
a
:CourseFunction>
</
a
:CourseFunctions>
<
a
:Created>2013-08-28T11:25:56</
a
:Created>
<
a
:CreatedByPersonId>1</
a
:CreatedByPersonId>
<
a
:IsEarlyLearner>false</
a
:IsEarlyLearner>
<
a
:LastAccessed>2013-10-21T08:56:32</
a
:LastAccessed>
<
a
:LastUpdated>2013-10-21T08:56:31</
a
:LastUpdated>
<
a
:ShareAsTemplate>
<
a
:OrganisationSyncKey
i:nil
=
"true"
/>
<
a
:Scope>NotShared</
a
:Scope>
</
a
:ShareAsTemplate>
<
a
:TermIds
xmlns:b
=
"http://schemas.microsoft.com/2003/10/Serialization/Arrays"
>
<
b
:int>1</
b
:int>
</
a
:TermIds>
</
a
:AdditionalData>
<
a
:CourseCode>TestCourse</
a
:CourseCode>
<
a
:CourseId>1</
a
:CourseId>
<
a
:CourseSyncKey>TestCourse</
a
:CourseSyncKey>
<
a
:CourseTitle>TestCourse</
a
:CourseTitle>
<
a
:OrganisationId>1</
a
:OrganisationId>
<
a
:OrganisationName>IMS</
a
:OrganisationName>
<
a
:OrganisationSyncKey>autogenerated_IMS_59969085</
a
:OrganisationSyncKey>
</
a
:Course>
<
a
:Course>
<
a
:AdditionalData>
<
a
:AllowAICC>false</
a
:AllowAICC>
<
a
:AllowCourseCatalogue>false</
a
:AllowCourseCatalogue>
<
a
:AllowWithdrawal>false</
a
:AllowWithdrawal>
<
a
:CourseCatalogueFreeSeats
i:nil
=
"true"
/>
<
a
:CourseCatalogueRegistrationSetting
i:nil
=
"true"
/>
<
a
:CourseCredits/>
<
a
:CourseFunctions>
<
a
:CourseFunction>
<
a
:FunctionActive>true</
a
:FunctionActive>
<
a
:FunctionName>Show Links</
a
:FunctionName>
</
a
:CourseFunction>
<
a
:CourseFunction>
<
a
:FunctionActive>true</
a
:FunctionActive>
<
a
:FunctionName>Show Participants</
a
:FunctionName>
</
a
:CourseFunction>
<
a
:CourseFunction>
<
a
:FunctionActive>true</
a
:FunctionActive>
<
a
:FunctionName>Show Status and follow-up</
a
:FunctionName>
</
a
:CourseFunction>
<
a
:CourseFunction>
<
a
:FunctionActive>true</
a
:FunctionActive>
<
a
:FunctionName>Use Calendar</
a
:FunctionName>
</
a
:CourseFunction>
<
a
:CourseFunction>
<
a
:FunctionActive>true</
a
:FunctionActive>
<
a
:FunctionName>Use Assessment Record</
a
:FunctionName>
</
a
:CourseFunction>
<
a
:CourseFunction>
<
a
:FunctionActive>true</
a
:FunctionActive>
<
a
:FunctionName>Show Bulletin Board</
a
:FunctionName>
</
a
:CourseFunction>
<
a
:CourseFunction>
<
a
:FunctionActive>false</
a
:FunctionActive>
<
a
:FunctionName>Planner</
a
:FunctionName>
</
a
:CourseFunction>
<
a
:CourseFunction>
<
a
:FunctionActive>true</
a
:FunctionActive>
<
a
:FunctionName>Use Attendance Reporting</
a
:FunctionName>
</
a
:CourseFunction>
<
a
:CourseFunction>
<
a
:FunctionActive>false</
a
:FunctionActive>
<
a
:FunctionName>Use Files In Course</
a
:FunctionName>
</
a
:CourseFunction>
<
a
:CourseFunction>
<
a
:FunctionActive>false</
a
:FunctionActive>
<
a
:FunctionName>Portfolio Assessment</
a
:FunctionName>
</
a
:CourseFunction>
<
a
:CourseFunction>
<
a
:FunctionActive>false</
a
:FunctionActive>
<
a
:FunctionName>Learning Objectives</
a
:FunctionName>
</
a
:CourseFunction>
</
a
:CourseFunctions>
<
a
:Created>2013-08-30T10:42:35</
a
:Created>
<
a
:CreatedByPersonId>1</
a
:CreatedByPersonId>
<
a
:IsEarlyLearner>false</
a
:IsEarlyLearner>
<
a
:LastAccessed
i:nil
=
"true"
/>
<
a
:LastUpdated>2013-08-30T10:42:35</
a
:LastUpdated>
<
a
:ShareAsTemplate>
<
a
:OrganisationSyncKey>root</
a
:OrganisationSyncKey>
<
a
:Scope>Site</
a
:Scope>
</
a
:ShareAsTemplate>
<
a
:TermIds
xmlns:b
=
"http://schemas.microsoft.com/2003/10/Serialization/Arrays"
/>
</
a
:AdditionalData>
<
a
:CourseCode>TestCourse3</
a
:CourseCode>
<
a
:CourseId>2</
a
:CourseId>
<
a
:CourseSyncKey>TestCourse3</
a
:CourseSyncKey>
<
a
:CourseTitle>TestCourse3</
a
:CourseTitle>
<
a
:OrganisationId>1</
a
:OrganisationId>
<
a
:OrganisationName>IMS</
a
:OrganisationName>
<
a
:OrganisationSyncKey>autogenerated_IMS_59969085</
a
:OrganisationSyncKey>
</
a
:Course>
</
a
:Courses>
</
ReadCoursesResult
>
</
ReadCoursesResponse
>
</
s
:Body>
</
s
:Envelope>
Error states
If you request an individual course, the following cases will return an error:
- The requested course does not exist.
- The requested course has been deleted.
- The requested course exists, but belongs to an organisation the requester does not have access to.
If you request all courses from an organisation, the following cases will return an error:
- The requested organisation does not exist.
- The requester has no access to the specified organisation.
If you request all courses from a term, the following cases will return an error:
- The requested term does not exist.
- The requested term has been deleted.
Additionally, for all requests, the following cases will return an error:
- IdType is other than Unspecified, but no Id is specified.
- Id is passed, but no IdType is specified.