SUDS CSVs: User Interface and Bulk API

Overview - SUDS CSVs: User Interface and Bulk API

Are you sure you want to remove this component?

Schools with a SIS that does not have a direct integration or API connection with Schoolbox, can use the CSVs to import external data to the School User Data Store (SUDS). Once you have loaded this data, you will have access to the full complement of Schoolbox user profile features including; Parent and Staff Directories, Emergency Contacts, Medical/Legal Alerts, and Student Flags. You will also be able to use the User Provisioning System to handle the creation and management of user accounts. Additionally, you will have a properly populated timetable and enrolment information to ensure staff, students, and parents have access to the correct LMS functions.

Data can be added via CSV:

  • Manually via the User Interface for user and timetable data
  • Automatically via the Schoolbox Connector Bulk API for user and timetable data.
  • On demand via the LISS Integration for timetable data.

On this page, you will find the following information:

Managing User Profile Data with CSV

Manage Timetable Data with CSV

Schoolbox Connector Bulk API

Managing User Profile Data with CSV

Are you sure you want to remove this component?

User profile data can be imported into the SUDS via CSV. For more information on the contents of the CSVs please review the schema.

After data has been uploaded, the current data in SUDS for each role type can be exported as CSV.

If you want to create or manage users in a Guest role type, you must use the Direct Import not the School Data Import.

To import User Profile Data

1. Navigate to Administration > School Data Import > User Profiles.

image.php?hash=09aab666f33716594f10f6a7acd7e9caea46d5ce

2. For each of the role types, select 'Download Template' and enter in the details. Once the CSV has been populated, drag it to the attach zone and select ‘Dry Run’.

image.php?hash=a9e0b4fcb37fa077a0300d4723f4ecb819c9765c

3. Check the details of the Dry Run on the next page. If all information is OK scroll to the bottom of the screen and select ‘Import’.

image.php?hash=d3006de0bc1145746d1d297c46c1f36557341bb0

NOTE: This will update the profile details of current users, however it will not create or update Schoolbox user accounts. To complete the process of managing user accounts, you must run the UPS.

4. Once ‘Student’ and ‘Parent’ CSVs have been imported, upload the ‘Relationships’ CSV.

image.php?hash=88ab65f858bea567e76566ae2306c3c8f1d978dc

Note: Relationships between parents and students will only be established once this CSV has been imported. The relationship type is an open text field, so you can include any written description of the relationship between the ‘Parent’ user and the ‘Student’ user.

 Some things to note:

  • If you upload a CSV, any blank fields will remove the data that was previously in that field. This information will then be missing from the user profile.
  • You may remove columns that you do not wish to update.
  • Column headings can be rearranged, but must be named in the same way. The system will look for the names of the headings, e.g: "Alt Email", so this must not be changed.
  • New Users must be identified via a unique Username.
  • Existing users can be identified via Username OR External ID.
  • The External ID is the ID provided by your SIS, such as Synergetic or TASS, if your school has one.

Manage Timetable Data with CSV

Are you sure you want to remove this component?

Using the three tabs in Administration > School Data Import (Timetable Structure, Timetable, and Enrolment), you can create the timetable for school. These three tabs should be completed in order.

Once the timetable data has been uploaded, the timetable will not appear unless class pages are created.

Before you create your timetable, ensure you have completed the following:

  • Create the Campus/es in Administration > Lists > Campus.

  • Set the Term date in Administration > Terms. You can only view timetable data for the current Term.

  • Ensure you have the Exernal IDs/Schoolbox ID for staff who will be assigned as teachers for each class. You cannot use the Schoolbox User ID, Username, or any other potential identifier). 

 

Importing the Timetable Structure 

Importing the timetable structure will create the grid/structure for your timetable; it will not be populated with data. You will add the data by importing the timetable then uploading the enrolment data. 

The entire timetable structure for the current term must be included. All periods for all days must be specified as it does not append. 

Periods will be displayed in the order specified in the CSV. The entries in the ‘Time’ field have no bearing on the display order.

1. Navigate to Administration > School Data Import > Timetable Structure

image.php?hash=0c6cb3f152aa276ae52a0fe6b006f2620823deb9

 

2. Select 'Download Template' and fill in the details. 

image.php?hash=4cc515c454c09b728f5e3e34ebac0d18e99f8d19

 Some things to note:

  • Term Campus: This must match the external timetable code that is set in Administration > Lists > Campus.

  • Term Title: This can be labelled in any way you like, but must be filled in because it is referenced in the ‘Timetable’ CSV. 

  • Term Start/Finish: The start and end dates of term. This should be in YYYY-MM-DD format.

  • Term Start Day Number: Term Start Day Number is the day number of the timetable cycle that the first (start) date is, e.g. If the first date is a Tuesday and the timetable has only 5 days, then this would be set to 2. Alternatively, for a 10 day timetable, it could be day 2 or day 6 for the first date the timetable is active.

  • Period Day: This must be a number, e.g. Day 1 = 1.

  • Period Title: This can be labelled in any way you like. It is important to be consistent with whatever term you choose between uploads.

  • Period Start/Finish: You must set the start and finish times of the period, as this will work out which period to highlight on the timetable. This should be in HH:MM:SS format.

 

3. Save as a CSV and upload into the blue field.

image.php?hash=ec96ab0d2da0c32c05164b8d0a81197897f34516

 

4. Select 'Preview Import'. If you receive errors (the text will appear in red), read the error message and amend the CSV as needed.

image.php?hash=8945f6f11aa53ffa472f65e8f997812a3527477d

 

5. After you have checked the preview, select 'Run Import'. 

image.php?hash=126247c92898a818bcb086f2f905bc880e612b9c

 

Importing the Timetable for Schools using the Schoolbox Data Store

The following instructions explain how to import class data into the Timetable Structure that you have already set up. 

This upload will create the timetable. Assigning the class code specified in the CSV to a class page will link that page into the timetable.

NOTE: To update the timetable, you must re-upload the timetable and then the enrolment data (using the CSV files). You must upload your data all in one go, as it does not append. Any existing data will be deleted.

1. Navigate to Administration > School Data Import >Timetable

image.php?hash=e53fea6c81f7aad2611a5c88ce81f193744086d0

 

2. Select 'Download Template', and fill in the details.

image.php?hash=64b1939b9b1e78e7b16039e3aa431fbe2f3c1271

 Some things to note:

  • You must have first uploaded your Timetable Structure.
  • You must upload your entire timetable in one .csv - any existing timetable information will be deleted. Keep previous uploads for reference.
  • The values you enter for Term Campus, Term Title, Period Day and Period Title must exactly match a row in the timetable structure CSV that has been imported.
  • Any empty fields will be filled with the previous non-empty value in that column.
  • Title: this will show on the timetable. 
  • Classroom: the room code input here links to resource booking. 
  • Teacher code: this is the Schoolbox ID, not the Schoolbox User ID. This should match the 'External ID' input into the user import template.

 

3. Save as a CSV and upload into the blue field.

image.php?hash=740c0b283c9e1bbf0c48eea7e4c92ba6d899caa6

 

4. Select 'Preview Import'. If you receive errors (the text will appear in red), read the error message and amend the CSV as needed.

image.php?hash=b8c1fdb8962fb7bc8ff9857eb9c6786ff217dda5

 

5. After you have checked the preview, select 'Run Import'. 

image.php?hash=f91bc2f394d67e7d45d248c9ca5820382be95f24

 

Importing Enrolment for Schools using the Schoolbox Data Store

The Enrolment import sets the relationship between a student and a class code. This gives them access to the class page and also adds the class to their timetable. 

You can also assign additional teachers other than the one defined in the Timetable Import.

1. Navigate to Administration >School Data Import > Enrolment

image.php?hash=3dac2316b1048790e0b95c3dc35e1f6df7d389e5

 

2. Select 'Download Template' and fill in the details. 

image.php?hash=a0172c803b759512bfe2e099c6e4c6212406edc4

 

 Some things to note:

  • Class details will not show in the timetable unless a class page with a matching code has been created.
  • The class code specified in the ‘Enrolment’ CSV must match with the code specified in the ‘Timetable’ CSV.
  • Student code: this is the Schoolbox ID, not the Schoolbox User ID. This should match the 'External ID' input into the user import template.

3. Save as a CSV and upload into the blue field.

image.php?hash=6c4f96300625d9ab5015eaee7054de4b52be3baa

 

4. Select 'Preview Import'. If you receive errors (the text will appear in red), read the error message and amend the CSV as needed.

image.php?hash=e68158ac573012584eea8753726a2dfac633c7ca

 

5. After you have checked the preview, select 'Run Import'. 

image.php?hash=b18ac3cd31be4062edb9268e46476e5a6d460aa1

  • The School User Data Store (SUDS) and its Schema

Schoolbox Connector Bulk API

Are you sure you want to remove this component?

Using the bulk API, you can process your user and timetable information through API calls.

In order to prepare the CSVs for use by the bulk API, you should access the templates from Administration > School Data Import.  For additional information on the contents of the CSVs please review the data schema.

FILE UPLOAD

POST /api/admin/csv

Accepts a CSV file into storage, for use as a data source in the processing step. If a file is uploaded more than once, the same hash will be returned.

BODY PARAMS

Name

Type

Description

file

file

The CSV to be persisted to the server, for processing

key

string

A valid authentication token

HTTP ERRORS

Code

Description

400

The CSV was rejected by the server

401

No authentication token was supplied

403

The given authentication token was invalid

500

The CSV was acceptable, but the server failed to save it

RETURN JSON

Name

Type

Description

success

bool

Whether or not the file was successfully saved to the server

file

string

If successful, a digest of the file as registered by the server

error

string

If unsuccessful, the reason as to why

EXAMPLE

curl -F ‘file=@user.csv’ -F ‘key=1234’ https://example.schoolbox.cloud/api/admin/csv

 

PROCESS

POST /api/admin/process

Accepts the hashes of seven CSV files, as given by calls to File Upload above. This operation can take several minutes, and while the client MAY detach, it is recommended to remain attached so that the response can be verified.

BODY PARAMS

Name

Type

Description

student

string

The digest of the file to be used for the sis user student data

parent string The digest of the file to be used for the sis user parent data
staff string The digest of the file to be used for the sis user staff data
relationship string The digest of the file to be used for the sis user relation data

timetable-structure

string

The digest of the file to be used for the timetable structure data

timetable

string

The digest of the file to be used for the timetable data

enrolment

string

The digest of the file to be used for the enrolment data

key

string

A valid authentication token

HTTP ERRORS

Code

Description

400

One or more of the required files were either not supplied, or invalid

401

No authentication token was supplied

403

The given authentication token was invalid

500

The request was valid and accepted, but failed to complete

RESPONSE JSON

Name

Type

Description

success

bool

Whether or not the operation completed

summary

string[]

If successful, a summary of the operations performed

error

string[]

If unsuccessful, the reason/s as to why

EXAMPLE

curl -F 'student=plof904' -F 'parent=kodu6609' -F 'staff=mbfk554' -F 'relation=vvcct8934' -F 'timetable-structure=efgh5678' -F 'timetable=ijkl9012' -F 'enrolment=mnop3456' -F 'key=1234' https://example.schoolbox.cloud/api/admin/process

SUDS CSV Upload & GeoSnapShot Photo Redaction

Are you sure you want to remove this component?

The School User Data Store (SUDS) has a field 'Photo Redacted'. 

If a student needs to have their photo redacted insert '1' within this field and reupload the CSV file.