データフォーマット

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

[更新: 2022年10月06日]

Payload詳細について

上り、下りのデータ形式を表す文字列で以下を示します。

さくらのモノプラットフォーム 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

可変長文字列
(UTF8文字列)

下り通信のレスポンスについて(クラウドアプリケーションからプラットフォーム)

クラウドアプリケーションからプラットフォームに対する通信のレスポンスについて記載します。 正常に送信できた場合、下記のようなレスポンスが返ってきます

{
    "device_id": "1234567890",
    "type": "notify",
    "id": "abcdef12-3456-abcd-1234-abcde1234567"
}
さくらのモノプラットフォーム レスポンス詳細

device_id

string

デバイスID

type

string

レスポンスタイプ

id

string

メッセージに対するuuid

クラウドアプリケーションからのフォーマットが間違っている場合、 メッセージフォーマットの誤りが通知され、プラットフォームはメッセージの受信を行いません 以下にレスポンスエラーの例を示します。

{
     "type": "error",
     "timestamp": "2022-01-01T00:00:00.000Z",
     "payload": {
          "error": "Validation Error",
          "detail": "Validation Error: invalid type \"string.utf\".\nPlease set correct type (ex. \"uint8\")."
     }
}
さくらのモノプラットフォーム レスポンスエラー詳細

フィールド名

意味

type

string

メッセージの型

timestamp

string

プラットフォーム返信時刻

payload[].error

string

エラータイプ

payload[].detail

string

エラー詳細

現状実装している レスポンスエラー 一覧は以下です。

さくらのモノプラットフォーム レスポンスエラー 一覧

payload[].detail

原因と対策

message unmarshall failed, please set correct json value

メッセージの解釈に失敗しました。
メッセージフォーマットを確認してください。

timestamp_src error, please set correct RFC3339 format (got "2022-01-01")

timestamp の解釈に失敗しました。
RFC3339 のフォーマットに従って時刻をセットしてください。(上記数値はサンプルです

payload unmarshall failed, please set correct json value

ペイロードの解釈に失敗しました。
ペイロードフォーマットを確認してください。

invalid type..."SAMPLE_TYPE". please set correct type..ex) uint8..uint16

SAMPLE_TYPEは不正なペイロードの型です。データフォーマットを確認し、
正しい型をセットしてください。

invalid encoded binary, please encode by base64

base64以外のバイナリフォーマットです。

this object has No Tag

メッセージにタグが含まれておりません。

invalid tag format...."SAMPLE_TAG" tag must be '00' ~ 'FF'

タグフォーマットが不正です。
'00' ~ 'FF' を指定してください。

下り通信のレートリミットについて(クラウドアプリケーションからプラットフォーム)

クラウドアプリケーションからプラットフォームに対しては、一定のリクエスト数を超えるとプラットフォームがメッセージの受信や接続を受け付けません。

さくらのモノプラットフォーム レートリミット一覧

コンポーネント

対象

間隔と実行動作

WebSocket

デバイスIDごと

30秒ごとに300回メッセージ送信時
初回送信時から30秒後にリミット解除

WebSocket

デバイスIDごと

30秒ごと10回アプリケーションからの接続要求時
初回接続時から30秒後にリミット解除

Incoming Webhook

デバイスIDごと

30秒ごとに300回メッセージ送信時
初回送信時から30秒後にリミット解除