> ## 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 CEP

Neste exemplo, demonstraremos como estruturar uma consulta automática utilizando a funcionalidade **Executar JavaScript** para consumir a API do ViaCEP. O objetivo é interagir com o cliente, coletar e validar o CEP informado, realizar a consulta e entregar o endereço correspondente de forma dinâmica e automatizada.

### Exemplo utilizando a API do ViaCEP

1. Primeiramente, será necessário utilizar o gatilho de **Conversa Criada (WhatsApp)** na automação e validar resposta para salvarmos o valor do CEP informado na variável `payload.cep`.

   <img src="https://mintcdn.com/reportana/cEIYEKOrJ1QXoaCs/cep1.png?fit=max&auto=format&n=cEIYEKOrJ1QXoaCs&q=85&s=802b7ca5307c43c7d4ef0afe1afd1949" alt="Resultado da requisição `ViaCEP`" width="1204" height="777" data-path="cep1.png" />

   <img src="https://mintcdn.com/reportana/cEIYEKOrJ1QXoaCs/cep2.png?fit=max&auto=format&n=cEIYEKOrJ1QXoaCs&q=85&s=c52f4527b60a7323db5fb3e0cb5789f8" alt="Resultado da requisição `ViaCEP`" width="850" height="633" data-path="cep2.png" />

2. Assim que o CEP é informado, nosso sistema salva automaticamente o valor recebido (número do CEP) na variável `payload.cep`.

3. Em seguida, utilizamos o **Executar JavaScript** para fazer a requisição para a API do ViaCEP e buscar o endereço referente ao mesmo, conforme o código abaixo:

<img src="https://mintcdn.com/reportana/cEIYEKOrJ1QXoaCs/cep3.png?fit=max&auto=format&n=cEIYEKOrJ1QXoaCs&q=85&s=2db6902db27fe2e17b8bfbb4760bcf27" alt="Resultado da requisição `ViaCEP`" width="1006" height="774" data-path="cep3.png" />

<img src="https://mintcdn.com/reportana/cEIYEKOrJ1QXoaCs/cep4-2.png?fit=max&auto=format&n=cEIYEKOrJ1QXoaCs&q=85&s=2dda064ac52299b3caa4a1dcc0287f04" alt="Resultado da requisição `ViaCEP`" width="988" height="398" data-path="cep4-2.png" />

<RequestExample>
  ```JavaScript Exemplo de requisição para API do ViaCEP theme={null}
  var cep = payload.cep;

  const response = await axios.get(`https://viacep.com.br/ws/${cep}/json/`);

  if (response.status === 200) {
    // Salvando os dados da API
    payload.endereco = response.data.logradouro || "Endereço não encontrado"
    payload.bairro = response.data.bairro || "Bairro não disponível"
    payload.localidade = response.data.localidade || "Localidade não disponível"
    payload.uf = response.data.uf || "UF não disponível"
  }
  ```
</RequestExample>

4. Caso a requisição falhe, o código utilizado tenha problemas ou CEP informado esteja incorreto, podemos utilizar o **Executar JavaScript** para tratar o erro criando uma mensagem informativa e com opções para reiniciar a consulta.

<img src="https://mintcdn.com/reportana/cEIYEKOrJ1QXoaCs/cep5.png?fit=max&auto=format&n=cEIYEKOrJ1QXoaCs&q=85&s=327754e711765990ba3ce9c2111559f8" alt="Resultado da requisição `ViaCEP`" width="1000" height="781" data-path="cep5.png" />

5. Caso a requisição seja feita com sucesso, a mensagem de confirmação com o endereço referente ao CEP será enviada. Nessa mensagem, utilizamos também opções de botões para direcionar a conversa a um atendente ou finalizar o processo de confirmação.

<img src="https://mintcdn.com/reportana/cEIYEKOrJ1QXoaCs/cep6.png?fit=max&auto=format&n=cEIYEKOrJ1QXoaCs&q=85&s=d82b12fc171218402fa6275b3df6beed" alt="Resultado da requisição `ViaCEP`" width="1190" height="787" data-path="cep6.png" />

<img src="https://mintcdn.com/reportana/cEIYEKOrJ1QXoaCs/cep7.png?fit=max&auto=format&n=cEIYEKOrJ1QXoaCs&q=85&s=2e6bd8138977ee3b4983cbbb6bd452cd" alt="Resultado da requisição `ViaCEP`" width="740" height="766" data-path="cep7.png" />

**Observações:**

1. Para conhecer mais sobre as configurações avançadas das nossas mensagens de WhatsApp, acesse nosso artigo na central de ajuda: [Entendendo as Ações de Lógico, Tempo, Chat e Avançado das Automações ➾ Como Usar as Ações de Avançado](https://reportana.com/help/article/conhecendo-opcoes-de-acao-tempo-e-logica-de-automacoes#como-usar-as-ações-de-avançado)

2. Para conhecer mais sobre a estruturação de mensagens de WhatsApp, automações e utilização de botões, acesse nossos tutoriais:

   * Automações: [https://reportana.com/help/category/automations](https://reportana.com/help/category/automations)
   * WhatsApp Marketing: [https://reportana.com/help/category/whatsapp-marketing](https://reportana.com/help/category/whatsapp-marketing)
   * Mensagens com botões: [https://reportana.com/help/article/como-criar-mensagens-de-whatsapp-com-botoes](https://reportana.com/help/article/como-criar-mensagens-de-whatsapp-com-botoes)

3. Para conferir a API do ViaCEP, acesse a documentação oficial: [https://viacep.com.br](https://viacep.com.br)
