Personalize o painel administrativo e configure a integração com o MySQL Simdesk.
Interrompe o recebimento de dados das lojas na web (POST /api/v1/sync/push → HTTP 503). Use em manutenção temporária. Desmarque e salve ao terminar.
Não exige exportar o kit nem preencher o MySQL local — salve só esta opção. A pausa por empresa continua em Empresas.
Credenciais para consulta ao Simdesk (importação de clientes). Host, porta e charset ficam no .env; banco, usuário e senha ficam aqui (senha cifrada no master).
Defina SIMDESK_SECRET_KEY no .env e a tabela config (database/schema/09_projeto_configuracao.sql).
Deixe em branco para manter a senha já salva.
Prefixo, usuário e senha MySQL na WEB usados ao cadastrar novas empresas (manual ou importação Simdesk), quando os campos de banco não forem informados no formulário.
A senha é cifrada no banco master (mesma chave SIMDESK_SECRET_KEY do .env). Execute database/schema/16_config_banco_web.sql e 19_config_web_db_name_prefix.sql se a tabela config ainda não tiver as colunas.
Defina aqui a empresa, o MySQL local da loja, as tabelas e a URL da API.
Salve o kit e exporte o ZIP — o config.json dentro do ZIP usa os dados salvos (exportar grava o formulário antes de gerar o arquivo).
Obrigatória para salvar e exportar. Deve ter Código Simsoft e token de sync cadastrados.
Conexão com o banco de dados na máquina da loja (PDV). Esses dados vão para local_pdo no config.json exportado no ZIP.
Deixe em branco para manter a senha já salva (cifrada). No config.json exportado, a senha vai como password_encrypted.
Quantidade de registros a serem processados por vez. Recomendado: 5000 (limite máximo do MySQL).
Gravado em config.json (sync_interval_minutes). O ecook-tray.exe na bandeja da loja repete o envio a cada X minutos.
Todas as tabelas BASE TABLE do banco MySQL local configurado acima serão enviadas para a web.
A chave primária é detectada automaticamente na loja (setup-sync-tabelas.exe / ecook-tray.exe).
Tabelas sem PRIMARY KEY são ignoradas.
—
—
Salve o kit para atualizar a lista (requer MySQL local acessível a partir do servidor do painel). Na loja, a lista é sempre recalculada a partir do banco local.
Na máquina da loja você precisa apenas de uma pasta com o conteúdo do ZIP exportado
(sugestão: C:\eCookSync\desktop — os .exe usam automaticamente a pasta onde estão instalados)
e um MySQL local com as tabelas de negócio. Não é necessário PHP na loja — o kit inclui
executáveis Windows (.exe). O painel web fica no servidor; a loja apenas envia
alterações para POST /api/v1/sync/push.
No painel web, cadastre a empresa com Código Simsoft (emp_sim_codigo) e
Token de sincronização (emp_sync_token) — mesmos valores em config.json na loja.
As tabelas aceitas pela API são todas as BASE TABLE do MySQL local da loja
(modo automático). Salve o kit para registrar a configuração no banco config.
No painel, use o card Kit de sincronização acima: salve os parâmetros e clique em
Exportar ZIP para a loja (escolha a empresa). Extraia o ZIP em uma pasta da loja (ex.: C:\eCookSync\desktop).
O pacote inclui config.json e os executáveis:
ecook-tray.exe — agente na bandeja (sync automática + menu)setup-sync-tabelas.exe — cria colunas sinc_* e triggers no MySQL localsync-retry-erros.exe — reprocessa registros com erro (sinc_status = 9)iniciar_ecook_tray.bat — inicia o agente na bandejaconfigurar_inicio_automatico.bat — atalho na pasta Inicializar do WindowsNão é necessário PHP nem código do painel web na loja.
Execute uma vez após exportar o ZIP ou incluir tabela nova na grade:
cd C:\eCookSync\desktop setup-sync-tabelas.exe
Relatório em log/Log_Sync_Atualiza_Tabelas_*.txt.
O ZIP traz config.json pronto (conexão, API, tabelas). Não edite manualmente salvo necessidade — reexporte pelo painel.
Opcional: sync_origem — texto no histórico de sync; se vazio, o ecook-tray.exe monta automaticamente (hostname e SO).
Todas as tabelas BASE TABLE do banco MySQL local são enviadas. O agente detecta a
PRIMARY KEY automaticamente. Tabelas sem chave primária são ignoradas.
Após criar tabela nova no MySQL local, execute setup-sync-tabelas.exe novamente para
preparar colunas sinc_* e triggers.
Execute desbloquear_exes.bat (uma vez) e depois:
cd C:\eCookSync\desktop iniciar_ecook_tray.bat
O ícone aparece perto do relógio. Passe o mouse para ver a versão (vAA.MM.DD) e o countdown da próxima sync. Botão direito: Sincronizar agora, pausar, abrir log.
Para iniciar ao logar no Windows: configurar_inicio_automatico.bat.
Defina o intervalo em minutos no campo Intervalo de sincronização acima, salve o kit e reexporte o ZIP. O ecook-tray.exe lê sync_interval_minutes do config.json.
Use HTTPS em api.base_url em produção. Não compartilhe o config.json nem o token de sync.
sinc_status0 — pendente de envio1 — enviado com sucesso para a web9 — erro (ver sinc_erro_msg ou logs em log/)sync-retry-erros.exe (na pasta do kit) e depois Sincronizar agora no menu da bandejaColunas cujo nome começa com sinc_ são metadados só do MySQL local; a API remove-as antes de gravar na nuvem.
setup-sync-tabelas.exe executado (colunas sinc_* e triggers)ecook-tray.exe rodando na bandeja (ou início automático configurado)
Documentação completa no repositório: sync/README.md.
Exemplos SQL de colunas e triggers: sync/sql/.