library(rcongresso)
library(DT)
library(dplyr)
library(knitr)

O RCongresso é um wrapper para a nova API RESTful da Câmara dos Deputados.

Na versão atual, podemos recuperar dados sobre proposições específicas, votações, votos dos deputados, orientações dos partidos e dados sobre os deputados.

Uma proposição

Para recuperar uma proposição você precisa de três informações: O tipo da proposição (i.e., PEC, PL, PLP), o número da proposição e o ano em que esta foi proposta. Com isso você pode recuperar o ID da proposição na API e o conteúdo da proposição em si.

Por exemplo, para a PL 4302/1998, o projeto de lei da terceirização:

pl4302_id <- fetch_id_proposicao(tipo = "PL", numero = 4302, ano = 1998)

Com o ID da proposição, recuperamos a proposição em si:

pl4302 <- fetch_proposicao(id = pl4302_id)
glimpse(pl4302)
## Observations: 1
## Variables: 34
## $ ano                                  <dbl> 1998
## $ dataApresentacao                     <chr> "1998-03-19T00:00"
## $ descricaoTipo                        <chr> "Projeto de Lei"
## $ ementa                               <chr> "Dispõe sobre as relações...
## $ ementaDetalhada                      <chr> NA
## $ id                                   <int> 20794
## $ idTipo                               <int> 139
## $ idTipoAutor                          <dbl> NA
## $ justificativa                        <chr> NA
## $ keywords                             <chr> "Alteração, Lei do Trabal...
## $ numero                               <dbl> 4302
## $ siglaTipo                            <chr> "PL"
## $ statusProposicao.dataHora            <chr> "2017-08-01T00:00"
## $ statusProposicao.descricaoSituacao   <chr> "Transformado em Norma Ju...
## $ statusProposicao.descricaoTramitacao <chr> "Recebimento"
## $ statusProposicao.despacho            <chr> "Recebimento do Ofício nº...
## $ statusProposicao.idSituacao          <int> 1140
## $ statusProposicao.idTipoTramitacao    <int> 500
## $ statusProposicao.regime              <chr> "Urgência (Art. 155, RICD)"
## $ statusProposicao.sequencia           <dbl> 170
## $ statusProposicao.siglaOrgao          <chr> "MESA"
## $ statusProposicao.uriOrgao            <chr> "https://dadosabertos.cam...
## $ statusProposicao.url                 <chr> "http://www.camara.gov.br...
## $ texto                                <chr> NA
## $ tipoAutor                            <chr> NA
## $ uri                                  <chr> "https://dadosabertos.cam...
## $ uriAutores                           <chr> "https://dadosabertos.cam...
## $ uriOrgaoNumerador                    <chr> NA
## $ uriPropAnterior                      <chr> NA
## $ uriPropPosterior                     <chr> NA
## $ uriPropPrincipal                     <chr> NA
## $ uriUltimoRelator                     <chr> NA
## $ urlInteiroTeor                       <chr> "http://www.camara.gov.br...
## $ urnFinal                             <chr> NA

Votações

Com o ID da proposição você pode recuperar todas as votações pelas quais aquela proposição já passou:

votacoes_pl4302 <- fetch_votacoes(id_prop=pl4302_id)

votacoes_pl4302 %>% 
  select(id, titulo, placarSim, placarNao, placarAbstencao) %>% 
  kable()
id titulo placarSim placarNao placarAbstencao
7430 SUBSTITUTIVO DO SENADO FEDERAL - EMENDA SUPRESSIVA 28 275 46
7427 REQUERIMENTO DE ADIAMENTO DA VOTAÇÃO POR 1 SESSÃO 35 231 5
7424 REQUERIMENTO DE RETIRADA DE PAUTA 40 213 4
7431 SUBSTITUTIVO DO SENADO FEDERAL 232 188 8

Para focar em uma votação usamos seu ID:

fetch_votacao(id_votacao=7431) %>% 
  glimpse()
## Observations: 1
## Variables: 31
## $ aprovada               <chr> NA
## $ dataHoraFim            <chr> "2017-03-22 20:45:32.0"
## $ dataHoraInicio         <chr> "2017-03-22 15:41:02.0"
## $ despacho               <chr> NA
## $ ementaParecer          <chr> NA
## $ id                     <int> 7431
## $ numPresentes           <int> NA
## $ numVotantes            <int> NA
## $ placarAbstencao        <int> 8
## $ placarNao              <int> 188
## $ placarSim              <int> 232
## $ proposicao.ano         <int> NA
## $ proposicao.ementa      <chr> "Dispõe sobre as relações de trabalho n...
## $ proposicao.id          <int> 19609
## $ proposicao.idTipo      <int> NA
## $ proposicao.numero      <int> NA
## $ proposicao.siglaTipo   <chr> NA
## $ proposicao.uri         <chr> "https://dadosabertos.camara.leg.br/api...
## $ relator.id             <int> NA
## $ relator.idLegislatura  <int> NA
## $ relator.nome           <chr> NA
## $ relator.siglaPartido   <chr> NA
## $ relator.siglaUf        <chr> NA
## $ relator.uri            <chr> NA
## $ relator.uriPartido     <chr> NA
## $ relator.urlFoto        <chr> NA
## $ tipoVotacao            <chr> "Nominal Eletrônica"
## $ titulo                 <chr> "SUBSTITUTIVO DO SENADO FEDERAL"
## $ uri                    <chr> "https://dadosabertos.camara.leg.br/api...
## $ uriEvento              <chr> "https://dadosabertos.camara.leg.br/api...
## $ uriProposicaoPrincipal <chr> "https://dadosabertos.camara.leg.br/api...

Cada votação tem registrada também as orientações das bancadas:

fetch_orientacoes(id_votacao=7431) %>% 
  select(nomeBancada, voto) %>% 
  datatable()

Votos dos deputados

Podemos recuperar todas os votos dos deputados que participaram daquela votação:

fetch_votos(id_votacao=7431) %>% 
  select(parlamentar.id, 
         parlamentar.nome, 
         parlamentar.siglaPartido, 
         voto) %>% 
  datatable()

Informações sobre um deputado

Se quisermos obter mais informações sobre um deputado, podemos fazê-lo pelo seu ID. Por exemplo, sobre o deputado Abel Mesquita, cujo id é 178957, até agora recuperamos o seguinte:

fetch_deputado(178957) %>%
  select(-uri) %>%
  kable()
cpf dataFalecimento dataNascimento escolaridade id municipioNascimento nomeCivil sexo ufNascimento ultimoStatus.condicaoEleitoral ultimoStatus.data ultimoStatus.descricaoStatus ultimoStatus.gabinete.andar ultimoStatus.gabinete.email ultimoStatus.gabinete.nome ultimoStatus.gabinete.predio ultimoStatus.gabinete.sala ultimoStatus.gabinete.telefone ultimoStatus.id ultimoStatus.idLegislatura ultimoStatus.nome ultimoStatus.nomeEleitoral ultimoStatus.siglaPartido ultimoStatus.siglaUf ultimoStatus.situacao ultimoStatus.uri ultimoStatus.uriPartido ultimoStatus.urlFoto urlWebsite redeSocial
NA 1962-03-29 Superior Incompleto 178957 Boa Vista ABEL SALVADOR MESQUITA JUNIOR M RR Titular 2015-02-01 NA 2 dep.ABELMESQUITAJR.@camara.leg.br 248 4 248 3215-5248 178957 55 ABEL MESQUITA JR. ABEL MESQUITA JR. DEM RR NA https://dadosabertos.camara.leg.br/api/v2/deputados/178957 https://dadosabertos.camara.leg.br/api/v2/partidos/36769 http://www.camara.leg.br/internet/deputado/bandep/178957.jpg NA list(redeSocial.redeSocial = NA)