Core Data Exchange

Web service & API endpoints

A more advanced method, requiring proficient campus IT professionals, allows both bulk and individual field loading of data to the platform via secure, scheduled transactions over the internet. Each data type endpoint offers the ability to create, retrieve, and update the data. This additional, fine-toothed control of each data type offers institutions ultimate flexibility in the delivery and management of core data in the platform.

Campus Labs assumes that institutions that select this method have prior experience in programming against/with web services and API endpoints. Accordingly, Campus Labs does not offer support or training for IT professionals who are not proficient with these concepts and/or techniques.

Process

Identify the Campus Data Manager

The first task accomplish is to identify a Campus Data Manager who will be the primary contact at the institution during the process of integration, troubleshooting, and testing. The Campus Data Manager should be familiar with the broader campus data ecosystem, have access to access data from elements of the ecosystem, and have sufficient ability and permission to re-format and send large data sets to the platform.

The Campus Data Manager will be provided with a Campus Labs support contact who can assist with the troubleshooting of issues that arise as well as with a web interface that can assist in identification of data loading errors.

Once a Campus Data Manager has been identified, please register the individual with Campus Labs: http://bit.ly/cldatamgr

Read documentation

Once the Campus Data Manager has been registered with Campus Labs, s/he will receive links to documentation, such as this document, and gain access to data management areas of the web application. The Campus Data Manager should become familiar with the data exchange options and protocols in order to determine which method will work best for the campus.

Determine data exchange method

The Campus Data Manager should use the information that s/he has gleaned from documentation alongside the goals of the primary campus users of the platform to determine the appropriate method for exchanging data.

Request access to exchange data

Using documentation as the primary guide, the Campus Data Manager requests access to either the sFTP directory for scheduled data file imports or public, secret, and subscription keys for access to the web service and API endpoints from the Campus Labs support team.

Send data

Once a method has been identified and access has been granted, the Campus Data Manager should notify Campus Labs support when s/he has sent the first batch of account data to the platform so that both entities can review the exchange and identify any issues.

Troubleshoot any issues

If issues do appear, the Campus Data Manager and Campus Labs support staff work together to resolve the issue.

Finalize recurring data exchange

Once an error-free data exchange has been accomplished, the Campus Data Manager may schedule recurring data transfers via scheduled file imports or web service or API calls.

2 Data exchange integration flowchart Data exchange intefgration flowchart

Importing Accounts, Demographics and Courses via API

In order to maintain data security, an OAuth 2.0-based authorization token (http://oauth.net/2/) is required to make calls to the API. To get a token, your code must make a POST call to our authorization server (https://authorization.campuslabs.com/token) with your access keys. Tokens are valid for up to 60 minutes. Making a new call will refresh the expiration period for your token. If you are not familiar with the workflow for getting an OAuth token, please see the OAuth 2.0 documentation for "Obtaining Authorization" (http://tools.ietf.org/html/rfc6749#section-4).

Please familiarize yourself on the Campus Labs API documentation here: https://developers.campuslabs.com/docs/services/

To import Accounts data through the Campus Labs API, please follow these steps:
  1. Before importing a single record, please contact support@campuslabs.com to request access to the Key Management elements of the web application.
  2. Campus Labs will provision your account and allow you to create keys through your Key Management site.
  3. Once your account is provisioned, please visit https://{campus}.campuslabs.com/keymanagement
  4. Click "Add Key".
  5. Put in a name for the key you are creating.
  6. The Description/Comments section is optional.
  7. Under "Function", select "Read/Write".
  8. Under "Access", select "People" and any other options for data that you might be sending over through the API. If you are only looking to send over Accounts through the API, please just select "People".
  9. Click the "Add" button.
  10. The page will refresh and you will be provided your Client ID, Subscription Key and Client Secret. This is the only time you will be able to see your Client Secret. Much like a password, the Secret is encrypted and stored in a way that prevents future retrieval in an unencrypted form. Please copy this information and save it in a safe place. If necessary, the Secret can be reset by returning to this management site.
  11. You will use this information to create your API calls.
  12. Data must be put into the correct fields.
To import Demographics data through the Campus Labs API, please follow these steps:
  1. Before importing a single record, please contact support@campuslabs.com to request access to the Key Management elements of the web application.
  2. Campus Labs will provision your account and allow you to create keys through your Key Management site.
  3. Once your account is provisioned, please visit https://campus.campuslabs.com/keymanagement and log in with your campus credentials.
  4. Click "Add Key".
  5. Put in a name for the key you are creating.
  6. The Description/Comments section is optional.
  7. Under "Function", select "Read/Write".
  8. Under "Access", select "People" and any other options for data that you might be sending over through the API. If you are only looking to send over Accounts through the API, please just select "People".
  9. Click the "Add" button.
  10. The page will refresh and you will be provided your Client ID, Subscription Key, and Client Secret. This is the only time you will be able to see your Client Secret. Much like a password, the Secret is encrypted and stored in a way that prevents future retrieval in an unencrypted form. Please copy this information and save it in a safe place. If necessary, the Secret can be reset by returning to this Management site.
  11. You will use this information to create your API calls.
  12. Go to https://docs.api.campuslabs.com/demographics to review what data needs to be sent over for each Demographic API call.
  13. Data must be put into the correct fields, but blank fields will mean that fields for that user will remain blank.
  14. Both student and faculty demographic imports will show the status of the API call.

*The Demographics API will return an ID that can be used to check the status of an import via the API. You can find this documentation on the API Docs site at https://docs.api.campuslabs.com/demographics

**All demographics imports should be a complete "picture" of the student every single time. Any time there is a blank demographic field, we will assume that the previous value is no longer relevant or correct and replace it with an empty value.

To import Course data through the Campus Labs API, please follow these steps:
  1. Before importing a single record, please contact support@campuslabs.com to request access to the Key Management elements of the web application.
  2. Campus Labs will provision your account and allow you to create keys through your Key Management site.
  3. Once your account is provisioned, please visit https://campus.campuslabs.com/keymanagement and log in with your campus credentials.
  4. Click "Add Key".
  5. Put in a name for the key you are creating.
  6. The Description/Comments section is optional.
  7. Under "Function", select "Read/Write".
  8. Under "Access", select "Courses" and any other options for data that you might be sending over through the API.
  9. Click the "Add" button.
  10. The page will refresh and you will be provided your Client ID, Subscription Key, and Client Secret. This is the only time you will be able to see your Client Secret. Much like a password, the Secret is encrypted and stored in a way that prevents future retrieval in an unencrypted form. Please copy this information and save it in a safe place. If necessary, the Secret can be reset by returning to this Management site.
  11. You will use this information to create your API calls.
  12. Go to https://docs.api.campuslabs.com/courses to review what data needs to be sent over for each Course Management API call.

Importing Accounts, Demographics, and Courses through Manual File Imports

We do offer a manual import process to do one-off, small, corrective imports into our systems. Manual imports should not be considered a mechanism for prolonged, regular data importing. Manual imports create additional work for the Campus Data Manager and for Campus Labs staff.

To import Demographics information manually, please follow these steps:
  1. Go into your Core Data Management site.
  2. Click on the Import button under Demographics.
  3. Use the student and faculty templates in the blue box to format your data correctly.
  4. Once the files are properly formatted and saved as .CSV files, click the "Choose File" buttons and select your student or faculty demographic file.
  5. Select the Position dropdown to "Student" or "Faculty" based on the import you will be uploading.
  6. Click the "Import" button.
  7. Repeat steps 1-6 for the "Student" or "Faculty" template that you didn't upload.

* All demographics imports should be a complete "picture" of the student every single time. Any time there is a blank demographic field, we will assume that the previous value is no longer relevant or correct and replace it with an empty value.

To import Courses information manually, please follow these steps:
  1. Go into your Core Data Management site.
  2. Click on the Import button under Demographics.
  3. Use the student and faculty templates in the blue box to format your data correctly.
  4. Once the files are properly formatted and saved as .CSV files, click the "Choose File" buttons and select your student or faculty demographic file.
  5. Select the Position dropdown to "Student" or "Faculty" based on the import you will be uploading.
  6. Click the "Import" button.
  7. Repeat steps 1-6 for the "Student" or "Faculty" template that you didn't upload.

Campus Labs Application Programming Interface FAQs

Overview

The Campus Labs platform makes several application programming interface (API) endpoints available to institutional developers who wish to interact and integrate with the data within the platform. Often, campus developers have basic questions about the Campus Labs API prior to reading in-depth documentation. This document is a collection of frequently asked questions that should guide campus developers in the appropriate use of the Campus Labs API.

Use of the Campus Labs API is not required to implement the platform. Campus Labs assumes that institutions that choose to use Campus Labs API endpoints have prior experience in programming against/with web services and API endpoints. Campus Labs does not offer support or training for IT professionals that are not proficient with common API concepts and/or techniques.

What is an API?

An application programming interface (API) is a set of routines, protocols, and tools for building software applications. An API expresses a software component in terms of its operations, inputs, outputs, and underlying types.

What type of API does Campus Labs provide?

Campus Labs provides a set of REST-like APIs to allow programmatic access for reading and writing data. REST (Representational State Transfer) is an architectural style, and an approach to communications that is often used in the development of Web services.

How are the Campus Labs APIs secured?

In order to maintain data security, an OAuth 2.0-based authorization token is required to make calls to the API. To get a token, your code must first make a call to our authorization server (https://authorization.campuslabs.com/token) with your access keys. Tokens are valid for up to 60 minutes. Making a new call will refresh the expiration period for your token. If you are not familiar with the workflow for getting an OAuth token, please see the OAuth 2.0 documentation for "Obtaining Authorization".

Does Campus Labs API directly integrate with Jenzabar, Blackboard, Moodle, etc.?

While Campus Labs integrates with third-party providers in many aspects of our system, our API doesn't natively integrate with any specific provider. We wanted to make it flexible for all of our member campuses to send data in whatever method works best for them.

How do I gain access to your API?

Campus developers who wish to access the API must be pre-approved by Campus Labs.

Developers may be added to the approved list by having the official campus contact, who is responsible for your license, send the following information for each developer to the Support Team (support@campuslabs.com):

  1. Full name
  2. Unique identifier (as collected by the platform)
  3. Campus email address

Once approved, developers may manage their own access keys at: https://{campus}.campuslabs.com/keymanagement (where {campus} is the name/host of your institution's Campus Labs installation).

Who should be your Campus Data Manager?

The data managers and developers should be able to access user accounts, demographic information and course data for their campus. Data managers should also have working knowledge of our API and should have experience with web-services and other technical APIs. They should have knowledge of JSON and/or XML data exchange, with a proficiency with any modern programming language.

How many keys should I create for my Campus Labs APIs?

While you aren't required to create more than one key in your Key Management site, having more than one key will make it easier if something changes for you. By creating multiple keys, you won't be required to fix all of your API calls if something changes on your and end up losing your Client Secret key.

Where can I go to find out more information on how to make API calls?

We walk through how to make all of our API calls on this site: https://developers.campuslabs.com/docs/services/

The developers API site not only shows you how to make the call, but lets you try it as well.

What is the request size limit of the Campus Labs API?

All APIs support a maximum request size of 4MB. Requests over this size will be rejected in their entirety and should be broken down into smaller batches for processing. The overall request size depends on the data set in question and is a factor of both the number of elements included in the call and the amount of data in each one. Both of these dimensions should be taken into account when deciding on batch size.

What is the rate limit for the Campus Labs API?

There are limits that we suggest to follow that can be found on this site: https://developers.campuslabs.com/docs/services/

Use of the Campus Labs API is not required to implement the platform. Campus Labs assumes that institutions that choose to use Campus Labs API endpoints have prior experience in programming against/with web services and API endpoints. Campus Labs does not offer support or training for IT professionals that are not proficient with common API concepts and/or techniques.