Bot Factory

Serviço customizado

184 views 02/04/2020 25/05/2020 tiagoboeing 0

É possível criar serviços customizados para utilizar os recursos da Plataforma SeniorX. A Plataforma SeniorX disponbiliza um ambiente AWS no serviço Cloud9 para a construção de customizações regras e a criação de serviços do BotFactory. › Documentação para montagem do ambiente.

Passos para criação de serviços customizados:

  1. Selecionar um nó do diálogo;
  2. Adicionar uma resposta do tipo Integração;
  3. Selecionar Serviço Customizado;

 

Caso não possua um ambiente de customização devidamente configurado, será necessário seguir o passo a passo de criação do ambiente:

 

Após a configuração do ambiente basta seguir os passos anteriores e a opção para preparar o ambiente de customização do Bot em questão será disponibilizada:

Agora basta preparar o ambiente e aguardar a conclusão do processo.

Obs: O processo de preparação do ambiente pode levar alguns minutos pois, gera os recursos necessários no serviço de customização SDK.

Após a conclusão do processo de preparação, a opção para adicionar o arquivo do nó será habilitado:

Agora basta adicionar o arquivo do nó e quando tudo estiver pronto os dados para acessar e importar o template de customização serão disponibilizados:

Para importar o template da função dentro do ambiente de desenvolvimento, basta seguir os passos a seguir:

– Abra o ambiente de de customização cloud9
– Compie o comando de importação
– Cole o comando de importação do arquivo no terminal do cloud9 (ctrl+v / cmd + v)
– Tecle enter e aguarde a conclusão da execução do script de importação.

 

Após a conclusão da importação os arquivos gerados para possibilitar a customização da resposta do bot está disponivel. Para que as alterações feitas no código sejam devidamente publicadas será necessário seguir os passos a seguir:

  • Salvar o arquivo alterado
  • Selecionar a função do Bot em questão
  • Fazer o upload da função.

Obs: A função do nó só passa a responder após o upload da função conforme demonstração acima.

Quando um arquivo de customização do diálogo é criado, são gerados duas fontes:

O arquivo principal, index.js,  é o ponto de entrada da customização do bot, onde cada nó de dialogo irá representar um arquivo passado no header (filename).

// index.js
exports.handler = async (event) => {
  const val = require(`./${event.headers.filename}`);
  return {
      statusCode: 200, body: JSON.stringify(await val(event.headers.Authorization, JSON.parse(event.body)))
  };
};

Arquivo gerado

No exemplo foi gerado um arquivo com o seguinte nome UCGL90XG.js . Este arquivo definirá a lógica da resposta do bot. No exemplo abaixo o bot responderá “O serviço está rodando, programe sua lógica aqui”, conforme valor no atributo text.

// UCGL90XG.js
   module.exports = async (authorization, parameters) => {
    return {
        type: 'PLAINTEXT',
        text: ['O serviço está rodando, programe sua lógica aqui']
    }
};

Exemplos de Customização para o Bot

Exemplos de código-fonte de integração de serviços para para responder perguntas do assistente:

Exemplo botões Sim/Não

 
module.exports = async (authorization, parameters) => {
    return {
        type: 'BUTTON',
        options: [ 
                    { text : "Yes", "value" : "Yes", url: "http://server.com/yes" },
                    { text : "No",  "value" : "No",  url: "http://server.com/no" }
                 ]
        }
     } 
};

Exemplo retornando imagem para bot

 
module.exports = async (authorization, parameters) => {
    return {
        type: 'IMAGE',
        image: { 
                  image: "https://picsum.photos/200", "link": "https://www.senior.com.br"  
               }
     } 
};

Repositório de customizações

Algumas templates do bot utilizam customização de serviços. Esses serviços estão disponibilizados no respositório público do SeniorDev no GitHub  com objetivo de reutilização e customização dos assistentes criado pelo BotFactory. › Documentação completa sobre templates do BotFactory .

Links

Este artigo foi útil para você?