HiBot – Callbacks e Controle manual


Uma vez inserido o script na página do cliente, o HiBot entra no seu fluxo de inicialização e por meio de eventos disparados em diversos pontos da sua execução, permite que o cliente execute código dentro de sua própria página, reagindo a eventos do HiBot por meio de callbacks.

No supervisor, existirão 4 callbacks disponíveis para implementação livre, sendo 1 deles utilizado somente para clientes que queiram utilizar a funcionalidade do Bot ativo efetuando a passagem de parâmetros.

  • onShow – sem parâmetros e sem retorno – O callback onShow é executado IMEDIATAMENTE após o HiBot ser exibido, seja por meio de clique, seja por meio dos métodos disponíveis no objeto HiBot;
  • onHide – sem parâmetros e sem retorno – O callback onShow é executado IMEDIATAMENTE após o HiBot desaparecer, seja quando o mesmo é minimizado, fechado ou escondido por meio dos métodos disponíveis no objeto HiBot;
  • onStart – sem parâmetros e sem retorno – O callback onStart é executado IMEDIATAMENTE após a chamada do método start do HiBot. O método start é utilizado para forçar o início automático do bot, por meio de passagem de parâmetros. Um ponto de atenção é que o callback onStart NÃO é executado com a funcionalidade do *Bot Ativo. Em todos os demais casos de abertura automática, esse callback será executado;
  • fillSurveys – parâmetro: FIELDS, deve retornar um objeto na mesma estrutura do objeto FIELDS – O callback fillSurveys é executado exclusivamente na funcionalidade Bot Ativo, apenas em urls configuradas como área logada. Esse callback recebe um objeto fields como parâmetro. Esse objeto é populado com os valores de preenchimento pré-estabelecidos na configuração do Bot Ativo na seção Pesquisa Inicial. O callback deve retornar o mesmo objeto modificado com os valores desejados ou um novo que siga o mesmo formato.

Assinatura do callback fillSurvey

objeto fields, passado como parâmetro para o callback fillSurvey, segue a seguinte estrutura:

{
  NOME_DO_CAMPO: VALOR_DO_CAMPO
}

Onde NOME_DO_CAMPO representa o nome do campo definido na configuração do Bot Ativo e VALOR_DO_CAMPO representa o valor.

Exemplo de implementação

Para preenchimento da init padrão do HiBot, que contém nome_usuario e email, um exemplo de implementação seria:

window.HiBot.fillSurvey = function(fields) {
  // Objeto fields contém { nome_usuario: "Anônimo", email: "teste@teste.com"}, recebido da configuração do Bot Ativo
  fields["nome_usuario"] = 'Alexandre';
  fields["email"] = 'alexandre.vaz@hiplatform.com';
  return fields;
}

Dessa maneira, o Bot ativo será inicializado com os valores “Alexandre” e “alexandre.vaz@hiplatform.com”.

Antes, em orientações a clientes, era utilizado o objeto window.DTBOT. Para manter tudo padronizado, tanto as mudanças no supervisor quanto a documentação, utilizam o objeto window.HiBot, também adicionado na branch relativa a essa modificação. A mudança foi feita de maneira retrocompatível, o objeto window.DTBOT não deixa de existir e tudo já feito que o utilize continua funcionando =)