Once the content’s structure is declared on our API, logical links between Students and Knowledge Nodes are created. We could call that « subscriptions ». But it goes further than that since this link is also the container of all the results, data computations and analysis for the student. A Student is related to all the Knowledge Nodes.\\
{{ :api1:knowledge_structure:knowledge_node_students_v1.png?600 | Knowledge Node Student schema}}
===Object resources===
^ Property ^ Type ^ Description ^
| instance_id | Integer | The instance the knowledge node student belongs to |
| knowledge_node_id | Integer | The knowledge node the knowledge node student belongs to |
| student_id | Integer | The student the knowledge node student belongs to |
| active | Boolean | It becomes false when the reviewing has been done to the end |
| history | String | Sequence of binary results for the student on the knowledge node |
| next_review_at | Timestamp | The next revision date computed by the engine |
| knowledge_node_uid | String | The related knowledge node unique id |
===Create (POST)===
^ Method | POST |
^ URL | /knowledge_node_students |
==Parameters (*Required parameters)==
^ Property ^ Type ^ Description ^
| knowledge_node_id* | Integer | The knowledge node the knowledge node student belongs to |
| student_id* | Integer | The student the knowledge node student belongs to |
==Send the request (JSON input example)==
{
knowledge_node_id : 1,
student_id: 1
}
==Get the response (JSON output example)==
{
id : 1,
knowledge_node_id : 1,
student_id : 1,
instance_id : 1,
state : 0,
history : ‘’,
next_review_at : null,
current_review_interv : 0,
created_at : 2014-09-17 09:21:03,
updated_at : 2014-09-17 09:21:03
}
===Fetch (GET)===
^ Method | GET |
^ URL | /knowledge_node_students/{knowledge_node_student_id %%||%% uid} |
If no knowledge_node_student_id or uid is provided it will fetch all the Knowledge Node Students for your instance.
==Get the response (JSON output example)==
**With ID provided**\\
{
id : 1,
knowledge_node_id : 1,
student_id : 1,
history : ‘’,
next_review_at : null,
active : true,
created_at : 2014-09-17 09:21:03,
updated_at : 2014-09-17 09:21:03
}
**Without ID provided**\\
[
{
id : 1,
knowledge_node_id : 1,
student_id : 1,
next_review_at : null,
active: true,
created_at : 2014-09-17 09:21:03,
updated_at : 2014-09-17 09:21:03
},
{
id : 2,
knowledge_node_id : 2,
student_id : 1,
next_review_at : null,
active: true,
created_at : 2014-09-17 09:21:13,
updated_at : 2014-09-17 09:21:13
}
]
===Fetch Knowledge Node Students by Student (GET)===
You can get all Student’s Knowledge Nodes by a simple request:
^ Method | GET |
^ URL | /students/{student_id}/knowledge_node_students/ |