You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{
# Title of survey"title": {
"main": string, # Primary text"alt": string # Presented when timeout and timeoutAction is set as "ALT_TEXT"; "main" is still presented if this field is empty.
},
# Message of survey"message": {
"main": string,
"alt": string
},
# Instruction of survey"instruction": {
"main": string,
"alt": string,
},
# Questions (more details are presented below)"question": Array<{
"title": {
"main": string,
"alt": string,
},
"isOthersShown": boolean, # "Others" is presented or not at the bottom of the primary question UI."option": {
"type": "FREE_TEXT" | "RADIO_BUTTON" | "CHECK_BOX" | "DROPDOWN" | "SLIDER" | "RANGE" | "LINEAR_SCALE"
},
}>,
# Timeout# If timeout is not your concern, set 'amount' as negative (or, timeoutAction as 'NONE')"timeout": {
"amount": integer,
"unit": "MILLISECOND" | "SECOND" | "MINUTE" | "HOUR" | "DAY",
},
# Action when timeout occurs# - NONE: No action# - ALT_TEXT: Alternative text is presented# - DISABLED: Make the survey disable to answer"timeoutAction": "NONE" | "ALT_TEXT" | "DISABLED",
# Survey start time (surveys begin to be scheduled after this amount of time)# Survey scheduling immediately starts when negative 'amount'."timeFrom": {
"amount": integer,
"unit": "MILLISECOND" | "SECOND" | "MINUTE" | "HOUR" | "DAY",
},
# Survey end time (survey scheduling is canceled after this amount of time)# No end time when negative 'amount'."timeTo": {
"amount": integer,
"unit": "MILLISECOND" | "SECOND" | "MINUTE" | "HOUR" | "DAY",
},
# Inter-day schedule of survey trigger (more details are presented below)"interDaySchedule": {
"type": "DAILY" | "DAY_OF_WEEK" | "DATE"
},
# Intra-day schedule of survey trigger (more details are presented below),"intraDaySchedule": {
"type": "INTERVAL" | "EVENT" | "TIME"
}
}
Question
Free text
{
"title": {
"main": string,
"alt": string,
},
"isOthersShown": boolean,
"option": {
"type": "FREE_TEXT",
"isSingleLine": boolean # EditText can be presented as a single line or not.
}
}
Single choice with radio button
{
"title": {
"main": string,
"alt": string,
},
"isOthersShown": boolean,
"option": {
"type": "RADIO_BUTTON",
"isVertical": boolean # Buttons are aligned as a vertical or horizontal way"items": Array<string> # Option items (or buttons)
}
}
Multiple choice with check boxes
{
"title": {
"main": string,
"alt": string,
},
"isOthersShown": boolean,
"option": {
"type": "CHECK_BOX",
"isVertical": boolean # Buttons are aligned as a vertical or horizontal way"items": Array<string> # Option items (or buttons)
}
}
{
"title": {
"main": string,
"alt": string,
},
"isOthersShown": boolean,
"option": {
"type": "SLIDER",
"min": float, # Min. value of slider"max": float, # Max. value of slider"step": float # Step. value of slider
}
}
Number-range choice with slider
{
"title": {
"main": string,
"alt": string,
},
"isOthersShown": boolean,
"option": {
"type": "RANGE",
"min": float, # Min. value of slider"max": float, # Max. value of slider"step": float # Step. value of slider
}
}
Linear-scale with slider
Differences from slider:
UI is slightly different; there is no highlight color for selection.
Default value can be set
Min and max label can be set.
{
"title": {
"main": string,
"alt": string,
},
"isOthersShown": boolean,
"option": {
"type": "LINEAR_SCALE",
"min": float, # Min. value of slider"max": float, # Max. value of slider"step": float # Step. value of slider"defaultValue": float, # Default value of slider"minLabel": string, # Text presented at the starting point"maxLabel": string # Text presented at the end point
}
}
Inter-day Schedule
Inter-day schedule determines which days surveys are triggered.
Daily schedule
Survey can be triggered everyday except for certain dates.
{
"type": "INTERVAL",
# Start time within a day"timeFrom": {
"hour": integer,
"minute": integer,
"second": integer
},
# End time within a day"timeTo": {
"hour": integer,
"minute": integer,
"second": integer
},
# Default interval"intervalDefault" {
"amount": integer,
"unit": "MILLISECOND" | "SECOND" | "MINUTE" | "HOUR" | "DAY",
},
# Flex interval; random delay (this amount of time, at maximum) is added.# If random delay is not a concern, set "amount" as a negative integer."intervalFlex" {
"amount": integer,
"unit": "MILLISECOND" | "SECOND" | "MINUTE" | "HOUR" | "DAY",
},
}
Event
Survey can be triggered/canceled at a certain event after "delayDefault" + "delayFlex".
{
"type": "EVENT",
# Start time within a day"timeFrom": {
"hour": integer,
"minute": integer,
"second": integer
},
# End time within a day"timeTo": {
"hour": integer,
"minute": integer,
"second": integer
},
# Default "delayDefault" {
"amount": integer,
"unit": "MILLISECOND" | "SECOND" | "MINUTE" | "HOUR" | "DAY",
},
# Flex delay; random delay (this amount of time, at maximum) is added.# If random delay is not a concern, set "amount" as a negative integer."delayFlex" {
"amount": integer,
"unit": "MILLISECOND" | "SECOND" | "MINUTE" | "HOUR" | "DAY",
},
"eventsTrigger": Array<string>,
"eventsCanceled": Array<string>,
}