Receiving events

This page will be available in English soon.

LINE Things関連のイベントを受け取るには、ボットを作成し、Messaging APIのチャネルにボットを関連付けます。ボットの作成方法について詳しくは、『Messaging APIドキュメント』の各ページを参照してください。

注:Messaging APIのチャネルとボットは、1対1で対応しています。

注:Channel Secretとアクセストークン(ロングターム)は、「アクセストークン(ロングターム)を発行する」の手順の最後に確認しています。

LINE Thingsのイベントを受け取る

LINE Thingsでは、以下の2つのイベントがWebhook URLに通知されます。

  • デバイス連携イベント
  • デバイス連携解除イベント

たとえば、ユーザーがデバイスを連携したり、連携を解除したりしたときに、任意のメッセージを送信できます。

注:LINE Things用チャネルにWebhook URLを設定する方法については、「Webhook URLを設定する」を参照してください。

注:通知されたイベントがLINEプラットフォームから送られたことを確認するために、署名を検証してください。署名を検証する際に、Channel Secretが必要です。詳しくは、『Messaging APIドキュメント』の「ボットを作成する」を参照してください。

Webhookでデバイス連携イベントを受け取る

ユーザーの操作により、LINE Things対応デバイスとLINEが連携されると、デバイス連携イベントがWebhook URLに通知されます。

デバイス連携イベントでWebhook URLに送信されるJSONオブジェクトは、以下のとおりです。

{
    "events": [
        {
            "type": "things",
            "replyToken": "nHuyWiB7yP5Zw52FIkcQobQuGDXCTA",
            "timestamp": 1462629479859,
            "source": {
                "type": "user",
                "userId": "U91eeaf62d..."
            },
            "things": {
                "deviceId": "t2c449c9d1...",
                "type": "link"
            }
        }
    ]
}
項目 説明
events.replyToken このイベントへの応答に使用するトークンです。
events.source.userId LINE Things対応デバイスとLINEを連携させたユーザーのユーザーIDです。
events.things.deviceId LINEと連携されたLINE Things対応デバイスのデバイスIDです。

Webhookイベントで送信されるJSONオブジェクトについては、『Messaging APIリファレンス』の「Webhookイベントオブジェクト」を参照してください。

プロダクト単位で一意の値を取得する」で説明しているAPIを使ってPSDIを取得すると、ユーザーが連携したデバイスを特定できます。

Webhookでデバイス連携解除イベントを受け取る

ユーザーの操作により、LINE Things対応デバイスとLINEの連携が解除されると、デバイス連携解除イベントがWebhook URLに通知されます。

デバイス連携解除イベントでWebhook URLに送信されるJSONオブジェクトは以下のとおりです。

{
    "events": [
        {
            "type": "things",
            "replyToken": "nHuyWiB7yP5Zw52FIkcQobQuGDXCTA",
            "timestamp": 1462629479859,
            "source": {
                "type": "user",
                "userId": "U91eeaf62d..."
            },
            "things": {
                "deviceId": "t2c449c9d1...",
                "type": "unlink"
            }
        }
    ]
}
項目 説明
events.replyToken このイベントへの応答に使用するトークンです。
events.source.userId LINE Things対応デバイスとLINEの連携を解除したユーザーのユーザーIDです。
events.things.deviceId LINEと連携解除されたLINE Things対応デバイスのデバイスIDです。

Webhookイベントで送信されるJSONオブジェクトについては、『Messaging APIリファレンス』の「Webhookイベントオブジェクト」を参照してください。

プロダクト単位で一意の値を取得する」で説明しているAPIを使ってPSDIを取得すると、ユーザーが連携を解除したデバイスを特定できます。

プロダクト単位で一意の値を取得する

デバイス連携イベントで送信されたLINE Things対応デバイスのデバイスIDから、LINE Things対応デバイスを1つ1つ識別するための識別子(Product Specific Device Id。以降、PSDI)を取得するには、以下のAPIを使用します。

注:PSDIは、「トライアルプロダクトを作成する」で取得したpsdiServiceUuidpsdiCharacteristicUuidで特定できるcharacteristicから読み取った値です。

curl -X GET https://api.line.me/things/v1/devices/{deviceId} \
-H 'Authorization: Bearer {channel access token}' \
パラメータ 説明
deviceId デバイスID
channel access token アクセストークン(ロングターム)

デバイスIDから取得したプロダクトID(productId)とPSDI(productSpecificDeviceId)が返されます。

{
    "id": "{deviceId}",
    "productId": {productId},
    "productSpecificDeviceId": "{PSDI}"
}

このようにして取得したPSDIによって、ユーザーが連携したデバイスを特定できます。