注意

本ページの内容はβテスト時点での提供内容であり内容が古い可能性があります。
最新情報を確認する場合は正式版マニュアルページをご確認ください。

データフォーマット

「さくらのモノプラットフォーム」で提供されるデータフォーマットについて説明します。

注意

本ページの内容はβテスト時点での提供内容であり、変更される可能性があります。

[更新: 2022年3月24日]

時刻関連のデータ型が変更されておりますので、本マニュアルも対応いたしました。

データフォーマットの全体像

1. データの構成

さくらのモノプラットフォームでは、サービスアダプタとアプリケーション間で以下のデータフォーマットを使ってやりとりが行われます。 なお、アプリケーションに送られるデータはJSON形式であり、エンコード方式はUTF-8です。

さくらのモノプラットフォームのデータフォーマット(値は仮のものです)

{
    "id": "7addc9d0-f2cc-4d0e-b01f-d953dd1c5317",
    "device_id": "1234567890",
    "timestamp_src": "2022-03-24T00:00:00.000Z",
    "timestamp_platform_from_src": "2022-03-24T00:00:00.000Z",
    "timestamp_platform_to_dst": "2022-03-24T00:00:00.000Z",
    "type": "object",
    "payload": [
        {
            "type": "float32",
            "tag": "00",
            "value": 20.5
        },
        {
            "type": "uint8",
            "tag": "ff",
            "value": 60
        }
    ]
}
さくらのモノプラットフォームデータ項目
フィールド名 意味
id string デバイスから転送された一連のデータに対して付与される一意の転送ID(UUID)です。
このIDはデバイス側にも通知されます。
device_id string 送信元を一意に識別するためのIDです。
timestamp_src string デバイスからデータ送信時のデバイス側の時刻です。
RFC 3339 (ISO 8601)に準拠した文字列形式(ミリ秒精度)なので、PHPやJavaScript等の各種言語で簡単に読み込めます。
デバイス側で時刻を指定しなかった場合は 「1970-01-01T00:00:00.000Z」 が入ります。
現在のところ、お客様側でタイムゾーンの指定はできません。
timestamp_platform_from_src string デバイスから送信されたデータをモノプラットフォームが受信した時点のプラットフォーム側の時刻です。
RFC 3339 に準拠した文字列形式(ミリ秒精度)です。 現在のところ、お客様側でタイムゾーンの指定はできません。
timestamp_platform_to_dst string モノプラットフォームからアプリケーション側に向けてデータが送信された時点のプラットフォーム側の時刻です。
RFC 3339 に準拠した文字列形式(ミリ秒精度)です。 現在のところ、お客様側でタイムゾーンの指定はできません。
type string データの種類を表す文字列です。詳細は別表を参照ください。
payload Array デバイスから送信されたデータ(バイナリ表現)の解析結果が入った配列です。
payload[].type string データの形式を表す文字列です。詳細は別表を参照ください。
payload[].tag string データの種類を表す文字列表現です。
現時点ではデバイスから送信されたタグの数値(1オクテット)を16進文字列にしたものです。
payload[].value データの値です。typeによって型が異なります。
さくらのモノプラットフォームtype詳細
type 意味
object デバイスから送られたデータ
keepalive 接続維持のためにWebSocketサーバから定期的に送られるデータ(読み捨てても問題ありません)
さくらのモノプラットフォーム payload[].type詳細
type valueの型 意味
uint8 number 8ビット符号なし整数
int8 number 8ビット符号つき整数
uint16 number 16ビット符号なし整数
int16 number 16ビット符号つき整数
uint32 number 32ビット符号なし整数
int32 number 32ビット符号つき整数
uint64 number 64ビット符号なし整数
int64 number 64ビット符号つき整数
float32 number 32ビット浮動小数点数(IEEE754 単精度)
float64 number 64ビット浮動小数点数(IEEE754 倍精度)
binary string 可変長オクテット列
(デバイスから受け取ったオクテット列をBase64でエンコードした文字列)
string.utf8 string 可変長文字列
(デバイスから受け取ったオクテット列をUTF-8でデコードした文字列)