HTTP

<< Click to Display Table of Contents >>

Navigation:  Documentations techniques > OpenAir SDK > OnAir API >

HTTP

L’API HTTP est décrite par le WebService lui-même à l’adresse : http://[webservice-url]/Help

Liste des fonctions :

 

API

Description

GET api/OnAir/GetHubUrl

récupère l'URL OnAirHub SignalR utilisée par les clients

GET api/OnAir/GetDDODictionnary

récupère la liste DDO surveillée par le service

GET api/OnAir/GetDDOList

pour la compatibilité ascendante - utilisez GetDDODictionnary

POST api/OnAir/SubscribeDDO

S'abonner au DDO pour recevoir des notifications sur l'OnAirHub

POST api/OnAir/GetDDOConnectionState

Donne l'état de connexion de DDO

POST api/OnAir/GetDDOConfiguration

Obtient la configuration des pistes du DDO

POST api/OnAir/DragnDrop

Glisser-déposer un article d'une cartouche à une autre

POST api/OnAir/MoveItem

Déplacer un élément dans une chaine

POST api/OnAir/InsertItem

Insérer un article de la base de données dans la cartouche spécifiée

POST api/OnAir/ReplaceItem

Remplacer un article de la base de données dans la cartouche spécifiée

POST api/OnAir/RemoveItem

Supprimer l'article dans la cartouche spécifiée

POST api/OnAir/UnloadItem

Décharger la cartouche spécifiée

POST api/OnAir/LoadCart

Charger un cartouchier sur le canal spécifié

POST api/OnAir/GetItemToLoop

Définir le mode boucle pour un élément

POST api/OnAir/GetItemToChain

Définir le mode d'enchainement

POST api/OnAir/GetItemToPFL

Demande PFL pour la cartouche spécifiée

POST api/OnAir/GetDDOChannel

Demande de notification InfosItem

POST api/OnAir/GetStructPlaylist

Récupère le contenu de la playlist du canal spécifié

POST api/OnAir/GetDDOToStop

Arrêter le canal spécifié

POST api/OnAir/GetDDOToPlay

Jouer le canal spécifié

POST api/OnAir/GetDDOToPlayCart

Jouer la cartouche spécifiée

POST api/OnAir/GetOnAir

Obtenir le statut ON AIR actuel

POST api/OnAir/StayinAlive

Maintenir le service actif (utilisé via une minuterie)

POST api/OnAir/GetUiUpdate

Obtenir le statut de l'interface utilisateur

POST api/OnAir/GetChannelUpdate

Obtenir le statut du canal spécifié

 

GET api/OnAir/GetHubUrl

récupère l'URL OnAIRHub SignalR utilisé par le client

Information Requise

URI Paramètres

Aucun.

Body Paramètres

Aucun.

Information de réponse

Description de la ressource

string

Formats de Réponse

application/json, text/json

Sample:

"sample string 1"

 

 

GET api/OnAir/GetDDODictionnary

retrieves the DDO list monitored by the service

Information Requise

URI Paramètres

Aucun.

Body Paramètres

Aucun.

Information de réponse

Description de la ressource

Collection of DDOIdentity

Nom

Description

Type

Informations supplémentaires

GUID

Identifiant Unique de la connexion DDO

globally unique identifier

Aucun.

name

name du DDO fourni dans la configuration

string

Aucun.

Formats de Réponse

application/json, text/json

Sample:

[

 {

   "GUID": "30baf26d-a137-4eb5-9d2e-ae8f79cf1694",

   "name": "sample string 2"

 },

 {

   "GUID": "30baf26d-a137-4eb5-9d2e-ae8f79cf1694",

   "name": "sample string 2"

 }

]

 

 

GET api/OnAir/GetDDOList

for backward compatibility - use GetDDODictionnary

Information Requise

URI Paramètres

Aucun.

Body Paramètres

Aucun.

Information de réponse

Description de la ressource

Collection of DDOIdentity

Nom

Description

Type

Informations supplémentaires

GUID

Identifiant Unique de la connexion DDO

globally unique identifier

Aucun.

name

name du DDO fourni dans la configuration

string

Aucun.

Formats de Réponse

application/json, text/json

Sample:

[

 {

   "GUID": "772ee903-68f8-4855-8135-7fdbe65efcc8",

   "name": "sample string 2"

 },

 {

   "GUID": "772ee903-68f8-4855-8135-7fdbe65efcc8",

   "name": "sample string 2"

 }

]

 

 

POST api/OnAir/SubscribeDDO

Subscribe to the DDO to receive notifications over the OnAirHub

Information Requise

URI Paramètres

Aucun.

Body Paramètres

SubscribeDTO

Nom

Description

Type

Informations supplémentaires

ddoid

Identifiant Unique de la connexion DDO

globally unique identifier

Aucun.

connectionId

Unique identifier of the OnAirHub connection to subscribe

string

Aucun.

Request Formats

application/json, text/json

Sample:

{

 "ddoid": "d0cc96d6-5802-4d3a-b1b6-0dfae6c28c6d",

 "connectionId": "sample string 2"

}

Information de réponse

Description de la ressource

string

Formats de Réponse

application/json, text/json

Sample:

"sample string 1"

 

 

POST api/OnAir/GetDDOConnectionState

Gives the connection state of DDO

Information Requise

URI Paramètres

Aucun.

Body Paramètres

OnAirBaseDTO

Nom

Description

Type

Informations supplémentaires

ddoid

Identifiant Unique de la connexion DDO

string

Aucun.

Channel

Index de la Chaîne

string

Aucun.

Request Formats

application/json, text/json

Sample:

{

 "ddoid": "sample string 1",

 "Channel": "sample string 2"

}

Information de réponse

Description de la ressource

ConnectionStatusMessage

Nom

Description

Type

Informations supplémentaires

State

Etat de la connexion de OnAir sur DDOHub SignalR

string

Aucun.

DDO

Etat de la connexion du DDO sur DDOHub SignalR

string

Aucun.

Formats de Réponse

application/json, text/json

Sample:

{

 "State": "sample string 1",

 "DDO": "sample string 2"

}

 

 

POST api/OnAir/GetDDOConfiguration

Gets the tracks configuration of the DDO

Information Requise

URI Paramètres

Aucun.

Body Paramètres

OnAirBaseDTO

Nom

Description

Type

Informations supplémentaires

ddoid

Identifiant Unique de la connexion DDO

string

Aucun.

Channel

Index de la Chaîne

string

Aucun.

Request Formats

application/json, text/json

Sample:

{

 "ddoid": "sample string 1",

 "Channel": "sample string 2"

}

Information de réponse

Description de la ressource

json string array of integral values

string

Formats de Réponse

application/json, text/json

Sample:

"sample string 1"

 

 

POST api/OnAir/DragnDrop

Drag and Drop an item from a cart to another

Information Requise

URI Paramètres

Aucun.

Body Paramètres

DragnDropDTO

Nom

Description

Type

Informations supplémentaires

ddoid

Identifiant Unique de la connexion DDO

string

Aucun.

ChannelOrg

Source de la Chaîne

string

Aucun.

NumcartOrg

Source de la cartouche

string

Aucun.

ChannelDest

Destination de la Chaîne

string

Aucun.

NumcartDest

Destination de la cartouche

string

Aucun.

Request Formats

application/json, text/json

Sample:

{

 "ddoid": "sample string 1",

 "ChannelOrg": "sample string 2",

 "NumcartOrg": "sample string 3",

 "ChannelDest": "sample string 4",

 "NumcartDest": "sample string 5"

}

Information de réponse

Description de la ressource

string

Formats de Réponse

application/json, text/json

Sample:

"sample string 1"

 

 

POST api/OnAir/MoveItem

Move an item in a channel

Information Requise

URI Paramètres

Aucun.

Body Paramètres

MoveItemDTO

Nom

Description

Type

Informations supplémentaires

Offset

Déplacer Décalage

string

Aucun.

ddoid

Identifiant Unique de la connexion DDO

string

Aucun.

Channel

Index de la Chaîne

string

Aucun.

Request Formats

application/json, text/json

Sample:

{

 "Offset": "sample string 1",

 "ddoid": "sample string 2",

 "Channel": "sample string 3"

}

Information de réponse

Description de la ressource

string

Formats de Réponse

application/json, text/json

Sample:

"sample string 1"

 

 

POST api/OnAir/InsertItem

Insert an item from database into the specified cart

Information Requise

URI Paramètres

Aucun.

Body Paramètres

InsertDTO

Nom

Description

Type

Informations supplémentaires

ddoid

Identifiant Unique de la connexion DDO

string

Aucun.

guid_item

Guid de l'item dans la base de données

string

Aucun.

track_num_dest

Index de la chaîne

string

Aucun.

cart_num_dest

Index de la cartouche

string

Aucun.

insert_mod

Type de mode d'insertion - non utilisé, toujours avant

string

Aucun.

item

Tuple d'élément JSON

string

Aucun.

Request Formats

application/json, text/json

Sample:

{

 "ddoid": "sample string 1",

 "guid_item": "sample string 2",

 "track_num_dest": "sample string 3",

 "cart_num_dest": "sample string 4",

 "insert_mod": "sample string 5",

 "item": "sample string 6"

}

Information de réponse

Description de la ressource

string

Formats de Réponse

application/json, text/json

Sample:

"sample string 1"

 

 

POST api/OnAir/ReplaceItem

Replace an item from database into the specified cart

Information Requise

URI Paramètres

Aucun.

Body Paramètres

InsertDTO

Nom

Description

Type

Informations supplémentaires

ddoid

Identifiant Unique de la connexion DDO

string

Aucun.

guid_item

Guid de l'item dans la base de données

string

Aucun.

track_num_dest

Index de la chaîne

string

Aucun.

cart_num_dest

Index de la cartouche

string

Aucun.

insert_mod

Type de mode d'insertion - non utilisé, toujours avant

string

Aucun.

item

Tuple d'élément JSON

string

Aucun.

Request Formats

application/json, text/json

Sample:

{

 "ddoid": "sample string 1",

 "guid_item": "sample string 2",

 "track_num_dest": "sample string 3",

 "cart_num_dest": "sample string 4",

 "insert_mod": "sample string 5",

 "item": "sample string 6"

}

Information de réponse

Description de la ressource

string

Formats de Réponse

application/json, text/json

Sample:

"sample string 1"

 

 

POST api/OnAir/RemoveItem

Remove item at the specified cart

Information Requise

URI Paramètres

Aucun.

Body Paramètres

InsertDTO

Nom

Description

Type

Informations supplémentaires

ddoid

Identifiant Unique de la connexion DDO

string

Aucun.

guid_item

Guid de l'item dans la base de données

string

Aucun.

track_num_dest

Index de la chaîne

string

Aucun.

cart_num_dest

Index de la cartouche

string

Aucun.

insert_mod

Type de mode d'insertion - non utilisé, toujours avant

string

Aucun.

item

Tuple d'élément JSON

string

Aucun.

Request Formats

application/json, text/json

Sample:

{

 "ddoid": "sample string 1",

 "guid_item": "sample string 2",

 "track_num_dest": "sample string 3",

 "cart_num_dest": "sample string 4",

 "insert_mod": "sample string 5",

 "item": "sample string 6"

}

Information de réponse

Description de la ressource

string

Formats de Réponse

application/json, text/json

Sample:

"sample string 1"

 

 

POST api/OnAir/UnloadItem

Unload the specified cart

Information Requise

URI Paramètres

Aucun.

Body Paramètres

InsertDTO

Nom

Description

Type

Informations supplémentaires

ddoid

Identifiant Unique de la connexion DDO

string

Aucun.

guid_item

Guid de l'item dans la base de données

string

Aucun.

track_num_dest

Index de la chaîne

string

Aucun.

cart_num_dest

Index de la cartouche

string

Aucun.

insert_mod

Type de mode d'insertion - non utilisé, toujours avant

string

Aucun.

item

Tuple d'élément JSON

string

Aucun.

Request Formats

application/json, text/json

Sample:

{

 "ddoid": "sample string 1",

 "guid_item": "sample string 2",

 "track_num_dest": "sample string 3",

 "cart_num_dest": "sample string 4",

 "insert_mod": "sample string 5",

 "item": "sample string 6"

}

Information de réponse

Description de la ressource

string

Formats de Réponse

application/json, text/json

Sample:

"sample string 1"

 

 

POST api/OnAir/LoadCart

Load a cartouchier at the specified channel

Information Requise

URI Paramètres

Aucun.

Body Paramètres

LoadCartDTO

Nom

Description

Type

Informations supplémentaires

ddoid

Identifiant Unique de la connexion DDO

string

Aucun.

guid_item

Guid de l'item dans la base de données

string

Aucun.

track_num_dest

Index de la chaîne

string

Aucun.

Request Formats

application/json, text/json

Sample:

{

 "ddoid": "sample string 1",

 "guid_item": "sample string 2",

 "track_num_dest": "sample string 3"

}

Information de réponse

Description de la ressource

string

Formats de Réponse

application/json, text/json

Sample:

"sample string 1"

 

 

POST api/OnAir/GetItemToLoop

Set item loop mode

Information Requise

URI Paramètres

Aucun.

Body Paramètres

GetItemToDTO

Nom

Description

Type

Informations supplémentaires

Numcart

Index de la cartouche

string

Aucun.

Do

Activé lorsque "1", désactivé sinon

string

Aucun.

Mode

Mode à appliquer

string

Aucun.

ddoid

Identifiant Unique de la connexion DDO

string

Aucun.

Channel

Index de la Chaîne

string

Aucun.

Request Formats

application/json, text/json

Sample:

{

 "Numcart": "sample string 1",

 "Do": "sample string 2",

 "Mode": "sample string 3",

 "ddoid": "sample string 4",

 "Channel": "sample string 5"

}

Information de réponse

Description de la ressource

string

Formats de Réponse

application/json, text/json

Sample:

"sample string 1"

 

 

POST api/OnAir/GetItemToChain

Set item chain mode

Information Requise

URI Paramètres

Aucun.

Body Paramètres

GetItemToDTO

Nom

Description

Type

Informations supplémentaires

Numcart

Index de la cartouche

string

Aucun.

Do

Activé lorsque "1", désactivé sinon

string

Aucun.

Mode

Mode à appliquer

string

Aucun.

ddoid

Identifiant Unique de la connexion DDO

string

Aucun.

Channel

Index de la Chaîne

string

Aucun.

Request Formats

application/json, text/json

Sample:

{

 "Numcart": "sample string 1",

 "Do": "sample string 2",

 "Mode": "sample string 3",

 "ddoid": "sample string 4",

 "Channel": "sample string 5"

}

Information de réponse

Description de la ressource

string

Formats de Réponse

application/json, text/json

Sample:

"sample string 1"

 

 

POST api/OnAir/GetItemToPFL

Request PFL for specified cart

Information Requise

URI Paramètres

Aucun.

Body Paramètres

GetItemToDTO

Nom

Description

Type

Informations supplémentaires

Numcart

Index de la cartouche

string

Aucun.

Do

Activé lorsque "1", désactivé sinon

string

Aucun.

Mode

Mode à appliquer

string

Aucun.

ddoid

Identifiant Unique de la connexion DDO

string

Aucun.

Channel

Index de la Chaîne

string

Aucun.

Request Formats

application/json, text/json

Sample:

{

 "Numcart": "sample string 1",

 "Do": "sample string 2",

 "Mode": "sample string 3",

 "ddoid": "sample string 4",

 "Channel": "sample string 5"

}

Information de réponse

Description de la ressource

string

Formats de Réponse

application/json, text/json

Sample:

"sample string 1"

 

 

POST api/OnAir/GetDDOChannel

Request to get notification InfosItem

Information Requise

URI Paramètres

Aucun.

Body Paramètres

OnAirBaseDTO

Nom

Description

Type

Informations supplémentaires

ddoid

Identifiant Unique de la connexion DDO

string

Aucun.

Channel

Index de la Chaîne

string

Aucun.

Request Formats

application/json, text/json

Sample:

{

 "ddoid": "sample string 1",

 "Channel": "sample string 2"

}

Information de réponse

Description de la ressource

string

Formats de Réponse

application/json, text/json

Sample:

"sample string 1"

 

 

POST api/OnAir/GetStructPlaylist

Get the playlist content of the specified channel

Information Requise

URI Paramètres

Aucun.

Body Paramètres

OnAirBaseDTO

Nom

Description

Type

Informations supplémentaires

ddoid

Identifiant Unique de la connexion DDO

string

Aucun.

Channel

Index de la Chaîne

string

Aucun.

Request Formats

application/json, text/json

Sample:

{

 "ddoid": "sample string 1",

 "Channel": "sample string 2"

}

Information de réponse

Description de la ressource

string

Formats de Réponse

application/json, text/json

Sample:

"sample string 1"

 

 

POST api/OnAir/GetDDOToStop

Stop the specified channel

Information Requise

URI Paramètres

Aucun.

Body Paramètres

OnAirBaseDTO

Nom

Description

Type

Informations supplémentaires

ddoid

Identifiant Unique de la connexion DDO

string

Aucun.

Channel

Index de la Chaîne

string

Aucun.

Request Formats

application/json, text/json

Sample:

{

 "ddoid": "sample string 1",

 "Channel": "sample string 2"

}

Information de réponse

Description de la ressource

string

Formats de Réponse

application/json, text/json

Sample:

"sample string 1"

 

 

POST api/OnAir/GetDDOToPlay

Play the specified channel

Information Requise

URI Paramètres

Aucun.

Body Paramètres

OnAirBaseDTO

Nom

Description

Type

Informations supplémentaires

ddoid

Identifiant Unique de la connexion DDO

string

Aucun.

Channel

Index de la Chaîne

string

Aucun.

Request Formats

application/json, text/json

Sample:

{

 "ddoid": "sample string 1",

 "Channel": "sample string 2"

}

Information de réponse

Description de la ressource

string

Formats de Réponse

application/json, text/json

Sample:

"sample string 1"

 

POST api/OnAir/GetDDOToPlayCart

Play the specified cart

Information Requise

URI Paramètres

Aucun.

Body Paramètres

GetItemToDTO

Nom

Description

Type

Informations supplémentaires

Numcart

Index de la cartouche

string

Aucun.

Do

Activé lorsque "1", désactivé sinon

string

Aucun.

Mode

Mode à appliquer

string

Aucun.

ddoid

Identifiant Unique de la connexion DDO

string

Aucun.

Channel

Index de la Chaîne

string

Aucun.

Request Formats

application/json, text/json

Sample:

{

 "Numcart": "sample string 1",

 "Do": "sample string 2",

 "Mode": "sample string 3",

 "ddoid": "sample string 4",

 "Channel": "sample string 5"

}

Information de réponse

Description de la ressource

string

Formats de Réponse

application/json, text/json

Sample:

"sample string 1"

 

 

POST api/OnAir/GetOnAir

Get the current on air status

Information Requise

URI Paramètres

Aucun.

Body Paramètres

OnAirBaseDTO

Nom

Description

Type

Informations supplémentaires

ddoid

Identifiant Unique de la connexion DDO

string

Aucun.

Channel

Index de la Chaîne

string

Aucun.

Request Formats

application/json, text/json

Sample:

{

 "ddoid": "sample string 1",

 "Channel": "sample string 2"

}

Information de réponse

Description de la ressource

Collection of StatusMessage

Nom

Description

Type

Informations supplémentaires

DDO_ID

 

string

Aucun.

CHANNEL

 

integer

Aucun.

NUM_CART

 

integer

Aucun.

STATUS

 

string

Aucun.

GUID_RUN

 

string

Aucun.

STRING_1

 

string

Aucun.

STRING_2

 

string

Aucun.

TYPE_ITEM

 

integer

Aucun.

TYPE1_ITEM

 

integer

Aucun.

OUTRO

 

string

Aucun.

INTRO

 

string

Aucun.

GUID_LOG

 

string

Aucun.

GUID_ITEM

 

string

Aucun.

Formats de Réponse

application/json, text/json

Sample:

[

 {

   "DDO_ID": "sample string 1",

   "CHANNEL": 2,

   "NUM_CART": 1,

   "STATUS": "sample string 3",

   "GUID_RUN": "sample string 4",

   "STRING_1": "sample string 5",

   "STRING_2": "sample string 6",

   "TYPE_ITEM": 7,

   "TYPE1_ITEM": 8,

   "OUTRO": "sample string 9",

   "INTRO": "sample string 10",

   "GUID_LOG": "sample string 11",

   "GUID_ITEM": "sample string 12"

 },

 {

   "DDO_ID": "sample string 1",

   "CHANNEL": 2,

   "NUM_CART": 1,

   "STATUS": "sample string 3",

   "GUID_RUN": "sample string 4",

   "STRING_1": "sample string 5",

   "STRING_2": "sample string 6",

   "TYPE_ITEM": 7,

   "TYPE1_ITEM": 8,

   "OUTRO": "sample string 9",

   "INTRO": "sample string 10",

   "GUID_LOG": "sample string 11",

   "GUID_ITEM": "sample string 12"

 }

]

 

 

POST api/OnAir/StayinAlive

Keep service alive (used through a timer)

Information Requise

URI Paramètres

Aucun.

Body Paramètres

Aucun.

Information de réponse

Description de la ressource

string

Formats de Réponse

application/json, text/json

Sample:

"sample string 1"

 

 

POST api/OnAir/GetUiUpdate

Get the status of the UI

Information Requise

URI Paramètres

Aucun.

Body Paramètres

OnAirBaseDTO

Nom

Description

Type

Informations supplémentaires

ddoid

Identifiant Unique de la connexion DDO

string

Aucun.

Channel

Index de la Chaîne

string

Aucun.

Request Formats

application/json, text/json

Sample:

{

 "ddoid": "sample string 1",

 "Channel": "sample string 2"

}

Information de réponse

Description de la ressource

string

Formats de Réponse

application/json, text/json

Sample:

"sample string 1"

 

 

POST api/OnAir/GetChannelUpdate

Get status of the specified channel

Information Requise

URI Paramètres

Aucun.

Body Paramètres

OnAirBaseDTO

Nom

Description

Type

Informations supplémentaires

ddoid

Identifiant Unique de la connexion DDO

string

Aucun.

Channel

Index de la Chaîne

string

Aucun.

Request Formats

application/json, text/json

Sample:

{

 "ddoid": "sample string 1",

 "Channel": "sample string 2"

}

Information de réponse

Description de la ressource

string

Formats de Réponse

application/json, text/json

Sample:

"sample string 1"

 

OnAirHub (SignalR)

Liste des fonctions :

API

Description

PlaylistMessage

the full playlists in conduct (usually sent on update)

InOutroCounter

counters for Intro/Outro

MainCounter

main counter

FocusMessage

guid_run of a channel's new focus

ConnectionStatus

information on a DDO connection status change

TrackStatusMessage

status (play/pause/run) and information (name, guid...) of a track

OnAirInfoItem

all data on an ui cart change

ItemStatusMessage

status (play/pause/run) and information (name, guid, numcart...) of an item

 

HTML/JS exemple

<!DOCTYPE html>

<html>

<head>

  <title>SignalR Simple Chat</title>

  <style type="text/css">

      .container {

          background-color: #99CCFF;

          border: thick solid #808080;

          padding: 20px;

          margin: 20px;

       }

 

         .channel {

                 font-size:36px;

                 font-weight:bold;

         }

      .discussion {

          font-size: 20px;

       }

  </style>

</head>

<body>

  <div><a href="Help">API reference</a></div>

  <div>Connection Id: <span id="connection_id"></span></div>

  <div class="container">

      <select id="ddo"></select><div>DDO ID: <span id="ddo_id"></span></div>

      <div id="channel1" class="channel">

          <span>Channel 1</span>

          <div id="main-counter" class="discussion"></div>

          <div id="inoutro-counter" class="discussion"></div>

      </div>

      <div id="channel2" class="channel">

          <span>Channel 2</span>

          <div id="main-counter" class="discussion"></div>

          <div id="inoutro-counter" class="discussion"></div>

      </div>

      <div id="channel3" class="channel">

          <span>Channel 3</span>

          <div id="main-counter" class="discussion"></div>

          <div id="inoutro-counter" class="discussion"></div>

      </div>

      <div id="channel4" class="channel">

          <span>Channel 4</span>

          <div id="main-counter" class="discussion"></div>

          <div id="inoutro-counter" class="discussion"></div>

      </div>

      <button onclick="GetStructPlaylist()">GetStructPlaylist</button>

      <select id="playlist_channel">

          <option value="1">1</option>

          <option value="2">2</option>

          <option value="3">3</option>

          <option value="4">4</option>

      </select>

      <div id="playlist" class="discussion"></div>

  </div>

 

  <!--Script references. -->

  <!--Reference the jQuery library. -->

  <script src="Scripts/jquery-3.3.1.min.js"></script>

  <!--Reference the SignalR library. -->

  <script src="Scripts/jquery.signalR-2.2.3.min.js"></script>

 

  <!--Add script to update the page and send messages.-->

  <script type="text/javascript">

      function getRestUrl(action) {

          return location.href + "api/OnAir/" + action;

       }

 

      // gets the hub url

      function getHubUrl()

       {

         

          var hubUrl = "";

           jQuery.ajax({

               type: "GET",

               url: getRestUrl("GetHubUrl"),

               success: function (data, status, jqXHR) {

                   console.log(data);

                   hubUrl = data;

               },

               error: function (xhr) {

                   alert(xhr.responseText);

               },

               async: false

           });

          return hubUrl;

       }

 

       setInterval(getHubUrl, 60000);

 

      var hubUrl = getHubUrl();

      // load hubs script

       $.getScript(hubUrl + "/hubs", loadHub);

 

      function loadHub() {

 

          // Declare a proxy to reference the hub.

          var chat = $.connection.onairHub;

          // define the correct hub url routing

           $.connection.hub.url = hubUrl;

 

           chat.client.ChangeItem = function (name, message) {

               console.log(JSON.parse(message));

           };

 

           chat.client.MockMessage = function (name, message) {

               console.log(message);

           };

 

          // Create a function that the hub can call to broadcast messages.

           chat.client.MainCounter = function (name, message) {

              // Html encode display name and message.

              var encodedName = $('<div />').text(name).html();

              var encodedMsg = $('<div />').text(message).html();

              // Add the message to the page.

               $("#channel" + JSON.parse(message).Channel).find('#main-counter').html('<strong>' + encodedName

                   + '</strong>:&nbsp;&nbsp;' + encodedMsg);

           };

           chat.client.InOutroCounter = function (name, message) {

              // Html encode display name and message.

              var encodedName = $('<div />').text(name).html();

              var encodedMsg = $('<div />').text(message).html();

              // Add the message to the page.

               $("#channel" + JSON.parse(message).Channel).find('#inoutro-counter').html('<strong>' + encodedName

                   + '</strong>:&nbsp;&nbsp;' + encodedMsg);

           };

 

           chat.client.ConnectionStatus = function (name, message) {

               console.log(message);

           };

 

           chat.client.PlaylistMessage = function (name, message) {

               console.log(message);

           };

 

           chat.client.ItemStatusMessage = function (name, message) {

               console.log(message);

           };

 

           chat.client.TrackStatusMessage = function (name, message) {

               console.log(message);

           };

 

          // Get the user name and store it to prepend to messages.

          //$('#displayname').val(prompt('Enter your name:', ''));

          // Set initial focus to message input box.

           $('#message').focus();

          // Start the connection.

           $.connection.hub.start().done(function () {

 

               console.log("id : %o", $.connection.hub.id);

               $("#connection_id").text($.connection.hub.id);

               $('#sendmessage').click(function () {

                  // Call the Send method on the hub.

                   chat.server.send($('#displayname').val(), $('#message').val());

                  // Clear text box and reset focus for next comment.

                   $('#message').val('').focus();

               });

 

              // update of DDO select

               jQuery.ajax({

                   type: "GET",

                   url: getRestUrl("GetDDODictionnary"),

                   success: function (data, status, jqXHR) {

                       console.log(data);

                      var obj = (data);

                       $("#ddo").empty();

                       $("#ddo").append($("<option>"));

                      for (var key in obj) {

                          var ddo = obj[key];

                           $("#ddo").append($("<option>").attr("value", ddo.GUID).text(ddo.name));

                       }

                   },

                   error: function (xhr) {

                       alert(xhr.responseText);

                   }

               });

 

 

              // add subscription

               $("#ddo").change(function () {

                  //alert("Handler for .change() called.");

                   jQuery.ajax({

                       type: "POST",

                       url: getRestUrl("SubscribeDDO"),

                       data: JSON.stringify({

                           ddoid: $(this).val(),

                           connectionid: $.connection.hub.id

                       }),

                       contentType: "application/json",

                       success: function (data, status, jqXHR) {

                           console.log(data);

                       },

                       error: function (xhr) {

                           alert(xhr.responseText);

                       }

                   });

                   $("#ddo_id").text($(this).val());

               });

           });

       }

 

      function GetStructPlaylist() {

           jQuery.ajax({

               type: "POST",

               url: getRestUrl("GetStructPlaylist"),

               data: JSON.stringify({

                   ddoid: $("#ddo").val(),

                   Channel: $("#playlist_channel").val()

               }),

               contentType: "application/json",

               success: function (data, status, jqXHR) {

                   console.log(data);

                   $("#playlist").text((data));

               },

               error: function (xhr) {

                   alert(xhr.responseText);

               }

           });

       }

  </script>

</body>

</html>