doc/api/xapi.md
Canvas has implemented a small piece of xAPI (Tin Can API). <a href="https://www.adlnet.gov/experience-api">Go here to learn more about xAPI</a>.
An external tool can ask for an xAPI callback URL, and then POST back an interaction activity to Canvas. This will update the activity time for the user in Canvas, and add a page view for that tool. Page views will show up in the course analytics section as activity.
$Canvas.xapi.url in its LTI launch parameters.application/json, with an xAPI body.
object.id will be logged as the page view URL.result.duration must be an <a href="http://en.wikipedia.org/wiki/ISO_8601#Durations">ISO 8601 duration</a> if supplied.
Here is an example of the minimum JSON that would log 3 minutes of activity for http://example.com:
{
"id": "12345678-1234-5678-1234-567812345678",
"actor": {
"account": {
"homePage": "http://www.instructure.com/",
"name": "unique_name_for_user_of_some_kind_maybe_lti_user_id"
}
},
"verb": {
"id": "http://adlnet.gov/expapi/verbs/interacted",
"display": {
"en-US": "interacted"
}
},
"object": {
"id": "http://example.com/"
},
"result": {
"duration": "PT3M0S"
}
}