Main URL Definition

Main URL is http://NAME:PORT/DEVICE

where:

  • NAME is the server name or IP address,

  • PORT is 5521 plus instance number,

  • DEVICE is the device name, possible values are:

    • video

    • titler_0

    • logo

    • cg_0 …​ cg_8

    • cg_logo

    • audio

All names are in lowercase letters, uppercase is "macro". Can be dependent on engine version and configuration (gfx layers, ovl layers).

Commands

Command URL is http://NAME:PORT/DEVICE/command

The request method should be POST, the request body should be XML with command request and Content-Type in the request header should be text/xml.

General request XML is:

<?xml version="1.0" encoding="utf-8"?>
<Request>
  <!-- Here should be one or more command tags -->
</Request>

Request tags are:

<Cue Id="{XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX}"/>
<StartCued />
<GPI Commercial="y" Preroll="10" />
<GPI Commercial="n" Preroll="10" />
<Event Device="" Cmd="" Op1="" Op2="" Op3=""
       Name="" Description="" ThirdPartyId=""
        Id="{XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX}">
  <Op1></Op1>
  <Op2></Op2>
  <Op3></Op3>
</Event>
<SetOutput State="Normal|Black|Bypass|Clean"/>

General response is:

<?xml version="1.0" encoding="utf-8"?>
<Reply Sucess="n" Status="Error">
  <!-- Here should be one or more response tags like following -->
  <Result Sucess="y" Status="OK" />
  <Result Sucess="n" Status="0x8XXXXXXX" />
</Reply>

Upper success is yes only if all commands were successfully executed. Syntax error can lead to the partial command execution. Bad command result does not stop the execution.

Status

Status URL is http://NAME:PORT/DEVICE/status

Method is GET.

Result XML is:

<?xml version="1.0" encoding="utf-8"?>
<Status>
  <Active Id="{XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX}"/>
  <Cued Id="{XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX}"/>
  <License State="Licensed|Not Licensed|Demo"/>
  <Output State="Normal|Black|Bypass|Clean"/>
</Status>

List and Items

List URL is http://NAME:PORT/DEVICE/list

Method is GET.

Result XML is:

<?xml version="1.0" encoding="utf-8"?>
<List>
  <Item Id="{XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX}"
        Name="Name" Description="Desc" ThirdPartyId="3rd ID" SubtitleId="CCC"
        ProxyProgress="0" ProxyError="y"
        ScheduledAt="DD-MM-YYYY HH:MM:SS.MSS" Duration="HH:MM:SS.MSS" IsEmpty="y"
        Clocked="y" ManualEnd="y" JipSkipable="y"
        LoopBody="y" LoopStart="y" ManualStart="y"
        TrickLoop="y" />
  <!-- More like upper -->
</List>

Item URL is http://NAME:PORT/DEVICE/list/XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX

Method is GET.

Result XML is:

<?xml version="1.0" encoding="utf-8"?>
<Item Id="{XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX}"
      Name="Name" Description="Desc" ThirdPartyId="3rd ID" SubtitleId="CCC"
      AvailId="AA" EpgId="EEEE"
      ProxyProgress="0" ProxyError="y"
      ScheduledAt="DD-MM-YYYY HH:MM:SS.MSS" Duration="HH:MM:SS.MSS" IsEmpty="y"
      Clocked="y" ManualEnd="y" JipSkipable="y"
      LoopBody="y" LoopStart="y" ManualStart="y"
      TrickLoop="y" />

All "yes" values are present only if they are yes, and absent if they are "no". Absent proxy status means that proxy is disabled or not relevant for this device. Other absent values actually mean that they are empty strings. "SheduledAt" and "Duration" are always filled, the first is just approximation made by plain list analysis but actual time depends on loops and manual status.