Documentation https://wonde.com/docs/api/1.0/
Native gem:
gem install wondeclientWhen 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
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.
require'wondeclient'client=Wonde::Client.new('TOKEN_GOES_HERE')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.nameendrequire'wondeclient'client=Wonde::Client.new('TOKEN_GOES_HERE')# Get single schoolschool=client.schools.get('SCHOOL_ID_GOES_HERE')require'wondeclient'client=Wonde::Client.new('TOKEN_GOES_HERE')client.schools.pending().eachdo |school|
# Display school namepschool.nameendclient=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.nameendProvide the school ID to request access to a school's data.
require'wondeclient'client=Wonde::Client.new('TOKEN_GOES_HERE')client.requestAccess("A0000000000")Provide the school ID to access already approve or pending approval.
require'wondeclient'client=Wonde::Client.new('TOKEN_GOES_HERE')client.revokeAccess('A0000000000')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.surnameendrequire'wondeclient'client=Wonde::Client.new('TOKEN_GOES_HERE')school=client.school('SCHOOL_ID_GOES_HERE')# Get achievementsschool.achievements.all().eachdo |achievement|
pachievement.commentendThis 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.idendrequire'wondeclient'client=Wonde::Client.new('TOKEN_GOES_HERE')school=client.school('SCHOOL_ID_GOES_HERE')# Get attendanceschool.attendance.all().eachdo |attendance|
pattendance.commentendrequire'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_idrequire'wondeclient'client=Wonde::Client.new('TOKEN_GOES_HERE')# Get attendance codesclient.attendanceCodes.all().eachdo |attendanceCode|
pattendanceCode.codeendrequire'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.commentendrequire'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.nameendrequire'wondeclient'client=Wonde::Client.new('TOKEN_GOES_HERE')school=client.school('SCHOOL_ID_GOES_HERE')# Get contactsschool.contacts.all().eachdo |contacts|
pcontacts.forename + ' ' + contacts.surnameendrequire'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.countrequire'wondeclient'client=Wonde::Client.new('TOKEN_GOES_HERE')school=client.school('SCHOOL_ID_GOES_HERE')# Get deletionsschool.deletions.all().eachdo |deletions|
pdeletions.idendrequire'wondeclient'client=Wonde::Client.new('TOKEN_GOES_HERE')school=client.school('SCHOOL_ID_GOES_HERE')# Get employeesschool.employees.all().eachdo |employee|
pemployee.forename + ' ' + employee.surnameendrequire'wondeclient'client=Wonde::Client.new('TOKEN_GOES_HERE')school=client.school('SCHOOL_ID_GOES_HERE')# Get eventsschool.events.all().eachdo |event|
pevent.idendrequire'wondeclient'client=Wonde::Client.new('TOKEN_GOES_HERE')school=client.school('SCHOOL_ID_GOES_HERE')# Get groupsschool.groups.all().eachdo |group|
pgroup.nameendrequire'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.idendrequire'wondeclient'client=Wonde::Client.new('TOKEN_GOES_HERE')school=client.school('SCHOOL_ID_GOES_HERE')# Get lesson attendanceschool.lessonAttendance.all().eachdo |lessonAttendance|
plessonAttendance.commentendrequire'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_idrequire'wondeclient'client=Wonde::Client.new('TOKEN_GOES_HERE')school=client.school('SCHOOL_ID_GOES_HERE')# Get medical conditionsschool.medicalConditions.all().eachdo |medicalCondition|
pmedicalCondition.descriptionendrequire'wondeclient'client=Wonde::Client.new('TOKEN_GOES_HERE')school=client.school('SCHOOL_ID_GOES_HERE')# Get medical eventsschool.medicalEvents.all().eachdo |medicalEvent|
pmedicalEvent.descriptionendrequire'wondeclient'client=Wonde::Client.new('TOKEN_GOES_HERE')school=client.school('SCHOOL_ID_GOES_HERE')# Get medical notesschool.medicalNotes.all().eachdo |medicalNote|
pmedicalNote.titleendrequire'wondeclient'client=Wonde::Client.new('TOKEN_GOES_HERE')school=client.school('SCHOOL_ID_GOES_HERE')# Get periodsschool.periods.all().eachdo |period|
pperiod.nameendrequire'wondeclient'client=Wonde::Client.new('TOKEN_GOES_HERE')school=client.school('SCHOOL_ID_GOES_HERE')# Get photosschool.photos.all().eachdo |photo|
pphoto.hashendrequire'wondeclient'client=Wonde::Client.new('TOKEN_GOES_HERE')school=client.school('SCHOOL_ID_GOES_HERE')# Get roomsschool.rooms.all().eachdo |room|
proom.nameendrequire'wondeclient'client=Wonde::Client.new('TOKEN_GOES_HERE')school=client.school('SCHOOL_ID_GOES_HERE')# Get subjectsschool.subjects.all().eachdo |subject|
psubject.nameend