NueForm

Tipos de Pergunta Avançados

Documentação dos tipos de pergunta Jurídico/Termos, Pagamento, Data, Classificação, Matriz, Informações de Contato, Endereço, Nó de Dados e Composite.

Jurídico / Termos

Uma pergunta de aceite de termos e condições que apresenta uma declaração e exige que o respondente aceite ou recuse.

Pergunta Jurídica
Uma pergunta de aceite jurídico/de termos.

Identificador de tipo: legal

Propriedades

PropriedadeTipoDescriçãoPadrão
buttonTextstringO texto jurídico ou os termos a exibir. É o texto do acordo jurídico que o respondente está aceitando.Nenhum

Comportamento

  • Exibe o texto jurídico de buttonText.
  • O respondente clica em "Eu aceito" ou "Eu não aceito".
  • Normalmente usado para políticas de privacidade, termos de serviço, formulários de consentimento e acordos de processamento de dados.

Validação

Se required for true, o respondente deve aceitar os termos para prosseguir. Recusar (selecionar "Eu não aceito") quando a pergunta é obrigatória exibirá um erro de validação.

Operadores de Salto de Lógica

equals, not_equals, is_answered, is_not_answered

Ao usar equals, compare com true (aceito) ou false (recusado).

Formato da Resposta

A resposta é armazenada como um booleano (true para aceite, false para recusa, ou null se não respondida).

Pontuação em Modo Quiz

Jurídico é um tipo de pergunta pontuável:

  • Quiz de Conhecimento: Defina correctAnswers com "true" ou "false".
  • Qualificação de Leads: Defina choiceScores com as chaves "true" e "false".
  • Quiz de Correspondência: Defina choiceOutcomes mapeando aceite/recusa para telas finais.

O tipo de pergunta Jurídico é funcionalmente semelhante ao Sim/Não, mas foi projetado especificamente para cenários de termos e condições. A interface apresenta os botões "Eu aceito" / "Eu não aceito" em vez de "Sim" / "Não".


Pagamento

Colete pagamentos dos respondentes como parte do fluxo do formulário usando a integração com o Stripe. Suporta dois modos de pagamento, moedas configuráveis e valores fixos ou variáveis.

Identificador de tipo: payment

Modos de Pagamento

ModoPlanosDescrição
platformTodos os planosO NueForm processa os pagamentos e transfere os fundos para você. Taxa de 2,9% + US$ 0,30 por transação.
connectPro, EnterpriseOs pagamentos vão diretamente para sua conta Stripe conectada. Sem taxas do NueForm.

Propriedades

PropriedadeTipoDescriçãoPadrão
pricenumberValor fixo do pagamento em unidades principais (por exemplo, 29.99). Deixe vazio para valores variáveis.Nenhum
currencystringCódigo da moeda (por exemplo, "USD", "EUR", "GBP")."usd"
paymentModestringModo de pagamento: "platform" ou "connect"."platform"
paymentDescriptionstringDescrição que aparece na cobrança do Stripe.Nenhum
paymentButtonTextstringTexto personalizado do botão de pagar."Pay $X.XX"
minAmountnumberValor mínimo permitido para pagamentos variáveis (unidades principais).Nenhum
maxAmountnumberValor máximo permitido para pagamentos variáveis (unidades principais).Nenhum
stripeConnectionIdstringID da conta Stripe conectada a ser usada.Nenhum
enableTrackingbooleanRastreia totais acumulados de pagamento.false
paymentAccountIdstringID da conta de rastreamento de pagamentos.Nenhum
accountTotalVariablestringNome da variável para armazenar o total acumulado da conta.Nenhum

Comportamento

  • Se price estiver definido, o respondente vê o valor fixo e fornece os dados do cartão.
  • Se price não estiver definido, o respondente insere o próprio valor (modo variável/doação).
  • O Payment Element do Stripe é renderizado para coleta segura dos dados do cartão.
  • Em caso de pagamento bem-sucedido, o formulário avança automaticamente para a próxima pergunta.

Validação

Se required for true, o respondente deve concluir o pagamento para prosseguir.

Operadores de Salto de Lógica

equals, not_equals, is_answered, is_not_answered

Formato da Resposta

A resposta é armazenada como um objeto PaymentResult:

json
{
  "paymentIntentId": "pi_abc123",
  "amount": 2999,
  "currency": "usd",
  "status": "succeeded"
}

Para instruções de configuração, veja o guia prático Coletar Pagamentos.


Data

Um seletor de data que permite aos respondentes escolher uma data. Suporta formatos de data configuráveis.

Pergunta de Data
Uma pergunta com seletor de data.

Identificador de tipo: date

Propriedades

PropriedadeTipoDescriçãoPadrão
dateFormatstringO formato em que a data é exibida e interpretada (por exemplo, "MM/DD/YYYY", "DD/MM/YYYY", "YYYY-MM-DD").Padrão do sistema

Comportamento

  • Exibe uma interface de seletor de data.
  • O respondente pode digitar uma data manualmente ou selecioná-la em um widget de calendário.
  • A data é armazenada em formato ISO, independentemente do formato de exibição.

Validação

Se required for true, o respondente deve selecionar uma data.

RegraDescrição
minData mínima permitida.
maxData máxima permitida.
customMessageMensagem de erro personalizada para a validação de data.

Operadores de Salto de Lógica

equals, not_equals, is_answered, is_not_answered

Formato da Resposta

A resposta é armazenada como uma string (o valor da data, normalmente em formato ISO ou no dateFormat configurado).


Classificação

Apresente uma lista de itens para o respondente organizar na ordem de preferência dele, arrastando e soltando.

Pergunta de Classificação
Uma pergunta de classificar arrastando.

Identificador de tipo: ranking

Propriedades

PropriedadeTipoDescriçãoPadrão
choicesChoice[]Array de itens a classificar. Cada um tem um id e um label.[]

Comportamento

  • Os itens são exibidos em uma lista.
  • O respondente arrasta os itens para reordená-los.
  • Alças de arrasto indicam itens arrastáveis.
  • Interação por toque e por mouse são ambas suportadas.

Validação

Se required for true, o respondente deve enviar uma classificação.

Operadores de Salto de Lógica

equals, not_equals, is_answered, is_not_answered

Formato da Resposta

A resposta é armazenada como um array de strings (IDs das opções na ordem de classificação do respondente).


Matriz

Um tipo de pergunta em grade, em que os respondentes avaliam vários itens em várias categorias.

Pergunta de Matriz
Uma pergunta de matriz/grade.

Identificador de tipo: matrix

Propriedades

PropriedadeTipoDescriçãoPadrão
rowsstring[]Array de rótulos das linhas (itens sendo avaliados).[]
columnsstring[]Array de rótulos das colunas (categorias de avaliação).[]
randomizeRowsbooleanRandomiza a ordem das linhas.false
randomizeColumnsbooleanRandomiza a ordem das colunas.false

Comportamento

  • É exibida como uma grade, com linhas à esquerda e colunas na parte superior.
  • O respondente seleciona uma opção por linha.
  • No mobile, a grade se adapta a um formato empilhado para melhor usabilidade.

Validação

Se required for true, o respondente deve selecionar uma opção para cada linha.

Operadores de Salto de Lógica

equals, not_equals, is_answered, is_not_answered

Formato da Resposta

A resposta é armazenada como um objeto que mapeia rótulos de linha para os rótulos de coluna selecionados:

json
{
  "Quality": "Excellent",
  "Speed": "Good",
  "Support": "Average"
}

Informações de Contato

Colete informações de contato estruturadas, incluindo nome, endereço de e-mail e número de telefone, em uma única pergunta.

Identificador de tipo: contact_info

Propriedades

PropriedadeTipoDescriçãoPadrão
defaultCountryCodestringCódigo de país padrão para o campo de telefone (por exemplo, "US", "GB").Nenhum

Comportamento

  • Exibe campos para Nome, Sobrenome, E-mail e Número de Telefone.
  • O campo de telefone inclui um seletor de código de país.
  • Cada subcampo pode ser individualmente obrigatório ou opcional.

Validação

Se required for true, todos os subcampos visíveis devem ser preenchidos.

Operadores de Salto de Lógica

equals, not_equals, is_answered, is_not_answered

Formato da Resposta

A resposta é armazenada como um objeto:

json
{
  "firstName": "Jane",
  "lastName": "Smith",
  "email": "jane@example.com",
  "phone": "+14155551234"
}

Endereço

Colete um endereço postal completo com preenchimento automático opcional fornecido pelo Google Places.

Identificador de tipo: address

Propriedades

PropriedadeTipoDescriçãoPadrão
enableAddressAutocompletebooleanHabilita o preenchimento automático do Google Places para busca de endereço.false

Comportamento

  • Exibe campos para logradouro, cidade, estado/província, código postal e país.
  • Quando o preenchimento automático está habilitado, digitar no campo de logradouro mostra sugestões de endereço.
  • Selecionar uma sugestão preenche automaticamente todos os campos do endereço.

Validação

Se required for true, todos os campos do endereço devem ser preenchidos.

Operadores de Salto de Lógica

equals, not_equals, is_answered, is_not_answered

Formato da Resposta

A resposta é armazenada como um objeto:

json
{
  "street": "123 Main St",
  "city": "San Francisco",
  "state": "CA",
  "postalCode": "94105",
  "country": "US"
}

Nó de Dados

Um tipo de pergunta invisível que faz chamadas HTTP a APIs durante o fluxo do formulário. Os Nós de Dados não são renderizados aos respondentes — eles são executados automaticamente e podem buscar dados, validar respostas ou disparar ações externas.

Identificador de tipo: data_node

Propriedades

PropriedadeTipoDescriçãoPadrão
dataNodeUrlstringA URL a chamar. Suporta interpolação de {variable}.Nenhum
dataNodeMethodstringMétodo HTTP: "GET", "POST", "PUT", "DELETE"."GET"
dataNodeHeadersstringString JSON dos cabeçalhos da requisição. Suporta interpolação de {variable}."{}"
dataNodeBodystringString JSON do corpo da requisição. Suporta interpolação de {variable}.""
dataNodeResponseVariablestringNome da variável para armazenar a resposta JSON completa.Nenhum
dataNodeTimeoutnumberTempo limite da requisição em segundos.10
dataNodeSilentbooleanModo dispare-e-esqueça — nenhuma tela de carregamento é mostrada.false
dataNodeDebugbooleanMostra um painel de depuração com detalhes da requisição/resposta.false
dataNodeLoadingTextstringTexto de carregamento personalizado mostrado durante a requisição."Loading..."
dataNodeValidationbooleanUsa o nó como um portão de validação para a pergunta anterior.false

Comportamento

  • É executado automaticamente quando alcançado no fluxo do formulário.
  • Todos os tokens {variableName} na URL, nos cabeçalhos e no corpo são substituídos pelos valores atuais das variáveis.
  • Se dataNodeResponseVariable estiver definido, a resposta JSON completa é armazenada como uma variável do formulário.
  • No modo silencioso, a requisição dispara em segundo plano, sem indicador de carregamento.
  • No modo portão de validação, uma requisição que falha bloqueia o avanço a partir da pergunta anterior.

Casos de Uso

  • Buscar dados externos: Consulte detalhes de produtos, preços ou perfis de usuário durante o fluxo do formulário.
  • Validar respostas: Verifique um e-mail no seu banco de dados, confirme um código de cupom ou valide um endereço.
  • Disparar ações: Envie dados a um webhook, crie um registro no seu CRM ou inicie um fluxo de trabalho.

Os Nós de Dados são invisíveis para os respondentes. Eles aparecem no construtor e no editor de fluxo de trabalho, mas são pulados no formulário publicado — apenas a chamada de API é executada. Veja o guia prático Nós de Dados para exemplos.

Composite

Incorpore um pacote reutilizável e versionado de perguntas — definido uma vez na página Composites e compartilhado entre formulários. Os respondentes veem todos os campos do composite em uma tela e os enviam juntos. Veja o guia de Composites para criar, editar, publicar e acompanhar entradas.

Identificador de tipo: composite_ref

Propriedades

PropriedadeTipoDescriçãoPadrão
compositeIdstringO composite referenciado. Definido pelo seletor no painel da pergunta.
fieldsFormQuestion[]Derivado — os subcampos publicados do composite, congelados no snapshot do formulário na publicação do formulário. Nunca editados diretamente na pergunta.

Validação

Os subcampos obrigatórios são validados juntos quando o respondente envia a tela.

Operadores de Salto de Lógica

is_answered, is_not_answered na pergunta em si. Subrespostas individuais podem ser usadas em qualquer condição por meio do endereçamento de subcampo (questionId.subFieldId) — os subcampos aparecem sob a pergunta pai no seletor de campos de condição.

Formato da Resposta

Um objeto indexado pelo ID do subcampo:

json
{ "sub_first_name": "Ada", "sub_title": "Director", "sub_email": "ada@example.com" }

O envio também é registrado como uma entrada de composite, visível em todos os formulários na visualização de Entradas do composite.

Editar os campos de um composite altera sua cópia de trabalho compartilhada — todos os formulários que o referenciam adotam as alterações depois que o composite é publicado e o formulário é republicado. O selo "Alterações em rascunho" no badge do canvas publica o composite ali mesmo.


Recursos Avançados Comuns

Texto Rico em Títulos e Descrições

Todos os tipos de pergunta avançados suportam texto rico nos campos de título e descrição. O texto rico é inserido por meio de um editor baseado em Tiptap no construtor de formulários e suporta:

  • Negrito, itálico, sublinhado e tachado
  • Links (com atributos href, target, rel)
  • Listas ordenadas e não ordenadas
  • Código inline
  • Subscrito e sobrescrito
  • Famílias de fonte e cores personalizadas via estilos inline

O texto rico é armazenado como HTML e sanitizado antes da renderização usando DOMPurify com uma lista restrita de tags e atributos permitidos.

Substituição de Variáveis

Todos os tipos de pergunta avançados suportam a substituição de {variableName} nos campos de título e descrição. Veja o guia de Variáveis.

Anexos de Mídia

Todos os tipos de pergunta avançados suportam anexos de mídia (imagem, vídeo, ícone, QR code) com a gama completa de opções de layout. Veja o guia Criando Formulários.

Última atualização: 20 de julho de 2026