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 idcourseid
-- The course for which this registration is being createdregid
-- The id used to identify this registration (it must be unique)fname
-- The first name of the learner associated with this registrationlname
-- The last name of the learner associated with this registrationlearnerid
-- 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 postbackurlurlpass
-- 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 postbackurlresultsformat
-- 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®id=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 appid2
-- Registration already exists3
-- 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 idregid
-- 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 idregid
-- The unique identifier for this registration
Example Call:
http://cloud.scorm.com/api?method=rustici.registration.deleteRegistration&appid=myappid®id=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 idregid
-- The unique identifier for this registration
Optional Arguments: none
Example Call:
http://cloud.scorm.com/api?method=rustici.registration.resetRegistration&appid=myappid®id=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 courseidlearnerid
-- Limit search to only registrations for the learner specified by this learneridafter
-- 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 idregid
-- The registration id for the given registration
Example Call:
http://cloud.scorm.com/api?method=rustici.registration.getRegistrationDetail&appid=myappid®istrationid=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 idregid
-- 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®id=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 courseidlearnerid
-- Limit search to only registrations for the learner specified by this learneridresultsformat
-- 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 idregid
-- The unique identifier for this registrationredirecturl
-- 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 itselfdisableTracking
-- if set to “true”, the registration will be launched with tracking disabled, and the launch will not result in any changes to the registrationculture
-- 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®id=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 idregid
-- The unique identifier for this registration
Optional Arguments: none
Example Call:
http://cloud.scorm.com/api?method=rustici.registration.getLaunchHistory&appid=myappid®id=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 be0
if the score is not known or1
if the score is known.normalized_measure
is a decimal between-1.0
and1.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 idlaunchid
-- 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 idregid
-- The unique identifier for this registration
Optional Arguments: none
Example Call:
http://cloud.scorm.com/api?method=rustici.registration.resetGlobalObjectives&appid=myappid®id=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 idlearnerid
-- The id of the learner whose info is being updatedfname
-- The first name of the learnerlname
-- The last name of the learner
Optional Arguments:
newid
-- The new id to assign to this learneremail
-- 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 idregid
-- Specifies the registration id
Example Call:
http://cloud.scorm.com/api?method=rustici.registration.getPostbackInfo&appid=myappid®id=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 idregid
-- Specifies the registration idurl
-- 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”
- name, password, authtype
Example Call:
http://cloud.scorm.com/api?method=rustici.registration.updatePostbackInfo&appid=myappid®id=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 idregid
-- Specifies the registration id
Example Call:
http://cloud.scorm.com/api?method=rustici.registration.deletePostbackInfo&appid=myappid®id=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 idpostbackurl
-- 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 postbackurlurlpass
-- 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 postbackurlresultsformat
-- 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/>