SDK: formulários
Contrato proposto para enviar respostas coletadas na sua experiência própria, sem redigitar dados no Reveals.
Quando usar
Se o formulário é exibido pelo Reveals, use o snippet existente. Se a experiência já pertence ao seu produto, o contrato form.submitted permite enviar a submissão pelo backend. O pacote de navegador com chave publicável ainda não está disponível.
Submissão por evento
Use context.formKey de uma versão publicada e o UUID de cada pergunta em data.answers. Envie um eventId estável e o mesmo corpo em tentativas repetidas. O backend valida obrigatoriedade, opções e condições da versão.
{
"version": 1,
"eventId": "submissao-982",
"type": "form.submitted",
"occurredAt": "2026-10-04T17:02:00Z",
"subject": { "externalId": "user-982" },
"context": { "formKey": "<CHAVE_DE_32_HEX>", "source": "site" },
"data": {
"contact": { "email": "ana@exemplo.com" },
"answers": [{ "questionKey": "<UUID_DA_PERGUNTA>", "value": "10 a 50" }]
}
}Sintaxe curta planejada
O protótipo do SDK agrupa chamadas como reveals("form", "question-01", resposta) e preserva o ID da submissão no retry. Antes de usar aliases curtos em produção, precisamos publicar seu mapeamento para os UUIDs das perguntas.