Documentação da API HTTP

Através da documentação da API HTTP, você aprenderá como controlar seu placar de vídeo remotamente, seja através de um dispositivo do tipo Stream Deck, uma chamada de comando curl via linha de comando ou através de um software desenvolvido por você.

O que é uma API e uma API HTTP?

Uma API (Application Programming Interface) é um elemento que fornece uma maneira de outros sistemas interagirem com ele. Existem muitos tipos de API, e é por isso que me referi a ela como um “elemento”, e ela pode fornecer muitos tipos de interações: você pode enviar dados para ela, coletar dados desse sistema ou controlá-lo remotamente.

No nosso caso, implementamos uma API HTTP, o que significa que temos uma espécie de servidor web que fica aguardando para receber suas solicitações como se você estivesse solicitando um site, e realiza ações com base no endereço que você digitou.

Portanto, a parte importante aqui é que se trata de um servidor web, então você pode enviar solicitações de API HTTP usando qualquer programa que possa solicitar páginas da web (seu navegador favorito, o aplicativo curl no Linux e OSX, etc.) e, mais importante, você pode fazer isso de qualquer computador, tablet ou celular que esteja na mesma rede, permitindo que você tenha vários LDSscoreboards (ou LDSperimetral) controlados a partir de um ponto centralizado, sua central de controle.

Para chamar esta API HTTP, você deve consultar uma url (URL é o nome dado ao endereço composto pelo protocolo, computador, porta e solicitação) como se fosse uma “página da web”. Mas onde está essa página da web? Estou me confundindo!. A maneira mais fácil é abrir a solicitação que você deseja com seu navegador preferido. O endereço a ser inserido terá a seguinte forma: https://IP_DO_COMPUTADOR:PORTA_CONFIGURADA/SOLICITAÇÃO

Portanto, e em resumo:

  • O IP do computador depende da configuração de rede do equipamento. Recomendamos que você o torne fixo para evitar que ele mude e que as solicitações vão para outro computador sem que você perceba.
  • A porta é indicada na configuração do terminal, marcada com uma seta vermelha.
  • A solicitação dependerá do comando que você deseja dar ao LDSscoreboard (veremos isso em breve).

Através desta documentação da API HTTP, você aprenderá como controlar o placar de vídeo remotamente de maneira simples.

Documentação e Configuração da API HTTP do LDSscoreboard

No caso mostrado, o IP do nosso computador é 192.168.1.35 e a porta configurada é 8086.

Descrição da API

O objetivo é ter uma API para todos os comandos de controle do LDSscoreboard, exceto edição de conteúdo. Dessa forma, você pode controlar centralmente todas as telas que desejar, publicar conteúdo promocional ou marcar elementos.

Controle de slides

Comando Parâmetros
/pcontrol/list_slides Recupera a lista de slides disponíveis no placar carregado
/pcontrol/show_slide/ Faz com que o slide indicado seja exibido na tela. name_slide = Nome do slide que você deseja mostrar

Controle de contadores

Comando Parâmetros
/pcontrol/list_counters Recupera a lista de contadores definidos no placar ativo
/pcontrol/increment_counter/COUNTER_NAME Incrementa o contador passado como parâmetro. counter_name = Nome do contador a ser operado
/pcontrol/decrement_counter/COUNTER_NAME Decrementa o contador passado como parâmetro. counter_name = Nome do contador a ser operado
/pcontrol/set_counter/COUNTER_NAME/VALUE Atribui um valor a um determinado contador. counter_name = Nome do contador a ser operado, value = valor numérico a ser atribuído
/pcontrol/get_counter_value/COUNTER_NAME Recupera o valor de um contador. counter_name = Nome do contador a ser operado

Escala de jogadores

Comando Parâmetros
/roster/get_local_team_name Verifica o nome da equipe local
/roster/get_guest_team_name Verifica o nome da equipe visitante
/roster/get_team_players_count/[local|guest] Retorna o número de jogadores na equipe da casa ou visitante
/roster/get_player_information/PLAYER_INDEX[local|guest] Retorna as informações do jogador indicado (nome, número, etc.)
/roster/increment_player_score/[local|guest] /PLAYER_INDEX Aumenta a pontuação associada ao jogador com o índice indicado
/roster/decrement_player_score/[local|guest] /PLAYER_INDEX Diminui a pontuação associada ao jogador com o índice indicado
/roster/get_player_score/[local|guest] /PLAYER_INDEX Recupera a pontuação associada ao jogador com o índice indicado
/roster/increment_player_fauls/[local|guest] /PLAYER_INDEX Aumenta as faltas associadas ao jogador com o índice indicado
/roster/decrement_player_fauls/[local|guest] /PLAYER_INDEX Diminui as faltas associadas ao jogador com o índice indicado
/roster/get_player_faults/[local|guest] /PLAYER_INDEX Recupera as faltas associadas ao jogador com o índice indicado
/roster/increment_player_cautions/[local|guest] /PLAYER_INDEX Aumenta as advertências associadas ao jogador com o índice indicado
/roster/decrement_player_cautions/[local|guest] /PLAYER_INDEX Diminui as advertências associadas ao jogador com o índice indicado
/roster/get_player_cautions/[local|guest] /PLAYER_INDEX Recupera as advertências associadas ao jogador com o índice indicado

 

Controle de cronômetro

Comando Parâmetros
/pcontrol/list_timers Recupera a lista de cronômetros disponíveis no placar ativo
/pcontrol/start_timer/TIMER_NAME Inicia o cronômetro na direção em que foi definido. name_timer = Nome do cronômetro a ser operado
/pcontrol/stop_timer/TIMER_NAME Para o cronômetro. Seu valor não é alterado. name_timer = Nome do cronômetro a ser operado
/pcontrol/reset_timer/TIMER_NAME Redefine o cronômetro para o valor inicial definido em sua configuração. name_timer = Nome do cronômetro a ser operado
/pcontrol/get_timer_time/TIMER_NAME Recupera o valor de um cronômetro. name_timer = Nome do cronômetro a ser operado

Rótulos dinâmicos e contadores automáticos

Comando Parâmetros
/gc/list_dynamic_labels Recupera a lista de rótulos dinâmicos disponíveis no placar carregado
/gc/get_dynamic_label/VAR Recupera o valor atribuído à variável dinâmica. VAR = Identificador da variável a ser consultada
/gc/set_dynamic_label/VAR/ARG1 Altera o valor atribuído à variável dinâmica. VAR = Identificador da variável a ser atribuída, ARG1 = Novo valor a ser atribuído
/gc/get_automatic_variable/VAR Obtém o valor de uma variável automática. Estas variáveis são calculadas ao usar a escalação de jogadores. VAR = Nome da variável. Variáveis existentes: local_team_score (pontuação da equipe local), local_team_fauls (faltas cometidas pela equipe local), local_team_fauls_resetable (faltas cometidas pela equipe local, mas redefiníveis), guest_team_score (pontuação da equipe visitante), guest_team_fauls (faltas da equipe visitante), guest_team_fauls_resettable (faltas da equipe visitante, mas redefiníveis).
/gc/reset_automatic_variable/VAR Redefine o contador para zero para variáveis automáticas que podem ser redefinidas. VAR: Nome da variável redefinível (local_team_fauls_resetable ou guest_team_fauls_resetable)

Gerenciamento de vetores

Comando Parâmetros
/pcontrol/list_vectors Recupera a lista de vetores disponíveis no placar ativo atual
/pcontrol/increment_vector_element/VECTOR_ID/INDEX/INCREMENT_VALUE Incrementa o valor do elemento na posição INDEX do vetor VECTOR_ID. O incremento é determinado por INCREMENT_VALUE
/pcontrol/set_vector_element_value/VECTOR_ID/INDEX/VALUE Define o valor do elemento na posição INDEX do vetor VECTOR_ID. O novo valor é determinado por VALUE
/pcontrol/get_vector_element_value/VECTOR_ID/INDEX Obtém o valor do elemento na posição INDEX do vetor VECTOR_ID.
/pcontrol/get_vector_length/VECTOR_ID Recupera o número de elementos do vetor. Ou seja, o tamanho definido.

Exemplo de uso da API HTTP do LDSscoreboard

Vamos ver um exemplo para compreender claramente a operação descrita nesta documentação sobre a API HTTP. Suponha que tenhamos definido um marcador que contém um slide chamado “slide1”. Para solicitar ao sistema que abra o slide1, devemos saber o IP do computador e a porta, uma vez que já conhecemos o nome.

Se observarmos a imagem no topo da página, veremos que temos o IP 192.168.1.35 e a porta 8080. Portanto, devemos fazer uma solicitação HTTP (abrir a página) para o endereço http://192.168.1.35:8080/pcontrol/show_slide/slide1

Para fazer isso, podemos abrir um navegador e colocar o endereço na barra de endereços:

Em seguida, se tivermos o LDSscoreboard em execução, deveremos ver o slide chamado slide1 tornar-se ativo.

IMPORTANTE

Se o nome do slide contiver um espaço, por ser um caractere especial, devemos substituí-lo por %20, ou seja, “meu slide” será traduzido como “meu%20slide”.

Ferramentas para realizar chamadas de API HTTP

É claro que você não está restrito a ter que realizar chamadas HTTP a partir de um navegador; fizemos dessa maneira porque é uma ferramenta que você certamente tem à mão e conhece, mas existem muitas outras formas de fazê-lo.

curl

O curl é uma ferramenta de solicitação HTTP de código aberto. Está disponível em Linux, OSX e também nas versões mais recentes do Windows 10. Seu uso é muito simples, como visto na imagem a seguir:

JavaScript

Você pode criar um programa em Javascript, usando jquery, onde uma chamada HTTP é realizada, por exemplo com este código:

timer_identifier="my timer";

$.getJSON(`/pcontrol/start_ timer/$ `)
.done(function (data) )
.fail(function (err) );

e qualquer linguagem de programação permitirá que você faça esse tipo de chamada.