===== Student Dashboard ===== In Student dashboard you will retrieve absences and number of maximum allowed absent, Gradebook Summary & number of New Messages, to access any of the student API methods you must be [[api:main#authentication|Authenticated]]. Dashboard action is GET, and parameters value is boolean 0 for false & 1 for TRUE. ^ Paramater ^ Description ^ Default ^ | user | User Information | 0 | | newMsgs | User new unread messages | 0 | | gb_summary | Student gradebook summary | 0 | | absences | Student absences | 0 | **URL Example** ''%%http://example.com/api/v1/dashboard%%?gb_summary=1&newMsgs=1&absences=1&user=1'' For more info about newMsgs method check [[api:messaging&#new_messages|New Messages API]] ===== Absences ===== Calling student absences method is GET action & must be [[:api:main#authentication|Authenticated]]. **URL Example** ''%%http://example.com/api/v1/%%absences'' ^ Parameter ^ Description ^ Type ^ | max_absences | School configured maximum allowed absences | Integer | | total_absences | Student Total absences in current academic year | Integer | ===== Absences List ===== Calling student absences list method is GET action & must be [[api:main#authentication|Authenticated]]. **URL Example** ''%%http://example.com/api/v1/%%absences_list'' ^ Name ^ Description ^ Type ^ | absent_date | Student's absence date | Date | | absent_type | Absence type id | Integer | | absent_type_name | Absence type which configured by Administrator | String | | absent_type_icon | The icon path of absence type | String | | created_by | Full name of the user who created this absence entry | String | absent_type_icon is image file name which been uploaded by Administrator URL Example: %%http://example.com/assets/uploads/absent_type_icon%% ===== Absences Types ===== Calling absences_types method is GET action & must be [[api:main#authentication|Authenticated]]. **URL Example** ''%%http://example.com/api/v1/%%absences_types'' ^ Name ^ Description ^ Type ^ | id | absence type id | Integer | | name | absence type name | String | | icon | absence type icon file name | String | ===== Gradebook Summary ===== Calling student gb_summary method is GET action & must be [[:api:main#authentication|Authenticated]]. **URL Example** ''%%http://example.com/api/v1/%%gb_summary'' gb_summary output is in 3 dimensional array each group/subject has 2 group arrays include such as group information and grade information which are both useful and could be mixed into many wonderful manipulation ====Sample Output==== [ { "group": { "group_id": 1031, "subject_id": 491, "subject_name": "AP Physics", "credit": 1, "elective": 0, "teacher_name": "Mr. Youssef Mourad", "academic_year": "2014/2015", "quarter_name": "Quarter 1", "teacherID": 2203, "group_name": "AP Physics 2", "drop": 0, "AP_Exam": 0 }, "grade": { "subject_name": "AP Physics", "score": 80, // Score without any enrichment adds "actual_score": 80, // Actual score after adding enrichment "scale": { "grade": "B", // American scale grade "low": 80, "high": 89.9, "color": "#3DB352" // hex code color } } }, { "group": { "group_id": 1007, "subject_id": 561, "subject_name": "Arabic", "credit": 0, "elective": 0, "teacher_name": "Mrs. Elham Ahmed", "academic_year": "2014/2015", "quarter_name": "Quarter 1", "teacherID": 2261, "group_name": "Arabic G12 A", "drop": 0, "AP_Exam": 0 }, "grade": { "subject_name": "Arabic", "score": 79, "actual_score": 79, "scale": { "grade": "C", "low": 70, "high": 79.9, "color": "#EBBB79" } } } ] ====Group Array==== ^ NAME ^ DESCRIPTION ^ | subject_name | Subject Name | | teacher_name | Teacher full name | | group_id | Group ID required to access the actual gradebook of this group | | teacherID | This teacher user ID which is very useful to link it for sending direct private message | ====Grade Array==== ^ NAME ^ DESCRIPTION ^ | score | Total earned score for this subject only without any outside calculation adds | | actual_score | Actual score is include enrichment extra points | | scale | Scale is include useful information configured from backend such as scale hex code color or grade scale for american curriculum | any scores & actual_scores response is rounded from server side which make it just for display without any editing or rounding ===== Gradebook ===== Calling gradebook method is GET action & must be [[api:main#authentication|Authenticated]]. **Parameters** ^ Name ^ Type ^ Description ^ | GroupID | Integer | The Group ID which been obtained from gb_summary | | QuarterID | Integer | Default QuarterID is current active quarter, set this to fetch data of another Quarter | **URL Example** ''%%http://example.com/api/v1/%%gradebook?GroupID=ID'' ==== Gradebook Response ==== Gradebook method provide you all data you need from what is current Quarter, List of available quarters and subject info and of course Assignments are the most complex array which maybe the hardest part to deal with if you not familiar with SCL. ====CurrentQuarter==== CurrentQuarter is return of current active quarter which is been configured from year settings by the Administrator. ====Quarters==== Quarters return is Array each array contain each quarter data you need to compose something like quarters dropdown menu. Quarters each array response as following : ^ NAME ^ TYPE ^ DESCRIPTION ^ | id | Integer | Quarter ID | | academic_year | String | Quarter's academic year | | quarter_name | String | Quarter Name to display | | start_date | Date | Quarter start date is in MySQL date format | | end_date | Date | Quarter end date also in MySQL date format | | semester | String | Quarter's Semester name | ====Subject==== this sound like it named, yes is subject details which response like following. ^ NAME ^ TYPE ^ DESCRIPTION ^ | subject_name | String | Current group subject name | | score | Float | Total earned score at this subject | | actual_score | Float | Actual score is include enrichment extra points | | scale | Array | Contain Alphabetical grade for american system and color which configured from backend | actual_score is more important for report card and was never suited to be in student gradebook so avoid it and use just current group score ====Grading & Assignments==== Grading response is most rich-full result, which each array has grading info with nested assignments array which contain each assignment needed information to fetch. **Grading** ^ NAME ^ DESCRIPTION ^ TYPE ^ | grade | Total grade of this grading category weighted by grading weight value | Float | | total_assignments | Number of assignments been created in this category | Integer | | grading_name | Grading name | String | | weight | the configured weight percentage for this grading | Float | | assignments | assignments objects include all assignments data | Object | **assignments** ^ NAME ^ DESCRIPTION ^ TYPE ^ | AssignmentID | Assignment ID | Integer | | score | Assignment score which been given by teacher | String | | points | Assignment maximum points which been set by teacher | Float | | weight | Grading weight which this assignment belong to | Float | | assignment_name | Assignment name | String | | due_date | Assignment due date | Date |