Settings
API for communication with ZBOS by Zora Robotics.
Channels
zbos/settings/get
PUB
Get settings
Get all settings for the provided category
zbos/settings/get/response/\{key}
PUB
Response: Get settings
SettingsCategory
Payload
Name |
Type |
Description |
Accepted values |
|
string |
Translation key should use the dot notation: \{category}.\{key} |
Any |
|
string |
Optional description key Translation key should use the dot notation: \{category}.\{key} |
Any |
|
object |
Any |
|
|
object |
Optional subcategories |
Any |
|
boolean |
The orphaned state indicates that this category was not added again since boot. |
Any |
Examples of payload
{
"category": {
"settings": {
"setting_key_1": {
"value": "Value 1",
"type": "string",
"required": true,
"label_key": "translations_category.setting_1_label",
"description_key": "translations_category.setting_1_description"
},
"setting_key_2": {
"value": "100",
"type": "integer",
"range": {
"min": 0,
"max": 150
},
"required": false,
"label_key": "translations_category.setting_2_label",
"description_key": "translations_category.setting_2_description"
},
"setting_key_3": {
"value": "100.50",
"type": "number",
"range": {
"min": 1,
"max": 150
},
"required": true,
"label_key": "translations_category.setting_3_label",
"description_key": "translations_category.setting_3_description"
},
"setting_key_4": {
"value": "true",
"type": "boolean",
"label_key": "translations_category.setting_4_label",
"description_key": "translations_category.setting_4_description"
},
"setting_key_5": {
"value": "option_1",
"type": "select_single",
"options": [
{
"key": "option_1",
"value": "Option 1",
"label_key": "translations_category.setting_5_option_1"
},
{
"key": "option_2",
"value": "Option 2",
"label_key": "translations_category.setting_5_option_2"
}
],
"label_key": "translations_category.translations_category.setting_5_label",
"description_key": "translations_category.setting_5_description"
},
"setting_key_6": {
"values": [
"option_1",
"option_2"
],
"type": "select_multi",
"options": [
{
"key": "option_1",
"value": "Option 1",
"label_key": "translations_category.setting_6_option_1"
},
{
"key": "option_2",
"value": "Option 2",
"label_key": "translations_category.setting_6_option_2"
},
{
"key": "option_3",
"value": "Option 3",
"label_key": "translations_category.setting_6_option_3"
}
],
"label_key": "translations_category.setting_6_label",
"description_key": "translations_category.setting_6_description"
}
},
"label_key": "translations_category.category_1_label"
}
}
{
"category": {
"settings": {
"setting_key_1": {
"value": "Value 1",
"type": "string",
"required": true,
"label_key": "translations_category.setting_1_label",
"description_key": "translations_category.setting_1_description"
},
"setting_key_2": {
"value": "100",
"type": "integer",
"range": {
"min": 0,
"max": 150
},
"required": false,
"label_key": "translations_category.setting_2_label",
"description_key": "translations_category.setting_2_description"
},
"setting_key_3": {
"value": "100.50",
"type": "number",
"range": {
"min": 1,
"max": 150
},
"required": true,
"label_key": "translations_category.setting_3_label",
"description_key": "translations_category.setting_3_description"
},
"setting_key_4": {
"value": "true",
"type": "boolean",
"label_key": "translations_category.setting_4_label",
"description_key": "translations_category.setting_4_description"
},
"setting_key_5": {
"value": "option_1",
"type": "select_single",
"options": [
{
"key": "option_1",
"value": "Option 1",
"label_key": "translations_category.setting_5_option_1"
},
{
"key": "option_2",
"value": "Option 2",
"label_key": "translations_category.setting_5_option_2"
}
],
"label_key": "translations_category.translations_category.setting_5_label",
"description_key": "translations_category.setting_5_description"
},
"setting_key_6": {
"values": [
"option_1",
"option_2"
],
"type": "select_multi",
"options": [
{
"key": "option_1",
"value": "Option 1",
"label_key": "translations_category.setting_6_option_1"
},
{
"key": "option_2",
"value": "Option 2",
"label_key": "translations_category.setting_6_option_2"
},
{
"key": "option_3",
"value": "Option 3",
"label_key": "translations_category.setting_6_option_3"
}
],
"label_key": "translations_category.setting_6_label",
"description_key": "translations_category.setting_6_description"
}
},
"subcategories": {
"category_2a": {
"settings": {},
"label_key": "translations_category.category_2a_label"
}
},
"label_key": "translations_category.category_2_label"
}
}
zbos/settings/add
PUB
Add settings
Add settings with their default values. These default values will be used as long as they are not updated via zbos/settings/update
AddSettingsRequest
Payload
Name |
Type |
Description |
Accepted values |
|
string |
Any |
|
|
string |
Any |
|
|
string |
Optional. Use either category or file |
Any |
|
object |
Optional. Use either category or file |
Any |
|
string |
Translation key should use the dot notation: \{category}.\{key} |
Any |
|
string |
Optional description key Translation key should use the dot notation: \{category}.\{key} |
Any |
|
object |
Any |
|
|
object |
Optional subcategories |
Any |
Examples of payload
{
"key": "abc",
"category": {
"settings": {
"setting_key_1": {
"type": "string",
"required": true,
"default_value": "Value 1",
"label_key": "translations_category.setting_1_label",
"description_key": "translations_category.setting_1_description"
},
"setting_key_2": {
"type": "integer",
"range": {
"min": 0,
"max": 150
},
"required": false,
"default_value": "100",
"label_key": "translations_category.setting_2_label",
"description_key": "translations_category.setting_2_description"
},
"setting_key_3": {
"type": "number",
"range": {
"min": 1,
"max": 150
},
"required": true,
"default_value": "100.50",
"label_key": "translations_category.setting_3_label",
"description_key": "translations_category.setting_3_description"
},
"setting_key_4": {
"type": "boolean",
"default_value": "true",
"label_key": "translations_category.setting_4_label",
"description_key": "translations_category.setting_4_description"
},
"setting_key_5": {
"type": "select_single",
"options": [
{
"key": "option_1",
"value": "Option 1",
"label_key": "translations_category.setting_5_option_1"
},
{
"key": "option_2",
"value": "Option 2",
"label_key": "translations_category.setting_5_option_2"
}
],
"default_value": "option_1",
"label_key": "translations_category.translations_category.setting_5_label",
"description_key": "translations_category.setting_5_description"
},
"setting_key_6": {
"type": "select_multi",
"options": [
{
"key": "option_1",
"value": "Option 1",
"label_key": "translations_category.setting_6_option_1"
},
{
"key": "option_2",
"value": "Option 2",
"label_key": "translations_category.setting_6_option_2"
},
{
"key": "option_3",
"value": "Option 3",
"label_key": "translations_category.setting_6_option_3"
}
],
"label_key": "translations_category.setting_6_label",
"description_key": "translations_category.setting_6_description"
}
},
"label_key": "translations_category.category_1_label"
},
"category_name": "category_1"
}
{
"key": "abc",
"category": {
"settings": {
"setting_key_1": {
"type": "string",
"required": true,
"default_value": "Value 1",
"label_key": "translations_category.setting_1_label",
"description_key": "translations_category.setting_1_description"
},
"setting_key_2": {
"type": "integer",
"range": {
"min": 0,
"max": 150
},
"required": false,
"default_value": "100",
"label_key": "translations_category.setting_2_label",
"description_key": "translations_category.setting_2_description"
},
"setting_key_3": {
"type": "number",
"range": {
"min": 1,
"max": 150
},
"required": true,
"default_value": "100.50",
"label_key": "translations_category.setting_3_label",
"description_key": "translations_category.setting_3_description"
},
"setting_key_4": {
"type": "boolean",
"default_value": "true",
"label_key": "translations_category.setting_4_label",
"description_key": "translations_category.setting_4_description"
},
"setting_key_5": {
"type": "select_single",
"options": [
{
"key": "option_1",
"value": "Option 1",
"label_key": "translations_category.setting_5_option_1"
},
{
"key": "option_2",
"value": "Option 2",
"label_key": "translations_category.setting_5_option_2"
}
],
"default_value": "option_1",
"label_key": "translations_category.translations_category.setting_5_label",
"description_key": "translations_category.setting_5_description"
},
"setting_key_6": {
"type": "select_multi",
"options": [
{
"key": "option_1",
"value": "Option 1",
"label_key": "translations_category.setting_6_option_1"
},
{
"key": "option_2",
"value": "Option 2",
"label_key": "translations_category.setting_6_option_2"
},
{
"key": "option_3",
"value": "Option 3",
"label_key": "translations_category.setting_6_option_3"
}
],
"label_key": "translations_category.setting_6_label",
"description_key": "translations_category.setting_6_description"
}
},
"subcategories": {
"category_2a": {
"settings": {},
"label_key": "translations_category.category_2a_label"
}
},
"label_key": "translations_category.category_2_label"
},
"category_name": "category_2"
}
{
"key": "abc",
"file": "path/to/file.json",
"category_name": "category_3"
}
zbos/settings/update
PUB
Update settings
Update settings overriding the default values.
UpdateSettingsRequest
Payload
Name |
Type |
Description |
Accepted values |
|
string |
Any |
|
|
string |
Any |
|
|
object |
Any |
|
|
object |
Any |
|
|
object |
Optional subcategories |
Any |
Examples of payload
{
"key": "abc",
"category": {
"settings": {
"setting_key_1": {
"value": "Value 1B"
},
"setting_key_2": {
"value": "50"
},
"setting_key_3": {
"value": "110.20"
},
"setting_key_4": {
"value": "false"
},
"setting_key_5": {
"value": "option_2"
},
"setting_key_6": {
"values": [
"option_2",
"option_3"
]
},
"setting_key_7": {
"hidden": true
},
"setting_key_8": {
"options": [
{
"key": "first",
"value": "first",
"label": "First Option"
},
{
"key": "second",
"value": "second",
"label": "Second Option"
}
]
}
},
"subcategories": {
"category_1a": {
"settings": {
"setting_key_1a": {
"value": "Value 1A"
}
}
}
}
},
"category_name": "category_1"
}
zbos/settings/changed/event/\{category}
PUB
Event: Settings changed
SettingsChangedEvent
Payload
Name |
Type |
Description |
Accepted values |
|
string |
Any |
|
|
object |
Any |
|
|
object |
Any |
|
|
object |
Optional subcategories |
Any |
Examples of payload
{
"category": {
"settings": {
"setting_key_1": {
"type": "string",
"value": "Value 1"
},
"setting_key_2": {
"type": "integer",
"value": "100"
},
"setting_key_3": {
"type": "number",
"value": "100.50"
},
"setting_key_4": {
"type": "boolean",
"value": "true"
},
"setting_key_5": {
"type": "select_single",
"value": "option_1",
"options": [
{
"key": "option_1",
"value": "Option 1",
"label_key": "translations_category.setting_5_option_1"
},
{
"key": "option_2",
"value": "Option 2",
"label_key": "translations_category.setting_5_option_2"
}
]
},
"setting_key_6": {
"type": "select_multi",
"values": [
"option_1",
"option_2"
],
"options": [
{
"key": "option_1",
"value": "Option 1",
"label_key": "translations_category.setting_6_option_1"
},
{
"key": "option_2",
"value": "Option 2",
"label_key": "translations_category.setting_6_option_2"
},
{
"key": "option_3",
"value": "Option 3",
"label_key": "translations_category.setting_6_option_3"
}
]
}
}
},
"category_name": "category_1"
}