-
Notifications
You must be signed in to change notification settings - Fork 1
Banner
To get class data from the server for the following endpoints, the following steps need to be performed:
-
Create a session ID. This can be any string, even an empty one.
-
Perform a POST request to
https://prd-xereg.temple.edu/StudentRegistrationSsb/ssb/term/search
with the following params:-
term
- a valid term code -
uniqueSessionId
- the session ID created in step 1
Save the values from the
set-cookie
header. -
-
Perform GET request at the endpoint below following the documentation using the Cookies obtained in Step 2
Note: The base URL for the following endpoints is https://prd-xereg.temple.edu/StudentRegistrationSsb/ssb
.
Note: The 2 endpoints below need to be reset after each request the the respective endpoint by repeating Step 2. Step 2 does not need to be done between subsequent requests if they are to different endpoints.
Key | Value | Notes |
---|---|---|
uniqueSessionId |
Literally anything, as long as it is used in both the POST and GET requests |
|
pageOffset |
Any number | While the server will accept any value, it is most useful to leave this value at 0
|
pageMaxSize |
Any number | While the server will accept any value, it is most useful to leave this value at -1
|
txt_term |
A valid term code | |
txt_subject |
One or more subject codes concatenated with a comma | If sending raw, make sure to URL encode |
chk_open_only |
true , or do not include with request |
Determines whether the server will send back sections that are full or not |
A JSON object witht he following (relevant) properties:
-
totalCount
- The total number of sections returned by Banner -
data
- An array of JSON objects with the following structure:
{
"courseReferenceNumber": "38351",
"courseNumber": "0822",
"subject": "CIS",
"sequenceNumber": "001",
"campusDescription": "Main",
"scheduleTypeDescription": "Base Lecture",
"courseTitle": "Technological Horizons: Information Technology in the 21st Century",
"maximumEnrollment": 30,
"enrollment": 4,
"seatsAvailable": 26,
"waitCapacity": 100,
"waitCount": 0,
"waitAvailable": 100,
"openSection": true,
"subjectCourse": "CIS0822",
"faculty": [
{
"bannerId": "906797401",
"displayName": "Christopher Biehl",
"emailAddress": "cbiehl@temple.edu",
"primaryIndicator": true,
}
],
"meetingsFaculty": [
{
"meetingTime": {
"beginTime": "1000",
"building": "WCHMAN",
"buildingDescription": "Wachman Hall",
"campus": "MN",
"campusDescription": "Main",
"endTime": "1050",
"friday": true,
"meetingType": "LEC",
"meetingTypeDescription": "Lecture",
"monday": true,
"room": "00306",
"saturday": false,
"sunday": false,
"thursday": false,
"tuesday": false,
"wednesday": true
}
}
],
"sectionAttributes": [
{
"code": "GS",
"description": "GenEd Science & Technology",
}
]
}
Key | Value | Notes |
---|---|---|
uniqueSessionId |
Literally anything, as long as it is used in both the POST and GET requests |
|
pageOffset |
Any number | While the server will accept any value, it is most useful to leave this value at 0
|
pageMaxSize |
-1 OR (1-500 ) |
The server will return at most 500 results in a single request. -1 can be used if requesting a single subject to return all results |
txt_term |
A valid term code | |
txt_subject |
One or more subject codes concatenated with a comma, OR not included with request | If sending raw, make sure to URL encode. |
A JSON object witht he following (relevant) properties:
-
totalCount
- The total number of sections returned by Banner -
data
- An array of JSON objects with the following structure:
{
"id": 8307,
"termEffective": "201436",
"courseNumber": "2101",
"subject": "ACCT",
"subjectCode": "ACCT",
"college": "Business & Mngmnt, Fox School",
"collegeCode": "BU",
"department": "Business:Accounting",
"departmentCode": "1502",
"courseTitle": "Financial Accounting",
"durationUnit": null,
"numberOfUnits": null,
"attributes": null,
"gradeModes": null,
"ceu": null,
"courseScheduleTypes": null,
"courseLevels": null,
"creditHourHigh": null,
"creditHourLow": 3,
"creditHourIndicator": null,
"lectureHourLow": null,
"lectureHourHigh": null,
"lectureHourIndicator": null,
"billHourLow": 3,
"billHourHigh": null,
"billHourIndicator": null,
"labHourLow": null,
"labHourHigh": null,
"labHourIndicator": null,
"otherHourLow": null,
"otherHourHigh": null,
"otherHourIndicator": null,
"description": null,
"subjectDescription": "Accounting",
"courseDescription": "Basic concepts and principles underlying the preparation and use of financial statements. Among the ",
"division": "Undergraduate",
"termStart": "200836",
"termEnd": "999999",
"preRequisiteCheckMethodCde": "C",
"anySections": null
}
Base URL for the following endpoints: https://prd-xereg.temple.edu/StudentRegistrationSsb/ssb/classSearch
This endpoint returns the term codes for using when performing a search for classes. The request params appear to be indices used to slice the array on the server side.
Key | Value | Notes |
---|---|---|
offset |
Any number | While the server will accept any value, it is most useful to leave this value at 1
|
max |
Any number | While the server will accept any value, it is most useful to leave this value at -1
|
An array of JSON objects with the following properties:
-
code
- A numeric term code for the term -
description
- The full name of the term
Gets the list of all subjects for which courses are being offered for the term.
Key | Value | Notes |
---|---|---|
term |
A valid term code | |
offset |
Any number | While the server will accept any value, it is most useful to leave this value at 1
|
max |
Any number | While the server will accept any value, it is most useful to leave this value at -1
|
An array of JSON objects with the following properties:
-
code
- The abbreviation code for the subject -
description
- The subject name
Key | Value | Notes |
---|---|---|
term |
A valid term code | |
offset |
Any positive number | Should be set to 1
|
max |
Any positive number | This endpoint deviates from the previous ones, which all accept -1 to return all items. Here you must specify a positive max value. There are between 3-4k instructors at Temple so setting this value to 4000 should return everyone. Note: the request time increases quickly with a large value |
An array of JSON objects with the following properties:
-
code
- A numerical ID code for the given instructor -
description
- The instructor's name
An array of JSON objects with the following properties:
-
code
- The campus code -
description
- The campus name
An array of JSON objects with the following properties:
-
code
- The college code -
description
- The college name
An array of JSON objects with the following properties:
-
code
- The attribute code -
description
- The attribute name
Semester | Suffix |
---|---|
Spring | 03 |
Summer 1 | 20 |
Summer 2 | 26 |
Fall | 36 |
Example: Spring 2020 is 202003