receita_ws 1.0.0

Package para consulta das informações do CNPJ (https://receitaws.com.br/).

ReceitaWS

Uso #

Um simples exemplo de uso:

import 'receitaws.dart' as ws;
import 'dart:io';

main() async {
  var cnpj = new ws.receitaws();

  print('Digite o CNPJ: ');

  String lido = stdin.readLineSync();

  var result = await cnpj.searchCNPJ(lido, null);

  // Sucesso
  if (cnpj.getResponse() == 200) {
    print('CNPJ: '+cnpj.getCNPJ());
    print('Tipo: '+cnpj.getTipo());
    print('Data de Abertura: '+cnpj.getAbertura());
    print('Nome Empresarial: '+cnpj.getNome());
    print('Nome Fantasia: '+cnpj.getFantasia());
    print('Porte: '+cnpj.getPorte());
    print('Atividade Principal: '+cnpj.getAtividadePrincipal());
    print('CANE Prinripal: '+cnpj.getCNAEPrincipal());
    print('CANE Prinripal (Números): '+cnpj.getCNAEPrincipalNumeros().toString());

    Map<String, String> sec = new Map<String, String>();

    sec = cnpj.getAtividadesSecundarias();

    sec.forEach((v1,v2) => print('Atividade Secundária: ${v1}: CNAE ${v2}'));

    print('Logradouro: '+cnpj.getLogradouro());
    print('Número: '+cnpj.getNumero());
    print('Complemento: '+cnpj.getComplemento());
    print('CEP: '+cnpj.getCEP());
    print('Bairro: '+cnpj.getBairro());
    print('Municipio: '+cnpj.getMunicipio());
    print('UF: '+cnpj.getUF());
    print('E-mail (Endereço Eletrônico): '+cnpj.getEmail());
    print('Telefone: '+cnpj.getTelefone());
    print('Ente Federativo Responsável (EFR): '+cnpj.getEFR());
    print('Situação: '+cnpj.getSituacao());
    print('Data da Situação: '+cnpj.getDataSituacao());
    print('Motivo da Situação: '+cnpj.getMotivoSituacao());
    print('Natureza Juridica: '+cnpj.getNaturezaJuridica());
    print('Situação Especial: '+cnpj.getSituacaoEspecial());
    print('Data da Situação Especial: '+cnpj.getDataSituacaoEspecial());

    print('Ultima Atualização: '+cnpj.getUltimaAtualizacao());

    print('Capital Social: '+cnpj.getCapitalSocial());

    Map<String, String> qsa = new Map<String, String>();

    qsa = cnpj.getQSA();

    qsa.forEach((v1,v2) => print('Sócio: ${v1}: Qualificação ${v2}'));

  } else {
    print('Código de Retorno: '+cnpj.getResponse().toString());
    print('Erro: '+cnpj.getBody());
  }
}

Recursos #

ReadIP - Método que realiza a consulta da localização do IP Externo.

gets

getBody(); // Retorna na integralidade a resposta da API.
getResponse(); // Retorna o código da consulta a API (Padrão 200 para sucesso).

Quando houver sucesso (código 200) os métodos abaixo trazem retorno, do contrário retornam null;

getCNPJ(); // Recupera o CNPJ da Empresa.
getTipo(); // Recupera o Tipo da Empresa (Matriz/Filial).
getAbertura(); // Recupera a Data da Abertura da Empresa.
getNome(); // Recupera o Nome Empresarial da Empresa.
getFantasia(); // Recupera o Nome Fantasia da Empresa.
getPorte(); // Recupera o Porte da Empresa.
getAtividadePrincipal(); // Recupera o Ramo de Atividade Principal da Empresa.
getCNAEPrincipal(); // Recupera o CNAE Principal da Empresa.
getCNAEPrincipalNumeros(); // Recupera o CNAE Principal (em números) da Empresa.
getLogradouro(); // Recupera o Logradouro do endereço da Empresa.
getNumero()(); // Recupera o Número do endereço da Empresa.
getComplemento(); // Recupera o Complemento do endereço da Empresa.    
getCEP(); // Recupera o CEP do endereço da Empresa.
getBairro(); // Recupera o Bairro do endereço da Empresa.
getUF(); // Recupera o Estado do endereço da Empresa.
getEmail(); // Recupera o e-mail da Empresa.
getTelefone(); // Recupera o telefone da Empresa.
getEFR(); // Recupera o EFR (Ente Federativo Responsável) da Empresa.
getSituacao(); // Recupera a Situação do cadastro CNPJ da Empresa.
getDataSituacao(); // Recupera a data da Situação do cadastro do CNPJ da Empresa.
getMotivoSituacao(); // Recupera o motivo situação da Empresa.
getNaturezaJuridica(); // Recupera a Natureza Juridica da Empresa.
getSituacaoEspecial(); // Recupera a data da situação especial da Empresa.
getUltimaAtualizacao(); // Recupera a data da última atualização do registro junto a SEFAZ.         

Funcionalidades e Bugs #

Por favor para requisições de funcionalidades e bugs issue tracker.

1.0.0 #

  • Versão inicial, desenvolvido por Mateus Penha.

example/receita_ws_example.dart

import 'package:receita_ws/receita_ws.dart' as ws;
import 'dart:io';

main() async {
  var cnpj = new ws.receita_ws();

  print('Digite o CNPJ: ');

  String lido = stdin.readLineSync();

  var result = await cnpj.searchCNPJ(lido, null);

  // Sucesso
  if (cnpj.getResponse() == 200) {
    print('CNPJ: '+cnpj.getCNPJ());
    print('Tipo: '+cnpj.getTipo());
    print('Data de Abertura: '+cnpj.getAbertura());
    print('Nome Empresarial: '+cnpj.getNome());
    print('Nome Fantasia: '+cnpj.getFantasia());
    print('Porte: '+cnpj.getPorte());
    print('Atividade Principal: '+cnpj.getAtividadePrincipal());
    print('CANE Prinripal: '+cnpj.getCNAEPrincipal());
    print('CANE Prinripal (Números): '+cnpj.getCNAEPrincipalNumeros().toString());

    Map<String, String> sec = new Map<String, String>();

    sec = cnpj.getAtividadesSecundarias();

    sec.forEach((v1,v2) => print('Atividade Secundária: ${v1}: CNAE ${v2}'));

    print('Logradouro: '+cnpj.getLogradouro());
    print('Número: '+cnpj.getNumero());
    print('Complemento: '+cnpj.getComplemento());
    print('CEP: '+cnpj.getCEP());
    print('Bairro: '+cnpj.getBairro());
    print('Municipio: '+cnpj.getMunicipio());
    print('UF: '+cnpj.getUF());
    print('E-mail (Endereço Eletrônico): '+cnpj.getEmail());
    print('Telefone: '+cnpj.getTelefone());
    print('Ente Federativo Responsável (EFR): '+cnpj.getEFR());
    print('Situação: '+cnpj.getSituacao());
    print('Data da Situação: '+cnpj.getDataSituacao());
    print('Motivo da Situação: '+cnpj.getMotivoSituacao());
    print('Natureza Juridica: '+cnpj.getNaturezaJuridica());
    print('Situação Especial: '+cnpj.getSituacaoEspecial());
    print('Data da Situação Especial: '+cnpj.getDataSituacaoEspecial());

    print('Ultima Atualização: '+cnpj.getUltimaAtualizacao());

    print('Capital Social: '+cnpj.getCapitalSocial());

    Map<String, String> qsa = new Map<String, String>();

    qsa = cnpj.getQSA();

    qsa.forEach((v1,v2) => print('Sócio: ${v1}: Qualificação ${v2}'));

  } else {
    print('Código de Retorno: '+cnpj.getResponse().toString());
    print('Erro: '+cnpj.getBody());
  }
}

Use this package as a library

1. Depend on it

Add this to your package's pubspec.yaml file:


dependencies:
  receita_ws: ^1.0.0

2. Install it

You can install packages from the command line:

with pub:


$ pub get

with Flutter:


$ flutter pub get

Alternatively, your editor might support pub get or flutter pub get. Check the docs for your editor to learn more.

3. Import it

Now in your Dart code, you can use:


import 'package:receita_ws/receita_ws.dart';
  
Popularity:
Describes how popular the package is relative to other packages. [more]
0
Health:
Code health derived from static analysis. [more]
97
Maintenance:
Reflects how tidy and up-to-date the package is. [more]
100
Overall:
Weighted score of the above. [more]
49
Learn more about scoring.

We analyzed this package on Jul 17, 2019, and provided a score, details, and suggestions below. Analysis was completed with status completed using:

  • Dart: 2.4.0
  • pana: 0.12.19

Platforms

Detected platforms: Flutter, web, other

No platform restriction found in primary library package:receita_ws/receita_ws.dart.

Health issues and suggestions

Document public APIs. (-1 points)

37 out of 37 API elements have no dartdoc comment.Providing good documentation for libraries, classes, functions, and other API elements improves code readability and helps developers find and use your API.

Fix lib/src/receita_ws_base.dart. (-2.48 points)

Analysis of lib/src/receita_ws_base.dart reported 5 hints:

line 2 col 8: Unused import: 'package:xml2json/xml2json.dart'.

line 81 col 7: DO use curly braces for all flow control structures.

line 388 col 12: Don't explicitly initialize variables to null.

line 410 col 12: Don't explicitly initialize variables to null.

line 422 col 9: Don't explicitly initialize variables to null.

Format lib/receita_ws.dart.

Run dartfmt to format lib/receita_ws.dart.

Format lib/src/TAtividadePrincipal.dart.

Run dartfmt to format lib/src/TAtividadePrincipal.dart.

Format lib/src/TAtividadesSecundarias.dart.

Run dartfmt to format lib/src/TAtividadesSecundarias.dart.

Format lib/src/TQSA.dart.

Run dartfmt to format lib/src/TQSA.dart.

Dependencies

Package Constraint Resolved Available
Direct dependencies
Dart SDK >=2.1.0 <3.0.0
http ^0.12.0+1 0.12.0+2
xml2json ^3.0.3 3.0.3
Transitive dependencies
async 2.3.0
charcode 1.1.2
collection 1.14.11
convert 2.1.1
http_parser 3.1.3
meta 1.1.7
path 1.6.2
petitparser 2.4.0
source_span 1.5.5
string_scanner 1.0.4
term_glyph 1.1.0
typed_data 1.1.6
xml 3.5.0
Dev dependencies
pedantic ^1.0.0 1.8.0+1
test ^1.0.0

Admin