Overview
XOSMessageXMLGet and XOSMessageXML launch XOS plays in Thunder using XOS play IDs.
Thunder provides both GET and POST versions of this launch method:
XOSMessageXMLGet uses the GET verb and passes the XML payload in the URL query string.
XOSMessageXML 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.
URL Format
GET
/XOS/XOSMessageXMLGet?<root>...</root>POST
/XOS/XOSMessageXMLAuthentication
XOSMessageXMLGet and XOSMessageXML 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 XOSMessageXMLGet and XOSMessageXML use the same XML payload structure.
<root>
<authentication token='TOKEN' vendor='VENDOR_GUID'/>
<payload>
<ContentType value='XOS Plays'>
<League value='NFL'>
<Plays>
<Play PlayId='GUID'/>
</Plays>
</League>
</ContentType>
</payload>
</root>Play Attributes
| Attribute | Required | Description |
|---|---|---|
| PlayId | Yes | XOS Play GUID |
PlayId must be supplied as a GUID value.
XOS Play IDs
XOS launches use GUID-based XOS play IDs.
Example:
<Play PlayId='10BE0A29-F4B8-4451-AC30-03536BBA8227'/>XOSMessageXMLGet and XOSMessageXML use the same play IDs as LaunchPlayerByPlays.
League
League is accepted but is not used for play resolution when launching XOS plays.
Because XOS launches use XOS Play GUIDs, Thunder resolves the play directly from the supplied PlayId regardless of the League value.
Optional Angle Selection
XOSMessageXMLGet and XOSMessageXML 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='XOS Plays'>
<League value='NFL'>
<Plays>
<Play PlayId='GUID'/>
</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 is supported for XOS launches and returns play metadata without media information.
Optional Playlist Behavior
XOSMessageXMLGet and XOSMessageXML 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='XOS Plays'>
<League value='NFL'>
<Plays>
<Play PlayId='GUID'/>
</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='XOS Plays'>
<League value='NFL'>
<Plays>
<Play PlayId='10BE0A29-F4B8-4451-AC30-03536BBA8227'/>
</Plays>
</League>
<Angles
Sideline='True'
Endzone='True'
Scoreboard='False'
TVBroadcast='False'/>
<OpenThunderPlaylist
value='True'
mode='new'
name='Example Playlist'/>
</ContentType>
</payload>
</root>
Comments
0 comments
Please sign in to leave a comment.