Ltix.LaunchClaims.DeepLinkingSettings (Ltix v0.1.0)

Copy Markdown View Source

Platform preferences for a Deep Linking content selection.

Sent by the platform in an LtiDeepLinkingRequest launch to tell the tool what kinds of content items are accepted.

Required fields

  • :deep_link_return_url — where the tool posts the response JWT
  • :accept_types — content item types the platform accepts (e.g., ["ltiResourceLink", "link"])
  • :accept_presentation_document_targets — how the content may be presented (e.g., ["iframe", "window"])

Optional fields

  • :accept_media_types — comma-separated MIME types for file items
  • :accept_multiple — whether multiple items may be returned
  • :accept_lineitem — whether the platform will create line items
  • :auto_create — whether the platform will auto-create resources
  • :title — suggested title for the content selection UI
  • :text — suggested description for the content selection UI
  • :data — opaque value the tool must echo back in the response

See the Deep Linking guide for using these settings.

Summary

Functions

Parse a deep linking settings claim from a JSON map.

Types

t()

@type t() :: %Ltix.LaunchClaims.DeepLinkingSettings{
  accept_lineitem: boolean(),
  accept_media_types: binary(),
  accept_multiple: boolean(),
  accept_presentation_document_targets: [binary()],
  accept_types: [binary()],
  auto_create: boolean(),
  data: binary(),
  deep_link_return_url: binary(),
  text: binary(),
  title: binary()
}

Functions

from_json(json)

@spec from_json(map()) :: {:ok, t()} | {:error, Exception.t()}

Parse a deep linking settings claim from a JSON map.

Examples

iex> json = %{
...>   "deep_link_return_url" => "https://example.com/return",
...>   "accept_types" => ["link"],
...>   "accept_presentation_document_targets" => ["iframe"]
...> }
iex> {:ok, settings} = Ltix.LaunchClaims.DeepLinkingSettings.from_json(json)
iex> settings.deep_link_return_url
"https://example.com/return"
iex> settings.accept_types
["link"]