API's voor Registration Form
Maak, werk bij, toon en verwijder registratieformulieren met de Public API.
Deze pagina behandelt de Public API voor het beheren van registratieformulieren, de aanmeldformulieren die je groothandelsklanten indienen. Alle 4 bewerkingen gebruiken dezelfde basis-URL, headers en authenticatie als beschreven in Public APIs.
Een registratieformulier maken
Section titled “Een registratieformulier maken”Endpoint
Section titled “Endpoint”POST https://wholesale.samita.io/api/v1/registration-formsRequest headers
Section titled “Request headers”| Header | Beschrijving | Vereist |
|---|---|---|
X-SAMITA-API-KEY |
API-sleutel uit de Wholesale-app | Ja |
X-SAMITA-SHOP-URL |
Shopify-shopdomein in het formaat xxx.myshopify.com | Ja |
CONTENT-TYPE |
Moet application/json zijn |
Ja |
Voor deze API is de machtiging Create op de API-sleutel nodig.
Request body
Section titled “Request body”Velden op het hoogste niveau:
| Veld | Type | Vereist | Beschrijving |
|---|---|---|---|
title |
string | Aanbevolen | De naam van het formulier in de app. |
status |
boolean | Aanbevolen | Of het formulier actief is. |
shopify_integration |
object | Ja | Bepaalt hoe inzendingen worden gekoppeld aan Shopify-klanten, zie hieronder. |
elements |
array | Ja | De velden van het formulier, in weergavevolgorde, zie hieronder. |
header |
object | Nee | Koptekst die bovenaan het formulier wordt getoond. |
footer |
object | Nee | Knoppen en tekst die onderaan het formulier worden getoond. |
general |
object | Nee | Goedkeuringsgedrag en standaardklanttags. |
errorMessage |
object | Nee | Aangepaste tekst voor validatiefouten. |
reCaptcha |
object | Nee | Of reCAPTCHA vereist is voor dit formulier. |
afterSubmit |
object | Nee | Wat er gebeurt nadat een klant het formulier heeft ingediend. |
shopify_integration
| Veld | Type | Opmerkingen |
|---|---|---|
ifExist |
string (vereist) | returnError, continueAndUpdate of continueAndIgnoreError: wat er gebeurt als een ingediend e-mailadres al een klantaccount heeft. |
showMessage |
boolean | Toon een bericht dat de klant verwijst naar inloggen. |
messageRedirectToLogin |
string | Tekst voor dat bericht. |
sendEmailInvite |
boolean | Verstuur de activatie-e-mail voor accounts van Shopify. |
acceptsMarketing |
boolean | Meld de nieuwe klant aan voor marketing-e-mails. |
elements (array van veldobjecten)
Elk element heeft een type nodig. Veelgebruikte typen zijn text, email, phone, password, number, name, url, checkbox, radio, country, datetime, file, hidden, heading, paragraph, devider en html.
| Veld | Type | Geldt voor | Opmerkingen |
|---|---|---|---|
type |
string (vereist) | alle | Elementtype. |
columnWidth |
number (vereist behalve bij devider) |
alle | 33.33, 50 of 100. |
label / placeholder / description |
string | invoertypen | Labels van het veld. |
required |
boolean (vereist voor heading, paragraph, devider, html) |
die typen | Of het veld moet worden ingevuld. |
hasConfirm, labelConfirm, placeholderConfirm, descriptionConfirm |
— | password |
Voegt een veld voor wachtwoordbevestiging toe. |
options, defaultOptions, defaultOption, defaultSelected |
— | checkbox, radio, country |
Configuratie van de keuzelijst. |
inlineOption |
number (vereist) | checkbox, radio |
20, 25, 33.33, 50 of 100. |
heading / text |
string | heading / paragraph |
Weergegeven inhoud. |
html |
string | html |
Blok met onbewerkte HTML. |
allowed-multiple |
boolean | file |
Sta het uploaden van meerdere bestanden toe. |
allowed-extension |
array | file |
Een of meer van: 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 | alle | Koppelt dit veld aan een eigenschap van de Shopify-klant: email, phone, first_name, last_name, addresses.address1, addresses.address2, addresses.city, addresses.province, addresses.zip, addresses.company, addresses.country, password, tags[] of note[]. |
header, footer, general, errorMessage, reCaptcha, afterSubmit
| Sectie | Veld | Type | Opmerkingen |
|---|---|---|---|
header |
active |
boolean | Toon of verberg de koptekst. |
header |
title |
string, max. 255 | |
header |
description |
string | |
footer |
description |
string | |
footer |
previousText, nextText, submitText, resetButtonText |
string | Labels van knoppen. |
footer |
resetButton, submitFullWidth |
boolean | |
footer |
submitAlignment |
string | left, center of right. |
general |
customerTaxExempt |
boolean | |
general |
customerProcess |
string | review-approving (handmatige goedkeuring) of approving (automatisch). |
general |
customerTags |
array | Tags die worden toegepast op goedgekeurde klanten. |
errorMessage |
required, invalidName, invalidEmail, invalidURL, invalidPhone, invalidNumber, invalidPassword, confirmPasswordNotMatch, customerAlreadyExists, fileSizeLimit, fileNotAllowed, requiredCaptcha, shopifyInvalidPhone, shopifyPhoneHasAlready, shopifyInvalidProvice, otherError |
string | Aangepaste tekst per validatiefout. |
reCaptcha |
enable |
boolean | |
afterSubmit |
action |
string | clearForm, redirectToPage of hideForm. |
afterSubmit |
message, redirectUrl |
string |
Response
Section titled “Response”200 – Success geeft het aangemaakte record terug. Zie het voorbeeld onder Een registratieformulier ophalen hieronder voor de structuur van de response.
Een registratieformulier bijwerken
Section titled “Een registratieformulier bijwerken”PUT https://wholesale.samita.io/api/v1/registration-forms/{id}Dezelfde headers als bij Create. Stuur alleen de velden mee die je wilt wijzigen: title, status en secret_configs (het volledige configuratieobject, in dezelfde structuur als GET teruggeeft, onder de sleutel configs) zijn allemaal optioneel. Niet-opgegeven velden behouden hun huidige waarde. Voor deze API is de machtiging Update nodig.
Een registratieformulier ophalen
Section titled “Een registratieformulier ophalen”GET https://wholesale.samita.io/api/v1/registration-forms/{id}Dezelfde headers als bij Create, geen request body. Voor deze API is de machtiging View nodig.
Voorbeeld van 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 } ] }}Een registratieformulier verwijderen
Section titled “Een registratieformulier verwijderen”DELETE https://wholesale.samita.io/api/v1/registration-forms/{id}Dezelfde headers als bij Create. Geef een parameter ids mee: een door komma’s gescheiden lijst met ID’s van te verwijderen formulieren (als queryparameter of als veld in de JSON-body), bijvoorbeeld ids=1,2,3. Voor deze API is de machtiging Delete nodig.
200 – Success:
{ "success": true}Foutmeldingen
Section titled “Foutmeldingen”Alle 4 endpoints gebruiken dezelfde foutmeldingen als de rest van de Public API. Zie Public APIs voor 401 Unauthorized, 403 Forbidden en 429 Too Many Requests.