# LINE Things APIリファレンス
# LINE Things API
技術的な問題があり、iOS版LINEでは、LINE Thingsの提供を一時停止しています。
# デバイスIDを指定して、プロダクトIDとPSDIを取得する
デバイスIDを指定して、プロダクトIDとPSDIを取得します。デバイス連携イベントやデバイス連携解除イベントで取得したデバイスIDから、プロダクトIDとPSDIを取得するときに使います。
デバイスID、プロダクトID、PSDIについては、「IDについて」を参照してください。
# HTTPリクエスト
GET https://api.line.me/things/v1/devices/{deviceId}
# リクエストヘッダー
Authorization
Bearer {channel access token}
# パスパラメータ
deviceId
デバイスID
# レスポンス
ステータスコード200
と以下のプロパティを含むJSONオブジェクトを返します。
id
String
デバイスID
productId
String
プロダクトID
productSpecificDeviceId
String
PSDI
# エラーレスポンス
以下のいずれかのステータスコードを返します。
ステータスコード | 説明 |
---|---|
401 | 認証に失敗しました。 |
404 | 以下のどちらかです。
|
# プロダクトIDとユーザーIDを指定して、デバイスの情報を取得する
# HTTPリクエスト
GET https://api.line.me/things/v1/products/{productId}/users/{userId}/links
# リクエストヘッダー
Authorization
Bearer {channel access token}
# パスパラメータ
productId
プロダクトID
userId
ユーザーID。ユーザーIDの値は、U[0-9a-f]{32}の正規表現にマッチする文字列です。
# レスポンス
ステータスコード200
と以下のプロパティを含むJSONオブジェクトを返します。
items[].userId
String
ユーザーID
ユーザーIDの値は、U[0-9a-f]{32}の正規表現にマッチする文字列です。
items[].device.id
String
デバイスID
items[].device.productId
String
プロダクトID
items[].device.productSpecificDeviceId
String
PSDI
items[].deviceDisplayName
String
プロダクト名
# エラーレスポンス
以下のいずれかのステータスコードを返します。
ステータスコード | 説明 |
---|---|
401 | 認証に失敗しました。 |
404 | 以下のどちらかです。
|
# トライアルプロダクト情報を作成する
Bluetooth® Low Energy対応デバイスをLINE Things Developer Trialで利用するために、LINEプラットフォームにトライアルプロダクト情報を作成し、プロダクト情報として登録します。この操作によって、トライアルプロダクト情報とMessaging APIのチャネルが関連付けられます。
チャネルごとに最大10個のトライアルプロダクト情報を作成できます。
# HTTPリクエスト
POST https://api.line.me/things/v1/trial/products
# リクエストヘッダー
Authorization
Bearer {channel access token}
Content-Type
application/json
# リクエストボディ
name
String
プロダクト名
# レスポンス
ステータスコード200
と以下のプロパティを含むJSONオブジェクトを返します。
id
String
プロダクトID
name
String
プロダクト名
type
String
プロダクトタイプ("BLE"のみ)
channelId
Number
トライアルプロダクト情報に関連付けられているMessaging APIのチャネルのチャネルID
serviceUuid
String
サービス探索用service UUID ※
このUUIDは、自動採番されます。
psdiServiceUuid
String
デバイス特定用service UUID ※
psdiCharacteristicUuid
String
デバイス特定用characteristic UUID ※
※これらの値は、デバイスに書き込みます。詳しくは、「デバイスを作成する」を参照してください。
# エラーレスポンス
以下のいずれかのステータスコードを返します。
ステータスコード | 説明 |
---|---|
400 | リクエストに無効な値が含まれています。 |
401 | 認証に失敗しました。 |
403 | すでにトライアルプロダクト情報の上限個数(最大10個)に達しています。不要なトライアルプロダクト情報を削除してください。 |
# トライアルプロダクト情報を取得する
# HTTPリクエスト
GET https://api.line.me/things/v1/trial/products
# リクエストヘッダー
Authorization
Bearer {channel access token}
# レスポンス
ステータスコード200
と以下のプロパティを含むJSONオブジェクトを返します。
[].id
String
プロダクトID
[].name
String
プロダクト名
[].channelId
Number
トライアルプロダクト情報に関連付けられているMessaging APIのチャネルのチャネルID
[].type
String
プロダクトタイプ("BLE"のみ)
[].serviceUuid
String
サービス探索用service UUID
[].psdiServiceUuid
String
デバイス特定用service UUID
[].psdiCharacteristicUuid
String
デバイス特定用characteristic UUID
# エラーレスポンス
以下のいずれかのステータスコードを返します。
ステータスコード | 説明 |
---|---|
401 | 認証に失敗しました。 |
# トライアルプロダクト情報を削除する
# HTTPリクエスト
DELETE https://api.line.me/things/v1/trial/products/{productId}
# リクエストヘッダー
Authorization
Bearer {channel access token}
# パスパラメータ
productId
プロダクトID
# レスポンス
ステータスコード204
を返します。
# エラーレスポンス
以下のいずれかのステータスコードを返します。
ステータスコード | 説明 |
---|---|
401 | 認証に失敗しました。 |
404 | 以下のどちらかです。
|
# 自動通信向けシナリオ管理API
# シナリオセットを作成または更新する
# HTTPリクエスト
PUT https://api.line.me/things/v1/products/{productId}/scenario-set
# リクエストヘッダー
Authorization
Bearer {channel access token}
Content-Type
application/json
# パスパラメータ
productId
プロダクトID
# リクエストボディ
autoClose
Boolean
シナリオセット内のすべての実行中シナリオを実行後に、デバイスとの接続を切断するかどうかを指定します。false
の場合、デバイスとの接続を維持します。このパラメータの利用には注意点があります。詳しくは、『LINE Thingsドキュメント』の「自動通信を利用する際の注意点について」を参照してください。
suppressionInterval
Number
autoClose = true
を設定した場合は、自動通信による接続が切断されたあとに、デバイスとの再接続を抑制する時間(ミリ秒)を設定します。ただし、設定した時間間隔で再接続されることは保証しません。プログラムの実行環境によって、再接続される時間が大きく変動することがあります。
autoClose = false
を設定した場合は、0
に設定します。
scenarios
Array
シナリオの配列
# シナリオ(Scenario)
id
String
シナリオID
シナリオセットの作成時および更新時は必要ありません。
trigger
Object
実行の起点
trigger.type
String
IMMEDIATE
:デバイスとLINEが接続されると、すぐにアクションを実行するBLE_NOTIFICATION
:指定したGATT characteristicの通知を受けたときに、アクションを実行する
trigger.serviceUuid
String
通知を待ち受けるGATT service UUID(128ビット)
trigger.type = BLE_NOTIFICATION
の場合にのみ設定します。
trigger.characteristicUuid
String
通知を待ち受けるGATT characteristic UUID(128ビット)
trigger.type = BLE_NOTIFICATION
の場合にのみ設定します。
actions[]
Array
実行内容(Action)の配列
デバイスから通知されたデータを取得するだけの場合など、action
が空の場合もあります。
actions[].type
String
アクションのタイプ
SLEEP
:一定時間待つGATT_READ
:指定したGATT characteristicからデータを取得するGATT_WRITE
:指定したGATT characteristicにデータを書き込む
actions[].sleepMillis
Number
アクション:SLEEPの待機時間
ただし、設定した時間間隔でSLEEPが解除されることは保証しません。プログラムの実行環境によって、待機時間が大きく変動することがあります。
actions[].type
がSLEEP
の場合にのみ設定します。
actions[].serviceUuid
String
データを読み書きするGATT characteristicを含むGATT service UUID(128ビット)
actions[].type
がGATT_READ
またはGATT_WRITE
の場合にのみ設定します。
actions[].characteristicUuid
String
データを読み書きするGATT characteristic UUID(128ビット)
actions[].type
がGATT_READ
またはGATT_WRITE
の場合にのみ設定します。
actions[].data
String
Base64形式でエンコードされたデータ
actions[].type
がGATT_WRITE
の場合にのみ設定します。
# レスポンス
ステータスコード200
と以下のプロパティを含むJSONオブジェクトを返します。
productId
String
プロダクトID
autoClose
Boolean
シナリオセット内のすべての実行中シナリオを実行後に、デバイスとの接続を切断するかどうかを表します。false
の場合、デバイスとの接続を維持します。このパラメータの利用には注意点があります。詳しくは、『LINE Thingsドキュメント』の「自動通信を利用する際の注意点について」を参照してください。
suppressionInterval
Number
自動通信による接続が切断されたあとに、デバイスとの再接続を抑制する時間(ミリ秒)を表します。
ただし、設定した時間間隔で再接続されることは保証しません。プログラムの実行環境によって、再接続される時間が大きく変動することがあります。
revision
Number
シナリオセットの現在のリビジョン。修正ごとに自動的に増加されます。
scenarios
Array
シナリオの配列
createdAt
Number
シナリオセットが作成された日時
updatedAt
Number
シナリオセットが更新された日時
# エラーレスポンス
以下のいずれかのステータスコードを返します。
ステータスコード | 説明 |
---|---|
400 | リクエストに無効な値が含まれています。 |
401 | 認証に失敗しました。 |
404 | 以下のどちらかです。
|
# シナリオセットを取得する
# HTTPリクエスト
GET https://api.line.me/things/v1/products/{productId}/scenario-set
# リクエストヘッダー
Authorization
Bearer {channel access token}
# パスパラメータ
productId
プロダクトID
# レスポンス
ステータスコード200
と以下のプロパティを含むJSONオブジェクトを返します。
productId
String
プロダクトID
autoClose
Boolean
シナリオセット内のすべての実行中シナリオを実行後に、デバイスとの接続を切断するかどうかを表します。false
の場合、デバイスとの接続を維持します。このパラメータの利用には注意点があります。詳しくは、『LINE Thingsドキュメント』の「自動通信を利用する際の注意点について」を参照してください。
suppressionInterval
Number
自動通信による接続が切断されたあとに、デバイスとの再接続を抑制する時間(ミリ秒)を表します。
ただし、設定した時間間隔で再接続されることは保証しません。プログラムの実行環境によって、再接続される時間が大きく変動することがあります。
revision
Number
シナリオセットの現在のリビジョン。修正ごとに自動的に増加されます。
scenarios
Array
シナリオの配列
createdAt
Number
シナリオセットが作成された日時
updatedAt
Number
シナリオセットが更新された日時
# エラーレスポンス
以下のいずれかのステータスコードを返します。
ステータスコード | 説明 |
---|---|
401 | 認証に失敗しました。 |
404 | 以下のどちらかです。
|
# シナリオセットを削除する
# HTTPリクエスト
DELETE https://api.line.me/things/v1/products/{productId}/scenario-set
# リクエストヘッダー
Authorization
Bearer {channel access token}
# パスパラメータ
productId
プロダクトID
# レスポンス
ステータスコード204
を返します。
# エラーレスポンス
以下のいずれかのステータスコードを返します。
ステータスコード | 説明 |
---|---|
401 | 認証に失敗しました。 |
404 | 以下のどちらかです。
|