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.

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

"fulfilment": []

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.

"fulfilment": {
    "type": "check-in",
    "progress": 100,
    "checkin": {
        "eventID": "EVBK-CAGJ-71XT",
        "virtual" : false,
        "guid": "212caaa7-eb7b-4ca4-9db0-1ac88a2b6bf8",
        "distance": 12653
    },
    "timestamp": "2022-02-28T14:07:09+02:00"
}

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.

"fulfilment": {
    "type": "story",
    "state": "completed",
    "progress": 100,
    "story": {
        "ID": "EV72-RQZY-80AH",
        "name": "Dragon Template",
        "score": 100,
    },
    "timestamp": "2022-02-24T14:56:56+02:00"
}

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.

"fulfilment": {
    "type": "data",
    "state": "completed",
    "progress": 100,
    "data": {
        "category": "Current Score",
        "current": 201,
        "target": 1
    },
    "timestamp": "2021-07-01T16:27:04+02:00"
}

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.

"fulfilment": {
    "type": "enroll",
    "state": "completed",
    "progress": 100,
    "pathway": {
        "ID": "EVPW-IUOI-80GX",
        "name": "Notify"
    },
    "timestamp": "2022-02-28T14:59:05+02:00"
}

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.

"fulfilment": {
    "type": "honor",
    "state": "completed",
    "progress": 100,
    "timestamp": "2022-02-24T15:11:04+02:00"
}

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.

"fulfilment": {
    "type": "track",
    "state": "completed",
    "progress": 100,
    "tracking": {
        "message": "You pushed the button 10 times 🎉🎉🎉",
        "data": "{\"buttonPushes\":10}"
    },
    "timestamp": "2022-02-28T17:42:21+02:00"
}

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.

"fulfilment": {
    "type": "upload",
    "state": "completed",
    "progress": 100,
    "uploads": [
        {
            "url": "<url of upload>",
            "type": "image",
            "name": "image-1.png"
        },
        {
            "url": "<url of upload>",
            "type": "image",
            "name": "image-2.png"
        },
        ..etc
    ],
    "timestamp": "2022-02-24T14:57:46+02:00"
}

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

"fulfilment": {
    "type": "view",
    "state": "completed",
    "progress": 100,
    "timestamp": "2021-07-01T19:26:05+02:00"
}

Last updated