Ir para conteúdo principal

API LeagueRepublic: Obter Jogos Por Equipa

Escrito por Pedro Maia

Antes de começar

Para quem é: este endpoint só funciona para ligas com a subscrição Ouro que tenham a API ligada. Para a ligar, marque Activar JSON API nas Configurações API da sua liga. Se faltar alguma destas condições, todos os endereços web deste artigo devolvem um erro em vez dos seus dados.

O que é isto? A API JSON permite que outro site, aplicação ou programa leia os jogos, resultados e classificações da sua liga diretamente do LeagueRepublic. Pense nela como um empregado de mesa: o seu site pede uma coisa ("os jogos desta equipa, por favor") e o LeagueRepublic traz a resposta.

Como se faz o pedido? Visita-se um endereço web, tal como quando se abre uma página. Em vez de uma página bonita, recebe texto simples num formato chamado JSON. O código do seu programador lê esse texto e transforma-o naquilo que ele desenhar.

Qual é o aspeto do JSON? É uma lista de etiquetas e valores, um pouco como um formulário preenchido:

{ "homeTeamName": "Arthurlie", "homeScore": "2" }

A palavra antes dos dois pontos é o nome do campo (a etiqueta do formulário). O que vem depois é o valor (o que foi escrito na caixa). As tabelas mais abaixo neste artigo explicam o que significa cada nome de campo.

O que é um ID? Cada época, equipa e jogo no LeagueRepublic tem o seu próprio número, chamado ID. Funciona como um número de sócio: nunca muda e não há duas coisas com o mesmo. Coloca os IDs no endereço web para indicar que época ou equipa quer.

Como encontro os meus IDs? O ID da época obtém-se com Get Seasons For League. Os IDs das equipas obtêm-se com Get Teams For Fixture Group. Ambos estão descritos no artigo de ajuda principal da API.

Quem pode usar? Ligas no plano Ouro que tenham marcado Activar JSON API nas Configurações API.

Há algum limite? Sim. Cada liga pode fazer até 60 pedidos por minuto. Se passar esse limite, recebe a mensagem "Rate limit exceeded" e tem de esperar um minuto antes de tentar outra vez.

Algumas palavras que vai encontrar

Palavra

O que significa

Road

A equipa visitante. A LeagueRepublic diz "road" onde a maioria das pessoas diz "away" (fora).

Fixture

Um jogo, quer já se tenha realizado quer não.

Fixture group

Uma divisão (como "Premier Division") ou uma eliminatória de uma taça.

Result

Um jogo que tem resultado.

null

A caixa está vazia. A liga não a preencheu, ou não se aplica.

true / false

Sim / não.

Obter Jogos Por Equipa

Obter Jogos Por Equipa dá-lhe todos os jogos de uma equipa numa época, por ordem de data: jogos da liga, jogos da taça e quaisquer outros, realizados e por realizar. É o que precisa para criar a página de uma equipa.

Sem ele, o seu programador teria de descarregar todos os jogos da liga inteira e escolher à mão os jogos dessa equipa.

O endereço web

Substitua {seasonID} pelo ID da época e {teamID} pelo ID da equipa. Por exemplo, o Clydebank na época 2025-2026:

O que recebe

Uma lista de jogos, do mais antigo para o mais recente. Aqui está um exemplo real, reduzido a um jogo:

[ { "fixtureID": 41048450, "fixtureDate": "20250719 14:00", "fixtureDateInMilliseconds": 1752930000000, "fixtureDateStatusID": 1, "fixtureDateStatusDesc": "Normal / Scheduled", "fixtureGroupDesc": "West Of Scotland Charity Cup", "fixtureGroupIdentifier": 638722492, "fixtureTypeID": 2, "fixtureStatus": 0, "fixtureStatusDesc": "Normal", "homeTeam": 504402802, "homeTeamName": "Clydebank", "roadTeam": 363729896, "roadTeamName": "Auchinleck Talbot", "homeScore": "4", "roadScore": "1", "homeScoreNote": null, "roadScoreNote": null, "additionalScore": "(HT 2-0)", "result": true, "noResultOutcome": false, "fixtureNote": null, "roundDesc": "Final", "shortCode": "C", "venueAndSubVenueDesc": "Holm Park" } ]

O Clydebank jogou em casa e ganhou 4-1 na final da taça, a vencer por 2-0 ao intervalo.

Cada jogo

Estes campos usam exatamente os mesmos nomes que as listas de jogos dos outros endpoints da API LeagueRepublic, como Get Fixtures For Season, por isso o seu programador pode reutilizar o mesmo código.

Nome do campo

O que significa

fixtureID

O ID do jogo.

fixtureDate

Data e hora de início, escritas como 20250719 14:00.

fixtureDateInMilliseconds

A mesma data e hora num único número. Os programadores acham mais fácil ordenar por este campo.

fixtureDateStatusID / fixtureDateStatusDesc

Se a data está fixada: 1 = "Normal / Scheduled" (agendado), 2 = "To Be Confirmed" (a confirmar).

fixtureGroupDesc

A divisão ou taça a que o jogo pertence, por exemplo "West Of Scotland Charity Cup".

fixtureGroupIdentifier

O ID dessa divisão ou taça.

fixtureTypeID

O tipo: 1 = divisão, 2 = taça, 4 = outro.

fixtureStatus / fixtureStatusDesc

Se o jogo se vai realizar: 0 = "Normal", 2 = "Postponed" (adiado).

homeTeam / roadTeam

Os IDs da equipa da casa e da equipa visitante.

homeTeamName / roadTeamName

Os nomes da equipa da casa e da equipa visitante.

homeScore / roadScore

O resultado. Vem como texto, por isso também pode conter uma letra, como "P" de adiado (postponed). Vazio se o jogo não se realizou.

homeScoreNote / roadScoreNote

Uma nota junto ao resultado. Normalmente vazio.

additionalScore

Detalhe extra do resultado, como "(HT 2-0)" (intervalo) ou "(Pens 4-5)" (penáltis).

result

true se o jogo tiver resultado.

noResultOutcome

true se o jogo tiver ficado registado como sem resultado.

fixtureNote

Uma nota sobre o jogo, se a liga mostrar alguma.

roundDesc

A eliminatória da taça, por exemplo "Round 2" ou "Final".

shortCode

Um código de uma letra para o tipo de jogo: L = liga, C = taça, O = outro.

venueAndSubVenueDesc

Onde se joga, por exemplo "Holm Park".

A equipa joga em casa ou fora?

Compare o ID da equipa com homeTeam e roadTeam. Se for igual a homeTeam, a equipa jogou em casa. Se for igual a roadTeam, jogou fora.

É bom saber

  • Inclui jogos realizados e por realizar. Os que ainda não se realizaram têm "result": false e resultados vazios.

  • Uma lista vazia não é um erro. Se a equipa existir mas não tiver jogos nessa época, recebe [], que quer dizer "nada encontrado". Também acontece se a equipa pertencer a uma liga diferente da da época.

Se alguma coisa correr mal

Mensagem

O que significa

Supplied seasonID or teamID is not numeric

Um dos IDs tem letras ou símbolos. Devem ter só números.

Season does not exist for supplied season ID

Não existe nenhuma época com esse ID. Confirme que o copiou corretamente.

Team does not exist for supplied team ID

Não existe nenhuma equipa com esse ID. Confirme que o copiou corretamente.

League is not authorised to access webservices

A liga não está no plano Ouro.

JSON api is disabled for league

A opção Activar JSON API não está marcada nas suas Configurações API.

Rate limit exceeded

Mais de 60 pedidos num minuto. Espere um minuto e tente outra vez.

Crie-a com um assistente de IA

Não precisa de ser programador para experimentar este endpoint. Assistentes de IA como o ChatGPT ou o Claude conseguem criar uma página web simples com os dados da sua liga, se lhes disser o que quer. Abaixo tem um pedido pronto a usar (chamado prompt) que pode copiar e colar.

Como usar o prompt

  1. Copie o prompt da caixa cinzenta.

  2. Preencha os seus IDs. Substitua [ID DA MINHA ÉPOCA] e [ID DA MINHA EQUIPA] pelos seus números. Veja "Como encontro os meus IDs?" no início deste artigo.

  3. Junte um exemplo real. Abra no browser o endereço web do prompt, selecione tudo o que aparece na página e cole por baixo do prompt, no sítio indicado. Assim a IA vê os seus dados reais, o que torna muito mais provável que acerte à primeira.

  4. Diga que aspeto quer. Descreva as suas cores e estilo, ou anexe uma captura de ecrã do seu site ou de um design de que goste (o ChatGPT e o Claude aceitam imagens). Uma imagem costuma resultar melhor. Se não disser nada, a IA escolhe um design simples.

  5. Cole tudo na IA e envie.

  6. Compare o resultado com o site da sua liga. Se algo parecer errado, diga à IA o que está mal, por palavras simples, por exemplo "os resultados estão trocados". Ela corrige.

Se a página que a IA criar não mostrar dados, diga à IA exatamente o que vê. Pode ser preciso ela sugerir outra forma de carregar os dados.

Prompt: uma página de equipa

Tenho uma liga desportiva no LeagueRepublic. Cria-me uma única página web (um ficheiro HTML que eu possa abrir no browser) que mostre os jogos de uma equipa na época, usando a API JSON do LeagueRepublic.

Vai buscar os dados a este endereço web: https://api.leaguerepublic.com/json/getFixturesForTeam/[ID DA MINHA ÉPOCA]/[ID DA MINHA EQUIPA].json

Os dados são uma lista de jogos. O ID da minha equipa é [ID DA MINHA EQUIPA].

A página deve:

1. Usar o nome da minha equipa como título. Está em "homeTeamName" quando "homeTeam" é igual ao ID da minha equipa, e em "roadTeamName" quando "roadTeam" é igual ao ID da minha equipa.

2. Dividir os jogos em duas secções: "Resultados" (onde "result" é true), do mais recente para o mais antigo, e "Próximos jogos" (onde "result" é false), do mais próximo para o mais distante.

3. Para cada jogo, mostrar a data ("fixtureDate"), a competição ("fixtureGroupDesc", mais "roundDesc" nas eliminatórias de taça), o adversário, se é em casa ou fora, e o resultado. Se "homeTeam" for igual ao ID da minha equipa, a minha equipa joga em casa. Se "roadTeam" for igual, joga fora. "Road" significa fora.

4. Nos resultados, mostrar V, E ou D (vitória, empate, derrota) do ponto de vista da minha equipa, a verde, cinzento ou vermelho. Se um jogo terminou empatado e "additionalScore" mostrar um desempate por penáltis, como "(Pens 4-2)", mostrar P em vez de E e mostrar o resultado dos penáltis ao lado.

5. Se "additionalScore" tiver alguma coisa, como "(HT 2-0)", mostrá-lo em letra pequena por baixo do resultado.

6. Mostrar os valores vazios (null) em branco. Nunca mostrar a palavra "null".

7. Não ir buscar os dados mais do que uma vez por minuto. A API permite 60 pedidos por minuto.

Mantém o design limpo e fácil de ler num telemóvel. Explica-me em passos simples como abrir e usar o ficheiro. Pergunta-me se alguma coisa não estiver clara.

Design: [DESCREVA O ASPETO QUE QUER, OU ANEXE UMA CAPTURA DE ECRÃ]

Aqui está um exemplo do que o endereço web devolve: [COLE O EXEMPLO AQUI]

Isto respondeu à sua pergunta?