Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

Each type has the following properties:

Property

Description

Notes

Localizable

Name

Name used to identify the field

Label

Label to be rendered in the UI

Can be localized

X

Value

Default value if mode is manual or js code if mode is auto

X

isMandatory

If true the field is required

A * is added in the UI

isVisibleCustomer

If

.

Accepts a string representing the label to be displayed or an object whose key is the country code and whose value is the relative label to be displayed.
Example:
{
"it-it" : "Messaggio italiano",
"en-gb" : "English message"
}

X

isMandatory

If true the field is required

A * is added in the UI

isVisibleCustomer

If false the filed is hidden

Mainly use for mode auto to fetch info using JS evaluation

isVisibleAgent

False if the content is not intended to be shown to agent for privacy reason

isEditable

False if user is not allowed to change default value

custom_regexp

Regular expression for validating input

If input is not validated, an error message is shown when submitting the form. Not used for textarea

customMandatoryErrorMessage

Error shown when a mandatory field is not filled

X

customValidationErrorMessage

Error shown when input is not valid

X

dc_type

type of field. Possible values are.

option

Object whose properties are used as possible values

Used only for radio, select and checkbox

X

Examples:

...

Can be localized.

Accepts a string representing the label to be displayed or an object whose key is the country code and whose value is the relative label to be displayed.
Example:
{
"it-it" : "Messaggio italiano",
"en-gb" : "English message"
}

X

customValidationErrorMessage

Error shown when input is not valid

Can be localized.

Accepts a string representing the label to be displayed or an object whose key is the country code and whose value is the relative label to be displayed.
Example:
{
"it-it" : "Messaggio italiano",
"en-gb" : "English message"
}

X

dc_type

Type of field

Supported values are:

  • text (can be generic or specialized)

    • nickname

    • email

    • name

    • surname

    • phone

  • date

  • textarea

  • checkbox

  • radio

  • select

options

Object whose properties are used as possible values

Used only for radio, select and checkbox.

Example:

{
"bike" : {
"it-it" : "bicicletta",
"en-gb" : "bicycle"
},
"motorbike" : {
"it-it" : "moto",
"en-gb" : "motorcycle"
},
"car" : {
"it-it" : "auto",
"en-gb" : "car"
}
}

X

value

field value

if mode is manual then it's considered as pre-filled value, if auto it's evaluted as a JS function returning a value

name

field name

Not visible in UI

mode

field mode

it describes how to use the value field. manual the value is used as default value, auto it's evaluated as a JS function

It’s possible to find the complete description of the datacollection object structure in this page Data Collection Object

Examples:

...

Code Block
breakoutModewide
languagejson
{
    "id" : "f14cb974-eeb0-47e8-bd51-c3e32adb6a40",
    "title" :{ 
                "ITit-it" : "Anagrafica #3",
                "GBen-gb" : "Registry #3"
            },
    "dc_mode" : "chat",
    "next" : "",
    "datacollection" : [ 
        {
            "dc_type" : "textarea",   ---> new textarea data collection type
            "label" : {
                "ITit-it" : "Suggerimenti",
                "GBen-gb" : "Tips"
            },
            "isMandatory" : true,
            "isVisibleAgent" : true,
            "isVisibleCustomer" : true,
            "isEditable" : true,
            "custom_regexp" : "",
            "customValidationErrorMessage" : "",
            "customMandatoryErrorMessage" : {
                "ITit-it" : "Per favore, scrivi qualcosa",
                "GBen-gb" : "Please, write something"
            },
            "value" : "",               ---> contains the text typed by the customer or a default value if pre-filled
            "name" : "customer_tips",   ---> calldata variable name
            "mode" : "manual"
        }, 
        {
            "dc_type" : "checkbox",     ---> new checkbox data collection type
            "label" : {
                "ITit-it" : "Che veicolo possiedi?",
                "GBen-gb" : "What vehicle you own?"
            },
            "options" : {                ---> checkbox values. The keys (bike, motorbike, car) will be the value returned by the selected checkbox. The customer will only see one label for each checkbox according the selected language.
                "bike" : {
                    "ITit-it" : "bicicletta",
                    "GBen-gb" : "bicycle"
                },
                "motorbike" : {
                    "ITit-it" : "motocicletta",
                    "GBen-gb" : "motorcycle"
                },
                "car" : {
                    "ITit-it" : "automobile",
                    "GBen-gb" : "car"
                }
            },
            "isMandatory" : false,
            "isVisibleAgent" : true,
            "isVisibleCustomer" : true,
            "isEditable" : true,
            "custom_regexp" : "",
            "customValidationErrorMessage" : "",
            "customMandatoryErrorMessage" : "",
            "value" : "",                ---> Contains  the values selected by the customer separated by commas. Example: "bike,car". It can be prefilled to automatically select checkboxes.
            "name" : "veichle",          ---> calldata variabile name
            "mode" : "manual"
        }, 
        {
            "dc_type" : "radio",       ---> new radio data collection type
            "label" : {
                "ITit-it" : "Frutto preferito?",
                "GBen-gb" : "What's your favourite fruit?"
            },
            "options" : {                     ---> the logic is the same as in the checkbox field 
                "b" : {
                    "ITit-it" : "banana",
                    "GBen-gb" : "banana"
                },
                "a" : {
                    "ITit-it" : "mela",
                    "GBen-gb" : "apple"
                },
                "w" : {
                    "ITit-it" : "anguria",
                    "GBen-gb" : "watermelon"
                }
            },
            "isMandatory" : false,
            "isVisibleAgent" : true,
            "isVisibleCustomer" : true,
            "isEditable" : true,
            "custom_regexp" : "pignatta",
            "customValidationErrorMessage" : "",
            "customMandatoryErrorMessage" : {
                "ITit-it" : "Per favore, scegli un frutto",
                "GBen-gb" : "Please, choose a fruit"
            },
            "value" : "",           ---> Contains only one value selected by the customer. In can be prefilled to automatically select one value.
            "name" : "fruit",       ---> calldata variable name
            "mode" : "manual"
        }, 
        {
            "dc_type" : "select",    ---> new select data collection type
            "label" : {
                "ITit-it" : "Scegli una macchina:",
                "GBen-gb" : "Choose a car:"
            },
            "options" : {                    ---> the logic is the same as seen in the previous fields. In this example there is only one string value for each key that describe the car company brand (no localization required).
                "audi" : "Audi",
                "fiat" : "Fiat",
                "renault" : "Renault"
            },
            "isMandatory" : true,
            "isVisibleAgent" : true,
            "isVisibleCustomer" : true,
            "isEditable" : true,
            "custom_regexp" : "",
            "customValidationErrorMessage" : "",
            "customMandatoryErrorMessage" : {
                "ITit-it" : "Per favore, scegli una macchina",
                "GBen-gb" : "Please, choose a car"
            },
            "value" : "",             ---> conterrà il valore selezionato dal cliente. Se, ad es sceglie "Fiat", il                                               campo sarà valorizzato con "fiat"
            "name" : "manifacture",   ---> nome della variabile che poi diventa di calldata (come prima)
            "mode" : "manual"
        }
    ],
}