Collecting student and curriculum context

This step involves collecting student and curriculum context so the app knows what to teach the student.

Before we dive into the technical details, let's first understand the sequence of events that follow a student logging into Study Reel.

  1. Once logged in, students are presented with a list of apps they can choose from.

  2. When a student picks one, Study Reel makes an API call to the app with all the student context. If an app is registered with EduPaid, the learning blocks are also included in the context.

  3. The app is then responsible for logging the student into its system and returning a student-specific, pre-logged-in URL to StudyReel in the response. Let's call this the magic link.

  4. Study Reel then redirects the student's browser to the app's magic link and proceeds with the session.

Design your app to receive the LTI Launch request.

The LTI launch request is detailed in the StudyReel documentation

The registered URL is called with the LTI Launch request payload when the student launches an app. This payload contains information about the student and the curriculum the app needs to teach. A payload will look like the following:

{
  "messageType": "LtiResourceLinkRequest",
  "version": "1.3.0",
  "resourceLink": {
    "id": "default"
  },
  "iss": "https://studyreel.alphaledtech.com",
  "deployment_id": "U3BhcnNoJ3MqdGVzdCBhcHAqNjoxLjM=",
  "target_link_uri": "studyreel://learn",
  "role": "Student",
  "sub": "[email protected]",
  "given_name": "John",
  "family_name": "Doe",
  "nonce": "MIIBIjANBgkqhkiG9w0BAQEFAAQCAQ8AMIIBCgKCAQEAsd",
  "iat": "2024-09-19 03:14:07",
  "exp": "2024-09-19 04:14:07",
  "jti": "4556",
  "studyreel_grade_math": "5",
  "studyreel_grade_language": "5",
  "studyreel_grade_science": "6",
  "studyreel_grade_reading": null,
  "age_grade": "5",
  "user_acquisition_source": "StudyReel",
  "map_rit_math": "190",
  "map_rit_language": "170",
  "map_rit_science": "180",
  "map_rit_reading": null,
  "learning_blocks": [
    {
      "amount": 400,
      "curriculumIds": [
        "5ec20e37-d7cc-11e8-824f-0242ac160002",
        "5eb83890-d7cc-11e8-824f-0242ac160002",
        "0f6e9a91-350b-4390-b50a-981a4b1e74af",
        "7d862da4-6b9c-4a03-8124-4a86690e79b0"
      ],
      "description": "California Grade 4 full-year curriculums for Math, Science, Language Arts and History"
    },
    {
      "amount": 50,
      "curriculumIds": [
        "5ef24d37-d7sc-11e8-ac22-0242ac182417"
      ],
      "description": "FastMath Proficiency"
    }
  ]
}

The app should take this context, log the student into its system, and generate a pre-signed-in URL to be returned in the response. As a security best practice, the URL should be student, and session-specific, with expiration mechanisms in place.

Get details about the curriculum.

Use the API below to access details about the curricula and the CASE Items that need to be taught as part of them.

https://commoncrawl.alpha1edtech.com/standards/documents/{curriculumId}

Last updated