Ir para o conteúdo

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
  1. Acessar o chatbot criado a partir do tutorial Criação de Chatbot.

  2. No menu lateral, acionar INTEGRAÇÕES.

  3. Na página Integrações, acionar a opção NOVA INTEGRAÇÃO.

  4. 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/

  5. Clicar no botão Salvar. Você será redirecionado para a tela de listagem das integrações.

  6. Nesta tela, habilitar a integração.

3. Usar a integração em um Motor Watson Assistant
  1. No menu lateral, acionar MOTORES DE CONVERSAÇÃO.

  2. Na página Motores de conversação, selecionar NOVO MOTOR.

  3. Escolher o motor Watson Assistant e clicar em Criar.

  4. Definir um nome para o motor, por exemplo, Watson Assistant com Integrações.

  5. Preencher as configurações necessárias para conexão com o Watson Assistant.

  6. Gerenciar as conversas do Watson Assistant com Integrações.

  7. Em Intenções, criar uma nova intenção chamada consultarCEP. Adicionar como exemplos de perguntas de treino: Quero consultar meu cep e CEP.

  8. 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".

  9. 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.

  10. Criar um diálogo filho chamado Consultar CEP, definindo como Condição de Entrada a Entidade cep.

  11. 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.

  12. No diálogo Consultar CEP, incluir uma resposta do tipo Texto: Vamos consultar seu cep: $cep.

  13. 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.

  14. 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).

  15. 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.

  16. 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
  1. Clicar em Salvar.

  2. No menu esquerdo, clicar em Teste seu chatbot.

  3. Digite "cep".

  4. Em seguida, digite "cep é 31260-260".

  5. 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.