Overview
MessageXMLGet and MessageXML launch GSIS plays in Thunder using GSIS game and play identifiers.
Thunder provides both GET and POST versions of this launch method:
MessageXMLGet uses the GET verb and passes the XML payload in the URL query string.
MessageXML uses the POST verb and submits the XML payload in the request body.
Both methods support the same XML structure and produce the same launch behavior.
MessageXMLGet and MessageXML support the following leagues:
- NFL
- NCAA
- AAF
- XFL
- CFL
URL Format
GET
/XOS/MessageXMLGet?<root>...</root>
POST
/XOS/MessageXML
Authentication
MessageXMLGet and MessageXML require a valid authentication token in the launch XML.
For information on:
- Generating authentication tokens
- Vendor GUID requirements
- Token duration and expiration
- Authentication examples
See:
Thunder API – Authentication Token
Common XML Structure
Both MessageXMLGet and MessageXML use the same XML payload structure.
<root>
<authentication token='TOKEN' vendor='VENDOR_GUID'/>
<payload>
<ContentType value='GSIS Plays'>
<League value='NFL'>
<Plays>
<Play
Gamekey='GAMEKEY'
PlayId='PLAYID'
ScoutedTeam='TEAMCODE'/>
</Plays>
</League>
</ContentType>
</payload>
</root>
Play Attributes
| Attribute | Required | Description |
|---|---|---|
| Gamekey | Yes | GSIS game identifier |
| PlayId | Yes | GSIS play identifier |
| ScoutedTeam | No | Team code used to ensure the correct team-specific play is resolved |
Both Gamekey and PlayId are required for GSIS launches.
Supported League Values
| League | Supported |
|---|---|
| NFL | Yes |
| NCAA | Yes |
| AAF | Yes |
| XFL | Yes |
| CFL | Yes |
GSIS Game and Play IDs
GSIS launches require both:
-
Gamekey(GSIS Game ID) -
PlayId(GSIS Play ID)
Example:
<Play
Gamekey='57511'
PlayId='763'
ScoutedTeam='MIA'/>
ScoutedTeam
ScoutedTeam is optional but recommended.
When ScoutedTeam is not provided, Thunder may resolve either the Team 1 offense or Team 2 defense version of the play.
To ensure consistent play resolution, provide ScoutedTeam when available.
For GSIS launches, ScoutedTeam uses team codes.
Example:
<Play
Gamekey='57511'
PlayId='763'
ScoutedTeam='MIA'/>
Optional Angle Selection
MessageXMLGet and MessageXML support the optional Angles element.
Format
<Angles
Sideline='True'
Endzone='True'
Scoreboard='True'
TVBroadcast='False'
NoMedia='False'/>
Placement
Angles is placed inside ContentType after the League element.
Example:
<ContentType value='GSIS Plays'>
<League value='NFL'>
<Plays>
<Play
Gamekey='57511'
PlayId='763'/>
</Plays>
</League>
<Angles
Sideline='True'
Endzone='True'
Scoreboard='False'
TVBroadcast='False'/>
</ContentType>
Supported Attributes
| Attribute | Description |
|---|---|
| Sideline | Enables sideline angle |
| Endzone | Enables endzone angle |
| Scoreboard | Enables scoreboard angle |
| TVBroadcast | Enables TV/Broadcast angle |
| NoMedia | Returns play metadata without media information |
All values support True or False.
NoMedia returns play metadata without media information.
Optional Playlist Behavior
MessageXMLGet and MessageXML support the optional OpenThunderPlaylist element.
Format
<OpenThunderPlaylist
value='True'
mode='new'
name='examplename'/>
Placement
OpenThunderPlaylist is placed inside ContentType after the League element.
Example:
<ContentType value='GSIS Plays'>
<League value='NFL'>
<Plays>
<Play
Gamekey='57511'
PlayId='763'/>
</Plays>
</League>
<OpenThunderPlaylist
value='True'
mode='new'
name='examplename'/>
</ContentType>
Supported Modes
| Mode | Description |
|---|---|
| new | Creates a new playlist |
| append | Adds plays to the existing playlist |
| replace | Replaces the current playlist |
When value='False', playlist behavior is disabled regardless of mode.
Example XML Structure
<root>
<authentication token='TOKEN' vendor='VENDOR_GUID'/>
<payload>
<ContentType value='GSIS Plays'>
<League value='NFL'>
<Plays>
<Play
Gamekey='57511'
PlayId='763'
ScoutedTeam='MIA'/>
</Plays>
</League>
<Angles
Sideline='True'
Endzone='True'
Scoreboard='True'
TVBroadcast='False'/>
<OpenThunderPlaylist
value='True'
mode='new'
name='Example Playlist'/>
</ContentType>
</payload>
</root>
Comments
0 comments
Please sign in to leave a comment.