Repetição
A repetição de sessão grava o que o ecrã do utilizador realmente fez: mudanças no DOM e interações, capturadas pelo SDK em blocos e revistas no console. A gravação é opt-in por cliente, as entradas são mascaradas por omissão.
At a glance
- Enable
createWebClient({ sessionReplay: true, replayHost })- Intake
POST /v1/replay, chunked, project key- Read
replaySessions,replayChunksover GraphQL- Masking
- Inputs masked by default, client-side
- Auth
- Project key to record, access token to watch
- Captura em blocos: o gravador recebe blocos numerados, pelo que um separador fechado a meio da sessão ainda deixa tudo o que foi enviado.
- O mascaramento é no cliente: o conteúdo mascarado nunca sai do navegador, em vez de ser escondido na exibição.
- Os links de reprodução são de vida curta por desenho; um link expirado reemite-se ao recarregar em vez de falhar em silêncio.
Como funciona
The web SDK records DOM mutations and interactions, serialises them into numbered chunks and posts each chunk to the recorder with the project key, flushing on an interval and on page hide. The replay processor stores the chunks with their session metadata: whose session, how many events, whether masking was on. The console lists sessions and plays one back by fetching its chunks through short-lived links, in order, so a recording streams rather than downloading whole.
Onde aceder
| Surface | Operation |
|---|---|
| REST | POST /v1/replay (recorder intake, project key) |
| GraphQL | replaySessions, replayChunks queries |
| Realtime | None: session lists read on demand |
| MCP | None |
Exemplo
import { createWebClient } from '@prodantix/sdk/web';
const prodantix = createWebClient({
apiKey: process.env.PRODANTIX_KEY,
replayHost: 'eu.replay.prodantix.com',
sessionReplay: true,
// Inputs are masked by default; widen or narrow with sessionReplayOptions.mask.
});Replay is a web SDK capability: recording needs a DOM, so the Dart and Python SDKs do not carry it. Watching back happens on the Replay screen.