Trilha Avançada
Criando Chatbots Transacionais (Watson Assistant)
1. Analisar exemplo de API
Neste tutorial, vamos fazer uma integração com uma API pública e gratuita que pode ser chamada para obter os dados de um determinado CEP.
Para observar um exemplo da saída dessa API, acesse: exemplo viacep.
2. Criar a integração
-
Acessar o chatbot criado a partir do tutorial Criação de Chatbot.
-
No menu lateral, acionar INTEGRAÇÕES.
-
Na página Integrações, acionar a opção NOVA INTEGRAÇÃO.
-
Na tela para criar uma nova integração, preencher os seguintes campos:
- Nome: obterCEP
- Método HTTP: GET
- Endereço Base: http://viacep.com.br
- Porta: 80
- Caminho: /ws/{cep}/json/
-
Clicar no botão Salvar. Você será redirecionado para a tela de listagem das integrações.
-
Nesta tela, habilitar a integração.
3. Usar a integração em um Motor Watson Assistant
-
No menu lateral, acionar MOTORES DE CONVERSAÇÃO.
-
Na página Motores de conversação, selecionar NOVO MOTOR.
-
Escolher o motor Watson Assistant e clicar em Criar.
-
Definir um nome para o motor, por exemplo, Watson Assistant com Integrações.
-
Preencher as configurações necessárias para conexão com o Watson Assistant.
-
Gerenciar as conversas do Watson Assistant com Integrações.
-
Em Intenções, criar uma nova intenção chamada consultarCEP. Adicionar como exemplos de perguntas de treino:
Quero consultar meu cep
eCEP
. -
Em Entidades, criar uma nova entidade chamada cep. Incluir um valor
cep
do tipo Expressão Regular com o conteúdo:\bcep\sé\s(\d{5}-?\d{3})\b
. Esta expressão regular captura CEPs nos formatos "40290-280" ou "40290280". -
Nos diálogos, alterar o diálogo inicial Bem-vindo, definindo como Condição de Entrada a Intenção consultarCEP. Também altere a resposta de texto para
Olá, posso te ajudar a consultar seu cep. Digite o cep que deseja consultar.
-
Criar um diálogo filho chamado Consultar CEP, definindo como Condição de Entrada a Entidade cep.
-
No diálogo Consultar CEP, configurar duas variáveis de contexto:
- serprobots_skip_user_input:
true
- cep:
<? input.text.extract('(\d{5}-?\d{3})',1) ?>
A primeira variável indica que o Serprobots executará a ação (Será criada nos próximos passos) sem aguardar interação do usuário. A segunda extrai o CEP da mensagem e o armazena na variável cep.
- serprobots_skip_user_input:
-
No diálogo Consultar CEP, incluir uma resposta do tipo Texto:
Vamos consultar seu cep: $cep
. -
Ainda no diálogo Consultar CEP, adicionar na seção Ações o seguinte JSON:
[ { "name": "obterCEP", "type": "client", "parameters": { "cep": "$cep"}, "result_variable": "action_result" } ]
O campo name deve corresponder ao nome da integração criada anteriormente. Em parameters, informar os parâmetros que podem ser enviados para a integração. No exemplo, é enviado o valor da variável de contexto que contém o CEP. O result_variable define onde será armazenado o resultado da ação.
-
Criar outro diálogo filho de Consultar CEP, chamado Resposta CEP com a Condição de Entrada:
$action_result.status != 'ERROR'
(usar o editor avançado de condições). -
No diálogo Resposta CEP, definir a variável de contexto serprobots_skip_user_input como
false
para que o Serprobots aguarde nova interação do usuário. -
No diálogo Resposta CEP, incluir uma resposta do tipo Texto:
Veja as informações do seu cep: $cep. Localidade $action_result.localidade. Logradouro: $action_result.logradouro
.
4. Testar a integração
-
Clicar em Salvar.
-
No menu esquerdo, clicar em Teste seu chatbot.
-
Digite "cep".
-
Em seguida, digite "cep é 31260-260".
-
Verifique as respostas: "Vamos consultar seu cep: 31260-260" e "Veja as informações do seu cep: Localidade Belo Horizonte Logradouro: Rua Desembargador Fernando Bhering".
Para saber mais
Consulte a documentação da plataforma Serprobots.