{
"actor"=>{"objectType"=>"Agent", "name"=>"Evan Friburg", "mbox"=>"mailto:test@mail.com", "account"=>{"name"=>"32", "homePage"=>"https://stats-engine.domoscio.com/v2/instances/1/students/32"}},
"verb"=>{"id"=>"http://adlnet.gov/expapi/verbs/scored"},
"object"=>{"id"=>"cell_tests/28", "definition"=>{"name"=>{"en-US"=>"test 1"}, "description"=>{"en-US"=>"Que représente pour vous ce mnemos ? pessimisme
\r\n"}, "type"=>"http://adlnet.gov/expapi/activities/question"}},
"result"=>{"score"=>{"scaled"=>0}},
"timestamp"=>"2017-10-05T16:28:26+00:00",
"id"=>"2aa13d13-671e-408a-a0f7-d85ebfcc9835",
"version"=>"1.0.1"
}
==Note concerning the event_type==
An EventResult is created when the learner answers a question in a learning objective, as opposed to an EventReview, where the learner answers a question in a reviewing objective. An EventRead is created when the learner interacted with a "Learning"-tagged content in order to learn a new concept.
If you are in any of these cases, you can use an EventBlank.
===Create (POST)===
^ Method | POST |
^ URL | /events |
==Parameters (*Requiered parameters)==
^ Property ^ Type ^ Description ^
| event_type* | Text | The type of this Event object. “EventResult”, “EventRead” or “EventReview”|
| student_id or student_uid * | Integer | Student identifier |
| content_id or content_uid * | Integer | The content identifier |
| return_recommendation | Boolean | If true, the system computes and sends backs recommendations, otherwise computes and does not send |
| generated_at | DateTime | Time at which the event has been done. If empty, it is replaced by the Time of creation |
| payload* | Text | The payload of this event indicates the sucess or fail of the student for this event |
| standard* | String | standard used to declare the payload |
==Send the request (JSON input example)==
{
"student_id": 379,
"content_id": 2749,
"payload": 100,
"standard": "score",
"return_recommendation": "false",
"event_type": "EventResult",
"generated_at": "2017-11-27T11:17:57+00:00"
}
==Get the response (JSON output example)==
{
"id": 559,
"event_type": "EventResult",
"payload": 100,
"created_at": "2017-11-27T13:34:18.977Z",
"updated_at": "2017-11-27T13:34:18.977Z",
"student_id": 379,
"content_id": 2749,
"content_uid": "question1",
"generated_at": "2017-11-27T11:17:57.000Z",
"return": true,
"standard": "score"
}
===Fetch (GET)===
^ Method | GET|
^ URL | /events |
If no event_id is provided it will fetch all the Events for your instance. You can choose to add the parameters student_id, content_id, knowledge_node_id, event_type, date_start (all the events after that date), date_end (all the event before that date), or event_type.
==Get the response (JSON output example)==
**With ID provided**\\
{
"id": 560,
"event_type": "EventResult",
"payload": 100,
"created_at": "2017-11-27T13:36:39.601Z",
"updated_at": "2017-11-27T13:36:39.689Z",
"student_id": 379,
"content_id": 2749,
"content_uid": "question1",
"generated_at": "2017-11-27T11:17:57.000Z",
"return": true,
"standard": "score"
}
**Without ID provided**\\
[
{
"id": 447,
"event_type": "EventReview",
"payload": 100,
"created_at": "2017-09-20T14:35:45.143Z",
"updated_at": "2017-09-20T14:35:45.149Z",
"student_id": 267,
"content_id": 710,
"content_uid": null,
"generated_at": "2017-09-20T14:35:45.143Z",
"return": null,
"standard": null
},
{
"id": 448,
"event_type": "EventReview",
"payload": 0,
"created_at": "2017-09-20T14:35:45.181Z",
"updated_at": "2017-09-20T14:35:45.189Z",
"student_id": 267,
"content_id": 709,
"content_uid": null,
"generated_at": "2017-09-20T14:35:45.181Z",
"return": null,
"standard": null
}
]
===Fetch Events by Student (GET)===
Instead of using event_id to retrieve related data, you can fetch all Events for a given Student.
^ Method | GET |
^ URL | students/{student_id}/events |