Ir para conteúdo
  • Cadastre-se

SDK .Net pesquisa de CNPJ retornando erro


Ver Solução Respondido por Victor H. Gonzales - Panda,

Recommended Posts

Postado

Ao pesquisar um CNPJ na maioria das vezes está retornando ACBrAPI.Sdk.Client.ApiException: 'String '2015-10-08T03:00Z' was not recognized as a valid DateTime.

onde a data '2015-10-08' é a data de abertura da empresa, detalhe esse erro ocorre na chamada da API e eu nem uso essa informação, se eu ficar tentando acaba dando certo, mas fica consumindo os créditos

 

 

Postado

Não consegui rodar pelo debug, porque o debug pede o id do documento, e no caso do endpoint de pesquisa de CNPJ é passado apenas o parâmetro CNPJ sem máscara, não consegui testar aqui pelo postman, mas como eu disse quando dá erro se eu tentar mais 2 ou 3 vezes aí funciona, mas também depois de um tempo volta a dar o mesmo erro no formato de data de cadastro da empresa, esse erro já vem ao chamar a API.

Postado
        public List<string> PesquisarCNPJ(string CNPJ, string Ambiente)
        {
            Configuration config = new();

            //cria um list
            List<string> Dados = new();

            //realiza a chamada para a API da ACBR
            if (Ambiente == "HOMOLOGACAO")
            {
                config.BasePath = _configuration["ACBrAPI:BasePathSandBox"];
                config.AccessToken = _configuration["ACBrAPI:AccessTokenSandBox"];
            }
            else
            {
                config.BasePath = _configuration["ACBrAPI:BasePathProducao"];
                config.AccessToken = _configuration["ACBrAPI:AccessTokenProducao"];
            }
            var api = new CnpjApi(_httpClient, config);
            var cnpj = CNPJ.Replace(".", "").Replace("/", "").Replace("-", "");

            //Consulta os dados da empresa
            try
            {
                CnpjEmpresa result = api.ConsultarCnpj(cnpj);
                {
                    Dados.Add(result.atividade_principal.codigo);
                    if (result.atividade_principal.descricao != null)
                    {
                        Dados.Add(_IGlobais.RemoveAcentos(result.atividade_principal.descricao));
                    }
                    else
                    {
                        Dados.Add("");
                    }
                    if (result.razao_social != null)
                    {
                        Dados.Add(_IGlobais.RemoveAcentos(result.razao_social));
                    }
                    else
                    {
                        Dados.Add("");
                    }
                    if (result.nome_fantasia != null)
                    {
                        Dados.Add(_IGlobais.RemoveAcentos(result.nome_fantasia));
                    }
                    else
                    {
                        Dados.Add("");
                    }
                    if (result.endereco.tipo_logradouro != null && result.endereco.logradouro != null)
                    {
                        Dados.Add(_IGlobais.RemoveAcentos(result.endereco.tipo_logradouro) + " " + _IGlobais.RemoveAcentos(result.endereco.logradouro));
                    }
                    else
                    {
                        Dados.Add(result.endereco.tipo_logradouro + " " + result.endereco.logradouro);
                    }
                    if (result.endereco.numero != null)
                    {
                        Dados.Add(result.endereco.numero);
                    }
                    else
                    {
                        Dados.Add("");
                    }
                    if (result.endereco.cep.Length == 8)
                    {
                        Dados.Add(result.endereco.cep.Substring(0, 5) + "-" + result.endereco.cep.Substring(5, 3));
                    }
                    else if (result.endereco.cep != null)
                    {
                        Dados.Add(result.endereco.cep);
                    }
                    else
                    {
                        Dados.Add("");
                    }
                    if (result.endereco.complemento != null)
                    {
                        Dados.Add(_IGlobais.RemoveAcentos(result.endereco.complemento));
                    }
                    else
                    {
                        Dados.Add("");
                    }
                    if (result.endereco.bairro != null)
                    {
                        Dados.Add(_IGlobais.RemoveAcentos(result.endereco.bairro));
                    }
                    else
                    {
                        Dados.Add("");
                    }
                    if (result.endereco.municipio.codigo_ibge != null)
                    {
                        Dados.Add(result.endereco.municipio.codigo_ibge);
                    }
                    else
                    {
                        Dados.Add("");
                    }
                    if (result.endereco.municipio.descricao != null)
                    {
                        Dados.Add(_IGlobais.RemoveAcentos(result.endereco.municipio.descricao));
                    }
                    else
                    {
                        Dados.Add("");
                    }
                    if (result.endereco.uf != null)
                    {
                        Dados.Add(result.endereco.uf);
                    }
                    else
                    {
                        Dados.Add("");
                    }
                    if (result.email != null)
                    {
                        Dados.Add(result.email);
                    }
                    else
                    {
                        Dados.Add("");
                    }
                    if (result.simples != null)
                    {
                        if (result.simples.optante == true)
                        {
                            Dados.Add("SIM");
                        }
                        else
                        {
                            Dados.Add("NAO");
                        }
                    }
                    else
                    {
                        Dados.Add("");
                    }
                    if (result.telefones.Count >= 1)
                    {
                        if (result.telefones[0].numero.Length == 8)
                        {
                            Dados.Add("(" + result.telefones[0].ddd + ") " + result.telefones[0].numero.Substring(0, 4) + "-" + result.telefones[0].numero.Substring(4, 4));
                        }
                        else
                        {
                            Dados.Add("(" + result.telefones[0].ddd + ") " + result.telefones[0].numero);
                        }
                    }
                    else
                    {
                        Dados.Add("");
                    }
                    if (result.telefones.Count == 2)
                    {
                        if (result.telefones[1].numero.Length == 8)
                        {
                            Dados.Add("(" + result.telefones[1].ddd + ") " + result.telefones[1].numero.Substring(0, 4) + "-" + result.telefones[1].numero.Substring(4, 4));
                        }
                        else
                        {
                            Dados.Add("(" + result.telefones[1].ddd + ") " + result.telefones[1].numero);
                        }
                    }
                    else
                    {
                        Dados.Add("");
                    }
                }
            }
            catch (ApiException erro)
            {
                if (erro.Message.Contains("deve ser um CNPJ válido"))
                {
                    Dados.Add("Erro: CNPJ Inválido!");
                }
                else if (erro.Message.Contains("A requisição ultrapassa o limite"))
                {
                    Dados.Add("Erro: Limite de Cota Atingido!");
                }
                else if (erro.Message.Contains("The JWT is no longer valid"))
                {
                    Dados.Add("Erro: Token no Ambiente de " + Ambiente + " expirado!");
                }
                else
                {
                    Dados.Add("Erro: " + erro.Message.ToString());
                }
            }
            return Dados;
        }
  • Consultores
Postado

Fiz um teste e não tive esse erro 

{
    private static void Main(string[] args)
    {

        string secret = Environment.GetEnvironmentVariable("TOKEN")!;

        Configuration config = new Configuration();
        config.BasePath = "https://prod.acbr.api.br";
        // Configure API key authorization: jwt
        config.AddApiKey("Authorization", secret);
        // Uncomment below to setup prefix (e.g. Bearer) for API key, if needed
        config.AddApiKeyPrefix("Authorization", "Bearer");
        // Configure OAuth2 access token for authorization: oauth2
        config.AccessToken = secret;

        // create instances of HttpClient, HttpClientHandler to be reused later with different Api classes
        HttpClient httpClient = new HttpClient();
        HttpClientHandler httpClientHandler = new HttpClientHandler();
        var apiInstance = new CnpjApi(httpClient, config, httpClientHandler);
        var cnpj = "18760540000139";  // string | CNPJ sem máscara.

        try
        {
            // Consultar dados do CNPJ
            CnpjEmpresa result = apiInstance.ConsultarCnpj(cnpj);
            Console.WriteLine(result);
        }
        catch (ApiException e)
        {
            Console.WriteLine("Exception when calling CnpjApi.ConsultarCnpj: " + e.Message);
            Console.WriteLine("Status Code: " + e.ErrorCode);
            Console.WriteLine(e.StackTrace);
        }
    }
}

 

Postado

As vezes não dá erro mesmo, o erro acontece ao fazer a chamada da API mais de 1 vez seguida, por exemplo fez a chamada não deu erro, aí faz a chamada da api novamente, e assim sucessivamente, o erro costuma acontecer na terceira ou quarta chamada da API

  • 2 semanas depois ...
  • 4 semanas depois ...
  • Consultores
  • Solution
Postado

faça um teste novamente daqui aproximadamente 30 min, a correção estará publicada

Consultor SAC ACBr

Victor H Gonzales - Pandaaa
Ajude o Projeto ACBr crescer - Assine o SAC

Projeto ACBr     Telefone:(15) 2105-0750 WhatsApp(15)99790-2976.  Discord

Projeto ACBr - A maior comunidade Open Source de Automação Comercial do Brasil

Participe de nosso canal no Discord e fique ainda mais próximo da Comunidade !!

"Aprender é a única coisa que a mente nunca se cansa, nunca tem medo e nunca se arrepende” - Leonardo da Vinci

"Ter sucesso é falhar repetidamente, mas sem perder o entusiasmo"

Visitante
Este tópico está agora fechado para novas respostas
×
×
  • Criar Novo...

Informação Importante

Colocamos cookies em seu dispositivo para ajudar a tornar este site melhor. Você pode ajustar suas configurações de cookies, caso contrário, assumiremos que você está bem para continuar.

The popup will be closed in 10 segundos...