VenddorDocumentação API
API atualAPI legada
Guia rápidoReferência completa
Carregando índice…
API atual/Referência completa

Formulários

Formulários personalizados da loja (contato, orçamento, parceiros) e as respostas que os clientes enviam.

Um formulário personalizado é uma página de coleta de dados que o lojista monta sem programar: fale conosco, pedido de orçamento, cadastro de parceiro. Você define os campos e a configuração; o cliente preenche na vitrine; cada envio vira uma resposta que o lojista consulta no painel.

Pontos principais
  • Todas as rotas dependem do módulo custom-forms; com o módulo desligado a resposta é 403.
  • Só um formulário active recebe respostas dos clientes.
  • fields e settings são validados ao gravar e substituídos por inteiro a cada atualização.
  • Apagar o formulário apaga as respostas dele.
  • Os erros de validação vêm como códigos em maiúsculas (INVALID_SLUG, SLUG_ALREADY_EXISTS...).

Como funciona

O fluxo é criar o formulário em draft, definir os campos, ativar, acompanhar as respostas e, ao fim da campanha, arquivar. Cada resposta guarda os valores em data, com uma chave por campo, e passa por três andamentos: nova, lida, respondida.

draft→active→archived
EstadoSignificado
draftRascunho. Não recebe respostas.
activePublicado e recebendo respostas.
archivedArquivado. Não recebe respostas, mas as já recebidas continuam consultáveis.
Andamento da respostaSignificado
newAinda não vista.
readVista.
repliedJá respondida ao cliente.

Conceitos importantes

Campos

fields é uma lista. Cada campo tem:

ChaveObrigatóriaSignificado
idsimNome do campo, único no formulário. É a chave em data nas respostas.
typesimtext, textarea, email, phone, select, checkbox, radio, file, date, number ou hidden.
labelsim (exceto hidden)Rótulo mostrado ao cliente.
requirednãoSe o cliente precisa preencher.
placeholdernãoDica dentro do campo.
optionsem select e radioLista de {label, value}. Pelo menos uma opção útil. Um checkbox sem opções é a caixa simples de sim/não e pede label.
validationnãomin_length, max_length, min, max, pattern (expressão regular), file_types (tipos MIME separados por vírgula) e max_file_size (bytes).
ordernãoPosição do campo.

Configuração

settings aceita: success_message (texto após o envio), notification_email (e-mail avisado a cada resposta; precisa ser um endereço válido), redirect_url (para onde levar o cliente), max_submissions (limite de respostas; vazio ou 0 = sem limite), captcha_enabled e captcha_provider (hoje só honeypot funciona: um campo invisível que, se preenchido, marca o envio como spam). A chave require_captcha é um apelido de captcha_enabled, e captcha_site_key é aceita e guardada, mas ainda não é usada.

Slug

O slug deve ser formado por minúsculas, números e hífens (fale-conosco) e é único. Repetir devolve 409.

Respostas

As respostas têm dados pessoais. Ver, marcar como lidas ou apagar uma resposta individual usa rotas próprias (/api/v1/admin/form-submissions/...) que não fazem parte desta seção.

Endpoints

MétodoCaminhoPara que serveAutenticação
GET/api/v1/admin/formsLista os formulários personalizadosadmin
GET/api/v1/admin/forms/{id}Devolve um formulário pelo idadmin
POST/api/v1/admin/formsCria um formulário personalizadoadmin
PUT/api/v1/admin/forms/{id}Altera campos de um formulárioadmin
DELETE/api/v1/admin/forms/{id}Apaga um formulário e as respostas deleadmin
GET/api/v1/admin/forms/{id}/submissionsLista as respostas recebidas por um formulárioadmin

Erros comuns

  • Enviar só um campo em fields numa atualização, achando que ele se soma aos outros: a lista inteira é substituída.
  • Criar um select ou radio sem options: recusado com FIELD_OPTIONS_REQUIRED:<id>.
  • Usar o mesmo id em dois campos: recusado com DUPLICATE_FIELD_ID:<id>.
  • Usar slug com maiúsculas, espaço ou acento: recusado com INVALID_SLUG.
  • Apagar o formulário para "limpar a lista": as respostas vão junto. Arquive.
  • Passar um id que não é UUID e esperar 404: a consulta responde 500.

Próximos passos

Criar formulário
Campos, configuração e validação.
Listar e consultar
Filtros e paginação.
Respostas
O que os clientes enviaram.
Anterior
Alterar e apagar banners
Próxima
Listar e consultar formulários
Nesta página
  • Como funciona
  • Conceitos importantes
  • Campos
  • Configuração
  • Slug
  • Respostas
  • Endpoints
  • Erros comuns
  • Próximos passos