Pular para o conteúdo principal

Introdução

Busque formulários dinâmicos com envios em tempo real e coleta de dados.

Mais informações sobre a interface do usuário do módulo https://doc.oneentry.cloud/docs/category/forms


🎯 O que este módulo faz?

O módulo Forms permite que você recupere formulários - formulários de contato, pesquisas, registros, formulários de feedback - para que você possa renderizá-los em seu aplicativo. Você cria formulários no painel de administração do OneEntry; o SDK busca sua estrutura (campos, validadores, rótulos localizados) dinamicamente. A coleta das submissões reais é gerenciada pelo módulo FormsData.

🚀 Início Rápido

Inicialize o módulo a partir de defineOneEntry:


const { Forms } = defineOneEntry(
"your-project-url", {
"token": "your-app-token"
}
);

Busque um único formulário pelo seu marcador e leia seus campos:

// Fetch the "contact_form" form structure.
const form = await Forms.getFormByMarker("contact_form", "en_US");

console.log(form.identifier, form.localizeInfos.title);

// Render each field from the form's attributes.
form.attributes.forEach((field) => {
console.log(field.marker, field.type, field.localizeInfos.title);
});

Para listar todos os formulários (paginados), use getAllForms(langCode, offset, limit), que retorna um objeto { total, items }.

✨ Conceitos Chave

O que é um Formulário?

Um formulário (IFormsEntity) é uma maneira estruturada de coletar informações dos usuários:

  • Campos (attributes) - elementos de entrada, cada um um atributo com um type (string, text, file, list, …)
  • Validadores (validators) - regras por campo (obrigatório, comprimento da string, formato de e-mail)
  • Estrutura - layout e rótulos localizados definidos no administrador do OneEntry
  • Submissões - respostas dos usuários, enviadas e recuperadas via o módulo FormsData

Tipos de Campos de Formulário

O type de cada campo é um AttributeType. Valores comuns:

Tipo (AttributeType)DescriçãoUso de Exemplo
stringTexto curto em uma linhaNome, Título, Cidade
text / textWithHeaderTexto em várias linhasMensagem, Comentários, Biografia
integer / real / floatEntrada numéricaIdade, Quantidade, Preço
date / dateTime / timeSeletores de data e horaData de nascimento, Data do evento
listDropdown / seleção múltipla de opçõesPaís, Categoria
radioButtonEscolha única entre opçõesTamanho, Plano
file / imageUpload de arquivo / imagemCurrículo, Foto, Documento
groupOfImagesMúltiplas imagensGaleria
entityReferência a outra entidadeProduto ou página vinculada

Nota: O e-mail é um campo string com o emailInspectionValidator habilitado — não há um tipo de campo email separado.

📋 O que Você Precisa Saber

Estrutura do Formulário

Cada formulário (IFormsEntity) possui um id, um identifier (marcador), um type opcional ('order' | 'sing_in_up' | 'collection' | 'data' | 'rating' | null), localizeInfos (título, mensagem de sucesso, …) e um array de attributes de campos. Cada campo tem um marker, type, localizeInfos, e um objeto validators:

{
"marker": "email",
"type": "string",
"localizeInfos": { "title": "Email" },
"validators": {
"requiredValidator": { "strict": true },
"emailInspectionValidator": true,
"stringInspectionValidator": { "stringMin": 5, "stringMax": 100, "stringLength": 0 }
}
}

Validadores comuns:

  • requiredValidator{ strict: boolean }, o campo deve ser preenchido
  • stringInspectionValidator{ stringMin, stringMax, stringLength }, restrições de comprimento de texto
  • emailInspectionValidatorboolean, impõe formato de e-mail
  • defaultValueValidator — valor padrão mais texto de erro personalizado opcional

O conjunto de validadores é extensível — tipos de validadores adicionais podem ser retornados pela API.

Formulários são criados no painel de administração

O SDK é para buscar formulários (e, via o módulo FormsData, submeter dados) — não para criar ou editar formulários. Para construir ou alterar um formulário, use o painel de administração do OneEntry: abra a seção de Formulários, adicione campos, configure regras de validação e ative o formulário.


📊 Tabela de Referência Rápida - Métodos

MétodoO que FazQuando Usar
getAllForms()Obter todos os formulários (paginados)Listar todos os formulários disponíveis
getFormByMarker()Obter formulário pelo marcadorBuscar formulário específico no código

Ambos os métodos são públicos — nenhuma autorização de usuário é necessária.


❓ Perguntas Comuns (FAQ)

Como eu crio ou edito formulários?

Os formulários são criados e editados no painel de administração do OneEntry (seção de Formulários), não via o SDK. O SDK apenas busca estruturas de formulários e submete dados.


Posso fazer upload de arquivos com formulários?

Sim. Adicione um campo file / image / groupOfImages ao seu formulário; submissões com arquivos são tratadas por FormData.postFormsData(), que os envia através do módulo FileUploading automaticamente. Veja o módulo FormsData.


Os formulários podem ter campos condicionais (mostrar/ocultar com base em outros campos)?

Não diretamente no SDK — implemente a lógica de mostrar/ocultar na sua própria interface de usuário com base nos valores dos campos do formulário buscado.


🎓 Melhores Práticas

  • Referencie formulários pelo seu identifier (marcador), não pelo ID numérico.
  • Renderize campos e estado obrigatório a partir dos validators de cada campo para que sua interface corresponda à validação do lado do servidor.
  • Use try/catch em torno das buscas e trate a forma de retorno IError.

🔗 Documentação Relacionada