Activity Progress API and Webhook
Overview
Activity Progress API
Intended for selective pulls of data.
The Activity Progress API allows you to selectively query activity progress data for your users.
The default daily limit for API calls is 500.
Activity Progress Webhook
Intended for real-time data access.
To deliver data to your system, the Activity Progress Webhook requires an SSL encrypted endpoint.
Updates are delivered to your endpoint when your users:
Make progress in a learning activity (completing course lessons, registering for an event), or
Finish a learning activity (complete a course, earn a curriculum, attend an event).
The system bundles the data where possible. This means several “in-progress” and/or “finished” updates may be included in single data package.
Typical latency is under 1 second.
The webhook will attempt to redeliver data to your endpoint in the event that we receive an error. If after the retry attempts we still receive an error, the data will not be delivered to your endpoint. Data delivery will automatically resume when your endpoint recovers, but only current records will be transmitted.
We recommend that you use the Activity Progress API to audit the data that you receive. We will not resend data that was missed via webhook.
JSON POST - API
POST is only used for the Activity Progress API.
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
POST /api/reports/progress
HTTP/1.1
Content-Type: application/json
Accept: application/json
{
"token" : "f7e1379c-35ad-45f9-b0fa-6ef011e73938",
"start" : 0,
"number" : 1000,
"search" : "",
"completed" : false,
"startDate" : "2018-04-03T14:00:49.120Z",
"endDate" : "2018-05-03T14:00:49.120Z",
"sort" : "lastName",
"order" : "ASC"
}
required | This value will be provided when you are provisioned for API access. | |
required | date/time (UTC)
| The starting date for the date range. |
required | date/time (UTC)
| The ending date for the date range |
| boolean
| Whether to only return completed activities. Default is |
| varchar(100) | The following fields can be searched: |
| int | The starting positing of records returned. |
| int | Number of records returned. The default is 100 records. |
| varchar(100) | Order the records in ascending or descending order. Must use |
Endpoint
To find the endpoint for the system you are integrating with:
Select the system you are integrating with, and
Find the section for the Activity Progress API info.
JSON Response - API
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
HTTP/1.1 200 OK
Content-Type: application/json
{
"transactionId" : 1,
"firstName" : "John",
"lastName" : "Doe",
"email" : "john.doe@gmail.com",
"memberIdentifier" : "111111111",
"activityId" : "https://ssm-activity-sample.azurewebsites.net"
"activityTitle" : "77media Activity Sample",
"registration" : "80730e35-481a-4132-af54-1b8f4619abb6",
"dateStarted" : "2018-01-01T00:00:00",
"progress" : 50,
"dateCompleted" : "",
"completionCode" : ""
}
JSON Response - Webhook
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
HTTP/1.1 200 OK
Content-Type: application/json
{
“started”: [],
“progressed”: [
{
"transactionId": 1,
"firstName": "John",
"lastName": "Doe",
"email": "john.doe@gmail.com",
"memberIdentifier": "111111111",
"activityId": "https://ssm-activity-sample.azurewebsites.net/",
"activityTitle": "77media Activity Sample",
"registration": "80730e35-481a-4132-af54-1b8f4619abb6",
"dateStarted": "2018-01-01T00:00:00",
"progress": 50,
"dateCompleted": ""
"completionCode": ""
}
],
“completions”: [
{
"transactionId": 2,
"firstName": "Jane",
"lastName": "Doe",
"email": "john.doe@gmail.com",
"memberIdentifier": "111111111",
"activityId": "https://ssm-activity-sample.azurewebsites.net/”",
"activityTitle": "77media Activity Sample",
"registration": "44590u89-111a-6859-b899-3940dhbkww91",
"dateStarted": "2018-01-02T00:00:00",
"progress": 100,
"dateCompleted": "2018-01-02T00:00:00",
"completionCode": "1b50007d-5d2f-4832-a5f5-646690045e2a",
}
]
}
| int | This is the unique identifier for the transaction. |
| varchar(100) | The user’s first name. |
| varchar(100) | The user’s last name. |
| varchar(100) | The user’s email address. |
| varchar(100) | Different groups use varying names for this, but it is typically the “Member ID/Number”. Data for this field is ONLY provided if you are also using the User Verification API. |
| varchar(100) | The IRI of the activity. This value uniquely identifies an activity. |
| varchar(100) | The title of the activity. |
| Uniquely identifies a user's instance of an activity. | |
| date/time (UTC)
| The date the activity was started. |
| int | How far the user has progressed through the activity (0 - 100). |
| date/time (UTC)
| The date the activity was completed. |
| Uniquely identifies a user’s completion of an activity. |
Supported Authentication Methods (Webhook)
Access Token
You will provide us with an access_token_name
and access_token_value
with which to pass via query string or HTTP Header.
Query String
1
https://your-service-endpoint.com?access_token_name=access_token_value
HTTP Header
1
2
3
POST https://your-service-endpoint.com
Content-Type: application/json
access_token_name: access_token_value
Important Checklists
Testing
Make sure you are using the correct endpoint for the system you are integrating with.
Make sure you are using the staging endpoint when you are testing your integration.
Production
Make sure you are using the correct endpoint for the system you are integrating with.
Make sure you are using the production endpoint for your production environment.
Related APIs
This API is commonly used in conjunction with:
Provisioning Request
You can request Activity Progress API and Webhook access using the form below.
Please make sure that you have submitted the Sign-Up Form prior to completing this provisioning request.
Support
All integration-related support requests should be sent to support@77media.com.