br_api 1.0.1 copy "br_api: ^1.0.1" to clipboard
br_api: ^1.0.1 copied to clipboard

Package com base na Brasil API. Classes/modelos para uso de suas funcionalidades. Por favor, leia os termos de uso da API.

example/br_api_example.dart

import 'dart:developer';

import 'package:br_api/br_api.dart';

void main() async {
  // Retorna informações de todos os bancos do Brasil.
  final banks = await Bank.allBankInformation();
  for (final bank in banks) {
    log('NOME:${bank.name}');
    log('CÓDIGO: ${bank.code}');
    log('IPSB:${bank.ispb}');
    log('NOME COMPLETO:${bank.fullName}');
    log('-');
  }

  // Busca as informações de um banco a partir de um código.
  final bank = await Bank.searchBankInformation(bankCode: 10);
  log('NOME:${bank.name}');
  log('CÓDIGO: ${bank.code}');
  log('IPSB:${bank.ispb}');
  log('NOME COMPLETO:${bank.fullName}');
  log('-');

  // Busca por CEP com múltiplos providers de fallback (Versão 01).
  final cep = await CepV1.searchCepV1(cep: 70150900);
  log('CEP: ${cep.cep}');
  log('CIDADE: ${cep.city}');
  log('SERVIÇO: ${cep.service}');
  log('BAIRRO: ${cep.neighborhood}');
  log('ESTADO: ${cep.state}');
  log('RUA: ${cep.street}');
  log('-');

  // Busca por CEP com múltiplos providers de fallback (Versão 02).
  final cepV2 = await CepV2.searchCepV2(cep: 70150900);
  log('CEP: ${cepV2.cep}');
  log('CIDADE: ${cepV2.city}');
  log('SERVIÇO: ${cepV2.service}');
  log('BAIRRO: ${cepV2.neighborhood}');
  log('ESTADO: ${cepV2.state}');
  log('RUA: ${cepV2.street}');
  log('LOCALIZAÇÃO: ${cepV2.location}');
  log('-');

  // Busca por CNPJ na API Minha Receita.
  final company = await Company.searchCnpj(cnpj: '90400888000142');
  log('CNPJ: ${company.cnpj}');
  log('CÓDIGO MATRIZ/FILIAL: ${company.parentSubsidiaryIdentifier}');
  log('DESCRIÇÃO MATRIZ/FILIAL: ${company.descriptionSubsidiary}');
  log('RAZÃO SOCIAL: ${company.socialReason}');
  log('NOME FANTASIA: ${company.tradingName}');
  log('SITUAÇÃO CADASTRAL: ${company.cadastralSituation}');
  log('DESCRIÇÃO SC: ${company.descriptionCadastralSituation}');
  log('DATA SITUAÇÃO CADASTRAL: ${company.dateCadastralSituation}');
  log('CÓDIGO MOTIVO SC: ${company.reasonCadastralSituation}');
  log('NOME CIDADE EXTERIOR: ${company.nameCityExterior}');
  log('CÓDIGO DA NATUREZA JURÍDICA: ${company.juridicalNatureCode}');
  log('DATA INÍCIO ATIVIDADES; ${company.dateStartActivity}');
  log('CNAE FISCAL: ${company.cnaeFiscal}');
  log('DESCRIÇÃO CNAE FISCAL: ${company.cnaeFiscalDesc}');
  log('DESCRIÇÃO TIPO LOGRADOURO: ${company.descStreetType}');
  log('LOGRADOURO: ${company.street}');
  log('TELEFONE: ${company.phone}');
  log('COMPLEMENTO: ${company.complement}');
  log('BAIRRO: ${company.neighborhood}');
  log('CEP:${company.cep}');
  log('UF: ${company.uf}');
  log('CÓDIGO DA CIDADE: ${company.cityCode}');
  log('CIDADE: ${company.city}');
  log('DDD TELEFONE 1: ${company.dddPhone1}');
  log('DDD TELEGONE 2: ${company.dddPhone2}');
  log('DDD FAX: ${company.dddFax}');
  log('QUALIFICAÇÃO RESPONSÁVEL: ${company.responsibleQualification}');
  log('CAPITAL SOCIAL: ${company.capitalSocial}');
  log('PORTE DA EMPRESA: ${company.companySize}');
  log('DESCRIÇÃO DO PORTE: ${company.descCompanySize}');
  log('OPÇÃO PELO SIMPLES: ${company.simpleOption}');
  log('DATA OPÇÃO PELO SIMPLES: ${company.simpleOptionDate}');
  log('DATA EXCLUSÃO DO SIMPLES: ${company.dateExclusionSimples}');
  log('OPÇÃO PELO MEI: ${company.optionMei}');
  log('SITUAÇÃO ESPECIAL: ${company.specialSituation}');
  log('DATA SITUAÇÃO ESPECIAL: ${company.dateSpecialSituation}');
  log('CNAES SECUNDÁRIOS: ${company.secondaryCnaes}');
  log('QSA: ${company.qsa}');
  log('-');

  // Retorna as corretoras nos arquivos da CVM.
  final brokerages = await Brokerage.allBrokerageInformation();
  for (final brokerage in brokerages) {
    log('CNPJ: ${brokerage.cnpj}');
    log('NOME SOCIAL: ${brokerage.socialName}');
    log('NOME COMERCIAL: ${brokerage.commercialName}');
    log('BAIRRO: ${brokerage.neighborhood}');
    log('CEP: ${brokerage.cep}');
    log('CÓDIGO CVM: ${brokerage.cvmCode}');
    log('COMPLEMENTO: ${brokerage.complement}');
    log('DATA DA SITUAÇÃO CADASTRAL: ${brokerage.dateCurrentSituation}');
    log('DATA PATRIMÔNIO LÍQUIDO: ${brokerage.dateNetWorth}');
    log('DATA DE REGISTRO: ${brokerage.dateRegistration}');
    log('E-MAIL: ${brokerage.email}');
    log('RUA: ${brokerage.street}');
    log('CIDADE: ${brokerage.city}');
    log('PAÍS: ${brokerage.country}');
    log('TELEFONE: ${brokerage.phone}');
    log('UF: ${brokerage.uf}');
    log('VALOR PATRIMÔNIO LÍQUIDO: ${brokerage.valueNetWorth}');
    log('-');
  }

  // Busca por corretoras através do CNPJ nos arquivos da CVM.
  final brokerage = await Brokerage.searchBrokerageInformation(
    cnpj: '92875780000131',
  );
  log('CNPJ: ${brokerage.cnpj}');
  log('NOME SOCIAL: ${brokerage.socialName}');
  log('NOME COMERCIAL: ${brokerage.commercialName}');
  log('BAIRRO: ${brokerage.neighborhood}');
  log('CEP: ${brokerage.cep}');
  log('CÓDIGO CVM: ${brokerage.cvmCode}');
  log('COMPLEMENTO: ${brokerage.complement}');
  log('DATA DA SITUAÇÃO CADASTRAL: ${brokerage.dateCurrentSituation}');
  log('DATA PATRIMÔNIO LÍQUIDO: ${brokerage.dateNetWorth}');
  log('DATA DE REGISTRO: ${brokerage.dateRegistration}');
  log('E-MAIL: ${brokerage.email}');
  log('RUA: ${brokerage.street}');
  log('CIDADE: ${brokerage.city}');
  log('PAÍS: ${brokerage.country}');
  log('TELEFONE: ${brokerage.phone}');
  log('UF: ${brokerage.uf}');
  log('VALOR PATRIMÔNIO LÍQUIDO: ${brokerage.valueNetWorth}');
  log('-');

  // Retorna listagem com todas as cidades junto a seus respectivos códigos
  // presentes nos serviços da CPTEC. O Código destas cidades será utilizado
  // para os serviços de meteorologia e a ondas (previsão oceânica) fornecido
  // pelo centro. Leve em consideração que o WebService do CPTEC as vezes é
  // instável, então se não encontrar uma determinada cidade na listagem
  // completa, tente buscando por parte de seu nome no endpoint de busca.
  final cities = await CityCptec.listAllLocations();
  for (final city in cities) {
    log('NOME: ${city.name}');
    log('ESTADO: ${city.state}');
    log('ID: ${city.id}');
    log('-');
  }

  // Retorna listagem com todas as cidades correspondentes ao termo pesquisado
  // junto a seus respectivos códigos presentes nos serviços da CPTEC. O
  // Código destas cidades será utilizado para os serviços de meteorologia e a
  // ondas (previsão oceânica) fornecido pelo centro.
  final cities2 = await CityCptec.searchLocations(cityName: 'Brasília');
  for (final city in cities2) {
    log('NOME: ${city.name}');
    log('ESTADO: ${city.state}');
    log('ID: ${city.id}');
    log('-');
  }

  // Retorna condições meteorológicas atuais nas capitais do país, com
  // base nas estações de solo de seu aeroporto.
  final capitalConditions = await WeatherConditionsCptec.capitalConditions();
  for (final city in capitalConditions) {
    log('CÓDIGO ICAO: ${city.icaoCode}');
    log('ATUALIZADO EM: ${city.updatedOn}');
    log('PRESSÃO ATMOSFÉRICA: ${city.atmosphericPressure}');
    log('VISIBILIDADE: ${city.visibility}');
    log('VENTO: ${city.wind}');
    log('DIREÇÃO DO VENTO: ${city.windDirection}');
    log('UMIDADE: ${city.humidity}');
    log('CONDIÇÃO: ${city.condition}');
    log('DESCRIÇÃO DA CONDIÇÃO: ${city.conditionDesc}');
    log('TEMPERATURA: ${city.temp}');
    log('-');
  }

  // Retorna condições meteorológicas atuais no aeroporto solicitado.
  final airportConditions =
      await WeatherConditionsCptec.airportConditions(icaoCode: 'SBGR');
  log('CÓDIGO ICAO: ${airportConditions.icaoCode}');
  log('ATUALIZADO EM: ${airportConditions.updatedOn}');
  log('PRESSÃO ATMOSFÉRICA: ${airportConditions.atmosphericPressure}');
  log('VISIBILIDADE: ${airportConditions.visibility}');
  log('VENTO: ${airportConditions.wind}');
  log('DIREÇÃO DO VENTO: ${airportConditions.windDirection}');
  log('UMIDADE: ${airportConditions.humidity}');
  log('CONDIÇÃO: ${airportConditions.condition}');
  log('DESCRIÇÃO DA CONDIÇÃO: ${airportConditions.conditionDesc}');
  log('TEMPERATURA: ${airportConditions.temp}');
  log('-');

  // Retorna a previsão meteorológica para 1 dia na cidade informada.
  final cityForecast =
      await WeatherForecastCptec.weatherForecastCity(cityCode: 4750);
  log('CIDADE: ${cityForecast.city}');
  log('ESTADO: ${cityForecast.state}');
  log('ATUALIZADO EM: ${cityForecast.updatedOn}');
  log('CLIMA: ${cityForecast.climate}');
  log('-');

  // Retorna a previsão meteorológica para a cidade informada para um período
  // de 1 até 6 dias. Devido a inconsistências encontradas nos retornos da
  // CPTEC, a API só consegue retornar com precisão o período máximo de 6 dias.
  final cityForecastDays = await WeatherForecastCptec.weatherForecastCityDays(
    cityCode: 4750,
    days: 6,
  );
  log('CIDADE: ${cityForecastDays.city}');
  log('ESTADO: ${cityForecastDays.state}');
  log('ATUALIZADO EM: ${cityForecastDays.updatedOn}');
  log('CLIMA: ${cityForecastDays.climate}');
  log('-');

  // Retorna a previsão oceânica para a cidade informada para 1 dia.
  final oceanForecast = await OceanForecastCptec.oceanForecastCity(
    cityCode: 241,
  );
  log('CIDADE: ${oceanForecast.city}');
  log('ESTADO: ${oceanForecast.state}');
  log('ATUALIZADO EM: ${oceanForecast.updatedOn}');
  log('ONDAS: ${oceanForecast.waves}');
  log('-');

  // Retorna a previsão oceânica para a cidade informada para um período de até
  //6 dias.
  final oceanForecastDays = await OceanForecastCptec.oceanForecastCityDays(
    cityCode: 241,
    days: 6,
  );
  log('CIDADE: ${oceanForecastDays.city}');
  log('ESTADO: ${oceanForecastDays.state}');
  log('ATUALIZADO EM: ${oceanForecastDays.updatedOn}');
  log('ONDAS: ${oceanForecastDays.waves}');
  log('-');

  // Retorna estado e lista de cidades por DDD.
  final statesAndCities = await Ddd.stateAndCities(ddd: 11);
  log('ESTADO: ${statesAndCities.state}');
  log('CIDADES: ${statesAndCities.cities}');
  log('-');

  // Lista os feriados nacionais de determinado ano.
  // Calcula os feriados móveis baseados na Páscoa e adiciona os feriados fixos.
  final holidays = await Holiday.listHolidays(year: 2023);
  for (final holiday in holidays) {
    log('DATA: ${holiday.date}');
    log('NOME: ${holiday.name}');
    log('TIPO: ${holiday.type}');
    log('-');
  }

  // Lista as marcas de veículos referente ao tipo de veículo.
  // Os tipos suportados são caminhoes, carros e motos. Quando o tipo não é
  // específicado, são buscadas as marcas de todos os tipos de veículos
  final brands = await BrandFipe.listBrands(vehicleType: 'caminhoes');
  for (final brand in brands) {
    log('NOME: ${brand.name}');
    log('VALOR: ${brand.value}');
    log('-');
  }

  // Lista as tabelas de referência existentes.
  final tables = await TableFipe.listTables();
  for (final table in tables) {
    log(table.code.toString());
    log(table.mounth.toString());
    log('-');
  }

  // Consulta o preço do veículo segundo a tabela fipe.
  final vehicles = await VehicleFipe.searchPrice(fipeCode: '0012637');
  for (final vehicle in vehicles) {
    log('${vehicle.value}');
    log('${vehicle.brand}');
    log('${vehicle.model}');
    log('${vehicle.modelYear}');
    log('${vehicle.fuel}');
    log('${vehicle.fipeCode}');
    log('${vehicle.referenceMonth}');
    log('${vehicle.typeVehicle}');
    log('${vehicle.acronymFuel}');
    log('${vehicle.dateConsultation}');
    log('-');
  }

  // Retorna os municípios da unidade federativa.
  // Requer a sigla da unidade federativa, exemplo: SP, RJ.
  final citiesIbge = await CityIbge.listCities(uf: 'SP');
  for (final city in citiesIbge) {
    log('NOME: ${city.cityName}');
    log('CÓDIGO IBGE: ${city.ibgeCode}');
    log('-');
  }

  // Retorna informações de todos estados do Brasil.
  final states = await StateIbge.listStates();
  for (final state in states) {
    log('ID: ${state.id}');
    log('NOME: ${state.name}');
    log('REGIÃO: ${state.region}');
    log('SIGLA: ${state.acronym}');
    log('-');
  }

  // Busca as informações de um estado a partir da sigla ou código.
  final state = await StateIbge.searchState(codeOrUf: 'RJ');
  log('ID: ${state.id}');
  log('NOME: ${state.name}');
  log('REGIÃO: ${state.region}');
  log('SIGLA: ${state.acronym}');
  log('-');

  // Avalia o status de um dominio .br.
  final domain = await Domain.searchDomain(domain: 'brasilapi.com.br');
  log('CÓDIGO DE STATUS: ${domain.statusCode}');
  log('STATUS: ${domain.status}');
  log('FQDN: ${domain.fqdn}');
  log('SUGESTÕES: ${domain.suggestions}');
  log('HOSTS: ${domain.hosts}');
  log('STATUS DO DOMÍNIO: ${domain.publicationStatus}');
  log('EXPIRAÇÃO: ${domain.expiresAt}');
  log('MOTIVOS: ${domain.reasons}');
  log('-');

  // Retorna informações de todos os participantes do PIX no dia atual ou
  // anterior.
  final pixParticipants = await Pix.listPixParticipants();
  for (final participant in pixParticipants) {
    log('ISPB: ${participant.ispb}');
    log('NOME: ${participant.name}');
    log('NOME ENCURTADO: ${participant.shortName}');
    log('MODO DE PARTICIPAÇÃO: ${participant.participationMode}');
    log('TIPO DE PARTICIPAÇÃO: ${participant.participationType}');
    log('DATA INÍCIO DE OPERAÇÃO: ${participant.startOperation}');
    log('-');
  }

  // Informações sobre o livro a partir do ISBN.
  final book = await Book.searchBook(isbn: '9788545702870');
  log('ISBN: ${book.isbn}');
  log('TÍTULO: ${book.title}');
  log('SUBTÍTULO: ${book.subtitle}');
  log('AUTORES:${book.authors}');
  log('EDITORA: ${book.publisher}');
  log('SINOPSE: ${book.synopsis}');
  log('DIMENSÕES: ${book.dimensions}');
  log('ANO: ${book.year}');
  log('FORMATO: ${book.format}');
  log('QUANTIDADE DE PÁGINAS: ${book.pageCount}');
  log('ASSUNTOS: ${book.subjects}');
  log('LOCALIZAÇÃO: ${book.location}');
  log('PREÇO DE TABELA: ${book.retailPrice}');
  log('URL DA CAPA: ${book.coverUrl}');
  log('PROVEDOR: ${book.provider}');
  log('-');

  // Retorna informações de todos os NCMs.
  final allNcms = await Ncm.allNcm();
  for (var i = 0; i < 5; i++) {
    log('CÓDIGO NCM: ${allNcms[i].code}');
    log('DESCRIÇÃO: ${allNcms[i].desc}');
    log('DATA DE INICIO: ${allNcms[i].startDate}');
    log('DATA DE FIM: ${allNcms[i].endDate}');
    log('TIPO DE ATO: ${allNcms[i].actType}');
    log('NÚMERO DO ATO: ${allNcms[i].actNumber}');
    log('ANO: ${allNcms[i].year}');
    log('-');
  }

  // Pesquisa por NCMs a partir de um código ou descrição.
  final ncms = await Ncm.searchNcms(code: '33051000');
  for (final ncm in ncms) {
    log('CÓDIGO NCM: ${ncm.code}');
    log('DESCRIÇÃO: ${ncm.desc}');
    log('DATA DE INICIO: ${ncm.startDate}');
    log('DATA DE FIM: ${ncm.endDate}');
    log('TIPO DE ATO: ${ncm.actType}');
    log('NÚMERO DO ATO: ${ncm.actNumber}');
    log('ANO: ${ncm.year}');
    log('-');
  }

  // Busca as informações de um NCM a partir de um código.
  final ncm = await Ncm.searchNcm(code: '33051000');
  log('CÓDIGO NCM: ${ncm.code}');
  log('DESCRIÇÃO: ${ncm.desc}');
  log('DATA DE INICIO: ${ncm.startDate}');
  log('DATA DE FIM: ${ncm.endDate}');
  log('TIPO DE ATO: ${ncm.actType}');
  log('NÚMERO DO ATO: ${ncm.actNumber}');
  log('ANO: ${ncm.year}');
  log('-');

  // Retorna as taxas de juros e alguns índices oficiais do Brasil.
  final allTax = await Tax.allTax();
  for (final tax in allTax) {
    log('NOME: ${tax.name}');
    log('VALOR: ${tax.value}');
    log('-');
  }

  // Busca as informações de uma taxa a partir do seu nome/sigla.
  final tax = await Tax.searchTax(acronym: 'CDI');
  log('NOME: ${tax.name}');
  log('VALOR: ${tax.value}');
  log('-');
}
2
likes
160
pub points
1%
popularity

Publisher

verified publisherpedrohaveloso.site

Package com base na Brasil API. Classes/modelos para uso de suas funcionalidades. Por favor, leia os termos de uso da API.

Repository (GitHub)
View/report issues

Documentation

Documentation
API reference

License

BSD-3-Clause (license)

Dependencies

http

More

Packages that depend on br_api