O que é Chat na Notifique?
É o canal para mensagens 1:1 e grupos no iOS, Android ou web do seu produto. Você cria um Chat App no workspace, cadastra usuários com umexternalUserId estável e emite um JWT no seu backend. O app móvel ou o front nunca vê o signing secret.
Você pode:
- Criar Chat Apps com origens permitidas (CORS) e flags do que o JWT pode fazer
- Sincronizar usuários (
PUT /v1/chat/users) e agentes da equipe (POST /v1/chat/agents) - Emitir JWT (
POST /v1/chat/users/token) com TTL de 60 s a 24 h (padrão 1 h) - Abrir conversas 1:1 ou grupo pela API Key; o cliente só cria se você ligar as flags
- Enviar e listar mensagens por REST (
POST /v1/chat/messages) ou WebSocket - Espelhar na Inbox automaticamente
- Receber webhooks
chat.received(usuário) echat.sent(agente), mais ciclo de conversa e membros
Diferente do WhatsApp, chat não usa instância de canal. Basta Chat App, usuários e API Key (ou JWT do usuário) com os escopos certos.
Identidade
O identificador do usuário no seu sistema éexternalUserId (immutável). A Notifique gera um id interno (chatUserId). O JWT leva:
O secret de assinatura fica só no servidor. Rotacione no painel ou com
POST /v1/chat/apps/{id}/rotate-secret — tokens antigos param de valer.
Tempo real
Conecte emwss://api.notifique.dev/v1/chat/ws. Não coloque o JWT na query string. O primeiro frame é:
auth.ok. Depois: subscribe / unsubscribe, message.send, message.read, typing.start / typing.stop, ping → pong. Eventos da conversa chegam no mesmo socket (message.new, etc.).
Há teto de conexões simultâneas por plano (e um teto no host). Estouro → o gateway recusa a conexão.
Cobrança e limites
Cada mensagem enviada consome o SKUCHAT_MESSAGE: 1 crédito (ou R$ 0,01 no Pague pelo uso).
Os mesmos números aparecem em Planos e preços no painel.
Flags padrão (restritivas)
No Chat App, por padrão:allowClientCreateDirect= falseallowClientCreateGroup= falseallowClientAddMembers= false
CHAT_CLIENT_CREATE_DISABLED.
Quando usar?
Funciona para inbox do produto, suporte 1:1 e grupos pequenos. Mensagem em massa, OTP ou reengajamento fora do app → Push, e-mail ou WhatsApp. Widget na landing page → Chat no site.Como funciona na prática
- Crie um Chat App no painel (Visão geral → Chat) ou
POST /v1/chat/apps - Cadastre o usuário com
externalUserIdquando ele existir no seu banco - Emita o JWT no seu backend e entregue só ao cliente autenticado
- O app abre o WebSocket, autentica e se inscreve nas conversas
- Sua API Key abre a conversa 1:1 (dois
USER) ou o grupo; o cliente envia mensagens
Cada API Key pertence a um workspace. Na v1 não envie
x-workspace-id.O que dá para fazer
- Conversas DIRECT com exatamente dois usuários
USER(idempotente por par:CHAT_DIRECT_EXISTSse já existe) - Grupos com política de entrada (
OPEN,ADMIN_ADD,INVITE) e de convite (ANY_MEMBER,ADMINS_ONLY) - Idempotência de mensagem com
clientMessageId(mesmo id → mesma mensagem) - Tipos no envio PIV1:
text,image,audio,file(payload.mediaUrlsó HTTPS). A resposta usaTEXT/IMAGE/AUDIO/FILE. - Origens no Chat App: se a lista não estiver vazia, o
Origindo JWT precisa bater
Depois da primeira mensagem
- Acompanhe por webhooks
- Responda no painel (Chat ou Inbox) como agente
- Teste no Sandbox com
sk_test_...antes de produção
Próximos passos
- Quick Start: app → usuários → JWT → mensagem
- Usuário e agente:
USERvsAGENT - Enviar mensagens: texto, imagem, áudio e arquivo
- Escopos da API Key: permissões
- Eventos dos webhooks: o que chega na sua URL
- Comece aqui: integração geral da plataforma

