Árvore de páginas

Versões comparadas

Chave

  • Esta linha foi adicionada.
  • Esta linha foi removida.
  • A formatação mudou.
Comentário: Migration of unmigrated content due to installation of a new plugin

...

  1. Training Phrases: São as frases que quando o usuário escrever fará ele entrar naquele fluxo de conversa específico, é o gatilho que ativa o node cadastrado. Estas frases serão utilizadas para ensinar os algoritmos do TOTVS Carol Assistant a entender a intenção do cliente e disparar as ações e respostas necessárias para respondê-lo.

    No exemplo a seguir, o gatilho do node é ativado quando o usuário está tentando fazer um pedido de pizza no chatbot. Para cadastrar as frases que ativam o node basta preencher os campos, caso seja desejado adicionar mais frases, clique na opção + Add a training phrase.

    Recomendações de boas práticas de Training Phrases é usar no mínimo 10 frases, completamente diferentes e não genéricas.
    1. Node name: É o nome do nó.


    2. If an user says: em português é "Se um usuário disser", é onde deve ser inserida a frase que o cliente deve usar naquele node que será identificada como gatilho para a interação.


    3. Remove: Remove a frase inserida.
    4. +Add a training phrase: Adiciona uma frase de treinamento, em um node pode ser usado mais de uma frase de treinamento.
    5. Melhores práticas: Ter pelo menos 10 frases de treinamento.

      Section



  2. Parameters: Todos os dados podem ser extraídos das mensagens do usuário, identificados por meio do Nome do Parâmetro configurado

    Section


    1. + Add a parameter: Em português adicionar parâmetro

      Section


      1. Parameter name: Nome do parâmetro

      2. Parameter type: Tipo de parâmetro

        Parameter type map: São informações que fornecem o caminho para os valores de referência para os sinônimos. Toda entrada do mapa possui apenas um valor de referência e uma lista de sinônimos. São do tipo map os seguintes parameters:

        @carol.date-time
        @carol.date
        @carol.date-calendar
        @carol.date-period
        @carol.time
        @carol.time-period

        Parameter type list: São informações inseridas de valor único sem sinônimo nem valor de referência. São do tipo lista os seguintes parameters:

        @carol.color: Corresponde a entradas de cores como o roxo, quando uma cor é inserida o valor dela é extraído.
        @carol.image
        @carol.language

        Parameter type composite: É um tipo de lista que é usada quando se usa um alias. São do tipo composite os seguintes parameters:

        @carol.cardinal
        @carol.ordinal
        @carol.geo-country
        @carol.geo-city
        @carol.geo-state
        @carol.location
        @carol.zip-code
        @carol.geo-capital
        @carol.currency-name
        @carol.unit-area-name
        @carol.unit-length-name
        @carol.unit-speed-name
        @carol.unit-volume-name
        @carol.unit-weigth-name
        @carol.uint-information-name
        @carol.given-name
        @carol.last-name
        @carol.person
        @carol.music-genre
        @carol.email
        @carol.number
        @carol.number-integer
        @carol.number-sequence
        @carol.flight-number
        @carol.unit-area
        @carol.unit-currency
        @carol.unit-length
        @carol.unit-speed
        @carol.unit-volume
        @carol.unit-weight
        @carol.temperature
        @carol.phone-number

        Parameter type regexp: Alguns padrões não possuem padrões específicos, mas sim correspondentes, através deles é possível fornecer uma expressão regular.

        @carol.feedback-stars
        @carol.feedback-thumbs
        @carol.file
        @carol.unit-information
        @carol.any
        @carol.url
      3. Islist?
      4. Required?
      5. Prompts
      6. + Add prompt
      7. Add options?

  3. Responses


    Section


    1. Respond with: Responda com
      1. Negrito
      2. Itálico
      3. Sublinhado
      4. Tarjado
      5. Marcadores
      6. Subscrição
      7. Sobrescrição
      8. Tipo de letra
      9. Cor da letra
      10. Marcador
      11. Cor
      12. Alinhamento
      13. Retornar ao normal a letra
      14. Inserir imagens
      15. Inserir link
      16. Inserir vídeo
    2. + Add response: Adicionar uma resposta

      Section

    3. End of conversation: ao chegar nesta intent a conversa será encerrada, dependendo do projeto não é indicado uma intent que encerre a conversation.
    4. Additional resources to response: adiciona opções de respostas, fechadas ou abertas.
    5. Jump to another Intent node?: Ao se acionar essa opção o cliente será direcionado a outro nó, ou seja, outro trecho do caminho dependendo da resposta dele.

  4. Named Queries: é possível adicionar queries (consultas estáticas) a uma conversation e configurá-las.

    Section


    1. + Add a named query: ao acionar este botão a query é adicionada permitindo nomear e configurar.

      Section


    2. Named Query: nome da consulta que pode ser dado, ou escolhido um já existente.
    3. Fields: campos retornados na resposta.
    4. Page size: número de registros a serem obtidos (limitado a 1000).
    5. Sort field: campo para classificar as informações.
    6. Sort order: no caso de Sort field ser usado, a ordem a ser considerada (Valores: ASC ou DESC).
    7. + Add sort field: adiciona mais campos para classificação e ordenação.

  5. Fulfillment


    Section


    O mecanismo de fulfillment do Carol Assistant fornece uma plataforma aberta para criar lógica de negócios, integrações com APIs externas ou criar respostas de forma programática. Por enquanto, oferecemos suporte ao Python 3 como linguagem de programação padrão para criar realizações. Para o correto uso deste recurso, é necessário o correto entendimento dos principais conceitos.

    Sua conversation pode ter um fulfillment para cada node de Intenção. O fulfillment do node de intenção será executado quando o node de intenção for ativado por meio de uma mensagem do usuário


    1. Plano de execução do node de Intenção

      Section


    2. Criação de um novo Fulfillment

      Para adicionar um fulfillment a um node de intenção, selecione a guia preenchimento no painel detalhe do node de intenção e clique no botão + Add a fulfillment.

      Section


      Depois disso, o Carol Assistant adicionará um novo cumprimento ao node de intenção e abrirá o Ambiente de Desenvolvimento de fulfillment.

    3. Ambiente de Desenvolvimento de fulfillment (FDE)

      Com o fulfillment do FDE, os desenvolvedores podem escrever e testar os atendimentos. A partir da versão Carol 3.37, o FDE se parece com a imagem a seguir.



WebHooks

Outra forma de permitir a execução de codigo fonte customizado é utilizando webhooks. Webhook é um método de ampliar ou alterar o comportamento de uma aplicação utilizando callbacks (ligações de retorno) personalizados com contratos, autenticação e padrões pré-estabelicidos. O TOTVS Carol Assistente permite que antes de cada envio de resposta ao usuário da conversa, uma chamada autenticada a um endpoint externo sejá realizada com o conteúdo do contexto da conversa e aguarde uma nova resposta a ser enviada para a conversa com o usuário.



Configuração do WebHook

Para configurar o webhook no nó de intenção, na aba fulfillment, selecione o fulfillment type Webhook. 

Agora você pode adicionar a URL do endpoint que irá receber a chamada do webhook. Caso necessário pode-se informar diferentes endpoints para ambientes de desenvolvimento e produção, para isso basta desmarcar o checkbox Use the same URL for Production and Development?

Image Added


Image Added

Chamadas e payloads

Quando configurado, o TOTVS Carol Assistente, sempre que o nó de intenção for ativado durante uma conversa, irá fazer uma chamada HTTP usando o comando POST para a URL do endpoint configurada. Além dos cabeçalhos http habituais, será enviado um cabeçado específico para a autenticação com o token mostrado na configuração do fulfillment, o que deverá ser validado na ponta que receberá a chamada. Os cabeçalhos da chamada são:

CabeçalhoDescrição
X-Assistant-Signature-TokenContém o Webhook token gerado aleatóriamente no momento da configuração do webhook do nó de intenção.
Content-Type

Tipo de conteúdo do payload. Sempre será 'application/json'

O payload da chamada do webhook contém as seguintes propriedades:

ParâmetroTipoDescrição
intent_nameStrNome do nó ativado
parametersDictTodos os parametros desse contexto de conversa
sessionLogListLista de ID de sessões até esse ponto da conversa
namedQueriesDictResultados da Named Query (se houver) (a ser descontinuado)
queryStringQuery executada (se houver) (a ser descontinuado)
languageStringIdioma da conversa
carolOrganizationStringNome da Organização
carolEnvironmentStringNome do Ambiente
carolOrganizationIdStringId da Organização
carolEnvironmentIdStringId do Ambiente
sessionIdStringId da sessão da conversa atual
isProductionBooleanInforma se a convesa está acontecendo em Produção ou Desenvolvimento
channelNameStringNome do canal por onde a mensagem chegou

Retorno:

Para retornar dados pelo WebHook, o TOTVS Carol Assistente espera que os dados estejam em um formado pré definido. O retorno deverá ser um objeto JSON com as seguintes propriedades: 

ParâmetroObrigatório?TipoDescrição
messageSimStringMensagem que será retornada na conversa
short_messageNãoStringMensagem curta de retorno
jump_toNãoStringNome do nó para o qual a conversa será direcionada
optionsNãoArray[Str]Lista de opções pré-definidas que aparecerão como botões na resposta
logoutNãoBooleanDestrói a sessão de usuário na conversa
parametersNãoObjectParametros que serão adicionados no contexto da conversa

Canais de conversação

Canal Telegram

...