KuraPayload defines the recommended payload structure for the messages sent to a remote cloud platform.
It was defined as an open format that is flexible from the aspect of data modeling
yet is efficient when it comes to bandwidth conservation. The same payload model could be used by the REST API
- in which case it is serialized into XML or JSON as requested by the client - or uses the efficient
Google ProtoBuf when sent over an MQTT connection when the bandwidth is very important.
The KuraPayload contains the following fields: sentOn timestamp, an optional set of metrics represented as
name-value pairs, an optional position field to capture a GPS position, and an optional binary body.
- sentOn: it is the timestamp when the data was captured and sent to the remote cloud platform.
- metrics: a metric is a data structure composed of the name, a value, and the type of the value.
When used with the REST API valid metric types are: string, double, int, float, long, boolean, base64Binary.
Each payload can have zero or more metrics.
- position: it is an optional field used to capture a geo position associated to this payload.
- body: it is an optional part of the payload that allows additional information to be transmitted in any format
determined by the user.