Activity & Fulfilment Types
Last updated
Last updated
Pathways is a learning technology that connects multiple activities into a journey centric learning experience. In order for a user to complete an activity a type of fulfillment needs to occur. Before starting to develop integration with pathway logs, it is a good idea to familiarize with the activity types and corresponding fulfillments.
Some activities have only one type of fulfilment while others could different ones depending on the activity requirement.
When making calls to the pathway logs, the response returns logs with a fulfilment object. Depending on the fulfilment different properties will be available. This is useful to know ahead of integration so you can plan fulfilment handling accordingly. The below code snippets and definitions provide this information for each fulfillment type.
If the user has and not started or no fulfilment logs have been recorded the fulfilment object will be an empty array i.e. Empty
The check-in fulfilment is used in classroom, events and physical location activities. The user uses their device to check-in. If the activity is related to a classroom or event, then eventID
and booking guid
will be in the fulfilment property.
checkin.distance If the distance is -1, the distance between the location and the user was not determined or shared. If checkin.virtual is true then the distance will always be -1 as no distance is tracked for virtual events. Precise coordinates are not saved on the server only distance is calculated with ephemeral coordinates.
checkin.guid & checkin.eventID Only if the activity is a classroom or event. The guid refers to the unique ID of the booking and the eventID refers to the event / classroom's eventID or given SKU format. See more in Classroom & Events.
The complete fulfilment relates to digital learning these are in the following formats: Story, Assessment & Survey.
story
The story object gives the ID & name of the story which can be used to look up additional logs and analytics.
story.score If the activity has a non-scoring activity the score in the fulfilment will always be 100%
The data fulfilment is only applicable to data activities. These activities are fulfilled by data uploaded to the platform via spreadsheets or API integrations.
data The data object is generated by what data is uploaded or pushed to Data Manager. When this event occurs the user's log is updated in the background and requires no user interaction.
The target and current value is setup on the pathway activity and correspond to "columns" in the data. Learn more about Data.
The enroll fulfilment is only applicable to activities that link to other pathways. The user fulfils the activity when they select the activity and enroll on the other pathway.
pathway
The pathway object gives the ID & name of the pathway which can be used to look up additional logs and analytics.
The honor fulfilment is where the user simply needs to view the activity and confirm they have completed it by selecting a "I Confirm" button. Honor in this context refers that the activity fulfilment is a honor based exercise.
The tracking fulfilment is specific to web activities. These activities are usually occur off app on external platforms or serverless web apps. Web activities that are set to track will need to update pathway fulfilments using the Web Tracking API.
tracking.message & tracking.data With the Web Tracking API the push method allows a short message and a JSON string to be stored with the pathway log to keep track of progress and state. See more in the Web Tracking API docs.
The upload fulfilment is for confirmation and physical activities and requires the user to upload a file or several files.
Review state
Some upload fulfilments will have a state
of review, this means that the user has uploaded the files but the submission is waiting for a review from a pathway admin. If you plan to retrieve these files you should do so once the state
is complete.
Activity Type
Fulfilment Type(s)
Article
View
Assessment
View, Complete
Audio
View
Certificate
View
Classroom
Check-In, QR Code
Confirmation
Honor, Upload, Upload & Review
Connect Pathway
Enrollment
Data Checkpoint
Data
Data Tracking
Data
Event
Check-In, QR Code
Milestone
View
Physical Activity
Honor, Upload, Upload & Review, QR Code
Podcast Episode
View
Reward
View
Story
View, Complete
Stream Snippet
View
Survey
View, Complete
Video
View
Web Activity
Visit, Tracking
YouTube Video
View
Key
Type
type
String
progress
Float
timestamp
String
checkin
Object
checkin.distance
Float (The distance in meters)
Only for classroom & events
checkin.guid
String (The GUID of the booking)
checkin.virtual
Bool (If the event is virtual)
checkin.eventID
String (The ID / SKU of the event)
Key
Type
type
Enum (story or chapter)
state
Enum (not started, in progress, completed)
progress
Float (The progress of the user in the activity)
story
Object
story.ID
String (ID of the story)
story.name
Sting (Name of the story)
story.score
Float (The score of the user in the activity)
timestamp
String
Key
Type
type
String (Always data)
state
Enum (not started, in progress, completed)
progress
Float (progress of current to target in data)
data
Object
data.category
String (The context / name of the data)
data.current
Float (The current data value of the user)
data.target
Float (The required target for current)
timestamp
String
Key
Type
type
String (Always enroll)
state
String (Always completed)
progress
Float (Always 100)
pathway
Object
pathway.ID
String (ID of pathway)
pathway.name
String (name of pathway)
timestamp
String
Key
Type
type
String (Always honor)
state
String (Always completed)
progress
Float (Always 100)
timestamp
String
Key
Type
type
String (Always track)
state
Enum (not started, in progress, completed)
progress
Float
tracking
Object
tracking.message
String (Message set by Web Tracking API)
tracking.data
String (JSON string set by the Web Activity API)
timestamp
String
Key
Type
type
upload
state
Enum (not started, in progress, review, completed)
progress
Float
uploads
Array
uploads.url
String
uploads.type
String (video, image, audio or file)
uploads.name
String (Original file name)
timestamp
String
Key
Type
type
String (Always view)
state
String (Always completed)
progress
Float (Always 100)
timestamp
String