Criar um fluxo de comunicação low code com requisição HTTP
Caminho: Configurações → Fluxo de comunicação → Adicionar novo
Visão geral
Um fluxo low code permite que o agente virtual converse com sistemas que não têm integração pronta com o Opa! Suite: consultar um pedido, enviar uma fatura, cadastrar um lead num CRM. Você monta a automação com cards, sem programar o fluxo inteiro, e usa JavaScript só onde precisar tratar dados.
O exemplo desta página tem três etapas: perguntar um dado ao contato, consultar uma API com esse dado e seguir um caminho conforme a resposta.
Pré-requisitos
- Uma integração HTTP instalada com o endereço e a autenticação da API. Veja Integração HTTP.
- Os dados da API: endereço (endpoint), método, cabeçalhos e o formato da resposta.
Passo a passo
1. Criar o fluxo
- Acesse Configurações → Fluxo de comunicação e clique em Adicionar novo.
- Preencha os campos:
- Nome: identificação do fluxo.
- País: país do fluxo. Ele define o idioma do atendimento.
- Intenção (opcional): descreve quem deve ser levado para este fluxo pelo reconhecimento de intenção. Veja Identificar intenção.
- Variáveis (opcional): variáveis que o fluxo recebe de outro fluxo pelo card Executar fluxo. O nome deve estar em lowercase (
nomevariavel), camelCase (nomeVariavel) ou snake_case (nome_variavel).
- Salve o fluxo.
- Na lista, clique em Ação → Abrir fluxo.
2. Perguntar o dado ao contato
- Clique no + abaixo do card inicial.
- Em Tipo, marque Interações e, em Ferramenta, escolha Enviar pergunta.
- Em Resposta esperada, escolha Aguardar interação.
- Escreva a Pergunta (por exemplo, "Informe o número do seu pedido").
- Marque Gerar variável com a resposta do usuário e dê um nome em Variável (por exemplo,
numero_pedido). - Em Tipo da validação, escolha o formato esperado (Número, por exemplo) e preencha a Mensagem de erro e as tentativas.
- Clique em Salvar.
3. Consultar a API
- Clique no + abaixo da pergunta.
- Em Tipo, marque Ferramentas do sistema e, em Ferramenta, escolha Requisição HTTP.
- Preencha a seção Configuração:
- Integração: a integração HTTP da API.
- Endpoint: o caminho a chamar. Use variáveis entre chaves duplas, como
/pedidos/. - Método: GET, POST, PUT, PATCH ou DELETE.
- Headers (JSON), Body (JSON) e Query Params (JSON), conforme a API pede.
- Utilizar Pre-request Script e Utilizar Pos-request Script (opcionais): scripts em JavaScript executados antes e depois da chamada. Use
SETVARS({})para criar variáveis no script.
- Na seção Resposta, preencha Mapeamento de propriedades da resposta para variáveis (JSON), indicando onde está cada dado na resposta. Exemplo:
{ "status_pedido": "data.status" }. - Clique em Testar requisição para ver o resultado da chamada na janela Resultado do teste.
- Clique em Salvar.
Marque Gerar pergunta de escolha com a resposta para transformar uma lista retornada pela API num menu de opções para o contato. Informe a Propriedade da resposta que contém o array de dados, a Mensagem da pergunta, a Descrição da opção de escolha (com os atributos entre chaves, como Pedido {id}) e o Mapeamento de propriedades da escolha para variáveis (JSON).
4. Decidir o caminho
- Clique no + abaixo da requisição.
- Em Ferramentas do sistema, escolha Condicional.
- Em Se, escolha Variável dinâmica.
- Escolha a Variável mapeada na resposta (por exemplo,
status_pedido), a Condição e o Valor (por exemplo, Igual a "entregue"). - Clique em Salvar e configure os caminhos verdadeiro e falso com mensagens ou transferências.
Resultado esperado
O fluxo pergunta o dado, consulta a API e responde o contato conforme o resultado. As variáveis mapeadas podem ser usadas nos cards seguintes, como Enviar mensagem e Enviar notificação.
Problemas comuns
| Sintoma | O que verificar |
|---|---|
| A variável não aparece na lista de outro card | A variável precisa ser criada num card anterior. Respostas de perguntas marcadas como Campo com informações sensíveis só aparecem para o card Requisição HTTP. |
| A requisição não traz os dados esperados | Use Testar requisição e confira o endpoint, o método e o caminho informado no mapeamento da resposta. |
| O nome da variável é recusado | Use lowercase, camelCase ou snake_case, sem espaços nem acentos. |
Boas práticas
- Teste cada requisição com Testar requisição antes de publicar o fluxo.
- Trate o caminho de erro com um Condicional, para o contato não ficar sem resposta quando a API falhar.
- Use nomes de variáveis que digam o que guardam, como
status_pedido. - Marque Campo com informações sensíveis quando pedir dados pessoais.