> ## Documentation Index
> Fetch the complete documentation index at: https://reportana.dev/llms.txt
> Use this file to discover all available pages before exploring further.

# Consulta CNPJ

Neste exemplo, demonstraremos como estruturar uma consulta automática utilizando a funcionalidade **Executar JavaScript** para consumir a API do ReceitaWS. O objetivo é interagir com o cliente, coletar e validar o CNPJ informado, realizar a consulta e entregar os dados cadastrais correspondentes de forma dinâmica e automatizada, assim como demonstrado no [exemplo anterior](http://localhost:3000/executar-javascript/examples/api-viacep) utilizando a API do ViaCEP.

### Exemplo utilizando a API da Receitaws

1. Nesse exemplo vamos utilizar o gatilho de **Conversa Criada (WhatsApp)** para iniciar a automação e salvar o número do CNPJ informado na variável `payload.cnpj`.

<img src="https://mintcdn.com/reportana/cEIYEKOrJ1QXoaCs/cnpj1.png?fit=max&auto=format&n=cEIYEKOrJ1QXoaCs&q=85&s=2ca467355d3666f5aec901b71b076eaa" alt="Resultado da requisição `Reiceitaws`" width="1185" height="857" data-path="cnpj1.png" />

<img src="https://mintcdn.com/reportana/cEIYEKOrJ1QXoaCs/cnpj2.png?fit=max&auto=format&n=cEIYEKOrJ1QXoaCs&q=85&s=6fc11d1b30291cbe51dd9fab2819d6dc" alt="Resultado da requisição `Reiceitaws`" width="836" height="586" data-path="cnpj2.png" />

2. Em seguida, realizamos a requisição para a API da Receitaws utilizando o **Executar JavaScript**, conforme o código abaixo:

<img src="https://mintcdn.com/reportana/cEIYEKOrJ1QXoaCs/cnpj3-2.png?fit=max&auto=format&n=cEIYEKOrJ1QXoaCs&q=85&s=6d9a1ff36e32b09b83e7f0b8d801be85" alt="Resultado da requisição `Reiceitaws`" width="987" height="421" data-path="cnpj3-2.png" />

<RequestExample>
  ```JavaScript Exemplo de requisição para API da Receitaws theme={null}
  var cnpj = payload.cnpj;

  const response = await axios.get(`https://receitaws.com.br/v1/cnpj/${cnpj}`);

  if (response.status === 200) {
    payload.razaoSocial = response.data.nome || "Razão Social não disponível";
    payload.nomeFantasia = response.data.fantasia || "Nome Fantasia não disponível";
    payload.situacao = response.data.situacao || "Situação não disponível";
    payload.dataAbertura = response.data.abertura || "Data de abertura não disponível";
    payload.telefone = response.data.telefone || "Telefone não disponível";
    payload.email = response.data.email || "E-mail não disponível";
  }
  ```
</RequestExample>

3. Em nossa estrutura de automação, caso a requisição falhe, daremos a opção para o cliente consultar o CEP novamente ou sair.

<img src="https://mintcdn.com/reportana/cEIYEKOrJ1QXoaCs/cnpj4.png?fit=max&auto=format&n=cEIYEKOrJ1QXoaCs&q=85&s=436f15ef96aea9c54cdd824a9bf6d18a" alt="Resultado da requisição `Reiceitaws`" width="1188" height="867" data-path="cnpj4.png" />

4. Caso a requisição seja feita com sucesso, os dados referentes ao CNPJ serão informados conforme a mensagem abaixo, com opções de botões para realizar uma nova consulta ou sair.

<img src="https://mintcdn.com/reportana/cEIYEKOrJ1QXoaCs/cnpj5.png?fit=max&auto=format&n=cEIYEKOrJ1QXoaCs&q=85&s=fd1958cbbee01eaf475878ea40fbb091" alt="Resultado da requisição `Reiceitaws`" width="1139" height="832" data-path="cnpj5.png" />

<img src="https://mintcdn.com/reportana/cEIYEKOrJ1QXoaCs/cnpj6.png?fit=max&auto=format&n=cEIYEKOrJ1QXoaCs&q=85&s=d82481776575181ead423e07b7a07c33" alt="Resultado da requisição `Reiceitaws`" width="731" height="792" data-path="cnpj6.png" />

**Observações:** Para conferir a API da Receitaws, acesse a documentação oficial: [https://developers.receitaws.com.br/](https://developers.receitaws.com.br/)
