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
Copie o prompt da caixa cinzenta.
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.
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.
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.
Cole tudo na IA e envie.
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] |
