Área do Cliente: login, senha e a identidade da loja no portal

Esta fonte trata do momento em que o SEU cliente (o cliente-final, aquele que você cadastrou no ERP) entra no portal Área do Cliente: o e-mail de acesso, a senha, a recuperação, o acesso bloqueado e como o portal descobre de qual loja e de qual empresa ele é. Quem lê é você, o assinante do ERP. Quando o texto disser "seu cliente", é o cliente-final.

O QUE O PORTAL PEDE PARA ENTRAR
São três coisas ao mesmo tempo: o e-mail de acesso, a senha e o acesso ativo. O login não usa o e-mail do cadastro do cliente nem o login do ERP. Ele usa um campo separado, o e-mail de acesso ao portal, com uma senha própria. Os seus usuários do ERP não entram por aqui, e o seu cliente não entra no ERP.

O acesso ativo é uma condição do cadastro, não uma tela de aviso. Se o acesso estiver desativado, o registro simplesmente não é encontrado na hora de autenticar. O portal então responde "Usuário e/ou senha inválido(s). Por favor, tente novamente!" — exatamente a mesma frase de quem errou a senha. Guarde isso: no portal, senha errada e acesso desativado são indistinguíveis para o seu cliente.

Antes de conferir e-mail e senha, a tela de login valida um reCAPTCHA. Se essa validação falhar, a resposta é outra: "Ocorreu algum erro, por favor, tente novamente!". Quando o seu cliente relatar essa frase, o problema não é a senha — é a página, que precisa ser recarregada e a verificação refeita.

Deu certo o login, o sistema grava a data e a hora naquele acesso (o último acesso do cliente no portal) e devolve o token de sessão. É esse token que mantém o seu cliente logado. Perder o token é o mesmo que deslogar: ao abrir a tela inicial sem sessão válida, o portal encerra a sessão e devolve o seu cliente para a tela de login.

A SENHA NÃO PODE SER CONSULTADA
A senha do portal é gravada com hash. Não existe tela, relatório nem suporte que leia a senha do seu cliente. O único caminho é definir uma nova. Há uma única exceção no fluxo, e ela acontece uma vez só: quando o próprio cliente-final conclui o cadastro pelo link de convite, o e-mail de boas-vindas sai com o e-mail e a senha que ele acabou de digitar, em texto. Depois disso a senha vira hash e ninguém mais a vê.

OS DOIS LINKS COM CÓDIGO
O portal tem dois links que funcionam sem login, cada um carregando um código único do cliente: um para cadastrar os dados e outro para cadastrar a senha. O código é a chave: o sistema procura o cliente por ele. Se não achar, a resposta é "Este link não está mais disponível!" e o cliente é mandado para a página de erro.

O link de cadastrar senha é de uso único por construção. Quando o seu cliente salva a senha nova, o sistema gera um código novo no mesmo instante. O link que ele acabou de usar deixa de valer, e qualquer link antigo guardado em e-mails anteriores também. Por isso o seu cliente vê "Este link não está mais disponível!" ao clicar num convite velho depois de já ter usado outro.

No link de cadastrar dados, ao salvar, o sistema dispara o e-mail com assunto "Bem vindo ao Webdesk". Esse e-mail sai em nome da loja do cliente: remetente e responder-para são o e-mail da loja, e o cabeçalho traz a logomarca, o nome fantasia, o telefone e o e-mail da loja. Ele repete o e-mail e a senha de acesso e indica um endereço de acesso — que é o endereço principal do sistema, e não o subdomínio da loja. Dois detalhes que travam esse envio: o cadastro do cliente precisa ter loja e empresa vinculadas (sem loja, o e-mail não sai) e o endereço não pode estar na lista de e-mails bloqueados.

ESQUECI MINHA SENHA
O seu cliente informa o e-mail de acesso. O sistema procura o cliente por esse e-mail e, junto, exige que ele tenha uma loja vinculada — a consulta cruza o cadastro do cliente com a loja. Achando, gera um código novo, grava e envia o e-mail "Recuperação de senha", que repete qual é o e-mail de acesso e traz o link para recadastrar a senha. Enviado, a resposta na tela é "Foi enviado um email para (endereço) com as instruções de acesso."

Três detalhes que mudam o diagnóstico. Primeiro: se o e-mail não for encontrado, a resposta é "Este e-mail não está cadastrado no sistema!" — e isso também acontece quando o e-mail existe mas o cadastro do cliente está sem loja. Segundo: a busca é feita só pelo e-mail de acesso; ela não filtra a sua empresa e não filtra se o acesso está ativo. Ou seja, um cliente com acesso desativado consegue receber o e-mail de recuperação e definir uma senha nova, mas continua sem conseguir entrar, porque o bloqueio está no acesso ativo, não na senha. Terceiro: se o e-mail estiver na lista de e-mails bloqueados do sistema, nada é enviado e a tela responde um erro genérico ("Ocorreu um erro. Por favor, tente novamente!"), mesmo tendo o código já sido trocado.

O envio usa o SMTP próprio da sua empresa, quando você tem um configurado. Isso vale tanto para o e-mail de boas-vindas quanto para o de recuperação. SMTP configurado errado derruba os dois.

TROCAR A SENHA JÁ LOGADO
Dentro do portal, o seu cliente troca a senha informando a senha atual e a nova. O sistema confere a senha atual e, se não bater, responde "A senha atual não está correta!". Aqui não há e-mail nem link: é troca direta.

O QUE FUNCIONA SEM LOGIN
Nas telas de cliente do portal, respondem sem sessão apenas: login, sair, verificação de autenticação, cadastrar dados pelo link, cadastrar senha pelo link e esqueci minha senha. Fora delas, também respondem sem sessão a consulta que identifica o domínio da loja (é ela que monta a tela de login com a sua identidade) e a busca de assuntos usada pela tela de atendimento. Todo o resto — pedidos, notas, ordens de serviço, cobranças, assinaturas, meus dados — exige o cliente logado.

Os endereços antigos do portal continuam funcionando: o sistema redireciona para o endereço atual. É por isso que o endereço indicado no e-mail de boas-vindas ainda abre o portal.

COMO O PORTAL SABE DE QUAL LOJA ELE É
São dois momentos diferentes, e confundir os dois gera diagnóstico errado.

Antes do login, o portal se identifica pelo endereço. A própria página envia ao sistema o endereço de origem; o sistema pega o primeiro pedaço dele (o subdomínio) e procura a loja cuja configuração tem exatamente aquele subdomínio da Área do Cliente. Se a página não enviar esse endereço, a resposta é "Hostname não encontrado!". Se enviar e nenhuma loja casar, a resposta é "Domínio não encontrado!" — e a tela não se monta com a sua identidade.

Achando, vem tudo o que dá a cara da loja no portal: cor primária, cor secundária, nome fantasia, CNPJ ou CPF e tipo de pessoa, endereço completo (logradouro, número, complemento, bairro, cidade, estado e CEP), telefone, celular, e-mail, site, a logomarca da loja e, do domínio do sistema, o favicon, o nome e o link de divulgação e o link principal. Essa consulta só fecha se a cadeia inteira existir: configuração da loja, loja, empresa e domínio vinculado à empresa. Empresa sem domínio vinculado cai no mesmo "Domínio não encontrado!".

Depois do login, a loja deixa de vir do endereço e passa a vir do cadastro: é a loja vinculada ao cliente. É dela que saem o nome fantasia e a logomarca exibidos ao cliente logado. Detalhe importante: a autenticação em si não confere empresa nem loja — só e-mail, senha e acesso ativo. O endereço pelo qual ele entrou não amarra a qual loja ele pertence; quem amarra é o cadastro dele.

O QUE ELE VÊ NA TELA INICIAL
A tela inicial devolve a lista de serviços liberados para aquele cliente, lida do cadastro dele. Essa lista é montada a partir de uma lista fechada de sete itens: Ordens de serviço, Pedidos, Boleto, Atendimento, NF-e, NFS-e e NFC-e. Assinaturas não está nessa lista de sete, embora a área de assinaturas exista no portal e seja liberada por uma checagem própria. Traduzindo: assinaturas pode estar liberada e funcionando sem aparecer nessa relação inicial.

Ao abrir cada área, o portal reconfere se aquele serviço está liberado para aquele cliente, dentro da sua empresa. Não estando, a resposta é "Você não tem permissão para acessar esta área!" e ele volta para o início. Quem libera é você, do lado do ERP — esta fonte não trata de como liberar.

BLOQUEAR E REMOVER O ACESSO
Desativar o acesso derruba o login na hora, porque a checagem do acesso ativo acontece a cada autenticação. A sessão que já estava aberta continua valendo até o token cair ou o cliente sair.

Remover o acesso é mais forte do que desativar: além de desativar, o sistema apaga o e-mail de acesso e a senha daquele cliente. A remoção só age sobre um acesso que ainda esteja ativo e seja da sua empresa; sobre um acesso já desativado ela responde que você não tem permissão para remover. Depois de removido, "esqueci minha senha" responde que o e-mail não está cadastrado, porque ele realmente não está mais. Para o cliente voltar ao portal, o acesso precisa ser criado de novo.

O e-mail de acesso é conferido contra os acessos ativos: se já existir outro cliente ativo com aquele mesmo e-mail, a resposta é "E-mail já existe!". Essa conferência não se limita à sua empresa. E ela ignora os acessos desativados — dois cadastros desativados podem carregar o mesmo e-mail sem reclamação, e o conflito só aparece quando o segundo for ativado.

MEU CLIENTE NÃO CONSEGUE ENTRAR: ORDEM DE DIAGNÓSTICO
Siga nesta ordem, que é a ordem em que o sistema decide.
Um: o endereço abre com a cara da sua loja? Se aparece "Domínio não encontrado!" ou "Hostname não encontrado!", o problema é o subdomínio da Área do Cliente ou o domínio da empresa, e não o cliente.
Dois: a mensagem que ele recebe é "Ocorreu algum erro, por favor, tente novamente!"? Então parou na verificação da própria tela. Recarregar a página e refazer.
Três: a mensagem é "Usuário e/ou senha inválido(s)"? Essa frase cobre três causas ao mesmo tempo: e-mail de acesso digitado errado (muita gente digita o e-mail cadastral), senha errada e acesso desativado. Confira o acesso ativo antes de culpar a senha.
Quatro: mandou recuperar a senha e ele diz que o e-mail não chegou? Verifique se o e-mail está na lista de bloqueados (nesse caso a tela mostra erro genérico e nada sai) e o SMTP da empresa.
Cinco: a recuperação respondeu "Este e-mail não está cadastrado no sistema!"? Ou o e-mail de acesso é outro, ou o acesso foi removido (o que apaga o e-mail), ou o cadastro do cliente está sem loja vinculada.
Seis: o link do e-mail responde "Este link não está mais disponível!"? O código já foi usado ou foi substituído por um pedido mais novo. Peça a recuperação de novo e use o último e-mail recebido.
Sete: ele entra mas não vê uma área? Aí não é login: é o serviço não liberado para ele, e a mensagem é "Você não tem permissão para acessar esta área!".

O QUE COSTUMA DAR ERRADO
O seu cliente digita o e-mail do cadastro em vez do e-mail de acesso. São campos diferentes e o portal só aceita o de acesso.
Você desativa o acesso e espera que ele veja um aviso disso. Ele vê "usuário e/ou senha inválido(s)" e liga achando que a senha quebrou.
Você reenvia o convite e ele clica no e-mail antigo. Cada novo pedido de senha invalida o código anterior; só o último link vale.
O cadastro do cliente está sem loja. O login até acontece, mas a recuperação de senha diz que o e-mail não existe e o e-mail de boas-vindas não sai, porque as duas consultas exigem a loja.
O e-mail do cliente caiu na lista de bloqueados por rejeição ou descadastro anterior. Nenhum e-mail do portal chega a ele e a tela mostra um erro genérico, sem explicar o motivo.
Remover o acesso e depois tentar "reativar". Não há o que reativar: o e-mail e a senha foram apagados.
Reaproveitar o mesmo e-mail de acesso em dois clientes. Enquanto um estiver desativado ninguém reclama; ao ativar o segundo aparece "E-mail já existe!".
Esperar que assinaturas apareça na relação de serviços da tela inicial. Ela não está na lista de sete itens que essa tela monta.
Trocar o subdomínio da Área do Cliente da loja e manter o link antigo em circulação. O portal só reconhece o subdomínio configurado agora.

O QUE NÃO É DESTA FONTE
Como cadastrar o cliente, emitir a nota, lançar o pedido, gerar a cobrança ou controlar assinatura é assunto do ERP e se responde pelas fontes do ERP. O portal apenas exibe ao cliente-final o que já existe lá dentro. E não confunda com a Área da Contabilidade, que é a plataforma do escritório contábil, nem com a página de pagamento da Gestão de Cobranças, que também é chamada de área do cliente e não tem relação com este portal.