Interfaces
QuestionConfiguration
{
"AnswerOptions": [
{
"LabelKey": "string",
"Value": "integer"
}
]
}
SurveySelectionRule
| Field | Type | Requirements | Description |
|---|---|---|---|
| Frequency | String | Options: Hourly, Monthly, Quarterly, Continuous | How often can survey be answered. |
| EnabledLanguages | Array of language objects | Please find list of all enabled languages here. | |
| Filter | Object | Company dimension key (“ImmediateManager”, “Department”) | Value is desired dimension value. Only one key value pair is supported. |
Example:
{
"Frequency": "Hourly",
"EnabledLanguages": [
{
"id": "integer",
"label": "string",
"code": "string"
}
],
"Filter": {
"ImmediateManager": "Nielsen"
}
}
QuestionTexts
QuestionText is JSON object where key is language id and value is text.
Example:
{
"1045": "Simple question text in English",
"1041": "Enkel spørgsmålstekst på dansk"
}
SurveyQuestion
| Field | Type | Requirements | Description |
|---|---|---|---|
| Type* | Integer | Valid value of QuestionType enum | Type of the question |
| Key** | String, Max length: 20 | Key of the question. When creating new question this field is not included | |
| Texts* | JSON object | Object of type QuestionTexts | The question/questions you would want to ask |
| AnswerOptions*** | JSON object | Array of AnswerOption type objects | The answers available |
| Deleted | Boolean | True when question should be deleted |
* Required
** Required when updating but not creating
*** Required when Type is 2
Note System assigns a Key to a question which is then included in GET v1.0/Survey/{surveyId}. This key can then be used to update the question by including it in POST v1.0/Survey/Update request payload (see example payload)
Example:
{
"Type": 2,
"Texts": {
"1045": "How are you today ?"
},
"AnswerOptions": [
{
"Texts": {
"1045": "Great, thanks."
}
},
{
"Texts": {
"1045": "Good as always."
}
}
]
}
AnswerOption
When creating a new survey or adding a new question, LabelKey and Value are omitted. The system automatically assigns a value to these columns to maintain consistency.
They can be then used to update existing answer options. When updating an answer option, both LabelKey and Value should never be changed since doing so could cause inconsistent data and wrong mapping of answers and options. The only thing that should be subject to change are Texts and only in the case of an error in the text.
When changing a meaning of an answer option, it is also good to consider treating them as immutable. Deleting one with old value and creating a new with the new value. That way the best experience of analyzing answers is ensured.
| Field | Type | Description |
|---|---|---|
| Texts* | Object of type QuestionTexts | Question |
| Deleted | Boolean | true when option should be deleted. |
| LabelKey** | String | |
| Value** | Integer |
* Required
** omitted when creating a new option, required to update an existing answer option