Skip to main content
De cero al primer mensaje: Chat AppusuariosJWT en tu backendconversaciónenvío.

En pocas palabras

  • Crea un Chat App y guarda id, publicKey y el signing secret (solo en el servidor).
  • Da de alta usuarios con externalUserId estable.
  • Emite el JWT en tu backend (POST /v1/chat/users/token). La app solo recibe el token.
  • Abre el 1:1 con la API Key (las flags de creación por JWT vienen apagadas).
  • Envía con la API Key (senderExternalUserId) o con el JWT del miembro.
Contexto: Introducción. Alcances: Alcances de la API Key.
Nunca incrustes el signing secret en la app. Solo tu servidor firma JWT.

1. Crear Chat App

Panel: Visión general → ChatNuevo app. O API:
Alcance: chat:apps:create. Guarda el id. El signingSecret solo aparece en la creación o al rotar.

2. Usuarios

Repite para user_bob. Alcance: chat:users.

3. JWT (tu backend)

Entrega data.token solo al cliente autenticado como Alice. TTL por defecto 3600 s; máximo 86400.

4. Conversación 1:1 (API Key)

Con las flags por defecto el JWT no crea conversación (403 CHAT_CLIENT_CREATE_DISABLED).
DIRECT exige exactamente dos USER. El par ya existe → 409 CHAT_DIRECT_EXISTS.

5. Enviar

Mismo contrato PIV1 que los otros canales: from (id del Chat App), to (id de la conversación), type y payload. Cada envío consume 1 crédito (CHAT_MESSAGE).
Con JWT del miembro: el mismo path, sin senderExternalUserId. El path antiguo POST /v1/chat/conversations/{id}/messages sigue funcionando.

6. WebSocket

wss://api.notifique.dev/v1/chat/ws — primer frame { "type": "auth", "token": "<jwt>" } (sin token en la query).

Próximos pasos