Serviço customizado
A senior X Platform disponibiliza um ambiente AWS no serviço Cloud9 para a construção de customizações regras e a criação de serviços do BOT. Caso não possua um ambiente de customização devidamente configurado, será necessário consultar a documentação sobre criação de ambientes.
Criando um serviço customizado
- Com um ambiente configurado, selecione um nó do diálogo do BOT e adicione uma resposta do tipo Integração;
- Então, selecione Serviço Customizado e clique em Preparar ambiente;
- Após a conclusão do processo de preparação, clique em Adicionar arquivo para adicionar o arquivo do nó previamente selecionado;
- O assunto será salvo, e será possível acessar e importar o template de customização.
Para importar o template da função dentro do ambiente de desenvolvimento, abra o ambiente de de customização Cloud9 e copie o comando de importação. Feito isso, cole o comando de importação do arquivo no terminal do Cloud9, pressione 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 estarão disponíveis. Para que as alterações feitas no código sejam devidamente publicadas, será necessário salvar o arquivo alterado, selecionar a função do BOT em questão e fazer upload da função. 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)))
};
};
Exemplo de 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']
}
};
Nos serviços customizados, são recebidos parâmetros através da injeção de dependências. Podendo ser parâmetros digitados pelo usuário ou constantes.
Nestes parâmetros são informados algumas informação "default".
Exemplo:
Json
{
"default": {
"conversationId": "identificador unico da conversa"
}
}
Exemplos de customização para o BOT
Exemplos de código-fonte de integração de serviços para responder perguntas do assistente:
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" }
]
}
}
};
module.exports = async (authorization, parameters) => {
return {
type: 'IMAGE',
image: {
image: "https://picsum.photos/200", "link": "https://www.senior.com.br"
}
}
};

English
Español


