Pearson
Always Learning

Overview

Creates a new course shell, which is one instance of a course. The course has no existing settings or content, including no name, course codes, etc.

Note:To create a copy of a course that retains the existing settings (i.e., course title), use Copy Course Without Content operation. To copy a course with it's content, use Copy a Course With Content. To copy another course's content into an empty shell (like what this operation creates), use Copy Course Content Into an Empty Shell.

Note:This is the only Courses-related SIS API that will provide you a LearningStudio Course ID in its response. Because the other course-creation operations involve copying, that is technically queued for operation (though it is placed at the top of the queue).

You can create an empty course with this operation and then copy content into it using Copy Course Content Into an Empty Shell to have a Course ID immediately. Or, if using the other copy-based operations, use the RESTful Course Information API with the call number you set to get the course ID later.

Accessing the Enterprise Course Service

LearningStudio requires a username and password to access the API web services. Your Strategic Customer Operations (SCO) team should have provided you with the necessary credentials. These credentials are included in the SOAP header.

Element Description
Operation Name CreateCourseSection
End-point URL https://ccws-services.ecollege.com/EnterpriseServices/v2.2/EnterpriseCourse.svc
WSDL Compressed zip file of WSDL files
WS-Address http://ccws-services.ecollege.com/EnterpriseServices/v2.2/EnterpriseCourse.svc
Learn more about WS-Addressing in Terms & Courses APIs

Tip: If you are programming in .NET, use WCF 4.0 for communicating with Terms & Courses services.

Request Header

All requests must include a WS-Security SOAP Header with the username and password for your LearningStudio campus. Your SOAP library is likely capable of creating this header for you. For more information on the requirements, see SOAP API Security.

Below is a sample CreateCourseSection header.

<header xmlns:wsa="http://www.w3.org/2005/08/addressing"><security soap:mustunderstand="true" xmlns:wsse="http://docs.oasisopen.org/wss/2004/01/oasis-200401-wss-wssecurity-secext-1.0.xsd"><usernametoken wsu:id="UsernameToken-1" xmlns:wsu="http://docs.oasisopen.org/wss/2004/01/oasis-200401-wss-wssecurity-utility-1.0.xsd"><username>{USERNAME}</username><password type="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-usernametoken-profile-1.0#PasswordText">{PLAINTEXT_PASSWORD}</password><nonce encodingtype="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-soapmessage-security-1.0#Base64Binary">{RANDOM_VALUE}</nonce><created>{UTC_TIMESTAMP}</created></usernametoken></security><action>{ACTION_DEFINED_BY_WSDL}</action><to>{ADDRESSING_URL}</to></header>

Request Body

The elements of the CreateCourseSection request XML request body are detailed in the following table. The top level element is always CreateCourseSection, and all these elements are children of the top node.

Element Description Required?
createCourseSection Container for course section information. Note, this is nearly identical to the top level element; by convention, the first letter here is lower case. Required
createCourseSection
    ↳ClientString
LearningStudio Client String for the campus / Education Partner (client). For Strata University, this would be strata. Required
createCourseSection
    ↳PrimaryClientSortString
LearningStudio node sort string where the new course section will reside. For example, if this is in the business school node at Strata University, this value may be strata.business. (in Client Sort Strings, always include the final period). Required
createCourseSection
    ↳BillingClassification

The billing type for this course. That is, 100% online, 50/50 online/on-ground, less than 50% online, and so on. Consult your Strategic Customer Operations consultant for what values apply to your situation. This element was added to this operation in version 2.2 of the service. Prior, all courses created with this operation were set to ECourse. Possible values are:

  • ECourse (default if no value is specified in the request, and the most common)
  • ECompanion
  • Evaluation
  • Hybrid
Optional
createCourseSection
    ↳SectionTitle
Title for the new course section. Required
createCourseSection
    ↳SectionDescription
Description for the new course section. Optional
createCourseSection
    ↳DestinationCourseIdentifier
Container for your system's course identifier for this course section. Required
createCourseSection
    ↳DestinationCourseIdentifier
            ↳ID

Your system's identifier for this course section. This must be unique for each new course section or copy of a course. We recommend using Call Number for this and the next element - call numbers can be easily managed via Admin Pages and can be used in the LearningStudio Course APIs. Sourced ID is only used by LearningStudio behind the scenes and isn't retrievable in the UI or APIs.

Important: When using a call number, do not include dashes (–). Call numbers with dashes can't be used with the RESTful Course APIs.

Required
createCourseSection
    ↳DestinationCourseIdentifier
            ↳MappingType
How the new course section is identified. Possible values are:

  • CallNumber (Recommended)
  • SourcedID
Required
createCourseSection
    ↳CourseCallNumberExpiresOn
Date the call number for the new course section will expire. The maximum date this value can be set to is 6/6/2079. However, to instead set this value to NULL, simply omit this element from the request. Optional
createCourseSection
    ↳DestinationTermIdentifier
Container for the information that identifies the term in which you are creating this course. Required
createCourseSection
    ↳DestinationTermIdentifier
            ↳ID

External identifier for the term in which to place the new course section. This can be either the LearningStudio Term ID returned from Create a Term, or the Sourced ID you used when creating the term (i.e., the value in the standardTermRequest\ID\ID element).

If you want to use the LearningStudio Term ID, prefix it with ECLG:, for example: ECLG:01234567.

Required
createCourseSection
    ↳DestinationTermIdentifier
            ↳MappingType
How the destination term is identified. Possible values are:

  • TermID - If using the LearningStudio Term ID in the previous element.
  • SourcedID - If using your own identifier in the previous element.
Required
createCourseSection
    ↳DisplayCourseCode
Display course code for the new course section, e.g. "MATH-101". Required
createCourseSection
    ↳IsEnrollable
Boolean flag indicating whether users can be enrolled in the new course section. Typically this is always set to true Required
createCourseSection
    ↳CourseVersion
The only valid value for this element is DotNext. Required
createCourseSection
    ↳RegistrationLimit
Number of students that can be enrolled in the course. Note that "0" is interpreted as unlimited, and if you leave this element out, it is interpreted as unlimited (this is most common). Optional
createCourseSection
    ↳SectionNumber
Section number for the new course section. If used, the value must be numeric and between 0 - 255. Optional
createCourseSection
    ↳TermID
This is a legacy element from a retired workflow, and it has nothing to do with the DestinationTermIdentifier element above. Always set this value to 0 (zero). Required
createCourseSection
    ↳WaitListLimit
Number of waitlisted users allowed for the course section. This is a legacy element from a retired workflow, and can be left out of the request. Optional

Request Body Sample

Here is a text view of the body from a sample CreateCourseSection request message:

<createcoursesection><createcoursesection><clientstring>gbtestc</clientstring><coursecallnumbersexpireon>2050-12-31</coursecallnumbersexpireon><courseversion>DotNext</courseversion><destinationcourseidentifier><id>ACCT4430_CCWSv2.2DocCreate</id><mappingtype>CallNumber</mappingtype><coursecallnumbers><coursecallnumber><clientcallnumber>ACCT4430_Fall12Accelerated_Bus2</clientcallnumber><clientcallnumber>ACCT4430_Fall12Accelerated_Bus3A</clientcallnumber></coursecallnumber></coursecallnumbers></destinationcourseidentifier><destinationtermidentifier><id>ECLG:91042</id><mappingtype>TermID</mappingtype></destinationtermidentifier><displaycoursecode>ACCT4430</displaycoursecode><isenrollable>1</isenrollable><primaryclientsortstring>gbtestc.two.</primaryclientsortstring><registrationlimit>0</registrationlimit><sectiondescription>via Course Service v2.2</sectiondescription><sectionnumber>15</sectionnumber><sectiontitle>Advanced Auditing</sectiontitle><termid>0</termid><waitlistlimit>0</waitlistlimit><billingclassification>eCourse</billingclassification></createcoursesection></createcoursesection>

Response

The CreateCourseSectionResponse elements:

Element Description
CreateCourseSectionResponse Top Level Element
CreateCourseSectionResponse
    ↳CreateCourseSectionResult
Container for response
CreateCourseSectionResponse
    ↳CreateCourseSectionResult
            ↳SectionKey
The Course ID for the created course.
CreateCourseSectionResponse
    ↳CreateCourseSectionResult
            ↳TemplateKey
The Course Template ID. This is internal to LearningStudio, you can ignore it.
<createcoursesectionresponse xmlns="urn:eclg:coursecopy:enterprisecourse"><createcoursesectionresult xmlns:b="http://CCWSServices.eCollege.com/EnterpriseServices/Types/v2.1/" xmlns:i="http://www.w3.org/2001/XMLSchema-instance"><sectionkey>7020817</sectionkey><templatekey>278326</templatekey></createcoursesectionresult></createcoursesectionresponse>

2837 reads
Always Learning
Pearson