Modo Debug
O modo debug é o ferramental de teste da integração: um painel inspetor visual + logs de console + comandos. Ele mostra qual pessoa está logada, quais disparos e widgets vieram da plataforma e se cada um apareceria na tela atual — e por quê.
O modo debug não configura nada na sua aplicação nem na plataforma. Widgets e disparos são configurados dentro da PliQ; o painel apenas mostra o que o plugin está fazendo.
log × debug — não confunda
| Prop | O que liga | Onde aparece | Pode ficar em produção? |
|---|---|---|---|
log | Mensagens de acompanhamento | Console do navegador | Sim |
debug | Painel inspetor + ícone flutuante | Na tela | Não recomendado |
São independentes: ligar um não liga o outro.
p._pliqStt = {
token: 'SEU_TOKEN',
log: true, // console
debug: true, // painel visual
// ...
};
Ou em runtime, pelo console:
window.PliQ.enableDebug(); window.PliQ.disableDebug();
window.PliQ.enableLogs(); window.PliQ.disableLogs();
O ícone flutuante
Com debug: true, aparece um ícone laranja com o logo da PliQ. Clique para abrir o painel — ele é arrastável pelo cabeçalho, tem tema claro/escuro (botão ☾/☀) e lembra a posição e o tema entre recarregamentos.
O painel
Antes do login, o painel mostra as ações disponíveis e aguarda uma sessão:

Aba Dados
Com uma sessão ativa, a aba Dados mostra tudo o que o plugin sabe:

- Ações —
Login,Logout,Limpar cache,Ignorar cache(este último fica desabilitado enquanto há sessão — faça logout para alterar) - Sessão — estado (ativa/expirada) com contagem regressiva ao vivo, id da pessoa, device detectado e URL atual
- Pessoa — os dados enviados no login
- Comunicação | Disparos — tabela das pesquisas direcionadas: URL, ativa?, exibições/limite, agendamento, delay e a coluna exibe?
- Widgets — tabela dos botões flutuantes: tipo, posição, devices, ativo e a coluna exibe?
A coluna "exibe?"
É a dica de ouro do painel: diz se aquele disparo/widget apareceria na tela atual, ou o motivo de não aparecer (URL / limite / agendado nos disparos; device / URL / inativo nos widgets).
Clique no valor (ⓘ) para abrir o detalhe — cada regra de URL avaliada uma a uma (✓/✗), exibições usadas/restantes, status do agendamento e, nos widgets, as properties e tags configuradas que vão na resposta:

O servidor ainda confirma limite/quarentena na hora de abrir a pesquisa — ele tem a palavra final.
Login pelo painel
A ação Login abre um formulário com os campos aceitos e um preview ao vivo do script exato — pronto para copiar para o seu app:

- Obrigatório:
name+ um identificador (email,phoneoucode_contact_client)
A ação Logout mostra o window.PliQ.closeSession(); e o JSON da pessoa que será encerrada.
Aba Globais
A aba Globais é um inspetor de placeholders: mostra no que cada {…} de uma property/tag de widget viraria agora, resolvido na ordem built-in → variável global → campo do contato (ver Widgets de ação → placeholders).

- Variáveis globais — as que você registrou (via
PliQ.setGlobals(...)ou_pliqStt.globals), com contador. Registrar uma chave que já existe substitui o valor. - Tags globais — as registradas via
PliQ.setTags(...)ou_pliqStt.tags, somadas à resposta de todos os widgets. - Built-ins · resolvem agora —
{current_url},{current_path},{referrer},{title}já resolvidos na tela atual. - Campos do contato —
{name},{email},{phone}… lidos da sessão logada.
Atalhos: PliQ.setGlobals({ plano: 'premium' }) · PliQ.getGlobals() · PliQ.clearGlobals() — ver Métodos → setGlobals.
Atualização automática
Com o painel aberto, ele percebe a mudança de tela sozinho e re-verifica a coluna exibe?. A contagem de expiração, o número de exibições e as variáveis globais (aba Globais) atualizam ao vivo.
Comandos (console)
// Painel
window.PliQ.enableDebug(); window.PliQ.disableDebug(); window.PliQ.setDebug(true);
// Logs
window.PliQ.enableLogs(); window.PliQ.disableLogs(); window.PliQ.setLogs(true);
// Sessão
window.PliQ.login({ name: 'Fulano', email: 'fulano@exemplo.com' });
window.PliQ.relogin(); // re-login com o último contato usado
window.PliQ.closeSession(); // logout
// Variáveis globais (placeholders {chave} nos widgets)
window.PliQ.setGlobals({ plano: 'premium' });
window.PliQ.getGlobals(); // lista as registradas
window.PliQ.clearGlobals(); // remove todas
// Tags globais (somadas a todos os widgets)
window.PliQ.setTags(['campanha-verao']);
window.PliQ.getTags(); // lista as registradas
window.PliQ.clearTags(); // remove todas
// Cache (teste)
window.PliQ.clearCache(); // encerra a sessão (se houver) e limpa o localStorage
window.PliQ.setIgnoreCache(true); // arma o bypass do próximo login
Bypass de cache
Durante testes é comum precisar ver mudanças na hora, sem esperar os 20 minutos de cache. Há três camadas em jogo:
| Camada | Onde | O que faz |
|---|---|---|
| Sessão local | plugin (localStorage) | Guarda disparos/widgets por 20 min; o initialize nem chama a API enquanto existir |
| Cache do servidor | API PliQ | Guarda o resultado por 20 min por empresa + contato |
| Limite de exibição | servidor | Para de exibir após N vezes (não é cache) |
Como ligar
O bypass não é configurável via _pliqStt nem por URL (de propósito, para não pesar o backend em produção). Só de dois jeitos:
// 1) Console do navegador
window.PliQ.setIgnoreCache(true); // liga o bypass
window.PliQ.relogin(); // limpa a sessão local + refaz o initialize
window.PliQ.setIgnoreCache(false); // desliga
Ou 2) pelo botão Ignorar cache do painel (antes do login).
Com o bypass ligado, cada initialize limpa a sessão local e chama a API com ?ignoreCache=true — o servidor pula o cache de 20 min.
Trava de segurança (servidor)
Para proteger o backend caso a flag fique ligada por engano, o servidor honra o bypass no máximo 10 vezes por empresa dentro de uma janela de 10 minutos. Ao estourar, ele passa a ignorar a flag e volta a servir do cache — a contagem expira sozinha após a janela e o bypass volta a valer.
Deixe debug desligado e o bypass desarmado. log: true pode ficar, se quiser acompanhar pelo console.