Como funciona
O cliente clica no link do e-mail e cai direto na página certa, já logado, sem digitar a senha.
autologin.php do seu WHMCS.O token de login é criado na hora do clique, vale por pouco tempo e é apagado quando usado. O link do e-mail pode ser usado várias vezes: cada clique gera um token novo.
Para onde cada link leva
O módulo identifica o tipo do e-mail e leva o cliente para a página correspondente.
| Tipo de e-mail | Página aberta | Exemplos de modelo |
|---|---|---|
| Faturas | A fatura (viewinvoice.php) | Invoice Created, Invoice Payment Reminder, Credit Card Payment Due |
| Tickets | O ticket (viewticket.php) | Support Ticket Reply, Support Ticket Opened |
| Cotações | A cotação (viewquote.php) | Quote Delivery with PDF |
| Produtos/Serviços | Detalhes do serviço | Hosting Account Welcome, Service Suspension |
| Domínios | Detalhes do domínio | Domain Registration Confirmation, Upcoming Domain Renewal |
| Gerais, addons e afiliados | Área do cliente (clientarea.php) | Client Signup Email, Password Reset Confirmation |
E-mails para administradores e tickets de visitantes (sem cadastro de cliente) não recebem link automático.
Tags nos modelos de e-mail
Use as tags abaixo nos modelos em Configurações › Modelos de E-mail.
| Tag | Comportamento |
|---|---|
{$login_link} | sempre disponível Tag do módulo, disponível em todos os modelos de e-mail do cliente. Leva à página correspondente ao e-mail. |
{$invoice_link} | Tag nativa do WHMCS. Com a opção {$invoice_link} marcada na configuração, o módulo troca o link padrão pelo link de acesso automático. Não precisa editar o modelo. |
{$ticket_link} | Mesmo comportamento, para e-mails de ticket. |
{$quote_link} | Mesmo comportamento, para e-mails de cotação. |
{$whmcs_url} | Nunca é alterada pelo módulo, para não quebrar outros endereços do modelo (como {$whmcs_url}/cart.php). Para a área do cliente, use {$login_link}. |
Exemplo: e-mail de fatura
Olá {$client_name},
Sua fatura #{$invoice_num} no valor de {$invoice_total} vence em {$invoice_date_due}.
Acesse e pague com um clique: {$login_link}
<!-- ou mantenha {$invoice_link}, que o módulo já substitui -->
Exemplo: e-mail geral (área do cliente)
Olá {$client_first_name},
Seus dados foram atualizados.
Acesse sua área do cliente: {$login_link}
Dica: quer manter o comportamento padrão do WHMCS ou evitar conflito com outro módulo que altera {$invoice_link}? Marque {$login_link} na configuração e coloque {$login_link} só onde quiser o acesso automático.
Configurações do módulo
Configurações do Sistema › Módulos Addon › Auto Login MPAY › Configurar
| Opção | Para que serve |
|---|---|
| 1 · Licença | Chave de licença do módulo. Com a licença inválida, os links não são gerados nem funcionam. |
| 2 · Administrador do WHMCS | Administrador usado pela API interna para criar o token de login. Escolha um administrador ativo. |
| 3 · Tempo para expirar o link | Não expira, 1, 7, 15 ou 25 dias, 1, 3 ou 6 meses, ou 1 ano. Veja Expiração do link. |
| 4 · Tag para e-mails de fatura | {$invoice_link}: o módulo troca a tag nativa automaticamente. {$login_link}: mantém a tag nativa original. |
| 5 · Tag para e-mails de ticket | Mesma lógica para {$ticket_link}. |
| 6 · Tag para e-mails de cotação | Mesma lógica para {$quote_link}. |
| 7 · Tag para a área do cliente | Em e-mails gerais, use {$login_link}. A tag {$whmcs_url} nunca é alterada. |
| 8 · Debug | Registra cada etapa no Log de Módulos. Use só para investigar problemas. Veja Debug e logs. |
| Ferramentas | Abrir diagnóstico (veja Diagnóstico), Corrigir permissões (pastas 755, arquivos 644), Guia de instalação, Guia de utilização e Suporte. Os guias abrem no idioma do administrador. |
A página do addon (Addons › Auto Login MPAY) mostra um painel com o número de links ativos por tipo, os enviados nos últimos 7 dias, um resumo da configuração e o diagnóstico.
Idiomas
O módulo é traduzido para 5 idiomas e escolhe o idioma sozinho.
| Idioma | Idioma no WHMCS | Arquivo |
|---|---|---|
| Português (Brasil) | portuguese-br | lang/portuguese-br.php |
| Português (Portugal) | portuguese-pt | lang/portuguese-pt.php |
| Inglês | english | lang/english.php |
| Espanhol | spanish | lang/spanish.php |
| Francês | french | lang/french.php |
Como o idioma é escolhido
- Telas do addon: idioma do perfil do administrador logado (Minha Conta › Idioma). Se estiver vazio, usa o idioma padrão do WHMCS.
- Página do cliente (quando o link não pode ser usado): idioma escolhido pelo visitante na área do cliente; senão, o idioma do cadastro do cliente dono do link; senão, o padrão do WHMCS.
- Guias: os botões do painel abrem o guia no idioma do administrador. No topo de cada guia há um seletor para trocar de idioma.
- Qualquer outro idioma usa o inglês.
Personalizar textos
Os textos ficam em modules/addons/autologinmpay/lang/, no mesmo formato $_ADDONLANG do WHMCS. Você pode ajustar uma frase editando o arquivo do idioma.
Guarde uma cópia das suas alterações: ao atualizar o módulo, os arquivos de lang/ são substituídos.
Os registros técnicos (Log de Módulos e Log de Atividades) não são traduzidos, para facilitar o atendimento do suporte.
Expiração do link
O prazo é contado a partir do último envio de e-mail daquele link. Cada novo e-mail (um lembrete de fatura, por exemplo) renova o prazo.
Depois do prazo, o cliente vê a página "Este link expirou" (código AL-EXP), no idioma dele, com o botão para entrar com e-mail e senha.
Recomendação: para equilibrar praticidade e segurança, use de 7 a 15 dias. Com Não expira, o link continua válido até ser removido pela limpeza automática.
Manutenção automática
Uma vez por dia, junto com o cron do WHMCS, o módulo organiza os links sozinho:
- Remove os links de faturas pagas com vencimento nos últimos 30 dias.
- Remove os links de tickets fechados.
- Remove os links de cotações entregues.
- Cria links para as faturas em aberto que ainda não têm um.
Confira se o cron do WHMCS está rodando em Utilitários › Status do Sistema › Automação.
Diagnóstico
Abra pelo botão Abrir diagnóstico na configuração do addon, ou role a página do addon até o fim. Disponível só para administradores com acesso ao addon.
Verificações
Lista de checagem com status: autologin.php na raiz, pasta do módulo gravável, fuso horário PHP x MySQL, extensão cURL, versão do PHP e arquivos de idioma. Os detalhes técnicos (versões, fusos, coluna de tokens) ficam numa seção que abre e fecha.
Testar token de login (SSO)
Informe o ID de um cliente. São gerados dois links de teste:
- A: token exatamente como o WHMCS cria, sem a correção do módulo.
- B: token com a correção do módulo. Deve logar o cliente.
Abra cada link numa janela anônima diferente, em até 60 segundos. Se o link A der has expired e o B logar, o seu servidor tem a diferença de fuso do WHMCS 9, e o módulo já está corrigindo isso.
Reparar credencial de login
Se o teste do token falhar com invalid_client. client credentials are required, a credencial OAuth interna que o WHMCS usa para criar tokens de login não pode ser lida, normalmente porque o banco de dados foi copiado de outra instalação (outra chave de criptografia). A linha Clientes OAuth do WHMCS mostra o estado de cada credencial, sem exibir segredos.
Nesse caso aparece o botão Reparar credencial e testar. O módulo guarda uma cópia da credencial original, tenta gravar um segredo novo com a chave atual (ou fazer o WHMCS recriá-la) e testa criando um token de verdade. Se nada funcionar, tudo volta exatamente como estava. O resultado fica registrado no Log de Atividades.
Faça um backup do banco de dados antes de reparar. Outros dados criptografados vindos da instalação antiga (senhas de servidores, chaves de gateways) também podem precisar ser cadastrados novamente.
Testar link do e-mail
Informe o código do link (o valor depois de short=, por exemplo autologin.php?short=8b3f9f7f9943b). O diagnóstico chama o link duas vezes e verifica se algum cache está devolvendo o mesmo token.
Os tokens criados pelos testes não são usados por ninguém e vencem sozinhos. Os do teste de link são apagados logo depois do teste.
Debug e logs
Log de Atividades
Erros importantes são sempre registrados com o prefixo [AUTO LOGIN] em Configurações › Logs do Sistema › Log de Atividades.
Log de Módulos (com Debug ativo)
Com o Debug ligado, cada etapa aparece em Configurações › Logs do Sistema › Log de Módulos, filtrando por autologinmpay. O Log de Módulos também precisa estar ativado no WHMCS.
| Ação no log | Significado |
|---|---|
hook_sucesso | Link gerado e colocado no e-mail. |
hook_cliente_nao_encontrado | O e-mail não pertence a um cliente (ex.: ticket de visitante). Nenhum link gerado. |
hook_licenca_inativa | Licença inválida no envio do e-mail. |
autologin_sucesso | Cliente clicou, token criado e redirecionado. |
autologin_erro | O WHMCS não criou o token. Confira o Administrador do WHMCS configurado. |
Desligue o Debug depois de investigar o problema, para não encher o Log de Módulos.
Segurança
- Cada link tem um código aleatório e difícil de adivinhar, exclusivo de um cliente e de uma fatura, ticket ou cotação.
- O token de login é de uso único e é criado só no momento do clique.
- Clientes com conta encerrada não conseguem entrar pelo link.
- O link nunca fica em cache: cada acesso gera um token novo.
- Diagnóstico e permissões só abrem para administradores com acesso ao addon.
Quem tiver o e-mail consegue entrar na conta do cliente pelo link. Oriente os clientes a não encaminhar esses e-mails, e use um prazo de expiração.
Mensagens e erros
Quando o acesso automático não é possível, o cliente vê uma página com a marca da sua empresa, uma mensagem amigável no idioma dele, o botão Entrar na área do cliente e um código para o suporte.
| Código | O que o cliente vê | Causa | O que fazer |
|---|---|---|---|
AL-LIC | Acesso automático indisponível | A licença do módulo não foi validada. | Confira a licença na configuração do addon. |
AL-REQ | Link incompleto | O link foi cortado ou alterado (ex.: quebra de linha no e-mail). | Peça ao cliente para abrir o link original do e-mail. |
AL-404 | Link não está mais disponível | O link foi removido (fatura paga, ticket fechado ou módulo reinstalado). | O cliente entra normalmente, ou você reenvia o e-mail. |
AL-EXP | Este link expirou | O prazo configurado passou. | Reenvie o e-mail (isso renova o prazo) ou aumente o tempo de expiração. |
AL-DST | Página não encontrada | O ticket ou a página do link não existe mais. | Verifique se o registro ainda existe no WHMCS. |
AL-CLI | Não foi possível identificar sua conta | O cliente do link foi excluído. | Nenhuma ação: o link deixou de valer. |
AL-CLS | Conta indisponível | O cliente está com status Fechado. | Reative o cliente, se for o caso. |
AL-SSO | Não foi possível entrar automaticamente | O WHMCS não criou o token de login. | Confira o Administrador configurado e o Log de Atividades ([AUTO LOGIN]). Se o diagnóstico mostrar invalid_client, use Reparar credencial e testar. |
Mensagens do próprio WHMCS
| Mensagem | Causa | O que fazer |
|---|---|---|
The access token provided has expired | O token chegou vencido. | Atualize o autologin.php e tire-o do cache. Use o diagnóstico. |
The access token provided is invalid | O token já tinha sido usado. | Clique de novo no link do e-mail. Não cole o endereço do token na barra do navegador. |
Perguntas frequentes
O cliente pode usar o mesmo link mais de uma vez?
Sim. O link do e-mail continua válido até expirar ou ser removido. A cada clique, o módulo cria um token de login novo.
Preciso alterar meus modelos de e-mail?
Não, se você marcar {$invoice_link}, {$ticket_link} e {$quote_link} na configuração: o módulo troca os links nativos automaticamente. Para e-mails gerais, coloque {$login_link} onde quiser o acesso automático.
Em que idioma o cliente vê as mensagens?
No idioma do cliente: o escolhido por ele na área do cliente ou o do cadastro dele. Português (Brasil e Portugal), inglês, espanhol e francês são suportados; os demais usam o inglês.
Posso mudar o idioma das telas do addon?
Sim: as telas seguem o idioma do seu perfil de administrador, em Minha Conta › Idioma.
Preciso criar credenciais de API?
Não. O módulo usa a API interna do WHMCS. Se você criou credenciais nas versões antigas, pode excluí-las.
Por que o teste A do diagnóstico dá “has expired”?
Em alguns servidores, o WHMCS 9 cria o token num fuso horário e valida em outro. Por isso o token original (A) chega vencido. O módulo corrige isso automaticamente, e é por isso que o link B funciona.
O cliente já está logado com outra conta. O que acontece?
O WHMCS faz o login com o cliente do link. Em computadores compartilhados, oriente o cliente a sair da conta ao terminar.
Desativar o módulo apaga alguma coisa?
Apaga a tabela de links do módulo. Os links já enviados deixam de funcionar. Faturas, tickets e clientes do WHMCS não são afetados.
Ainda com dúvidas?
Nossa equipe ajuda a configurar e resolver problemas.