Skip to main content
No Chat, usuário e agente não são papéis de permissão no seu produto. São quem está falando na conversa. Isso muda webhook, métricas e o JWT que você entrega no app.

Em poucas palavras

Quando usar USER

Use USER para todo mundo que entra no chat pelo seu aplicativo — cliente, motorista, lojista, aluno. Cada pessoa tem um externalUserId estável no seu banco. Fluxo típico:
  1. A pessoa faz login no seu app
  2. Seu backend faz upsert (PUT /v1/chat/users) com o id dela
  3. Seu backend emite o JWT (POST /v1/chat/users/token)
  4. O app conecta o WebSocket com esse JWT e envia mensagens como ela
O JWT leva kind: USER. Quem tem esse token é essa pessoa na conversa.

Quando usar AGENT

Use AGENT quando a mensagem deve aparecer como a sua empresa, não como um usuário final. Situações:
  • Alguém da equipe responde no painel (Chat ou Inbox) — a Notifique já cria o agente agent:{idDoUsuárioDoWorkspace}
  • Seu backend envia um aviso na conversa como suporte (senderExternalUserId do agente)
  • Você quer métricas de enviadas (agente) vs recebidas (usuário) separadas no detalhe do Chat App
workspaceUserId precisa ser membro do workspace. O externalUserId padrão é agent:{workspaceUserId}. Depois, para falar como esse agente:

O que não misturar

  • Não entregue JWT de AGENT no aplicativo do cliente. O cliente fala com o JWT de USER.
  • Não cadastre a equipe como USER se ela atende pelo painel — o webhook iria como chat.received (como se fosse o cliente falando).
  • Dois USER na mesma conversa 1:1 é conversa entre pessoas do seu produto. Um USER e um AGENT é atendimento.

Flags do Chat App

Quem pode criar conversa, criar grupo e adicionar membros pelo JWT vale para qualquer pessoa com token de usuário. Agente pela API Key ignora essas flags: o backend sempre pode criar. Ver Quick Start e Enviar mensagens.