Pular para o conteúdo
Teste grátis por 14 dias
Português
Abrir no Claude Fazer perguntas sobre esta páginaAbrir no ChatGPT Fazer perguntas sobre esta página

APIs para o formulário de cadastro

Crie, atualize, liste e exclua formulários de cadastro usando a API pública.

Esta página descreve a API pública para gerenciar formulários de cadastro — os formulários de inscrição que seus clientes de atacado enviam. As 4 operações usam a mesma URL base, os mesmos cabeçalhos e a mesma autenticação descritos em APIs públicas.

POST https://wholesale.samita.io/api/v1/registration-forms
Cabeçalho Descrição Obrigatório
X-SAMITA-API-KEY Chave de API fornecida no app Wholesale Sim
X-SAMITA-SHOP-URL Domínio da loja Shopify no formato xxx.myshopify.com Sim
CONTENT-TYPE Deve ser application/json Sim

Esta API exige a permissão Create na chave de API.

Campos de nível superior:

Campo Tipo Obrigatório Descrição
title string Recomendado O nome do formulário no app.
status boolean Recomendado Indica se o formulário está ativo.
shopify_integration object Sim Controla como os envios se conectam aos clientes da Shopify — veja abaixo.
elements array Sim Os campos do formulário, em ordem de exibição — veja abaixo.
header object Não Texto de cabeçalho exibido no topo do formulário.
footer object Não Botões e texto de rodapé exibidos na parte inferior do formulário.
general object Não Comportamento de aprovação e tags de cliente padrão.
errorMessage object Não Texto personalizado de erro de validação.
reCaptcha object Não Indica se o reCAPTCHA é obrigatório neste formulário.
afterSubmit object Não O que acontece depois que um cliente envia o formulário.
shopify_integration
Campo Tipo Observações
ifExist string (obrigatório) returnError, continueAndUpdate ou continueAndIgnoreError — o que acontece se o e-mail enviado já tiver uma conta de cliente.
showMessage boolean Exibe uma mensagem orientando o cliente a fazer login.
messageRedirectToLogin string Texto dessa mensagem.
sendEmailInvite boolean Envia o e-mail de ativação de conta da Shopify.
acceptsMarketing boolean Inscreve o novo cliente nos e-mails de marketing.
elements (array de objetos de campo)

Todo elemento precisa de um type — os tipos mais comuns incluem text, email, phone, password, number, name, url, checkbox, radio, country, datetime, file, hidden, heading, paragraph, devider, and html.

Campo Tipo Aplica-se a Observações
type string (obrigatório) todos Tipo do elemento.
columnWidth number (obrigatório, exceto devider) todos 33.33, 50 ou 100.
label / placeholder / description string tipos de entrada Rótulos do campo.
required boolean (obrigatório para heading, paragraph, devider, html) esses tipos Indica se o campo deve ser preenchido.
hasConfirm, labelConfirm, placeholderConfirm, descriptionConfirm — password Adiciona um campo de confirmação de senha.
options, defaultOptions, defaultOption, defaultSelected — checkbox, radio, country Configuração da lista de opções.
inlineOption number (obrigatório) checkbox, radio 20, 25, 33.33, 50 ou 100.
heading / text string heading / paragraph Conteúdo exibido.
html string html Bloco de HTML bruto.
allowed-multiple boolean file Permite o envio de vários arquivos.
allowed-extension array file Qualquer um de: csv, pdf, jpg, jpeg, gif, svg, png, psd, ai, stl, stp, step, doc, docx, txt, ex2, dxf, gbr, eps, mov, mp4, xls, xlsx, ods, numbers, xlsm, zip, heic, heif.
format, date-format, time-format string datetime format: date/time/date-and-time. date-format: Y-m-d/d-m-Y/m-d-Y/d-m/m-d. time-format: 12h/24h.
integration string qualquer Associa este campo a uma propriedade de cliente da Shopify: email, phone, first_name, last_name, addresses.address1, addresses.address2, addresses.city, addresses.province, addresses.zip, addresses.company, addresses.country, password, tags[] ou note[].
header, footer, general, errorMessage, reCaptcha, afterSubmit
Seção Campo Tipo Observações
header active boolean Mostra/oculta o cabeçalho.
header title string, máx. 255
header description string
footer description string
footer previousText, nextText, submitText, resetButtonText string Rótulos dos botões.
footer resetButton, submitFullWidth boolean
footer submitAlignment string left, center ou right.
general customerTaxExempt boolean
general customerProcess string review-approving (aprovação manual) ou approving (automática).
general customerTags array Tags aplicadas aos clientes aprovados.
errorMessage required, invalidName, invalidEmail, invalidURL, invalidPhone, invalidNumber, invalidPassword, confirmPasswordNotMatch, customerAlreadyExists, fileSizeLimit, fileNotAllowed, requiredCaptcha, shopifyInvalidPhone, shopifyPhoneHasAlready, shopifyInvalidProvice, otherError string Texto personalizado para cada erro de validação.
reCaptcha enable boolean
afterSubmit action string clearForm, redirectToPage ou hideForm.
afterSubmit message, redirectUrl string

200 – Success retorna o registro criado. Veja o exemplo em Obter um formulário de cadastro, abaixo, para conhecer a estrutura da resposta.

PUT https://wholesale.samita.io/api/v1/registration-forms/{id}

Mesmos cabeçalhos da criação. Envie apenas os campos que deseja alterar — title, status e secret_configs (o objeto de configuração completo, no mesmo formato retornado pelo GET, sob a chave configs) são todos opcionais. Os campos não informados mantêm o valor atual. Esta API exige a permissão Update.

GET https://wholesale.samita.io/api/v1/registration-forms/{id}

Mesmos cabeçalhos da criação, sem corpo na requisição. Esta API exige a permissão View.

Exemplo de 200 – Success:

{
"id": 1,
"title": "Wholesale Registration",
"status": true,
"created_at": "2026-01-15T10:00:00",
"updated_at": "2026-01-15T10:00:00",
"configs": {
"header": {
"active": true,
"title": "Apply for a wholesale account",
"description": ""
},
"footer": {
"previousText": "Back",
"nextText": "Next",
"submitText": "Submit",
"resetButton": false,
"resetButtonText": "Reset",
"submitFullWidth": false,
"submitAlignment": "left"
},
"general": {
"customerTaxExempt": false,
"customerProcess": "review-approving",
"customerTags": ["wholesale"]
},
"reCaptcha": {
"enable": false
},
"afterSubmit": {
"action": "clearForm",
"message": "Thanks! We'll review your application shortly.",
"redirectUrl": ""
},
"integration": {
"shopify": {
"ifExist": "returnError",
"showMessage": true,
"sendEmailInvite": true,
"acceptsMarketing": false,
"integrationElements": {
"email": "email",
"first_name": "first_name",
"last_name": "last_name"
}
}
},
"elements": [
{ "id": "first_name", "type": "name", "label": "First name", "required": true, "columnWidth": 50 },
{ "id": "last_name", "type": "name", "label": "Last name", "required": true, "columnWidth": 50 },
{ "id": "email", "type": "email", "label": "Email", "required": true, "columnWidth": 100 }
]
}
}
DELETE https://wholesale.samita.io/api/v1/registration-forms/{id}

Mesmos cabeçalhos da criação. Informe um parâmetro ids — uma lista de IDs de formulários a excluir separados por vírgula (como parâmetro de query string ou campo do corpo JSON), por exemplo ids=1,2,3. Esta API exige a permissão Delete.

200 – Success:

{
"success": true
}

Os 4 endpoints compartilham as mesmas respostas de erro do restante da API pública — veja APIs públicas para 401 Unauthorized, 403 Forbidden e 429 Too Many Requests.

Isso foi útil?