Formulários de captação
Cria, edita, lista e apaga formulários do seller, com a definição de campos e configurações.
O formulário é definido por uma lista de campos (fields) e um objeto de configurações (settings). A vitrine monta a página a partir dessa definição e valida o que o visitante envia. Apagar um formulário apaga também todos os leads dele.
Campos do formulário
Campos de um item de `fields`
idstringobrigatóriodata de cada lead. Obrigatória.typestringobrigatóriotexttextareaemailphoneselectcheckboxradiofiledatenumberhiddenlabelstringhidden.placeholderstringrequiredbooleanorderintegeroptionsarray{label, value}. Obrigatórias em select e radio; em checkbox podem faltar se houver label (caixa única).validationobjectmin_length, max_length, min, max, pattern, file_types, max_file_size.Campos de `settings`
success_messagestringnotification_emailstringredirect_urlstringmax_submissionsinteger0 ou ausente = sem limite.captcha_enabledbooleancaptcha_providerstringhoneypotturnstilerecaptcha-v3honeypot (padrão), turnstile ou recaptcha-v3. O valor é gravado sem validação e hoje a plataforma só aplica a verificação honeypot (um campo oculto _hp que deve ficar vazio).captcha_site_keystringListar formulários
/api/v1/vendor/formsSellerLista os formulários do seller
Do mais novo para o mais antigo, sem paginação.
Cabeçalhos
AuthorizationstringobrigatórioBearer $TOKEN. Token de acesso do usuário seller. Veja Tokens.Exemplo de requisição
Campos da resposta
formsarrayFormulários do seller.
iduuidnamestringslugstringdescriptionstringstatusstringdraftactivearchiveddraft, active ou archived.fieldsarraysettingsobjectvendor_iduuidcreated_atstringupdated_atstringtotalintegerConsultar formulário
/api/v1/vendor/forms/{id}SellerDevolve um formulário
Cabeçalhos
AuthorizationstringobrigatórioBearer $TOKEN. Token de acesso do usuário seller. Veja Tokens.Parâmetros de caminho
iduuidobrigatórioExemplo de requisição
Criar formulário
/api/v1/vendor/formsSellerCria um formulário
Cabeçalhos
AuthorizationstringobrigatórioBearer $TOKEN. Token de acesso do usuário seller. Veja Tokens.Corpo da requisição
namestringobrigatórioslugstringobrigatórioa-z, 0-9 e hífens entre blocos (fale-com-a-loja). Único na loja inteira.descriptionstringstatusstringpadrão: draftdraftactivearchiveddraft, active ou archived.fieldsarraysettingsobject{}.Exemplo de requisição
Alterar formulário
/api/v1/vendor/forms/{id}SellerAltera um formulário
Parcial. fields e settings, quando enviados, substituem o valor inteiro (não há mesclagem): reenvie a lista completa de campos.
Cabeçalhos
AuthorizationstringobrigatórioBearer $TOKEN. Token de acesso do usuário seller. Veja Tokens.Parâmetros de caminho
iduuidobrigatórioCorpo da requisição
...objectExemplo de requisição
Apagar formulário
/api/v1/vendor/forms/{id}SellerApaga um formulário e seus leads
Remove o formulário e todos os leads recebidos por ele. Para parar de receber sem perder os leads, passe o status para archived.
Cabeçalhos
AuthorizationstringobrigatórioBearer $TOKEN. Token de acesso do usuário seller. Veja Tokens.Parâmetros de caminho
iduuidobrigatórioExemplo de requisição
Erros
| Status | Quando | Corpo de exemplo |
|---|---|---|
| 401 | Token ausente, inválido ou expirado. | {"error":"missing authorization header"} |
| 403 | O token não é de um usuário seller (por exemplo, é de administrador). | {"error":"insufficient permissions"} |
| 403 | O usuário do seller (equipe) não tem nenhum dos privilégios exigidos. O dono da loja nunca recebe este erro. | {"error":"insufficient vendor privileges","privilege_required_any":["vendor_settings","vendor_view_settings","vendor_manage_delivery_areas","vendor_manage_whatsapp","vendor_manage_documents","vendor_manage_kyc","vendor_view_plan","vendor_manage_application","vendor_manage_vacation"]} |
| 403 | O usuário autenticado não está vinculado a nenhum seller. | {"error":"no vendor account associated with this user"} |
| 400 | JSON inválido. | {"error":"invalid request body","detail":"..."} |
| 400 | Dados do formulário inválidos. Códigos: NAME_REQUIRED, SLUG_REQUIRED, INVALID_SLUG, INVALID_STATUS, SLUG_ALREADY_EXISTS, INVALID_FIELDS_JSON, INVALID_FIELD_ID:<posição>, DUPLICATE_FIELD_ID:<id>, INVALID_FIELD_TYPE:<tipo>, INVALID_FIELD_LABEL:<id>, FIELD_OPTIONS_REQUIRED:<id>, INVALID_SETTINGS_JSON, INVALID_NOTIFICATION_EMAIL. | {"error":"SLUG_ALREADY_EXISTS"} |
| 404 | Formulário inexistente ou de outro seller (GET). | {"error":"form not found"} |
| 404 | Formulário inexistente ou de outro seller (PUT e DELETE). | {"error":"FORM_NOT_FOUND"} |