Registration Service

API V1 reference

This page applies to SCORM Cloud API V1. You can check out the API V2 reference here.

Registration Service

This service provides calls for creating and removing registrations, and launching existing registrations.




createRegistration

  • Semantics: This method is used to create a new registration. A registration will contain a few pieces of information such as a learner name, a learner id, and optionally, information about where activity data should be posted (for client consumption), as well as a way to specify simple authentication schemes for posting said data, as noted below. A registration must be tied to a specific course at creation time. When the created registration is “launched”, the course specified at creation time will be launched.

  • Required Arguments:

    • appid-- Your application id
    • courseid-- The course for which this registration is being created
    • regid-- The id used to identify this registration (it must be unique)
    • fname-- The first name of the learner associated with this registration
    • lname-- The last name of the learner associated with this registration
    • learnerid-- The learner id associated with this registration (multiple registrations can be associated w/ the same learner id)
  • Optional Arguments:

    • email-- If the email parameter is included, this registration will be attached to a SCORM Cloud website user (an “empty” user will be created if none with this email exists). Attaching registrations to a SCORM Cloud user via an email address will enhance the experience of both learners and administrators on the SCORM Cloud website, and it allows a centralizing of learning data for the user who owns the email address. It is optional, but highly recommended!
    • postbackurl-- Specifies a URL for which to post activity and status data in real time as the course is completed
      • If the authtype specified is form, or not included, then this status data is posted as ‘data’ (the key name) along with the other form variables. If the authtype is specified as httpbasic, then the data is HTTP POSTed as the body of the request. The data starts with the <registrationreport ... > element and uses the schema documented in getRegistrationResult.
      • For information on testing your postbackurl, see the testRegistrationPostUrl call.
      • To update postback information or specify later, call updatePostbackInfo.
    • authtype-- Optional parameter to specify how to authorize against the given postbackurl, can be “form” or “httpbasic”. If form authentication, the username and password for authentication are submitted as form fields “username” and “password”, and the registration data as the form field “data”. If httpbasic authentication is used, the username and password are placed in the standard Authorization HTTP header, and the registration data is the body of the message (sent as text/xml content type). This field is set to “form” by default.
    • urlname-- You can optionally specify a login name to be used for credentials when posting to the URL specified in postbackurl
    • urlpass-- If credentials for the postbackurl are provided, this must be included, it is the password to be used in authorizing the postback of data to the URL specified by postbackurl
    • resultsformat-- This parameter allows you to specify a level of detail in the information that is posted back while the course is being taken. It may be one of three values: “course” (course summary), “activity” (activity summary, or “full” (full detail), and is set to “course” by default. The information will be posted as xml, and the format of that xml is specified below under the method “getRegistrationResult”
  • Example Call:

    http://cloud.scorm.com/api?method=rustici.registration.createRegistration&appid=myappid&courseid=course003&regid=myreg001&fname=jimbo&lname=roth&learnerid=jroth(postbackurl=[encoded url]&authtype=form&urlname=iki&urlpass=secretish&resultformat=course&)
    
    • Note that it could be fairly easy to exceed the maximum length of a query string based GET using this call, and hence the POST action should be used in those cases
  • Example response:

   <success/>
  • Error Codes:

    • 1-- Couldn’t find the course specified by courseid belonging to appid
    • 2-- Registration already exists
    • 3-- Postback URL login name specified without password




exists

  • Semantics: This method is used to check a whether or not the specified registration exists.

  • Required Arguments:

    • appid-- Your application id
    • regid-- The id used to identify this registration
  • Example response:

   <result>true</result>




deleteRegistration

  • Semantics: A call to this method will attempt to delete the registration named by regid, and will consequently report success or throw an error.

  • Required Arguments:

    • appid-- Your application id
    • regid-- The unique identifier for this registration
  • Example Call:

    http://cloud.scorm.com/api?method=rustici.registration.deleteRegistration&appid=myappid&regid=myreg001
    
  • Example response:

   <success/>
  • Error codes:

    • 1-- The registration specified by regid does not exist




resetRegistration

  • Semantics: Calling this method will reset the specified registration. This is essentially the same as deleting and recreating the registration, and as such, will delete all the data associated with the registration (including launch history, etc.). If the course for which the registration is registered has multiple versions, the registration being reset will automatically be registered for the latest version.

  • Required Arguments:

    • appid-- Your application id
    • regid-- The unique identifier for this registration
  • Optional Arguments: none

  • Example Call:

    http://cloud.scorm.com/api?method=rustici.registration.resetRegistration&appid=myappid&regid=myreg001
    
  • Example response:

   <success/>
  • Error codes:

    • 1-- The registration specified by regid does not exist




getRegistrationList

  • Semantics: This method will return a list of registrations associated with the given appid. If the optional filter parameter is specified, it will be used as a regular expression against the registration id to filter the returned list of registrations. Also, another optional parameter, coursefilter, can be used as a regular expression against the course id to filter the list so that only registrations for courses matching the expression will be returned.

  • Required Arguments:

    • appid-- Your application id
  • Optional Arguments:

    • courseid-- Limit search to only registrations for the course specified by this courseid
    • learnerid-- Limit search to only registrations for the learner specified by this learnerid
    • after-- Return registrations updated (strictly) after this timestamp.
    • until-- Return registrations updated up to and including this timestamp.
  • Example Call:

    http://cloud.scorm.com/api?method=rustici.registration.getRegistrationList&appid=myappid&after=2011-02-01T21:39:23Z
    
  • Example response:

   <registrationlist>
     <registration id="reg4" courseid="test321">
       <appId>myappid</appId>
       <registrationId>reg4</registrationId>
       <courseId>test321</courseId>
       <courseTitle>Test Course</courseTitle>
       <learnerId>test_learner</learnerId>
       <learnerFirstName>Test</learnerFirstName>
       <learnerLastName>Learner</learnerLastName>
       <email>test@test.com</email>
       <createDate>2011-03-23T14:00:45.000+0000</createDate>
       <firstAccessDate>2011-06-06T16:08:18.000+0000</firstAccessDate>
       <lastAccessDate>2011-06-06T16:36:12.000+0000</lastAccessDate>
       <completedDate>2011-06-06T16:36:12.000+0000</completedDate>
       <instances />
      </registration>
          ...
    </registrationlist>




getRegistrationDetail

  • Semantics: This method will return some detail for the registration specified with the given appid and registrationid, including information regarding registration instances. For more information about registration instances and course versions, see Understanding Course Versioning.

  • Required Arguments:

    • appid-- Your application id
    • regid-- The registration id for the given registration
  • Example Call:

    http://cloud.scorm.com/api?method=rustici.registration.getRegistrationDetail&appid=myappid&registrationid=reg123
    
  • Example response:

   <registration id="reg123" courseid="SequencingForcedSequential_SCORM20043rdEditionb0535515-a4c9-4dad-bd85-04bcc54f96b7">
      <appId><![CDATA[myappid]]></appId>
      <registrationId><![CDATA[reg123]]></registrationId>
      <courseId><![CDATA[course123]]></courseId>
      <courseTitle><![CDATA[Golf Explained - Sequencing Forced]]></courseTitle>
      <lastCourseVersionLaunched><![CDATA[2]]></lastCourseVersionLaunched>
      <learnerId><![CDATA[test@test.com]]></learnerId>
      <learnerFirstName><![CDATA[Test]]></learnerFirstName>
      <learnerLastName><![CDATA[Man]]></learnerLastName>
      <email><![CDATA[test@test.com]]></email>
      <createDate><![CDATA[2011-07-25T20:05:01.000+0000]]></createDate>
      <firstAccessDate><![CDATA[2011-07-25T20:23:44.000+0000]]></firstAccessDate>
      <lastAccessDate><![CDATA[2011-07-25T20:55:09.000+0000]]></lastAccessDate>
      <completedDate><![CDATA[2011-07-25T20:33:20.000+0000]]></completedDate>
      <instances>
        <instance>
          <instanceId><![CDATA[0]]></instanceId>
          <courseVersion><![CDATA[1]]></courseVersion>
          <updateDate><![CDATA[2011-07-25T20:33:20.000+0000]]></updateDate>
        </instance>
        <instance>
          <instanceId><![CDATA[1]]></instanceId>
          <courseVersion><![CDATA[2]]></courseVersion>
          <updateDate><![CDATA[2011-07-25T20:55:08.000+0000]]></updateDate>
        </instance>
      </instances>
    </registration>
  • Tin Can Course Example response:
   <registration id="reg123" courseid="SequencingForcedSequential_SCORM20043rdEditionb0535515-a4c9-4dad-bd85-04bcc54f96b7">
      <appId><![CDATA[myappid]]></appId>
      <registrationId><![CDATA[reg123]]></registrationId>
      <courseId><![CDATA[course123]]></courseId>
      <courseTitle><![CDATA[Golf Explained - Sequencing Forced]]></courseTitle>
      <lastCourseVersionLaunched><![CDATA[2]]></lastCourseVersionLaunched>
      <learnerId><![CDATA[test@test.com]]></learnerId>
      <learnerFirstName><![CDATA[Test]]></learnerFirstName>
      <learnerLastName><![CDATA[Man]]></learnerLastName>
      <email><![CDATA[test@test.com]]></email>
      <createDate><![CDATA[2011-07-25T20:05:01.000+0000]]></createDate>
      <firstAccessDate><![CDATA[2011-07-25T20:23:44.000+0000]]></firstAccessDate>
      <lastAccessDate><![CDATA[2011-07-25T20:55:09.000+0000]]></lastAccessDate>
      <completedDate><![CDATA[2011-07-25T20:33:20.000+0000]]></completedDate>
      <tinCanRegistrationId><![CDATA[5e629297-a285-4a25]]></tinCanRegistrationId>
      <instances>
        <instance>
          <instanceId><![CDATA[0]]></instanceId>
          <courseVersion><![CDATA[1]]></courseVersion>
          <updateDate><![CDATA[2011-07-25T20:33:20.000+0000]]></updateDate>
        </instance>
        <instance>
          <instanceId><![CDATA[1]]></instanceId>
          <courseVersion><![CDATA[2]]></courseVersion>
          <updateDate><![CDATA[2011-07-25T20:55:08.000+0000]]></updateDate>
        </instance>
      </instances>
    </registration>




getRegistrationResult

  • Semantics: A call to this method will return information about the specified registration, at a level of detail specified in the optional parameter “resultformat”. Note that non-SCORM Tin Can API courses will only return results for requests where the “resultsformat” is set to “course” due to the lack of actual SCORM data being created by the course.

  • Required Arguments:

    • appid-- Your application id
    • regid-- The unique identifier for this registration
  • Optional Arguments:

    • resultsformat-- This optional parameter can be one of three values, “course”, “activity”, or “full”. If specified as “course”, only top level information such as completion status, success status, total time spent, and score will be returned. If specified as “activity”, similar summary information will be return for every activity in the course. If specified as “full”, the full set of CMI runtime and activity data is returned for every activity in the course. By default, “course” is used.
    • instanceid-- The ID of a particular registration instance (as listed in getRegistrationDetail).
  • Example Call:

    http://cloud.scorm.com/api?method=rustici.registration.getRegistrationResult&appid=myappid&regid=myreg001(&resultsformat=activity)
    
  • Example Response:

    • If resultsformat is “course” (or not specified)
   <registrationreport format="course" regid="myreg001" instanceid="0">
       <complete>complete</completion>
       <success>failed</success>
       <totaltime>19</totaltime>
       <score>0</score>
   </registrationreport>
  • If resultsformat is “activity”
   <registrationreport format="activity" regid="myreg001" instanceid="0">
       <activity id="TOC1">
         <title>Photoshop Example -- Competency</title>
         <attempts>1</attempts>
         <complete>incomplete</complete>
         <success>unknown</success>
         <time/>
         <timeacrossattempts/>
         <score>0</score>
         <children>
         [if activity has children]
           <activity id="LESSON1">
             <title>Lesson 1</title>
             ...
             <score>0</score>
             <children>
             ...
             </children>
           </activity>
           <activity>
           ...
           </activity>
         </children>
       </activity>
   </registrationreport>
  • If resultformat is “full”
   <registrationreport format="full" regid="myreg001" instanceid="0">
       <activity id="preTEST">
         <title>Pre Assessment</title>
         <satisfied>true</satisfied>
         <completed>true</completed>
         <timeacrossattempts>0000:00:04.47</timeacrossattempts>
         <progressstatus>true</progressstatus>
         <attempts>1</attempts>
         <suspended>false</suspended>
         <objectives>
           <objective id="PRIMARYOBJ">
             <measurestatus>false</measurestatus>
             <normalizedmeasure>0.0</normalizedmeasure>
             <progressstatus>true</progressstatus>
             <satisfiedstatus>true</satisfiedstatus>
           </objective>
           ...
         </objectives>
         <runtime>
           <completion_status>completed</completion_status>
           <credit>Credit</credit>
           <entry>AbInitio</entry>
           <exit>Unknown</exit>
           <learnerpreference>
             <audio_level>1.0</audio_level>
             <language/>
             <delivery_speed>1.0</delivery_speed>
             <audio_captioning>0</audio_captioning>
           </learnerpreference>
           <location>null</location>
           <mode>Normal</mode>
           <progress_measure/>
           <score_scaled>68</score_scaled>
           <score_raw>534</score_raw>
           <total_time>0000:00:00.00</total_time>
           <timetracked>0000:00:04.47</timetracked>
           <success_status>Unknown</success_status>
           <suspend_data><![CDATA[user data]]></suspend_data>
           <comments_from_learner>
             <comment>
               <value />
               <location />
               <date_time />
             </comment>
             ...
           </comments_from_learner>
           <comments_from_lms>
             <comment>
               ...
             </comment>
             ...
           </comments_from_lms>
           <interactions>
             <interaction id="1">
               <objectives>
                 <objective id="1" />
                 ...
               </objectives>
               <timestamp />
               <correct_responses>
                 <response id="1" />
                 ...
               </correct_responses>
               <weighting />
               <learner_response />
               <result />
               <latency />
               <description />
             </interaction>
             ...
           </interactions>
           <objectives>
             <objective id="PRIMARYOBJ">
               <score_scaled/>
               <score_min/>
               <score_raw/>
               <score_max/>
               <success_status>unknown</success_status>
               <completion_status>unknown</completion_status>
               <progress_measure/>
               <description>null</description>
             </objective>
             ...
           </objectives>
           <static>
             <completion_threshold/>
             <launch_data/>
             <learner_id>daveid</learner_id>
             <learner_name>dave e</learner_name>
             <max_time_allowed/>
             <scaled_passing_score/>
             <time_limit_action>Undefined</time_limit_action>
           </static>
         </runtime>
         <children>
           [if activity has children]
           <activity id="childactivity">
             ...
           </acitivity>
           ...
         </children>
       </activity>
   </registrationreport>
  • Error codes:

    • 1-- The registration specified by the given regid does not exist




getRegistrationListResults

  • Semantics: This method is, as it is titled, a combination of getRegistrationList and getRegistrationResult, and can be used for very basic reporting functionality. The response contains the chosen list of registrations, and each registration includes a report of the same format received from a call to getRegistrationResult. The single report included for each registration is obtained from the most recent instance of the registration. (For report of another instance, use getRegistrationResult and specify the instance id.) Note that non-SCORM Tin Can API courses will only return results for requests where the “resultsformat” is set to “course” due to the lack of actual SCORM data being created by the course.

  • Required Arguments:

    • appid-- Your application id
  • Optional Arguments:

    • courseid-- Limit search to only registrations for the course specified by this courseid
    • learnerid-- Limit search to only registrations for the learner specified by this learnerid
    • resultsformat-- This optional parameter can be one of three values, “course”, “activity”, or “full”. If specified as “course”, only top level information such as completion status, success status, total time spent, and score will be returned. If specified as “activity”, similar summary information will be return for every activity in the course. If specified as “full”, the full set of CMI runtime and activity data is returned for every activity in the course. By default, “course” is used.
    • after-- Return registrations updated (strictly) after this timestamp.
    • until-- Return registrations updated up to and including this timestamp.
  • Example Call:

    http://cloud.scorm.com/api?method=rustici.registration.getRegistrationListResults&appid=myappid&resultsformat=full&after=2011-02-01T21:39:23Z
    
  • Example response:

   <registrationlist>
       <registration id="reg4" courseid="test321">
           <appId>myappid</appId>
           <registrationId>reg4</registrationId>
           <courseId>test321</courseId>
           <courseTitle>Test Course</courseTitle>
           <learnerId>test_learner</learnerId>
           <learnerFirstName>Test</learnerFirstName>
           <learnerLastName>Learner</learnerLastName>
           <email>test@test.com</email>
           <createDate>2011-03-23T14:00:45.000+0000</createDate>
           <firstAccessDate>2011-06-06T16:08:18.000+0000</firstAccessDate>
           <lastAccessDate>2011-06-06T16:36:12.000+0000</lastAccessDate>
           <completedDate>2011-06-06T16:36:12.000+0000</completedDate>
           <instances />
           <!-- ``note``-- format of registrationreport element same as above in getRegistrationResult call -->
           <registrationreport format="summary" regid="reg4" instanceid="2">
             ...
           </registrationreport>
       </registration>
          ...
    </registrationlist>




launch

  • Semantics: Calling this method will launch the given registration by redirecting the user’s browser to the main launch page for the course associated with the registration. Before redirecting the user, this method will also drop a cookie on the user’s machine allowing them temporary access to the course materials. Unlike nearly all the other web service calls, this method is intended to be called directly in a browser.

  • Required Arguments:

    • appid-- Your application id
    • regid-- The unique identifier for this registration
    • redirecturl-- The URL upon which to redirect when the registration has completed. By default, this is simply a blank html page. For convenience, this parameter can alternatively be any of the following keywords: “closer”, “blank”, “message” which will redirect to a page that automatically tries to close the browser tab/window, a blank page, or a page with a simple message about the course being complete, respectively. If not one of the special arguments above, the redirecturl must be a full URL (scheme, host, and all) or an absolute path — relative paths will be ignored and the special “message” type used instead.
  • Optional Arguments:

    • cssurl-- An absolute URL to a custom stylesheet that will be used to style the navigational menus and header of the SCORM “player” that displays the course content.
    • learnerTags-- Comma-delimited list of tags to associate with the learner who is launching the course. Any new tags are appended to the registration-independent tag list for this learner as well.
    • courseTags-- Comma-delimited list of tags to associate with the launched course. Any new tags are appended to the registration-independent tag list for this course as well.
    • registrationTags-- Comma-delimited list of tags to associate the the launched registration itself
    • disableTracking-- if set to “true”, the registration will be launched with tracking disabled, and the launch will not result in any changes to the registration
    • culture-- This parameter should specify a culture code (see the complete listing at Language Support). If specified, and supported, the navigation and alerts in the player will be displayed in the associated language. If not specified, the locale of the user’s browser will be used.
  • Example Call:

    http://cloud.scorm.com/api?method=rustici.registration.launch&appid=myappid&regid=myreg001(&redirecturl=http%3A//www.google.com&cssurl=http%3A//localhost/custom-stylesheet.css)
    
  • Example response: The user will be redirected to the launch page for the given registration.

  • Error codes:

    • 1-- The registration specified by regid does not exist




getLaunchHistory

  • Semantics: Calling this method will fetch a historical list of launches for the specified registration. Detailed information for each launch can be obtained using the getLaunchInfo method.

  • Required Arguments:

    • appid-- Your application id
    • regid-- The unique identifier for this registration
  • Optional Arguments: none

  • Example Call:

    http://cloud.scorm.com/api?method=rustici.registration.getLaunchHistory&appid=myappid&regid=myreg001
    
  • Example response:

   <launchhistory regid="e222daf6-6005-4344-a07e-0aaa46b21dc9">
      <launch id="c7f31a43-706a-4f43-8ab9-ebbf0dde4cbc">
        <completion>complete</completion>
        <satisfaction>failed</satisfaction>
        <measure_status>1</measure_status>
        <normalized_measure>0.2</normalized_measure>
        <experienced_duration_tracked>2628</experienced_duration_tracked>
        <launch_time>2011-04-05T19:06:37.780+0000</launch_time>
        <exit_time>2011-04-05T19:07:06.616+0000</exit_time>
        <update_dt>2011-04-05T19:07:06.616+0000</update_dt>
      </launch>
      <launch id="fc80087b-0fde-4263-8a89-29bee96eb65a">
        <completion>unknown</completion>
        <satisfaction>unknown</satisfaction>
        <measure_status>0</measure_status>
        <normalized_measure>0.0</normalized_measure>
        <experienced_duration_tracked>2628</experienced_duration_tracked>
        <launch_time>2011-04-05T19:15:51.177+0000</launch_time>
        <exit_time>2011-04-05T19:15:59.450+0000</exit_time>
        <update_dt>2011-04-05T19:15:59.450+0000</update_dt>
      </launch>
      <launch id="ffd2d304-439c-4c59-8be8-5d3fc1eb3f92">
        <completion>complete</completion>
        <satisfaction>failed</satisfaction>
        <measure_status>1</measure_status>
        <normalized_measure>0.27</normalized_measure>
        <experienced_duration_tracked>10223</experienced_duration_tracked>
        <launch_time>2011-04-05T19:16:07.214+0000</launch_time>
        <exit_time>2011-04-05T19:17:25.294+0000</exit_time>
        <update_dt>2011-04-05T19:17:25.294+0000</update_dt>
      </launch>
    </launchhistory>
  • Extra information:

    • Each field indicates the state of that registration when the launch was exited, or for a launch currently in-progress, the current state of that launch.
    • measure_status will be 0 if the score is not known or 1 if the score is known.
    • normalized_measure is a decimal between -1.0 and 1.0 (inclusive) that indicates the learner’s score (0.0 = 0%, 1.0 = 100%). Negative normalized measures are uncommon but technically permitted.
    • experienced_duration_tracked is reported in hundredths of a second (centiseconds).
  • Error codes:

    • 1-- The registration specified by regid does not exist




getLaunchInfo

  • Semantics: Calling this method will fetch detailed historical data for the specified launch. Launch ids for a given registration can be fetched using the getLaunchHistory method. The response xml will look much like the list from getLaunchHistory, but will also include a log element, with XML describing the user’s actions during the launch.

  • Required Arguments:

    • appid-- Your application id
    • launchid-- The unique identifier for this launch
  • Optional Arguments: none

  • Example Call:

    http://cloud.scorm.com/api?method=rustici.registration.getLaunchInfo&appid=myappid&launchid=d6f31a43-706a-4f43-8ab9-ebbf0dde4cbc
    
  • Example response:

   <launch id="d6f31a43-706a-4f43-8ab9-ebbf0dde4cbc">
      <completion>complete</completion>
      <satisfaction>failed</satisfaction>
      <measure_status>1</measure_status>
      <normalized_measure>0.2</normalized_measure>
      <experienced_duration_tracked>2628</experienced_duration_tracked>
      <launch_time>2011-04-05T19:06:37.780+0000</launch_time>
      <exit_time>2011-04-05T19:07:06.616+0000</exit_time>
      <update_dt>2011-04-05T19:07:06.616+0000</update_dt>
      <log>
        <RuntimeLog browser="Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 5.1; Trident/4.0; .NET CLR 2.0.50727; .NET CLR 1.1.4322; .NET CLR 3.0.4506.2152; .NET CLR 3.5.30729)" trackingEnabled="" version="2009.1.0.15538">
        <RuntimeEvent attemptNo="1" event="AttemptStart" id="0" itemIdentifier="golf_sample_default_org" timestamp="14:07:06.97" title="Golf Explained - Run-time Advanced Callz"/>
        <RuntimeEvent attemptNo="1" event="AttemptStart" id="1" itemIdentifier="item_1" timestamp="14:07:06.97" title="Golf Explained"/>
        <RuntimeEvent event="ResetRuntime" id="2" itemIdentifier="item_1" timestamp="14:07:06.97" title="Golf Explained"/>
        <RuntimeEvent event="LoadSco" id="3" itemIdentifier="item_1" timestamp="14:07:06.97" title="Golf Explained"/>
        <RuntimeEvent event="ApiInitialize" id="4" itemIdentifier="item_1" timestamp="14:07:08.222"/>
        <RuntimeEvent event="Set" id="5" itemIdentifier="item_1" key="completion" timestamp="14:07:08.222" value="incomplete"/>
        <RuntimeEvent event="Set" id="6" identifier="obj_playing" index="4" itemIdentifier="item_1" key="objectives completion" timestamp="14:07:08.238" value="incomplete"/>
        <RuntimeEvent event="Set" id="10" identifier="obj_handicapping" index="2" itemIdentifier="item_1" key="objectives completion" timestamp="14:07:22.394" value="incomplete"/>
        <RuntimeEvent event="Set" id="14" itemIdentifier="item_1" key="completion" timestamp="14:07:27.503" value="completed"/>
        <RuntimeEvent event="Set" id="16" identifier="com.scorm.golfsamples.interactions.playing_1" index="0" itemIdentifier="item_1" key="interactions description" timestamp="14:07:31.300" value="The rules of golf are maintained by:'?"/>
        [...]
        <RuntimeEvent event="Set" id="105" identifier="com.scorm.golfsamples.interactions.fun_3" index="14" itemIdentifier="item_1" key="interactions result" timestamp="14:07:31.410" value="incorrect"/>
        <RuntimeEvent event="Set" id="106" itemIdentifier="item_1" key="score.raw" timestamp="14:07:31.410" value="20"/>
        <RuntimeEvent event="Set" id="107" itemIdentifier="item_1" key="score.min" timestamp="14:07:31.410" value="0"/>
        <RuntimeEvent event="Set" id="108" itemIdentifier="item_1" key="score.max" timestamp="14:07:31.410" value="100"/>
        <RuntimeEvent event="Set" id="109" itemIdentifier="item_1" key="score.scaled" timestamp="14:07:31.410" value="0.2"/>
        <RuntimeEvent event="Set" id="110" itemIdentifier="item_1" key="cmi.exit" timestamp="14:07:32.566"/>
        <RuntimeEvent event="Set" id="111" itemIdentifier="item_1" key="nav.request" timestamp="14:07:32.566" value="exitAll"/>
        <RuntimeEvent event="Set" id="112" itemIdentifier="item_1" key="session time" timestamp="14:07:32.566" valueHundredths="2434"/>
        <RuntimeEvent event="ApiTerminate" id="113" itemIdentifier="item_1" timestamp="14:07:32.566"/>
        <RuntimeEvent event="UnloadSco" id="114" timestamp="14:07:33.253"/>
        <RuntimeEvent event="Rollup Completion" id="115" itemIdentifier="golf_sample_default_org" timestamp="14:07:33.253" value="completed"/>
        <RuntimeEvent event="Rollup Satisfaction" id="116" itemIdentifier="golf_sample_default_org" timestamp="14:07:33.253" value="failed"/>
      </RuntimeLog>
      </log>
    </launch>
  • Error codes:

    • 1-- The registration specified by regid does not exist




resetGlobalObjectives

  • Semantics: Calling this method will reset all global objectives associated with this registration, if any exist.

  • Required Arguments:

    • appid-- Your application id
    • regid-- The unique identifier for this registration
  • Optional Arguments: none

  • Example Call:

    http://cloud.scorm.com/api?method=rustici.registration.resetGlobalObjectives&appid=myappid&regid=myreg001
    
  • Example response:

   <success/>
  • Error codes:

    • 1-- The registration specified by regid does not exist




updateLearnerInfo

  • Semantics: Calling this method will update the learner information that was given during previous createRegistration calls. By specifying the learnerid, you can update the first and last name of the learner, and even update the learnerid itself, using the newid parameter.

  • Required Arguments:

    • appid-- Your application id
    • learnerid-- The id of the learner whose info is being updated
    • fname-- The first name of the learner
    • lname-- The last name of the learner
  • Optional Arguments:

    • newid-- The new id to assign to this learner
    • email-- The email of the learner
  • Example Call:

    http://cloud.scorm.com/api?method=rustici.registration.updateLearnerInfo&appid=myappid&learnerid=learner01&fname=Test&lname=Learner(&newid=learner101)
    
  • Example response:

   <success/>




getPostbackInfo

  • Semantics: This method provides a way to retrieve the postback attributes that were set in a createRegistration or updatePostbackInfo call. When called, the postback attributes will be returned.

  • Required Arguments:

    • appid-- Your application id
    • regid-- Specifies the registration id
  • Example Call:

    http://cloud.scorm.com/api?method=rustici.registration.getPostbackInfo&appid=myappid&regid=reg001
    
  • Example response:

   <postbackinfo regid="reg001">
        <url>https://example</url>
        <authtype>form</authtype>
        <login>user1</login>
        <password>password</password>
    </postbackinfo>




updatePostbackInfo

  • Semantics: This method provides a way to update the postback settings for a registration created with the createRegistration call. If you wish to change an authenticated postback to an unauthenticated postback, please call this method with only a url specified.

  • Required Arguments:

    • appid-- Your application id
    • regid-- Specifies the registration id
    • url-- Url for registration results to be posted to.
  • Optional Arguments:

    • name, password, authtype
      • name-- Auth name for the postback.
      • password-- If credentials for the postbackurl are provided, this must be included, it is the password to be used in authorizing the postback of data to the URL specified by postbackurl.
      • authtype-- type of authentication used.
    • resultsformat-- This parameter allows you to specify a level of detail in the information that is posted back while the course is being taken. It may be one of three values: “course” (course summary), “activity” (activity summary, or “full” (full detail), and is set to “course” by default. The information will be posted as xml, and the format of that xml is specified below under the method “getRegistrationResult”
  • Example Call:

    http://cloud.scorm.com/api?method=rustici.registration.updatePostbackInfo&appid=myappid&regid=reg001&url=[encoded url]&authtype=form&name=user&password=secret
    
  • Example response:

   <success/>




deletePostbackInfo

  • Semantics: Clear postback settings so that registration results no longer invoke a postback url.

  • Required Arguments:

    • appid-- Your application id
    • regid-- Specifies the registration id
  • Example Call:

    http://cloud.scorm.com/api?method=rustici.registration.deletePostbackInfo&appid=myappid&regid=reg001
    
  • Example response:

   <success/>




testRegistrationPostUrl

  • Semantics: This method provides a way to test a URL for posting registration results back to, as they would be posted when using the postbackurl in the createRegistration call. When called, an example registration result will be posted to the URL given, or else an error will be reported regarding why the post failed.

  • Required Arguments:

    • appid-- Your application id
    • postbackurl-- Specifies a URL for which to post activity and status data in real time as the course is completed
      • If the authtype specified is form, or not included, then this status data is posted as ‘data’ (the key name) along with the other form variables. If the authtype is specified as httpbasic, then the data is HTTP POSTed as the body of the request. The data starts with the <registrationreport ... > element and uses the schema documented in getRegistrationResult
  • Optional Arguments:

    • authtype-- Optional parameter to specify how to authorize against the given postbackurl, can be “form” or “httpbasic”. If form authentication, the username and password for authentication are submitted as form fields “username” and “password”, and the registration data as the form field “data”. If httpbasic authentication is used, the username and password are placed in the standard Authorization HTTP header, and the registration data is the body of the message (sent as text/xml content type). This field is set to “form” by default.
    • urlname-- You can optionally specify a login name to be used for credentials when posting to the URL specified in postbackurl
    • urlpass-- If credentials for the postbackurl are provided, this must be included, it is the password to be used in authorizing the postback of data to the URL specified by postbackurl
    • resultsformat-- This parameter allows you to specify a level of detail in the information that is posted back while the course is being taken. It may be one of three values: “course” (course summary), “activity” (activity summary, or “full” (full detail), and is set to “course” by default. The information will be posted as xml, and the format of that xml is specified below under the method “getRegistrationResult”
  • Example Call:

    http://cloud.scorm.com/api?method=rustici.registration.testRegistrationPostUrl&appid=myappid&postbackurl=[encoded url](&authtype=form&urlname=iki&urlpass=secretish&resultformat=course&)
    
  • Example response:

   <success/>