SyncroCentral de Ajuda
No se encontraron resultados
Acessar Syncro

Permissões de visibilidade de conversas

Actualizado el 30 de abril de 2026

Em equipes grandes ou agências com múltiplos clientes, nem todo mundo deve ver toda conversa. Um vendedor não precisa ver atendimento do suporte. Um atendente do cliente A não deve ver dados do cliente B. O Syncro tem sistema de permissões de visibilidade baseado em papel (role), atribuição (assigned_user_id), departamento e pivô de número de WhatsApp — pra controlar isso de forma flexível.

Esse artigo explica as regras e como configurar.

Pré-requisitos

  • Permissão de admin pra mudar configurações de visibilidade.

Regras de visibilidade — ordem de precedência

A regra é avaliada nessa ordem:

1. Super admin / Admin

  • Vê todas as conversas do tenant, sem restrição.
  • Não importa departamento, atribuição, ou pivô.

2. Usuário com can_see_all_conversations=true

  • Override individual: vê tudo, igual admin.
  • Útil pra gerentes que precisam visão geral mas não são admins formais.

3. Usuário com pivô user_whatsapp_instance configurado

  • Vê conversas onde:
  • Instance está no pivô dele, OR
  • Conversa atribuída a ele (assigned_user_id = user.id).
  • UNION das duas condições.

4. Fallback (sem pivô)

  • Vê conversas onde:
  • Departamento é dele (conversation.department_id IN user.departments.ids), OR
  • Conversa atribuída a ele.
  • UNION.

5. Sem nada configurado

  • só conversas atribuídas a ele.

Configurar com pivô de número de WhatsApp

A forma mais granular: cada usuário só vê conversas dos números de WhatsApp que ele atende.

Como configurar

  1. Acesse Configurações → Integrações → card WhatsApp.
  2. No número específico, clique em Quem pode atender este número.
  3. Aparece um painel com lista de usuários do tenant + checkboxes.
  4. Marque os usuários que devem ter acesso.
  5. Clique em Salvar acessos.
  6. Aparece Acessos atualizados..

Resultado

  • Usuários marcados: veem todas as conversas que chegam nesse número.
  • Usuários não marcados: não veem (a menos que a conversa esteja atribuída diretamente a eles).

Visibilidade por departamento (sem pivô)

Alternativa mais ampla: configurar visibilidade por departamento.

Como funciona

  1. Crie departamento (ex: Comercial).
  2. Adicione usuários ao departamento.
  3. Configure número de WhatsApp pra ter departamento padrão (department_id).
  4. Conversas que chegam no número entram no departamento.
  5. Usuários do departamento veem.

Veja Criar departamento.

💡 Dica: pivô vs departamento — qual usar?

  • Pivô: controle granular por número de WhatsApp. Funciona bem em multi-tenant agência.
  • Departamento: controle por setor organizacional (Comercial / Suporte / Financeiro). Funciona melhor em empresas com setores claros.

Eles podem coexistir — sistema usa o pivô se preenchido, senão fallback pro departamento.

Override "Ver todas as conversas"

Pra dar visão completa a um usuário que não é admin (ex: supervisor):

  1. Configurações → Usuários → editar usuário.
  2. Marque o checkbox Ver todas as conversas.
  3. Salve.

Esse user passa a ver tudo, ignora pivô e departamento.

Atribuição direta = visibilidade

Independente de pivô / departamento, se uma conversa é atribuída a você (assigned_user_id = você), você vê. Exceção:

⚠️ Atenção: na configuração strict (com pivô preenchido), atribuição direta a usuário fora do pivô pode não dar visibilidade automática se sua versão tem regra mais restrita. Confira testando ou contate suporte.

Real-time — mudança de permissão expulsa o user

Quando admin remove um user do pivô de um número:

  • O user perde acesso imediato às conversas daquele número.
  • Sistema dispara evento WhatsappAccessRevoked.
  • Pelo WebSocket, o user recebe notificação em tempo real.
  • Frontend força reload da página (location.reload) após 1.5 segundos.
  • Após reload, o user só vê conversas onde ainda tem acesso.

Isso garante que dados sensíveis não fiquem em cache no browser após remoção de permissão.

Cenários comuns

Cenário 1 — Equipe pequena (5 pessoas, 1 número)

  • Configuração mais simples.
  • Não preencha pivô.
  • Crie 1 departamento padrão (ou nenhum).
  • Todo mundo vê tudo (todos no mesmo departamento ou todos com can_see_all_conversations=true).

Cenário 2 — Múltiplas equipes, 1 número

  • 1 número de WhatsApp.
  • Múltiplos departamentos (Comercial, Suporte).
  • Cada conversa cai no departamento correto via automação ou estratégia.
  • Cada departamento vê suas conversas.

Cenário 3 — Múltiplas equipes, múltiplos números

  • Vários números de WhatsApp (um por departamento ou cliente).
  • Pivô preenchido por número.
  • Cada equipe vê só os números dela.

Cenário 4 — Agência (multi-cliente)

  • Cada cliente tem seu próprio número de WhatsApp.
  • Pivô estritamente preenchido — atendentes do cliente A só veem o número A.
  • Atendentes do cliente B só veem o número B.
  • Admin da agência vê tudo (can_see_all_conversations=true).

Verificar quem vê o quê

Como admin, você consegue testar visibilidade:

  1. Logue como o usuário em questão (ou peça pra ele).
  2. Veja a lista de conversas no /chats.
  3. Compare com o que ele deveria ver.

Se houver inconsistência:

  • Confira o pivô do usuário em Configurações → Integrações → número de WhatsApp.
  • Confira departamentos em Configurações → Usuários → editar.
  • Confira can_see_all_conversations no perfil dele.

Auditoria de mudanças

Toda mudança em pivô, departamento, atribuição ou can_see_all_conversations é registrada no Audit Log. Veja Audit Log.

Visibilidade não afeta envio

Se um usuário uma conversa, automaticamente pode enviar mensagens nela (se tem permissão de envio — admin/manager). Não há configuração separada de "ver mas não enviar" hoje, exceto pela role:

  • Viewer: vê mas não envia (composer desabilitado).
  • Manager/Admin: vê e envia.

Visibilidade em automações

Automações rodam com privilégio de sistema — não respeitam permissões de visibilidade individuais. Elas processam todas as conversas matching, independentemente de quem teria acesso.

Cuidado pra não vazar dados via automações mal configuradas (ex: notificação que envia conteúdo de conversa pra usuário sem visibilidade).

API e visibilidade

Acesso via API REST v1 depende do API Key vinculada a um usuário. A key herda as permissões de visibilidade do user dono. Pra pegar conversas de toda a empresa via API, use key vinculada a admin.

Veja API Keys.

Caso especial — conversa transferida

Quando você atribui ou transfere uma conversa pra outro user, ele:

  • Ganha visibilidade dela imediatamente (mesmo que normalmente não tivesse).
  • Mantém visibilidade enquanto a conversa permanecer atribuída a ele.
  • Se ela for desatribuída ou movida pra alguém fora do pivô, ele perde visibilidade novamente.

Limitações conhecidas

  • Sem permissão "ver mas não responder" — se ver, pode responder (depende só da role).
  • Sem auditoria por usuário de "quantas conversas o user X visualizou" — Audit registra ações, não visualizações.
  • Real-time tem latência de poucos segundos pra WebSocket propagar mudança de pivô.

Checklist pra debug de visibilidade

Se um user reclama que não vê uma conversa:

  1. Confirma o role dele (admin vê tudo).
  2. Confira can_see_all_conversations (true = vê tudo).
  3. Veja se o número de WhatsApp tem pivô — user está marcado?
  4. Veja o departamento da conversa — user pertence?
  5. Veja se a conversa está atribuída a ele ou outro.
  6. Atualize a página (Ctrl+F5) — pode ser cache antigo.

Próximos passos

Artigos relacionados