Core.geo
This API serves access to the geolocation information generated by Centiloc active surfaces. It uses gRPC technology.
The endpoints are distributed over 4 services.
API
core.geo
access rights are managed by roles at login. See global documentation.
Different packages for different development technologies (npm
, pypi
, nuget
, go
) are available. Please check solution documentation to access it.
Board stands for centiloc active detection surface (cads). the identifier of a board is its serial number (sn). This service serves information and interactions methods.
Get
orGetAll
methods collect information about a single board or a group of boards. Among all, it returns board connection status.GetItem
is a way to access the population of Items on boards.
Other methods allows interacting with the boards (Ping
, FullScan
request) or board configuration (SetWifiCred
, SetMqttURL
, SetRFType
to detect type A or V NFC tags).
Board information contains a status field, indicating whether the board is connected or not. Please note that this field is not updated in real-time.
Indeed, when the board disconnects, it has not the mean to inform the software that it has been disconnected. See connection status flow for more details.
You can also call Ping
method to check the presence of the board by yourself.
Gateway stands for gateways in front of the boards. the identifier of a gateway is a combination of its serial number (sn) and its type : cloudgate, centigate… This service serves information and interactions methods.
Using gateways is optional (only with RS485 protocol). In this configuration, the boards must be enrolled to a gateway, two ways are available :
- if we know the boards’ serial number:
EnrolKnownBoards
- else :
FindAndEnrol
, where a NFC token must be put on the board to enrol
For more details about enrolment, read installation guide.
Other methods allows interacting with the gateways as Ping
.
CRUD enpoints are also available, specially Get
or GetAll
methods that collect information about a single gateway or a group of gateways. Among all, it returns gateway connection status.
In all cases (RS485 or WIFI), the Board service must always be used to request boards. This service contains only operations concerning gateways.
Item represents the tag standing on boards. the identifier of an item is the tag’s unique iddentifier (uid). This service serves information.
This service does not allow reading or writing in the Item memory. You need
perso
access to do theses interactions.
Whatever the method used, the return message will be in format ItemData, providing the position of the items, with some minimal usage information (number of hits, time out of a board).
Streaming allows you receiving digested itemmoveevent from the surfaces.
When calling the method, you will first receive the events populating the initial items on the board. Then, you will get the events for updates.
In case of large amount of data, you can ask for pagination and filtering when collecting list of objects.
API implementation applies a default pagination size. Default chunk size is 25, but this may vary depending on the solution parameters.
If the Solution Software documentation indicates another default parameter, this last prevails.
Some endpoints allow limiting the number of items returned, thanks to the data page
and size
from ItemsPagination.
These items can also be sorted in function of the field sort
, in ascending or descending order is_descending
.
BoardsPagination works in the same way, except the field for sorting boards is a boardattr instead of an itemattr as the boards have not the same attributes that items.
Example: I want to get the 10th to the 15th items sorted by board in ascending order
I sent a request with the following argument :
ItemsPagination{
Page: 3,
Size: 5,
Sort: ItemAttr_BOARDSN,
IsDescending: false,
}
ItemsData results are returned, composed of 5 (=size)
items, the total count of items matching the request let's say 18
, the total number of pages 4
and the links to browse the pages.
message ItemsData {
items = [item{...},item{...},item{...},item{...},item{...}],
count = 18,
nb_pages = 4,
links = {previous{...},next{...},first{...},last{...}}
}
Each link contains the argument to give to the API in order to get the items corresponding to the first, last, previous or next page.
BoardsData has also the same goal than itemsdata for boards, except the links have the type boardgetalllinks instead of itemgetalllinks.
Some endpoints allow also filtering items by giving one or many ItemFilter. This structure is composed of a type
which represent the field to filter, and its value
.
value
is a oneof
for different attributes with different types, allowing the selection of the element types conveniently.
Example: I want to get only items that moved during the last hour
ItemFilter{
Type: ItemAttr_MOMENTUM,
Value: {
Date: now.Add(-1 * time.Hour),
},
}
Once again, BoardFilter works as itemfilter, except the field type
is different.
-
- Services
- Enums
- Messages
-
- Services
- Messages
-
- Services
- Messages
-
- Services
- Enums
- Messages
- BoardAP
- BoardCreation
- BoardFilter
- BoardFilters
- BoardGetAllLinks
- BoardGetItemsLinks
- BoardLabelsRequest
- BoardLabelsResponse
- BoardLabelsResponse.Status
- BoardMqttURL
- BoardPassword
- BoardRFType
- BoardScan
- BoardUpdate
- BoardWifiCred
- BoardsData
- BoardsIDWithPagination
- BoardsItems
- BoardsPagination
- ItemOnBoardData
-
- Services
- Messages
Gateway is the service used to manage gateways and boards behing them.
Method Name | Request Type | Response Type | Description |
---|---|---|---|
Create | GwCreation | GwData | Create a new gateway reference. |
Get | GwID | GwData | Get returns gateway information. |
Delete | GwID | .google.protobuf.Empty | Delete allows to delete a gateway. |
GetAll | GwFilters | GwsData | GetAll returns all gateways matching with the filters given. |
Ping | GwID | RequestStatus | Ping sends a request to the gateway for getting connection state. |
EnrolKnownBoards | GwBoards | RequestStatusWithBoard stream | EnrolKnownBoards enrols known boards on a gateway. |
FindAndEnrolBoard | GwID | RequestStatusWithBoard | FindAndEnrolBoard find a board and enrol it on a gateway (to repeat, one by one board). |
UnenrolBoards | GwID | RequestStatus | UnenrolBoards unenrol all boards from a gateway. |
FindByBoard | BoardID | GwData | FindByBoard allows to find a gateway from a board enrolled. |
SetContinuousScanMode | GwContinuousScanMode | RequestStatus | SetContinuousScanMode allows to target a gateway and enable its continuous scan mode (allows to trig requests for getting a full scan from its enrolled boards). |
GwAttr represents each field available to filter/sort gateways.
Name | Number | Description |
---|---|---|
LAST_GW_CONNECTION | 0 | (date ) last connection of the gateway, in case of filtering only gateways connected after the date are returned |
ID | 1 | (gw_id ) gw’s identifier |
GWSTATUS | 2 | (gw_status ) see GwStatus |
GwStatus represents available gw status values.
Name | Number | Description |
---|---|---|
GW_CONNECTED | 0 | |
GW_DISCONNECTED | 1 |
BoardGwInfo represents board’s information about its link to a gateway.
Field | Type | Label | Description |
---|---|---|---|
sn | string | gateway serial number |
GwBoards represents information necessary to enrol known boards on a gateway.
Field | Type | Label | Description |
---|---|---|---|
id | GwID | gateway where enrolling boards | |
boards_sn | string | repeated | list of boards to enrol on the gateway |
GwContinuousScanMode represents the gateway to target to toggle its continuous scan mode
and define if it should embed requests for getting a full scan from its enrolled boards.
Field | Type | Label | Description |
---|---|---|---|
start | bool | boolean indicating if continuous scan mode has to be started or stopped | |
id | GwID | gateway where toggling its mode | |
full_scan_true | bool | does it send a requests for getting a full scan from enrolled boards ? |
GwCreation represents initial gateway information.
Field | Type | Label | Description |
---|---|---|---|
sn | string | gateway serial number | |
type | string | gateway type (ex: cloudgate) |
GwData represents all gateway information collected.
Field | Type | Label | Description |
---|---|---|---|
id | GwID | ||
status | GwStatus | ||
version | string | ||
last_connection | google.protobuf.Timestamp | ||
last_disconnection | google.protobuf.Timestamp | ||
last_event | google.protobuf.Timestamp | ||
continuous_scan_mode_enabled | bool | is the continuous scan mode enabled ? |
GwFilter represents the data defining a filter for gateways.
Field | Type | Label | Description |
---|---|---|---|
type | GwAttr | ||
date | google.protobuf.Timestamp | ||
gw_id | GwID | ||
gw_status | GwStatus | used with GWSTATUS type |
GwFilters contains a list of GwFilter and pagination information.
Field | Type | Label | Description |
---|---|---|---|
filters | GwFilter | repeated | |
page | GwsPagination | defined in common.proto |
GwGetAllLinks represents the parameters of Gateway.GetAll used to paginate gateways.
GwsData contains a list (subset) of GwData plus the total count of gateways matching.
Field | Type | Label | Description |
---|---|---|---|
gws | GwData | repeated | list of limit (of GwsPagination) gateways |
count | uint64 | total of gateways matching the request | |
nb_pages | uint32 | total of pages (count / size) | |
links | GwGetAllLinks | links necessary to navigate over the pages |
GwsPagination represents the data necessary to paginate gateways.
Field | Type | Label | Description |
---|---|---|---|
page | uint32 | page offset (ex: 15 results with a size of 10, page = 1 to get from 10 to 15), default 1, override start |
|
limit | uint32 | number of results to return, default 25 | |
sort | GwAttr | default LAST_CONNECTION | |
is_descending | bool | default false |
GwRequestStatus contains the response of a gw’s request and the new board enrolled.
Field | Type | Label | Description |
---|---|---|---|
request_status | RequestStatus | ||
board_sn | string |
Streaming is the service used to receive events by stream.
Method Name | Request Type | Response Type | Description |
---|---|---|---|
StreamItemsEvents | ItemMoveOptions | ItemMoveEvent stream | StreamItemsEvents begins a stream to collect any item’s move. |
ItemMoveEvent represents an item’s move detected on a board.
Field | Type | Label | Description |
---|---|---|---|
momentum | google.protobuf.Timestamp | date of board event | |
uid | string | item identifier | |
is_in | bool | if true, the item has moved on the board, else the item has been removed from the board | |
pos_mm | int32 | repeated | array of size 2: [0]=X and [1]=Y in millimeters - can be null |
board_sn | string | identity board having detected the move | |
nb_hits | int32 | stat for the item: number of outs | |
hold_time | google.protobuf.Duration | stat for the item: duration out of boards | |
fill_ratio | float | ratio (percent) of the item’s level | |
product_reference | string | product reference of the item | |
shelf_sn | string | shelf where is the board | |
furniture_sn | string | furniture where is the shelf | |
pos_on_shelf_mm | int32 | repeated | position of the item on the set of shelves in millimeters |
loc_reference | string | the location reference from the client erp | |
loc_labels | string | repeated | the location labels |
item_labels | string | repeated | labels from item |
pos_on_floor_mm | int32 | repeated | position of the item on the set of furniture floor in millimeters |
floor | int32 | floor in the furniture | |
model_url | string | url where to pick a 3D model (if any) | |
board_labels | string | repeated | labels from item |
ItemMoveOptions contains the options available to filter events.
Field | Type | Label | Description |
---|---|---|---|
board_sns | string | repeated | optional, returns only events of these boards. If nil, returns all the events |
get_messages_missed | bool |
PermissionService is the service used to receive events by stream.
Method Name | Request Type | Response Type | Description |
---|---|---|---|
Get | .google.protobuf.Empty | GetResponse | Get decodes the authentication token and returns the endpoints accessible to the user. |
GetResponse contains the list of endpoints accessible to the user.
Field | Type | Label | Description |
---|---|---|---|
authorized_endpoints | string | repeated |
Board is the service used to manage boards.
Method Name | Request Type | Response Type | Description |
---|---|---|---|
Create | BoardCreation | .google.protobuf.Empty | Create creates a new board. |
Get | BoardID | BoardData | Get returns board information. |
Update | BoardUpdate | BoardData | Update updates an existing board. |
Delete | BoardID | .google.protobuf.Empty | Delete allows to delete a board. |
GetAll | BoardFilters | BoardsData | GetAll returns all boards matching with the filters given. |
GetItems | BoardsIDWithPagination | BoardsItems | GetItems returns the content (items) paginated of the given boards. |
GetAPPassword | BoardAP | BoardPassword | GetAPPassword retrieves the one time password for the board’s AP. |
Ping | BoardID | RequestStatus | Ping sends a request to the board for getting connection state. |
FullScan | BoardScan | RequestStatus | FullScan sends a request to the board for getting a full scan. |
SetWifiCred | BoardWifiCred | RequestStatus | SetWifiCred sends a request to the board for setting its wifi credentials. |
SetMqttURL | BoardMqttURL | RequestStatus | SetMqttURL sends a request to the board for setting the MQTT broker URL. |
SetRFType | BoardRFType | RequestStatus | SetRFType sends a request to the board for setting the RF detection type. |
Reboot | BoardID | RequestStatus | Reboot sends a request to the board for restarting. |
ActivateBootloader | BoardID | RequestStatus | ActivateBootloader sends a request to the board for restarting on bootloader. |
AddLabels | BoardLabelsRequest | BoardLabelsResponse | AddLabels adds labels for a set of UIDs. |
RemoveLabels | BoardLabelsRequest | BoardLabelsResponse | RemoveLabels removes labels for a set of UIDs. |
ClearLabels | BoardIDs | BoardLabelsResponse | ClearLabels removes all the labels for a set of UIDs. |
BoardAttr represents each field available to filter/sort boards.
Name | Number | Description |
---|---|---|
SN | 0 | (text ) board’s serial number |
BOARDSTATUS | 1 | (board_status ) see BoardStatus |
LAST_EVENT | 2 | (date ) last event detected by the board, in case of filtering only the boards that detected an event after the date are returned |
NO_ACTIVITY_AFTER | 3 | (date ) merge of last_connection and last_event, cannot be used for sorting |
LAST_CONNECTION | 4 | (date ) last connection of the board, in case of filtering only boards connected after the date are returned |
GW | 5 | (gw_id ) see GwID, to select all boards linked to a specific gateway |
BOARD_LABEL_EXPRESSION | 6 | (label_expression ) logical expression using labels - useless attribute |
Name | Number | Description |
---|---|---|
UNKNOWN | 0 | |
OK | 1 | |
FAIL | 2 |
Name | Number | Description |
---|---|---|
Level2 | 0 | default QOS=2 |
Level1 | 1 | |
Level0 | 2 |
RFType represents all RF type available.
Name | Number | Description |
---|---|---|
RFID_TYPE_A | 0 | |
RFID_TYPE_V | 1 | |
RFID_TYPE_ALT | 2 | alternating A and V |
RFID_TYPE_FIRST | 3 | A or V in function of the first tag found |
BoardAP contains the information about the board AP (config mode).
BoardCreation represents initial board information.
Field | Type | Label | Description |
---|---|---|---|
sn | string | board serial number | |
dimensions_mm | int32 | repeated | dimensions of the board (can be nil) |
margins_mm | int32 | repeated | tolerance for item move, should be in the datasheet (can be nil) |
no_geoloc | bool | when true, items are detected but without position | |
labels | string | repeated | board labels |
BoardFilter represents the data defining a filter for boards.
Field | Type | Label | Description |
---|---|---|---|
type | BoardAttr | ||
date | google.protobuf.Timestamp | ||
text | string | used with SN type |
|
integer | int64 | ||
board_status | BoardStatus | used with BOARDSTATUS type |
|
gw_id | GwID | ||
label_expression | string | logical expression, this field ignore ’type’… |
BoardFilters contains a list of BoardFilter and pagination information.
Field | Type | Label | Description |
---|---|---|---|
filters | BoardFilter | repeated | |
page | BoardsPagination | defined in common.proto |
BoardGetAllLinks represents the parameters of Board.GetAll used to paginate boards.
Field | Type | Label | Description |
---|---|---|---|
previous | BoardFilters | ||
next | BoardFilters | ||
first | BoardFilters | ||
last | BoardFilters |
BoardGetItemsLinks represents the parameters of Board.GetItems used to paginate items.
Field | Type | Label | Description |
---|---|---|---|
previous | BoardsIDWithPagination | ||
next | BoardsIDWithPagination | ||
first | BoardsIDWithPagination | ||
last | BoardsIDWithPagination |
BoardLabelsRequest allows AddLabels and RemoveLabels
BoardLabelsResponse notify which sn were successfull and which weren’t.
Field | Type | Label | Description |
---|---|---|---|
status | BoardLabelsResponse.Status | repeated |
Field | Type | Label | Description |
---|---|---|---|
sn | string | ||
status | BoardLabelsResponse.RequestStatus | ||
message | string | optional error message |
BoardMqttURL contains an URL.
Field | Type | Label | Description |
---|---|---|---|
sn | string | board serial number | |
url | string | URL of the MQTT broker, ex: mqtt://192.168.1.2:1883 |
|
ignore_server_tls_verification | bool | the board does not verify the broker certificate, default false, used only with mqtts, unavailable with mqtt module v1 | |
qos | QoSLevel | MQTT’s QoS, unavailable with mqtt module v1 | |
username | string | username of the board to connect to the MQTT broker | |
pwd | string | pwd of the board to connect to the MQTT broker |
BoardPassword contains the one time password for the board AP (config mode).
Field | Type | Label | Description |
---|---|---|---|
sn | string | board serial number | |
ssid | string | board’s AP SSID | |
password | string | one time password for AP |
BoardRFType contains the RF type to use for the board targeted.
BoardScan contains the board to target with an option for scan.
Field | Type | Label | Description |
---|---|---|---|
sn | string | board serial number | |
not_full | bool | default false i.e send all items positions, else send different items positions from last scan |
BoardUpdate represents board information available to update.
Field | Type | Label | Description |
---|---|---|---|
sn | string | board serial number targeted | |
dimensions_mm | OpIntArray | dimensions modification complete parameter update (field is an array of int, 2 or 3) | |
margins_mm | OpIntArray | margins modification complete parameter update (field is an array of int, 2 ) | |
no_geoloc | OpBool | bool no_geoloc request (no field, use CLEAR/SET as false/true) |
BoardWifiCred contains wifi credentials and a board to target.
Field | Type | Label | Description |
---|---|---|---|
sn | string | board serial number | |
ssid | string | new ssid of the wifi | |
pwd | string | new password of the wifi |
BoardsData contains a list (subset) of BoardData plus the total count of boards matching.
Field | Type | Label | Description |
---|---|---|---|
boards | BoardData | repeated | list of size (of BoardsPagination) boards |
count | uint64 | total of boards matching the request | |
nb_pages | uint32 | total of pages (count / size) | |
links | BoardGetAllLinks | links necessary to navigate over the pages |
BoardsIDWithPagination contains boards targeted and pagination information.
Field | Type | Label | Description |
---|---|---|---|
sns | string | repeated | boards targeted |
page | ItemsPagination | data necessary to paginate results |
BoardsItems contains a list (subset) of ItemOnBoardData plus the total count of items matching.
Field | Type | Label | Description |
---|---|---|---|
items | ItemOnBoardData | repeated | list of size (of ItemsPagination) items |
count | uint64 | total of items matching the request, use nb_pages instead |
|
nb_pages | uint32 | total of pages (count / size) | |
links | BoardGetItemsLinks | links necessary to navigate over the pages |
BoardsPagination represents the data necessary to paginate boards.
Field | Type | Label | Description |
---|---|---|---|
start | uint64 | offset from returning results (ex: 15 results, returns from 10), default 0, use page instead |
|
size | uint32 | number of results to return, default 25 | |
sort | BoardAttr | ||
is_descending | bool | default false | |
page | uint32 | page offset (ex: 15 results with a size of 10, page = 1 to get from 10 to 15), default 1, override start |
ItemOnBoardData represents essential information about an item on a board.
Field | Type | Label | Description |
---|---|---|---|
uid | string | item’s itendifier | |
status | ItemStatus | ||
pos_mm | int32 | repeated | position in millimeter of the item - can be null |
board_sn | string | last board where the item has been detected | |
last_momentum | google.protobuf.Timestamp | date of the item’s last move | |
nb_hits | uint32 | number of times where the items has been taken in hand | |
hold_time | google.protobuf.Duration | time during the item has been hold in hand, divide it by nb_hits to have an average | |
fill_ratio | float | ratio of product filling (-1 if no information is available) | |
product_reference | string | product reference linked to the item | |
item_labels | string | repeated | item’s labels |
Item is the service used to manage items.
Method Name | Request Type | Response Type | Description |
---|---|---|---|
Create | ItemCreation | .google.protobuf.Empty | Create creates an item. |
Read | ItemID | ItemData | [deprecated] Use Get() method instead. |
Get | ItemID | ItemData | Get returns the data related to an item. |
GetAll | ItemFilters | ItemsData | GetAll returns all items corresponding to the filters, without inventory data. |
Delete | ItemID | .google.protobuf.Empty | Delete deletes an item. |
SetURL | URLFilters | Progress stream | SetURL sets an URL for all items corresponding to the filters. |
AddLabels | LabelsRequest | .google.protobuf.Empty | AddLabels adds labels for a set of UIDs. |
RemoveLabels | LabelsRequest | .google.protobuf.Empty | RemoveLabels removes labels for a set of UIDs. |
ClearLabels | ItemIDs | .google.protobuf.Empty | ClearLabels removes all the labels for a set of UIDs. |
ItemCreation represents the initial data necessary to create an item.
ItemFilter represents the data defining a filter for items.
Field | Type | Label | Description |
---|---|---|---|
type | ItemAttr | defined in common.proto | |
date | google.protobuf.Timestamp | ||
text | string | ||
item_status | ItemStatus | ||
label_expression | string | logical expression, based on centiloc stringtokenizer format for labels |
ItemFilters contains a list of ItemFilter and pagination information.
Field | Type | Label | Description |
---|---|---|---|
filters | ItemFilter | repeated | |
page | ItemsPagination | defined in common.proto |
ItemGetAllLinks represents the parameters of Item.GetAll used to paginate items.
Field | Type | Label | Description |
---|---|---|---|
previous | ItemFilters | ||
next | ItemFilters | ||
first | ItemFilters | ||
last | ItemFilters |
ItemID represents the identifier of an item.
Field | Type | Label | Description |
---|---|---|---|
uid | string | item’s identifier |
ItemIDs allows ClearLabels
Field | Type | Label | Description |
---|---|---|---|
uids | string | repeated |
ItemsData contains a list (subset) of ItemData plus the total count of items matching.
Field | Type | Label | Description |
---|---|---|---|
items | ItemData | repeated | list of size (of ItemsPagination) items |
count | uint64 | total of items matching the request | |
nb_pages | uint32 | total of pages (count / size) | |
links | ItemGetAllLinks | links necessary to navigate over the pages |
LabelsRequest allows AddLabels and RemoveLabels
Progress contains progression information.
Field | Type | Label | Description |
---|---|---|---|
progress_percentage | int32 | inform about the operation progression in percentage |
URLFilters contains a ItemFilters and an URL.
Field | Type | Label | Description |
---|---|---|---|
selected_items | ItemFilter | repeated | items to update (matching filters) |
url | string | URL to set |
Action defines what kind of Operation is permitted.
Name | Number | Description |
---|---|---|
UNCHANGED | 0 | nothing to do with this request, please omit |
CLEAR | 1 | usually clear a data, can be specified differently per attribute (bool for instance =false) |
SET | 2 | ask to update the data, usually need field parameter of Operation message except for boolean |
BoardStatus represents all status of a board.
Name | Number | Description |
---|---|---|
CONNECTED | 0 | |
DISCONNECTED | 1 | |
ON_ERROR | 2 | |
MAINTENANCE | 3 |
ItemAttr represents each field available to filter/sort items.
Name | Number | Description |
---|---|---|
MOMENTUM | 0 | (date ) in case of filtering, only items that moved after this momentum are returned |
UID | 1 | (text ) item/tag’s UID |
ITEMSTATUS | 2 | (item_status ) see ItemStatus |
BOARDSN | 3 | (text ) board’s serial number where is an item |
LABEL_EXPRESSION | 4 | (label_expression ) logical expression using labels - useless attribute |
ItemStatus represents each possible state of an item.
Name | Number | Description |
---|---|---|
NEW | 0 | default value after item user creation |
IN | 1 | item is present on a board |
OUT | 2 | item is absent from any board |
DELETED | 3 | item reference has been deleted |
ERROR | 4 | something is wrong with the item references |
Name | Number | Description |
---|---|---|
OK | 0 | command succeed |
BOARD_TIMEOUT | 1 | timeout reached, board did not answer |
BOARD_KO | 2 | board’s command failed |
BOARD_DISCONNECTED | 5 | board is disconnected, cannot send a request |
BOARD_BUSY | 6 | board is busy, wait and retry |
GW_TIMEOUT | 7 | timeout reached, gateway did not answer |
GW_KO | 8 | gateway’s command failed |
GW_DISCONNECTED | 9 | gateway is disconnected, cannot send a request |
GW_BUSY | 10 | gateway is busy, wait and retry |
GW_NEED_RESET | 11 | data is inconsistent, need to reset the gateway |
FAILED_BUT_RETRY | 3 | command failed with unknown error, retry |
BOARD_NOT_AVAILABLE | 4 | board is suspicious or mute ⚠️ NOT IMPLEMENTED |
BoardData represents all the information about a board.
Field | Type | Label | Description |
---|---|---|---|
sn | string | board serial number | |
fw_version | string | name and version of the firmware embedded | |
status | BoardStatus | connected or not | |
last_connection | google.protobuf.Timestamp | date of the board last connection | |
last_disconnection | google.protobuf.Timestamp | date of the board last disconnection | |
last_event | google.protobuf.Timestamp | last item’s move detected by a board | |
dimensions_mm | int32 | repeated | dimensions of the board (can be nil) |
margins_mm | int32 | repeated | tolerance for item move, should be in the datasheet (can be nil) |
no_geoloc | bool | when true, items are detected but without position | |
gw_id | GwID | if connected via gateway, gateway identifier is set, otherwise nil | |
last_error_date | google.protobuf.Timestamp | date of the board last error | |
board_labels | string | repeated | board labels… |
BoardID represents the identifier of a board.
Field | Type | Label | Description |
---|---|---|---|
sn | string | board serial number targeted |
More board ids…
Field | Type | Label | Description |
---|---|---|---|
sns | string | repeated | board serial number targeted |
GwID represents the identifier of a gateway.
Field | Type | Label | Description |
---|---|---|---|
sn | string | gateway serial number | |
type | string | gateway type (ex: cloudgate) |
ItemData represents all the information about an item.
Field | Type | Label | Description |
---|---|---|---|
uid | string | item’s itendifier | |
status | ItemStatus | ||
pos_mm | int32 | repeated | position in millimeter of the item - can be null |
board_sn | string | last board where the item has been detected | |
last_momentum | google.protobuf.Timestamp | date of the item’s last move | |
nb_hits | uint32 | number of times where the items has been taken in hand | |
hold_time | google.protobuf.Duration | time during the item has been hold in hand, divide it by nb_hits to have an average | |
fill_ratio | float | ratio of product filling (-1 if no information is available) | |
url | string | URL to redirect on tap (this data is only returned in case of Get, or GetAll. Always empty in case of GetAllWithInventory) | |
labels | string | repeated | attributes from item definition |
pos_on_shelf_mm | int32 | repeated | position on the shelf (if on a shelf) |
pos_on_floor_mm | int32 | repeated | position on a floor of a furniture (if on a furniture) |
location_ref | string | if position is in a location, location ref | |
location_labels | string | repeated | location labels (if there is a location) |
furniture_sn | string | furniture sn if on a furniture | |
shelf_sn | string | shelf sn if on a shelf | |
floor | int32 | floor position of the shelf on a furniture | |
product_ref | string | product reference | |
product_url | string | ||
product_model_url | string |
ItemsPagination represents the data necessary to paginate items.
Field | Type | Label | Description |
---|---|---|---|
start | uint64 | offset from returning results (ex: 15 results, returns from 10), default 0, use page instead |
|
size | uint32 | number of results to return, default 25 | |
sort | ItemAttr | default MOMENTUM | |
is_descending | bool | default false | |
page | uint32 | page offset (ex: 15 results with a size of 10, page = 1 to get from 10 to 15), default 1, override start |
OpBool contains boolean information to request (or not) a modification of a data attribute.
OpDate contains date information to request (or not) a modification of a data attribute.
Field | Type | Label | Description |
---|---|---|---|
op | Action | ||
value | google.protobuf.Timestamp |
OpIntArray contains int array information to request (or not) a modification of a data attribute.
OpString contains string information to request (or not) a modification of a data attribute.
RequestStatus represents the return of a board after a request.
The following messages can be returned :
OK
- Command succeed
- No content
KO
- Request not implemented
- Bad request
- Tag not found
- Request’s input too large
- Internal server error
- Unsupported format
- Forbidden
Field | Type | Label | Description |
---|---|---|---|
code | RequestStatus.Code | code identifying the board state | |
message | string | description of the board state |