2.11 イベントサブスクリプション API

2.11.1 イベントサブスクリプションPushプロトコル

概要

SenseLinkのサブスクリプションサービスを利用して、外部システムはSenseLinkのイベントをサブスクライブすることができます。SenseLinkはデバイスの認証とアラート(以下「イベント」)をPOSTリクエスト(以下「Push」)することができます。

イベントをサブスクライブする外部システムのサーバーアドレスは、SenseLinkのWeb UIのナビゲーションメニュー[System Management]>[Open Platform] 内の Subscription Services Status欄か、本マニュアル内のAPIで設定および更新することができます。

再Push方法

イベントがされてから 5 秒以内にサードパーティーからの応答が受信されなかった場合、または 200 以外のリターンコードが返ってきた場合、Pushに失敗したと見なされ、SenseLink はPushを再試行します。

Pushに失敗すると、サードパーティーサービスは異常と見なされ、イベントサブスクリプションサービスのステータスは「異常」に設定され、その後のPushはすべて停止します。

最近のイベントのPush結果はSenseLinkのWeb UIのナビゲーションメニュー[System Management]>[Open Platform] 内の Subscription Services Status欄にあるDetailで表示できます。

受信タイプ

POST application/json

イベントPushの例

認証レコード :

{
 
    "data": {
        "companyId": 1,
        "deviceName": "device2",
        "deviceSN": "SPS-23da60ccda8f91a865a7472c1c5d9df5",
        "direction": 1,
        "groupId": 0,
        "groupName": "",
        "id": 2,
        "originAvatar": "",
        "receptionUserId": 0,
        "receptionUserName": "",
        "signAvatar": "5c80cb55bac9be0001d4e93a",
        "signBgAvatar": "5c80cb55bac9be0001d4e93b",
        "signTime": 1551944533,
        "userId": 0,
        "userName": "",
        "userType": 3,
        "verifyScore": 0.0
    },
    "messageId": "681EC005-B522-4BCF-9C16-75A74307A7B5",
    "eventType": 30100,
    "sendTime": 1569575298240
}

デバイスアラート :

{
    "data": {
        "id": 100,
        "level": 0, 
        "code": 0,
        "description": "",
        "status": 0, 
        "traceId": "", 
        "deviceId": 0, 
        "deviceName": "", 
        "deviceSn": "", 
        "deviceLocation": "", 
        "alarmTime": "", 
        "releaseTime": "", 
        "alarmPhoto": "", 
        "resloveOption": 0
    },
    "messageId": "681EC005-B522-4BCF-9C16-75A74307A7B5",
    "eventType": 30100,
    "sendTime": 1569575298240
}

受信するイベントパラメーター

パラメーター名

必須

説明

eventType

string

Yes

30000 - 認証レコード、30100 - デバイスアラート

messageId

string

Yes

イベントの固有の識別子

sendTime

string

Yes

イベント発生時刻 (デバイス時間)

data

object

Yes

イベントの対象

認証レコードデータの属性 :

パラメーター名

説明

id

int

レコード ID

companyId

long

企業ID

userId

int

認証されたユーザーの ID

name

string

認証されたユーザーの名前

direction

int

デバイスのアクセス方向

type

int

ユーザーの識別子タイプ

verifyScore

float

認証スコア

receptionUserId

int

認証されたユーザーの応対者の ID

receptionUserName

string

認証されたユーザーの応対者の名前

groups

list<group>

認証されたユーザーのグループ情報

deviceName

string

デバイス名

sn

string

この認証レコードのデバイス LDID 番号をアップロードします

signDate

string

認証レコードの日付

avatar

string

認証用顔写真

signAvatar

string

認証時写真(サムネイル)

signBgAvatar

string

認証時写真(大)

signTime

timestamp

認証時間 (秒)

mobile

string

認証されたユーザーの携帯電話番号

icNumber

string

認証されたユーザーのIC カード番号

idNumber

string

認証されたユーザーの ID 番号(利用できません)

jobNumber

string

認証されたユーザーの従業員ID

remark

string

備考

entryMode

int

認証モード (1 : 顔認証、2 : QR コード、3 : カード、4 : 顔認証とカード、5 : ID カード、6 : 顔認証と ID カード)

signTimeZone

string

認証レコードのタイムゾーン

docPhoto

string

ID 写真

location

string

デバイスの設置場所

abnormalType

int

認証レコードの異常のタイプ。 0 :なし

10001:IDカード不一致

10002:認証カード不一致

10003:認証コード不一致

20001:ビジターが有効期限外

20002:アクセス期限内ではない

30001:無効な ID カード

30002:無効な IC カード

30003:無効な QR コード

40001:異常な体温

50001:マスク着用なし

bodyTemperature

float

体温

mask

int

マスク着用識別子。0 - 不明、1 - 着用なし、2 - 着用あり

group フィールドの説明

パラメーター名

説明

id

long

グループID

name

string

グループ名

type

int

グループタイプです。1 : 従業員グループ、2 : ビジターグループ、5 : ブラックリストグループ

デバイスのアラートレコードのデータ属性 :

パラメーター名

説明

id

long

アラートレコードのID

level

int

アラートレベル。1 : アラート、2 : 異常

code

int

アラートのタイプ。 10001:デバイスの盗難アラート

10002:ドア・ゲート強制突破アラート

10003:アセンサータイムアウト

10004:パスワードクラッキング

10005:(サポートされないアラートです。現在利用できません)

10006:サーモグラフィカメラ接続異常

20001:カメラの汚れ

20002:Non-Living アタック(非生体による認証)

20003:消防アラート

30001:デバイスオフラインアラート

40001:特徴量抽出エラー

description

string

アラートの説明

status

int

アラートのステータス。1 : アラート作動中、2 : 解除中、3 : 解除済み

traceId

string

アラートのシリアル番号。デバイスによって生成されるアラート固有の識別番号です。

deviceId

long

デバイスの ID

deviceName

string

デバイス名

deviceSn

string

デバイスの LDID

deviceLocation

string

デバイスの設置場所

alarmTime

string

アラート時間

releaseTime

string

アラートの解除時間

alarmPhoto

string

アラート写真

resloveOption

int

アラートの解除オプション。 0:解除不要

1:デバイスエンドでの解除のみをサポート

2:リモート解除のみをサポート

3:デバイスエンドまたはリモートでの解除

0:解除不要

10004:パスワードクラッキング

20002:Non-Living アタック(非生体による認証)

30001:デバイスオフラインアラート

1:デバイスエンドでの解除のみをサポート

10003:ドアセンサータイムアウト

20001:カメラの汚れ

10005:(サポートされないアラートです。現在利用できません)

10006:サーモグラフィカメラ接続異常

3:デバイスエンドまたはリモートでの解除 10001:デバイスの盗難アラート

10002:ドア・ゲート強制突破アラート

20003:消防アラート

通常のレスポンス

{
 "code": 200,
 "message": "success",
 "desc": "",
 "data": {}
}

レスポンスのフィールド

パラメーター名

必須

説明

code

int

Yes

リターンコード。200 は成功を示し、その他のコードは失敗を示します

message

string

Yes

リターン情報です。インターフェース実行情報を記録します。success は成功の情報を示し、その他は失敗を示します。

data

object

No

2.11.2 サブスクリプションの更新 (/api/v3/event/updateSub)

概要

イベントのサブスクリプションを追加または更新します。

リクエストアドレスの例

https://HOST:PORT/api/v3/event/updateSub

リクエスト方法

POST application/json

リクエストパラメーター

パラメーター名

必須

説明

event_type_ids

list<int>

Yes

イベントタイプ ID の配列 (30000 : 認証レコード、30100 : アラートPush)

event_dest

string

Yes

イベントをサブスクライブする外部システムのサーバーアドレスを指定します。restful コールバックを利用し、http および https をサポートしています。スタイルは、http://ip:port/eventRcv または https://ip:port/eventRcv で、 最大 1024 文字です。外部システムのサーバーアドレスは指定された仕様に基づいて申請したパーティーから提供されます。外部システムのインターフェースの認証は必要ありません。

空の値で登録しないでください。

認証パラメーター

パラメーター名

必須

説明

app_key

string

Yes

Appキー

sign

string

Yes

シグネチャ。2.2.1 シグネチャ(sign)の計算 の章を参照してください。

timestamp

string

Yes

タイムスタンプ

通常のレスポンス

{
 "code": 200,
 "message": "success",
 "desc": "",
 "data": {}
}

レスポンスのフィールド

パラメーター名

説明

code

int

リターンコード。200 は成功を示し、その他のコードは失敗を示します

message

string

リターン情報です。インターフェース実行情報を記録します。success は成功の情報を示し、その他は失敗を示します。

desc

string

リターンの説明

data

object

データ

エラーレスポンスのフィールド

code

メッセージ

説明

60001

openapi status error

OpenAPI 機能のステータスが利用可能であることをご確認ください (「利用中」または「変更のレビュー待ち」)

2.11.3 サブスクリプション停止 (/api/v3/event/stopSub)

概要

イベントのサブスクリプションを停止します。

リクエストアドレスの例

https://HOST:PORT/api/v3/event/stopSub

リクエスト方法

GET

認証パラメーター

パラメーター名

必須

説明

app_key

string

Yes

Appキー

sign

string

Yes

シグネチャ。2.2.1 シグネチャ(sign)の計算 の章を参照してください。

timestamp

string

Yes

タイムスタンプ

通常のレスポンス

{
 "code": 200,
 "message": "success",
 "desc": "",
 "data": {}
}

レスポンスのフィールド

パラメーター名

説明

code

int

リターンコード。200 は成功を示し、その他のコードは失敗を示します

message

string

リターン情報です。インターフェース実行情報を記録します。success は成功の情報を示し、その他は失敗を示します。

desc

string

リターンの説明

data

object

データ

エラーレスポンスのフィールド

code

メッセージ

説明

60001

openapi status error

OpenAPI 機能のステータスが利用可能であることをご確認ください (「利用中」または「変更のレビュー待ち」)

60002

not config event sub

サブスクリプションサービスが構成されていません。

2.11.4 サブスクリプションの詳細表示 (/api/v3/event/viewSub)

概要

サブスクリプションの詳細を表示します。

リクエストアドレスの例

https://HOST:PORT/api/v3/event/viewSub

リクエスト方法

GET

認証パラメーター

パラメーター名

必須

説明

app_key

string

Yes

Appキー

sign

string

Yes

シグネチャ。2.2.1 シグネチャ(sign)の計算 の章を参照してください。

timestamp

string

Yes

タイムスタンプ

通常のレスポンス

{
 "code": 200,
 "message": "success",
 "desc": "",
 "data": {
 "event_type_ids": [
 30000,
 30100
 ],
 "event_dest": "https://ip:port/eventRcv",
 "sub_status": 1
 }
}

レスポンスのフィールド

パラメーター名

説明

code

int

リターンコード。200 は成功を示し、その他のコードは失敗を示します

message

string

リターン情報です。インターフェース実行情報を記録します。success は成功の情報を示し、その他は失敗を示します。

desc

string

リターンの説明

data

object

データ

dataフィールドの説明

パラメーター名

説明

event_type_ids

list<int>

イベントタイプ ID の配列 (30000 : 認証レコード、30100 : アラートPush)

event_dest

string

イベントをサブスクライブする外部システムのサーバーアドレス

sub_status

int

サブスクリプションサービスのステータスです。0 : 構成されていません、1 : 正常、2 : 異常 (最後のPushステータスに基づく)

エラーレスポンスのフィールド

コード

メッセージ

説明

60001

openapi status error

OpenAPI 機能のステータスが利用可能であることをご確認ください (「利用中」または「変更のレビュー待ち」)

60002

not config event sub

サブスクリプションサービスが構成されていません。

2.11.5 イベントPushログの表示 (/api/v3/event/viewLog)

概要

イベントのPushログを表示します。

リクエストアドレスの例

https://HOST:PORT/api/v3/event/viewLog

リクエスト方法

GET

認証パラメーター

パラメーター名

必須

説明

app_key

string

Yes

Appキー

sign

string

Yes

シグネチャ。2.2.1 シグネチャ(sign)の計算 の章を参照してください。

timestamp

string

Yes

タイムスタンプ

通常のレスポンス

{
 "code": 200,
 "message": "success",
 "desc": "",
 "data": {
 "pushTime": "2019-10-11 00:00:00",
 "status": 200,
 "eventTypeId": 30000,
 "eventMessage": {}
 }
}

レスポンスのフィールド

パラメーター名

説明

code

int

リターンコード。200 は成功を示し、その他のコードは失敗を示します

message

string

リターン情報です。インターフェース実行情報を記録します。success は成功の情報を示し、その他は失敗を示します。

desc

string

リターンの説明

data

object

リターンデータです。イベントサブスクリプションの詳細です。

dataフィールドの説明

パラメーター名

説明

push_time

string

Push時間

status

int

リターンステータスです。200 : 成功、404 : サーバー応答不可、500 : 内部例外

event_type_id

int

イベントタイプの ID です。30000 : 認証レコード、30100 : アラートPush

event_message

string

Pushメッセージ本体

エラーレスポンスのフィールド

コード

メッセージ

説明

60001

openapi status error

OpenAPI 機能のステータスが利用可能であることをご確認ください (「利用中」または「変更のレビュー待ち」)

60002

not config event sub

サブスクリプションサービスが構成されていません。

2.11.6 テストイベントの送信 (/api/v3/event/sendTest)

概要

テストイベントをPush送信します。

リクエストアドレスの例

https://HOST:PORT/api/v3/event/sendTest

リクエスト方法

GET

認証パラメーター

パラメーター名

必須

説明

app_key

string

Yes

Appキー

sign

string

Yes

シグネチャ。2.2.1 シグネチャ(sign)の計算 の章を参照してください。

timestamp

string

Yes

タイムスタンプ

通常のレスポンス

{
 "code": 200,
 "message": "success",
 "desc": "",
 "data": {}
}

レスポンスのフィールド

パラメーター名

説明

code

int

リターンコード。200 は成功を示し、その他のコードは失敗を示します

message

string

リターン情報です。インターフェース実行情報を記録します。success は成功の情報を示し、その他は失敗を示します。

desc

string

リターンの説明

data

object

リターンデータ

エラーレスポンスのフィールド

コード

メッセージ

説明

60001

openapi status error

OpenAPI 機能のステータスが利用可能であることをご確認ください (「利用中」または「変更のレビュー待ち」)

60002

not config event sub

サブスクリプションサービスが構成されていません。

最終更新