Skip to content

Event Profile

Ryo Mizuno edited this page Nov 2, 2016 · 3 revisions

目次

API 機能概要
Event API 各Device Connect RESTful APIのイベントで使用されるフレームワークを定義する。
Event Register API Device Connect RESTful APIの各イベントのコールバックをDevice Connect Managerに登録する。
Event Unregister API Device Connect RESTful APIの各イベントのコールバックをDevice Connect Managerから解除する。

機能概要

各Device Connect RESTful APIに存在するイベントAPIで使用されるフレームワークを定義する。 本APIはイベント系APIの共通機能を定義する抽象APIである。プロファイル・インターフェース・アトリビュート・メッセージなどの各API固有パラメータの値は、そのAPIのシートを参照すること。

参考API

なし

インターフェース名称 Version 種別
Event API 2.0.0 非同期I/F(イベントI/F)

概要

Device Connect RESTful APIのイベントAPIの基底となるフレームワーク。 種別が非同期I/F(イベントI/F)になっているすべてのAPI基底になっているために、ここに記載されているパラメータは派生したすべてのイベントAPIが持つ事になる。 また、各イベントAPIでは、個別に異なるパラメータを持つために、メッセージというオブジェクトに各イベントの固有のパラメータを格納することとする。 固有のパラメータは派生した各イベントAPIのシートを参照すること。

メッセージ

論理名 物理名 データ型 省略 設定値
サービスID serviceId string - 取得対象デバイス
プロファイル profile string - プロファイル名
インターフェース interface string - インターフェース名
アトリビュート attribute string - アトリビュート名
セッションID sessionKey string - イベントセッションID
メッセージ - Object - メッセージには各Device Connect RESTful APIのイベントAPIで定義されたオブジェクト名が物理名として用意される。例えば、バッテリーのイベントであれば、ここにはbatteryというオブジェクト(object)が入る。

メッセージサンプル

{
    "product":"Device Connect Manager",
    "version":"x.x",
    "serviceId":  "device1.localhost.deviceconnect.org",
	"api" : "gotapi",
    "profile" : "deviceOrientation",
    "callback" : "onDeviceOrientation",
    "sessionKey" : "xxxx",
    "orientation" : {
        "acceleration": {
            "x": 0.1,
            "y": 0.1,
            "z": 0
        },
        "accelerationIncludingGravity": {
            "x": 0.1,
            "y": -0.9,
            "z": 0
        },
        "rotationRate": {
            "alpha": 1,
            "beta": 2,
            "gamma": 0
        },
        "interval": 100
    }
}

インターフェース名称 Version 種別
Event Register API 2.0.0 同期I/F

概要

Device Connect RESTful APIの各イベントのコールバックをDevice Connect Managerに登録する。 各イベントのコールバックをDevice Connect Managerに登録するには、種別が非同期I/F(イベントI/F)となっているAPIのイベント名に対してPUT操作を行うこととする。 Messageで指定したイベントのコールバックが登録されることで、登録先のDevice Connect Managerから登録元のイベントプラグインもしくは周辺機器へのイベント配送を開始する。

リクエスト

HTTPメソッド URI
PUT [各Device Connect RESTful APIのイベントAPIのパス]
論理名 物理名 データ型 省略 設定値
サービスID serviceId string - 取得対象デバイス
セッションID sessionKey string - イベントセッションID

レスポンス

Content-Type 形式 HTTPステータス
application/json JSON 200
論理名 物理名 データ型 省略 設定値
処理結果 result number - 0:正常応答
0以外:異常応答

リクエストサンプル

PUT http://localhost:4035/gotapi/deviceOrientation/onDeviceOrientation					
PUTデータ
serviceId=localhost.deviceconnect.org&sessionKey=0a93ac0aade4e046ed63eb24d1172f5f35c88ca60daa901547c28d5827cb418a5de1d7c5f9e62405&accessToken=xxxxx

レスポンスサンプル

{
    "product":"Device Connect Manager",
    "version":"x.x",
    "result": 0
}
インターフェース名称 Version 種別
Event Unregister API 2.0.0 同期I/F

概要

Device Connect RESTful APIの各イベントのコールバックをDevice Connect Managerから解除する。 各イベントのコールバックをDevice Connect Managerに解除するには、種別が非同期I/F(イベントI/F)となっているAPIのイベント名に対してDELETE操作を行うこととする。 Messageで指定したイベントのコールバックが解除されることで、登録先のDevice Connect Managerから登録元のイベントプラグインもしくは周辺機器へのイベント配送を停止する。

リクエスト

HTTPメソッド URI
DELETE [各Device Connect RESTful APIのイベントAPIのパス]
論理名 物理名 データ型 省略 設定値
サービスID serviceId string - 取得対象デバイス
セッションID sessionKey string - イベントセッションID

レスポンス

Content-Type 形式 HTTPステータス
application/json JSON 200
論理名 物理名 データ型 省略 設定値
処理結果 result number - 0:正常応答
0以外:異常応答

リクエストサンプル

DELETE http://localhost:4035/gotapi/deviceOrientation/onDeviceOrientation?serviceId=localhost.deviceconnect.org&sessionKey=0a93ac0aade4e046ed63eb24d1172f5f35c88ca60daa901547c28d5827cb418a5de1d7c5f9e62405&accessToken=xxxxx					

レスポンスサンプル

{
    "product":"Device Connect Manager",
    "version":"x.x",
    "result": 0
}
Clone this wiki locally