Como permitir interações entre sistemas externos com o Bloco Assíncrono do Hi Bot

Prev Next

Sobre a função

O bloco Comunicação assíncrona permite que o Hi Bot processe várias mensagens do consumidor de uma vez e obtenha as respostas por meio de uma API externa.

Esse recurso é ideal para os casos em que a empresa utiliza um agente de IA próprio e precisa de mais tempo ou de novas interações para gerar uma resposta conclusiva.

Exemplo prático:

Quando recursos como Pergunta, Botões, Listas etc., são utilizados, o Hi Bot recebe uma resposta única do usuário, armazena em uma variável e dá continuidade ao fluxo.

Porém, é comum que os usuários enviem várias mensagens "quebradas", como:
Image

Para esse cenário, é recomendado o uso do bloco Comunicação assíncrona, pois ele funciona como um endpoint, sendo capaz de esperar todas as interações do usuário, antes de dar continuidade à conversa.

Veja como fazer

Faça login em nossa plataforma e acesse o departamento de bot desejado.

Em seguida, clique em Configurações > Bot > Fluxos de conteúdos:
Image


Adicione a Comunicação assíncrona que fica no bloco Integração, como mostramos abaixo:
Image


Entenda como preencher cada um dos campos do bloco:
Image

1- Pergunta: Define a mensagem inicial enviada ao consumidor. Essa pergunta marca o momento em que o fluxo entra em situação de parada, permitindo que o cliente envie múltiplas mensagens enquanto a interação externa acontece.

2- Variável para resposta do cliente: Seleciona a variável que irá armazenar todas as mensagens enviadas pelo consumidor durante a comunicação assíncrona.
Essa variável é utilizada pelo sistema externo para processar as interações recebidas enquanto o fluxo permanece pausado.

3- Variável de registro: Quando ativada, permite taguear as respostas do consumidor para fins de histórico, auditoria ou relatórios, sem interferir diretamente na lógica da integração assíncrona. Saiba mais.

4- Título da API: Esse título é apenas identificador e facilita a organização quando há múltiplas APIs configuradas no fluxo.

5- URL: Endereço do endpoint externo responsável por receber e processar as mensagens enquanto o atendimento está em situação de parada.
Esse endpoint deve estar preparado para consumir as informações enviadas pelo consumidor e responder conforme a lógica definida no ambiente externo do cliente.

6- Corpo: Estrutura do payload enviado na chamada da API.

É nesse campo que são configurados os dados enviados ao sistema externo, como mensagens do consumidor, identificadores da sessão e demais informações necessárias para o processamento.

O usuário poderá criar o corpo da requisição da sua API da maneira que for conveniente, mas é importante incluir o protocolo (treatmentId) e a mensagem do consumidor (message).

Exemplo de chamada de API:

curl --location 'https://bot-api.hiplatform.com/1.0/api/treatmentStopRuleAsync' \
--header 'Authorization: Basic <<TOKEN_DE_ACESSO>>' \
--header 'Content-Type: application/json' \
--data '{
    "message": "mensagem para o usuário",
    "treatmentId": "<<ID DE SESSÃO DE ATENDIMENTO>>",
    "completed": true|false,
    “data”: “qualquer valor em texto”
}'

Importante:
  • Para toda chamada a esse endpoint será necessário fornecer o TOKEN_DE_ACESSO que será descrito na próxima seção.
  • Para toda chamada a esse endpoint será necessário informar qual é a sessão que está em situação de parada (treatmentId, sessionId e hi_protocol carregam sempre o mesmo valor).
  • Para toda chamada a esse endpoint o campo “completed” é opcional, porém relevante; ele determina se uma situação de parada numa sessão de atendimento deve continuar ou não interagindo com o consumidor; caso seja hipótese de sair, o fluxo se seguirá normalmente.
  • Para toda chamada a esse endpoint o campo “data” é opcional; caso seja hipótese de sair, o valor preenchido será salvo na variável de retorno configurada no Bloco Comunicação assíncrona.

7- Habilitar autenticação: Permite definir o modelo de autenticação utilizado na chamada da API. Esse recurso é obrigatório, pois o endpoint externo exige credenciais, como token de acesso, para autorizar a comunicação.

8- Criar cabeçalho/header: Utilizado para adicionar headers personalizados à requisição, como Authorization, Content-Type ou outros parâmetros exigidos pelo endpoint externo.

9- Mensagem de erro: Mensagem exibida ao consumidor caso ocorra falha na integração externa durante a comunicação assíncrona. Esse texto garante uma experiência controlada, evitando que o cliente fique sem retorno em caso de erro.

10- Variável para salvar o retorno da API: Define a variável que irá receber o conteúdo retornado pelo endpoint externo quando a situação de parada for finalizada.
Esse valor corresponde ao campo data enviado na chamada do endpoint quando o parâmetro completed for definido como true.

11- Limite de interações: Define a quantidade máxima de mensagens que o consumidor pode enviar enquanto o fluxo estiver em situação de parada. Se esse limite for atingido, o fluxo deixa a comunicação assíncrona e segue para o comportamento definido no fallback.

12- Conteúdo do fallback: Conteúdo exibido ao consumidor caso o limite de interações seja alcançado ou a comunicação assíncrona não seja concluída corretamente.
Esse recurso garante a continuidade do atendimento, direcionando o cliente para outro fluxo ou canal.

Token de acesso

Para obter o token de acesso às APIs da Hi, siga as instruções disponíveis na documentação de Gestão de usuários de API, clique aqui para ver como acessar.

Após a criação do usuário de API, siga os passos abaixo para gerar o token corretamente:

  • Concatene o usuário e a senha da API, separados por dois-pontos (:).
    Exemplo: usuarioApi:senhaApi
  • Codifique essa string em Base64. Você pode utilizar uma ferramenta online, como:
    https://www.base64encode.org/
  • Envie o token gerado no header de autorização da requisição, utilizando o formato: Authorization: Basic dXN1YXJpb0FwaTpzZW5oYUFwaQ=

Esse token é obrigatório para autenticar as chamadas às APIs da Hi e garantir a segurança da integração.