Enroll one user

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

  1. Get the sco-id of the course (see Find courses and curriculums ).

  2. Get the principal-id of the user (see List principals or guests ).

  3. 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
  4. Call report-my-training to list all courses and curriculums the user is enrolled in:

    https://example.com/api/xml?action=report-my-training
  5. 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

  1. 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 .

  2. 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 .

  3. 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
  4. 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 .

  5. Call report-my-training to list courses and curriculums the user is enrolled in:

    https://example.com/api/xml?action=report-my-training
  6. 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>

// Ethnio survey code removed