Download OpenAPI specification:Download
このページでは、APIを利用してSmartDrive Platformのデータを参照・更新する方法について解説しています。
Note: このドキュメントは完全ではありません。随時更新していますが、実際の動作との乖離が見つかった場合は ご連絡ください。
全てのAPI呼び出しにはアプリケーショントークンによる認証が必要です。
リクエストの x-api-key
ヘッダに設定してご利用ください。
curl --request GET \
--url 'https://smartdrive-api.com/v1.0/devices/010009/locations?ts_from=2019-01-01T00:00:00Z&ts_to=2019-10-01T00:00:00Z' \
--header 'Content-Type: application/json' \
--header 'x-api-key: XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX' \
アプリケーショントークンは、別途お渡しします。
WIP
このAPIはjsonをやり取りするRestfulなAPIです。
PUT/POST/PATCH といった更新系のリクエストのContent-Typeには application/json
を指定してください。
このAPIはjsonをやり取りするRestfulなAPIです。
特別な注意書きがない限り、ほとんどのAPIのレスポンスはjsonとなります。
参照系のエンドポイントが /devices
のようなコレクションを指し示す場合は、レスポンスのdataはリソースの配列になります。
一度のレスポンスでデータが取得しきれない場合は paging プロパティに次の呼び出し時に使うカーソル情報が設定されます。
{
"meta": {
"http_status_code": 200,
"result": true
},
"paging": {
"next": "MTAxNTExOTQ1MjAwNzI5NDE="
},
"data": [
{
"code": "07144A",
"organization": {
"id": "ZrMa7d5WF6cpsV0ejp29",
"name": "SmartDrive"
}
}
]
}
/devices/{device_code}
や /devices/{device_code}/last_location
のようにリソース自体、もしくはリソースの
プロパティを指し示す場合は、レスポンスのdataはオブジェクトになります。
{
"meta": {
"http_status_code": 200,
"result": true
},
"data": {
"ts": "2014-06-02T23:02:34Z",
"lat": 35.658581,
"lng": 139.745433,
"speed": 6,
"h_accuracy": 10,
"v_accuracy": 30
}
}
削除・更新のエンドポイントの場合、レスポンスのdataは作成・更新されたオブジェクトになります。
{
"meta": {
"http_status_code": 200,
"result": true
},
"data": {
"id": "sV2Wcp9FZrMa7d56p0ej",
"organization": {
"id": "ZrMa7d5WF6cpsV0ejp29",
"name": "SmartDrive"
},
"name": "東京タワー",
"address": "東京都港区芝公園4丁目2−8",
"coordinates": {
"lat": 35.658581,
"lng": 139.745433
},
"radius": 100
}
}
削除のエンドポイントの場合、レスポンスのdataは存在しません。
{
"meta": {
"http_status_code": 200,
"result": true
}
}
リソース一覧を取得・検索するAPIのほとんどは、カーソルベースのページネーションが実装されています。
ページング可能なコレクションリソースにおいて、データ量が多く、一度のAPI呼び出しで全てのデータを 取得できないケースでは、レスポンスにpaging.nextというプロパティが設定されます。 次回のAPI呼び出し時にその値を設定することで、残りのデータを取得することができます。 未指定の場合は最初からの取得になります。
各データ型について、特別注釈のない場合の取りうる値は下記のとおりになります。
data type | 取りうる値 | 最大印字文字数 |
---|---|---|
float | [-3.4028234663852886e+38, 3.4028234663852886e+38] | 47 |
double | [-1.7976931348623157e+308, 1.7976931348623157e+308] | 317 |
boolean | true or false | 5 |
int32 | [-2147483648, 2147483647] | 11 |
int64 | [-9223372036854775808, 9223372036854775807] | 20 |
ディストリビューターに紐づけられたデバイスリストを取得します。 エンドユーザーによりアクティベーションが行われると、エンドユーザーの所属している組織がセットされます。
cursor | string リソース一覧を取得する際の取得開始位置を示すもので、一覧の途中からデータを抽出するために利用します。 ページング可能なコレクションリソースにおいて、データ量が多く、一度のAPI呼び出しで全てのデータを 取得できないケースでは、レスポンスにpaging.nextというプロパティが設定されます。 次回のAPI呼び出し時にその値を設定することで、残りのデータを取得することができます。 未指定の場合は最初から取得します。 |
limit | integer <int32> <= 100 Default: 50 一度に取得するリソース数(最大100) |
ids | string IDフィルタ。指定するとそのIDのリソースのみが取得できます。 IDをカンマ区切りで結合した文字列。一度に最大50件まで指定可能。 例) MwZLrkoAlr,2kO7DroQzP,mQkoA9opAg,eykoxz7RlE,meD7qjLXrd |
organization_id | string 組織IDフィルタ。指定するとその組織のリソースのみが取得できます。 |
OK
Bad Request
Unauthorized
Internal Server Error
{- "meta": {
- "http_status_code": 200,
- "result": true
}, - "paging": {
- "next": "MTAxNTExOTQ1MjAwNzI5NDE="
}, - "data": [
- {
- "code": "07144A",
- "organization": {
- "id": "ZrMa7d5WF6cpsV0ejp29",
- "name": "SmartDrive"
}
}
]
}
デバイスの最終位置情報(lat, lng)とそのデータがアップロードされたタイムスタンプを取得します。
device_code required | string 対象になるデバイス |
OK
{- "meta": {
- "http_status_code": 200,
- "result": true
}, - "data": {
- "ts": "2014-06-02T23:02:34Z",
- "lat": 35.658581,
- "lng": 139.745433,
- "speed": 6,
- "h_accuracy": 10,
- "v_accuracy": 30
}
}
クエリパラメーターで指定された時間範囲のデバイスの位置情報データ履歴を取得します。 ts_from, ts_toフィルタを利用する場合、期間が長いと応答が遅くなります。
device_code required | string 対象になるデバイス |
ts_from required | string <date-time> タイムスタンプフィルタ。 指定するとその時刻以降のリソースのみが取得できます。(指定値を含む) formatはrfc3339。 例) 2014-01-01T00:00:00Z |
ts_to required | string <date-time> タイムスタンプフィルタ。 指定するとその時刻以前のリソースのみが取得できます。(指定値を含む) formatはrfc3339。 ts_from よりも未来の日時である必要があります。 ts_from に指定する値から最大24時間まで未来の日時を指定できます。 例) 2014-02-01T00:00:00Z |
cursor | string リソース一覧を取得する際の取得開始位置を示すもので、一覧の途中からデータを抽出するために利用します。 ページング可能なコレクションリソースにおいて、データ量が多く、一度のAPI呼び出しで全てのデータを 取得できないケースでは、レスポンスにpaging.nextというプロパティが設定されます。 次回のAPI呼び出し時にその値を設定することで、残りのデータを取得することができます。 未指定の場合は最初から取得します。 |
limit | integer <int32> <= 3600 Default: 300 一度に取得するリソース数(最大3600) |
OK
{- "meta": {
- "http_status_code": 200,
- "result": true
}, - "paging": {
- "next": "MTAxNTExOTQ1MjAwNzI5NDE="
}, - "data": [
- {
- "ts": "2014-06-02T23:02:34Z",
- "lat": 35.658581,
- "lng": 139.745433,
- "speed": 6,
- "h_accuracy": 10,
- "v_accuracy": 30
}
]
}
デバイス郡の最終位置情報(lat, lng)とそのデータがアップロードされたタイムスタンプを取得します。
device_codes required | Array of strings 取得対象になるデバイスコードのリスト。
カンマ区切り。
例)
|
OK
{- "meta": {
- "http_status_code": 200,
- "result": true
}, - "data": [
- {
- "device_code": "07144A",
- "last_location": {
- "ts": "2014-06-02T23:02:34Z",
- "lat": 35.658581,
- "lng": 139.745433,
- "speed": 6,
- "h_accuracy": 10,
- "v_accuracy": 30
}
}
]
}
走行一覧を取得します。 走行の終了時間昇順で取得されます。
organization_id required | string 組織IDフィルタ。指定するとその組織のリソースのみが取得できます。 |
ts_from required | string <date-time> タイムスタンプフィルタ。 指定するとその時刻以降のリソースのみが取得できます。(指定値を含む) formatはrfc3339。 例) 2014-01-01T00:00:00Z |
ts_to required | string <date-time> タイムスタンプフィルタ。 指定するとその時刻以前のリソースのみが取得できます。(指定値を含む) formatはrfc3339。 例) 2014-02-01T00:00:00Z |
cursor | string リソース一覧を取得する際の取得開始位置を示すもので、一覧の途中からデータを抽出するために利用します。 ページング可能なコレクションリソースにおいて、データ量が多く、一度のAPI呼び出しで全てのデータを 取得できないケースでは、レスポンスにpaging.nextというプロパティが設定されます。 次回のAPI呼び出し時にその値を設定することで、残りのデータを取得することができます。 未指定の場合は最初から取得します。 |
limit | integer <int32> <= 100 Default: 50 一度に取得するリソース数(最大100) |
OK
{- "meta": {
- "http_status_code": 200,
- "result": true
}, - "paging": {
- "next": "MTAxNTExOTQ1MjAwNzI5NDE="
}, - "data": [
- {
- "id": "5d08b840-6168-4229-b29b-5e593d357d9f",
- "device": {
- "code": "07144A"
}, - "started_at": "2016-10-06T03:52:27.345Z",
- "ended_at": "2016-10-06T04:31:15.112Z",
- "distance": 900
}
]
}