APIs für das Registrierungsformular
Erstellen, aktualisieren, auflisten und löschen Sie Registrierungsformulare über die Public API.
Diese Seite behandelt die Public API zur Verwaltung von Registrierungsformularen – den Anmeldeformularen, die Ihre Großhandelskundschaft ausfüllt. Alle 4 Operationen verwenden dieselbe Basis-URL, dieselben Header und dieselbe Authentifizierung wie unter Öffentliche APIs beschrieben.
Registrierungsformular erstellen
Abschnitt betitelt „Registrierungsformular erstellen“Endpunkt
Abschnitt betitelt „Endpunkt“POST https://wholesale.samita.io/api/v1/registration-formsRequest-Header
Abschnitt betitelt „Request-Header“| Header | Beschreibung | Erforderlich |
|---|---|---|
X-SAMITA-API-KEY |
In der Wholesale-App bereitgestellter API-Schlüssel | Ja |
X-SAMITA-SHOP-URL |
Shopify-Shop-Domain im Format xxx.myshopify.com | Ja |
CONTENT-TYPE |
Muss application/json sein |
Ja |
Diese API erfordert die Berechtigung Create für den API-Schlüssel.
Request-Body
Abschnitt betitelt „Request-Body“Felder auf oberster Ebene:
| Feld | Typ | Erforderlich | Beschreibung |
|---|---|---|---|
title |
string | Empfohlen | Der Name des Formulars in der App. |
status |
boolean | Empfohlen | Ob das Formular aktiv ist. |
shopify_integration |
object | Ja | Steuert, wie Einsendungen mit Shopify-Kundenkonten verknüpft werden – siehe unten. |
elements |
array | Ja | Die Felder des Formulars in Anzeigereihenfolge – siehe unten. |
header |
object | Nein | Kopftext am oberen Rand des Formulars. |
footer |
object | Nein | Buttons und Text am unteren Rand des Formulars. |
general |
object | Nein | Freigabeverhalten und Standard-Kunden-Tags. |
errorMessage |
object | Nein | Benutzerdefinierter Text für Validierungsfehler. |
reCaptcha |
object | Nein | Ob reCAPTCHA für dieses Formular erforderlich ist. |
afterSubmit |
object | Nein | Was nach dem Absenden passiert. |
shopify_integration
| Feld | Typ | Hinweise |
|---|---|---|
ifExist |
string (erforderlich) | returnError, continueAndUpdate oder continueAndIgnoreError – was passiert, wenn es zur eingegebenen E-Mail-Adresse bereits ein Kundenkonto gibt. |
showMessage |
boolean | Zeigt eine Nachricht an, die auf die Anmeldung verweist. |
messageRedirectToLogin |
string | Text für diese Nachricht. |
sendEmailInvite |
boolean | Sendet die Kontoaktivierungs-E-Mail von Shopify. |
acceptsMarketing |
boolean | Meldet das neue Kundenkonto für Marketing-E-Mails an. |
elements (Array von Feldobjekten)
Jedes Element benötigt einen type – gängige Typen sind text, email, phone, password, number, name, url, checkbox, radio, country, datetime, file, hidden, heading, paragraph, devider und html.
| Feld | Typ | Gilt für | Hinweise |
|---|---|---|---|
type |
string (erforderlich) | alle | Elementtyp. |
columnWidth |
number (erforderlich außer bei devider) |
alle | 33.33, 50 oder 100. |
label / placeholder / description |
string | Eingabetypen | Beschriftung des Feldes. |
required |
boolean (erforderlich für heading, paragraph, devider, html) |
diese Typen | Ob das Feld ausgefüllt werden muss. |
hasConfirm, labelConfirm, placeholderConfirm, descriptionConfirm |
— | password |
Fügt ein Feld zur Passwortbestätigung hinzu. |
options, defaultOptions, defaultOption, defaultSelected |
— | checkbox, radio, country |
Konfiguration der Auswahlliste. |
inlineOption |
number (erforderlich) | checkbox, radio |
20, 25, 33.33, 50 oder 100. |
heading / text |
string | heading / paragraph |
Anzeigeinhalt. |
html |
string | html |
Roher HTML-Block. |
allowed-multiple |
boolean | file |
Mehrere Datei-Uploads erlauben. |
allowed-extension |
array | file |
Beliebige Werte aus: 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 | beliebig | Ordnet dieses Feld einer Shopify-Kundeneigenschaft zu: email, phone, first_name, last_name, addresses.address1, addresses.address2, addresses.city, addresses.province, addresses.zip, addresses.company, addresses.country, password, tags[] oder note[]. |
header, footer, general, errorMessage, reCaptcha, afterSubmit
| Abschnitt | Feld | Typ | Hinweise |
|---|---|---|---|
header |
active |
boolean | Kopfbereich ein- oder ausblenden. |
header |
title |
string, max. 255 | |
header |
description |
string | |
footer |
description |
string | |
footer |
previousText, nextText, submitText, resetButtonText |
string | Button-Beschriftungen. |
footer |
resetButton, submitFullWidth |
boolean | |
footer |
submitAlignment |
string | left, center oder right. |
general |
customerTaxExempt |
boolean | |
general |
customerProcess |
string | review-approving (manuelle Freigabe) oder approving (automatisch). |
general |
customerTags |
array | Tags, die auf freigegebene Kundenkonten angewendet werden. |
errorMessage |
required, invalidName, invalidEmail, invalidURL, invalidPhone, invalidNumber, invalidPassword, confirmPasswordNotMatch, customerAlreadyExists, fileSizeLimit, fileNotAllowed, requiredCaptcha, shopifyInvalidPhone, shopifyPhoneHasAlready, shopifyInvalidProvice, otherError |
string | Benutzerdefinierter Text pro Validierungsfehler. |
reCaptcha |
enable |
boolean | |
afterSubmit |
action |
string | clearForm, redirectToPage oder hideForm. |
afterSubmit |
message, redirectUrl |
string |
Antwort
Abschnitt betitelt „Antwort“200 – Success liefert den erstellten Datensatz zurück. Die Struktur der Antwort zeigt das Beispiel weiter unten unter Registrierungsformular abrufen.
Registrierungsformular aktualisieren
Abschnitt betitelt „Registrierungsformular aktualisieren“PUT https://wholesale.samita.io/api/v1/registration-forms/{id}Dieselben Header wie beim Erstellen. Senden Sie nur die Felder, die Sie ändern möchten – title, status und secret_configs (das vollständige Konfigurationsobjekt in derselben Struktur, die GET zurückgibt, unter dem Schlüssel configs) sind alle optional. Nicht angegebene Felder behalten ihren aktuellen Wert. Diese API erfordert die Berechtigung Update.
Registrierungsformular abrufen
Abschnitt betitelt „Registrierungsformular abrufen“GET https://wholesale.samita.io/api/v1/registration-forms/{id}Dieselben Header wie beim Erstellen, kein Request-Body. Diese API erfordert die Berechtigung View.
200 – Success, Beispiel:
{ "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 } ] }}Registrierungsformular löschen
Abschnitt betitelt „Registrierungsformular löschen“DELETE https://wholesale.samita.io/api/v1/registration-forms/{id}Dieselben Header wie beim Erstellen. Übergeben Sie den Parameter ids – eine kommagetrennte Liste der zu löschenden Formular-IDs (als Query-String-Parameter oder als Feld im JSON-Body), z. B. ids=1,2,3. Diese API erfordert die Berechtigung Delete.
200 – Success:
{ "success": true}Fehlerantworten
Abschnitt betitelt „Fehlerantworten“Alle 4 Endpunkte verwenden dieselben Fehlerantworten wie die übrige Public API – unter Öffentliche APIs finden Sie 401 Unauthorized, 403 Forbidden und 429 Too Many Requests.