{"_id":"@civictechbrasil/camara-dos-deputados","_rev":"2-5c3fc45adee7739aaa2c0dd91758a012","name":"@civictechbrasil/camara-dos-deputados","dist-tags":{"latest":"0.2.0"},"versions":{"0.1.0":{"name":"@civictechbrasil/camara-dos-deputados","version":"0.1.0","keywords":["brazil","politics","camara","deputados","api","typescript","sdk"],"author":"","license":"MIT","_id":"@civictechbrasil/camara-dos-deputados@0.1.0","maintainers":[{"name":"civictechbr","email":"civictechbrasil@gmail.com"}],"homepage":"https://github.com/civictechbrasil/camara-dos-deputados-ts-sdk.git#readme","bugs":{"url":"https://github.com/civictechbrasil/camara-dos-deputados-ts-sdk.git/issues"},"dist":{"shasum":"b7f25580f773eb98af6e5d7d4eff2851f4f07cf8","tarball":"https://registry.npmjs.org/@civictechbrasil/camara-dos-deputados/-/camara-dos-deputados-0.1.0.tgz","fileCount":61,"integrity":"sha512-f415moH/Tpqbhkma0m4mdOV7fv5rNWGebyey3+i8Kym248BzyXkwIOfT9ggCR7VC/Y5ilWPBcjU6I1vwb/GRsA==","signatures":[{"sig":"MEUCIAW0aFSayTlfLbG5qvOh7ayk772PXec8GRo50j/vXJKmAiEAq8yGB50fGaiw1Xu8lSc1jrid5TA43YfqOQ79Agt5Pyo=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":78422},"main":"dist/index.js","types":"dist/index.d.ts","gitHead":"8c3fe9ff212ae19965020382af791799dec6ab9e","scripts":{"dev":"tsc --watch","lint":"eslint src/**/*.ts","test":"jest","build":"tsc && tsc-alias","prepare":"husky install"},"_npmUser":{"name":"civictechbr","email":"civictechbrasil@gmail.com"},"repository":{"url":"git+https://github.com/civictechbrasil/camara-dos-deputados-ts-sdk.git","type":"git"},"_npmVersion":"10.8.2","description":"SDK TypeScript para acesso à API da Câmara dos Deputados","directories":{},"_nodeVersion":"20.19.4","dependencies":{"qs":"^6.15.0","axios":"^1.13.6","class-transformer":"^0.5.1"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^29.0.0","husky":"^8.0.3","eslint":"^8.35.0","prettier":"^2.3.2","@types/qs":"^6.14.0","tsc-alias":"^1.8.16","typescript":"^5.0.0","@types/node":"^20.0.0","lint-staged":"^13.1.2","@commitlint/cli":"^17.4.4","@commitlint/types":"^20.4.3","eslint-plugin-import":"^2.27.5","eslint-config-prettier":"^8.6.0","eslint-plugin-prettier":"^4.0.0","@typescript-eslint/parser":"^6.21.0","eslint-config-airbnb-base":"^15.0.0","eslint-plugin-import-helpers":"^1.3.1","eslint-plugin-unused-imports":"^3.2.0","@commitlint/config-conventional":"^17.4.4","eslint-config-airbnb-typescript":"^17.0.0","@typescript-eslint/eslint-plugin":"^6.21.0"},"_npmOperationalInternal":{"tmp":"tmp/camara-dos-deputados_0.1.0_1772657219829_0.014735161938542296","host":"s3://npm-registry-packages-npm-production"}},"0.2.0":{"name":"@civictechbrasil/camara-dos-deputados","version":"0.2.0","description":"SDK TypeScript para acesso à API da Câmara dos Deputados","main":"dist/index.js","types":"dist/index.d.ts","publishConfig":{"access":"public"},"repository":{"type":"git","url":"git+https://github.com/civictechbrasil/camara-dos-deputados-ts-sdk.git"},"bugs":{"url":"https://github.com/civictechbrasil/camara-dos-deputados-ts-sdk.git/issues"},"homepage":"https://github.com/civictechbrasil/camara-dos-deputados-ts-sdk.git#readme","scripts":{"prepare":"husky install","build":"tsc && tsc-alias","dev":"tsc --watch","test":"jest","lint":"eslint src/**/*.ts"},"keywords":["brazil","politics","camara","deputados","api","typescript","sdk"],"author":"","license":"MIT","dependencies":{"axios":"^1.13.6","class-transformer":"^0.5.1","qs":"^6.15.0"},"devDependencies":{"@commitlint/cli":"^17.4.4","@commitlint/config-conventional":"^17.4.4","@commitlint/types":"^20.4.3","@types/node":"^20.0.0","@types/qs":"^6.14.0","@typescript-eslint/eslint-plugin":"^6.21.0","@typescript-eslint/parser":"^6.21.0","eslint":"^8.35.0","eslint-config-airbnb-base":"^15.0.0","eslint-config-airbnb-typescript":"^17.0.0","eslint-config-prettier":"^8.6.0","eslint-plugin-import":"^2.27.5","eslint-plugin-import-helpers":"^1.3.1","eslint-plugin-prettier":"^4.0.0","eslint-plugin-unused-imports":"^3.2.0","husky":"^8.0.3","jest":"^29.0.0","lint-staged":"^13.1.2","prettier":"^2.3.2","tsc-alias":"^1.8.16","typescript":"^5.0.0"},"_id":"@civictechbrasil/camara-dos-deputados@0.2.0","gitHead":"8ddc51e4748fc2364836692d702793712c5b8bce","_nodeVersion":"20.19.4","_npmVersion":"10.8.2","dist":{"integrity":"sha512-LmAyhuT0ettbvfx76qir+XJPQAJmcKE10XxZhptWmLi1O84IaPaAeG+1lF7+NCy/soGbN9aaibLM2KLaIDuGtQ==","shasum":"cc3b98e0f2f8258b331e025979bf919c586c604d","tarball":"https://registry.npmjs.org/@civictechbrasil/camara-dos-deputados/-/camara-dos-deputados-0.2.0.tgz","fileCount":61,"unpackedSize":78422,"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEYCIQCvOvYiwxi/5/AtUW7mpqIyvk8blmb1DmP7ycZ5czkXHgIhAMByxpHXxbiVCHBBZSnQ1bx7z2IVIp/+GeHjXDt1kOYM"}]},"_npmUser":{"name":"civictechbr","email":"civictechbrasil@gmail.com"},"directories":{},"maintainers":[{"name":"civictechbr","email":"civictechbrasil@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/camara-dos-deputados_0.2.0_1773223786466_0.8394889459637722"},"_hasShrinkwrap":false}},"time":{"created":"2026-03-04T20:46:59.732Z","modified":"2026-03-11T10:09:46.776Z","0.1.0":"2026-03-04T20:46:59.976Z","0.2.0":"2026-03-11T10:09:46.649Z"},"bugs":{"url":"https://github.com/civictechbrasil/camara-dos-deputados-ts-sdk.git/issues"},"license":"MIT","homepage":"https://github.com/civictechbrasil/camara-dos-deputados-ts-sdk.git#readme","keywords":["brazil","politics","camara","deputados","api","typescript","sdk"],"repository":{"type":"git","url":"git+https://github.com/civictechbrasil/camara-dos-deputados-ts-sdk.git"},"description":"SDK TypeScript para acesso à API da Câmara dos Deputados","maintainers":[{"name":"civictechbr","email":"civictechbrasil@gmail.com"}],"readme":"# @civictechbrasil/camara-dos-deputados\n\nSDK TypeScript para acesso à API da Câmara dos Deputados\n\n## Descrição\n\nEste projeto fornece um SDK em TypeScript para consultar dados públicos da Câmara dos Deputados (Brasil). O objetivo é encapsular chamadas HTTP, serializar parâmetros e expor serviços tipados para facilitar o consumo programático de endpoints relacionados a deputados.\n\n## Estrutura do projeto\n\n- `src/common/api.ts`: cliente HTTP central (`request`) e definição das rotas base (`apiRoutes`).\n- `src/modules/deputies/services/deputies.service.ts`: serviço para listagem e busca de deputados.\n- `src/modules/deputies/services/deputy.service.ts`: serviço com endpoints relacionados a um deputado específico.\n- `src/modules/deputies/interfaces`: tipos/contratos usados pelos serviços.\n\n## Principais objetivos\n\n- Fornecer chamadas tipadas para os endpoints mais usados da API pública da Câmara.\n- Encapsular tratamento de parâmetros e respostas (serialização / transformação de modelos).\n\n## Rotas/funcionalidades cobertas (atualmente)\n\nAs rotas cobertas são expostas pelos serviços dentro de `src/modules/deputies/services`. Abaixo está uma lista das rotas já implementadas e uma descrição de cada uma.\n\n- `GET /deputados` — listagem de deputados\n\n  - Serviço: `DeputiesService.listagem(listDeputies?)`\n  - Descrição: retorna uma lista de deputados (pré-visualização) segundo critérios opcionais como `idLegislatura`, `siglaPartido`, `siglaUf`, `nome`, `dataInicio`, etc. Se nenhum filtro de tempo for passado, a lista traz deputados em exercício.\n  - Uso: enviar parâmetros como `idLegislatura` ou `dataInicio` via `params`.\n\n- `GET /deputados/{id}` — detalhes do deputado\n\n  - Serviço: `DeputyService.detalhes({ idDeputado })`\n  - Descrição: dados cadastrais completos de um deputado identificado por `idDeputado`.\n\n- `GET /deputados/{id}/despesas` — despesas (cota parlamentar)\n\n  - Serviço: `DeputyService.despesas({ idDeputado, ...params })`\n  - Descrição: registros de despesas da cota parlamentar do deputado. Aceita filtros por mês, ano, legislatura, CNPJ/CPF de fornecedor etc. Se não forem informados parâmetros temporais, retorna os últimos 6 meses.\n\n- `GET /deputados/{id}/discursos` — discursos e pronunciamentos\n\n  - Serviço: `DeputyService.discursos({ idDeputado, ...params })`\n  - Descrição: discursos registrados para o deputado. Se não houver filtros temporais, busca os 7 dias anteriores por padrão.\n\n- `GET /deputados/{id}/eventos` — eventos com participação do deputado\n\n  - Serviço: `DeputyService.eventos({ idDeputado, ...params })`\n  - Descrição: eventos em que o deputado participou ou participou previsto, com possibilidade de filtrar por período. Ordenação disponível por `id`, `siglaOrgao` ou `dataHoraInicio`.\n\n- `GET /deputados/{id}/frentes` — frentes parlamentares\n\n  - Serviço: `DeputyService.frentes({ idDeputado })`\n  - Descrição: lista de frentes parlamentares das quais o deputado participou.\n\n- `GET /deputados/{id}/historico` — histórico de alterações de exercício\n\n  - Serviço: `DeputyService.historico({ idDeputado })`\n  - Descrição: histórico de mudanças no exercício parlamentar (partido, licença, substituições etc.).\n\n- `GET /deputados/{id}/mandatosExternos` — mandatos eletivos externos\n\n  - Serviço: `DeputyService.mandatosExternos({ idDeputado })`\n  - Descrição: cargos eletivos fora da Câmara que o parlamentar já exerceu (dados do TSE).\n\n- `GET /deputados/{id}/ocupacoes` — ocupações e atividades profissionais\n\n  - Serviço: `DeputyService.ocupacoes({ idDeputado })`\n  - Descrição: atividades profissionais declaradas pelo parlamentar. Obs.: dados com problemas estruturais podem existir.\n\n- `GET /deputados/{id}/orgaos` — órgãos e comissões\n\n  - Serviço: `DeputyService.orgaos({ idDeputado })`\n  - Descrição: órgãos (ex.: comissões) dos quais o deputado participou, com cargo e período.\n\n- `GET /deputados/{id}/profissoes` — profissões declaradas\n  - Serviço: `DeputyService.profissoes({ idDeputado })`\n  - Descrição: lista de profissões que o parlamentar declarou.\n\n## Como usar\n\n1. Instalação\n\n```bash\npnpm install\n```\n\n2. Configurar a URL base (opcional)\n\nO cliente HTTP utiliza a variável `API_BASE_URL` se presente; caso contrário, usa a constante padrão definida em `src/common/constants.ts`.\n\n3. Exemplo mínimo (TypeScript)\n\n```ts\nimport { camara } from \"@civictechbrasil/camara-dos-deputados\";\n\nasync function exemplo() {\n  // Listagem\n  const lista = await camara.deputados.listagem({ idLegislatura: 57 });\n  console.log(lista.dados);\n\n  // Detalhes\n  const detalhes = await camara.deputado.detalhes({ idDeputado: 204536 });\n  console.log(detalhes.dados);\n}\n\nexemplo();\n```\n\n## Observações e próximos passos\n\n- O SDK foca atualmente em endpoints relacionados a deputados (listagem e contexto por deputado). Em breve, irei expandir para outras entidades (votações, proposições, comissões) e adicionar exemplos de testes e documentação de tipos.\n\n## Contribuição\n\nAbra um PR com alterações ou sugestões. Siga as diretrizes em `CONTRIBUTING.md`.\n\n## Licença\n\nConsulte o arquivo `LICENCE.md` no repositório.\n","readmeFilename":"README.md"}