diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 7c37599..1421905 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -18,7 +18,7 @@ jobs: lint: timeout-minutes: 10 name: lint - runs-on: ${{ github.repository == 'stainless-sdks/brapi-python' && 'depot-ubuntu-24.04' || 'ubuntu-latest' }} + runs-on: ${{ startsWith(github.repository, 'stainless-sdks/') && 'depot-ubuntu-24.04' || 'ubuntu-latest' }} if: (github.event_name == 'push' || github.event.pull_request.head.repo.fork) && (github.event_name != 'push' || github.event.head_commit.message != 'codegen metadata') steps: - uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2 @@ -44,7 +44,7 @@ jobs: permissions: contents: read id-token: write - runs-on: ${{ github.repository == 'stainless-sdks/brapi-python' && 'depot-ubuntu-24.04' || 'ubuntu-latest' }} + runs-on: ${{ startsWith(github.repository, 'stainless-sdks/') && 'depot-ubuntu-24.04' || 'ubuntu-latest' }} steps: - uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2 @@ -84,7 +84,7 @@ jobs: test: timeout-minutes: 10 name: test - runs-on: ${{ github.repository == 'stainless-sdks/brapi-python' && 'depot-ubuntu-24.04' || 'ubuntu-latest' }} + runs-on: ${{ startsWith(github.repository, 'stainless-sdks/') && 'depot-ubuntu-24.04' || 'ubuntu-latest' }} if: github.event_name == 'push' || github.event.pull_request.head.repo.fork steps: - uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2 diff --git a/.release-please-manifest.json b/.release-please-manifest.json index 7deae33..cce9d1c 100644 --- a/.release-please-manifest.json +++ b/.release-please-manifest.json @@ -1,3 +1,3 @@ { - ".": "1.6.0" + ".": "1.7.0" } \ No newline at end of file diff --git a/.stats.yml b/.stats.yml index 9cc0f72..7cfbc6e 100644 --- a/.stats.yml +++ b/.stats.yml @@ -1,4 +1,4 @@ configured_endpoints: 11 -openapi_spec_url: https://storage.googleapis.com/stainless-sdk-openapi-specs/alisson/brapi-763c52c3811b3a28985947ecdba690fa83368b40c6dbd27ac740c241d52ea2a8.yml -openapi_spec_hash: 4020950d95877b91e854f0e1917341b1 +openapi_spec_url: https://storage.googleapis.com/stainless-sdk-openapi-specs/alisson/brapi-3fbf41dfdf9916a2922ee0527c641ad8e942055ee097262056e0f9d4f4b0b888.yml +openapi_spec_hash: 138b26f2d129db8a8d8d192e0d0d5f55 config_hash: 14da4c1963f3e0764a3e82d626a1d762 diff --git a/CHANGELOG.md b/CHANGELOG.md index e8789f0..291b3b7 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,5 +1,23 @@ # Changelog +## 1.7.0 (2026-09-23) + +Full Changelog: [v1.6.0...v1.7.0](https://github.com/brapi-dev/brapi-python/compare/v1.6.0...v1.7.0) + +### Features + +* **api:** api update ([9fa5b4f](https://github.com/brapi-dev/brapi-python/commit/9fa5b4f26db024b1c6f1dd6b764bb5469caaec75)) +* **api:** api update ([090d70a](https://github.com/brapi-dev/brapi-python/commit/090d70a04e883c17035118e6272b1a3a67aac4b2)) +* **api:** api update ([846d1cc](https://github.com/brapi-dev/brapi-python/commit/846d1cc7b3963e8253ba9aa0f534c7c0c5a15854)) +* **api:** api update ([fd52eeb](https://github.com/brapi-dev/brapi-python/commit/fd52eebdf6030812a49dbd949418146de3b9eee9)) +* **api:** api update ([4ad61a5](https://github.com/brapi-dev/brapi-python/commit/4ad61a5d636f09dc6ec038adcef069a61f6ccc59)) +* **api:** api update ([bc65837](https://github.com/brapi-dev/brapi-python/commit/bc658373787b240ee985a587901aa8d9ad2532a3)) +* **api:** api update ([4d2bc0a](https://github.com/brapi-dev/brapi-python/commit/4d2bc0aab3ce83a2ee54198df763edac1c338470)) +* **api:** api update ([ea7470f](https://github.com/brapi-dev/brapi-python/commit/ea7470f791b60a043840d9ea5c7cc5e64832baa3)) +* **api:** api update ([26541f2](https://github.com/brapi-dev/brapi-python/commit/26541f26d59fb1c56c09d3eb229dc3aaba57edc1)) +* **api:** api update ([bb284b5](https://github.com/brapi-dev/brapi-python/commit/bb284b566f4543033d89fd10055457d7a6d7bd70)) +* **stlc:** configurable CI runner and private-production-repo support in workflow templates ([7e697d6](https://github.com/brapi-dev/brapi-python/commit/7e697d6099b1e28a9babeb18df7f81749d7f23f8)) + ## 1.6.0 (2026-07-10) Full Changelog: [v1.5.0...v1.6.0](https://github.com/brapi-dev/brapi-python/compare/v1.5.0...v1.6.0) diff --git a/api.md b/api.md index fd9c66f..2ea8b8c 100644 --- a/api.md +++ b/api.md @@ -67,7 +67,7 @@ from brapi.types.v2 import InflationRetrieveResponse, InflationListAvailableResp Methods: - client.v2.inflation.retrieve(\*\*params) -> InflationRetrieveResponse -- client.v2.inflation.list_available() -> InflationListAvailableResponse +- client.v2.inflation.list_available(\*\*params) -> InflationListAvailableResponse ## PrimeRate @@ -80,4 +80,4 @@ from brapi.types.v2 import PrimeRateRetrieveResponse, PrimeRateListAvailableResp Methods: - client.v2.prime_rate.retrieve(\*\*params) -> PrimeRateRetrieveResponse -- client.v2.prime_rate.list_available() -> PrimeRateListAvailableResponse +- client.v2.prime_rate.list_available(\*\*params) -> PrimeRateListAvailableResponse diff --git a/pyproject.toml b/pyproject.toml index c835169..6c81123 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -1,6 +1,6 @@ [project] name = "brapi" -version = "1.6.0" +version = "1.7.0" description = "The official Python library for the brapi API" dynamic = ["readme"] license = "Apache-2.0" diff --git a/src/brapi/_version.py b/src/brapi/_version.py index 8ad3a3e..555d3b7 100644 --- a/src/brapi/_version.py +++ b/src/brapi/_version.py @@ -1,4 +1,4 @@ # File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details. __title__ = "brapi" -__version__ = "1.6.0" # x-release-please-version +__version__ = "1.7.0" # x-release-please-version diff --git a/src/brapi/resources/available.py b/src/brapi/resources/available.py index d9adaf9..ab8c2ae 100644 --- a/src/brapi/resources/available.py +++ b/src/brapi/resources/available.py @@ -57,57 +57,19 @@ def list( timeout: float | httpx.Timeout | None | NotGiven = not_given, ) -> AvailableListResponse: """ - Retorna a lista completa de **ações e índices** disponíveis para consulta na API - brapi. + Lista simples de tickers aceitos pela API: ativos brasileiros, como ações, FIIs, + BDRs e ETFs, em `stocks`, e índices em `indexes`. - ### Funcionalidades + Use para validar um ticker ou preencher uma lista de opções. - - **Ações brasileiras:** Todas as ações, FIIs, BDRs e ETFs negociados na bolsa - brasileira - - **Índices:** Índices do mercado brasileiro com cotação disponível na API - - **Filtro por Nome:** Use `search` para filtrar por código ou nome do ativo + `search` filtra por parte do ticker. Tickers antigos não entram na lista. A + lista é atualizada a cada 15 minutos. - ### Características - - - **Sem Autenticação:** Este endpoint é **público** e não requer token - - **Cache:** Dados cacheados por 15 minutos - - **Atualização automática:** Conforme novos ativos são listados na bolsa - brasileira - - ### Exemplos de Uso - - ```bash - # Listar todos os ativos - curl "https://brapi.dev/api/available" - - # Buscar por código de ticker - curl "https://brapi.dev/api/available?search=PETR" - - # Buscar por nome da empresa - curl "https://brapi.dev/api/available?search=banco" - ``` - - ### Índices Disponíveis - - - `^BVSP` — Ibovespa (Índice Bovespa) - - `IFIX.SA` — Índice de Fundos Imobiliários - - ### Campos da Resposta - - - `stocks` — Array com códigos das ações (ex: ["PETR4", "VALE3", "ITUB4", ...]) - - `indexes` — Array com códigos dos índices (ex: ["^BVSP", "IFIX.SA"]) - - ### Como Usar - - Use os códigos retornados como parâmetro no endpoint `/api/quote/{tickers}` para - obter cotações detalhadas. - - **Fonte:** Bolsa de Valores do Brasil - - **Plano Mínimo:** Gratuito **Autenticação:** Não necessária (Público) + Não exige token. Para filtros por setor e tipo, use a + [lista de tickers](https://brapi.dev/docs/tickers). Args: - search: Filtrar ações e índices por nome ou código + search: Parte do ticker. Filtra ativos e índices. extra_headers: Send extra headers @@ -166,57 +128,19 @@ async def list( timeout: float | httpx.Timeout | None | NotGiven = not_given, ) -> AvailableListResponse: """ - Retorna a lista completa de **ações e índices** disponíveis para consulta na API - brapi. - - ### Funcionalidades - - - **Ações brasileiras:** Todas as ações, FIIs, BDRs e ETFs negociados na bolsa - brasileira - - **Índices:** Índices do mercado brasileiro com cotação disponível na API - - **Filtro por Nome:** Use `search` para filtrar por código ou nome do ativo - - ### Características - - - **Sem Autenticação:** Este endpoint é **público** e não requer token - - **Cache:** Dados cacheados por 15 minutos - - **Atualização automática:** Conforme novos ativos são listados na bolsa - brasileira - - ### Exemplos de Uso - - ```bash - # Listar todos os ativos - curl "https://brapi.dev/api/available" - - # Buscar por código de ticker - curl "https://brapi.dev/api/available?search=PETR" - - # Buscar por nome da empresa - curl "https://brapi.dev/api/available?search=banco" - ``` - - ### Índices Disponíveis - - - `^BVSP` — Ibovespa (Índice Bovespa) - - `IFIX.SA` — Índice de Fundos Imobiliários - - ### Campos da Resposta - - - `stocks` — Array com códigos das ações (ex: ["PETR4", "VALE3", "ITUB4", ...]) - - `indexes` — Array com códigos dos índices (ex: ["^BVSP", "IFIX.SA"]) - - ### Como Usar + Lista simples de tickers aceitos pela API: ativos brasileiros, como ações, FIIs, + BDRs e ETFs, em `stocks`, e índices em `indexes`. - Use os códigos retornados como parâmetro no endpoint `/api/quote/{tickers}` para - obter cotações detalhadas. + Use para validar um ticker ou preencher uma lista de opções. - **Fonte:** Bolsa de Valores do Brasil + `search` filtra por parte do ticker. Tickers antigos não entram na lista. A + lista é atualizada a cada 15 minutos. - **Plano Mínimo:** Gratuito **Autenticação:** Não necessária (Público) + Não exige token. Para filtros por setor e tipo, use a + [lista de tickers](https://brapi.dev/docs/tickers). Args: - search: Filtrar ações e índices por nome ou código + search: Parte do ticker. Filtra ativos e índices. extra_headers: Send extra headers diff --git a/src/brapi/resources/quote.py b/src/brapi/resources/quote.py index b29f848..aab9b82 100644 --- a/src/brapi/resources/quote.py +++ b/src/brapi/resources/quote.py @@ -56,6 +56,7 @@ def retrieve( token: str | Omit = omit, dividends: Literal["true", "false"] | Omit = omit, end_date: str | Omit = omit, + include_raw: Literal["true", "false"] | Omit = omit, interval: Literal["1m", "2m", "5m", "15m", "30m", "60m", "90m", "1h", "1d", "5d", "1wk", "1mo", "3mo"] | Omit = omit, modules: str | Omit = omit, @@ -69,154 +70,72 @@ def retrieve( extra_body: Body | None = None, timeout: float | httpx.Timeout | None | NotGiven = not_given, ) -> QuoteRetrieveResponse: - """ - **O ENDPOINT MAIS IMPORTANTE DA API.** Obtém dados detalhados e abrangentes de - um ou múltiplos ativos (ações, FIIs, BDRs) em uma única requisição. Combine - cotações em tempo real, dados históricos, fundamentos e dividendos conforme - necessário. - - ### Funcionalidades: - - - **Cotação em Tempo Real:** Preço atual, variação absoluta e percentual, - volume, máxima/mínima do dia, range de 52 semanas. - - **Dados Históricos:** Preços OHLCV (Open, High, Low, Close, Volume) com - intervalos flexíveis (1d, 5d, 1wk, 1mo, 3mo) e períodos (1d até max). - - **Fundamentos:** Balanço Patrimonial, DRE, Fluxo de Caixa, DVA, - Indicadores-chave (P/L, P/VP, ROE, etc) via parâmetro `modules`. - - **Dividendos:** Histórico completo de proventos em dinheiro (dividendos, JCP) - e bonificações. - - ### Autenticação: - - Requer token Bearer no header ou como query param. Tickers de teste **PETR4** e - **VALE3** funcionam sem autenticação. - - ```bash - # Via header (recomendado) - curl -H "Authorization: Bearer SEU_TOKEN" "https://brapi.dev/api/quote/PETR4" - - # Via query param - curl "https://brapi.dev/api/quote/PETR4?token=SEU_TOKEN" - ``` - - ### Exemplos de Requisição: - - ```bash - # Simples: apenas cotação atual - curl "https://brapi.dev/api/quote/PETR4?token=SEU_TOKEN" - - # Múltiplos tickers em uma requisição - curl "https://brapi.dev/api/quote/PETR4,VALE3,ITUB4?token=SEU_TOKEN" - - # Com dados históricos (últimos 12 meses, diário) - curl "https://brapi.dev/api/quote/PETR4?range=1y&interval=1d&token=SEU_TOKEN" - - # Com módulos de fundamentos (balanço e DRE) - curl "https://brapi.dev/api/quote/PETR4?modules=balanceSheetHistory,incomeStatementHistory&token=SEU_TOKEN" - - # Completo: histórico + dividendos + estatísticas-chave - curl "https://brapi.dev/api/quote/PETR4?range=6mo&interval=1d÷nds=true&modules=balanceSheetHistory,defaultKeyStatistics&token=SEU_TOKEN" - ``` - - ### Módulos Disponíveis: - - - `summaryProfile` — Perfil da empresa (CNPJ, setor, descrição, website, - funcionários) - - `balanceSheetHistory` — Balanço Patrimonial anual - - `balanceSheetHistoryQuarterly` — Balanço Patrimonial trimestral - - `incomeStatementHistory` — DRE anual (Demonstração de Resultado do Exercício) - - `incomeStatementHistoryQuarterly` — DRE trimestral - - `financialData` — Indicadores financeiros atuais (TTM - Trailing Twelve - Months) - - `financialDataHistory` — Histórico anual de indicadores financeiros - - `financialDataHistoryQuarterly` — Histórico trimestral de indicadores - financeiros - - `defaultKeyStatistics` — Estatísticas-chave (P/L, P/VP, ROE, Dividend Yield, - etc) - - `defaultKeyStatisticsHistory` — Histórico anual de estatísticas-chave - - `defaultKeyStatisticsHistoryQuarterly` — Histórico trimestral de - estatísticas-chave - - `cashflowHistory` — Fluxo de Caixa anual - - `cashflowHistoryQuarterly` — Fluxo de Caixa trimestral - - `valueAddedHistory` — DVA anual (Demonstração de Valor Adicionado) - - `valueAddedHistoryQuarterly` — DVA trimestral - - ### Intervalos Válidos (histórico): - - - `1d` — Diário - - `5d` — 5 dias - - `1wk` — Semanal - - `1mo` — Mensal - - `3mo` — Trimestral - - ### Períodos Válidos (range): - - - `1d` — Último dia - - `5d` — Últimos 5 dias - - `1mo` — Último mês - - `3mo` — Últimos 3 meses - - `6mo` — Últimos 6 meses - - `1y` — Último ano - - `2y` — Últimos 2 anos - - `5y` — Últimos 5 anos - - `10y` — Últimos 10 anos - - `ytd` — Ano até hoje - - `max` — Máximo disponível - - ### Campos Principais da Resposta: - - - `symbol` — Ticker do ativo (ex: PETR4) - - `shortName` — Nome curto da empresa - - `currency` — Moeda (BRL) - - `regularMarketPrice` — Preço atual em BRL - - `regularMarketChange` — Variação absoluta - - `regularMarketChangePercent` — Variação percentual (%) - - `regularMarketVolume` — Volume de negociação do dia - - `regularMarketDayHigh` — Máxima do dia - - `regularMarketDayLow` — Mínima do dia - - `fiftyTwoWeekHigh` — Máxima de 52 semanas - - `fiftyTwoWeekLow` — Mínima de 52 semanas - - `marketCap` — Capitalização de mercado - - `historicalDataPrice` — Array de dados OHLCV (quando `range`/`interval` - fornecidos) - - `dividendsData` — Histórico de dividendos (quando `dividends=true`) - - ### Tickers Populares (Teste): - - - `PETR4` — Petrobras (Energia) - - `VALE3` — Vale (Mineração) - - `ITUB4` — Itaú Unibanco (Financeiro) - - `BBDC4` — Bradesco (Financeiro) - - `ABEV3` — Ambev (Consumo) - - `WEGE3` — WEG (Indústria) - - `RENT3` — Localiza (Transporte) - - `BBAS3` — Banco do Brasil (Financeiro) - - `MGLU3` — Magazine Luiza (Varejo) - - ### Fonte dos Dados: - - CVM (Comissão de Valores Mobiliários) - - **Plano Mínimo:** Gratuito (limitado a 1 ticker/requisição e módulos básicos) - **Autenticação:** Necessária para produção (tickers de teste PETR4 e VALE3 - funcionam sem token) + """Cotação de um ou mais ativos brasileiros. + + A mesma resposta pode trazer histórico + de preços, proventos e dados das demonstrações financeiras. + + Use para integrações que já usam este formato. Para integrações novas, use os + endpoints `/api/v2/stocks/*`, que trazem um tipo de dado por chamada. Veja o + [guia de migração](https://brapi.dev/docs/acoes/migracao-v2). + + Este é o endpoint original da brapi. Ele continua ativo e não tem data de + remoção. + + A resposta sempre traz a cotação: preço, variação, volume, máxima e mínima do + dia, faixa de 52 semanas e `marketCap`. Estes parâmetros adicionam outros dados: + + - `range` e `interval`, ou `startDate` e `endDate`: `historicalDataPrice`, a + série de preços. + - `includeRaw=true`: os preços originais sem ajuste `rawOpen`, `rawHigh`, + `rawLow` e `rawClose`, só em intervalos diários. Exige o plano Pro. + - `dividends=true`: `dividendsData`, com dividendos, JCP e eventos em ações. + - `modules`: um objeto para cada módulo pedido. + + Módulos aceitos em `modules`, separados por vírgula: + + - `summaryProfile`: cadastro da empresa. + - `defaultKeyStatistics`: múltiplos dos últimos 12 meses, como P/L, P/VP e + dividend yield. + - `financialData`: receita, EBITDA, margens e dívida dos últimos 12 meses. + - `balanceSheetHistory`: balanço patrimonial anual. + - `incomeStatementHistory`: DRE anual. + - `cashflowHistory`: fluxo de caixa anual. + - `valueAddedHistory`: DVA anual. + + Cada módulo de demonstração tem uma versão trimestral com o sufixo `Quarterly`, + como `balanceSheetHistoryQuarterly`. `defaultKeyStatistics` e `financialData` + também aceitam os sufixos `History` e `HistoryQuarterly`. Os dados trimestrais + seguem as mesmas regras dos endpoints v2 de + [DRE](https://brapi.dev/docs/acoes/dre), + [fluxo de caixa](https://brapi.dev/docs/acoes/fluxo-de-caixa) e + [DVA](https://brapi.dev/docs/acoes/valor-adicionado). + + O plano define os valores aceitos em `range`, `interval` e `modules`. Um valor + fora do plano retorna erro. + + PETR4, MGLU3, VALE3 e ITUB4 respondem sem token. Se a chamada juntar um deles + com outro ticker, ela exige token. Args: - tickers: Ticker(s) de ativos separados por vírgula (ex: PETR4 ou PETR4,VALE3,ITUB4) + tickers: Tickers separados por vírgula. Ex.: PETR4,VALE3. + + token: Token de acesso. Use no lugar do header `Authorization`. - token: Token de autenticação (alternativa ao header Authorization) + dividends: Inclui `dividendsData` com dividendos, JCP e eventos em ações. - dividends: Incluir histórico de dividendos e JCP + end_date: Data final da série de preços no formato YYYY-MM-DD. - end_date: Data final para dados históricos (formato YYYY-MM-DD) + include_raw: Inclui os preços originais sem ajuste (`rawOpen`, `rawHigh`, `rawLow`, + `rawClose`) em intervalos diários. Exige o plano Pro. - interval: Intervalo/granularidade dos dados históricos + interval: Intervalo entre os pontos da série de preços. - modules: Módulos de dados adicionais separados por vírgula + modules: Módulos extras separados por vírgula. - range: Período para dados históricos de preço + range: Janela relativa da série de preços. - start_date: Data inicial para dados históricos (formato YYYY-MM-DD) + start_date: Data inicial da série de preços no formato YYYY-MM-DD. extra_headers: Send extra headers @@ -240,6 +159,7 @@ def retrieve( "token": token, "dividends": dividends, "end_date": end_date, + "include_raw": include_raw, "interval": interval, "modules": modules, "range": range, @@ -261,6 +181,7 @@ def list( sector: str | Omit = omit, sort_by: Literal["name", "close", "change", "change_abs", "volume", "market_cap_basic"] | Omit = omit, sort_order: Literal["asc", "desc"] | Omit = omit, + subsector: str | Omit = omit, sub_type: Literal["stock", "unit", "fii", "etf", "fi-infra", "fi-agro", "fip", "fidc", "bdr"] | Omit = omit, type: Literal["stock", "fund", "bdr"] | Omit = omit, # Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs. @@ -271,79 +192,46 @@ def list( timeout: float | httpx.Timeout | None | NotGiven = not_given, ) -> QuoteListResponse: """ - Retorna uma lista paginada de todos os ativos disponíveis na API (Ações, FIIs, - BDRs, ETFs, Índices). Use este endpoint para construir screeners, exploradores - de ações ou para descobrir novos ativos. + Lista de ações, FIIs, BDRs e ETFs com preço de fechamento, variação, volume, + market cap, setor e logo de cada um. A resposta também traz os índices + disponíveis. - ### Funcionalidades: + Use para screeners, tabelas de mercado e busca de ativos com cotação. - - **Busca por Nome ou Ticker:** Encontre ativos digitando "Petrobras", "PETR4" - ou qualquer termo. - - **Filtros por Tipo:** Ações (stock), Fundos Imobiliários (fund), BDRs (bdr). - - **Filtros por Subtipo:** Units, FIIs, ETFs, FI-Infra, FI-Agro, FIPs, FIDCs e - BDRs via `subType`. - - **Filtros por Setor:** Energia, Financeiro, Tecnologia, Saúde, etc. - - **Ordenação Flexível:** Ordene por volume, preço, market cap ou nome. - - **Paginação:** Controle o número de resultados com `limit` e `page`. + `search` busca por parte do ticker ou do nome da empresa. Filtre por `type`, + `subType`, `sector` e `subsector`. A ordem padrão é por volume, decrescente. - ### Autenticação: + Sem `limit`, a resposta traz até 2.000 ativos e não traz os campos de paginação. + Com `limit`, ela traz `currentPage`, `totalPages`, `itemsPerPage`, `totalCount` + e `hasNextPage`. - Requer token Bearer. Obtenha seu token em - [brapi.dev/dashboard](https://brapi.dev/dashboard). + `availableSectors`, `availableSubsectors`, `availableStockTypes` e + `availableSubTypeTypes` listam os valores aceitos nos filtros. - ### Exemplos de Requisição: - - ```bash - # Listar todos os ativos (primeiros 100) - curl -H "Authorization: Bearer SEU_TOKEN" "https://brapi.dev/api/quote/list" - - # Buscar por nome ou ticker - curl -H "Authorization: Bearer SEU_TOKEN" "https://brapi.dev/api/quote/list?search=petrobras" - - # Filtrar por tipo e ordenar por volume - curl -H "Authorization: Bearer SEU_TOKEN" "https://brapi.dev/api/quote/list?type=stock&sortBy=volume&sortOrder=desc&limit=10" - - # Filtrar por subtipo - curl -H "Authorization: Bearer SEU_TOKEN" "https://brapi.dev/api/quote/list?subType=fi-agro&limit=10" - - # Listar apenas FIIs de um setor específico - curl -H "Authorization: Bearer SEU_TOKEN" "https://brapi.dev/api/quote/list?type=fund§or=Logística&limit=20" - ``` - - ### Parâmetros de Ordenação: - - - `volume` — Volume de negociação do dia - - `close` — Preço de fechamento - - `market_cap_basic` — Capitalização de mercado - - `name` — Nome da empresa (alfabético) - - ### Tipos de Ativo: - - - `stock` — Ações (Ações ordinárias e preferenciais) - - `fund` — Fundos Imobiliários (FIIs) e ETFs - - `bdr` — BDRs (Brazilian Depositary Receipts) - - **Plano Mínimo:** Gratuito **Autenticação:** Necessária (Bearer Token) + Este endpoint não exige token. Para buscar e validar tickers, a + [lista de tickers](https://brapi.dev/docs/tickers) traz uma resposta menor. Args: - token: Token de autenticação (alternativa ao header Authorization) + token: Token de acesso. Use no lugar do header `Authorization`. + + limit: Itens por página. Máximo: 2000. Sem este parâmetro, a resposta traz até 2000 + itens e não traz paginação. - limit: Número máximo de resultados + page: Número da página. Começa em 1. - page: Número da página (paginação) + search: Parte do ticker ou do nome da empresa. - search: Termo de busca para filtrar ativos + sector: Setor. - sector: Filtrar por setor + sort_by: Campo de ordenação. Padrão: volume. - sort_by: Campo para ordenação + sort_order: Ordem. Padrão: desc. - sort_order: Ordem de classificação + subsector: Subsetor. - sub_type: Filtrar por classificação aditiva: stock, unit, fii, etf, fi-infra, fi-agro, - fip, fidc ou bdr + sub_type: Subtipo do ativo: stock, unit, fii, etf, fi-infra, fi-agro, fip, fidc ou bdr. - type: Filtrar por tipo de ativo + type: Tipo do ativo. extra_headers: Send extra headers @@ -369,6 +257,7 @@ def list( "sector": sector, "sort_by": sort_by, "sort_order": sort_order, + "subsector": subsector, "sub_type": sub_type, "type": type, }, @@ -411,6 +300,7 @@ async def retrieve( token: str | Omit = omit, dividends: Literal["true", "false"] | Omit = omit, end_date: str | Omit = omit, + include_raw: Literal["true", "false"] | Omit = omit, interval: Literal["1m", "2m", "5m", "15m", "30m", "60m", "90m", "1h", "1d", "5d", "1wk", "1mo", "3mo"] | Omit = omit, modules: str | Omit = omit, @@ -424,154 +314,72 @@ async def retrieve( extra_body: Body | None = None, timeout: float | httpx.Timeout | None | NotGiven = not_given, ) -> QuoteRetrieveResponse: - """ - **O ENDPOINT MAIS IMPORTANTE DA API.** Obtém dados detalhados e abrangentes de - um ou múltiplos ativos (ações, FIIs, BDRs) em uma única requisição. Combine - cotações em tempo real, dados históricos, fundamentos e dividendos conforme - necessário. - - ### Funcionalidades: - - - **Cotação em Tempo Real:** Preço atual, variação absoluta e percentual, - volume, máxima/mínima do dia, range de 52 semanas. - - **Dados Históricos:** Preços OHLCV (Open, High, Low, Close, Volume) com - intervalos flexíveis (1d, 5d, 1wk, 1mo, 3mo) e períodos (1d até max). - - **Fundamentos:** Balanço Patrimonial, DRE, Fluxo de Caixa, DVA, - Indicadores-chave (P/L, P/VP, ROE, etc) via parâmetro `modules`. - - **Dividendos:** Histórico completo de proventos em dinheiro (dividendos, JCP) - e bonificações. - - ### Autenticação: - - Requer token Bearer no header ou como query param. Tickers de teste **PETR4** e - **VALE3** funcionam sem autenticação. - - ```bash - # Via header (recomendado) - curl -H "Authorization: Bearer SEU_TOKEN" "https://brapi.dev/api/quote/PETR4" - - # Via query param - curl "https://brapi.dev/api/quote/PETR4?token=SEU_TOKEN" - ``` - - ### Exemplos de Requisição: - - ```bash - # Simples: apenas cotação atual - curl "https://brapi.dev/api/quote/PETR4?token=SEU_TOKEN" - - # Múltiplos tickers em uma requisição - curl "https://brapi.dev/api/quote/PETR4,VALE3,ITUB4?token=SEU_TOKEN" - - # Com dados históricos (últimos 12 meses, diário) - curl "https://brapi.dev/api/quote/PETR4?range=1y&interval=1d&token=SEU_TOKEN" - - # Com módulos de fundamentos (balanço e DRE) - curl "https://brapi.dev/api/quote/PETR4?modules=balanceSheetHistory,incomeStatementHistory&token=SEU_TOKEN" - - # Completo: histórico + dividendos + estatísticas-chave - curl "https://brapi.dev/api/quote/PETR4?range=6mo&interval=1d÷nds=true&modules=balanceSheetHistory,defaultKeyStatistics&token=SEU_TOKEN" - ``` - - ### Módulos Disponíveis: - - - `summaryProfile` — Perfil da empresa (CNPJ, setor, descrição, website, - funcionários) - - `balanceSheetHistory` — Balanço Patrimonial anual - - `balanceSheetHistoryQuarterly` — Balanço Patrimonial trimestral - - `incomeStatementHistory` — DRE anual (Demonstração de Resultado do Exercício) - - `incomeStatementHistoryQuarterly` — DRE trimestral - - `financialData` — Indicadores financeiros atuais (TTM - Trailing Twelve - Months) - - `financialDataHistory` — Histórico anual de indicadores financeiros - - `financialDataHistoryQuarterly` — Histórico trimestral de indicadores - financeiros - - `defaultKeyStatistics` — Estatísticas-chave (P/L, P/VP, ROE, Dividend Yield, - etc) - - `defaultKeyStatisticsHistory` — Histórico anual de estatísticas-chave - - `defaultKeyStatisticsHistoryQuarterly` — Histórico trimestral de - estatísticas-chave - - `cashflowHistory` — Fluxo de Caixa anual - - `cashflowHistoryQuarterly` — Fluxo de Caixa trimestral - - `valueAddedHistory` — DVA anual (Demonstração de Valor Adicionado) - - `valueAddedHistoryQuarterly` — DVA trimestral - - ### Intervalos Válidos (histórico): - - - `1d` — Diário - - `5d` — 5 dias - - `1wk` — Semanal - - `1mo` — Mensal - - `3mo` — Trimestral - - ### Períodos Válidos (range): - - - `1d` — Último dia - - `5d` — Últimos 5 dias - - `1mo` — Último mês - - `3mo` — Últimos 3 meses - - `6mo` — Últimos 6 meses - - `1y` — Último ano - - `2y` — Últimos 2 anos - - `5y` — Últimos 5 anos - - `10y` — Últimos 10 anos - - `ytd` — Ano até hoje - - `max` — Máximo disponível - - ### Campos Principais da Resposta: - - - `symbol` — Ticker do ativo (ex: PETR4) - - `shortName` — Nome curto da empresa - - `currency` — Moeda (BRL) - - `regularMarketPrice` — Preço atual em BRL - - `regularMarketChange` — Variação absoluta - - `regularMarketChangePercent` — Variação percentual (%) - - `regularMarketVolume` — Volume de negociação do dia - - `regularMarketDayHigh` — Máxima do dia - - `regularMarketDayLow` — Mínima do dia - - `fiftyTwoWeekHigh` — Máxima de 52 semanas - - `fiftyTwoWeekLow` — Mínima de 52 semanas - - `marketCap` — Capitalização de mercado - - `historicalDataPrice` — Array de dados OHLCV (quando `range`/`interval` - fornecidos) - - `dividendsData` — Histórico de dividendos (quando `dividends=true`) - - ### Tickers Populares (Teste): - - - `PETR4` — Petrobras (Energia) - - `VALE3` — Vale (Mineração) - - `ITUB4` — Itaú Unibanco (Financeiro) - - `BBDC4` — Bradesco (Financeiro) - - `ABEV3` — Ambev (Consumo) - - `WEGE3` — WEG (Indústria) - - `RENT3` — Localiza (Transporte) - - `BBAS3` — Banco do Brasil (Financeiro) - - `MGLU3` — Magazine Luiza (Varejo) - - ### Fonte dos Dados: - - CVM (Comissão de Valores Mobiliários) - - **Plano Mínimo:** Gratuito (limitado a 1 ticker/requisição e módulos básicos) - **Autenticação:** Necessária para produção (tickers de teste PETR4 e VALE3 - funcionam sem token) + """Cotação de um ou mais ativos brasileiros. + + A mesma resposta pode trazer histórico + de preços, proventos e dados das demonstrações financeiras. + + Use para integrações que já usam este formato. Para integrações novas, use os + endpoints `/api/v2/stocks/*`, que trazem um tipo de dado por chamada. Veja o + [guia de migração](https://brapi.dev/docs/acoes/migracao-v2). + + Este é o endpoint original da brapi. Ele continua ativo e não tem data de + remoção. + + A resposta sempre traz a cotação: preço, variação, volume, máxima e mínima do + dia, faixa de 52 semanas e `marketCap`. Estes parâmetros adicionam outros dados: + + - `range` e `interval`, ou `startDate` e `endDate`: `historicalDataPrice`, a + série de preços. + - `includeRaw=true`: os preços originais sem ajuste `rawOpen`, `rawHigh`, + `rawLow` e `rawClose`, só em intervalos diários. Exige o plano Pro. + - `dividends=true`: `dividendsData`, com dividendos, JCP e eventos em ações. + - `modules`: um objeto para cada módulo pedido. + + Módulos aceitos em `modules`, separados por vírgula: + + - `summaryProfile`: cadastro da empresa. + - `defaultKeyStatistics`: múltiplos dos últimos 12 meses, como P/L, P/VP e + dividend yield. + - `financialData`: receita, EBITDA, margens e dívida dos últimos 12 meses. + - `balanceSheetHistory`: balanço patrimonial anual. + - `incomeStatementHistory`: DRE anual. + - `cashflowHistory`: fluxo de caixa anual. + - `valueAddedHistory`: DVA anual. + + Cada módulo de demonstração tem uma versão trimestral com o sufixo `Quarterly`, + como `balanceSheetHistoryQuarterly`. `defaultKeyStatistics` e `financialData` + também aceitam os sufixos `History` e `HistoryQuarterly`. Os dados trimestrais + seguem as mesmas regras dos endpoints v2 de + [DRE](https://brapi.dev/docs/acoes/dre), + [fluxo de caixa](https://brapi.dev/docs/acoes/fluxo-de-caixa) e + [DVA](https://brapi.dev/docs/acoes/valor-adicionado). + + O plano define os valores aceitos em `range`, `interval` e `modules`. Um valor + fora do plano retorna erro. + + PETR4, MGLU3, VALE3 e ITUB4 respondem sem token. Se a chamada juntar um deles + com outro ticker, ela exige token. Args: - tickers: Ticker(s) de ativos separados por vírgula (ex: PETR4 ou PETR4,VALE3,ITUB4) + tickers: Tickers separados por vírgula. Ex.: PETR4,VALE3. + + token: Token de acesso. Use no lugar do header `Authorization`. - token: Token de autenticação (alternativa ao header Authorization) + dividends: Inclui `dividendsData` com dividendos, JCP e eventos em ações. - dividends: Incluir histórico de dividendos e JCP + end_date: Data final da série de preços no formato YYYY-MM-DD. - end_date: Data final para dados históricos (formato YYYY-MM-DD) + include_raw: Inclui os preços originais sem ajuste (`rawOpen`, `rawHigh`, `rawLow`, + `rawClose`) em intervalos diários. Exige o plano Pro. - interval: Intervalo/granularidade dos dados históricos + interval: Intervalo entre os pontos da série de preços. - modules: Módulos de dados adicionais separados por vírgula + modules: Módulos extras separados por vírgula. - range: Período para dados históricos de preço + range: Janela relativa da série de preços. - start_date: Data inicial para dados históricos (formato YYYY-MM-DD) + start_date: Data inicial da série de preços no formato YYYY-MM-DD. extra_headers: Send extra headers @@ -595,6 +403,7 @@ async def retrieve( "token": token, "dividends": dividends, "end_date": end_date, + "include_raw": include_raw, "interval": interval, "modules": modules, "range": range, @@ -616,6 +425,7 @@ async def list( sector: str | Omit = omit, sort_by: Literal["name", "close", "change", "change_abs", "volume", "market_cap_basic"] | Omit = omit, sort_order: Literal["asc", "desc"] | Omit = omit, + subsector: str | Omit = omit, sub_type: Literal["stock", "unit", "fii", "etf", "fi-infra", "fi-agro", "fip", "fidc", "bdr"] | Omit = omit, type: Literal["stock", "fund", "bdr"] | Omit = omit, # Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs. @@ -626,79 +436,46 @@ async def list( timeout: float | httpx.Timeout | None | NotGiven = not_given, ) -> QuoteListResponse: """ - Retorna uma lista paginada de todos os ativos disponíveis na API (Ações, FIIs, - BDRs, ETFs, Índices). Use este endpoint para construir screeners, exploradores - de ações ou para descobrir novos ativos. + Lista de ações, FIIs, BDRs e ETFs com preço de fechamento, variação, volume, + market cap, setor e logo de cada um. A resposta também traz os índices + disponíveis. - ### Funcionalidades: + Use para screeners, tabelas de mercado e busca de ativos com cotação. - - **Busca por Nome ou Ticker:** Encontre ativos digitando "Petrobras", "PETR4" - ou qualquer termo. - - **Filtros por Tipo:** Ações (stock), Fundos Imobiliários (fund), BDRs (bdr). - - **Filtros por Subtipo:** Units, FIIs, ETFs, FI-Infra, FI-Agro, FIPs, FIDCs e - BDRs via `subType`. - - **Filtros por Setor:** Energia, Financeiro, Tecnologia, Saúde, etc. - - **Ordenação Flexível:** Ordene por volume, preço, market cap ou nome. - - **Paginação:** Controle o número de resultados com `limit` e `page`. + `search` busca por parte do ticker ou do nome da empresa. Filtre por `type`, + `subType`, `sector` e `subsector`. A ordem padrão é por volume, decrescente. - ### Autenticação: + Sem `limit`, a resposta traz até 2.000 ativos e não traz os campos de paginação. + Com `limit`, ela traz `currentPage`, `totalPages`, `itemsPerPage`, `totalCount` + e `hasNextPage`. - Requer token Bearer. Obtenha seu token em - [brapi.dev/dashboard](https://brapi.dev/dashboard). + `availableSectors`, `availableSubsectors`, `availableStockTypes` e + `availableSubTypeTypes` listam os valores aceitos nos filtros. - ### Exemplos de Requisição: - - ```bash - # Listar todos os ativos (primeiros 100) - curl -H "Authorization: Bearer SEU_TOKEN" "https://brapi.dev/api/quote/list" - - # Buscar por nome ou ticker - curl -H "Authorization: Bearer SEU_TOKEN" "https://brapi.dev/api/quote/list?search=petrobras" - - # Filtrar por tipo e ordenar por volume - curl -H "Authorization: Bearer SEU_TOKEN" "https://brapi.dev/api/quote/list?type=stock&sortBy=volume&sortOrder=desc&limit=10" - - # Filtrar por subtipo - curl -H "Authorization: Bearer SEU_TOKEN" "https://brapi.dev/api/quote/list?subType=fi-agro&limit=10" - - # Listar apenas FIIs de um setor específico - curl -H "Authorization: Bearer SEU_TOKEN" "https://brapi.dev/api/quote/list?type=fund§or=Logística&limit=20" - ``` - - ### Parâmetros de Ordenação: - - - `volume` — Volume de negociação do dia - - `close` — Preço de fechamento - - `market_cap_basic` — Capitalização de mercado - - `name` — Nome da empresa (alfabético) - - ### Tipos de Ativo: - - - `stock` — Ações (Ações ordinárias e preferenciais) - - `fund` — Fundos Imobiliários (FIIs) e ETFs - - `bdr` — BDRs (Brazilian Depositary Receipts) - - **Plano Mínimo:** Gratuito **Autenticação:** Necessária (Bearer Token) + Este endpoint não exige token. Para buscar e validar tickers, a + [lista de tickers](https://brapi.dev/docs/tickers) traz uma resposta menor. Args: - token: Token de autenticação (alternativa ao header Authorization) + token: Token de acesso. Use no lugar do header `Authorization`. + + limit: Itens por página. Máximo: 2000. Sem este parâmetro, a resposta traz até 2000 + itens e não traz paginação. - limit: Número máximo de resultados + page: Número da página. Começa em 1. - page: Número da página (paginação) + search: Parte do ticker ou do nome da empresa. - search: Termo de busca para filtrar ativos + sector: Setor. - sector: Filtrar por setor + sort_by: Campo de ordenação. Padrão: volume. - sort_by: Campo para ordenação + sort_order: Ordem. Padrão: desc. - sort_order: Ordem de classificação + subsector: Subsetor. - sub_type: Filtrar por classificação aditiva: stock, unit, fii, etf, fi-infra, fi-agro, - fip, fidc ou bdr + sub_type: Subtipo do ativo: stock, unit, fii, etf, fi-infra, fi-agro, fip, fidc ou bdr. - type: Filtrar por tipo de ativo + type: Tipo do ativo. extra_headers: Send extra headers @@ -724,6 +501,7 @@ async def list( "sector": sector, "sort_by": sort_by, "sort_order": sort_order, + "subsector": subsector, "sub_type": sub_type, "type": type, }, diff --git a/src/brapi/resources/v2/crypto.py b/src/brapi/resources/v2/crypto.py index cec2f9a..e613a22 100644 --- a/src/brapi/resources/v2/crypto.py +++ b/src/brapi/resources/v2/crypto.py @@ -61,54 +61,31 @@ def retrieve( timeout: float | httpx.Timeout | None | NotGiven = not_given, ) -> CryptoRetrieveResponse: """ - Retorna cotações atualizadas de uma ou mais criptomoedas, com conversão para - diferentes moedas fiduciárias. + Cotação de uma ou mais criptomoedas, com preço, variação, máxima, mínima e + volume de 24 horas. O preço vem na moeda de `currency`, com BRL como padrão. - ### Funcionalidades: + Use para mostrar preços de cripto, montar carteiras e gerar gráficos. - - **Cotação Atual:** Preço, variação 24h, volume, market cap - - **Múltiplas Moedas:** Consulte várias criptos em uma requisição (separadas por - vírgula) - - **Conversão de Moeda:** BRL (padrão), USD, EUR e outras - - **Dados Históricos:** OHLCV via parâmetros `range` e `interval` + Peça várias moedas em `coin`, como `coin=BTC,ETH,SOL`. Para o histórico, passe + `range` ou `interval`, como `range=1mo&interval=1d`. A resposta traz os pontos + em `historicalDataPrice` e o período aplicado em `usedRange` e `usedInterval`. + Intervalos curtos limitam o período. - ### Autenticação: + Cripto negocia 24 horas por dia. A variação é uma janela móvel de 24 horas. + `marketCap` vem sempre como 0. - Bearer token ou query param `token`. Obtenha em brapi.dev/dashboard. - - ### Exemplos de Requisição: - - ```bash - curl -H "Authorization: Bearer SEU_TOKEN" "https://brapi.dev/api/v2/crypto?coin=BTC¤cy=BRL" - curl -H "Authorization: Bearer SEU_TOKEN" "https://brapi.dev/api/v2/crypto?coin=BTC,ETH,SOL¤cy=USD" - curl -H "Authorization: Bearer SEU_TOKEN" "https://brapi.dev/api/v2/crypto?coin=BTC¤cy=BRL&range=1mo&interval=1d" - ``` - - ### Moedas de Conversão: - - BRL (Real), USD (Dólar), EUR (Euro), GBP (Libra) e outras - - ### Campos da Resposta: - - - `coin` — Símbolo da criptomoeda - - `coinName` — Nome completo - - `currency` — Moeda de cotação - - `regularMarketPrice` — Preço atual - - `regularMarketChange` — Variação em valor absoluto - - `regularMarketChangePercent` — Variação percentual (%) - - `regularMarketDayHigh` / `regularMarketDayLow` — Máxima/Mínima do dia - - `regularMarketVolume` — Volume negociado - - **Plano Mínimo:** Startup **Autenticação:** Necessária + Veja as siglas em + [listar criptomoedas](https://brapi.dev/docs/criptomoedas/available). Planos + Startup e Pro. Os períodos e intervalos aceitos dependem do plano. Args: - coin: Sigla(s) das criptomoedas separadas por vírgula + coin: Siglas das criptomoedas, separadas por vírgula. Ex.: BTC,ETH. - currency: Moeda para cotação (padrão: BRL) + currency: Moeda da cotação, como BRL, USD ou EUR. Padrão: BRL. - interval: Intervalo dos dados históricos + interval: Intervalo entre os pontos do histórico, como 1h ou 1d. Padrão: 1d. - range: Período para dados históricos + range: Período do histórico, como 5d, 1mo ou 1y. Padrão: 1mo quando há histórico. extra_headers: Send extra headers @@ -150,38 +127,16 @@ def list_available( timeout: float | httpx.Timeout | None | NotGiven = not_given, ) -> CryptoListAvailableResponse: """ - Retorna a lista de criptomoedas disponíveis para consulta no endpoint - `/api/v2/crypto`. - - ### Criptomoedas Populares: - - - **BTC** — Bitcoin - - **ETH** — Ethereum - - **BNB** — Binance Coin - - **SOL** — Solana - - **ADA** — Cardano - - **XRP** — Ripple - - **DOGE** — Dogecoin - - **DOT** — Polkadot - - **MATIC** — Polygon - - **LTC** — Litecoin - - E centenas de outras... - - ### Uso: - - Use os símbolos retornados como valor do parâmetro `coin` no endpoint principal. - - ### Exemplos de Requisição: + Lista as siglas de criptomoedas que a + [cotação de criptomoedas](https://brapi.dev/docs/criptomoedas) aceita. - ```bash - curl -H "Authorization: Bearer SEU_TOKEN" "https://brapi.dev/api/v2/crypto/available" - curl -H "Authorization: Bearer SEU_TOKEN" "https://brapi.dev/api/v2/crypto/available?search=BTC" - ``` + Use para montar seletores e validar siglas antes da chamada. - **Plano Mínimo:** Startup **Autenticação:** Necessária + `coins` é uma lista de siglas. Passe cada sigla no parâmetro `coin` da cotação. + Filtre com `search`. Planos Startup e Pro. Args: - search: Filtrar criptomoedas por símbolo + search: Texto buscado na sigla da criptomoeda. extra_headers: Send extra headers @@ -243,54 +198,31 @@ async def retrieve( timeout: float | httpx.Timeout | None | NotGiven = not_given, ) -> CryptoRetrieveResponse: """ - Retorna cotações atualizadas de uma ou mais criptomoedas, com conversão para - diferentes moedas fiduciárias. + Cotação de uma ou mais criptomoedas, com preço, variação, máxima, mínima e + volume de 24 horas. O preço vem na moeda de `currency`, com BRL como padrão. - ### Funcionalidades: + Use para mostrar preços de cripto, montar carteiras e gerar gráficos. - - **Cotação Atual:** Preço, variação 24h, volume, market cap - - **Múltiplas Moedas:** Consulte várias criptos em uma requisição (separadas por - vírgula) - - **Conversão de Moeda:** BRL (padrão), USD, EUR e outras - - **Dados Históricos:** OHLCV via parâmetros `range` e `interval` + Peça várias moedas em `coin`, como `coin=BTC,ETH,SOL`. Para o histórico, passe + `range` ou `interval`, como `range=1mo&interval=1d`. A resposta traz os pontos + em `historicalDataPrice` e o período aplicado em `usedRange` e `usedInterval`. + Intervalos curtos limitam o período. - ### Autenticação: + Cripto negocia 24 horas por dia. A variação é uma janela móvel de 24 horas. + `marketCap` vem sempre como 0. - Bearer token ou query param `token`. Obtenha em brapi.dev/dashboard. - - ### Exemplos de Requisição: - - ```bash - curl -H "Authorization: Bearer SEU_TOKEN" "https://brapi.dev/api/v2/crypto?coin=BTC¤cy=BRL" - curl -H "Authorization: Bearer SEU_TOKEN" "https://brapi.dev/api/v2/crypto?coin=BTC,ETH,SOL¤cy=USD" - curl -H "Authorization: Bearer SEU_TOKEN" "https://brapi.dev/api/v2/crypto?coin=BTC¤cy=BRL&range=1mo&interval=1d" - ``` - - ### Moedas de Conversão: - - BRL (Real), USD (Dólar), EUR (Euro), GBP (Libra) e outras - - ### Campos da Resposta: - - - `coin` — Símbolo da criptomoeda - - `coinName` — Nome completo - - `currency` — Moeda de cotação - - `regularMarketPrice` — Preço atual - - `regularMarketChange` — Variação em valor absoluto - - `regularMarketChangePercent` — Variação percentual (%) - - `regularMarketDayHigh` / `regularMarketDayLow` — Máxima/Mínima do dia - - `regularMarketVolume` — Volume negociado - - **Plano Mínimo:** Startup **Autenticação:** Necessária + Veja as siglas em + [listar criptomoedas](https://brapi.dev/docs/criptomoedas/available). Planos + Startup e Pro. Os períodos e intervalos aceitos dependem do plano. Args: - coin: Sigla(s) das criptomoedas separadas por vírgula + coin: Siglas das criptomoedas, separadas por vírgula. Ex.: BTC,ETH. - currency: Moeda para cotação (padrão: BRL) + currency: Moeda da cotação, como BRL, USD ou EUR. Padrão: BRL. - interval: Intervalo dos dados históricos + interval: Intervalo entre os pontos do histórico, como 1h ou 1d. Padrão: 1d. - range: Período para dados históricos + range: Período do histórico, como 5d, 1mo ou 1y. Padrão: 1mo quando há histórico. extra_headers: Send extra headers @@ -332,38 +264,16 @@ async def list_available( timeout: float | httpx.Timeout | None | NotGiven = not_given, ) -> CryptoListAvailableResponse: """ - Retorna a lista de criptomoedas disponíveis para consulta no endpoint - `/api/v2/crypto`. - - ### Criptomoedas Populares: - - - **BTC** — Bitcoin - - **ETH** — Ethereum - - **BNB** — Binance Coin - - **SOL** — Solana - - **ADA** — Cardano - - **XRP** — Ripple - - **DOGE** — Dogecoin - - **DOT** — Polkadot - - **MATIC** — Polygon - - **LTC** — Litecoin - - E centenas de outras... - - ### Uso: - - Use os símbolos retornados como valor do parâmetro `coin` no endpoint principal. - - ### Exemplos de Requisição: + Lista as siglas de criptomoedas que a + [cotação de criptomoedas](https://brapi.dev/docs/criptomoedas) aceita. - ```bash - curl -H "Authorization: Bearer SEU_TOKEN" "https://brapi.dev/api/v2/crypto/available" - curl -H "Authorization: Bearer SEU_TOKEN" "https://brapi.dev/api/v2/crypto/available?search=BTC" - ``` + Use para montar seletores e validar siglas antes da chamada. - **Plano Mínimo:** Startup **Autenticação:** Necessária + `coins` é uma lista de siglas. Passe cada sigla no parâmetro `coin` da cotação. + Filtre com `search`. Planos Startup e Pro. Args: - search: Filtrar criptomoedas por símbolo + search: Texto buscado na sigla da criptomoeda. extra_headers: Send extra headers diff --git a/src/brapi/resources/v2/currency.py b/src/brapi/resources/v2/currency.py index 958e7df..e635977 100644 --- a/src/brapi/resources/v2/currency.py +++ b/src/brapi/resources/v2/currency.py @@ -58,56 +58,23 @@ def retrieve( timeout: float | httpx.Timeout | None | NotGiven = not_given, ) -> CurrencyRetrieveResponse: """ - Retorna cotações atualizadas de pares de moedas, com preço de compra/venda, - variação e extremos do dia. + Cotação atual de pares de moedas, com preço de compra, preço de venda, máxima, + mínima e variação do dia. Os pares cobertos pelo Banco Central usam a PTAX. - ### Funcionalidades: + Use para converter valores, mostrar o dólar do dia e atualizar planilhas. - - **Cotação Atual:** Preço de compra (bid), venda (ask), máxima, mínima, - variação - - **Múltiplos Pares:** Consulte vários em uma requisição (separados por vírgula) - - **Formato:** `ORIGEM-DESTINO` (ex: `USD-BRL`) + Informe os pares em `currency` no formato `ORIGEM-DESTINO`, como + `USD-BRL,EUR-BRL`. Os números vêm como texto. - ### Autenticação: + A diferença entre `bidPrice` e `askPrice` é o spread de referência. Bancos e + casas de câmbio cobram um spread maior. - Bearer token ou query param `token`. Obtenha em brapi.dev/dashboard. - - ### Exemplos de Requisição: - - ```bash - curl -H "Authorization: Bearer SEU_TOKEN" "https://brapi.dev/api/v2/currency?currency=USD-BRL" - curl -H "Authorization: Bearer SEU_TOKEN" "https://brapi.dev/api/v2/currency?currency=USD-BRL,EUR-BRL,GBP-BRL" - curl -H "Authorization: Bearer SEU_TOKEN" "https://brapi.dev/api/v2/currency?currency=BTC-BRL" - ``` - - ### Pares de Moedas Populares: - - - `USD-BRL` — Dólar Americano / Real - - `EUR-BRL` — Euro / Real - - `GBP-BRL` — Libra Esterlina / Real - - `ARS-BRL` — Peso Argentino / Real - - `EUR-USD` — Euro / Dólar - - `BTC-BRL` — Bitcoin / Real - - `ETH-BRL` — Ethereum / Real - - ### Campos da Resposta: - - - `fromCurrency` / `toCurrency` — Par de moedas - - `name` — Nome do par - - `bidPrice` — Preço de compra - - `askPrice` — Preço de venda - - `high` / `low` — Máxima/Mínima do dia - - `bidVariation` — Variação do preço de compra - - `percentageChange` — Variação percentual (%) - - ### Fonte dos Dados: - - Banco Central do Brasil (PTAX) / Yahoo Finance - - **Plano Mínimo:** Startup **Autenticação:** Necessária + Veja os pares em [listar pares](https://brapi.dev/docs/moedas/available) e a + série diária em [histórico de câmbio](https://brapi.dev/docs/moedas/historico). + Planos Startup e Pro. Args: - currency: Par(es) de moedas separados por vírgula (ex: USD-BRL,EUR-BRL) + currency: Pares no formato ORIGEM-DESTINO, separados por vírgula. Ex.: USD-BRL,EUR-BRL. extra_headers: Send extra headers @@ -141,32 +108,16 @@ def list_available( timeout: float | httpx.Timeout | None | NotGiven = not_given, ) -> CurrencyListAvailableResponse: """ - Retorna a lista de pares de moedas disponíveis para consulta no endpoint - `/api/v2/currency`. - - ### Formato: - - ORIGEM-DESTINO, onde ORIGEM é o código da moeda de origem e DESTINO a moeda de - destino - - ### Pares Disponíveis: - - - **Moedas Fiduciárias:** USD-BRL, EUR-BRL, GBP-BRL, ARS-BRL, CAD-BRL, AUD-BRL, - JPY-BRL, CNY-BRL - - **Cross Rates:** EUR-USD, GBP-USD - - **Criptomoedas:** BTC-BRL, ETH-BRL - - ### Exemplos de Requisição: + Lista os pares de moedas que a + [cotação de câmbio](https://brapi.dev/docs/moedas) aceita, no formato + `ORIGEM-DESTINO`, com o nome de cada par. - ```bash - curl -H "Authorization: Bearer SEU_TOKEN" "https://brapi.dev/api/v2/currency/available" - curl -H "Authorization: Bearer SEU_TOKEN" "https://brapi.dev/api/v2/currency/available?search=USD" - ``` + Use para montar seletores de moeda e validar pares antes da chamada. - **Plano Mínimo:** Startup **Autenticação:** Necessária + Filtre com `search`. Planos Startup e Pro. Args: - search: Filtrar pares de moedas por nome ou descrição + search: Texto buscado no par e no nome das moedas. extra_headers: Send extra headers @@ -225,56 +176,23 @@ async def retrieve( timeout: float | httpx.Timeout | None | NotGiven = not_given, ) -> CurrencyRetrieveResponse: """ - Retorna cotações atualizadas de pares de moedas, com preço de compra/venda, - variação e extremos do dia. + Cotação atual de pares de moedas, com preço de compra, preço de venda, máxima, + mínima e variação do dia. Os pares cobertos pelo Banco Central usam a PTAX. - ### Funcionalidades: + Use para converter valores, mostrar o dólar do dia e atualizar planilhas. - - **Cotação Atual:** Preço de compra (bid), venda (ask), máxima, mínima, - variação - - **Múltiplos Pares:** Consulte vários em uma requisição (separados por vírgula) - - **Formato:** `ORIGEM-DESTINO` (ex: `USD-BRL`) + Informe os pares em `currency` no formato `ORIGEM-DESTINO`, como + `USD-BRL,EUR-BRL`. Os números vêm como texto. - ### Autenticação: + A diferença entre `bidPrice` e `askPrice` é o spread de referência. Bancos e + casas de câmbio cobram um spread maior. - Bearer token ou query param `token`. Obtenha em brapi.dev/dashboard. - - ### Exemplos de Requisição: - - ```bash - curl -H "Authorization: Bearer SEU_TOKEN" "https://brapi.dev/api/v2/currency?currency=USD-BRL" - curl -H "Authorization: Bearer SEU_TOKEN" "https://brapi.dev/api/v2/currency?currency=USD-BRL,EUR-BRL,GBP-BRL" - curl -H "Authorization: Bearer SEU_TOKEN" "https://brapi.dev/api/v2/currency?currency=BTC-BRL" - ``` - - ### Pares de Moedas Populares: - - - `USD-BRL` — Dólar Americano / Real - - `EUR-BRL` — Euro / Real - - `GBP-BRL` — Libra Esterlina / Real - - `ARS-BRL` — Peso Argentino / Real - - `EUR-USD` — Euro / Dólar - - `BTC-BRL` — Bitcoin / Real - - `ETH-BRL` — Ethereum / Real - - ### Campos da Resposta: - - - `fromCurrency` / `toCurrency` — Par de moedas - - `name` — Nome do par - - `bidPrice` — Preço de compra - - `askPrice` — Preço de venda - - `high` / `low` — Máxima/Mínima do dia - - `bidVariation` — Variação do preço de compra - - `percentageChange` — Variação percentual (%) - - ### Fonte dos Dados: - - Banco Central do Brasil (PTAX) / Yahoo Finance - - **Plano Mínimo:** Startup **Autenticação:** Necessária + Veja os pares em [listar pares](https://brapi.dev/docs/moedas/available) e a + série diária em [histórico de câmbio](https://brapi.dev/docs/moedas/historico). + Planos Startup e Pro. Args: - currency: Par(es) de moedas separados por vírgula (ex: USD-BRL,EUR-BRL) + currency: Pares no formato ORIGEM-DESTINO, separados por vírgula. Ex.: USD-BRL,EUR-BRL. extra_headers: Send extra headers @@ -310,32 +228,16 @@ async def list_available( timeout: float | httpx.Timeout | None | NotGiven = not_given, ) -> CurrencyListAvailableResponse: """ - Retorna a lista de pares de moedas disponíveis para consulta no endpoint - `/api/v2/currency`. - - ### Formato: - - ORIGEM-DESTINO, onde ORIGEM é o código da moeda de origem e DESTINO a moeda de - destino - - ### Pares Disponíveis: - - - **Moedas Fiduciárias:** USD-BRL, EUR-BRL, GBP-BRL, ARS-BRL, CAD-BRL, AUD-BRL, - JPY-BRL, CNY-BRL - - **Cross Rates:** EUR-USD, GBP-USD - - **Criptomoedas:** BTC-BRL, ETH-BRL - - ### Exemplos de Requisição: + Lista os pares de moedas que a + [cotação de câmbio](https://brapi.dev/docs/moedas) aceita, no formato + `ORIGEM-DESTINO`, com o nome de cada par. - ```bash - curl -H "Authorization: Bearer SEU_TOKEN" "https://brapi.dev/api/v2/currency/available" - curl -H "Authorization: Bearer SEU_TOKEN" "https://brapi.dev/api/v2/currency/available?search=USD" - ``` + Use para montar seletores de moeda e validar pares antes da chamada. - **Plano Mínimo:** Startup **Autenticação:** Necessária + Filtre com `search`. Planos Startup e Pro. Args: - search: Filtrar pares de moedas por nome ou descrição + search: Texto buscado no par e no nome das moedas. extra_headers: Send extra headers diff --git a/src/brapi/resources/v2/inflation.py b/src/brapi/resources/v2/inflation.py index aca120f..9c34400 100644 --- a/src/brapi/resources/v2/inflation.py +++ b/src/brapi/resources/v2/inflation.py @@ -2,12 +2,14 @@ from __future__ import annotations +from typing_extensions import Literal + import httpx from ..._types import Body, Omit, Query, Headers, NotGiven, omit, not_given from ..._utils import maybe_transform, async_maybe_transform from ..._compat import cached_property -from ...types.v2 import inflation_retrieve_params +from ...types.v2 import inflation_retrieve_params, inflation_list_available_params from ..._resource import SyncAPIResource, AsyncAPIResource from ..._response import ( to_raw_response_wrapper, @@ -58,71 +60,29 @@ def retrieve( timeout: float | httpx.Timeout | None | NotGiven = not_given, ) -> InflationRetrieveResponse: """ - Retorna dados históricos do **IPCA (Índice Nacional de Preços ao Consumidor - Amplo)**, o índice oficial de inflação do Brasil, medido pelo IBGE. - - ### Funcionalidades - - - **Dados Mensais:** Variação percentual mensal do IPCA - - **Histórico Completo:** Dados desde janeiro/2000 até o mês atual - - **Filtros de Período:** Use `start` e `end` para definir período específico - (formato DD/MM/YYYY) - - **Ordenação:** Ordene por data ou valor, crescente ou decrescente - - ### Autenticação - - Bearer token ou query param `token`. Requer plano Startup. - - ### Exemplos de Uso - - ```bash - # Padrão (últimos 12 meses) - curl -H "Authorization: Bearer SEU_TOKEN" "https://brapi.dev/api/v2/inflation" - - # Histórico completo - curl -H "Authorization: Bearer SEU_TOKEN" "https://brapi.dev/api/v2/inflation?historical=true" - - # Período específico - curl -H "Authorization: Bearer SEU_TOKEN" "https://brapi.dev/api/v2/inflation?start=01/01/2023&end=31/12/2023" - - # Ordenado por valor (decrescente) - curl -H "Authorization: Bearer SEU_TOKEN" "https://brapi.dev/api/v2/inflation?historical=true&sortBy=value&sortOrder=desc" - ``` - - ### Parâmetros de Ordenação - - - `sortBy`: `date` (padrão) ou `value` - - `sortOrder`: `desc` (padrão) ou `asc` - - ### Campos da Resposta - - - `date` — Data no formato DD/MM/YYYY - - `value` — Variação percentual do IPCA no mês - - `epochDate` — Data em timestamp Unix (milissegundos) + Série mensal do IPCA acumulado em 12 meses, o índice oficial de inflação do + Brasil. Cada ponto é o acumulado dos 12 meses até aquela data. - ### Sobre o IPCA + Endpoint descontinuado. Use as + [séries macroeconômicas](https://brapi.dev/docs/macro) com `symbols=ipca12m` + para o acumulado ou `symbols=ipca` para a variação do mês. - O IPCA é o índice oficial de inflação do Brasil, calculado mensalmente pelo - IBGE. Ele mede a variação de preços de uma cesta de produtos e serviços - consumidos pelas famílias brasileiras. + Sem filtros, devolve os últimos 12 meses. Filtre com `start` e `end` no formato + `DD/MM/YYYY`. O IPCA de um mês sai no mês seguinte. - ### Fonte dos Dados - - Banco Central do Brasil (BCB) — indicador IPCA publicado como série temporal - oficial - - **Plano Mínimo:** Startup | **Autenticação:** Necessária + Planos Startup e Pro. Args: - end: Data de fim (DD/MM/YYYY) + end: Data final no formato DD/MM/YYYY. Padrão: hoje. - historical: Incluir dados históricos (true/false) + historical: true devolve a série desde 01/01/2000. Sem datas e sem este parâmetro, devolve + os últimos 12 meses. - sort_by: Campo para ordenação (date ou value) + sort_by: Campo de ordenação: date ou value. Padrão: date. - sort_order: Ordem de classificação (asc ou desc) + sort_order: Ordem: asc ou desc. Padrão: desc. - start: Data de início (DD/MM/YYYY) + start: Data inicial no formato DD/MM/YYYY. extra_headers: Send extra headers @@ -156,6 +116,7 @@ def retrieve( def list_available( self, *, + format: Literal["json"] | Omit = omit, # Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs. # The extra values given here take precedence over values defined on the client or passed to this method. extra_headers: Headers | None = None, @@ -163,27 +124,32 @@ def list_available( extra_body: Body | None = None, timeout: float | httpx.Timeout | None | NotGiven = not_given, ) -> InflationListAvailableResponse: - """ - Retorna a lista de países disponíveis para consulta de dados de inflação. + """Lista os países que o endpoint de inflação aceita. - ### Países Disponíveis + Hoje só `brazil`. - - **brazil** — Dados do IPCA (IBGE) + Endpoint descontinuado. Use as + [séries macroeconômicas](https://brapi.dev/docs/macro). Planos Startup e Pro. - Use o valor retornado como referência para futuras expansões do endpoint. + Args: + format: Formato da resposta. Só aceita json. - ### Exemplo de Uso + extra_headers: Send extra headers + + extra_query: Add additional query parameters to the request - ```bash - curl -H "Authorization: Bearer SEU_TOKEN" "https://brapi.dev/api/v2/inflation/available" - ``` + extra_body: Add additional JSON properties to the request - **Plano Mínimo:** Startup | **Autenticação:** Necessária + timeout: Override the client-level default timeout for this request, in seconds """ return self._get( "/api/v2/inflation/available", options=make_request_options( - extra_headers=extra_headers, extra_query=extra_query, extra_body=extra_body, timeout=timeout + extra_headers=extra_headers, + extra_query=extra_query, + extra_body=extra_body, + timeout=timeout, + query=maybe_transform({"format": format}, inflation_list_available_params.InflationListAvailableParams), ), cast_to=InflationListAvailableResponse, ) @@ -225,71 +191,29 @@ async def retrieve( timeout: float | httpx.Timeout | None | NotGiven = not_given, ) -> InflationRetrieveResponse: """ - Retorna dados históricos do **IPCA (Índice Nacional de Preços ao Consumidor - Amplo)**, o índice oficial de inflação do Brasil, medido pelo IBGE. - - ### Funcionalidades + Série mensal do IPCA acumulado em 12 meses, o índice oficial de inflação do + Brasil. Cada ponto é o acumulado dos 12 meses até aquela data. - - **Dados Mensais:** Variação percentual mensal do IPCA - - **Histórico Completo:** Dados desde janeiro/2000 até o mês atual - - **Filtros de Período:** Use `start` e `end` para definir período específico - (formato DD/MM/YYYY) - - **Ordenação:** Ordene por data ou valor, crescente ou decrescente + Endpoint descontinuado. Use as + [séries macroeconômicas](https://brapi.dev/docs/macro) com `symbols=ipca12m` + para o acumulado ou `symbols=ipca` para a variação do mês. - ### Autenticação + Sem filtros, devolve os últimos 12 meses. Filtre com `start` e `end` no formato + `DD/MM/YYYY`. O IPCA de um mês sai no mês seguinte. - Bearer token ou query param `token`. Requer plano Startup. - - ### Exemplos de Uso - - ```bash - # Padrão (últimos 12 meses) - curl -H "Authorization: Bearer SEU_TOKEN" "https://brapi.dev/api/v2/inflation" - - # Histórico completo - curl -H "Authorization: Bearer SEU_TOKEN" "https://brapi.dev/api/v2/inflation?historical=true" - - # Período específico - curl -H "Authorization: Bearer SEU_TOKEN" "https://brapi.dev/api/v2/inflation?start=01/01/2023&end=31/12/2023" - - # Ordenado por valor (decrescente) - curl -H "Authorization: Bearer SEU_TOKEN" "https://brapi.dev/api/v2/inflation?historical=true&sortBy=value&sortOrder=desc" - ``` - - ### Parâmetros de Ordenação - - - `sortBy`: `date` (padrão) ou `value` - - `sortOrder`: `desc` (padrão) ou `asc` - - ### Campos da Resposta - - - `date` — Data no formato DD/MM/YYYY - - `value` — Variação percentual do IPCA no mês - - `epochDate` — Data em timestamp Unix (milissegundos) - - ### Sobre o IPCA - - O IPCA é o índice oficial de inflação do Brasil, calculado mensalmente pelo - IBGE. Ele mede a variação de preços de uma cesta de produtos e serviços - consumidos pelas famílias brasileiras. - - ### Fonte dos Dados - - Banco Central do Brasil (BCB) — indicador IPCA publicado como série temporal - oficial - - **Plano Mínimo:** Startup | **Autenticação:** Necessária + Planos Startup e Pro. Args: - end: Data de fim (DD/MM/YYYY) + end: Data final no formato DD/MM/YYYY. Padrão: hoje. - historical: Incluir dados históricos (true/false) + historical: true devolve a série desde 01/01/2000. Sem datas e sem este parâmetro, devolve + os últimos 12 meses. - sort_by: Campo para ordenação (date ou value) + sort_by: Campo de ordenação: date ou value. Padrão: date. - sort_order: Ordem de classificação (asc ou desc) + sort_order: Ordem: asc ou desc. Padrão: desc. - start: Data de início (DD/MM/YYYY) + start: Data inicial no formato DD/MM/YYYY. extra_headers: Send extra headers @@ -323,6 +247,7 @@ async def retrieve( async def list_available( self, *, + format: Literal["json"] | Omit = omit, # Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs. # The extra values given here take precedence over values defined on the client or passed to this method. extra_headers: Headers | None = None, @@ -330,27 +255,34 @@ async def list_available( extra_body: Body | None = None, timeout: float | httpx.Timeout | None | NotGiven = not_given, ) -> InflationListAvailableResponse: - """ - Retorna a lista de países disponíveis para consulta de dados de inflação. + """Lista os países que o endpoint de inflação aceita. - ### Países Disponíveis + Hoje só `brazil`. - - **brazil** — Dados do IPCA (IBGE) + Endpoint descontinuado. Use as + [séries macroeconômicas](https://brapi.dev/docs/macro). Planos Startup e Pro. - Use o valor retornado como referência para futuras expansões do endpoint. + Args: + format: Formato da resposta. Só aceita json. - ### Exemplo de Uso + extra_headers: Send extra headers - ```bash - curl -H "Authorization: Bearer SEU_TOKEN" "https://brapi.dev/api/v2/inflation/available" - ``` + extra_query: Add additional query parameters to the request - **Plano Mínimo:** Startup | **Autenticação:** Necessária + extra_body: Add additional JSON properties to the request + + timeout: Override the client-level default timeout for this request, in seconds """ return await self._get( "/api/v2/inflation/available", options=make_request_options( - extra_headers=extra_headers, extra_query=extra_query, extra_body=extra_body, timeout=timeout + extra_headers=extra_headers, + extra_query=extra_query, + extra_body=extra_body, + timeout=timeout, + query=await async_maybe_transform( + {"format": format}, inflation_list_available_params.InflationListAvailableParams + ), ), cast_to=InflationListAvailableResponse, ) diff --git a/src/brapi/resources/v2/prime_rate.py b/src/brapi/resources/v2/prime_rate.py index c2630aa..5bf352f 100644 --- a/src/brapi/resources/v2/prime_rate.py +++ b/src/brapi/resources/v2/prime_rate.py @@ -2,12 +2,14 @@ from __future__ import annotations +from typing_extensions import Literal + import httpx from ..._types import Body, Omit, Query, Headers, NotGiven, omit, not_given from ..._utils import maybe_transform, async_maybe_transform from ..._compat import cached_property -from ...types.v2 import prime_rate_retrieve_params +from ...types.v2 import prime_rate_retrieve_params, prime_rate_list_available_params from ..._resource import SyncAPIResource, AsyncAPIResource from ..._response import ( to_raw_response_wrapper, @@ -58,71 +60,28 @@ def retrieve( timeout: float | httpx.Timeout | None | NotGiven = not_given, ) -> PrimeRateRetrieveResponse: """ - Retorna dados históricos da **Taxa SELIC (Sistema Especial de Liquidação e de - Custódia)**, a taxa básica de juros da economia brasileira, definida pelo COPOM - (Comitê de Política Monetária) do Banco Central. - - ### Funcionalidades - - - **Dados Diários:** Taxa SELIC diária (meta anualizada, % a.a.) - - **Histórico Completo:** Dados desde janeiro/2000 até a data atual - - **Filtros de Período:** Use `start` e `end` (formato DD/MM/YYYY) - - **Ordenação:** Por data ou valor, crescente ou decrescente - - ### Autenticação - - Bearer token ou query param `token`. Requer plano Startup. - - ### Exemplos de Uso - - ```bash - # Padrão (últimos 12 meses) - curl -H "Authorization: Bearer SEU_TOKEN" "https://brapi.dev/api/v2/prime-rate" - - # Histórico completo - curl -H "Authorization: Bearer SEU_TOKEN" "https://brapi.dev/api/v2/prime-rate?historical=true" - - # Período específico - curl -H "Authorization: Bearer SEU_TOKEN" "https://brapi.dev/api/v2/prime-rate?start=01/01/2023&end=31/12/2023" - - # Ordenado por valor (decrescente) - curl -H "Authorization: Bearer SEU_TOKEN" "https://brapi.dev/api/v2/prime-rate?historical=true&sortBy=value&sortOrder=desc" - ``` - - ### Parâmetros de Ordenação - - - `sortBy`: `date` (padrão) ou `value` - - `sortOrder`: `desc` (padrão) ou `asc` - - ### Campos da Resposta - - - `date` — Data no formato DD/MM/YYYY - - `value` — Taxa SELIC meta anualizada (% a.a.) - - `epochDate` — Data em timestamp Unix (milissegundos) - - ### Sobre a SELIC + Série diária da meta da taxa Selic, definida pelo Copom, em % ao ano. - A SELIC é a taxa básica de juros da economia brasileira e influencia todas as - demais taxas de juros do país (empréstimos, financiamentos, aplicações - financeiras). Ela é definida pelo COPOM a cada 45 dias e serve como referência - para o CDI. + Endpoint descontinuado. Use as + [séries macroeconômicas](https://brapi.dev/docs/macro) com `symbols=selic`. - ### Fonte dos Dados + Sem filtros, devolve os últimos 12 meses. Filtre com `start` e `end` no formato + `DD/MM/YYYY`. A meta só muda nas reuniões do Copom, então a série repete o mesmo + valor entre uma reunião e outra. - Banco Central do Brasil (BCB) — meta SELIC publicada como série temporal oficial - - **Plano Mínimo:** Startup | **Autenticação:** Necessária + Planos Startup e Pro. Args: - end: Data de fim (DD/MM/YYYY) + end: Data final no formato DD/MM/YYYY. Padrão: hoje. - historical: Incluir dados históricos (true/false) + historical: true devolve a série desde 01/01/2000. Sem datas e sem este parâmetro, devolve + os últimos 12 meses. - sort_by: Campo para ordenação (date ou value) + sort_by: Campo de ordenação: date ou value. Padrão: date. - sort_order: Ordem de classificação (asc ou desc) + sort_order: Ordem: asc ou desc. Padrão: desc. - start: Data de início (DD/MM/YYYY) + start: Data inicial no formato DD/MM/YYYY. extra_headers: Send extra headers @@ -156,6 +115,7 @@ def retrieve( def list_available( self, *, + format: Literal["json"] | Omit = omit, # Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs. # The extra values given here take precedence over values defined on the client or passed to this method. extra_headers: Headers | None = None, @@ -163,27 +123,34 @@ def list_available( extra_body: Body | None = None, timeout: float | httpx.Timeout | None | NotGiven = not_given, ) -> PrimeRateListAvailableResponse: - """ - Retorna a lista de países disponíveis para consulta de dados de taxa de juros. + """Lista os países que o endpoint da Selic aceita. - ### Países Disponíveis + Hoje só `brazil`. - - **brazil** — Taxa SELIC (Banco Central) + Endpoint descontinuado. Use as + [séries macroeconômicas](https://brapi.dev/docs/macro). Planos Startup e Pro. - Use o valor retornado como referência para futuras expansões do endpoint. + Args: + format: Formato da resposta. Só aceita json. - ### Exemplo de Uso + extra_headers: Send extra headers - ```bash - curl -H "Authorization: Bearer SEU_TOKEN" "https://brapi.dev/api/v2/prime-rate/available" - ``` + extra_query: Add additional query parameters to the request + + extra_body: Add additional JSON properties to the request - **Plano Mínimo:** Startup | **Autenticação:** Necessária + timeout: Override the client-level default timeout for this request, in seconds """ return self._get( "/api/v2/prime-rate/available", options=make_request_options( - extra_headers=extra_headers, extra_query=extra_query, extra_body=extra_body, timeout=timeout + extra_headers=extra_headers, + extra_query=extra_query, + extra_body=extra_body, + timeout=timeout, + query=maybe_transform( + {"format": format}, prime_rate_list_available_params.PrimeRateListAvailableParams + ), ), cast_to=PrimeRateListAvailableResponse, ) @@ -225,71 +192,28 @@ async def retrieve( timeout: float | httpx.Timeout | None | NotGiven = not_given, ) -> PrimeRateRetrieveResponse: """ - Retorna dados históricos da **Taxa SELIC (Sistema Especial de Liquidação e de - Custódia)**, a taxa básica de juros da economia brasileira, definida pelo COPOM - (Comitê de Política Monetária) do Banco Central. + Série diária da meta da taxa Selic, definida pelo Copom, em % ao ano. - ### Funcionalidades + Endpoint descontinuado. Use as + [séries macroeconômicas](https://brapi.dev/docs/macro) com `symbols=selic`. - - **Dados Diários:** Taxa SELIC diária (meta anualizada, % a.a.) - - **Histórico Completo:** Dados desde janeiro/2000 até a data atual - - **Filtros de Período:** Use `start` e `end` (formato DD/MM/YYYY) - - **Ordenação:** Por data ou valor, crescente ou decrescente + Sem filtros, devolve os últimos 12 meses. Filtre com `start` e `end` no formato + `DD/MM/YYYY`. A meta só muda nas reuniões do Copom, então a série repete o mesmo + valor entre uma reunião e outra. - ### Autenticação - - Bearer token ou query param `token`. Requer plano Startup. - - ### Exemplos de Uso - - ```bash - # Padrão (últimos 12 meses) - curl -H "Authorization: Bearer SEU_TOKEN" "https://brapi.dev/api/v2/prime-rate" - - # Histórico completo - curl -H "Authorization: Bearer SEU_TOKEN" "https://brapi.dev/api/v2/prime-rate?historical=true" - - # Período específico - curl -H "Authorization: Bearer SEU_TOKEN" "https://brapi.dev/api/v2/prime-rate?start=01/01/2023&end=31/12/2023" - - # Ordenado por valor (decrescente) - curl -H "Authorization: Bearer SEU_TOKEN" "https://brapi.dev/api/v2/prime-rate?historical=true&sortBy=value&sortOrder=desc" - ``` - - ### Parâmetros de Ordenação - - - `sortBy`: `date` (padrão) ou `value` - - `sortOrder`: `desc` (padrão) ou `asc` - - ### Campos da Resposta - - - `date` — Data no formato DD/MM/YYYY - - `value` — Taxa SELIC meta anualizada (% a.a.) - - `epochDate` — Data em timestamp Unix (milissegundos) - - ### Sobre a SELIC - - A SELIC é a taxa básica de juros da economia brasileira e influencia todas as - demais taxas de juros do país (empréstimos, financiamentos, aplicações - financeiras). Ela é definida pelo COPOM a cada 45 dias e serve como referência - para o CDI. - - ### Fonte dos Dados - - Banco Central do Brasil (BCB) — meta SELIC publicada como série temporal oficial - - **Plano Mínimo:** Startup | **Autenticação:** Necessária + Planos Startup e Pro. Args: - end: Data de fim (DD/MM/YYYY) + end: Data final no formato DD/MM/YYYY. Padrão: hoje. - historical: Incluir dados históricos (true/false) + historical: true devolve a série desde 01/01/2000. Sem datas e sem este parâmetro, devolve + os últimos 12 meses. - sort_by: Campo para ordenação (date ou value) + sort_by: Campo de ordenação: date ou value. Padrão: date. - sort_order: Ordem de classificação (asc ou desc) + sort_order: Ordem: asc ou desc. Padrão: desc. - start: Data de início (DD/MM/YYYY) + start: Data inicial no formato DD/MM/YYYY. extra_headers: Send extra headers @@ -323,6 +247,7 @@ async def retrieve( async def list_available( self, *, + format: Literal["json"] | Omit = omit, # Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs. # The extra values given here take precedence over values defined on the client or passed to this method. extra_headers: Headers | None = None, @@ -330,27 +255,34 @@ async def list_available( extra_body: Body | None = None, timeout: float | httpx.Timeout | None | NotGiven = not_given, ) -> PrimeRateListAvailableResponse: - """ - Retorna a lista de países disponíveis para consulta de dados de taxa de juros. + """Lista os países que o endpoint da Selic aceita. - ### Países Disponíveis + Hoje só `brazil`. - - **brazil** — Taxa SELIC (Banco Central) + Endpoint descontinuado. Use as + [séries macroeconômicas](https://brapi.dev/docs/macro). Planos Startup e Pro. - Use o valor retornado como referência para futuras expansões do endpoint. + Args: + format: Formato da resposta. Só aceita json. - ### Exemplo de Uso + extra_headers: Send extra headers - ```bash - curl -H "Authorization: Bearer SEU_TOKEN" "https://brapi.dev/api/v2/prime-rate/available" - ``` + extra_query: Add additional query parameters to the request + + extra_body: Add additional JSON properties to the request - **Plano Mínimo:** Startup | **Autenticação:** Necessária + timeout: Override the client-level default timeout for this request, in seconds """ return await self._get( "/api/v2/prime-rate/available", options=make_request_options( - extra_headers=extra_headers, extra_query=extra_query, extra_body=extra_body, timeout=timeout + extra_headers=extra_headers, + extra_query=extra_query, + extra_body=extra_body, + timeout=timeout, + query=await async_maybe_transform( + {"format": format}, prime_rate_list_available_params.PrimeRateListAvailableParams + ), ), cast_to=PrimeRateListAvailableResponse, ) diff --git a/src/brapi/types/available_list_params.py b/src/brapi/types/available_list_params.py index e25d462..0459052 100644 --- a/src/brapi/types/available_list_params.py +++ b/src/brapi/types/available_list_params.py @@ -9,4 +9,4 @@ class AvailableListParams(TypedDict, total=False): search: str - """Filtrar ações e índices por nome ou código""" + """Parte do ticker. Filtra ativos e índices.""" diff --git a/src/brapi/types/available_list_response.py b/src/brapi/types/available_list_response.py index 08deefd..1d06316 100644 --- a/src/brapi/types/available_list_response.py +++ b/src/brapi/types/available_list_response.py @@ -9,7 +9,7 @@ class AvailableListResponse(BaseModel): indexes: List[str] - """Lista de índices disponíveis""" + """Tickers de índices.""" stocks: List[str] - """Lista de códigos de ações disponíveis""" + """Tickers de ativos.""" diff --git a/src/brapi/types/financial_data_entry.py b/src/brapi/types/financial_data_entry.py index 5599712..67015d5 100644 --- a/src/brapi/types/financial_data_entry.py +++ b/src/brapi/types/financial_data_entry.py @@ -10,7 +10,7 @@ class FinancialDataEntry(BaseModel): - """Dados financeiros e indicadores TTM""" + """Dados financeiros dos últimos 12 meses.""" current_price: Optional[float] = FieldInfo(alias="currentPrice", default=None) """Preço atual""" @@ -23,17 +23,15 @@ class FinancialDataEntry(BaseModel): earnings_growth: Optional[float] = FieldInfo(alias="earningsGrowth", default=None) """ - Crescimento do lucro do controlador (TTM) — variação dos últimos 4 trimestres em - relação aos 4 trimestres imediatamente anteriores, usando Lucro Líquido - Atribuível aos Controladores. Para crescimento anual (DRE de exercício vs. - exercício anterior), use earningsGrowthAnnual. + Crescimento do lucro atribuível aos controladores nos últimos 4 trimestres, + contra os 4 trimestres anteriores. Para a variação anual, use + `earningsGrowthAnnual`. """ earnings_growth_annual: Optional[float] = FieldInfo(alias="earningsGrowthAnnual", default=None) """ - Crescimento anual do lucro do controlador — variação do Lucro Líquido Atribuível - aos Controladores do último exercício social completo em relação ao exercício - anterior. + Crescimento do lucro atribuível aos controladores no último exercício completo, + contra o exercício anterior. """ ebitda: Optional[float] = None @@ -74,15 +72,14 @@ class FinancialDataEntry(BaseModel): revenue_growth: Optional[float] = FieldInfo(alias="revenueGrowth", default=None) """ - Crescimento da receita (TTM) — variação da receita dos últimos 4 trimestres em - relação aos 4 trimestres imediatamente anteriores. Para crescimento anual (DRE - de exercício vs. exercício anterior), use revenueGrowthAnnual. + Crescimento da receita nos últimos 4 trimestres, contra os 4 trimestres + anteriores. Para a variação anual, use `revenueGrowthAnnual`. """ revenue_growth_annual: Optional[float] = FieldInfo(alias="revenueGrowthAnnual", default=None) """ - Crescimento anual da receita — variação da Receita Líquida do último exercício - social completo em relação ao exercício anterior. + Crescimento da receita líquida no último exercício completo, contra o exercício + anterior. """ revenue_per_share: Optional[float] = FieldInfo(alias="revenuePerShare", default=None) diff --git a/src/brapi/types/quote_list_params.py b/src/brapi/types/quote_list_params.py index e8bc904..8be9691 100644 --- a/src/brapi/types/quote_list_params.py +++ b/src/brapi/types/quote_list_params.py @@ -11,36 +11,40 @@ class QuoteListParams(TypedDict, total=False): token: str - """Token de autenticação (alternativa ao header Authorization)""" + """Token de acesso. Use no lugar do header `Authorization`.""" limit: str - """Número máximo de resultados""" + """Itens por página. + + Máximo: 2000. Sem este parâmetro, a resposta traz até 2000 itens e não traz + paginação. + """ page: str - """Número da página (paginação)""" + """Número da página. Começa em 1.""" search: str - """Termo de busca para filtrar ativos""" + """Parte do ticker ou do nome da empresa.""" sector: str - """Filtrar por setor""" + """Setor.""" sort_by: Annotated[ Literal["name", "close", "change", "change_abs", "volume", "market_cap_basic"], PropertyInfo(alias="sortBy") ] - """Campo para ordenação""" + """Campo de ordenação. Padrão: volume.""" sort_order: Annotated[Literal["asc", "desc"], PropertyInfo(alias="sortOrder")] - """Ordem de classificação""" + """Ordem. Padrão: desc.""" + + subsector: str + """Subsetor.""" sub_type: Annotated[ Literal["stock", "unit", "fii", "etf", "fi-infra", "fi-agro", "fip", "fidc", "bdr"], PropertyInfo(alias="subType"), ] - """ - Filtrar por classificação aditiva: stock, unit, fii, etf, fi-infra, fi-agro, - fip, fidc ou bdr - """ + """Subtipo do ativo: stock, unit, fii, etf, fi-infra, fi-agro, fip, fidc ou bdr.""" type: Literal["stock", "fund", "bdr"] - """Filtrar por tipo de ativo""" + """Tipo do ativo.""" diff --git a/src/brapi/types/quote_list_response.py b/src/brapi/types/quote_list_response.py index bd976e0..87d4124 100644 --- a/src/brapi/types/quote_list_response.py +++ b/src/brapi/types/quote_list_response.py @@ -17,37 +17,37 @@ class Index(BaseModel): class Stock(BaseModel): change: Optional[float] = None - """Variação percentual""" + """Variação no dia, em porcentagem.""" close: Optional[float] = None - """Preço de fechamento""" + """Último preço.""" logo: Optional[str] = None - """URL do logo""" + """URL do logo.""" market_cap: Optional[float] = None - """Capitalização de mercado""" + """Valor de mercado, em reais.""" name: str - """Nome da empresa""" + """Nome da empresa.""" sector: Optional[str] = None - """Setor""" + """Setor.""" stock: str - """Ticker do ativo""" + """Ticker do ativo.""" + + subsector: Optional[str] = None + """Subsetor.""" sub_type: Optional[str] = FieldInfo(alias="subType", default=None) - """ - Classificação aditiva do ativo: stock, unit, fii, etf, fi-infra, fi-agro, fip, - fidc ou bdr - """ + """Subtipo do ativo: stock, unit, fii, etf, fi-infra, fi-agro, fip, fidc ou bdr.""" type: Optional[str] = None - """Tipo do ativo""" + """Tipo do ativo.""" volume: Optional[float] = None - """Volume negociado""" + """Volume negociado.""" class QuoteListResponse(BaseModel): @@ -55,6 +55,8 @@ class QuoteListResponse(BaseModel): available_stock_types: List[str] = FieldInfo(alias="availableStockTypes") + available_subsectors: List[str] = FieldInfo(alias="availableSubsectors") + available_sub_type_types: List[str] = FieldInfo(alias="availableSubTypeTypes") indexes: List[Index] diff --git a/src/brapi/types/quote_retrieve_params.py b/src/brapi/types/quote_retrieve_params.py index 27edbb1..7ad9ee3 100644 --- a/src/brapi/types/quote_retrieve_params.py +++ b/src/brapi/types/quote_retrieve_params.py @@ -11,22 +11,28 @@ class QuoteRetrieveParams(TypedDict, total=False): token: str - """Token de autenticação (alternativa ao header Authorization)""" + """Token de acesso. Use no lugar do header `Authorization`.""" dividends: Literal["true", "false"] - """Incluir histórico de dividendos e JCP""" + """Inclui `dividendsData` com dividendos, JCP e eventos em ações.""" end_date: Annotated[str, PropertyInfo(alias="endDate")] - """Data final para dados históricos (formato YYYY-MM-DD)""" + """Data final da série de preços no formato YYYY-MM-DD.""" + + include_raw: Annotated[Literal["true", "false"], PropertyInfo(alias="includeRaw")] + """ + Inclui os preços originais sem ajuste (`rawOpen`, `rawHigh`, `rawLow`, + `rawClose`) em intervalos diários. Exige o plano Pro. + """ interval: Literal["1m", "2m", "5m", "15m", "30m", "60m", "90m", "1h", "1d", "5d", "1wk", "1mo", "3mo"] - """Intervalo/granularidade dos dados históricos""" + """Intervalo entre os pontos da série de preços.""" modules: str - """Módulos de dados adicionais separados por vírgula""" + """Módulos extras separados por vírgula.""" range: Literal["1d", "2d", "5d", "7d", "1mo", "3mo", "6mo", "1y", "2y", "5y", "10y", "ytd", "max"] - """Período para dados históricos de preço""" + """Janela relativa da série de preços.""" start_date: Annotated[str, PropertyInfo(alias="startDate")] - """Data inicial para dados históricos (formato YYYY-MM-DD)""" + """Data inicial da série de preços no formato YYYY-MM-DD.""" diff --git a/src/brapi/types/quote_retrieve_response.py b/src/brapi/types/quote_retrieve_response.py index bc13bb6..3a70d2c 100644 --- a/src/brapi/types/quote_retrieve_response.py +++ b/src/brapi/types/quote_retrieve_response.py @@ -24,103 +24,133 @@ class ResultDividendsDataCashDividend(BaseModel): approved_on: Optional[str] = FieldInfo(alias="approvedOn", default=None) - """Data de aprovação""" + """Data de aprovação.""" asset_issued: str = FieldInfo(alias="assetIssued") - """Código ISIN do ativo emissor""" + """Código ISIN do ativo que dá direito ao provento.""" + + ex_date: Optional[str] = FieldInfo(alias="exDate", default=None) + """Data ex, o primeiro dia sem direito ao provento. Pode ser nulo.""" isin_code: str = FieldInfo(alias="isinCode") - """Código ISIN""" + """Código ISIN.""" label: str - """Tipo (DIVIDENDO, JCP)""" + """Tipo do provento: DIVIDENDO ou JCP.""" last_date_prior: Optional[str] = FieldInfo(alias="lastDatePrior", default=None) - """Data-com (último dia antes da data ex)""" + """Data-com, o último dia para comprar o ativo e ter direito ao provento.""" payment_date: Optional[str] = FieldInfo(alias="paymentDate", default=None) - """Data de pagamento""" + """Data de pagamento.""" rate: float - """Valor por ação""" + """Valor por ação, em reais.""" related_to: str = FieldInfo(alias="relatedTo") - """Período de referência""" + """Período a que o provento se refere. Ex.: 1º Trimestre/2024.""" remarks: str - """Observações""" + """Observações.""" + + raw_rate: Optional[float] = FieldInfo(alias="rawRate", default=None) + """Valor por ação na escala dos preços sem ajuste. Vem com `includeRaw=true`.""" class ResultDividendsDataStockDividend(BaseModel): approved_on: Optional[str] = FieldInfo(alias="approvedOn", default=None) - """Data de aprovação""" + """Data de aprovação.""" asset_issued: str = FieldInfo(alias="assetIssued") - """Código ISIN do ativo emissor""" + """Código ISIN do ativo que dá direito ao provento.""" complete_factor: str = FieldInfo(alias="completeFactor") - """Fator completo (ex: 2 para 1)""" + """Fator em texto. Ex.: 2 para 1.""" + + ex_date: Optional[str] = FieldInfo(alias="exDate", default=None) + """Data ex, o primeiro dia sem direito ao evento. Pode ser nulo.""" factor: float - """Fator do desdobramento/grupamento""" + """Fator do evento. Ex.: 2 em um desdobramento de 2 para 1.""" isin_code: str = FieldInfo(alias="isinCode") - """Código ISIN""" + """Código ISIN.""" label: str - """Tipo (DESDOBRAMENTO, GRUPAMENTO)""" + """Tipo do evento: DESDOBRAMENTO, GRUPAMENTO ou BONIFICAÇÃO.""" last_date_prior: Optional[str] = FieldInfo(alias="lastDatePrior", default=None) - """Data de corte""" + """Data-com, o último dia para comprar o ativo e ter direito ao evento.""" remarks: str - """Observações""" + """Observações.""" class ResultDividendsData(BaseModel): - """Dados de dividendos (quando dividends=true)""" + """Proventos. Vem com `dividends=true`.""" cash_dividends: List[ResultDividendsDataCashDividend] = FieldInfo(alias="cashDividends") - """Histórico de dividendos e JCP em dinheiro""" + """Dividendos e JCP pagos em dinheiro.""" stock_dividends: List[ResultDividendsDataStockDividend] = FieldInfo(alias="stockDividends") - """Histórico de bonificações e desdobramentos""" + """Eventos em ações: desdobramentos, grupamentos e bonificações.""" subscriptions: List[Optional[object]] - """Histórico de subscrições""" + """Direitos de subscrição.""" class ResultHistoricalDataPrice(BaseModel): adjusted_close: float = FieldInfo(alias="adjustedClose") - """ - Preço de fechamento ajustado para proventos (dividendos, JCP, bonificações, - etc.) e desdobramentos/grupamentos. + """Fechamento ajustado por proventos, desdobramentos e grupamentos. + + Use para calcular retorno. """ close: float - """Preço de fechamento do ativo no intervalo.""" + """Preço de fechamento no intervalo.""" date: int - """ - Data do pregão ou do ponto de dados, representada como um timestamp UNIX (número - de segundos desde 1970-01-01 UTC). - """ + """Data do ponto em Unix timestamp, em segundos.""" high: float - """Preço máximo atingido pelo ativo no intervalo.""" + """Preço máximo no intervalo.""" low: float - """Preço mínimo atingido pelo ativo no intervalo.""" + """Preço mínimo no intervalo.""" open: float - """Preço de abertura do ativo no intervalo (dia, semana, mês, etc.).""" + """Preço de abertura no intervalo.""" volume: int - """Volume financeiro negociado no intervalo.""" + """Volume negociado no intervalo.""" + + raw_close: Optional[float] = FieldInfo(alias="rawClose", default=None) + """Preço de fechamento original, sem ajuste. + + Vem com `includeRaw=true` em intervalos diários. Pode ser nulo. + """ + + raw_high: Optional[float] = FieldInfo(alias="rawHigh", default=None) + """Preço máximo original, sem ajuste. + + Vem com `includeRaw=true` em intervalos diários. Pode ser nulo. + """ + + raw_low: Optional[float] = FieldInfo(alias="rawLow", default=None) + """Preço mínimo original, sem ajuste. + + Vem com `includeRaw=true` em intervalos diários. Pode ser nulo. + """ + + raw_open: Optional[float] = FieldInfo(alias="rawOpen", default=None) + """Preço de abertura original, sem ajuste. + + Vem com `includeRaw=true` em intervalos diários. Pode ser nulo. + """ class ResultSummaryProfile(BaseModel): - """Perfil da empresa (quando modules inclui summaryProfile)""" + """Cadastro da empresa. Vem com o módulo `summaryProfile`.""" address1: Optional[str] = None """Endereço linha 1""" @@ -191,135 +221,135 @@ class ResultSummaryProfile(BaseModel): class Result(BaseModel): average_daily_volume10_day: Optional[float] = FieldInfo(alias="averageDailyVolume10Day", default=None) - """Média do volume diário nos últimos 10 dias""" + """Volume médio diário dos últimos 10 dias.""" average_daily_volume3_month: Optional[float] = FieldInfo(alias="averageDailyVolume3Month", default=None) - """Média do volume diário nos últimos 3 meses""" + """Volume médio diário dos últimos 3 meses.""" currency: str - """Moeda na qual os valores são expressos (geralmente BRL)""" + """Moeda dos valores. Em geral, BRL.""" earnings_per_share: Optional[float] = FieldInfo(alias="earningsPerShare", default=None) - """Lucro Por Ação (LPA) TTM""" + """Lucro por ação (LPA) dos últimos 12 meses.""" fifty_two_week_high: Optional[float] = FieldInfo(alias="fiftyTwoWeekHigh", default=None) - """Preço máximo nas últimas 52 semanas""" + """Preço máximo das últimas 52 semanas.""" fifty_two_week_high_change: Optional[float] = FieldInfo(alias="fiftyTwoWeekHighChange", default=None) - """Variação entre preço atual e máximo de 52 semanas""" + """Diferença entre o preço atual e o máximo de 52 semanas.""" fifty_two_week_high_change_percent: Optional[float] = FieldInfo(alias="fiftyTwoWeekHighChangePercent", default=None) - """Variação percentual entre preço atual e máximo de 52 semanas""" + """Diferença entre o preço atual e o máximo de 52 semanas, em porcentagem.""" fifty_two_week_low: Optional[float] = FieldInfo(alias="fiftyTwoWeekLow", default=None) - """Preço mínimo nas últimas 52 semanas""" + """Preço mínimo das últimas 52 semanas.""" fifty_two_week_low_change: Optional[float] = FieldInfo(alias="fiftyTwoWeekLowChange", default=None) - """Variação entre preço atual e mínimo de 52 semanas""" + """Diferença entre o preço atual e o mínimo de 52 semanas.""" fifty_two_week_range: Optional[str] = FieldInfo(alias="fiftyTwoWeekRange", default=None) - """Intervalo de preço das últimas 52 semanas""" + """Faixa de preço das últimas 52 semanas no formato mínimo - máximo.""" logourl: Optional[str] = None - """URL do logo do ativo""" + """URL do logo do ativo.""" long_name: Optional[str] = FieldInfo(alias="longName", default=None) - """Nome completo da empresa""" + """Nome completo da empresa.""" market_cap: Optional[float] = FieldInfo(alias="marketCap", default=None) - """Capitalização de mercado total""" + """Valor de mercado, em reais.""" price_earnings: Optional[float] = FieldInfo(alias="priceEarnings", default=None) - """Indicador Preço/Lucro (P/L)""" + """Preço sobre lucro (P/L).""" regular_market_change: Optional[float] = FieldInfo(alias="regularMarketChange", default=None) - """Variação absoluta do preço no dia em relação ao fechamento anterior""" + """Variação do preço no dia em relação ao fechamento anterior, em reais.""" regular_market_change_percent: Optional[float] = FieldInfo(alias="regularMarketChangePercent", default=None) - """Variação percentual do preço no dia""" + """Variação do preço no dia, em porcentagem.""" regular_market_day_high: Optional[float] = FieldInfo(alias="regularMarketDayHigh", default=None) - """Preço máximo atingido no dia""" + """Preço máximo do dia.""" regular_market_day_low: Optional[float] = FieldInfo(alias="regularMarketDayLow", default=None) - """Preço mínimo atingido no dia""" + """Preço mínimo do dia.""" regular_market_day_range: Optional[str] = FieldInfo(alias="regularMarketDayRange", default=None) - """Intervalo de preço do dia (Mínimo - Máximo)""" + """Faixa de preço do dia no formato mínimo - máximo.""" regular_market_open: Optional[float] = FieldInfo(alias="regularMarketOpen", default=None) - """Preço de abertura no dia""" + """Preço de abertura do dia.""" regular_market_previous_close: Optional[float] = FieldInfo(alias="regularMarketPreviousClose", default=None) - """Preço de fechamento do pregão anterior""" + """Fechamento do pregão anterior.""" regular_market_price: Optional[float] = FieldInfo(alias="regularMarketPrice", default=None) - """Preço atual ou do último negócio registrado""" + """Preço do último negócio.""" regular_market_time: Optional[str] = FieldInfo(alias="regularMarketTime", default=None) - """Data/hora da última atualização da cotação (ISO 8601)""" + """Horário da cotação em ISO 8601.""" regular_market_volume: Optional[float] = FieldInfo(alias="regularMarketVolume", default=None) - """Volume financeiro negociado no dia""" + """Volume negociado no dia.""" short_name: Optional[str] = FieldInfo(alias="shortName", default=None) - """Nome curto ou abreviado da empresa""" + """Nome curto do ativo.""" symbol: str - """Ticker (símbolo) do ativo (ex: PETR4, ^BVSP)""" + """Ticker do ativo. Ex.: PETR4, ^BVSP.""" two_hundred_day_average: Optional[float] = FieldInfo(alias="twoHundredDayAverage", default=None) - """Média móvel de 200 dias""" + """Média móvel de 200 dias.""" two_hundred_day_average_change: Optional[float] = FieldInfo(alias="twoHundredDayAverageChange", default=None) - """Variação entre preço atual e média de 200 dias""" + """Diferença entre o preço atual e a média de 200 dias.""" two_hundred_day_average_change_percent: Optional[float] = FieldInfo( alias="twoHundredDayAverageChangePercent", default=None ) - """Variação percentual entre preço atual e média de 200 dias""" + """Diferença entre o preço atual e a média de 200 dias, em porcentagem.""" used_interval: Optional[str] = FieldInfo(alias="usedInterval", default=None) - """Intervalo efetivamente utilizado para dados históricos""" + """Intervalo usado na série de preços.""" used_range: Optional[str] = FieldInfo(alias="usedRange", default=None) - """Período efetivamente utilizado para dados históricos""" + """Janela usada na série de preços.""" balance_sheet_history: Optional[List[BalanceSheetEntry]] = FieldInfo(alias="balanceSheetHistory", default=None) - """Histórico anual do Balanço Patrimonial""" + """Balanço patrimonial anual.""" balance_sheet_history_quarterly: Optional[List[BalanceSheetEntry]] = FieldInfo( alias="balanceSheetHistoryQuarterly", default=None ) - """Histórico trimestral do Balanço Patrimonial""" + """Balanço patrimonial trimestral.""" dividends_data: Optional[ResultDividendsData] = FieldInfo(alias="dividendsData", default=None) - """Dados de dividendos (quando dividends=true)""" + """Proventos. Vem com `dividends=true`.""" financial_data: Optional[FinancialDataEntry] = FieldInfo(alias="financialData", default=None) - """Dados financeiros e indicadores TTM""" + """Dados financeiros dos últimos 12 meses.""" financial_data_history: Optional[List[FinancialDataEntry]] = FieldInfo(alias="financialDataHistory", default=None) - """Histórico anual de dados financeiros""" + """Dados financeiros anuais.""" financial_data_history_quarterly: Optional[List[FinancialDataEntry]] = FieldInfo( alias="financialDataHistoryQuarterly", default=None ) - """Histórico trimestral de dados financeiros""" + """Dados financeiros trimestrais.""" historical_data_price: Optional[List[ResultHistoricalDataPrice]] = FieldInfo( alias="historicalDataPrice", default=None ) - """Série histórica de preços (quando range/interval fornecidos)""" + """Série de preços. Vem quando a requisição define a janela.""" summary_profile: Optional[ResultSummaryProfile] = FieldInfo(alias="summaryProfile", default=None) - """Perfil da empresa (quando modules inclui summaryProfile)""" + """Cadastro da empresa. Vem com o módulo `summaryProfile`.""" valid_intervals: Optional[List[str]] = FieldInfo(alias="validIntervals", default=None) - """Valores válidos para o parâmetro interval""" + """Valores aceitos em `interval`.""" valid_ranges: Optional[List[str]] = FieldInfo(alias="validRanges", default=None) - """Valores válidos para o parâmetro range""" + """Valores aceitos em `range`.""" class GuidanceDetails(BaseModel): @@ -338,15 +368,15 @@ class Guidance(BaseModel): class QuoteRetrieveResponse(BaseModel): requested_at: datetime = FieldInfo(alias="requestedAt") - """Data e hora da requisição em formato ISO 8601""" + """Data e hora da requisição em ISO 8601.""" results: List[Result] took: int - """Tempo de processamento em milissegundos""" + """Tempo de processamento, em milissegundos.""" guidance: Optional[List[Guidance]] = None - """ - Dicas contextuais quando a requisição funciona mas existe um endpoint mais - adequado para o caso de uso. + """Dicas que apontam um endpoint mais adequado para o pedido. + + A requisição funciona mesmo assim. """ diff --git a/src/brapi/types/v2/__init__.py b/src/brapi/types/v2/__init__.py index 6fe0126..febc9e5 100644 --- a/src/brapi/types/v2/__init__.py +++ b/src/brapi/types/v2/__init__.py @@ -13,6 +13,8 @@ from .prime_rate_retrieve_response import PrimeRateRetrieveResponse as PrimeRateRetrieveResponse from .crypto_list_available_response import CryptoListAvailableResponse as CryptoListAvailableResponse from .currency_list_available_params import CurrencyListAvailableParams as CurrencyListAvailableParams +from .inflation_list_available_params import InflationListAvailableParams as InflationListAvailableParams from .currency_list_available_response import CurrencyListAvailableResponse as CurrencyListAvailableResponse +from .prime_rate_list_available_params import PrimeRateListAvailableParams as PrimeRateListAvailableParams from .inflation_list_available_response import InflationListAvailableResponse as InflationListAvailableResponse from .prime_rate_list_available_response import PrimeRateListAvailableResponse as PrimeRateListAvailableResponse diff --git a/src/brapi/types/v2/crypto_list_available_params.py b/src/brapi/types/v2/crypto_list_available_params.py index 5b36441..0e52662 100644 --- a/src/brapi/types/v2/crypto_list_available_params.py +++ b/src/brapi/types/v2/crypto_list_available_params.py @@ -9,4 +9,4 @@ class CryptoListAvailableParams(TypedDict, total=False): search: str - """Filtrar criptomoedas por símbolo""" + """Texto buscado na sigla da criptomoeda.""" diff --git a/src/brapi/types/v2/crypto_retrieve_params.py b/src/brapi/types/v2/crypto_retrieve_params.py index f10cc37..8786ec3 100644 --- a/src/brapi/types/v2/crypto_retrieve_params.py +++ b/src/brapi/types/v2/crypto_retrieve_params.py @@ -9,13 +9,13 @@ class CryptoRetrieveParams(TypedDict, total=False): coin: str - """Sigla(s) das criptomoedas separadas por vírgula""" + """Siglas das criptomoedas, separadas por vírgula. Ex.: BTC,ETH.""" currency: str - """Moeda para cotação (padrão: BRL)""" + """Moeda da cotação, como BRL, USD ou EUR. Padrão: BRL.""" interval: str - """Intervalo dos dados históricos""" + """Intervalo entre os pontos do histórico, como 1h ou 1d. Padrão: 1d.""" range: str - """Período para dados históricos""" + """Período do histórico, como 5d, 1mo ou 1y. Padrão: 1mo quando há histórico.""" diff --git a/src/brapi/types/v2/crypto_retrieve_response.py b/src/brapi/types/v2/crypto_retrieve_response.py index 2e89b60..7fe6bae 100644 --- a/src/brapi/types/v2/crypto_retrieve_response.py +++ b/src/brapi/types/v2/crypto_retrieve_response.py @@ -72,7 +72,7 @@ class CryptoRetrieveResponse(BaseModel): coins: List[Coin] requested_at: datetime = FieldInfo(alias="requestedAt") - """Data e hora da requisição em formato ISO 8601""" + """Data e hora da requisição em ISO 8601.""" took: int - """Tempo de processamento em milissegundos""" + """Tempo de processamento, em milissegundos.""" diff --git a/src/brapi/types/v2/currency_list_available_params.py b/src/brapi/types/v2/currency_list_available_params.py index 8b5a8f2..bea2804 100644 --- a/src/brapi/types/v2/currency_list_available_params.py +++ b/src/brapi/types/v2/currency_list_available_params.py @@ -9,4 +9,4 @@ class CurrencyListAvailableParams(TypedDict, total=False): search: str - """Filtrar pares de moedas por nome ou descrição""" + """Texto buscado no par e no nome das moedas.""" diff --git a/src/brapi/types/v2/currency_retrieve_params.py b/src/brapi/types/v2/currency_retrieve_params.py index d8300ff..3417b19 100644 --- a/src/brapi/types/v2/currency_retrieve_params.py +++ b/src/brapi/types/v2/currency_retrieve_params.py @@ -9,4 +9,4 @@ class CurrencyRetrieveParams(TypedDict, total=False): currency: str - """Par(es) de moedas separados por vírgula (ex: USD-BRL,EUR-BRL)""" + """Pares no formato ORIGEM-DESTINO, separados por vírgula. Ex.: USD-BRL,EUR-BRL.""" diff --git a/src/brapi/types/v2/currency_retrieve_response.py b/src/brapi/types/v2/currency_retrieve_response.py index 54edf71..5e02e1d 100644 --- a/src/brapi/types/v2/currency_retrieve_response.py +++ b/src/brapi/types/v2/currency_retrieve_response.py @@ -38,7 +38,7 @@ class CurrencyRetrieveResponse(BaseModel): currency: List[Currency] requested_at: datetime = FieldInfo(alias="requestedAt") - """Data e hora da requisição em formato ISO 8601""" + """Data e hora da requisição em ISO 8601.""" took: int - """Tempo de processamento em milissegundos""" + """Tempo de processamento, em milissegundos.""" diff --git a/src/brapi/types/v2/inflation_list_available_params.py b/src/brapi/types/v2/inflation_list_available_params.py new file mode 100644 index 0000000..89a2758 --- /dev/null +++ b/src/brapi/types/v2/inflation_list_available_params.py @@ -0,0 +1,12 @@ +# File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details. + +from __future__ import annotations + +from typing_extensions import Literal, TypedDict + +__all__ = ["InflationListAvailableParams"] + + +class InflationListAvailableParams(TypedDict, total=False): + format: Literal["json"] + """Formato da resposta. Só aceita json.""" diff --git a/src/brapi/types/v2/inflation_list_available_response.py b/src/brapi/types/v2/inflation_list_available_response.py index eadb91a..30ea44c 100644 --- a/src/brapi/types/v2/inflation_list_available_response.py +++ b/src/brapi/types/v2/inflation_list_available_response.py @@ -16,4 +16,4 @@ class InflationListAvailableResponse(BaseModel): message: str requested_at: datetime = FieldInfo(alias="requestedAt") - """Data e hora da requisição em formato ISO 8601""" + """Data e hora da requisição em ISO 8601.""" diff --git a/src/brapi/types/v2/inflation_retrieve_params.py b/src/brapi/types/v2/inflation_retrieve_params.py index 3472d7e..43863b4 100644 --- a/src/brapi/types/v2/inflation_retrieve_params.py +++ b/src/brapi/types/v2/inflation_retrieve_params.py @@ -11,16 +11,19 @@ class InflationRetrieveParams(TypedDict, total=False): end: str - """Data de fim (DD/MM/YYYY)""" + """Data final no formato DD/MM/YYYY. Padrão: hoje.""" historical: str - """Incluir dados históricos (true/false)""" + """true devolve a série desde 01/01/2000. + + Sem datas e sem este parâmetro, devolve os últimos 12 meses. + """ sort_by: Annotated[str, PropertyInfo(alias="sortBy")] - """Campo para ordenação (date ou value)""" + """Campo de ordenação: date ou value. Padrão: date.""" sort_order: Annotated[str, PropertyInfo(alias="sortOrder")] - """Ordem de classificação (asc ou desc)""" + """Ordem: asc ou desc. Padrão: desc.""" start: str - """Data de início (DD/MM/YYYY)""" + """Data inicial no formato DD/MM/YYYY.""" diff --git a/src/brapi/types/v2/inflation_retrieve_response.py b/src/brapi/types/v2/inflation_retrieve_response.py index 682a61a..bdaa2ec 100644 --- a/src/brapi/types/v2/inflation_retrieve_response.py +++ b/src/brapi/types/v2/inflation_retrieve_response.py @@ -16,14 +16,14 @@ class Inflation(BaseModel): epoch_date: float = FieldInfo(alias="epochDate") value: str - """Variação percentual do IPCA no mês""" + """IPCA acumulado em 12 meses, em %.""" class InflationRetrieveResponse(BaseModel): inflation: List[Inflation] requested_at: datetime = FieldInfo(alias="requestedAt") - """Data e hora da requisição em formato ISO 8601""" + """Data e hora da requisição em ISO 8601.""" took: int - """Tempo de processamento em milissegundos""" + """Tempo de processamento, em milissegundos.""" diff --git a/src/brapi/types/v2/prime_rate_list_available_params.py b/src/brapi/types/v2/prime_rate_list_available_params.py new file mode 100644 index 0000000..bb8e7fe --- /dev/null +++ b/src/brapi/types/v2/prime_rate_list_available_params.py @@ -0,0 +1,12 @@ +# File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details. + +from __future__ import annotations + +from typing_extensions import Literal, TypedDict + +__all__ = ["PrimeRateListAvailableParams"] + + +class PrimeRateListAvailableParams(TypedDict, total=False): + format: Literal["json"] + """Formato da resposta. Só aceita json.""" diff --git a/src/brapi/types/v2/prime_rate_list_available_response.py b/src/brapi/types/v2/prime_rate_list_available_response.py index c203877..aea52df 100644 --- a/src/brapi/types/v2/prime_rate_list_available_response.py +++ b/src/brapi/types/v2/prime_rate_list_available_response.py @@ -16,4 +16,4 @@ class PrimeRateListAvailableResponse(BaseModel): message: str requested_at: datetime = FieldInfo(alias="requestedAt") - """Data e hora da requisição em formato ISO 8601""" + """Data e hora da requisição em ISO 8601.""" diff --git a/src/brapi/types/v2/prime_rate_retrieve_params.py b/src/brapi/types/v2/prime_rate_retrieve_params.py index 537f860..4d86702 100644 --- a/src/brapi/types/v2/prime_rate_retrieve_params.py +++ b/src/brapi/types/v2/prime_rate_retrieve_params.py @@ -11,16 +11,19 @@ class PrimeRateRetrieveParams(TypedDict, total=False): end: str - """Data de fim (DD/MM/YYYY)""" + """Data final no formato DD/MM/YYYY. Padrão: hoje.""" historical: str - """Incluir dados históricos (true/false)""" + """true devolve a série desde 01/01/2000. + + Sem datas e sem este parâmetro, devolve os últimos 12 meses. + """ sort_by: Annotated[str, PropertyInfo(alias="sortBy")] - """Campo para ordenação (date ou value)""" + """Campo de ordenação: date ou value. Padrão: date.""" sort_order: Annotated[str, PropertyInfo(alias="sortOrder")] - """Ordem de classificação (asc ou desc)""" + """Ordem: asc ou desc. Padrão: desc.""" start: str - """Data de início (DD/MM/YYYY)""" + """Data inicial no formato DD/MM/YYYY.""" diff --git a/src/brapi/types/v2/prime_rate_retrieve_response.py b/src/brapi/types/v2/prime_rate_retrieve_response.py index 8152987..19b4d14 100644 --- a/src/brapi/types/v2/prime_rate_retrieve_response.py +++ b/src/brapi/types/v2/prime_rate_retrieve_response.py @@ -16,14 +16,14 @@ class PrimeRate(BaseModel): epoch_date: float = FieldInfo(alias="epochDate") value: str - """Taxa SELIC meta anualizada (% a.a.)""" + """Meta da Selic, em % ao ano.""" class PrimeRateRetrieveResponse(BaseModel): prime_rate: List[PrimeRate] = FieldInfo(alias="prime-rate") requested_at: datetime = FieldInfo(alias="requestedAt") - """Data e hora da requisição em formato ISO 8601""" + """Data e hora da requisição em ISO 8601.""" took: int - """Tempo de processamento em milissegundos""" + """Tempo de processamento, em milissegundos.""" diff --git a/tests/api_resources/test_quote.py b/tests/api_resources/test_quote.py index aa77cbe..b789328 100644 --- a/tests/api_resources/test_quote.py +++ b/tests/api_resources/test_quote.py @@ -33,6 +33,7 @@ def test_method_retrieve_with_all_params(self, client: Brapi) -> None: token="token", dividends="true", end_date="2024-12-31", + include_raw="true", interval="1m", modules="summaryProfile,balanceSheetHistory,financialData", range="1d", @@ -91,6 +92,7 @@ def test_method_list_with_all_params(self, client: Brapi) -> None: sector="sector", sort_by="name", sort_order="asc", + subsector="subsector", sub_type="stock", type="stock", ) @@ -140,6 +142,7 @@ async def test_method_retrieve_with_all_params(self, async_client: AsyncBrapi) - token="token", dividends="true", end_date="2024-12-31", + include_raw="true", interval="1m", modules="summaryProfile,balanceSheetHistory,financialData", range="1d", @@ -198,6 +201,7 @@ async def test_method_list_with_all_params(self, async_client: AsyncBrapi) -> No sector="sector", sort_by="name", sort_order="asc", + subsector="subsector", sub_type="stock", type="stock", ) diff --git a/tests/api_resources/v2/test_inflation.py b/tests/api_resources/v2/test_inflation.py index 34b18a2..62c7ec4 100644 --- a/tests/api_resources/v2/test_inflation.py +++ b/tests/api_resources/v2/test_inflation.py @@ -9,7 +9,10 @@ from brapi import Brapi, AsyncBrapi from tests.utils import assert_matches_type -from brapi.types.v2 import InflationRetrieveResponse, InflationListAvailableResponse +from brapi.types.v2 import ( + InflationRetrieveResponse, + InflationListAvailableResponse, +) base_url = os.environ.get("TEST_API_BASE_URL", "http://127.0.0.1:4010") @@ -63,6 +66,14 @@ def test_method_list_available(self, client: Brapi) -> None: inflation = client.v2.inflation.list_available() assert_matches_type(InflationListAvailableResponse, inflation, path=["response"]) + @pytest.mark.skip(reason="Mock server tests are disabled") + @parametrize + def test_method_list_available_with_all_params(self, client: Brapi) -> None: + inflation = client.v2.inflation.list_available( + format="json", + ) + assert_matches_type(InflationListAvailableResponse, inflation, path=["response"]) + @pytest.mark.skip(reason="Mock server tests are disabled") @parametrize def test_raw_response_list_available(self, client: Brapi) -> None: @@ -137,6 +148,14 @@ async def test_method_list_available(self, async_client: AsyncBrapi) -> None: inflation = await async_client.v2.inflation.list_available() assert_matches_type(InflationListAvailableResponse, inflation, path=["response"]) + @pytest.mark.skip(reason="Mock server tests are disabled") + @parametrize + async def test_method_list_available_with_all_params(self, async_client: AsyncBrapi) -> None: + inflation = await async_client.v2.inflation.list_available( + format="json", + ) + assert_matches_type(InflationListAvailableResponse, inflation, path=["response"]) + @pytest.mark.skip(reason="Mock server tests are disabled") @parametrize async def test_raw_response_list_available(self, async_client: AsyncBrapi) -> None: diff --git a/tests/api_resources/v2/test_prime_rate.py b/tests/api_resources/v2/test_prime_rate.py index fc3819b..c240acf 100644 --- a/tests/api_resources/v2/test_prime_rate.py +++ b/tests/api_resources/v2/test_prime_rate.py @@ -9,7 +9,10 @@ from brapi import Brapi, AsyncBrapi from tests.utils import assert_matches_type -from brapi.types.v2 import PrimeRateRetrieveResponse, PrimeRateListAvailableResponse +from brapi.types.v2 import ( + PrimeRateRetrieveResponse, + PrimeRateListAvailableResponse, +) base_url = os.environ.get("TEST_API_BASE_URL", "http://127.0.0.1:4010") @@ -63,6 +66,14 @@ def test_method_list_available(self, client: Brapi) -> None: prime_rate = client.v2.prime_rate.list_available() assert_matches_type(PrimeRateListAvailableResponse, prime_rate, path=["response"]) + @pytest.mark.skip(reason="Mock server tests are disabled") + @parametrize + def test_method_list_available_with_all_params(self, client: Brapi) -> None: + prime_rate = client.v2.prime_rate.list_available( + format="json", + ) + assert_matches_type(PrimeRateListAvailableResponse, prime_rate, path=["response"]) + @pytest.mark.skip(reason="Mock server tests are disabled") @parametrize def test_raw_response_list_available(self, client: Brapi) -> None: @@ -137,6 +148,14 @@ async def test_method_list_available(self, async_client: AsyncBrapi) -> None: prime_rate = await async_client.v2.prime_rate.list_available() assert_matches_type(PrimeRateListAvailableResponse, prime_rate, path=["response"]) + @pytest.mark.skip(reason="Mock server tests are disabled") + @parametrize + async def test_method_list_available_with_all_params(self, async_client: AsyncBrapi) -> None: + prime_rate = await async_client.v2.prime_rate.list_available( + format="json", + ) + assert_matches_type(PrimeRateListAvailableResponse, prime_rate, path=["response"]) + @pytest.mark.skip(reason="Mock server tests are disabled") @parametrize async def test_raw_response_list_available(self, async_client: AsyncBrapi) -> None: