Activity Progress API and Webhook



Overview 

Activity Progress API

Intended for selective pulls of data.

  1. The Activity Progress API allows you to selectively query activity progress data for your users.

  2. The default daily limit for API calls is 500.

Activity Progress Webhook

Intended for real-time data access.

  1. To deliver data to your system, the Activity Progress Webhook requires an SSL encrypted endpoint.

  2. Updates are delivered to your endpoint when your users:

    1. Make progress in a learning activity (completing course lessons, registering for an event), or

    2. Finish a learning activity (complete a course, earn a curriculum, attend an event).

  3. The system bundles the data where possible. This means several “in-progress” and/or “finished” updates may be included in single data package. 

  4. Typical latency is under 1 second.

  5. 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" }

Variable

Type

Usage

Variable

Type

Usage

required token

UUID

This value will be provided when you are provisioned for API access.

required startDate

date/time (UTC)

2020-01-01T00:00:00

The starting date for the date range. 

required endDate

date/time (UTC)

2020-01-01T00:00:00

The ending date for the date range

completed

boolean

true false

Whether to only return completed activities. Default is false.

search

varchar(100)

The following fields can be searched: name, email, activityTitle, registration or completionCode.  

start

int

The starting positing of records returned.  

number

int

Number of records returned. The default is 100 records.   

order

varchar(100)

Order the records in ascending or descending order. Must use ASC or DESC.

Endpoint

To find the endpoint for the system you are integrating with:

  1. Go to Systems,

  2. Select the system you are integrating with, and

  3. 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", } ] }

Variable

Type

Usage

Variable

Type

Usage

transactionId

int

This is the unique identifier for the transaction.

firstName

varchar(100)

The user’s first name.

lastName

varchar(100)

The user’s last name.

email

varchar(100)

The user’s email address.

memberIdentifier

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.  

activityId

varchar(100)

The IRI of the activity. This value uniquely identifies an activity.

activityTitle

varchar(100)

The title of the activity.

registration

UUID

Uniquely identifies a user's instance of an activity.

dateStarted

date/time (UTC)

2020-01-01T12:12:12

The date the activity was started.

progress

int

How far the user has progressed through the activity (0 - 100).

dateCompleted

date/time (UTC)

2020-01-01T12:12:12

The date the activity was completed.

completionCode

UUID

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.


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.