データフォーマット

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

[更新: 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秒後にリミット解除