| 73 | }); |
| 74 | |
| 75 | async function fetchStockTickers({ pageNumber, pageSize, language = 'pt-br' }) { |
| 76 | const paramsB64 = Buffer.from( |
| 77 | JSON.stringify({ language, pageNumber, pageSize }) |
| 78 | ).toString('base64'); |
| 79 | |
| 80 | const { data } = await axios.get( |
| 81 | `${URL}/listedCompaniesProxy/CompanyCall/GetInitialCompanies/${paramsB64}` |
| 82 | ); |
| 83 | |
| 84 | const parsedResponse = rawResponseStocksSchema.parse(data); |
| 85 | const tickers = parsedResponse.results.map((ticker) => { |
| 86 | return stockTickerSchema.parse({ |
| 87 | code_CVM: ticker.codeCVM, |
| 88 | issuing_company: ticker.issuingCompany, |
| 89 | company_name: ticker.companyName, |
| 90 | trading_name: ticker.tradingName, |
| 91 | cnpj: ticker.cnpj, |
| 92 | market_indicator: ticker.marketIndicator, |
| 93 | type_BDR: ticker.typeBDR, |
| 94 | date_listing: ticker.dateListing, |
| 95 | status: ticker.status, |
| 96 | segment: ticker.segment, |
| 97 | segment_eng: ticker.segmentEng, |
| 98 | type: ticker.type, |
| 99 | market: ticker.market, |
| 100 | }); |
| 101 | }); |
| 102 | return { |
| 103 | page: parsedResponse.page, |
| 104 | tickers, |
| 105 | }; |
| 106 | } |
| 107 | |
| 108 | async function fetchInvestmentFundTickers({ |
| 109 | typeFund, |