Introduction
NovoEd's Activity Completion APIs allow a client to take action on behalf of learners.
Set-Up
Prior to using the Activity Completion APIs, you will need to request an API Key and Secret. Then, you will connect it to your preferred course(s) and/or link it to your whole institution.
This article, How to Request and Set Up an API Key and Secret, walks through the process of requesting and setting up the API Key and Secret.
Endpoints
There are two endpoints:
- POST Mark as Done
- GET Get Web links with auto-complete
Developer Documentation
How to Capture API Parameters for "POST Mark as Done"
Below are steps to gather API parameters for the Mark as Done API. If you have trouble retrieving this information, please contact our Support Team at hello@novoed.com.
- Add a Web Link or Web Embed component to your lesson page.
- In the Link field, enter the preferred URL and add the following parameters needed to call the Mark as Done API.
- %%USER_ID%%
- %%CATALOG_ID%%
- %%ACTIVITY_ID%%
- Capture the values received by the link or embedded content and use those values for the Mark as Done API.
- %%USER_ID%% --> learner_id
- %%CATALOG_ID%% --> catalog_id
- %%ACTIVITY_ID%% --> external_tool_id
For example:
The URL below is added to a Web Link component on a lesson page:
https://www.examplesystem.com?user=%%USER_ID%%&course=%%CATALOG_ID&activity=%%ACTIVITY_ID%%
When the learner launches the link from the lesson page, NovoEd will attach the user's NovoEd ID, the NovoEd course's Catalog ID, and the Web Link component's Activity ID. The example system will receive and store those three parameters. Then, those three parameters will be used in the API call to mark the activity as complete for the learner in NovoEd.
Parameters received when the user launches the Web Link from the lesson page:
- USER_ID = 888888
- CATALOG_ID = samplecourse1234
- ACTIVITY_ID = 12345
"Mark as Done" API:
https://api.novoed.com/institutions/<INSTITUTION_ID>/<CATALOG_ID>/learner/{{learner_id}}/external_tool/{{external_tool_id}}/mark_as_done.json?api_key=API_KEY&api_secret=API_SECRET'
API Call to mark the specific user as complete:
https://api.novoed.com/institutions/001/samplecourse1234/learner/888888/external_tool/12345/mark_as_done.json?api_key=9837589275&api_secret=ABC981728918
Note: Institution ID is assigned by the NovoEd platform. It is the number displayed when visiting your NovoEd platform. Reach out to NovoEd Support if you are unable to locate the Institution ID.
Troubleshooting
- Make sure the API Key and Secret are valid. Customers will receive a 401 error if the API Key and Secret are invalid.
- Make sure calls are being made from an IP address that is authorized to use the key and secret. A 401 error will also be received here if they are not.
- Make sure a JSON call is being made. This can be done by adding .json to the end of the endpoint before starting to pass the parameters. If the wrong request type is made or HTTP is being requested instead of JSON, an error page will show.
Rate Limiting
We ensure the integrity of our API endpoints, NovoEd limits usage of our API on a per key basis. Here are the rate limits:
Time Span |
Request Limit |
1 Minute |
200 |
1 Hour |
1000 |
1 Day |
13000 |
“Time span” is determined by when a request first comes in. Within the next time span, the requestor cannot exhaust the number of requests allowed within that time period.