Skip to main content
The inquiry node controls shop-side forms (e.g. contact, cancellation, return, catalogue order). Forms are configured in the Admin Interface under the Inquiries service. Each form is defined as its own sub-node under inquiry.form.<name>.

inquiry* - Basic structure

The basic structure of the inquiry node is shown below:
{
  "inquiry": {
    "form": {
      "catalogue": { ... },
      "contact": { ... },
      "productQuestion": { ... },
      "returnInquiry": { ... }
    },
    "fieldPreset": { ... },
    "ruleSet": { ... }
  }
}

Parameter description

ParameterDescription
formContainer for all form definitions below inquiry.
The direct keys within form are the technical form names.
<name>Placeholder for a specific form node (e.g. catalogue, contact, productQuestion, returnInquiry).
The associated object contains the full configuration of this form (e.g. fields, validations, email settings).
fieldPresetContainer for global, reusable field definitions.
ruleSetContainer for rule-based field controls that can be assigned to forms.

inquiry.form - Form configuration

Each form below inquiry.form contains the full configuration for a specific inquiry form (e.g. contact, catalogue request, product question, return). The form fields, validations, optional captcha checks as well as the email parameters via which the inquiry is forwarded or confirmed are defined here.

Example configuration for a contact form (inquiry.form.contact)

{
  "captcha": {
    "service": "captchaCheck.recaptchav3"
  },
  "fieldPresets": null,
  "fields": [
    {
      "label": "<Textbaustein>",
      "name": "subject",
      "required": true,
      "validations": [
        {
          "options": { "len": 1 },
          "service": "dataChecker.minLength"
        },
        {
          "options": { "len": 200 },
          "service": "dataChecker.maxLength"
        }
      ]
    },
    {
      "label": "<Textbaustein>",
      "name": "comment",
      "required": true,
      "validations": [
        {
          "options": { "len": 1 },
          "service": "dataChecker.minLength"
        },
        {
          "options": { "len": 10000 },
          "service": "dataChecker.maxLength"
        }
      ]
    }
  ],
  "inquiryEmail": {
    "fromAddress": "noreply@websale.de",
    "fromName": "Mustershop",
    "merchantEmail": "noreply@websale.de",
    "subject": "Ihre Kontaktanfrage",
    "template": "contact.htm"
  },
  "name": "contact",
  "ruleSet": "inquiry.ruleSet.contactRules"
}

Parameter description

ParameterTypeDescription
namestringTechnical name of the form. Can be chosen freely but must be unique.
fieldPresetsmultiAssocReferences predefined field groups (global form fields) defined centrally under inquiry.fieldPreset.
This way commonly used fields (e.g. name, email address) can be reused in multiple forms.
The assignment is done via a list of references to the respective preset nodes, e.g.: "fieldPresets": [ "inquiry.fieldPreset.firstName", "inquiry.fieldPreset.lastName" ]
If no global field presets should be used, the value must be null.
fieldslist (object)List of input fields to be requested in the form.
namestringTechnical field name (key).
labelstringDisplay name in the form.

requiredboolRequired flag (true/false).
Default: false
validationsmultiServiceList of validation rules for the field. Optional.
Target: InputValidation
serviceValidation service, e.g. dataChecker.minLength, dataChecker.maxLength.
Each entry references a node under dataChecker.
An overview of the available validation and check rules for form fields can be found here.
optionsOptions object for the rule configuration, e.g. { "len": 200 }.
captchasingleServiceObject for the captcha configuration (spam / bot protection). Optional.
serviceContains the service name, e.g. captchaCheck.recaptchav3.
Each entry references a node under captcha.
inquiryEmailobjectObject for the email dispatch of the inquiry.
fromAddressstringSender email address.
fromNamestringSender display name.
merchantEmailstringInternal target email address (merchant / service).
subjectstringSubject line of the outgoing message.
templatestringName of the HTML file for the email template, e.g. contact.htm.
ruleSetstringReference to a ruleSet under inquiry.ruleSet, e.g. “inquiry.ruleSet.contactRules”.
Enables rule-based control of field attributes such as visibility, required status, labels and default values.

inquiry.fieldPreset - Global field definitions

The inquiry.fieldPreset node is used for the central definition of reusable form fields. These global field presets allow standardised fields (e.g. first name, last name, email address, phone number) to be defined once and then used in multiple forms. A single preset node below inquiry.fieldPreset contains the full field definition, analogous to the field objects within the respective form configuration (inquiry.form.<name>.fields). The integration is done via the fieldPresets parameter in the respective form by referencing the preset names.

Example configuration for all inquiry.fieldPreset

{
      "firstName": {
        "label": "<Textbaustein>",
        "name": "firstName",
        "required": true,
        "validations": [
          {
            "service": "dataChecker.minLength",
            "options": { "len": 1 }
          },
          {
            "service": "dataChecker.maxLength",
            "options": { "len": 50 }
          }
        ]
      },
      "lastName": {
        "label": "<Textbaustein>",
        "name": "lastName",
        "required": true,
        "validations": [
          {
            "service": "dataChecker.minLength",
            "options": { "len": 1 }
          },
          {
            "service": "dataChecker.maxLength",
            "options": { "len": 50 }
          }
        ]
      }
    }

Parameter overview

ParameterTypeDescription
labelstringDisplay name of the field in the form.

namestringTechnical field name (key) — used for data transmission and email output.
requiredboolRequired flag (true/false).
Default: false
validationsmultiServiceList of validation rules for the field.
Optional.
serviceName of the validation service, e.g. dataChecker.minLength, dataChecker.maxLength.
An overview of the available validation and check rules for form fields can be found here.
optionsParameter object defining the rule, e.g. { "len": 50 }.

inquiry.ruleSet - Rule-based field control

The inquiry.ruleSet node enables dynamic, rule-based control of form fields. Via RuleSets, field attributes such as visibility, required status, labels and default values can be adjusted at runtime based on conditions (e.g. the current value of another field). A RuleSet is defined via inquiry.ruleSet.<name> and integrated via the ruleSet parameter in the respective form (inquiry.form.<name>). Example configuration for inquiry.ruleSet.contactRules
customLabelsDefinition:
  - conditions:
      - field: subject
        type: value
        value: Anruf
    fields:
      - text
    label: <Textbaustein>

defaultValuesDefinition:
  - conditions:
      - field: lastName
        type: value
        value: Musterfrau
    fields:
      - firstName
    value: Maria
  - conditions: null
    fields:
      - text
    value: |-
      Sehr geehrtes Myshop-Team,
      Ich interessiere mich brennend für euer Produktsortiment. Bitte tretet mit mir in Kontakt.
      Viele Grüße,

inputVisibilityDefinition:
  - conditions:
      - field: subject
        type: inlist
        valueList:
          - Anruf
    fields:
      - customerNumber
    visible: false
    resetIfHidden: false

requiredDefinition:
  - conditions:
      - field: lastName
        type: notvalue
        value: Musterfrau
    fields:
      - firstName
    value: true
Parameter overview for the general rule structure
ParameterTypeDescription
conditionslist (object)List of conditions that must all be satisfied for the rule to apply. If null, the rule always applies.
fieldstringTechnical name of the field whose value is checked.
typestringType of check.
Available types:
- value — exact comparison value.
- notvalue — value does not match.
- inlist — value is contained in a list.
valuestringComparison value (for type = value or notvalue).
valueListlist (string)List of comparison values (only type = inlist).
fieldslist (string)List of technical field names to which the rule is applied.
Additional parameters per definition customLabelsDefinition
ParameterTypeDescription
labelstringThe new label that the affected fields receive when the conditions apply.

defaultValuesDefinition
ParameterTypeDescription
valuestringThe default value set for the affected fields.
inputVisibilityDefinition
ParameterTypeDescription
visibleboolIndicates whether the affected fields should be visible (true) or hidden (false).
resetIfHiddenboolIndicates whether the field value is reset when hidden (true) or preserved (false).
Default: false
requiredDefinition
ParameterTypeDescription
valueboolIndicates whether the affected fields are treated as required (true) or as optional (false).