...
Deverá ser criada uma extensão para o Google Chrome, que permita que o usuário realize interações entre o WhatsApp Web e o TOTVS CRM. Além disso, com o objetivo de garantir uma comunicação segura com o TOTVS CRM via API, será necessária a criação do sub-dominio 'extensions.totvscrm.app' com redirecionamento no CloudFront da AWS, o qual deverá garantir que somente as request que possuem como host de origem 'https://web.whatsapp.com' sejam permitidas, além de implementar a tratativa para não infringir as regras de CORS. Para tratar as regras de CORS e tratativas das propriedades do header da requisição de entrada e saída, será utilizado o CloudFront Functions na AWS. Com isso, caso seja necessário realizar qualquer manutenção de comunicação com o TOTVS CRM, deves-se levar isso em consideração.
Uma vez adicionada ao Chrome, a extensão ficará disponível para uso, porém, a mesma só poderá ser acessada quando o usuário estiver em uma aba do navegador em que o WhatsApp Web esteja aberto.
No primeiro acesso, será necessário que o usuário aceite os termos de uso do produto, assim como assinale que está ciente de que os dados que serão salvos no CRM tiveram consentimento do contato para tal. O link para a página de termos de uso do produto deverá direcionar o usuário para a página de políticas de privacidade da TOTVS, no endereço https://www.totvs.com/politica-de-privacidade/.
Uma vez aceitos os termos, deverá ser apresentada ao usuário a tela para que forneça suas informações de login para o TOTVS CRM. Nesse caso, o usuário deverá informar seu e-mail, senha e o tenant no qual deseja fazer o login. Caso o usuário tenha problemas no acesso, poderá utilizar o link "esqueci minha senha". Neste caso, ele será direcionado para a página de recuperação de senhas do TOTVS CRM.
No momento em que o usuário acionar o botão "entrar", as informações de login deverão ser validadas, tal qual ocorre quando ele tenta acessar o TOTVS CRM. Por segurança, sempre que houver a digitação de informações incorretas para o usuário ou a senha, todos os campos serão destacados em vermelho e o acesso não será autorizado até que as informações corretas sejam inseridas.
Ao completar o processo de login, as permissões de acesso que o usuário possui referentes a contatos, clientes, leads, oportunidades e atividades serão baixadas e verificadas. Isso irá impedir que usuários sem acesso a uma determinada conta possam vincular contatos a essa conta. Da mesma forma, impedirá que usuários sem permissão de criação de oportunidades ou atividades realizem essas ações.
Uma vez realizado o acesso à extensão, o usuário poderá selecionar os contatos do WhatsApp para realizar interações com a extensão, sejam elas de inserção ou de edição de informações desse contato, criação de atividades ou oportunidades, além de edição de informações da conta vinculada.
Para adicionar um novo contato, o usuário deverá clicar sobre o contato do WhatsApp. Nesse momento, deverá ser realizada uma busca pelo número do telefone do contato, esteja o número formatado ou não, a fim de verificar se o contato já existe. Caso não exista, as informações disponíveis no WhatsApp deverão ser carregadas para o formulário de cadastro de contatos. No momento em que o campo de telefone for preenchido com o número do contato, deverá ser definido automaticamente o tipo "WhatsApp" para o número.
Caso o contato já exista e o usuário tenha permissão de acesso ao registro, o formulário deverá ser carregado com os dados de cadastro já preenchidos, possibilitando que o usuário faça a edição desses dados caso seja necessário. Caso o contato já exista, mas o usuário que está realizando a pesquisa não tenha permissão de acesso a esse contato, deverá ser possível que o usuário realize o cadastro desse contato como se fosse um contato novo. Quando o usuário clicar no botão salvar para concluir o cadastro do contato, as informações deverão ser enviadas ao TOTVS CRM.
Dentre as informações que podem ser adicionadas ao contato está a conta. Nesse campo deverá ser possível que o usuário selecione clientes ou leads aos quais tenha acesso, e então faça o vínculo da conta com o contato. Os tipos de contas deverão ser exibidos em badges à esquerda do nome da conta, possibilitando identificar se a conta é um cliente ou lead.
Caso a conta que se pretende vincular ao contato não exista, o usuário poderá criá-la por meio do botão "adicionar conta", localizado logo abaixo do campo "Conta". Uma vez adicionada a nova conta, seja ela cliente ou lead, a mesma será vinculada automaticamente ao contato e serão aplicadas as devidas permissões de acesso para o usuário.
Deverá ser disponibilizado também um botão "ver detalhes", tanto no card da conta quanto no card de contato, a partir do qual será possível exibir as informações completas do cadastro do contato e/ou da conta vinculada a ele. Da mesma forma, quando os detalhes tiverem sido exibidos, o botão deverá ser alterado para "esconder detalhes", possibilitando que o usuário visualize informações resumidas do cadastro.
Na parte superior do formulário de cadastro, deverá ser disponibilizado um menu no qual será possível editar o registro, caso ele já exista, ou ainda visualizar um registro no TOTVS CRM. Ao clicar na opção "editar", o usuário poderá realizar alterações no cadastro do contato e no cadastro da conta, caso tenha permissão.
Ao clicar na opção "visualizar no TOTVS CRM, o usuário deverá ser direcionado para uma nova aba na qual o formulário de cadastro completo do contato será aberto para edição. Ainda na opção de visualização no TOTVS CRM, caso o usuário esteja no card de contatos, será aberto o formulário de edição do contato. Caso o usuário utilize esta opção quando estiver no card de contas (seja a conta um cliente ou lead), será aberta a aba de resumo do cadastro na nova aba do TOTVS CRM.
O card de contas, no qual será possível editar as informações da conta vinculada ao contato, deverá ser exibido apenas se o contato possuir uma conta vinculada a ele e se o usuário tiver a permissão de visualização ou edição do registro da conta.
Caso o contato esteja cadastrado no TOTVS CRM e tenha uma conta vinculada a ele, deverão estar disponíveis as opções para criação de atividades e oportunidades. Para criar uma oportunidade ou uma atividade, é necessário, entretanto, que o usuário tenha permissão para isso. Caso o usuário tenha a permissão, o formulário de cadastro deverá ser aberto em uma nova aba, dentro do próprio TOTVS CRM. Caso contrário, os botões que representam as abas de atividades e oportunidades deverão ser exibidos, porém, os botões "Criar Atividade" e "Criar Oportunidade" deverão estar desabilizados. Além disso, deverá ser exibida ao usuário a informação de que ele não poderá criar uma oportunidade ou atividade devido à ausência de permissões para isso.
Ao serem abertos, os formulários de atividades e oportunidades devem trazer carregadas as informações de acordo com a conta selecionada, preenchendo os seguintes campos:
Atividades:
Oportunidades:
Na primeira versão a extensão não fornecerá suporte a campos e regras personalizadas via AppBuilder (BTB). Por essa razão, ao abrir o formulário para criação/edição de contatos ou contas, deverá ser exibida uma mensagem de alerta para o usuário com o seguintes texto: "Verifique se há campos personalizados e obrigatórios no formulário. Este requisito impedirá que esta ação seja realizada através da extensão". Se o usuário realizar o preenchimento das informações na extensão mesmo tendo campos ou restrições personalizadas criadas no BTB, deverá ser exibida uma mensagem de erro no momento em que o cadastro for salvo, informando ao usuário sobre a impossibilidade de concluir a solicitação, uma vez que as personalizações ainda não são suportadas pela extensão. Nesse momento, deverá ser oferecida ao usuário a possibilidade de ir até o TOTVS CRM e realizar as devidas alterações no formulário completo.
Deverá ser disponibilizado um menu lateral no qual será possível que o usuário saia da extensão, assim como possa visualizar informações básicas do seu cadastro, tais como o nome e o e-mail.
Uma exceção que pode ocorrer na adição de contatos é o fato de o usuário clicar sobre um grupo do WhatsApp em vez de um contato. Nesse caso, a extensão deverá alertar o usuário e indicar que, para realizar o cadastro ou buscar informações de cadastro no CRM, ele deverá selecionar um contato.
...
...