Pular para o conteúdo principal

Métodos do PluginJS

Após o script carregar, o objeto global window.PliQ fica disponível com os métodos públicos do plugin.

Resumo​

MétodoPara quêUso
initialize(contact)Inicia a sessão com os dados da pessoaProdução
closeSession()Encerra a sessão e fecha popups abertosProdução
openWidget(ref, options?)Abre um widget de ação (com properties/tags opcionais)Produção
setGlobal(k, v) / setGlobals(obj)Registra variáveis globais para placeholders {chave}Produção
setTags(list) / getTags() / clearTags()Tags globais somadas a todos os widgetsProdução
login(contact)Login forçado: reseta e re-inicializaTeste/dev
relogin()Re-login com o último contato usadoTeste/dev
clearCache()Encerra a sessão e limpa o localStorageTeste/dev
setIgnoreCache(bool)Arma/desarma o bypass de cacheTeste/dev
enableLogs() / disableLogs() / setLogs(bool)Liga/desliga os logs de consoleProdução ou teste
enableDebug() / disableDebug() / setDebug(bool)Liga/desliga o painel de debugTeste/dev

Em produção, o essencial são initialize (login) e closeSession (logout); use openWidget se tiver widgets de ação. Os demais são ferramentas de teste — ver Modo Debug.


PliQ.initialize(contact)​

Inicializa a sessão do plugin com os dados do contato.

await window.PliQ.initialize({
name: 'João Silva',
email: 'joao@empresa.com'
});

Campos aceitos no contact:

CampoObrigatório
nameSim
emailAo menos um identificador: email, phone ou code_contact_client
phone (DDI + DDD)↑
code_contact_client (ID da pessoa no seu sistema)↑
enterpriseNão

Exemplos:

// nome + email
await window.PliQ.initialize({ name: 'João Silva', email: 'joao@empresa.com' });

// nome + código do cliente no seu sistema
await window.PliQ.initialize({ name: 'João Silva', code_contact_client: 'CLI-00123' });

// nome + telefone
await window.PliQ.initialize({ name: 'João Silva', phone: '5511999999999' });

O que acontece:

  1. Se já existe uma sessão ativa, o plugin apenas loga e retorna (não refaz a chamada)
  2. Envia o contato para a API PliQ com o PLIQ_TOKEN no header
  3. Recebe os disparos + widgets vinculados e armazena a sessão criptografada no localStorage
  4. Inicia o monitoramento de URL imediatamente
  5. A sessão expira automaticamente após 20 minutos (e re-inicializa sozinha se a pessoa continuar navegando)

PliQ.closeSession()​

Encerra a sessão atual: limpa o localStorage, fecha popups abertos (pesquisa e widget), remove os botões flutuantes e para os timers.

await window.PliQ.closeSession();

PliQ.openWidget(ref, options?)​

Novidade da v7

openWidget e os widgets de ação existem a partir da v7.

Abre o modal de um widget de ação explicitamente (sem depender de botão flutuante). É o par programático do atributo data-pliq-widget — ver a página Widgets de ação.

window.PliQ.openWidget('pesquisa-atendimento', {
properties: { origem: '{current_url}' }, // {current_url} vira a URL atual
tags: ['campanha-verao'],
});
  • ref — referência do widget, resolvida na ordem name → url_survey.
  • options.properties — campos customizados (Record<string, string>) gravados na resposta.
  • options.tags — lista de tags (string[]) gravadas na resposta.
  • Retorno boolean — true se abriu (ou já estava aberto); false se não há sessão, a referência não existe ou o widget está inativo (o motivo é logado no console).

Valores aceitam placeholders resolvidos na hora — built-ins ({current_url}…), variáveis globais (ver abaixo) e campos do contato ({email}, {name}…). Ver Widgets de ação → placeholders.


PliQ.setGlobals(vars) / PliQ.setGlobal(key, value)​

Novidade da v7

As variáveis globais (e os placeholders) foram introduzidas na v7.

Registra variáveis globais usadas como placeholders {chave} nos properties/tags de qualquer widget (flutuante ou de ação). Complementa a config estática _pliqStt.globals do snippet.

window.PliQ.setGlobals({ plano: 'premium', tenant: 'acme' });
window.PliQ.setGlobal('carrinho_id', '8821');
window.PliQ.getGlobals(); // { plano: 'premium', tenant: 'acme', carrinho_id: '8821' }
window.PliQ.clearGlobals(); // remove todas

As globais são resolvidas na abertura do widget — basta registrá-las antes do clique. Também há os campos do contato ({email}, {name}…) e os built-ins. Ver Widgets de ação → placeholders.


PliQ.setTags(list) / PliQ.getTags() / PliQ.clearTags()​

Novidade da v7

As tags globais foram introduzidas na v7.

Registra tags globais somadas à resposta de todos os widgets (flutuante ou de ação), junto das tags configuradas na plataforma e das passadas em openWidget/data-pliq-tags. setTags substitui o conjunto atual.

window.PliQ.setTags(['campanha-verao', 'time-suporte']);
window.PliQ.getTags(); // ['campanha-verao', 'time-suporte']
window.PliQ.clearTags(); // remove todas

Também aceita config estática no snippet: _pliqStt.tags = ['campanha-verao'].


Exemplo prático (login/logout do seu app)​

// No login do usuário
await window.PliQ.initialize({
name: 'João Silva',
email: 'joao@exemplo.com'
});

// No logout do usuário
await window.PliQ.closeSession();
Importante

Sincronize os dois métodos com o login/logout do seu sistema — é isso que garante que cada pesquisa chegue à pessoa certa.


Métodos de teste e desenvolvimento​

PliQ.login(contact)​

Login forçado: reseta a sessão atual e re-inicializa com o contato informado (é o que o formulário de Login do painel de debug usa).

PliQ.relogin()​

Re-login usando o último contato informado. Útil após setIgnoreCache(true) para forçar um refetch imediato.

PliQ.clearCache()​

Limpa o cache local. Se houver sessão ativa, encerra a sessão primeiro (fecha popups e para timers).

PliQ.setIgnoreCache(bool)​

Arma/desarma o bypass de cache para os próximos initialize. Só para testes — o servidor tem uma trava de segurança. Ver Modo Debug → Bypass de cache.

Logs e painel​

// Logs de console (podem ficar em produção)
window.PliQ.enableLogs(); window.PliQ.disableLogs(); window.PliQ.setLogs(true);

// Painel visual de debug (só em testes)
window.PliQ.enableDebug(); window.PliQ.disableDebug(); window.PliQ.setDebug(true);