CamaraDosDeputados / dados-abertos

Repositório do serviço de Dados Abertos da Câmara. Consulte as "Issues" para atendimento a dúvidas e sugestões.
http://dadosabertos.camara.leg.br
196 stars 13 forks source link

Incluir votações no endpoint proposições #206

Open rafaelrozon opened 5 years ago

rafaelrozon commented 5 years ago

Olá,

Seria possível incluir o número de votações no endpoint /proposicoes através de um filtro? Por exemplo, passando /proposicoes?incluir=votacoes e dai a resposta seria algo do tipo:

{
  "dados": [
    {
      "id": 14676,
      "uri": "https://dadosabertos.camara.leg.br/api/v2/proposicoes/14676",
      "siglaTipo": "PEC       ",
      "idTipo": 136,
      "numero": 296,
      "ano": 2000,
      "ementa": "Altera os arts. 49, 57, 59, 66, 67 e 166 da Constituição Federal e reduz as hipóteses de sessão conjunta do Congresso Nacional.",
      "votacoes": [
        {
          "aprovada": true,
          "id": 0,
          "placarAbstencao": "string",
          "placarNao": 0,
          "placarSim": 0,
          "proposicao": {
            "ano": 0,
            "ementa": "string",
            "id": 0,
            "idTipo": 0,
            "numero": 0,
            "siglaTipo": "string",
            "uri": "string"
          },
          "tipoVotacao": "string",
          "titulo": "string",
          "uri": "string",
          "uriEvento": "string",
          "uriProposicaoPrincipal": "string"
        }
      ]
    },
    {
      "id": 15351,
      "uri": "https://dadosabertos.camara.leg.br/api/v2/proposicoes/15351",
      "siglaTipo": "PL        ",
      "idTipo": 139,
      "numero": 359,
      "ano": 1999,
      "ementa": "Acrescenta § 4º ao art. 171 do Decreto-Lei nº 2.848, de 1940 - Código Penal.",
      "votacoes": [
        {
          "aprovada": true,
          "id": 0,
          "placarAbstencao": "string",
          "placarNao": 0,
          "placarSim": 0,
          "proposicao": {
            "ano": 0,
            "ementa": "string",
            "id": 0,
            "idTipo": 0,
            "numero": 0,
            "siglaTipo": "string",
            "uri": "string"
          },
          "tipoVotacao": "string",
          "titulo": "string",
          "uri": "string",
          "uriEvento": "string",
          "uriProposicaoPrincipal": "string"
        }
      ]
    }
  ],
  "links": [
    {
      "rel": "self",
      "href": "https://dadosabertos.camara.leg.br/api/v2/proposicoes?keywords=&ordem=ASC&ordenarPor=id"
    },
    {
      "rel": "next",
      "href": "https://dadosabertos.camara.leg.br/api/v2/proposicoes?keywords=&ordem=ASC&ordenarPor=id&pagina=2&itens=15"
    },
    {
      "rel": "first",
      "href": "https://dadosabertos.camara.leg.br/api/v2/proposicoes?keywords=&ordem=ASC&ordenarPor=id&pagina=1&itens=15"
    },
    {
      "rel": "last",
      "href": "https://dadosabertos.camara.leg.br/api/v2/proposicoes?keywords=&ordem=ASC&ordenarPor=id&pagina=83&itens=15"
    }
  ]
}

Muito obrigado. Rafael

EquipeDadosAbertosCD commented 5 years ago

Salve, Rafael!

Obrigado pela iniciativa de sugerir um aperfeiçoamento ao Dados Abertos!

Isso que você está propondo é o que um autor especialista em REST, Subbu Allamaraju, chama de um parâmetro de projeção. E pelo JSON que você desenhou, não seria o número de votações da proposta a ser incluído, e sim os dados sobre as próprias votações.

Já temos na nossa especificação a previsão de implementar um parâmetro de projeção não só no /proposicoes, mas em quase todos os endpoints de primeiro nível que retornam listas de representações resumidas. Com isso, queremos que seja possível ao usuário solicitar que os itens retornados incluam alguns campos das representações detalhadas (como a retornada por /proposicoes/{id}) e também dados dos subrecursos (como proposicoes/{id}/autores, /proposicoes/{id}/votacoes, etc).

Mas isso não muito simples e ainda vai levar um tempinho. Ainda temos problemas mais urgentes com a própria obtenção de alguns dados. Por exemplo, os dados de votação que você mencionou têm sido A Grande Pedra Do Nosso Sapato.

Obrigado de novo e um abraço!

Fabricio Rocha Equipe Dados Abertos - Câmara

rafaelrozon commented 5 years ago

Obrigado, Fabricio, pela resposta. Espero que tudo de certo para vocês. O serviço de dados abertos é muito importante para o nosso país. Obrigado pelo trampo e a rápida resposta. Abraço.