Skip to content

Folders and files

NameName
Last commit message
Last commit date

Latest commit

History

15 Commits

Repository files navigation

Wonde Ruby Client

Documentation https://wonde.com/docs/api/1.0/

Installation

Native gem:

gem install wondeclient

When using bundler place this to your Gemfile:

gem'wondeclient'

Or if you want to use latest github master

gem'wondeclient',github: 'wondeltd/ruby-client'

... and run $ bundle install

Early Release

If you wish to get early access to new endpoints / improvements please set your package version to dev-master.

Important Note: Wonde strongly recommends locking to a stable version on production.

Endpoints

Client

require'wondeclient'client=Wonde::Client.new('TOKEN_GOES_HERE')

Schools

require'wondeclient'client=Wonde::Client.new('TOKEN_GOES_HERE')# Loop through the schools your account has access toclient.schools.all().eachdo |school|
# Display school namepschool.nameend

Single School

require'wondeclient'client=Wonde::Client.new('TOKEN_GOES_HERE')# Get single schoolschool=client.schools.get('SCHOOL_ID_GOES_HERE')

Pending Schools

require'wondeclient'client=Wonde::Client.new('TOKEN_GOES_HERE')client.schools.pending().eachdo |school|
# Display school namepschool.nameend

Search Schools

client=Wonde::Client.new('TOKEN_GOES_HERE')# Search for schools with a postcode starting CB21client.schools.search(Hash.new,{'postcode': 'CB21'}).eachdo |school|
# Display school namepschool.nameend# Search for schools with the establishment number = 6006client.schools.search(Hash.new,{'establishment_number': '6006'}).eachdo |school|
# Display school namepschool.nameend

Request Access

Provide the school ID to request access to a school's data.

require'wondeclient'client=Wonde::Client.new('TOKEN_GOES_HERE')client.requestAccess("A0000000000")

Revoke Access

Provide the school ID to access already approve or pending approval.

require'wondeclient'client=Wonde::Client.new('TOKEN_GOES_HERE')client.revokeAccess('A0000000000')

Students

require'wondeclient'client=Wonde::Client.new('TOKEN_GOES_HERE')school=client.school('SCHOOL_ID_GOES_HERE')# Get studentsschool.students.all().eachdo |student|
pstudent.forename + ' ' + student.surnameend# Get single studentstudent=school.students.get('STUDENT_ID_GOES_HERE')# Get students and include contact_details objectschool.students.all(['contact_details']).eachdo |student|
#print students first and last namepstudent.forename + ' ' + student.surnameend# Get students and include contacts arrayschool.students.all(['contacts']).eachdo |student|
#print students first and last namepstudent.forename + ' ' + student.surnameend# Get students, include contact_details object, include extended_details object and filter by updated after dateschool.students.all(['contact_details','extended_details'],{'updated_after': '2016-06-24 00:00:00'}).eachdo |student|
#print students first and last namepstudent.forename + ' ' + student.surnameend

Achievements

require'wondeclient'client=Wonde::Client.new('TOKEN_GOES_HERE')school=client.school('SCHOOL_ID_GOES_HERE')# Get achievementsschool.achievements.all().eachdo |achievement|
pachievement.commentend

Assessment - (BETA)

This endpoint is included in the stable release but is likely to change in the future. Please contact support for more information.

require'wondeclient'client=Wonde::Client.new('TOKEN_GOES_HERE')school=client.school('SCHOOL_ID_GOES_HERE')# Get aspectsschool.assessment.aspects.all().eachdo |aspect|
paspect.idend# Get templatesschool.assessment.templates.all().eachdo |templates|
ptemplates.idend# Get result setsschool.assessment.templates.all().eachdo |resultsets|
presultsets.idend# Get resultsschool.assessment.results.all().eachdo |results|
presults.idend# Get marksheetsschool.assessment.marksheets.all().eachdo |marksheets|
pmarksheets.idend

Attendance

require'wondeclient'client=Wonde::Client.new('TOKEN_GOES_HERE')school=client.school('SCHOOL_ID_GOES_HERE')# Get attendanceschool.attendance.all().eachdo |attendance|
pattendance.commentend

POST Attendance

require'wondeclient'client=Wonde::Client.new('TOKEN_GOES_HERE')# Initiate a new registerregister=Wonde::SessionRegister.new()# Initiate a new attendance recordattendance=Wonde::SessionAttendanceRecord.new()# Set fieldsattendance.setStudentId('STUDENT_ID_GOES_HERE')attendance.setDate('2017-01-01')attendance.setSession('AM')# AM or PMattendance.setAttendanceCodeId('ATTENDANCE_CODE_ID_GOES_HERE')attendance.setComment('Comment here.')# Add attendance mark to registerregister.add(attendance)# Save the session register to pre-existing school object from client.school('ID')result=school.attendance().sessionRegister(register)# Writeback id is part of the responsepresult.writeback_id

Attendance Codes

require'wondeclient'client=Wonde::Client.new('TOKEN_GOES_HERE')# Get attendance codesclient.attendanceCodes.all().eachdo |attendanceCode|
pattendanceCode.codeend

Behaviours

require'wondeclient'client=Wonde::Client.new('TOKEN_GOES_HERE')school=client.school('SCHOOL_ID_GOES_HERE')# Get behavioursschool.behaviours.all().eachdo |behaviour|
pbehaviour.incident#or maybe:#p behaviour.incident_date or p behaviour.commentend

Classes

require'wondeclient'client=Wonde::Client.new('TOKEN_GOES_HERE')school=client.school('SCHOOL_ID_GOES_HERE')# Get classes#class is a reserved word in ruby, so use classobj insteadschool.classes.all().eachdo |classobj|
pclassobj.nameend

Contacts

require'wondeclient'client=Wonde::Client.new('TOKEN_GOES_HERE')school=client.school('SCHOOL_ID_GOES_HERE')# Get contactsschool.contacts.all().eachdo |contacts|
pcontacts.forename + ' ' + contacts.surnameend

Counts

require'wondeclient'client=Wonde::Client.new('TOKEN_GOES_HERE')school=client.school('SCHOOL_ID_GOES_HERE')# Get countscounts=school.counts.all(['students','contacts'])pcounts.students.data.countpcounts.contacts.data.count

Deletions

require'wondeclient'client=Wonde::Client.new('TOKEN_GOES_HERE')school=client.school('SCHOOL_ID_GOES_HERE')# Get deletionsschool.deletions.all().eachdo |deletions|
pdeletions.idend

Employees

require'wondeclient'client=Wonde::Client.new('TOKEN_GOES_HERE')school=client.school('SCHOOL_ID_GOES_HERE')# Get employeesschool.employees.all().eachdo |employee|
pemployee.forename + ' ' + employee.surnameend

Events

require'wondeclient'client=Wonde::Client.new('TOKEN_GOES_HERE')school=client.school('SCHOOL_ID_GOES_HERE')# Get eventsschool.events.all().eachdo |event|
pevent.idend

Groups

require'wondeclient'client=Wonde::Client.new('TOKEN_GOES_HERE')school=client.school('SCHOOL_ID_GOES_HERE')# Get groupsschool.groups.all().eachdo |group|
pgroup.nameend

Lessons

require'wondeclient'client=Wonde::Client.new('TOKEN_GOES_HERE')school=client.school('SCHOOL_ID_GOES_HERE')# Get lessonsschool.lessons.all().eachdo |lesson|
plesson.period_instance_id + '-' + lesson.idend

Lesson Attendance

require'wondeclient'client=Wonde::Client.new('TOKEN_GOES_HERE')school=client.school('SCHOOL_ID_GOES_HERE')# Get lesson attendanceschool.lessonAttendance.all().eachdo |lessonAttendance|
plessonAttendance.commentend

POST Lesson Attendance

require'wondeclient'client=Wonde::Client.new('TOKEN_GOES_HERE')# Initiate a new registerregister=Wonde::LessonRegister.new()# Initiate a new attendance recordattendance=Wonde::LessonAttendanceRecord.new()# Set fieldsattendance.setStudentId('STUDENT_ID_GOES_HERE')attendance.setLessonId('LESSON_ID_GOES_HERE')attendance.setAttendanceCodeId('ATTENDANCE_CODE_ID_GOES_HERE')# Add attendance mark to registerregister.add(attendance)# Save the lesson register to pre-existing school object from client.school('ID')result=school.lessonAttendance().lessonRegister(register)# Writeback id is part of the responsepresult.writeback_id

Medical Conditions

require'wondeclient'client=Wonde::Client.new('TOKEN_GOES_HERE')school=client.school('SCHOOL_ID_GOES_HERE')# Get medical conditionsschool.medicalConditions.all().eachdo |medicalCondition|
pmedicalCondition.descriptionend

Medical Events

require'wondeclient'client=Wonde::Client.new('TOKEN_GOES_HERE')school=client.school('SCHOOL_ID_GOES_HERE')# Get medical eventsschool.medicalEvents.all().eachdo |medicalEvent|
pmedicalEvent.descriptionend

Medical Notes

require'wondeclient'client=Wonde::Client.new('TOKEN_GOES_HERE')school=client.school('SCHOOL_ID_GOES_HERE')# Get medical notesschool.medicalNotes.all().eachdo |medicalNote|
pmedicalNote.titleend

Periods

require'wondeclient'client=Wonde::Client.new('TOKEN_GOES_HERE')school=client.school('SCHOOL_ID_GOES_HERE')# Get periodsschool.periods.all().eachdo |period|
pperiod.nameend

Photos

require'wondeclient'client=Wonde::Client.new('TOKEN_GOES_HERE')school=client.school('SCHOOL_ID_GOES_HERE')# Get photosschool.photos.all().eachdo |photo|
pphoto.hashend

Rooms

require'wondeclient'client=Wonde::Client.new('TOKEN_GOES_HERE')school=client.school('SCHOOL_ID_GOES_HERE')# Get roomsschool.rooms.all().eachdo |room|
proom.nameend

Subjects

require'wondeclient'client=Wonde::Client.new('TOKEN_GOES_HERE')school=client.school('SCHOOL_ID_GOES_HERE')# Get subjectsschool.subjects.all().eachdo |subject|
psubject.nameend

About

Resources

Stars

0 stars

Watchers

1 watching

Forks

Releases

Packages

Contributors

Languages