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"
}