MyClassifica · pacote para cPanel
Versão 1.0 · 12/11/2026 · Nirron Assessoria em Comércio Exterior
Pacote preparado; instalação ainda não realizada no servidor. Não contém senha padrão, usuários reais, chave da OpenAI ou cópia do banco da versão hospedada no ChatGPT. O primeiro ADM será criado por vocês no instalador.
1. Perfis de acesso
| Recurso | ADM | Operador |
|---|
| Visualizar todos os produtos, pareceres, benefícios, respostas e histórico | Sim | Sim |
| Visualizar / baixar documentos e exportar CSV / dossiê JSON | Sim | Sim, leitura |
| Criar, editar, excluir e aprovar produtos | Sim | Não |
| Anexar documentos, responder perguntas e iniciar/repetir análises | Sim | Não |
| Configurar chave da IA ou consultar pela extensão TECWIN | Sim | Não |
| Criar, editar, desativar e excluir usuários | Sim | Não |
| Importação, backup completo e auditoria administrativa | Sim | Não |
A base é compartilhada: registros cadastrados por qualquer ADM são vistos por todos os usuários ativos. Não há autocadastro. Operações de alteração são bloqueadas também no PHP, mesmo se alguém tentar chamar a API diretamente. O sistema preserva pelo menos um ADM ativo; ninguém pode excluir/desativar o próprio acesso.
2. Requisitos do servidor
- Subdomínio exclusivo, na raiz, com HTTPS ativo. Sugestão de nome:
myclassifica.nirron.com.br. O pacote não cria o subdomínio nem altera DNS. - PHP 8.2 ou superior; MySQL 5.7+/8 ou MariaDB 10.4+; tabelas InnoDB e charset utf8mb4.
- Extensões PHP:
pdo_mysql, curl, openssl, mbstring, fileinfo, zip e iconv. - Apache/LiteSpeed com
mod_rewrite e .htaccess habilitados. - Memória PHP: 256 MB;
upload_max_filesize=15M; post_max_size=22M; execução recomendada de 120 segundos. O arquivo .user.ini inclui essas recomendações; o plano da hospedagem pode impor limites próprios. - Saída HTTPS na porta 443 para OpenAI e Portal Único. Não é necessário Node.js, Composer, cron ou terminal para a instalação de produção. O JavaScript já está compilado.
3. Organizar os arquivos no cPanel
- No cPanel, crie o subdomínio e anote o diretório raiz de documentos que ele utiliza. Não extraia este pacote sobre o site principal da Nirron.
- Envie e extraia o ZIP pelo Gerenciador de Arquivos em uma pasta de trabalho da sua conta.
- Envie o conteúdo de
public_html para a raiz de documentos do subdomínio. Ative “Mostrar arquivos ocultos” para incluir .htaccess e .user.ini. - Mova a pasta
myclassifica_private para fora de todas as raízes públicas. Exemplo: /home/SEU_USUARIO_CPANEL/myclassifica_private. Ela contém a configuração, uploads e o código do servidor. - Abra
bootstrap.php na raiz pública e confira a linha do diretório privado. O padrão procura myclassifica_private ao lado da raiz pública. Se ela estiver em outro local, substitua o valor de fallback por seu caminho absoluto, por exemplo /home/SEU_USUARIO_CPANEL/myclassifica_private. Preserve as aspas. - Garanta que o PHP consiga gravar na pasta privada e em
myclassifica_private/uploads. Em cPanel com PHP executado pelo usuário da conta, pastas 700 e arquivos privados 600 costumam bastar. Não use permissão 777. - As pastas
frontend, tests e os arquivos de build são fontes de manutenção; não precisam ficar na raiz pública.
| Dentro do ZIP | Destino |
|---|
public_html/* incluindo arquivos ocultos | Raiz do subdomínio MyClassifica |
myclassifica_private | Fora de public_html e de todos os diretórios públicos |
frontend, testes e configuração de build | Guardar para manutenção; não são necessários para executar no cPanel |
4. Criar o banco
- Em Bancos de Dados MySQL, crie um banco exclusivo e um usuário exclusivo.
- Adicione esse usuário ao banco com todos os privilégios nesse banco.
- Anote o nome completo do banco e do usuário, incluindo o prefixo que o cPanel acrescenta, o servidor (geralmente
localhost) e a senha. Não envie essas senhas pelo chat.
5. Rodar o instalador
- Acesse
https://SEU_SUBDOMINIO/install.php. - O instalador verifica as extensões PHP e se a pasta privada é gravável.
- No Gerenciador de Arquivos do cPanel, abra
myclassifica_private/installation.token. Copie o código para o campo Código de instalação. Esse código autoriza somente a primeira instalação; não é a senha do ADM. - Informe a URL HTTPS exata do subdomínio, sem pasta ou parâmetros, e os dados MySQL.
- Escolha o nome, e-mail e senha do primeiro ADM. A senha deve ter pelo menos 12 caracteres.
- Clique em Instalar e criar ADM. Depois de concluir, o instalador é bloqueado e o arquivo de código de instalação é removido.
- Entre em
/login.php. No topo, abra Usuários para criar os demais ADM e Operadores.
6. Configurar a IA
- Como ADM, abra Integrações e cadastre a chave da OpenAI no próprio sistema. Pode usar a mesma chave já autorizada para este projeto, se ela continuar válida.
- Clique em Salvar chave e, se desejar verificar, em Testar conexão. O teste faz uma chamada curta e pode consumir créditos.
- A chave é armazenada criptografada no banco. A chave mestre fica no arquivo privado
config.php; guarde backup dele junto com o banco. - Configuração e consumo da IA são compartilhados pela empresa. Somente ADM pode alterar a configuração ou iniciar chamadas.
7. TECWIN no novo endereço
A extensão anterior só reconhece o endereço hospedado no ChatGPT. O novo domínio precisa da extensão gerada pela instalação cPanel.
- No MyClassifica do cPanel, entre como ADM, vá a Integrações → Baixar extensão para Chrome. O ZIP será gerado para a URL exata informada no instalador.
- Extraia em uma pasta fixa; abra
chrome://extensions, ative o Modo do desenvolvedor e carregue a pasta sem compactação. - Entre uma vez na TECWIN nesse mesmo perfil do Chrome, recarregue o MyClassifica e clique em Verificar extensão.
- Ative Consultar TECWIN após a IA. O fluxo é: salvar parecer da IA → usar a NCM de 8 dígitos do parecer → consultar TECWIN → salvar a captura. Não há segunda chamada automática à IA.
- Sem NCM definida, o sistema aguarda os esclarecimentos do cliente. Se o login TECWIN expirar, o parecer continua salvo; renove a sessão e use Consultar TECWIN agora.
A extensão não copia a senha salva no Chrome. Ela usa a sessão existente. Consulta em segundo plano exige Chrome e MyClassifica abertos. Esta versão captura a tabela e os Ex exibidos; não abre automaticamente NESH, atos legais ou ICMS detalhado.
8. Trazer os dados já cadastrados
O pacote não acessou nem exportou automaticamente os registros particulares do site anterior. O original permanece disponível.
- No site anterior, abra o produto e baixe Dossiê JSON.
- No novo sistema, use Importação / backup para importar o JSON.
- Os produtos importados ficam em revisão e visíveis para todos. Um ID que já existe é preservado; a importação não substitui registros.
- Baixe os documentos do site anterior e anexe-os ao produto correspondente no cPanel. Usuários, credenciais e capturas TECWIN antigas não são migrados automaticamente.
- Se quiser começar pela lista original de 72 itens, há um botão de importação no catálogo. Ele é exclusivo do ADM e não substitui os itens dessa lista já importados.
9. Conferência após instalar
- Entre como ADM e crie um Operador em Usuários.
- Crie um produto de teste como ADM, salve uma resposta do cliente e anexe um documento.
- Entre como Operador em uma janela separada: confira que vê o mesmo produto, parecer e documento, com edição e análise bloqueadas.
- Volte ao ADM e altere/desative o usuário de teste. Na próxima solicitação, a sessão anterior deve ser recusada.
- Configure a IA pelo campo seguro e faça uma análise. Confira os textos, limites do catálogo e perguntas geradas. A conclusão continua sujeita à revisão técnica.
- Teste a TECWIN depois de obter a NCM e confira a evidência gravada.
- Faça um backup antes de cadastrar a base definitiva. Valide também a rotina de backup do cPanel.
10. Backup e manutenção
- Backup completo: banco MySQL + pasta privada + raiz pública. A chave criptografada depende também do arquivo privado
config.php. - O botão administrativo exporta produtos/documentos ativos em ZIP, sem usuários ou segredos. A página importa produtos do JSON; anexos do ZIP precisam ser reenviados. Esse botão não substitui backup completo do cPanel.
- Exclusão de usuários e produtos é lógica: os registros deixam de aparecer, mas permanecem no banco para recuperação administrativa via backup/banco. Não há tela de lixeira nesta versão.
- As sessões expiram após uma hora sem atividade ou 12 horas de duração total. Alteração de usuário revoga as sessões anteriores.
- Para senha esquecida de Operador ou de outro ADM, um ADM pode redefinir pela tela Usuários. Se o único ADM perder o acesso, será necessária recuperação administrativa pelo cPanel; não há link público de redefinição por e-mail nesta versão.
- Não exponha a pasta privada, o arquivo
config.php nem backups pela web.
11. Verificações realizadas e limites
Frontend compilado e checado com TypeScript. PHP verificado por interpretadores PHP 8.2 e 8.5 e testes de execução. Foram exercitados os bloqueios ADM/Operador, CSRF, revogação/expiração de sessão, criptografia, limites do catálogo, perguntas/respostas, concorrência de edição, validação TECWIN e a lista de 72 itens.
Os testes de persistência usaram SQLite como fixture, sem alterar o código MySQL de produção. A instalação em MySQL/cPanel, as chamadas externas de IA e a extensão no novo domínio ainda precisam ser validadas no servidor de destino. Não foi realizada chamada paga de IA nem alteração no site anterior para criar este pacote.
12. Fontes para manutenção
O pacote inclui o frontend React/TypeScript, o backend PHP e os testes. Para recompilar fora da hospedagem: instale as dependências do package.json com Node 22.13+ ou 24; rode npm run build. Copie compiled/assets para public_html/assets e compiled/index.html para public_html/app.html. Preserve o comentário AUTH_BOOTSTRAP, usado pelo login para fornecer a sessão ao frontend.
Este guia acompanha o pacote MyClassifica cPanel 1.0. Não contém dados de acesso à Nirron ou a serviços externos.