Sensors
The sensors service is designed to monitor the value over time of certain variables.
Structure
La unidad básica para el uso de sensores son las variables. Estas están agrupadas en grupos llamados variable_groups. Finalmente, estos grupos corresponden a un par usuario/extension, es decir, para acceder a un grupo de variables se debe identificar al usuario y a la extenión a los que corresponde cada grupo.
The basic unit for the use of sensors are variables. These are grouped into variable_groups. Finally, these groups correspond to a user/extension pair, that is, to access a group of variables, the user and the extension, to which each group corresponds, must be identified.
Each variable can ingest values, and each value consists of a timestamp, a value, and optional metadata.
Access
Access to variables is done by group, which allows the management of all the variables within it.
Sensors is a tool tied to Extensions. groups/variables can only be created or edited by Extensions.
Extensions interact with sensors on behalf of a user, being able to access only variables created by that extension and for that user. Instead, the user can see his variables created by all extensions.

Permissions
Each action on variables has an associated functionality. The user executing the action must have it enabled (according to the premium plan). Also, when an extension is where the action is executed from, it will be verified that it has the active functionality in the claimset.
Requires having the Variables and Variables Groups functionalities active in the claimset.
Functionalities
-
VARIABLE_GROUPS_CREATE: Create a group of variables for the extension and current user. -
VARIABLE_GROUPS_READ: Read a group of variables from the current extension and user. -
VARIABLE_GROUPS_UPDATE: Updates a group of variables of the current extension and user. -
VARIABLE_GROUPS_DELETE: Deletes a group of variables from the current extension and user. -
VARIABLES_CREATE: Create a variable for the current extension and user within a specific group. -
VARIABLES_READ: Reads a variable from a group belonging to the extension and current user. -
VARIABLES_UPDATE: Updates a variable of a group belonging to the extension and current user. -
VARIABLES_DELETE: Deletes a variable from a group belonging to the extension and current user.
Objects
variable_group object:
group_uuid:string, group uuid.created_at:string, creation date. FormatYYYY-MM-DDTHH:MM:SSZdeleted_at:string, date deleted. FormatYYYY-MM-DDTHH:MM:SSZ. May be null (not deleted)group_name:string, group name.user_group_name:string, name of the group set by the user in auravant.device:string, group serial number.position:string, position on the map. can be nulluser_position:string, position on the map set by the user in auravant. can be nulltimezone_offset:integer, with the number of minutes offset fromUTCof the groupmetadata:object, with metadata. Contains only crop licenses.{"licenses": {}}variables:array, withvariableobjects. It can be an empty array.
variable object:
variable_uuid:string, variable uuidcreated_at:string, creation date. FormatYYYY-MM-DDTHH:MM:SSZdeleted_at:string, date deleted. FormatYYYY-MM-DDTHH:MM:SSZ. May be null (not deleted)variable_name:string, variable name.user_variable_name:string, name of the variable set by the user in auravant.device:string, variable serial number.metadata:object, with metadata.last_value:float, last value. can be nulllast_value_time:string, date of last value. formatYYYY-MM-DDTHH:MM:SSZ. It can be Null.group_uuid:string, group uuid.
values object:
timestamps:array(string), array of dates. formatYYYY-MM-DDTHH:MM:SSZvalues:array(float), array of values.metadata:array(object), array of metadata objects.
All three
arrayshave the same length and elements in the same position correspond to each other. For example, for the elementtimestamps[0], the variable has the valuevalues[0]and the metadatametadata[0].
API
BASE URL: https://api.auravant.com/sensors/v2
Groups
GET
This endpoint allows you to obtain the groups of variables created and their information.
Requires functionality Variable groups - read (R)
Authorization: Bearer TOKEN
GET /providers/variablegroups
If you want to obtain a specific variable_group, you must add the group_uuid in the query string.
Response example:
{
"res": "ok",
"data": [
{
"group_uuid": "e4f4f23b-037a-4a6f-b118-f453eae33c95",
"created_at": "2022-06-13T21:22:33Z",
"deleted_at": null,
"group_name": "test-variable-group-1",
"user_group_name": null,
"device": "",
"position": "",
"user_position": null,
"timezone_offset": 0,
"metadata": {},
"variables": []
},
{
"group_uuid": "809cbdc8-30e2-406b-9740-8ce32b2bb6f0",
"created_at": "2022-06-14T11:20:04Z",
"deleted_at": null,
"group_name": "test-variable-group-2",
"user_group_name": null,
"device": "",
"position": "",
"user_position": null,
"timezone_offset": 0,
"metadata": {},
"variables": []
},
{
"group_uuid": "5795a90e-b90e-40df-9b21-b68e1daf9609",
"created_at": "2022-06-14T11:20:48Z",
"deleted_at": null,
"group_name": "test-variable-group-3",
"user_group_name": null,
"device": "",
"position": "",
"user_position": null,
"timezone_offset": 0,
"metadata": {},
"variables": []
}
]
}
Where data is an array of data objects: variable_groups
POST
This endpoint allows you to create a new group of variables
Requires functionality Variable groups - create (C)
Authorization: Bearer TOKEN
Content-Type: application/json
POST /providers/variablegroups
Body:
{
"group_uuid": <GROUP_UUID>,
"created_at": <CREATED_AT>,
"deleted_at": <DELETED_AT>,
"group_name": <GROUP_NAME> `required`,
"user_group_name": <USER_GROUP_NAME>,
"device": <DEVICE>,
"position": <POSITION>,
"user_position": <USER_POSITION>,
"timezone_offset": <TIMEZONE_OFFSET>,
"metadata": <METADATA>,
"variables": <VARIABLES>
}
NOTAS
created_atwill be assigned automatically with the current date if was not sentdeleted_at,user_group_name&user_positionwill be assigned asnullif was not senttimezone_offsetwill be assigned as0if was not sent. Cannot benullmetadatawill be assigned as an empty object if was not sentvariableswill be assigned as an empty array if was mot sent
Response example:
{
"res": "ok",
"data": {
"group_uuid": "5795a90e-b90e-40df-9b21-b68e1daf9609",
"created_at": "2022-06-14T11:20:48Z",
"deleted_at": null,
"group_name": "test-variable-group-3",
"user_group_name": null,
"device": "",
"position": "",
"user_position": null,
"timezone_offset": 0,
"metadata": {},
"variables": []
},
"info": "variable group created successfully"
}
Where data is an object of the variable_group type with the loaded data.
PATCH
This endpoint allows updating or modifying a group of variables
Requires functionality Variable groups - update (U)
Authorization: Bearer TOKEN
Content-Type: application/json
PATCH /providers/variablegroups
Body:
{
"group_uuid": <GROUP_UUID> `required`,
"created_at": <CREATED_AT>,
"deleted_at": <DELETED_AT>,
"group_name": <GROUP_NAME>,
"device": <DEVICE>,
"position": <POSITION>,
"timezone_offset": <TIMEZONE_OFFSET>,
"metadata": <METADATA>,
"variables": <VARIABLES>
}
NOTES
- Note that all the fields of the object
variable_groupcan be modified except for the data that corresponds to the user:user_group_nameanduser_position- Only properties to be modified should be sent
Response example:
{
"res": "ok",
"data": {
"group_uuid": "e4f4f23b-037a-4a6f-b118-f453eae33c95",
"created_at": "2022-06-13T21:22:33Z",
"deleted_at": null,
"group_name": "test-variable-group-1",
"user_group_name": null,
"device": "",
"position": "",
"user_position": null,
"timezone_offset": 4,
"metadata": {},
"variables": []
},
"info": "variable group updated successfully"
}
Where data is an object of the variable_groups type with the new data.
DELETE
This endpoint allows you to delete a group of variables
Requires functionality Variable groups - delete (D)
Authorization: Bearer TOKEN
Content-Type: application/json
DELETE /providers/variablegroups
Body:
{
"group_uuid": <GROUP_UUID>, `required`
}
Where group_uuid is a string corresponding to the uuid of the group.
Response example:
{
"res": "ok",
"info": "variable group deleted successfully"
}
Variables
POST
This enpoint allows to create a new variable within a group
Requires functionality Variables - create (C)
Authorization: Bearer TOKEN
Content-Type: application/json
POST /providers/variables
Body:
{
"group_uuid": <GROUP_UUID> `requerido`,
"variable": {
"variable_name": <VARIABLE_NAME> `requerido`,
"device": <DEVICE>,
"metadata: <METADATA>
}
}
Ejemplo de respuesta:
{
"res": "ok",
"data": {
"variable_uuid": "3120deb3-3079-4d78-92a0-b5a82000e921",
"variable_name": "test-variable-1",
"user_variable_name": null,
"group_id": 582,
"created_at": "2022-06-14T13:14:50Z",
"deleted_at": null,
"device": null,
"metadata": null,
"last_value": null,
"last_value_time": null
},
"info": "variable created successfully"
}
Where data is an object of the variable type with the data loaded
PATCH
This endpoint allows you to update or modify a created variable.
Requires functionality Variable groups - update (U)
Authorization: Bearer TOKEN
Content-Type: application/json
PATCH /providers/variables
Body:
{
"variable_uuid": <VARIABLE_UUID> `requerido`,
"variable_name": <VARIABLE_NAME>,
"device": <DEVICE>,
"metadata": <METADATA>
}
NOTE - Only specified values can be modified. When trying to modify any other key changes are not applied
Response example:
{
"res": "ok",
"data": {
"variable_uuid": "b3e18dbf-f60c-4403-808f-59ead5796304",
"variable_name": "test-variable-1",
"user_variable_name": null,
"group_id": 582,
"created_at": "2022-06-14T13:03:18Z",
"deleted_at": null,
"device": "medidor-1",
"metadata": {
"key-1": "metadata-1"
},
"last_value": null,
"last_value_time": null
},
"info": "variable updated successfully"
}
Where data is an object of variable with the new data
DELETE
This endpoint allows you to delete a created variable.
Requires functionality Variables - delete (D)
Authorization: Bearer TOKEN
Content-Type: application/json
DELETE /providers/variables
Body:
{
"variable_uuid": <VARIABLE_UUID>, `required`
}
Where variable_uuid is a string corresponding to the uuid of the variable.
Response example:
{
"res": "ok",
"info": "variable deleted successfully"
}
Values
POST
Requires functionality Variables - create (C)
This endpoint allows you to insert values for a certain variable.
Authorization: Bearer TOKEN
Content-Type: application/json
POST /providers/values/variables
Body:
{
"data": [
{
"variable_uuid": <VARIABLE_UUID> `required`,
"values": <VALUES> `required`,
"metadata": <DATA>,
"timestamps": <DATES> `required`
},
{...},
...
]
}
IMPORTANT - The maximum number of values that can be entered is 2,000,000
Response example:
{
"res": "ok",
"info": "values inserted"
}
If no value is sent, the endpoint returns an http code 204 with the message: "no values were inserted".
If the number of values to insert is greater than the specified, the endpoint responds with the message: "Total number of values to insert must not exceed 2,000,000"
General errors
If any query fails, the response will have an http code greater than 400 and a body in json format with a code that will indicate what happened.
Example:
{
"res": "error",
"code": <CODE>,
"info": <INFO>
}
According to the code, the user should be told what happened. There are general error codes that can occur on all endpoints. In turn, each endpoint has specific codes detailed in the specification of each one.
General codes
| CODE | INFO |
|---|---|
| GENERAL_ERROR | The requested action failed to execute |
| EXPIRED_AUTHENTICATION | Expired Authentication token |
| INVALID_AUTH | Invalid Authentication token |
| PARAMETER_ERROR | Parameters error |
| UNAUTHORIZED_EXTENSION | Unauthorized attempt to access an Extensions resource |
| UNAUTHORIZED_USER | Unauthorized attempt to access a protected endpoint |
| ACCESS_ERROR | The User does not have access to the requested resource |
| PERMISSION_ERROR | The User is not allowed to execute the specified action over the requested resource |
Specific codes
| CODE | INFO |
|---|---|
| VARIABLEGROUP_NOT_FOUND | Variable group could not be found |
| VARIABLEGROUP_CREATE_ERROR | Variable group could not be created |
| VARIABLEGROUP_UPDATE_ERROR | Variable group could not be updated |
| VARIABLEGROUP_DELETE_ERROR | Variable group could not be deleted |
| VARIABLE_NOT_FOUND | Variable could not be found |
| VARIABLE_CREATE_ERROR | Variable could not be created |
| VARIABLE_UPDATE_ERROR | Variable could not be updated |
| VARIABLE_DELETE_ERROR | Variable could not be deleted |