Documentación de la API HTTP
Mediante la documentación de la HTTP API podrás saber cómo puedes controlar tu videomarcador de forma remota, ya sea mediante un dispositivo tipo Stream Deck, una llamada al comando curl a través de la línea de comandos, o mediante un software que desarrolles tú.
¿Qué es una API y una HTTP API?
Una API (Interfaz de programación de aplicaciones) es un elemento que proporciona un forma para que otros sistemas puedan interactuar con él. Hay muchos tipos de API, por eso me he referido a él como un «elemento», y puede proporcionar muchos tipos de interacciones: puede enviarle datos, recopilar datos de ese sistema o controlarlo de forma remota.
En nuestro caso, hemos implementado una API HTTP, lo que significa que tenemos una especie de servidor web, que está esperando recibir tus solicitudes como si estuvieras solicitando un sitio web, y hacer cosas en función de la dirección que escribiste.
Entonces, la parte importante aquí es que es un servidor web, por lo que puedes enviar solicitudes de API HTTP utilizando cualquier programa que pueda solicitar páginas web (su navegador favorito, la aplicación curl en Linux y OSX, etc.) y, lo que es más importante, puedes hacerlo desde cualquier ordenador, tablet, o teléfono móvil, que esté en la misma red permitiéndote tener varios LDSscoreboards (o LDSperimetral) controlados desde un punto centralizado, tu centro de control.
Para llamar a esta API HTTP, debes consultar una url (URL es el nombre que recibe la dirección compuesta por el protocolo, ordenador, puerto y petición) como si fuera una «página web». Pero, ¿dónde está esa página web? Que me estoy haciendo un lio!!. La forma más sencilla es abrir con tu navegador preferido la petición que quieres. La dirección a poner tendrá la siguiente forma: https://IP_DEL_ORDENADOR:PUERTO_CONFIGURADO/PETICION_A_EFECTUAR
Por tanto, y en resumen:
- la IP del ordenador depende de la configuración de red del equipo. Te recomendamos que la pongas fija para evitar que cambie y las peticiones vayan a otro ordenador sin darte cuenta.
- El puerto se indica en la configuración de terminales, marcada con una flecha roja.
- La petición dependerá de la orden que le quieras dar a LDSscoreboard (lo veremos en breve).
Mediante esta documentación de la HTTP API podrás aprender cómo controlar remotamente el videomarcador de forma sencilla.

En el caso mostrado, la IP de nuestro ordenador es 192.168.1.35 y el puerto configurado es el 8080.
Descripción de la API
El objetivo es disponer de una API para todos los comandos de control de LDSscoreboard, excepto la edición de contenido. De esta forma se podrá controlar de forma centralizada todos las pantallas que se deseen, publiquen contenido promocional o elementos de marcador.
Control de slide
Comando | Parámetros |
---|---|
/pcontrol/show_slide/<NOMBRE_SLIDE> | Provoca que se presente el slide indicado en la pantalla.
nombre_slide = Nombre del slide que se desea mostrar |
Control de contadores
Comando | Parámetros |
---|---|
/pcontrol/increment_counter/NOMBRE_CONTADOR | Incrementa el contador que se pasa como parámetro
nombre_contador = Nombre del contador sobre el que operar |
/pcontrol/decrement_counter/NOMBRE_CONTADOR | Decrementa el contador que se pasa como parámetro
nombre_contador = Nombre del contador sobre el que operar |
/pcontrol/set_counter/NOMBRE_CONTADOR/VALOR | Asigna un valor a un contador determinado.
nombre_contador = Nombre del contador sobre el que operar |
/pcontrol/get_counter_value/NOMBRE_CONTADOR | Recupera el valor de un contador.
nombre_contador = Nombre del contador sobre el que operar |
Roster de jugadores
Comando | Parámetros |
---|---|
/roster/get_local_team_name | Consulta el nombre del equipo local |
/roster/get_guest_team_name | Consulta el nombre del equipo visitante |
/roster/get_team_players_count/[local|guest] | Devuelve el número de jugadores en el equipo local o visitante |
/roster/get_player_information/[local|guest]/PLAYER_INDEX | Devuelve la informacion del jugador indicado (nombre, número, etc..) |
/roster/increment_player_score/[local|guest]/PLAYER_INDEX | Incrementa la puntuación asociada al jugador con el índice indicado |
/roster/decrement_player_score/[local|guest]/PLAYER_INDEX | Decrementa la puntuación asociada al jugador con el índice indicado |
/roster/get_player_score/[local|guest]/PLAYER_INDEX | Recupera la puntuación asociada al jugador con el índice indicado |
/roster/increment_player_fauls/[local|guest]/PLAYER_INDEX | Incrementa las faltas asociadas al jugador con el índice indicado |
/roster/decrement_player_fauls/[local|guest]/PLAYER_INDEX | Decrementa las faltas asociadas al jugador con el índice indicado |
/roster/get_player_fauls/[local|guest]/PLAYER_INDEX | Recupera las faltas asociadas al jugador con el índice indicado |
/roster/increment_player_cautions/[local|guest]/PLAYER_INDEX | Incrementa las amonestaciones asociadas al jugador con el índice indicado |
/roster/decrement_player_cautions/[local|guest]/PLAYER_INDEX | Decrementa las amonestaciones asociadas al jugador con el índice indicado |
/roster/get_player_cautions/[local|guest]/PLAYER_INDEX | Recupera las amonestaciones asociadas al jugador con el índice indicado |
Control de cronómetros
Comando | Parámetros |
---|---|
/pcontrol/start_timer/NOMBRE_TIMER | Inicia el temporizador en el sentido en el que se ha definido.
nombre_timer = Nombre del timer ( o cronómetro ) sobre el que operar |
/pcontrol/stop_timer/NOMBRE_TIMER | Detiene el temporizador. No se altera su valor.
nombre_timer = Nombre del timer ( o cronómetro ) sobre el que operar |
/pcontrol/reset_timer/NOMBRE_TIMER | Resetea el temporizador al valor inicial definido en su configuracion.
nombre_timer = Nombre del timer ( o cronómetro ) sobre el que operar |
/pcontrol/get_timer_time/NOMBRE_TIMER | Recupera el tiempo que marca un temporizador.
nombre_timer = Nombre del timer ( o cronómetro ) sobre el que operar |
Etiquetas dinámicas y contadores automáticos
Comando | Parámetros |
---|---|
/gc/get_dynamic_label/VAR | Recupera el valor que tiene asignado la variable dinámica
VAR = Identificador de la variable a consultar |
/gc/set_dynamic_label/VAR/ARG1 | Cambia el valor que tiene asignada la variable dinámica
VAR = Identificador de la variable a asignar |
/gc/get_automatic_variable/VAR | Obtiene el valor de una variable automática. Estas variables se calculan cuando se emplea el roster de jugadores.
VAR = Nombre de la variable Variables existentes: |
/gc/reset_automatic_variable/VAR | Pone el contador a cero de las variables automáticas que son reniciables.
VAR: Nombre de la variable reseteable (local_team_fauls_resetable o guest_team_fauls_resetable) |
Ejemplo de uso de la HTTP API de LDSscoreboard
Veamos un ejemplo para tener claro el funcionamiento que te describimos en esta documentación sobre la HTTP API. Supongamos que tenemos definido un marcador que contiene un slide que se llama «slide1», para solicitar al sistema que se abra el slide1, deberíamos saber la ip del ordenador y el puerto, ya que el nombre ya lo sabemos.
Si tomamos la imagen de la parte superior de la pàgina, veremos que tenemos la ip 192.168.1.35 y el puerto 8080, por lo que deberíamos hacer una petición HTTP (abrir la página) a la dirección http://192.168.1.35:8080/pcontrol/show_slide/slide1
Para hacerlo, podemos abrir un navegador y poner la dirección en la barra de direcciones:

Seguidamente, si tenemos LDSscoreboard en funcionamiento deberíamos ver que el slide llamado slide1 se activa.
IMPORTANTE
Si el nombre del slide contiene algún espacio, al ser un carácter especial, deberemos sustituirlo por %20, es decir «mi slide» se traducirá como «mi%20slide».
Herramientas para efectuar llamadas a la HTTP API
Por supuesto, no estás restringido a tener que hacer las llamadas HTTP desde un navegador, lo hemos hecho así por que es una herramienta que seguro que tienes a mano y conoces, pero hay otras muchas formas de hacerlo.
curl
curl es una herramienta para efectuar peticiones HTTP de código abierto. Está disponible en Linux, OSX, y también en las últimas versiones de Windows 10. Su uso es muy sencillo como se ve en la siguiente imagen:

Javascript
Puedes hacerte un programa en Javascript, empleando jquery, donde se efectue una llamada HTTP, por ejemplo con este código:
timer_identifier=»my timer»;
$.getJSON(`/pcontrol/start_
.done(function (data) {
if (data.status != 0) {
console.error(`Error starting timer: ${JSON.stringify(data)} `);
}
})
.fail(function (err) {
if (err.status != 200)
console.error(`Error starting timer [${JSON.stringify(err)}]`);
});
y cualquier lenguaje de programación te permitirá hacer este tipo de llamadas.