LogoLogo
DocsUse CasesCreator GuideIntegration Guide
  • Introduction
  • Why Monterosa?
  • Platform Buyer FAQ
  • Engagement Use Cases
    • Event Centres
    • Prediction Games
    • Voting
    • Trivia Challenges
    • Competitions & Sweepstakes
    • Sports Data Visualisation
    • Native Apps
    • Global Replication
  • Core Platform Concepts
    • Platform Components
    • App Settings
    • Schedule & Events
    • Timeline
    • Elements
    • Extensions
    • EnMasse Mesh
  • 🎨Creator Guide
    • Welcome
      • Getting an Account
    • Spaces
      • Projects
        • Events
          • Event Templates
          • Event Settings
          • Timeline
            • Elements
            • OpenAI Integration
            • Live Stats
            • Preview
            • Embedding
              • Embedding an Element
          • Analytics
        • Project Settings
          • Localisation
          • Experience URL
          • Content Creation Limits
        • App Settings
        • Activity Log
      • Content
        • Asset Library
        • Automation
          • 🔃Bulk Content Uploader
          • ⚡Live Data Connector
      • Setup
        • Space Settings
        • Apps
        • Integrations
          • Opta Graphics
          • Tagboard
        • Extensions
          • Identify
          • Gamify
          • Forms
          • Geo-Verify
          • Content Bridge
          • Vote Verification
    • Experiences
      • Experience Creator
        • Customising your UI
        • Retrieving Event URLs
    • Team
      • Two-Factor Authentication
      • Setting Up SSO to log in the Monterosa platform
      • User Roles
    • Scaling & Capacity
    • Creator FAQs
  • 🚀Integration Guide
    • Overview
    • Standalone Pages
    • Web Page Embedding
      • Hosting an Experience on your domain
      • Auto-resizing embedded Experiences
    • Native App Embedding
    • Embed using the SDK
    • Discovering Events Programmatically
    • Audience Profiles
      • Audience Profiles Dataset Reference
        • Users dataset
        • Projects dataset
        • Events dataset
        • Elements dataset
        • Interactions dataset
        • Leaderboard (Event) dataset
        • Leagues dataset
        • Form entries dataset
      • Monterosa Identifiers
    • Integrating IAM & SSO
      • Simple integration with SDK & JWT
        • Advanced SDK integration
      • JWT based SSO integration
      • Ad-hoc SSO integration
      • SSO Integration guidelines
    • Consent Management integration
      • Client-Side Data Storage Explained
    • Analytics integration
    • Integration FAQs
  • 📱FanKit
    • Overview
    • How it works
    • Elements
      • Polls & Voting
        • Brand Survey
        • Poll
        • Reaction Rater
        • Ladder Poll
        • Swing Poll
        • Smash Rater
        • Category Wrapper
        • Category Vote
        • Standalone Vote
        • Team Selector
      • Predictors
        • Predictor
        • Sweepstake
        • Number Predictor
        • Podium Predictor
        • Score Predictor
        • Score Predictor (High)
        • Player Predictor
      • Trivia
        • Trivia
        • Free Type Trivia
        • Ladder Trivia
        • Sorting Trivia
        • Word Trivia
        • Video Trivia
        • Number Trivia
      • Editorial & Media
        • Article
        • External Article
        • Commentary
        • Gallery
        • Image
        • Video
        • Video Carousel
        • Shareable URL
        • Social Embed
        • Form
        • Element Carousel
        • Match Event
        • Substitution
        • Goal
        • Time Event
      • Quiz
        • Quiz Wrapper
        • Quiz Question
      • Series Prediction
        • Series Wrapper
        • Series Score Predictor
        • Series Predictor
        • Series Number Predictor
        • Series Player Predictor
      • Multi Rater
        • Ratings Wrapper
        • Ratings Slider
      • Sports Statistics
        • Opta Widget
        • Stat Callout
        • Stat Comparison
      • Gamification
        • Scoreboard (Event)
        • Scoreboard (Round)
        • Leaderboard (Project)
        • Leaderboard (Event)
        • Leaderboard (Round)
        • Leaderboard (Group)
    • Tips, tricks, tutorials & guides
      • Advanced CSS Overrides
      • Using points and leaderboards
      • Content containers
    • Display Modes
    • Converters
      • Access Gate
      • Form
      • Cards
      • Share Image
      • Featured Links
      • Sponsors
      • Promo Banner
      • Google Ads
    • Localisation
    • Supported Browsers
    • Release Notes
  • 👣DEVELOPER GUIDE
    • Overview
    • Platform Terminology
    • Interaction SDK
      • Download & Initialise the SDK
      • Supported Devices & Operating Systems
      • Roadmap
      • Release Notes
        • React Native
          • v0.2.2
        • JavaScript
          • v0.16.16
          • v0.16.15
          • v0.16.14
          • v0.16.13
          • v0.16.12
          • v0.16.11
        • iOS
          • v0.16.12
          • v0.16.11
        • Android
          • v0.16.13
      • SDK FAQs
    • Embedding Apps
      • Static Embedding
      • Dynamic Embedding
        • Web Behaviours
        • iOS Behaviours
        • Android Behaviours
        • Preloading
        • Caching Content
        • Shared Storage
      • Configure your app
      • Communicate with embedded apps
      • Video Stream Sync
      • React Native
        • Events in React Native SDK
      • Integrate with Flutter
    • Building Apps
      • Quick Start Guide
      • How to build your first app
        • Getting started
        • Get your app running locally
        • Install the Interaction SDK
        • Define your App
        • Set up Studio
        • Develop your App
        • Enable Dynamic Configuration
      • Core SDK Functions
        • Getting and displaying Events
        • Managing Elements
        • Reacting to live updates
        • Dynamic runtime configuration
        • Time
        • Localisation
    • Content Automation
      • Discovering Events
      • Connecting to Google Sheets
      • Connecting to Zapier
      • Connecting to Sports Feeds
    • App Specs
      • App Spec Reference
        • Root Spec
        • Elements Spec
        • Project Settings Spec
        • Event Settings Spec
        • Expressions (beta)
        • Data Sources (beta)
        • External data source
        • Field Types
          • Boolean
          • Collection
          • Colour
          • Datetime
          • External
          • File
          • Freetext
          • Image
          • List
          • Number
          • WYSIWYG
        • Field, Field set, Field section
      • Customising App Specs
    • Available APIs
    • Integrating TV Graphics
    • Advanced Topics
      • Listings
      • Accesssing user concurrency values from your app
      • Custom analytics Extension
      • Front-end app communication protocols
      • Multi Vote
      • Reveal answer on vote
  • ⚙️CONTROL API
    • Overview
    • Objects Definitions
    • Element Reference
    • Organisations
      • Get Organisations
      • Get Organisation
      • Create Organisation
      • Update Organisation
      • Delete Organisation
    • Spaces
      • Get Spaces
      • Get Space
      • Create Space
      • Update Space
      • Delete Space
    • Apps
      • Get Apps
      • Get App
      • Create App
      • Reload App
    • App Settings
    • Projects
      • Get Projects
      • Get Project
      • Create Project
      • Update Project
      • Delete Project
    • Events
      • Get Events
      • Get Event
      • Get Event Service Feeds
      • Create Event
      • Create Event From Template
      • Update Event
      • Delete Event
    • Event Templates
      • Get Event Templates
      • Get Event Template
      • Create Event Template
      • Update Event Template
      • Delete Event Template
    • Elements
      • Get Elements
      • Get Element
      • Get Event Template Elements
      • Create Element
      • Update Element
      • Delete Element
    • Assets
      • Get Assets
      • Upload Assets
      • Update Asset
      • Delete Asset
      • Get Asset Media Types
      • Get Asset Uploaders
      • Asset Tags
        • Add Tag to Asset
        • Remove Tag from Asset
    • Tags
      • Get Tags
      • Get Tag
      • Create Tag
      • Update Tag
      • Delete Tag
  • ⚙️REFERENCE
    • Public Feeds
      • Graphics Feed
    • Listings
    • Elements
    • Event History
    • Demographics
    • Identify
    • Gamify
      • Gamification Mechanics
      • Public API
      • Private API
    • Geo-Verify
    • Browser Support
    • Audience API (Preview)
      • Authentication
        • Monterosa Access Token
        • Public client authentication
      • Batched operations
      • Loyalty API
      • Connections API
    • Image Resizing API
  • ⛓️Extensions
    • Overview
    • Instance handshake
    • Project handshake
    • Project delete
    • Tabs
    • Event Tabs
    • Setup
    • Listings notification
    • Elements notification
    • Analytics
    • Assets
    • Event-level feed
    • Webhooks
  • ⚖️COMPLIANCE
    • Data Requests
    • Data Sub-processors
    • Hosting Locations
    • Third party software
    • ISO27001
  • 🗒️RELEASE NOTES
    • Studio
      • v29.0
      • v28.0
      • v27.0
      • v26.0
      • v25.0
    • FanKit
      • v24.41.0
      • 24.42.0 Preview
    • Archive
      • v24 releases 2022-23
Powered by GitBook
On this page
  • Example
  • Navigation
  • Data
  • Examples

Was this helpful?

  1. DEVELOPER GUIDE
  2. App Specs
  3. App Spec Reference
  4. Field Types

External

External type is designed for more complex data structure which might require the Producer to traverse through a categories tree (navigation) in order to narrow down data subset (data). These have the following attributes:

source

An object which specifies the location of the navigation and data feed.

Note that only GET method is supported.

select

An object which controls what data selection mechanism is to be used.

select has these properties:

mode

Defines how data selection mechanism should be implemented. Supported modes:

  • list one or more items from a list selected manually by Producer

  • dropdown one item from a drop down selected manually by Producer

min

Minimum number of items that Producer can select from a list for list mode

max

Minimum and maximum number of items that Producer can select from a list for list mode

filtering

Controls data filtering mechanism. This works over keywords specified for data items and is supported only for list mode. Possible values:

  • off no filtering supported

  • freetext free text entry with autocomplete

  • checkbox a checkbox for each keyword

  • dropdown a dropdown of keywords

Filtering is not yet supported

Example

{
  "key": "podium",
  "type": "external",
  "source": {"url": "https://example.com/feeds/podium.json", "method": "get"},
  "select": {
    "mode": "list",
    "min": 2,
    "max": 2,
    "filtering": "off"
   }
}

Navigation

Navigation is a hierarchy of categories. At the bottom of the navigation tree there is a layer of data for that navigation tree branch. Hierarchy is optional.

Both hierarchy and data can be split between several feeds. This allows to partition feeds in a flexible way to meet size or architecture restrictions. This is done by providing categories-source or data-items-source attributes.

Navigation object has these properties:

categories-label

Dropdown labels for category selection.

categories

An array of categories entries, used to populate

categories dropdown.

categories-source

Source object with an url pointing to JSON feed

containing categories data array. This is ignored if

categories is specified.

name

Name of a category as to be displayed in a dropdown.

data-items

An array of data entries.

data-items-source

Source object with a URL pointing to JSON feed

containing data entries array. Ignored if data-items

is specified.

Data

id

An arbitrary id which can be used for debug/data tracing purposes.

name

Name of this data item to be presented to the Producer.

data

Actual data

keywords

Array of keywords used for filtering.

Examples

Non-hierarchical data example

[
    {
      "id": "a1",
      "name": "Player 1 name",
      "data": "some data here",
      "keywords": [ "keyword1", "keyword2"]
    },
    {
      "id": "b2",
      "name": "Player 2 name",
      "data": "some data",
      "keywords": [ "keyword1", "keyword2"]
    }
]

Hierarchical structure example

The following feed describes this hierarchy:

  1. First layer - discipline selection of “Hockey” and “Figure Skating”, labelled “Discipline”

  2. Second layer for Hockey - event selection of “Men’s tournament” and “Women’s tournament”, labelled “Events”

  3. Third layer for “Men’s tournament” - match selection of “Men’s Gold Medal Game” and “Men’s Bronze Medal Game”, labelled “Match”

  4. Fourth layer for “Men’s Gold Medal Game” is the data layer. It lists two items of data.

{
  "categories-label": "Discipline",
  "categories": [
    {
      "name": "Hockey",
      "categories-label": "Event",
      "categories": [
        {
          "name": "Men's tournament",
          "categories-label": "Match",
          "categories": [
            {
              "name": "Men's Gold Medal Game",
              "data-items": [
                {
                  "id": "a1",
                  "name": "Player 1 name",
                  "data": "some data here",
                  "keywords": [ "keyword1", "keyword2"]
                },
                {
                  "id": "b2",
                  "name": "Player 2 name",
                  "data": "some data",
                  "keywords": [ "keyword1", "keyword2"]
                }
              ]
            },
            {
              "name": "Men's Bronze Medal Game",
              "data-items-source": {"url": "http://example.com/feeds/mbmg.json", "method": "get"}
            }
          ]
        },
        {
          "name": "Women's tournament",
          "categories-label": "Event",
          "categories-source": {"url": "http://example.com/feeds/wt.json", "method": "get"}
        }
      ]
    },
    { 
      "name": "Figure Skating",
      "label": "Events",
      "categories": {"url": "http://example.com/feeds/fs.json", "method": "get"}
    }
  ]
}
[
    {
      "name": "Women's Gold Medal Game",
      "data-items": [
        {
          "id": "a1",
          "name": "Player 1 name",
          "data": "some data here",
          "keywords": [ "keyword1", "keyword2"]
        },
        {
          "id": "b2",
          "name": "Player 2 name",
          "data": "some data",
          "keywords": [ "keyword1", "keyword2"]
        }
      ]
    },
    {
      "name": "Women's Bronze Medal Game",
      "data-items-source": {"url": "http://example.com/feeds/wbmg.json", "method": "get"}
    }
]
[
    {
      "id": "a1",
      "name": "Player 1 name",
      "data": "some data here",
      "keywords": [ "keyword1", "keyword2"]
    },
    {
      "id": "b2",
      "name": "Player 2 name",
      "data": "some data",
      "keywords": [ "keyword1", "keyword2"]
    }
]

Was this helpful?

The categories data feed () might look like this:

The data feed () might look like this:

👣
http://example.com/feeds/wt.json\
http://example.com/feeds/mbmg.json\