MessageHook - TakayukiHoshi1984/DeviceConnect-Spec GitHub Wiki
メッセージ送受信の機能を提供するAPI。
API | 概要 |
---|---|
GET /gotapi/messageHook/channel | チャンネル一覧を取得する。 |
GET /gotapi/messageHook/message | 直近に受信したメッセージの一覧を取得する。 |
POST /gotapi/messageHook/message | メッセージを投稿する。 |
GET /gotapi/messageHook/onMessage | 直近に受信したメッセージの一覧を取得する。 |
PUT /gotapi/messageHook/onMessage | 直近に受信したメッセージ取得イベントを開始する。 |
DELETE /gotapi/messageHook/onMessage | 直近に受信したメッセージ取得イベントを停止する。 |
one-shot
チャンネル一覧を取得する。
公開権限が設定されており取得できないチャンネルについて、 取得するかどうかはプラグインの仕様に依存する。
物理名 | データ型 | 必須 | 説明 |
---|---|---|---|
serviceId | string | Yes | サービスID。取得対象スマートデバイス |
論理名 | 物理名 | データ型 | 必須 | 説明 | |
---|---|---|---|---|---|
処理結果 | result | integer | Yes | 0:正常応答 0以外:異常応答 |
|
システム名 | product | string | Yes | DeviceConnectシステムの名前。 | |
システムバージョン | version | string | Yes | DeviceConnectシステムのバージョン名。 | |
署名 | hmac | string | No | レスポンスに対する署名。 アプリケーション側から事前にHMACキーを共有されていた場合は必須。 |
|
チャンネル | channels | array(object) | Yes | チャンネルを格納する配列。 | |
チャンネル識別子 | id | string | Yes | チャンネルを識別するID。 | |
チャンネル名 | name | string | Yes | チャンネルの名前。 | |
チャンネルタイプ | type | string | Yes | チャンネルのタイプ ・line ・slack など |
{ "result" : 0, "product" : "Example System", "version" : "1.0.0", "channels" : [ { "id" : "xxxxxxxx", "name" : "名前", "type" : "slack" }, { "id" : "xxxxxxxx", "name" : "名前", "type" : "slack" } ] }
one-shot
直近に受信したメッセージの一覧を取得する。
公開権限が設定されており取得できないメッセージについて、 取得するかどうかはプラグインの仕様に依存する。
物理名 | データ型 | 必須 | 説明 |
---|---|---|---|
serviceId | string | Yes | サービスID。取得対象スマートデバイス |
論理名 | 物理名 | データ型 | 必須 | 説明 | |
---|---|---|---|---|---|
処理結果 | result | integer | Yes | 0:正常応答 0以外:異常応答 |
|
システム名 | product | string | Yes | DeviceConnectシステムの名前。 | |
システムバージョン | version | string | Yes | DeviceConnectシステムのバージョン名。 | |
署名 | hmac | string | No | レスポンスに対する署名。 アプリケーション側から事前にHMACキーを共有されていた場合は必須。 |
|
メッセージ | messages | array(object) | Yes | メッセージ情報。 | |
メッセンジャータイプ | messagerType | string | Yes | メッセンジャーのタイプ ・line ・slack など。 |
|
送信元ID | from | long | Yes | 送信元を識別するID。 | |
チャンネルID | channelId | string | Yes | チャンネルを識別するID。 | |
投稿した時間 | timeStamp | long | Yes | ||
投稿した時間の文字列 | timeStampString | dateTime | Yes | 投稿した時間をRFC3339「yyyy-MM-dd''T''HH:mm:ssZZZZZ」の形式で返す。 | |
チャンネル名 | text | string | No | チャンネルの名前。 | |
リソースURI | resource | string | No | 送られてきたメッセージのリソースへのURI。 メッセージが指定されていない時は省略されない。 |
|
MimeType | mimeType | string | No | リソースのタイプ。 メッセージが指定されていない時は省略されない。 |
|
メッセージタイプ | messageType | string | No | normal, direct, mention の文字列 (複数になる場合がある「direct,mention」など) ・normal: 通常メッセージ ・direct: ダイレクトメッセージ ・mention: メンション付きメッセージ #メンション付きのメッセージのtextはメンション部分が削除されます。 |
{ "result" : 0, "product" : "Example System", "version" : "1.0.0", "messages" : [ { "messengerType" : "facebook", "from" : "abcdef", "timeStamp" : 1234567890, "timeStampString" : "2015-05-17T10:02:20+09:00", "channelId" : "1", "text" : "ライトをつけて", "resource" : "http://www.gclue.io/a.png", "mimeType" : "image/png", "messageType" : "direct" } ] }
one-shot
メッセージを投稿する。
権限が設定されており投稿できないメッセージについて、 投稿できるようにするかどうかはプラグインの仕様に依存する。
物理名 | データ型 | 必須 | 説明 |
---|---|---|---|
serviceId | string | Yes | サービスID。取得対象スマートデバイス |
channelId | string | Yes | チャンネルID。メッセージの投稿先チャンネルID。 |
text | string | No | テキスト。送信する文言。 リソースURIが指定されていない時は省略できない。 |
resource | string | No | リソースURI。画像、音声、映像などのリソースへのURI。 テキストが指定されていない時は省略できない。 |
mimeType | string | No | MimeType。送信するリソースのタイプ。 リソースURIが指定されている時は省略できない。 |
論理名 | 物理名 | データ型 | 必須 | 説明 |
---|---|---|---|---|
処理結果 | 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" }
one-shot
直近に受信したメッセージの一覧を取得する。
プラグイン側でキャッシュしている最新のイベントメッセージを1つ取得する。
物理名 | データ型 | 必須 | 説明 |
---|---|---|---|
serviceId | string | Yes | サービスID。取得対象スマートデバイス |
論理名 | 物理名 | データ型 | 必須 | 説明 | |
---|---|---|---|---|---|
処理結果 | result | integer | Yes | 0:正常応答 0以外:異常応答 |
|
システム名 | product | string | Yes | DeviceConnectシステムの名前。 | |
システムバージョン | version | string | Yes | DeviceConnectシステムのバージョン名。 | |
署名 | hmac | string | No | レスポンスに対する署名。 アプリケーション側から事前にHMACキーを共有されていた場合は必須。 |
|
メッセージ | message | object | Yes | ||
メッセンジャータイプ | messagerType | string | Yes | メッセンジャーのタイプ ・line ・slack など。 |
|
送信元ID | from | long | Yes | 送信元を識別するID。 | |
チャンネルID | channelId | string | Yes | チャンネルを識別するID。 | |
投稿した時間 | timeStamp | long | Yes | ||
投稿した時間の文字列 | timeStampString | dateTime | Yes | 投稿した時間をRFC3339「yyyy-MM-dd''T''HH:mm:ssZZZZZ」の形式で返す。 | |
チャンネル名 | text | string | No | チャンネルの名前。 | |
リソースURI | resource | string | No | 送られてきたメッセージのリソースへのURI。 メッセージが指定されていない時は省略されない。 |
|
MimeType | mimeType | string | No | リソースのタイプ。 メッセージが指定されていない時は省略されない。 |
|
メッセージタイプ | messageType | string | No | normal, direct, mention の文字列 (複数になる場合がある「direct, mention」など) ・normal : 通常メッセージ ・direct : ダイレクトメッセージ ・mention: メンション付きメッセージ #メンション付きのメッセージのtextはメンション部分が削除されます。 |
{ "result" : 0, "product" : "Example System", "version" : "1.0.0", "message" : { "messengerType" : "xxxx", "from" : "abcdef", "timeStamp" : 1234567890, "timeStampString" : "2015-05-17T10:02:20+09:00", "channelId" : "1", "text" : "ライトをつけて", "resource" : "http://org.deviceconnect/test.png", "mimeType" : "image/png", "messageType" : "direct" } }
event
直近に受信したメッセージ取得イベントを開始する。
スマートデバイスでサポートしていないパラメータがある場合には、 そのパラメータを省略する。
物理名 | データ型 | 必須 | 説明 |
---|---|---|---|
serviceId | string | Yes | サービスID。取得対象スマートデバイス |
interval | long | 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 | アトリビュート名。 | |
メッセージ | message | object | Yes | ||
メッセンジャータイプ | messagerType | string | Yes | メッセンジャーのタイプ ・line ・slack など。 |
|
送信元ID | from | long | Yes | 送信元を識別するID。 | |
チャンネルID | channelId | string | Yes | チャンネルを識別するID。 | |
投稿した時間 | timeStamp | long | Yes | ||
投稿した時間の文字列 | timeStampString | dateTime | Yes | 投稿した時間をRFC3339「yyyy-MM-dd''T''HH:mm:ssZZZZZ」の形式で返す。 | |
チャンネル名 | text | string | No | チャンネルの名前。 | |
リソースURI | resource | string | No | 送られてきたメッセージのリソースへのURI。 メッセージが指定されていない時は省略されない。 |
|
MimeType | mimeType | string | No | リソースのタイプ。 メッセージが指定されていない時は省略されない。 |
|
メッセージタイプ | messageType | string | No | normal, direct, mention の文字列 (複数になる場合がある「direct, mention」など) ・normal : 通常メッセージ ・direct : ダイレクトメッセージ ・mention: メンション付きメッセージ #メンション付きのメッセージのtextはメンション部分が削除されます。 |
{ "serviceId" : "Host.exampleId.localhost.deviceconnect.org", "profile" : "messageHook", "attribute" : "onMessage", "message" : { "messengerType" : "xxxx", "from" : "abcdef", "timeStamp" : 1234567890, "timeStampString" : "2015-05-17T10:02:20+09:00", "channelId" : "1", "text" : "ライトをつけて", "resource" : "http://org.deviceconnect/test.png", "mimeType" : "image/png", "messageType" : "direct" } }
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" }