Get the sco-id of the course (see Find courses and curriculums).
Enroll users in courses or enable self-enrollment so that users have appropriate permission to launch and complete the courses.
To give users access to training, Adobe recommends that you enroll them in courses. This gives the users appropriate permission to launch and complete the course, and it gives you usage tracking and access to various report actions.
Courses differ from content. Courses are resumable and offer server-side review mode (for detailed information, see Adobe Connect User Guide).
Your application might allow users to self-enroll in courses, which involves calling permissions-update to enroll one user at a time. You may also want to write a workflow, which is a sequence of API calls, that creates a new user and enrolls the user in a course.
Enrolling users in training using the XML API (specifically, a call to permissions-update) does not send a notification. To send enrollment notifications, use Adobe Connect Central to enroll users.
Enroll one user in a course or curriculum
-
-
Get the principal-id of the user (see List principals or guests).
-
To enroll the user in the course, call permissions-update. Use the course sco-id as the acl-id, with a permission-id of view:
https://example.com/api/xml?action=permissions-update &acl-id=2007035246&principal-id=2006258745&permission-id=view
-
Call report-my-training to list all courses and curriculums the user is enrolled in:
https://example.com/api/xml?action=report-my-training
-
Parse the row elements in the response for values you want to display:
<row sco-id="2007035246" type="content" icon="course" permission-id="view"> <name>Java 101</name> <url>example.com/java101/</url> <date-created>2006-07-20T17:21:11.940-07:00</date-created> <date-modified>2006-07-20T17:21:38.860-07:00</date-modified> <date-begin>2006-07-20T17:15:00.000-07:00</date-begin> <url-path>/java101/</url-path> <expired>false</expired> <completed>false</completed> </row>
Enroll a new user by workflow
-
Call principal-update to create the new user and send a welcome e-mail:
https://example.com/api/xml?action=principal-update&first-name=jazz &last-name=doe&login=jazz@doe.com&password=hello&type=user &send-email=true&has-children=0&email=jazz@doe.com
To send the e-mail, make sure send-email=true.
-
Log the user in to the server:
https://example.com/api/xml?action=login&login=jazz@doe.com &password=hello&session=breezma6zor9rdfps8h6a
See Log in from an application for other ways to call login.
-
Call group-membership-update with is-member=true to add the user to the group:
https://example.com/api/xml?action=group-membership-update &group-id=4930296&principal-id=2006258745&is-member=true
-
Call permissions-update to enroll the user in a curriculum:
https://example.com/api/xml?action=permissions-update &acl-id=2006745669&principal-id=2007124930&permission-id=view
Use a permission-id of view.
-
Call report-my-training to list courses and curriculums the user is enrolled in:
https://example.com/api/xml?action=report-my-training
-
Parse the row elements in the response for values you want to display:
<row sco-id="2006745669" type="curriculum" icon="curriculum" permission-id="view"> <name>A Day in the Life</name> <url>example.com/day/</url> <date-created>2006-06-12T14:47:59.903-07:00</date-created> <date-modified>2006-06-12T14:47:59.903-07:00</date-modified> <date-begin>2006-06-12T14:45:00.000-07:00</date-begin> <url-path>/day/</url-path> <expired>false</expired> <completed>false</completed> </row>