Geolocation - TakayukiHoshi1984/DeviceConnect-Spec GitHub Wiki

概要

スマートデバイスの位置情報機能を提供するAPI。

目次

API 概要
GET /gotapi/geolocation/currentPosition 該当デバイスの現在の位置情報を取得する。
GET /gotapi/geolocation/onWatchPosition 該当デバイスの位置情報定期通知イベントを取得する。
PUT /gotapi/geolocation/onWatchPosition 該当デバイスの位置情報定期通知イベントを開始する。
DELETE /gotapi/geolocation/onWatchPosition 該当デバイスの位置情報定期通知イベントを停止する。

種別

one-shot

概要

該当デバイスの現在の位置情報を取得する。

現在位置が取得できない場合は、取得するまでリクエストを待たせる。 以前の位置情報を返しても良い場合は、GET /geolocation/onWatchPositionを使用すること。

リクエスト

物理名 データ型 必須 説明
serviceId string Yes サービスID。取得対象スマートデバイス
highAccuracy boolean No 測位精度設定。
true : 高精度
false : 通常精度
省略時はfalse
maximumAge double No 位置情報有効時間(ミリ秒単位)省略時は0mSec
※前回呼び出し時から該当時間以上経過していた場合に最新の位置情報を返す。
それ以外は前回と同じ位置情報を返す。

レスポンス

論理名 物理名 データ型 必須 説明
処理結果 result integer Yes 0:正常応答
0以外:異常応答
システム名 product string Yes DeviceConnectシステムの名前。
システムバージョン version string Yes DeviceConnectシステムのバージョン名。
署名 hmac string No レスポンスに対する署名。
アプリケーション側から事前にHMACキーを共有されていた場合は必須。
位置情報 position object Yes
座標 coordinates object Yes 座標のオブジェクト
緯度 latitude float No -180~180
単位:degree
経度 longitude float No -90~90
単位:degree
高度 altitude float No 単位:m
緯度・経度の誤差 accuracy float No 単位:m
高度の誤差 altitudeAccuracy float No 単位:m
方角 heading float No 0~359
単位:degree
真北に対して右回りで 0 ≦ heading < 360
速度 speed float No 単位:m/Sec
測位時刻 timeStamp float Yes エポックからのミリ秒
測位時刻 (文字列) timeStampString dateTime Yes 測位時刻を文字列表記
RFC3339「yyyy-MM-dd''T''HH:mm:ssZZZZZ」の形式

レスポンスサンプル

{
  "result" : 0,
  "product" : "Example System",
  "version" : "1.0.0",
  "position" : {
    "coordinates" : {
      "latitude" : 37.52104948,
      "longitude" : 139.93875834,
      "altitude" : 285,
      "accuracy" : 31,
      "altitudeAccuracy" : 15,
      "heading" : 0,
      "speed" : 0
    },
    "timeStamp" : 1483241696789,
    "timeStampString" : "2015-05-17T10:02:20+09:00"
  }
}

種別

one-shot

概要

該当デバイスの位置情報定期通知イベントを取得する。

現在の位置情報の取得ができない場合は、以前取得した位置情報を返しても良い。 以前の位置情報も取得できなかった場合はエラーを返す。

リクエスト

物理名 データ型 必須 説明
serviceId string Yes サービスID。取得対象スマートデバイス
highAccuracy boolean No 測位精度設定。
true : 高精度
false : 通常精度
省略時はfalse
interval double No デバイスプラグインがイベントを送信する間隔。

レスポンス

論理名 物理名 データ型 必須 説明
処理結果 result integer Yes 0:正常応答
0以外:異常応答
システム名 product string Yes DeviceConnectシステムの名前。
システムバージョン version string Yes DeviceConnectシステムのバージョン名。
署名 hmac string No レスポンスに対する署名。
アプリケーション側から事前にHMACキーを共有されていた場合は必須。
位置情報 position object Yes
座標 coordinates object Yes 座標のオブジェクト
緯度 latitude float No -180~180
単位:degree
経度 longitude float No -90~90
単位:degree
高度 altitude float No 単位:m
緯度・経度の誤差 accuracy float No 単位:m
高度の誤差 altitudeAccuracy float No 単位:m
方角 heading float No 0~359
単位:degree
真北に対して右回りで 0 ≦ heading < 360
速度 speed float No 単位:m/Sec
測位時刻 timeStamp float Yes エポックからのミリ秒
測位時刻 (文字列) timeStampString dateTime Yes 測位時刻を文字列表記
RFC3339「yyyy-MM-dd''T''HH:mm:ssZZZZZ」の形式

レスポンスサンプル

{
  "result" : 0,
  "product" : "Example System",
  "version" : "1.0.0",
  "position" : {
    "coordinates" : {
      "latitude" : 37.52104948,
      "longitude" : 139.93875834,
      "altitude" : 285,
      "accuracy" : 31,
      "altitudeAccuracy" : 15,
      "heading" : 0,
      "speed" : 0
    },
    "timeStamp" : 1483241696789,
    "timeStampString" : "2015-05-17T10:02:20+09:00"
  }
}

種別

event

概要

該当デバイスの位置情報定期通知イベントを開始する。

該当デバイスでサポートしていないパラメータがある場合には、 そのパラメータを省略する。

リクエスト

物理名 データ型 必須 説明
serviceId string Yes サービスID。取得対象スマートデバイス
highAccuracy boolean No 測位精度設定。
true : 高精度
false : 通常精度
省略時はfalse
interval double No デバイスプラグインがイベントを送信する間隔。

レスポンス

論理名 物理名 データ型 必須 説明
処理結果 result integer Yes 0:正常応答
0以外:異常応答
システム名 product string Yes DeviceConnectシステムの名前。
システムバージョン version string Yes DeviceConnectシステムのバージョン名。
署名 hmac string No レスポンスに対する署名。
アプリケーション側から事前にHMACキーを共有されていた場合は必須。

レスポンスサンプル

{
  "result" : 0,
  "product" : "Example System",
  "version" : "1.0.0"
}

イベント

論理名 物理名 データ型 必須 説明
サービスID serviceId string Yes イベントを送信したサービスのID
プロファイル名 profile string Yes プロファイル名。
インターフェース名 interface string Yes インターフェース名。
アトリビュート名 attribute string Yes アトリビュート名。
位置情報 position object Yes
座標 coordinates object Yes 座標のオブジェクト
緯度 latitude float No -180~180
単位:degree
経度 longitude float No -90~90
単位:degree
高度 altitude float No 単位:m
緯度・経度の誤差 accuracy float No 単位:m
高度の誤差 altitudeAccuracy float No 単位:m
方角 heading float No 0~359
単位:degree
真北に対して右回りで 0 ≦ heading < 360
速度 speed float No 単位:m/Sec
測位時刻 timeStamp float Yes エポックからのミリ秒
測位時刻 (文字列) timeStampString dateTime Yes 測位時刻を文字列表記
RFC3339「yyyy-MM-dd''T''HH:mm:ssZZZZZ」の形式

イベントサンプル

{
  "serviceId" : "Host.exampleId.localhost.deviceconnect.org",
  "profile" : "geolocation",
  "attribute" : "onwatchposition",
  "position" : {
    "coordinates" : {
      "latitude" : 37.52104948,
      "longitude" : 139.93875834,
      "altitude" : 285,
      "accuracy" : 31,
      "altitudeAccuracy" : 15,
      "heading" : 0,
      "speed" : 0
    },
    "timeStamp" : 1483241696789,
    "timeStampString" : "2015-05-17T10:02:20+09:00"
  }
}

種別

event

概要

該当デバイスの位置情報定期通知イベントを停止する。

該当デバイスでサポートしていないパラメータがある場合には、 そのパラメータを省略する。

リクエスト

物理名 データ型 必須 説明
serviceId string Yes サービスID。取得対象スマートデバイス

レスポンス

論理名 物理名 データ型 必須 説明
処理結果 result integer Yes 0:正常応答
0以外:異常応答
システム名 product string Yes DeviceConnectシステムの名前。
システムバージョン version string Yes DeviceConnectシステムのバージョン名。
署名 hmac string No レスポンスに対する署名。
アプリケーション側から事前にHMACキーを共有されていた場合は必須。

レスポンスサンプル

{
  "result" : 0,
  "product" : "Example System",
  "version" : "1.0.0"
}
⚠️ **GitHub.com Fallback** ⚠️