Activity & Fulfilment Types
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.
Activity Types & Corresponding Fulfilments
Some activities have only one type of fulfilment while others could different ones depending on the activity requirement.
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 |
Pathway Logs & Fulfilments
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.
Empty Fulfilment
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
Check-In Fulfilment
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.
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) |
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.
Complete Fulfilment
The complete fulfilment relates to digital learning these are in the following formats: Story, Assessment & Survey.
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 |
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%
Data Fulfilment
The data fulfilment is only applicable to data activities. These activities are fulfilled by data uploaded to the platform via spreadsheets or API integrations.
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 |
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.
Enroll Fulfilment
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.
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 |
pathway
The pathway object gives the ID & name of the pathway which can be used to look up additional logs and analytics.
Honor Fulfilment
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.
Key | Type |
type | String (Always honor) |
state | String (Always completed) |
progress | Float (Always 100) |
timestamp | String |
Tracking Fulfilment
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.
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 |
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.
Upload Fulfillment
The upload fulfilment is for confirmation and physical activities and requires the user to upload a file or several files.
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 |
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.
View Fulfilment
Key | Type |
type | String (Always view) |
state | String (Always completed) |
progress | Float (Always 100) |
timestamp | String |
Last updated