https://github.com/augusto-herrmann/divulgacandcontas-doc
Documentação não oficial da API DivulgaCandContas do TSE
https://github.com/augusto-herrmann/divulgacandcontas-doc
documentacao eleicoes2020 rest-api tse
Last synced: 25 days ago
JSON representation
Documentação não oficial da API DivulgaCandContas do TSE
- Host: GitHub
- URL: https://github.com/augusto-herrmann/divulgacandcontas-doc
- Owner: augusto-herrmann
- License: cc0-1.0
- Created: 2020-11-02T04:33:10.000Z (over 4 years ago)
- Default Branch: main
- Last Pushed: 2022-10-24T20:42:08.000Z (over 2 years ago)
- Last Synced: 2025-04-12T20:59:37.219Z (25 days ago)
- Topics: documentacao, eleicoes2020, rest-api, tse
- Homepage:
- Size: 33.2 KB
- Stars: 33
- Watchers: 7
- Forks: 3
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# Documentação não oficial da API DivulgaCandContas
O Tribunal Superior Eleitoral disponibiliza os dados sobre candidaturas em
eleições de três formas:1. Para consulta pela web, no sistema
[DivulgaCandContas](https://divulgacandcontas.tse.jus.br/divulga/);
2. Para download, em arquivos CSV, pelo
[repositório de dados eleitorais](https://www.tse.jus.br/eleicoes/estatisticas/repositorio-de-dados-eleitorais-1/repositorio-de-dados-eleitorais);
3. Por uma API do tipo REST.A API é usada pelo sistema que faz a consulta pela web. Entretanto, ela não
está documentada. Tentativas de obter a documentação oficial junto ao TSE não
lograram êxito. Por isso, decidimos começar a criar uma documentação não
oficial para ajudar a quem mais esteja tentando utilizá-la.## Como usar
Para usar a API, consulte a documentação no formato
[OpenAPI 3.0.1](https://spec.openapis.org/oas/v3.0.1). Para mais informações
sobre o padrão Open API, consulte o site [openapis.org]](https://www.openapis.org/).A documentação está no arquivo
[divulgacandcontas-swagger.yaml](divulgacandcontas-swagger.yaml). Além disso,
o arquivo [divulgacandcontas.http](divulgacandcontas.http) possui alguns
exemplos de consultas prontas para uso.**Mas atenção:** antes de usar a API, tome alguns cuidados:
* confira se a sua necessidade de dados pode ser satisfeita pelos downloads
de dados disponíveis no
[repositório de dados eleitorais](https://www.tse.jus.br/eleicoes/estatisticas/repositorio-de-dados-eleitorais-1/repositorio-de-dados-eleitorais)
do TSE. Use a API apenas se os dados não estiverem disponíveis lá (por
exemplo, os planos de governo dos candidatos, como nos [exemplos](examples))
ou você está querendo informações atualizadas apenas por um recorte dos
dados (ex.: candidatos de um município específico).
* Se decidir usar a API, coloque um intervalo de tempo entre as consultas,
para não sobrecarregar os servidores do TSE. Dessa maneira evitamos que ela
seja retirada do ar e reduz o risco do seu IP ser bloqueado na API.### Experimentando com chamadas à API
Para experimentar com a definição da API no formato Open API, copie o conteúdo
do arquivo [divulgacandcontas-swagger.yaml](divulgacandcontas-swagger.yaml) e
cole-o em [editor.swagger.io](https://editor.swagger.io/). Será criada uma
interface web para que você possa preencher os parâmetros e experimentar com
as consultas.Todavia, a API do TSE possui um problema que impedirá as consultas de
funcionar pelo navegador: a API não suporta
*[Cross Origin Resource Sharing](https://pt.wikipedia.org/wiki/Cross-origin_resource_sharing)*
(CORS), o que faz com que o navegador bloqueie chamadas à API a partir de
outros domínios (como o editor Swagger, por exemplo). Aparece a seguinte
mensagem de erro:> TypeError: NetworkError when attempting to fetch resource.
Uma possível solução, para quem usa Firefox, é instalar a extensão
[CORS Everywhere](https://addons.mozilla.org/en-US/firefox/addon/cors-everywhere/)
e configurar o "*activation whitelist*" para
`/^https:\/\/editor(?:-next)?.swagger.io\//i`.
Ative a extensão na aba do editor de Swagger para que as chamadas à API passem
a funcionar no Firefox.Você pode encontrar exemplos de scripts para acessar essa API no diretório
[`examples`](examples/).## Como contribuir
Essa documentação está em construção e contém apenas uma pequena fração do
que está disponível na API. Caso você encontre alguma outra chamada à API que
seja útil para você, não hesite em enviar o *pull request* com a sua
complementação.