Applications
API for communication with ZBOS by Zora Robotics.
Channels
zbos/applications/categories/get
PUB
Get application categories
Get all application categories.
zbos/applications/categories/get/response/\{key}
SUB
Response: Get application categories
Array<ApplicationCategory>
Payload
Name |
Type |
Description |
Accepted values |
|
array (object) |
Any |
|
|
string |
Any |
|
|
string |
Use name for a static name, or name_key for a translatable name |
Any |
|
string |
Use name for a static name, or name_key for a translatable name |
Any |
|
integer |
Any |
zbos/applications/apps/get
PUB
Get applications
Get all applications with optional filters.
GetApplicationsRequest
Payload
Name |
Type |
Description |
Accepted values |
|
string |
Any |
|
|
integer |
Any |
|
|
integer |
Any |
|
|
array (object) |
Any |
|
|
string |
Field to check on. Note that the field should be camelCase, not snake_case |
Any |
|
string |
Value to check on. For numbers you should use 'min' and 'max'. |
Any |
|
number |
Minimum value, only usable for number fields |
Any |
|
number |
Maximum value, only usable for number fields |
Any |
|
string |
Direction to sort on. Can be 'asc' or 'desc'. The default direction is 'asc' |
* |
|
string |
Operator for either the child filters, or this filter object itself. Can be 'and', 'or' or 'not'. Default is 'and'. The root operator is always 'and' |
* |
|
string |
Match type for string values. Can be 'exact', 'contains', 'starts_with', 'ends_with'. The default match_type is 'contains' |
* |
|
array (object) |
Filters on which the operator will be applied. If there are no child filters, the operator will be applied to the filter object itself. |
Any |
|
array (object) |
Filters to apply on the child fields of the field. Will only work if the field is an object, array/list or map. |
Any |
|
string |
Optional. Set the language to have all translations filled in. The language format is ISO 639-1 language code, Eg: 'en' or 'en-US' |
Any |
zbos/applications/apps/get/response/\{key}
SUB
Response: Get applications
Array<Application>
Payload
Name |
Type |
Description |
Accepted values |
|
array (object) |
Any |
|
|
string |
This could be a package name, or some other defined unique ID |
Any |
|
string |
Use name for a static name, or name_key for a translatable name |
Any |
|
string |
Use name for a static name, or name_key for a translatable name |
Any |
|
string |
Any |
|
|
integer |
Any |
|
|
array (object) |
Any |
|
|
string |
Any |
|
|
string |
Use name for a static name, or name_key for a translatable name |
Any |
|
string |
Use name for a static name, or name_key for a translatable name |
Any |
|
string |
List of available actions: open: Opens an application handled by the RAILopen_control: Opens an application handled by the control settings: Opens the settings, handled by the control datasource: Edit the datasource, handled by the control other: Should be handled by the app itself |
* |
|
object |
Optional data that an action might need. |
Any |
|
string |
Any |
|
|
boolean |
Adds this application to the list of optional apps, which determines if the app is shown to the user |
Any |
|
string |
The path to an image on the robot or the url to an image |
Any |
Examples of payload
{
"id": "com.zorabots.application.one",
"name": "Application 1",
"weight": 10,
"actions": [
{
"name": "Open",
"type": "open",
"data": {
"key1": "value1"
},
"valid": true,
"application_id": "com.zorabots.application.one"
},
{
"name": "Settings",
"type": "settings",
"valid": true,
"application_id": "com.zorabots.application.one"
},
{
"name": "Datasource",
"type": "datasources",
"valid": true,
"application_id": "com.zorabots.application.one"
}
],
"optional": false,
"category_id": "category_1"
}
{
"id": "com.zorabots.application.two",
"weight": 20,
"actions": [
{
"type": "open",
"data": {
"key1": "value1"
},
"valid": true,
"application_id": "com.zorabots.application.two",
"name_key": "Open"
},
{
"name": "Some other action",
"type": "other",
"data": {
"key1": "value1"
},
"valid": true,
"application_id": "com.zorabots.application.two"
}
],
"optional": false,
"name_key": "application_2_key",
"category_id": "category_1"
}
zbos/applications/apps/changed/event/\{app}
PUB
Application changed
Fired when an app was added or changed.
Application
Payload
Name |
Type |
Description |
Accepted values |
|
string |
This could be a package name, or some other defined unique ID |
Any |
|
string |
Use name for a static name, or name_key for a translatable name |
Any |
|
string |
Use name for a static name, or name_key for a translatable name |
Any |
|
string |
Any |
|
|
integer |
Any |
|
|
array (object) |
Any |
|
|
string |
Any |
|
|
string |
Use name for a static name, or name_key for a translatable name |
Any |
|
string |
Use name for a static name, or name_key for a translatable name |
Any |
|
string |
List of available actions: open: Opens an application handled by the RAILopen_control: Opens an application handled by the control settings: Opens the settings, handled by the control datasource: Edit the datasource, handled by the control other: Should be handled by the app itself |
* |
|
object |
Optional data that an action might need. |
Any |
|
string |
Any |
|
|
boolean |
Adds this application to the list of optional apps, which determines if the app is shown to the user |
Any |
|
string |
The path to an image on the robot or the url to an image |
Any |
Examples of payload
{
"id": "com.zorabots.application.one",
"name": "Application 1",
"weight": 10,
"actions": [
{
"name": "Open",
"type": "open",
"data": {
"key1": "value1"
},
"valid": true,
"application_id": "com.zorabots.application.one"
},
{
"name": "Settings",
"type": "settings",
"valid": true,
"application_id": "com.zorabots.application.one"
},
{
"name": "Datasource",
"type": "datasources",
"valid": true,
"application_id": "com.zorabots.application.one"
}
],
"optional": false,
"category_id": "category_1"
}
zbos/applications/icons/get
PUB
Get application icon
Get the application icons for the passed application ID.
zbos/applications/actions/start
PUB
Start application action
Start an application action.
ApplicationAction
Payload
Name |
Type |
Description |
Accepted values |
|
string |
Any |
|
|
string |
Use name for a static name, or name_key for a translatable name |
Any |
|
string |
Use name for a static name, or name_key for a translatable name |
Any |
|
string |
List of available actions: open: Opens an application handled by the RAILopen_control: Opens an application handled by the control settings: Opens the settings, handled by the control datasource: Edit the datasource, handled by the control other: Should be handled by the app itself |
* |
|
object |
Optional data that an action might need. |
Any |
|
string |
Any |
Examples of payload
{
"name": "Open",
"type": "open",
"data": {
"key1": "value1"
},
"key": "some_key",
"valid": true,
"application_id": "com.zorabots.application.one"
}
{
"name": "Settings",
"type": "settings",
"key": "some_key",
"valid": true,
"application_id": "com.zorabots.application.one"
}
{
"name": "Datasource",
"type": "datasources",
"key": "some_key",
"valid": true,
"application_id": "com.zorabots.application.one"
}
{
"name": "Some other action",
"type": "other",
"data": {
"key1": "value1"
},
"key": "some_key",
"valid": true,
"application_id": "com.zorabots.application.one"
}
zbos/applications/registration/add
PUB
Add application registration
Registers an application to the applications list. Should be executed every time the application is started.
RegisterApplicationRequest
Payload
Name |
Type |
Description |
Accepted values |
|
string |
Any |
|
|
object |
Any |
|
|
string |
This could be a package name, or some other defined unique ID |
Any |
|
string |
Use name for a static name, or name_key for a translatable name |
Any |
|
string |
Use name for a static name, or name_key for a translatable name |
Any |
|
string |
Any |
|
|
integer |
Any |
|
|
array (object) |
Any |
|
|
string |
Any |
|
|
string |
Use name for a static name, or name_key for a translatable name |
Any |
|
string |
Use name for a static name, or name_key for a translatable name |
Any |
|
string |
List of available actions: open: Opens an application handled by the RAILopen_control: Opens an application handled by the control settings: Opens the settings, handled by the control datasource: Edit the datasource, handled by the control other: Should be handled by the app itself |
* |
|
object |
Optional data that an action might need. |
Any |
|
string |
Any |
|
|
boolean |
Adds this application to the list of optional apps, which determines if the app is shown to the user |
Any |
|
string |
The path to an image on the robot or the url to an image |
Any |
Examples of payload
{
"key": "abc",
"application": {
"id": "com.zorabots.application.one",
"name": "Application 1",
"weight": 10,
"actions": [
{
"name": "Open",
"type": "open",
"data": {
"key1": "value1"
},
"valid": true,
"application_id": "com.zorabots.application.one"
},
{
"name": "Settings",
"type": "settings",
"valid": true,
"application_id": "com.zorabots.application.one"
}
],
"optional": false,
"category_id": "category_1",
"icon_uri": "/sdcard/zbos_media_library/background.jpg"
},
"valid": true
}
{
"key": "def",
"application": {
"id": "com.zorabots.application.two",
"name": "Application 2",
"weight": 20,
"actions": [
{
"name": "Open",
"type": "open",
"data": {
"key1": "value1"
},
"valid": true,
"application_id": "com.zorabots.application.two"
},
{
"name": "Settings",
"type": "settings",
"valid": true,
"application_id": "com.zorabots.application.two"
}
],
"optional": false,
"category_id": "category_1",
"icon_uri": "https://www.zorarobotics.be/sites/default/files/styles/desktop_fixed_height_1x/public/2020-05/zorabots-robot-james-web.png?itok=5kw5HYOg"
},
"valid": true
}
{
"key": "ghi",
"application": {
"id": "com.zorabots.application.three",
"name": "Application 3",
"weight": 30,
"actions": [
{
"name": "Open",
"type": "open",
"data": {
"key1": "value1"
},
"valid": true,
"application_id": "com.zorabots.application.three"
},
{
"name": "Settings",
"type": "settings",
"valid": true,
"application_id": "com.zorabots.application.three"
}
],
"optional": false,
"category_id": "category_1"
},
"valid": true
}