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.  

note

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. 

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.

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

token

UUID

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

startDate

date/time (UTC)

2020-01-01T00:00:00

The starting date for the date range. 

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

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

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

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

https://your-service-endpoint.com?access_token_name=access_token_value

HTTP Header

POST https://your-service-endpoint.com
Content-Type: application/json
access_token_name: access_token_value

Important Checklists

Testing

Production


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.