Developer Platform (May 2017)

LTI management (links and tool providers)

«  Assessments and rubrics   ·  [   home  ·   reference  ·   community   ·  search   ·  index   ·  routing table   ·  scopes table   ]   ·  Learning Repository objects  »

Contents

The LTI actions let an organization manage the LTI tool providers and links available to particular organization units. Callers can use these routes to fetch, register (create), update, and remove entries for LTI tool providers and LTI links. Note that each created LTI tool provider registration will have a unique D2LID assigned (and so will each created LTI link), so you can identify a tool provider or link independently of the org unit with which it’s registered; however, you cannot register a single LTI tool provider or link with more than one org unit.

Note

The LTI API routes are fulfilled by the LE product component and included in the LE API contract version. The ‘lti’ product component listed in version blocks (such as Version.ProductVersions) indicates the level of LTI standard the platform supports, and not the API contract version for these routes.

Attributes

LTI.CreateLtiLinkData

When a client invokes an action to register or update an already registered LTI link for an org unit, it should provide a structure like this:

{
    "Title": <string>,
    "Url": <string>,
    "Description": <string>,
    "Key": <string>,
    "PlainSecret": <string>,
    "IsVisible": <boolean>,
    "SignMessage": <boolean>,
    "SignWithTc": <boolean>,
    "SendTcInfo": <boolean>,
    "SendContextInfo": <boolean>,
    "SendUserId": <boolean>,
    "SendUserName": <boolean>,
    "SendUserEmail": <boolean>,
    "SendLinkTitle": <boolean>,
    "SendLinkDescription": <boolean>,
    "SendD2LUserName": <boolean>,
    "SendD2LOrgDefinedId": <boolean>,
    "SendD2LOrgRoleId": <boolean>,
    "UseToolProviderSecuritySettings": <boolean>,  // Appears in LE's 1.12+ contract as of LE v10.6.0
    "CustomParameters": null|[ <LTI.CustomParameter>, ... ]
}
CustomParameters
Any custom parameters will get passed as name-value pairs in this property; if no custom parameters are needed for this LTI link, this property will be null.
UseToolProviderSecuritySettings
If true, then this link will use all the Send* properties defined for the associated Tool Provider entry (as determined by URL matching against Tool Provider definitions).
LTI.CustomParameter

Encapsulates a custom LTI parameter in a name-value pair.

{
    "Name": <string>,
    "Value": <string>
}
LTI.LtiLinkData

When a client invokes an action that would retrieve the registration information for an LTI link, the Learning Service sends back a structure like this:

{
    "LtiLinkId": <number:D2LID>,
    "Title": <string>,
    "Url": <string>,
    "Description": <string>,
    "Key": <string>,
    "IsVisible": <boolean>,
    "SignMessage": <boolean>,
    "SignWithTc": <boolean>,
    "SendTcInfo": <boolean>,
    "SendContextInfo": <boolean>,
    "SendUserId": <boolean>,
    "SendUserName": <boolean>,
    "SendUserEmail": <boolean>,
    "SendLinkTitle": <boolean>,
    "SendLinkDescription": <boolean>,
    "SendD2LUserName": <boolean>,
    "SendD2LOrgDefinedId": <boolean>,
    "SendD2LOrgRoleId": <boolean>,
    "UseToolProviderSecuritySettings": <boolean>,  // Appears in LE's 1.12+ contract as of LE v10.6.0
    "CustomParameters": null|[ <LTI.CustomParameter>, ... ]
}
UseToolProviderSecuritySettings
If true, then this link will use all the Send* properties defined for the associated Tool Provider entry (as determined by URL matching against Tool Provider definitions). Assumed to be False, by default.
LTI.LtiQuickLinkData

When a client creates a new quicklink around an existing LTI link, the service returns a structure like this to describe the new quicklink:

{
    "LtiLinkId": <number:D2LID>,
    "PublicUrl": <string>
}
PublicUrl
This property contains the URL location for the new quicklink.
LTI.CreateLtiProviderData

When a client invokes an action to register or update an already registered LTI tool provider for an org unit, it should provide a structure like this:

{
    "LaunchPoint": <string>,
    "Secret": <string>,
    "UseDefaultTcInfo": <boolean>,
    "Key": <string>,
    "Name": <string>,
    "Description": <string>,
    "ContactEmail": <string>,
    "IsVisible": <boolean>,
    "SendTcInfo": <boolean>,  // Appears in LE's 1.12+ contract as of LE v10.6.0
    "SendContextInfo": <boolean>,  // Appears in LE's 1.12+ contract as of LE v10.6.0
    "SendUserId": <boolean>,  // Appears in LE's 1.12+ contract as of LE v10.6.0
    "SendUserName": <boolean>,  // Appears in LE's 1.12+ contract as of LE v10.6.0
    "SendUserEmail": <boolean>,  // Appears in LE's 1.12+ contract as of LE v10.6.0
    "SendLinkTitle": <boolean>,  // Appears in LE's 1.12+ contract as of LE v10.6.0
    "SendLinkDescription": <boolean>,  // Appears in LE's 1.12+ contract as of LE v10.6.0
    "SendD2LUserName": <boolean>,  // Appears in LE's 1.12+ contract as of LE v10.6.0
    "SendD2LOrgDefinedId": <boolean>,  // Appears in LE's 1.12+ contract as of LE v10.6.0
    "SendD2LOrgRoleId": <boolean>,  // Appears in LE's 1.12+ contract as of LE v10.6.0
}
Send* properties
The list of Send* properties added as of LE v10.6.0 allow these security settings defined at the Tool Provider level to override security settings defined with any of the associated LTI Link definitions (as determined by matching LTI link Url properties aginst the Tool Provider’s LaunchPoint property).
LTI.LtiToolProviderData

When a client invokes an action that would retrieve the registration information for an LTI tool provider, the Learning Service sends back a structure like this:

{
    "LtiToolProviderId": <number:D2LID>,
    "OrgUnitId": <number:D2LID>,
    "LaunchPoint": <string>,
    "UseDefaultTcInfo": <boolean>,
    "Key": <string>,
    "Name": <string>,
    "Description": <string>,
    "ContactEmail": <string>,
    "IsVisible": <boolean>,
    "SendTcInfo": <boolean>,  // Appears in LE's 1.12+ contract as of LE v10.6.0
    "SendContextInfo": <boolean>,  // Appears in LE's 1.12+ contract as of LE v10.6.0
    "SendUserId": <boolean>,  // Appears in LE's 1.12+ contract as of LE v10.6.0
    "SendUserName": <boolean>,  // Appears in LE's 1.12+ contract as of LE v10.6.0
    "SendUserEmail": <boolean>,  // Appears in LE's 1.12+ contract as of LE v10.6.0
    "SendLinkTitle": <boolean>,  // Appears in LE's 1.12+ contract as of LE v10.6.0
    "SendLinkDescription": <boolean>,  // Appears in LE's 1.12+ contract as of LE v10.6.0
    "SendD2LUserName": <boolean>,  // Appears in LE's 1.12+ contract as of LE v10.6.0
    "SendD2LOrgDefinedId": <boolean>,  // Appears in LE's 1.12+ contract as of LE v10.6.0,
    "SendD2LOrgRoleId": <boolean>,  // Appears in LE's 1.12+ contract as of LE v10.6.0
}
Send* properties
The list of Send* properties added as of LE v10.6.0 allow these security settings defined at the Tool Provider level to override security settings defined with any of the associated LTI Link definitions (as determined by matching LTI link Url properties aginst the Tool Provider’s LaunchPoint property).

Actions

LTI Tool Providers

DELETE /d2l/api/le/(version)/lti/tp/(tpId)

Remove the registration for an LTI tool provider.

Parameters:
Status Codes:
API Versions:
  • 1.12+ – Route first appears in LMS v10.6.0.
  • 1.5-1.11Deprecated as of LMS v10.7.0.
  • 1.4-Obsolete as of LMS v10.7.0.
GET /d2l/api/le/(version)/lti/tp/(orgUnitId)/

Retrieve the information for all LTI tool providers registered for an org unit.

Parameters:
Status Codes:
API Versions:
  • 1.12+ – Route first appears in LMS v10.6.0.
  • 1.5-1.11Deprecated as of LMS v10.7.0.
  • 1.4-Obsolete as of LMS v10.7.0.

Return. This action returns a JSON array of LtiToolProviderData data blocks, containing the details for all the tool providers registered for the provided org unit.

If you use this route at version 1.12 or later (as of LE v10.6.0), the returned data blocks will include the various Send* security properties.

GET /d2l/api/le/(version)/lti/tp/(orgUnitId)/(tpId)

Retrieve the information for a particular LTI tool provider.

Parameters:
  • version (D2LVERSION) – API version.
  • orgUnitId (D2LID) – Org unit ID.
  • tpId (D2LID) – Tool provider ID.
Status Codes:
API Versions:
  • 1.12+ – Route first appears in LMS v10.6.0.
  • 1.5-1.11Deprecated as of LMS v10.7.0.
  • 1.4-Obsolete as of LMS v10.7.0.

Return. This action returns a LtiToolProviderData JSON block containing the data associated with the matching LTI tool provider.

If you use this route at version 1.12 or later (as of LE v10.6.0), the returned data block will include the various Send* security properties.

POST /d2l/api/le/(version)/lti/tp/(orgUnitId)

Register a new LTI tool provider for an org unit.

Parameters:
JSON Parameters:
 
Status Codes:
API Versions:
  • 1.12+ – Route first appears in LMS v10.6.0.
  • 1.5-1.11Deprecated as of LMS v10.7.0.
  • 1.4-Obsolete as of LMS v10.7.0.

Note

If you use this route at version 1.12 or later (as of LE v10.6.0), you can provide values for the various Send* security properties in the LTI.CreateLtiProviderData structure you provide.

Return. This action returns a LtiToolProviderData JSON block containing the data associated with the newly registered LTI tool provider.

PUT /d2l/api/le/(version)/lti/tp/(tpId)

Update the information associated with a registered LTI tool provider.

Parameters:
JSON Parameters:
 
Status Codes:
API Versions:
  • 1.12+ – Route first appears in LMS v10.6.0.
  • 1.5-1.11Deprecated as of LMS v10.7.0.
  • 1.4-Obsolete as of LMS v10.7.0.

Note

If you use this route at version 1.12 or later (as of LE v10.6.0), you can provide values for the various Send* security properties in the LTI.CreateLtiProviderData structure you provide.

Return. This action returns a LtiToolProviderData JSON block containing the updated data for the tool provider.

«  Assessments and rubrics   ·  [   home  ·   reference  ·   community   ·  search   ·  index   ·  routing table   ·  scopes table   ]   ·  Learning Repository objects  »