Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
本資料はIT運用担当者向けのものです。Linux、kubernetes、docker、クラウドなどの運用知識が必要です。
本ドキュメントでは、SenseLink サービスをクラウド上にデプロイする方法について説明します。Ansible、Bash シェルスクリプトなどを使用して、Diamond プラットフォームや SenseLink サービスを含むすべてのコンポーネントをデプロイします。
デプロイメントの主な手順は、次のとおりです。
マシンの準備
Diamond プラットフォームのデプロイ
SenseLink サービスのデプロイ
インストールパッケージのバックアップ
本資料はIT運用担当者向けのものです。Linux、kubernetes、docker、クラウドなどの運用知識が必要です。
本資料はIT運用担当者向けのものです。Linux、kubernetes、docker、クラウドなどの運用知識が必要です。
改訂内容
2020/06/12
初版
日付
改訂内容
2020/06/12
初版
2020/09/07
環境の準備->ホストマシン節 ハードウェア要件を更新
環境の準備->SLBサービス節 不要な外部SLBの記述を削除;SenseLinkポータルのバックエンドポートを80から40080へ変更
付録2->SenseLink サービス節 webのNodePortを80から40080へ変更
ビルディングアクセスソリューションおよびAI温度検知ソリューションは、管理者のアクセス管理の負担を軽減し、よりセキュアで快適なアクセスを可能にする日本コンピュータビジョン株式会社(以下、「JCV」)の顔認証ソリューションです。本ソリューションは顔認証サービスを通じて、受付、入退室管理、勤怠管理など、様々の利用シーンにおいてセキュリティ強化と利便性の向上に貢献します。また、豊富な管理者向け機能を持っており、既存のアクセス管理システムと柔軟に連携できます。
SenseLinkはビルディングアクセスソリューションおよびAI温度検知の管理プラットフォームで、SenseLink Cloud、SenseLink GE Enterprise 、SenseLink GE Enterprise Pro の3つのモデルを提供しています。
ここでは、全モデル共通でご利用いただくマニュアルと、各モデルのみでご利用いただくマニュアルを提供しています。 なお、本文中には未リリースなモデルも含まれており、当ドキュメントページの内容を利用いただけない場合がございます。ご了承ください。
マニュアルは改訂される場合があります。詳細は各マニュアルの改訂履歴ページを参照してください。
デプロイメントプロセスを簡素化するための前提条件を以下に示します。
Diamond 環境の Mercury では、デプロイの際にアカウント ubuntu を使用します。
インストーラパッケージは、シードホストの /data フォルダに作成します。通常、シードホストは、第 1 の Diamond ホストです。
SenseLink のデプロイは完了しました。この時点で、今後の使用に備えてインストーラパッケージ全体をバックアップすることを推奨します。以下の理由から、インストールパッケージは削除しないでください。
パッケージ内の構成は現行環境で一意になっています。
以下に示す Diamond サービスの設定ファイルとエンドポイント情報は、$install_package_path/diamond/reports に生成されおり、Diamond サービスやリソースを呼び出す際に役立ちます。
iaasKubeConfig: IaaS API サービスの Kubernetes 形式の設定
lcmKubeConfig: LCM API サービスの Kubernetes 形式の設定
k8sKubeConfig: 現行の k8s クラスタの特権ユーザに関する Kubernetes 設定
sensetimeKubeConfig: 現行の k8s クラスタの一般ユーザに関する Kubernetes 設定
アーカイブや再デプロイ用のサービスやポッドの Kubernetes yaml ファイル
日付
改訂内容
2020/06/12
初版
2020/09/03
「付録3: Mercuryライセンスの更新」の最新化
デプロイメントプロセスを簡素化するため、本ドキュメント内で使用する規則がいくつかあります。
Diamond 環境の SenseLink では、アカウント ubuntu を使用してすべてのコンポーネントをデプロイします。アカウントが明示されていない限り、すべてのデプロイメントコマンドは ubuntu ユーザで実行する必要があります。
インストールパッケージは、シードホストの /data/ フォルダに格納します。通常、シードホストは第 1 の Diamond ホストです。このフォルダは、デプロイメント時には BASE_DIR と呼ばれます。
インストールパッケージを作成するには、ネットワーク内の関連コンポーネントのバイナリ、Docker イメージへのアクセス権、およびスクリプトプロジェクトをデプロイするのに十分な権限が必要です。また、インストーラパッケージは、作成したインストーラスクリプトを実行するマシンの /data フォルダに格納します。
############# run separately ############
##### Please ensure use ubuntu user. #####
# make sure install_package_path is install package path.
sudo su - ubuntu
cd $install_package_path
# join existing tmux installation session
# $ tmux a -t senselink
./setup_senselink.sh |& tee -a setup_senselink.logkubernetesマスタがサービスダウンまたは何か問題があった場合、kubernetesマスタを再起動しないといけません。ただし、再起動しても、サーバーが正常に起動できますが、k8sはLoad Balanceから情報を取得できません。
kubeの設定がまだ三つのマスタに指しているのは原因となります。
[ubuntu@saas-i-prod-saasdiamondali10 ~]$ kubectl get pods
No resources found.
[ubuntu@saas-i-prod-saasdiamondali10 ~]$ kubectl get pods
No resources found.
[ubuntu@saas-i-prod-saasdiamondali10 ~]$ kubectl get pods3回目の取得コマンドは待ち状態となってしまって、応答がありませんでした。
ところが、ポート6443は動いています。Load Banlanceをマスタに切り替えて、.kube/configを修正したら、すぐに応答が帰ってきました。
修正前:
server: https://10.0.222.212:9443修正後:
修正後、もう一回試したら、応答が予想通りに帰ってきました。
調べた原因として、下記の二つのコンテナが起動されませんでした。
手動でdockerを起動したら
サービスは正常に戻りました。
本プロジェクト内のスクリプトを使用して、Diamond 環境に Mercury をデプロイします。プロジェクト要件を満たすためには、自動デプロイ向けの Ansible ツールを使用します。これは、Kubernetes 環境の ミドルウェア 層と エンジン 層を対象にしたサービスのデプロイメントです。
group_vars / all.yml ファイルで設定を変更することで、多様な環境でのデプロイメントに対応します。
インベントリファイルでホストを設定し、クラスタ内のポッドの分散を定義します。
このプロジェクトにより、手動による操作を減らし、デプロイメントの自動化を実現することが期待できます。
デプロイメントの主な手順は以下のとおりです。
マシンの準備
インストーラパッケージの作成
デプロイメント構成の作成
Diamond と Mercury のデプロイ
インストールを開始する前に、Diamond のインストールプロセスを理解しておく必要があります。最新のインストールガイドは、 をご参照ください。
root アカウントを使用して、すべてのホスト (Diamond ホストと SenseLink ホスト) で以下のスクリプトを実行し、ディスクをマウントします。
root アカウントを使用して、Diamond ホスト で以下のスクリプトを実行し、パスワードなしで sudo を実行できるユーザとして ubuntu を作成し、その他の初期設定を行います。
すべてのホスト で、フォルダ /data のオーナーを ubuntu のアカウントに変更する必要があります。
ソフトウェア
バージョン
Ansible
2.8.0
python
2.7+
APIの利用方法について記載されています。
本マニュアルはIT部門に所属するお客様、HTTP/HTTPSベース、JSON形式のWeb APIを利用したアプリケーションの開発・運用経験があるお客様を対象にしています。
本資料はIT運用担当者向けのものです。Linux、kubernetes、docker、クラウドなどの運用知識が必要です。
SenseLinkの利用方法について記載されています。
本マニュアルでは、言語設定が日本語の前提で用語や図が記載されています。その他の言語を設定してご利用になる場合は、用語や図の内容が異なる場合があります。その際は適宜読み替えてご利用ください。
SenseLinkのモデルによっては、一部項目において内容が異なる場合がございます。
各APIの利用方法の詳細について記載されています。
server: https://10.0.222.222:6443[ubuntu@saas-i-prod-saasdiamondali10 ~]$ kubectl get pods
No resources found.$ sudo docker ps -a | grep haproxy && sudo docker ps -a | grep keepalive
646f3c72799c registry.sensetime.com/diamond/haproxy:2.1.2-1 "/docker-entrypoint.…" 6 weeks ago Exited (0) 21 hours ago diamond-haproxy
5ca5eeb00609 registry.sensetime.com/diamond/keepalived:2.0.19 "/container/tool/run" 6 weeks ago Exited (0) 21 hours ago diamond-keepalived############# run separately ############
sudo su - root
# mount disk
# Make sure that the disk will be mount is not system OS disk, e.g. /dev/vdb
mkdir /data
mkfs -t ext4 /dev/vdb
mount /dev/vdb /data
echo "/dev/vdb /data ext4 defaults 0 0" >> /etc/fstab#login diamond host
sudo su - root
##############################################################
# Copy installer package to /data folder here and unzip here.
##############################################################
cd /data
tar -zxvf SenseLinkGE-EnterprisePro-2.3.1.20200602.tar.gz
#install_package_path is where senselink install package
install_package_path=/data/SenseLinkGE-EnterprisePro-2.3.1.20200602
# copy to other hosts, exclude diamond host.
chmod 600 $install_package_path/diamond/assets/ssh-keys/diamond.key
# create user `ubuntu` with account `root`, make sure the hosts can be logined with the Account `root` by using password or public key file.
#using password
$install_package_path/diamond/diamondctl lwp -u root -p $root_password -t ubuntu -i 10.10.10.1,10.10.10.2,10.10.10.3,10.10.10.4
#using public key file
$install_package_path/diamond/diamondctl lwp -u root -p $root_password -t ubuntu -i 10.10.10.1,10.10.10.2,10.10.10.3,10.10.10.4
$install_package_path/diamond/diamondctl lwp -u root -k $root_key_file_path -t ubuntu -i 10.10.10.1,10.10.10.2,10.10.10.3,10.10.10.4
sudo chown -R ubuntu:ubuntu /data############# run separately ############
sudo su - root
chown -R ubuntu:ubuntu /dataワーキングマシン: Kubernetes クラスタ、Ceph ストレージ、ビジネスミドルウェア、およびアプリケーションをインストールする 1 台以上のマシンです。
デプロイメントアーキテクチャ:
Diamond プラットフォームは、水平展開と最小展開の 2 種類のデプロイメントアーキテクチャに対応しています。この 2 つのデプロイメントアーキテクチャの主な違いは、Diamond ホストの数です。
水平展開: 3 台の Diamond ホストと 1 台以上のワーキングマシン
最小展開: 1 台の Diamond ホストと 1 台以上のワーキングマシン
Diamond プラットフォームをデプロイする際、1 台の Diamond ホスト + 1 台のワーキングマシン の環境を 1+1 と呼びます。同様に、3+6 の環境は、3 台の Diamond ホスト + 6 台のワーキングマシン を指します。クラスタ環境を準備する際、以下の環境情報にご注意ください。
Diamond ホストを稼働するための最小システム要件は、8 コア CPU、16GB メモリ、100GB ハードドライブ、Ubuntu 18.04 / CentOS 7.4 です。
テスト環境では、少なくとも 1 台の Diamond ホストが必要です。 HA をセットアップする場合は、3 台の Diamond ホストが必要です。
Mercury ホストを稼働するための最小システム要件は、8 コア CPU、32GB メモリ、100GB ハードドライブ、Ubuntu 16.04 / CentOS 7.4 です。少なくとも 1 台の Mercury ホストが必要です。また、Mercury ホストの 1 つには、2 基のハードディスクが必要です。1 基は OS ディスク用、もう 1 基は Ceph ディスク用です。2 基めディスクを備えたホストが 4 台以上あると、Ceph サービスの HA が実現します。
Mercury コンポーネントは、 Diamond K8s 環境の最上位で稼働します。これらのホストは、Diamond 用語でワークロードホストとも呼ばれます。
デプロイメントや稼働中、Diamnod ホストからワークロードホストに対して ssh の実行が必要になることがよくあります。ホストのすべての IP アドレスを覚えるのに比べ、Diamond ホストの /etc/hosts ファイルでニックネームを設定すると便利です。以下は、ニックネームの一例です。ニックネームを設定することで、ssh [nickname] を使用して簡単にワークロードホストに接続できます。
$ sudo docker start 646f3c72799c && sudo docker start 5ca5eeb00609[ubuntu@saas-i-prod-saasdiamondali10 ~]$ kubectl get pods
No resources found.10.10.32.x0 d1 # Diamond Host
10.10.32.x1 m1 # Mercury Host 1
10.10.32.x2 m2 # Mercury Host 2
10.10.32.x3 m3 # Mercury Host 3複数登録や複数削除などの従業員管理、デバイスアップデート管理で利用するToolKitの利用方法について記載されています。
本マニュアルでは、ビルディングアクセスソリューションおよびAI温度検知ソリューションの管理プラットフォームであるSenseLink と一緒にご利用いただく、V1.1.4以降のSenseLink ToolKit (以下、「ToolKit」)について記載しています。 ToolKitは、SenseLinkへの複数の従業員の一括登録や一括修正、およびSensePass2とSenseThunder、SenseThunder MiniのAPKやファームウェアアップデートを行うことができます。
また、本マニュアルはMac OS環境、言語設定を日本語の前提で用語、図が記載されています。WindowsやLinux、その他の言語を設定してご利用になる場合、は一部用語や図が異なる場合があります。適宜読み替えてご利用ください。
日付
改訂内容
2020/06/12
初版
2020/07/13
従業員複数登録のExcelテンプレートの変更に伴い、3.1.1項 従業員情報のアップロード(Step 1) を修正
ToolKitをサポートするSenseLinkモデルからSenseLink SaaSを削除
デバイスアップデート管理のアップデート方法に通常のアップデートを追加
2020/07/29
SenseLink SaaSの製品名をSenseLink Cloudに変更
オペレーションログに関する補足を追加
2020/10/20
サポートするバージョン情報の更新
シードマシンで /data ディレクトリにログインした後、以下のコマンドを実行してデプロイメントを開始します。デプロイメントプロセス時のすべての出力およびエラー情報は、setup.log ファイルに保存されます。このファイルは、エラー発生時のトラブルシューティングに役立ちます。
############# run separately ############
##### Please ensure use ubuntu user. #####
sudo su - ubuntu
cd /data
# join existing tmux installation session
# $ tmux a -t mercury
./setup.sh |& tee -a ./setup.logご利用のPCをSenseLinkのサーバーと同じネットワークに接続してください。PCのWebブラウザを立ち上げてSenseLinkのサーバーアドレスを入力し、SenseLinkの管理画面を表示してください。推奨WebブラウザはGoogle Chrome、Firefox、Safari(macOS)です。(それ以外のブラウザは保証しておりません。)
HTTP通信をご利用の場合
http://{SenseLinkのサーバーアドレス}
HTTPS通信をご利用の場合
https://{SenseLinkのサーバーアドレス}
このライセンスアクティベーションページは、ライセンスアクティベーションを行う前のみ表示されます。
ライセンスアクティベーション画面で表示されているUDIDと企業名、およびお客様の契約番号を、JCV製品提供窓口までご連絡ください。
JCV製品窓口より、ライセンスファイルとアクティベーションコードが送付されます。ライセンスアクティベーション画面でアクティベーションコードを入力し、ライセンスファイルをアップロードすることで、ライセンスのアクティベーションが完了します。
[OK] をクリックします。
プラットフォームのインストールで成功の鍵を握るのが yaml 設定ファイルです。このファイルを手動で作成するのは大変な作業です。 そのため、Diamond パッケージには、ユーザがウィザードページで順を追って yaml 設定ファイルを作成することができる http サービスが用意されています。このサービスは Docker コンテナに実装されており、Docker 環境であればどこでも実行できます。以下の手順に従って、ローカルでサービスを設定します。
Ubuntu / CentOSホストが以下の要件を満たしているかを確認します。
Ubuntu のバージョンが 18.04 または 16.04 (CentOSのバージョンが7.4)
8002 番ポート経由でブラウザからアクセス可能 (8002 番ポートは下記のコマンドで変更可能)
Docker 環境が設定されていること。設定されていない場合は、ホストでapt install docker.io を実行
yaml ジェネレータの Docker イメージを /data/diamond/shells/diamond-wizard-image-2019-10-13.tar から上記ホストにコピーします。
以下のコマンドを実行して、Docker イメージを解凍してホストにロードし、http サービスを開始します。
docker run コマンドを実行すると、Docer ID が返されます。この ID は、Docker コンテナを削除する際に使用します。
ブラウザを開き、 に移動すると、Diamond インストール yaml 生成ウィザード ページが表示されます。
Diamond v1.4.3 を選択し、ウィザードに従って diamond.yaml コンテンツを生成します。
エラーメッセージについて記載されています。
エラーメッセージ
原因・説明
データ読み込みに失敗しました。更新して、もう一度お試しください。
WebブラウザがSenseLinkからデータをロードすることに失敗しました。Webブラウザを更新して再度データをロードしてください
この操作を続けることができません。
誤った操作が行われたため、操作を続けることができません。不正なデータや操作を停止してから、改めて操作してください
写真アップロードエラー
認証用写真や表示写真などのアップロードでエラーが発生しました。正しい規格の画像ファイルをアップロードしてください
ストレージ容量が40GB以下です。レコード削除を行なってください。ストレージ容量が20GB以下となった場合、レコードが上書きされます。
SenseLink GE EnterpriseまたはSenseLink GE Enterprise Proを利用する場合に表示されます ストレージの空き容量が40GB以下になったため、レコードの削除を行なってください。ストレージの空き容量が20GB以下となった場合、レコードが上書きされます
Diamond 1.8.3に基づくきます。
Mercuryの1:N処理能力を拡張できます。ただし、Mercuryデータベースの最大容量を拡張できません。
MercuryノードはIPS服务を拡張しますが,SFD/API WRAPPERを拡張しません。
現在、DiamondプラットフォームでDiamondサーバーとKubernetesのマスタノードのスケールアウトをサポートしていません。そして、Diamondプラットフォームでスケールインもサポートしていません。
以下、既存のDiamondプラットフォームにworkloadNewというノードサーバーを新たに追加する方法を紹介します。
workloadNewというノードサーバーにパスワードが要求されないsudo権限を持っているユーザーを作成します。その後に、Diamond ホストへの Diamond SSH プライベートキーを追加します。「SenseLink GE Enterprise Pro インストールマニュアル」の「Diamond プラットフォームのデプロイ」章にある「Diamond ホストへの Diamond SSH プライベートキーの追加」節を参照してください。
ここで作成したユーザーはdiamond.yamlにあるdiamondUserに一致しないといけません。diamond.yamlが見つからない場合、下記のコマンドでdiamondUserを特定することが可能です。spec.userはdiamondUserです。
http://server:30080にログインします。
左側にある「追加」ボタンを押下してください。
カマンで区切りしたら、複数のIPを追加できます。k8s-workerラベルを選択してください。
追加されたノードサーバーのステータスはrunningからidleまで変わるまで、画面を刷新して下さい。idleになったら、k8s-workerのスケールアウトが正常に完了となります。
新たに追加されたノードにラベルを付けます。
ips replicasを修正します。spec.replicasを3から4に変更してください(既存の3台ノードサーバーに1台ノードーサーバーを増やす場合の例です。)
新たなノードが準備できたら、Mercuryサーバーのスケールアウトが完了します。
下記は作業後の結果イメージとなります。
当製品の概要について記載されています。
当該製品は、以下の顔認証デバイスとバージョンと接続してご利用いただけます。ここに記載されていない顔認証デバイスはご利用いただけません。デバイスやバージョンによって、一部利用できる機能やSenseLinkと共有するデータが異なります。
この情報は本マニュアル発行時点のものであり、将来的に追加・変更が発生する可能性があります。
SenseLink GE Enterprise Pro V2.3
一部のお客様への先行リリース製品です。
SenseThunder-E
SenseThunder-E GE V1.0.3(ClientFRのみ)
SenseThunder-E GE V1.1.1
SenseThunder-E GE V1.1.3
SenseThunder-Mini
SenseThunder-Mini GE V 1.0.1
SenseThunder-Mini GE V 1.0.3
SenseThunder-Mini GE V 1.0.7
SensePass
SensePass GE V1.2.3
一部機能(ビジター管理および認証、拒否リスト管理および認証、ルール管理、勤怠管理、デバイスアラート管理)に対応していません。
SensePass GE V1.2.5
次の手順は、クラスタマシンが上記の要件を満たしていることを前提としています。
ベアメタルデプロイの場合、Diamond ホストに Ubuntu 18.04 / CentOS 7.4が搭載されており、すべての Workload ホストで IPMI が正しく設定されていること。また、IPMI IP、ユーザ、シークレットキーの情報が用意されていること。
手動デプロイの場合、Diamond ホストに Ubuntu 18.04 / CentOS 7.4が搭載されており、ワークロードホストには ubuntu 16.04 / CentOS 7.4が搭載されていること。また、IP、MAC、ホスト名の情報が用意されていること。
すべてのホスト (Diamond ホストと Mercury ホスト)で、ルート
SenseThunder-E GE V1.1.7
SenseThunder-Mini GE V 1.1.3
SenseThunder-Mini GE V 1.1.7
SenseLink GE Enterprise V2.3.0以上
記載されないSenseLinkのバージョンおよびモデルではご利用いただけません。
3種類のToolKitをそれぞれの動作環境でご利用いただけます。
ツール名
動作環境(OS)
SenseLink Toolkit Setup [バージョン番号]_[YYYYMMDD].exe
Microsoft Windows
Windows 7
Windows 8
Windows 10
32ビット版、64ビット版サポート
SenseLink Toolkit Setup [バージョン番号]_[YYYYMMDD].deb
Linux
Ubuntu 12.04 LTS 以降
Fedora 21 以降
Debian 8 以降
デスクトップ/ワークステーション用環境のみサポート サーバー用環境非サポート
SenseLink Toolkit Setup [バージョン番号]_[YYYYMMDD].dmg
Mac OS
Mac OS X Yosemite 以降
Mac OS Sierra 以降含む
ToolKitを利用する環境にはMicrosoft Excelの2007以降、または互換性を持つソフトウェアが必要です。これは拡張子が.xls及び.xlsxの形式のファイルを編集する必要があるためです。
ストレージ容量が20GB以下です。レコードが上書きされます。レコードを削除してください。
SenseLink GE EnterpriseまたはSenseLink GE Enterprise Proを利用する場合に表示されます
ストレージの空き容量が20GB以下です。レコードに上書きしないために、不要なレコードを削除してください
ライセンスの有効期限が {lessTime} 日で切れます。ライセンスを更新してください。
SenseLink GE EnterpriseまたはSenseLink GE Enterprise Proを利用する場合に表示されます
ライセンスの有効期限が {lessTime} 日で切れます。ライセンスを更新してください
/data/diamond/diamond.yaml にコピーし、既存のファイルコンテンツを置き換えます。上記の手順が完了したら、以下のコマンドを実行してサービスを削除します。
ubuntu############# run separately ############
sudo su - root
# create `ubuntu` account and group if not
useradd ubuntu -Um -s /bin/bash
# grant no-pass privilege, e.g.
echo "ubuntu ALL=(ALL) NOPASSWD: ALL" |& sudo tee -a /etc/sudoers
sudo cat /etc/sudoers | grep ubuntu
# Configure Diamond Installer public key
mkdir -p /home/ubuntu/.ssh/
chown -R ubuntu:ubuntu /home/ubuntu/
echo "ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQC8XmMLdUKSH1qzH6o0fuvEi2Ng7jE+88MkZEFe+8fdm+3ioRIVTauV9YRta55FmsTTrtMOnTG4fdT8tg5x3HeROlvn8zN7ZdDTKi5NLvOjswgCOjDvzRFAerry0FPt0HOJP8czHXUU5mvZb4Z/xjegoREY2UDnTfyq0MWvmyFy0ewfNtn7/JKezJX0d7guxPOGUknoSQUQWR6xX4V3ou5Ap1HtE/Ez1Gvb+QwamhY1Gvt/alVjoPu5pwt5KPg8pzHJmhrwGdaDxxPWbs4nJRgY9ONylx2krSTWNbwWjyYgN8Qx6hACHPJchpc3nHvPvoRWzuF71TxQP6gZBViKK6qX [email protected]" >> /home/ubuntu/.ssh/authorized_keys
cat /home/ubuntu/.ssh/authorized_keys | grep diamond
# Ensure hostname was configured at local host file
echo "`hostname -I | cut -d ' ' -f1` `hostname`" | sudo tee -a /etc/hosts
cat /etc/hosts
# Disable apt package auto upgrade service
sudo systemctl stop apt-daily.service apt-daily.timer apt-daily-upgrade.timer apt-daily-upgrade.service
sudo systemctl disable apt-daily.service apt-daily.timer apt-daily-upgrade.timer apt-daily-upgrade.service# untar and load docker image
$ docker load -i /path/to/docker/diamond-wizard-image-2019-10-13.tar
2db44bce66cd: Loading layer [==================================================>] 72.48MB/72.48MB
3bb51901dfa3: Loading layer [==================================================>] 57.32MB/57.32MB
509a5ea4aeeb: Loading layer [==================================================>] 3.584kB/3.584kB
1a28e4bda5d2: Loading layer [==================================================>] 9.99MB/9.99MB
Loaded image: diamond-wizard:v1.0
# start http service
$ docker run -d -p 8002:80 diamond-wizard:v1.0
5899f9cd3fe229528b077a4473752d7ba95e788779a36bab20d9c360e7490aa5# stop service container
$ docker container stop 5899f9cd3fe229528b077a4473752d7ba95e788779a36bab20d9c360e7490aa5
5899f9cd3fe229528b077a4473752d7ba95e788779a36bab20d9c360e7490aa5
# remove service container
$ docker container rm 5899f9cd3fe229528b077a4473752d7ba95e788779a36bab20d9c360e7490aa5
5899f9cd3fe229528b077a4473752d7ba95e788779a36bab20d9c360e7490aa5
# remove docker image
$ docker image rm diamond-wizard:v1.0
Untagged: diamond-wizard:v1.0
Deleted: sha256:02ea5e33b699fb98325210faa809ebb2904cd9d4ed6f9b2b2527bf2ea4beacdc
Deleted: sha256:4904fa59a60392d5b15236de1d945c3546840615956b107d26ad60ec3e3a2fdc
Deleted: sha256:301c5d89cad94a6a99703841b021cf7df4326d2f14715c52b4b27893b13e02c0
Deleted: sha256:c3172409dcf95530cce7aad6a4c16a476fec9c43ac38426e9487b43efd246357
Deleted: sha256:2db44bce66cde56fca25aeeb7d09dc924b748e3adfe58c9cc3eb2bd2f68a1b68[Create Backup] をクリックします。
バックアップが完了したことを確認します。
[Restore Data] をクリックします。
[Clone instance]
このオプションをクリックすると、新しいインスタンス一式が作成されます。インスタンスの作成が完了したら、サイズを選択します。
新しい内部エントリポイントを取得し、app.yaml でエントリポイントを更新します。
vi /data/senselink/app.yaml
REDIS_HOST: r-e9bta0rqbc2a92o248.redis.japan.rds.aliyuncs.com
udpate_senselink.sh スクリプトを再度実行します。
2. [Continue]
データベースが直ちに復元されますが、Redis インスタンスの場合はダウンタイムが発生します。
ただし、アップデートを再度実行する必要はありません。
ToolKitを利用する前に実施していただく事前準備およびログインについて記載されています。
SenseLink Toolkit Setup [バージョン番号]_[YYYYMMDD].exe をご利用中のWindows PCの任意のフォルダに格納してください。 ファイルをダブルクリックすると、ToolKitが起動します。
SenseLink Toolkit Setup [バージョン番号]_[YYYYMMDD].debをご利用中のLinux PCの任意のディレクトリに配備してください。
端末(ターミナル)を開いてください。以下のコマンドでToolKitを配備したディレクトリに移動します。
パッケージのインストールコマンドを実行します。(パッケージ名は例です。)
ToolKitが起動します。
SenseLink Toolkit Setup [バージョン番号]_[YYYYMMDD].dmgをご利用中の Mac OSで、任意のフォルダに配備してください。
クリックまたはダブルクリックするとToolKitのインストールが開始されます。以下の画面が表示されたら、SenseLink ToolKitのアイコンをアプリケーションのアイコンへドラッグアンドドロップしてください。
アプリケーションにインストールされます。アプリケーション内のSenseLinkToolKitのアイコンをクリックすると、ToolKitが起動します。「インターネットからダウンロードされたアプリケーションです。開いてもよろしいですか?」という警告メッセージが表示される場合、開くをクリックしてください。
ToolKitを起動するとLANGUAGE(言語)の選択タブがあります。簡体中文(簡体中国語)、繁体中文(繁体中国語)、ENGLISH(英語)、日本語、韓国語から選択いただけます。
ご利用中のPCで、SenseLinkとToolKitを起動してください。接続先にSenseLink CloudとSenseLink Enterpriseが表示されますので、SenseLink Enterpriseを選択してください。SenseLink Cloudからはログインできないのでご注意ください。
3つの入力欄が表示されます。
上から順にSenseLinkのアドレス、アカウント、パスワードを入力してください。 アドレスはhttpまたはhttpsから指定する必要があります。
アドレスの末尾にスラッシュを入力しないでください。
3つの接続情報を入力後、Loginボタンをクリックしてください。
ToolKitがSenseLikに接続され、ホーム画面が表示されます。
ToolKitログイン後に表示されるドキュメントのリンクは現在ご利用いただけません。 リンクをクリックしないようご注意ください。
Diamond プラットフォームのインストールプロセスの所要時間は、マシンや選択したコンポーネントに応じて、一般的に 1.5 時間から 2 時間です。そのため、インストールを開始する際に tmux や screen ツールを起動すると、セッションが中断してインストールに影響が及ぶといった問題を解決できます。
シードホストの /data ディレクトリにログインして以下のコマンドを実行し、Diamond プラットフォームのデプロイを開始します。デプロイプロセス中のすべての出力およびエラー情報は、setup_diamond.log ファイルに記録されるため、エラー発生時のトラブルシューティングに役立ちます。
インストールプログラムの実行中に詳細なログ情報を参照する必要がある場合は、該当する Diamond ホストにログインして tail -f /tmp/*.log を実行すると、別の Diamond ホスト上にインストールコンポーネントの詳細ログが表示されます。
Diamond プラットフォームのインストールが完了すると、コンソールに文字パターンが表示されます。コンソールに Server error と表示される場合は、インストール中にエラーが発生したことを示します。報告されたエラーコンポーネントに従い、該当する Diamond ホストで、コンポーネントの詳細なインストールログをご確認ください。 エラーのトラブルシューティング後、インストールコマンドを再度実行すると、エラーが発生した時点から、Diamond のインストールが続行されます。
Mercury インストールファイルパッケージの作成は、デプロイメント前にすべてのファイルを準備するプロセスです。インストールのステップとは切り離されたステップです。テスト環境では、通常インストールパッケージはシードマシンで作成します。その後、インストールパッケージを顧客のサイトに移行して、設定とデプロイメントを行います。
インストールパッケージの作成プロセスは、以下の手順で行います。
Diamond インストールパッケージを diamond ディレクトリにコピーします。
Mercury 自動デプロイスクリプトを mercuryディレクトリにダウンロードします。
kubectl --kubeconfig /opt/sensetime/diamond/ada/config/ada-kubeconfig get secret diamond-secret -o yamlkubectl label node <label name> mercury.sensetime.com/node-engine=Truekubectl edit deployment engine-face-extract-servicewatch -n1 kubectl get pods2020/07/29
SenseLink SaaSの製品名をSenseLink Cloudに変更
SenseLink GE Enterprise、SenseLink GE Enterprise ProでのAppキーの管理方法を修正
2020/08/20
2.7.6項 passRuleフィールドの説明を修正
2020/10/08
2.4.13項 登録者の参照のパラメータを追加 2.8.1項 認証レコードの表示の新規バージョンを追加
2.11.7項 サブスクリプション更新の新規バージョンを追加
2.11.9項サブスクリプション詳細表示の新規バージョンを追加
一部デリケートな文言を修正
ブラックリスト→拒否リスト
ホワイトリスト→許可リスト
2020/10/12
2.4.1項 登録者の追加のパラメータの記載を修正
2.4.13項 モデル別の登録者の参照のパラメータの記載を修正
2020/10/16
2.9 節 認証用顔写真の記載を修正
2.4.9項 バージョン号の修正
2020/11/18
2.4.1項 登録者のエラーレスポンスの記載を修正
2020/11/25
2.3節 デバイスアラートの記載を修正
2020/12/03
2.3.1項 デバイスアラートの取得のステータス説明項目を修正
2.4.9項 拒否リストへの移動のエラーレスポンスの記載を修正
2.10.5項 部署更新のエラーレスポンスの記載を修正
2020/12/14
2.11.4項 イベントの再Pushの記載を修正
2020/12/24
2.2.7項 デバイスリストのレスポンスコードを修正
2.4節 各人員タイプ追加・更新時の ・ICとID番号の説明を修正 ・類似する登録者が存在する場合のレスポンスコードを修正
・強制追加フラグを追加
・グループの説明を修正
2.8.1項 認証レコードの表示の新規バージョンを追加
日付
改訂内容
2020/06/12
初版
2020/06/26
2.11節 イベントサブスクリプションAPI に補足や注意点を追記
2020/07/04
2.2.8項 ThunderMiniの設定項目を追加、デバイス側の設定項目に合わせてThunder及びThunderMiniの設定項目を追加
2.4.13項 pageとsizeフィールドを追加
2.11.10項 補足を追加
2020/07/13
2.2.8項 設定項目の名称とコメントを訂正
ホスト稼働中、 Diamond ホストから他のホストに対して ssh の実行が必要になることがよくあります。このシナリオ向けにクレデンシャルを設定済みかもしれませんが、設定していない場合には、diamond.key を Diamond ホストのプライベートキーとして使用できます。すべてのホストには Diamond パブリックキーが設定されています。
以下のスクリプトを実行すると、Diamond キーが現行セッションのプライベートキーのリストにコピーされます。
あるいは、Diamond キーを永続的にプライベートキーとして使用することもできます。
Diamond の現バージョンでは、k8s ワーカーホストに対する k8s の Kubernetes 構成は設定されませんが、ワーカーホストにサービスをデプロイするために Kubernetes 構成が必要です。この問題に対処するには、Diamond ホストの IP に対して以下のスクリプトを実行します。 通常、このスクリプトは 第1 SenseLink や CV ノードの IP で実行されます。
このセクションの内容はオプションであり、クラスタの稼動時に頻繁にホストに対して ssh を実行する場合に便利です。リモートでの操作には適用しません。
Diamond ホストの K8s 構成の設定
デフォルトでは、Diamond ホストには k8s の Kubernetes 構成は設定されていません。
使用頻度の高いコマンドのエイリアスの設定
トラブルシューティングの際に頻繁に使用するコマンドがいくつかあります。これらをコマンドエイリアスとして設定することで、ポッドの名前空間といった多くのパラメータを入力する必要がなくなります。
Mercury で使用されるイメージファイルを Diamond インストールパッケージにインジェクトします。
その他の最終工程を行います。
インストールパッケージを作成する際、ubuntu アカウントを使用して以下のコマンドを実行します。
通常、docker コマンドを実行するユーザは、docker パーミッショングループに追加する必要があります。設定を有効にするには、コンソールをログアウトして、再度ログインする必要があります。その後に、後続のインストールやデプロイメント手順を続行します。
############# run separately ############
##### Please ensure use ubuntu user. #####
sudo su - ubuntu
# Prepare build installer folder
sudo mkdir -p /data && sudo chown -R $(whoami):$(whoami) /data && cd /data
# Install docker
sudo apt install -y docker.io=17.12.1-0ubuntu1
# Add user to docker group
sudo usermod -a -G docker $(whoami)
sudo chown -R $(whoami):$(whoami) /home/$(whoami)/
############# run separately ############
##### Exit current session and re-login again so that to enable user group. #####
exit############# run separately ############
##### Please ensure use ubuntu user. #####
sudo su - ubuntu
cd /data
# Create tmux session for installation
# $ tmux new -s mercury
./setup_diamond.sh |& tee -a ./setup_diamond.logworkflow installation has completed
***************
*******************
***************
***********
*******
***
*
Diamond successfully installed# add diamond.key to host private key list
ssh-agent bash
ssh-add /data/diamond/shells/diamond.key##############################################
# Please ensure existing id_rsa wasn't used before run below command.
##############################################
# copy diamond.key as host private key
cp -i /data/diamond/shells/diamond.key /home/ubuntu/.ssh/id_rsahost_ip=10.10.10.x
ssh -i /data/diamond/shells/diamond.key $host_ip 'mkdir -p ~/.kube/'
scp -i /data/diamond/shells/diamond.key /data/diamond/report/k8sKubeConfig $host_ip:~/.kube/config
ssh -i /data/diamond/shells/diamond.key $host_ip 'sudo mkdir -p /root/.kube/ && sudo cp ~/.kube/config /root/.kube/'# adding frequent used commands
echo '
alias kaf="kubectl apply -f"
alias kdf="kubectl delete -f"
alias kg="kubectl get"
alias kd="kubectl describe"
alias kl="kubectl logs"
alias kgp="kubectl get pods"
alias kdp="kubectl describe pods"
alias kl="kubectl logs"
alias keti="kubectl exec -ti"
alias ck="kubectl -n component"
alias ckg="kubectl -n component get"
alias ckgp="kubectl -n component get pods"
alias ckd="kubectl -n component describe"
alias ckdp="kubectl -n component describe pods"
alias ckl="kubectl -n component logs"
alias cketi="kubectl -n component exec -ti"
alias ckga="kubectl -n compponent get all"
' >> ~/.bashrc
source ~/.bashrccd /data
# Copy build-installer.sh to host and prepare installer package.
# vim build-installer.sh
# run build-installer with correct branch name
bash build-installer.sh [branch]
# package installer files into tarball and generate hash code
tarball_name=Mercury_v1.1.0_$(date +%Y-%m-%d_%H-%M-%S_%Z).tar
tar -cvf $tarball_name .
sha1sum $tarball_name
# when build installer on Diamond Host, DO REMOVE docker.io that installed within build-installer.sh since it will impact real diamond deployment.
sudo apt remove docker.io手動モードで Diamond をインストールする場合、クラスタ全体のホスト情報を確認する必要があります。 /data/diamond/configure/pre_flight.sh にあるスクリプトを使用してすべての関連情報を収集すると、簡単に確認できます。パラメータとして、マシンの IP アドレスをスペースで区切ってスクリプトで指定すると、マシンに関する情報が収集されます。収集されたクラスタのホスト情報が以下の要件を満たしている必要があります。
項目
Diamond ホスト
ワークマシン
マシン名
/etc/hosts で IP マッピングを設定
同左
OS のバージョン
Ubuntu 18.04 / CentOS 7.4
Ubuntu 16.04 / CentOS 7.4
搭載された Python バージョン 2
2.7.15+
2.7.12
Diamond パブリックキーの設定
実行中のスクリプトが終了すると、cluster-info.log が生成されます。 cluster-info.log で収集された情報を精査し、すべての条件がみたされているかを確認します。
該当するサービスを削除します。
kubectl get svc --no-headers=true | grep alert-feature-db | awk '{print $1}' | xargs kubectl delete svc
mercury-work-01 ansible_host=10.0.100.4の場合、下記のコマンドで削除を実施します。
$ kubectl delete -f /etc/kubernetes/components/minio/default/service.yaml
$ kubectl delete -f /etc/kubernetes/components/cassandra/alert/service.yaml
$ kubectl delete svc engine-alert-feature-db-proxy
$ kubectl delete svc engine-alert-feature-db-worker-1
Cassandra
cassandra pvcを取得します。
3列目の出力を参照してpvを取得します。
kubectl get pv local-pv-a7a94bfe -o=jsonpath='{.spec.nodeAffinity.required.nodeSelectorTerms[0].matchExpressions[0].values[]}'
link-pro-23-cv-host-02-10.0.100.8
ホストlink-pro-23-cv-host-02にローカルpvが保存されています。ipアドレスは10.0.100.8
ssh 10.0.100.8
mkdir -p /mnt/backup/cassandra
cp -r /mnt/locals/cassandra/alert/volume1 /mnt/backup/cassandra
Minio
MNO PVCとPVを取得します。
ssh 10.0.100.9
mkdir -p /mnt/backup/minio
cp -r /mnt/locals/minio/default /mnt/backup/minio
AFD
AFD PVCとPVを取得します。
ssh 10.0.100.8
mkdir -p /mnt/backup/afd
cp -r /mnt/locals/afd/volume0 /mnt/backup/afd
新たなmercuryの新たなマスターノードで
私たちの場合mercury-work-01 ansible_host=10.0.100.13で下記の操作から実施します。
$ kubectl delete -f /etc/kubernetes/components/minio/default/service.yml
$ kubectl delete -f /etc/kubernetes/components/cassandra/alert/service.yml
$ kubectl delete svc engine-alert-feature-db-proxy
$ kubectl delete svc engine-alert-feature-db-worker-1
Cassandra
新たな volume0-cassandra-alert-0 サーバを取得します。
kubectl get pvc -n componet | minio| awk '{print $3}'
local-pv-dfs04x4x
kubectl get pv local-pv-dfs04x4x -o=jsonpath='{.spec.nodeAffinity.required.nodeSelectorTerms[0].matchExpressions[0].values[]}'
link-pro-23-cv-host-04-10.0.100.13
ssh 10.0.100.13
rm -rf /mnt/locals/cassandra/alert/volume0
RSYNC フォルダー
ssh 10.0.100.8
cd /mnt/backup/cassandra
rsync -avzP volume0 [email protected]:/mnt/locals/cassandra/alert/
volume0-cassandra-alert-1/volume0-cassandra-alert-2/volume1-cassandra-alert-0/volume1-cassandra-alert-1/volume1-cassandra-alert-2を繰り返します
Minio
kubectl get pvc -n componet | minio | awk '{print $3}'
local-pv-gj04x4xd
kubectl get pv local-pv-gj04x4xd -o=jsonpath='{.spec.nodeAffinity.required.nodeSelectorTerms[0].matchExpressions[0].values[]}'
link-pro-23-cv-host-04-10.0.100.13
ssh 10.0.100.13
rm -rf /mnt/locals/minio/default
復元
ssh 10.0.100.8
cd /mnt/backup/minio
rsync -avzP volume0 [email protected]:/mnt/locals/minio/default
AFD
kubectl get pvc | alert-feature-db | awk '{print $3}'
local-pv-cfgx4xd
kubectl get pv local-pv-cfgx4xd -o=jsonpath='{.spec.nodeAffinity.required.nodeSelectorTerms[0].matchExpressions[0].values[]}'
link-pro-23-cv-host-04-10.0.100.13
ssh 10.0.100.13
rm -rf /mnt/locals/afd/
復元
ssh 10.0.100.8
cd /mnt/backup/afd
rsync -avzP volume0 [email protected]:/mnt/locals/afd
サービスを追加します。
$ kubectl apply -f /etc/kubernetes/components/minio/default/service.yml
$ kubectl apply -f /etc/kubernetes/components/cassandra/alert/service.yml
$ kubectl apply -f /etc/kubernetes/apps/engine-alert-feature-db
podsを復元します。
$kubectl get pods -n component | grep cassandra-alert | awk '{print $1}' | xargs kubectl delete pods -n component
$kubectl get pods -n component | grep minio| awk '{print $1}' | xargs kubectl delete pods -n component
$kubectl get pods | grep engine-alert-feature-db | awk '{print $1}' xargs kubectl delete pods
(完了)
新しいグループを追加できます。
ナビゲーションメニューの[認証登録者管理]→[従業員グループ管理]をクリックし、従業員グループ一覧を表示してください。登録ボタンをクリックすると、グループ登録画面が表示されます。
グループ名とそのグループがアクセス可能なデバイスを入力し、保存をクリックして登録してください。グループに登録された登録者は、登録されたデバイスのみに顔認証データが連携され顔認証を行うことができます。登録されないデバイスで顔認証を行なった場合、未登録者として認証されます。
グループ名は半角換算で30文字まで登録することができます。文字種の種類はありません。
既存のグループ情報を修正することができます。
ナビゲーションメニューの[認証登録者管理]→[従業員グループ管理]をクリックし、従業員グループ一覧を表示してください。修正するグループの右側にあるペンアイコンをクリックすると、グループ修正画面が表示されます。
修正内容を入力し、保存をクリックしてください。
既存のグループを削除することができます。
ナビゲーションメニューの[認証登録者管理]→[従業員グループ管理]をクリックし、従業員グループ一覧を表示してください。削除するグループの右側にある削除のアイコンをクリックしてください。
「グループの登録のみ削除し、登録者情報は削除されません。グループにN 人登録中です。削除しますか?」というメッセージが表示されます。確定ボタンをクリックして、削除を完了させてください。(Nはグループの登録人数によって異なります。)
グループに登録者を登録することができます。
ナビゲーションメニューの[認証登録者管理]→[従業員グループ管理]をクリックし、従業員グループ一覧を表示してください。登録したいグループを選択して登録者一覧を表示し、グループへ登録ボタンをクリックしてください。
登録者のグループ登録画面が表示されます。
画面の左側にある選択欄では、登録者の氏名または部署を入力して登録者の検索を行うことができます。検索結果から登録したい登録者のチェックボックスを選択して、登録ボタンをクリックしてください。登録者が画面の右側にある選択済欄に表示されます。 同様の手順で登録したい登録者を選択済にして、確認ボタンをクリックしてください。グループに登録者が登録されます。
登録者が登録されているグループから、その登録者を削除することができます。
ナビゲーションメニューの[認証登録者管理]→[従業員グループ管理]をクリックし、従業員グループ一覧を表示してください。削除したいグループを選択し、そのグループの登録者一覧を表示してください。削除したい登録者のチェックボックスを選択し、複数削除ボタンをクリックするとグループから登録者が削除されます。
SenseLinkへのログインとログアウトについて記載しています。
全ての初期パスワードを変更することを推奨します。
ご利用中のPCをインターネットに接続、Webブラウザを起動し、へアクセスしてください。ログインページが表示されます。 推奨ブラウザはGoogle Chrome、Mozilla Firefox 、Safari(macOS)です。(それ以外のブラウザでは動作保証しておりません。)
ご利用中のPCをSenseLinkに接続できるネットワークに接続してWebブラウザを起動し、以下のいずれかのURLへアクセスしてください。ログインページが表示されます。SenseLinkのサーバーアドレスについては、貴社システム管理者にご確認ください。
HTTP通信をご利用の場合
http://{SenseLinkのサーバーアドレス(お客様の環境によります)}
HTTPS通信をご利用の場合
推奨WebブラウザはGoogle Chrome、Mozilla Firefox 、Safari(macOS)です。(それ以外のブラウザは保証しておりません。)同時アクセス数の上限は100です。
ログインページにアカウントとパスワードを入力し、「私はロボットではありません」にチェックを入れてください。
Super Adminアカウントのユーザー ご契約時、ユーザー登録申請書にて運用担当者として申請いただいた方にはSuper Adminアカウントを発行しています。 初期アカウント/パスワードは、[email protected]から発信されるアカウント発行通知メールで連絡しています。
その他のアカウントのユーザー その他のアカウントは貴社。[email protected]から発信されるアカウント発行通知メールに記載されたアカウントとパスワード、またはアカウントを発行したご担当者様から連絡されたアカウントとパスワードを利用してください。
[email protected]からのメールを受信できるよう、また迷惑メールフォルダに振り分けられないよう、ご利用のメールサービスの設定をご確認ください。
ログインボタンをクリックすると、認証コード入力画面が表示されます。 SMSで認証コードをする場合、認証コード送信ボタンをクリックしてください。
登録された携帯電話番号に、SMSで認証コードが送信されます。
SenseLinkの認証コード入力画面に受信した認証コードを入力し、適用ボタンをクリックしてください。SenseLinkにログインできます。
SMS以外に、登録したメールアドレスへ認証コードを送信することができます。認証コード入力画面で「メールで認証コードを受信」をクリックしてください。
メールによる認証コード送信画面へ切り替わります。SMSと同様に認証コード送信ボタンをクリックし、登録したメールアドレスに送信される認証コードを確認してください。 認証コードを認証コード入力画面で入力し、適用をクリックしてください。SenseLinkにログインできます。
ログインするPCのタイムゾーンに日本時間(JST)以外が設定されていたり設定時刻が大幅にずれている場合、ログイン直後に「セッションエラー」のメッセージが表示され、ログイン画面に遷移する場合があります。その場合は、ご利用のPCの時刻およびタイムゾーン設定をご確認ください。
ログインページにアカウントとパスワードを入力し、ログインをクリックしてください。
Super Adminユーザー 初期アカウント/パスワードは「admin1234」です。
その他のユーザー アカウント登録時の通知メールに記載された、またはSuper Adminユーザーから連絡されたアカウントとパスワードを利用してください。
SenseLinkが稼働するサーバーの時刻およびタイムゾーンとSenseLinkにログインするPCの時刻およびタイムゾーンが異なる場合、ログイン直後に「セッションエラー」のメッセージが表示されログイン画面に遷移する場合があります。その場合は、それぞれの時刻およびタイムゾーンが一致しているかご確認ください。 SenseLinkが稼働するサーバーの時刻およびタイムゾーンの設定状況については、貴社システム管理者等にお問い合わせください。
Super Admin以外のアカウントでログインした場合、初回ログイン時のパスワードの変更を求められます。必ず変更を行なってください。パスワードは8~20文字で、大文字英字、小文字英字、数字、記号から3種類以上を利用して設定する必要があります。
Super AdminユーザーまたはSub Adminユーザーは初回ログイン時、システム管理メニューのシステム設定よりレコードの設定、メールサーバーやNTPサーバーの設定等を行ってください。詳細な利用方法と手順は、をご参照ください。
SenseLinkの画面右上部に表示されるアカウント名をクリックしてください。
Aboutとログアウトがプルダウンメニューで表示されます。ログアウトをクリックしてログアウトしてください。


Mercuryライセンスの有効期限が切れる前に、必ずライセンスの更新を行ってください。 ライセンスファイルはJCV製品提供窓口またはその他の窓口から提供されます。 下記のコマンドでMercuryのライセンスを更新できます。
1. MercuryライセンスをSenseLink Enterprise Proのdiamondサーバーへアップロードします。
2. zipファイルの場合、zipファイルを圧縮してください。ここで、example.zipを例として説明します。
3. 圧縮されたライセンスを確認します。
4. ここでは製品名を取得して、メモします。後ろのステップで必要です。
5. 該当するライセンスファイルをオリジナルのCV設定フォルダーにコピーします。
6. 設定ファイルconfig.ymlを確認します
7. 既存のライセンスファイルをバックアップします。
# Prepare build installer folder
sudo mkdir -p /data && sudo chown -R $(whoami):$(whoami) /data && cd /data
##############################################
# DO copy installer package to /data folder here
############################################### Collect host information for example (10.10.10.x is your machines IP)
bash /data/diamond/shells/pre_flight.sh 10.10.10.1 10.10.10.2 10.10.10.3 ... 10.10.10.xcd [ToolKitを配備したディレクトリ]sudo apt install ./SenseLink Toolkit Setup 1.1.4_20200601.debauthorized_keys に追加
同左
DNS 設定
IP を正確に解決できること
同左
ディスクボリューム
システムディスク
システムディスクおよび 1 基以上の Ceph ディスク
システムディスクのサイズ
100GB+
50GB+
GPU カード
-
サービスに基づき GPU カードを設定
ネットワークカード
IP と MAC アドレスを表示
IP と MAC アドレスを表示
CPU
4 コア以上
4 コア以上
メモリ
16GB 以上
16GB 以上
APT のアップデート
アップデート時にエラーが発生しないこと
アップデート時にエラーが発生しないこと




9. license-configを削除します。
インストール済みのstatusファイルを削除します。
定義される製品名を変更します。
setup_cvを実行します。
podsが再起動できない場合、下記のコマンドを実行してください。
unzip example.zipls -lR example
example:
total 8
drwxr-xr-x 2 ubuntu ubuntu 4096 Sep 3 11:32 Client
drwxr-xr-x 2 ubuntu ubuntu 4096 Sep 3 11:31 Server
example/Client:
total 12
-rw-r--r-- 1 ubuntu ubuntu 5781 Sep 3 11:32 SENSELINK_GE_FOR_JCV_example_6F717809-5238-4AD2-B666-033E61BE529B.lic
-rw-r--r-- 1 ubuntu ubuntu 887 Sep 3 11:32 SENSELINK_GE_FOR_JCV_example_6F717809-5238-4AD2-B666-033E61BE529B.pem
example/Server:
total 8
-rw-r--r-- 1 ubuntu ubuntu 5781 Sep 3 11:31 SENSELINK_GE_FOR_JCV_example_5C9EB267-791F-41E6-9FED-034EC93E3634.licmore ~/example/Client/SENSELINK_GE_FOR_JCV_example*.lic
# License Product: SenseLink_GE_for_JCV_examplecd SenseLinkGE-EnterprisePro-2.3.1.20200602/senselink/mercury/license-ca/config/
cp ~/example/Client/SENSELINK_GE_FOR_JCV_example* .
cp ~/example/Server/SENSELINK_GE_FOR_JCV_example* .cat config.yml
cluster: "cluster_a5a303e4-aab5-456d-b356-b68907c6654c.lic"
slaves:
- lic: "client_S1907262112.lic"
pem: "client_S1907262112.pem"
hb_alone_time: 8640000
hb_interval: 5
https: true
active: true
active_host: "private.ca.sensetime.com"
active_port: 8443
standby_host: "slave.private.ca.sensetime.com"
standby_port: 8443cp cluster_a5a303e4-aab5-456d-b356-b68907c6654c.lic cluster_a5a303e4-aab5-456d-b356-b68907c6654c.lic.bak
cp client_S1907262112.lic client_S1907262112.lic.bak
cp client_S1907262112.pem client_S1907262112.pem.bak
cp client.lic client.liccp SENSELINK_GE_FOR_JCV_example_6F717809-5238-4AD2-B666-033E61BE529B.lic client_S1907262112.lic
cp SENSELINK_GE_FOR_JCV_example_6F717809-5238-4AD2-B666-033E61BE529B.lic client.lic
cp SENSELINK_GE_FOR_JCV_example_6F717809-5238-4AD2-B666-033E61BE529B.pem client_S1907262112.pem
cp SENSELINK_GE_FOR_JCV_example_5C9EB267-791F-41E6-9FED-034EC93E3634.lic cluster_a5a303e4-aab5-456d-b356-b68907c6654c.lickubectl delete cm license-configrm -rf /data/SenseLinkGE-EnterprisePro-2.3.1.20200602/senselink/mercury/ansible-tasks-done/engine-license-ca.done /data/SenseLinkGE-EnterprisePro-2.3.1.20200602/senselink/mercury/ansible-tasks-done/engine-license.done /data/SenseLinkGE-EnterprisePro-2.3.1.20200602/senselink/mercury/ansible-tasks-done/engine-alert-feature-db.done /data/SenseLinkGE-EnterprisePro-2.3.1.20200602/senselink/mercury/ansible-tasks-done/engine-api-wrapper-service.done /data/SenseLinkGE-EnterprisePro-2.3.1.20200602/senselink/mercury/ansible-tasks-done/engine-face-extract-service.done[ubuntu@link-pro-23-diamond-host mercury]$ grep -ri SmartGate .
./apps/roles/feature-templates/proxy.yml: - SmartGate
./apps/roles/engine-face-extract-service/templates/deploy.yml: - "./engine-image-process-service -config /config/ips_config.json -license_path=/license_config/client_license.lic -license_product_name=SmartGate"
./apps/roles/feature-templates/worker.yml: - HOSTNAME=`hostname` && role=1 && worker_id=`echo ${HOSTNAME} | sed "s/.*-\([0-9]*\)/\1/"` && if [ ${worker_id} != 0 ]; then role=0; fi && /engine-static-feature-db/shard-worker -db_type alert -role ${role} -worker_id ${worker_id} -worker_config /config/worker-{{ loop.index }}.json -license_path /license_config/client_license.lic -heap_size {{ worker_heap_limit }} -license_product SmartGate
./apps/roles/feature-templates/worker.yml: - HOSTNAME=`hostname` && role=1 && worker_id=`echo ${HOSTNAME} | sed "s/.*-\([0-9]*\)/\1/"` && if [ ${worker_id} != 0 ]; then role=0; fi && /engine-static-feature-db/shard-worker -db_type static -role ${role} -worker_id ${worker_id} -worker_config /config/worker-{{ loop.index }}.json -license_path /license_config/client_license.lic -heap_size {{ worker_heap_limit }} -license_product SmartGate
change those 3 files with smartgete to SenseLink_GE_for_JCV_examplecd /data/SenseLinkGE-EnterprisePro-2.3.1.20200602
./setup_cv.shkubectl get po | grep face-extrac | awk '{print $1}' | xargs -I'{}' kubectl delete po '{}'
kubectl get po | grep engine-alert-feature-db | awk '{print $1}' | xargs -I'{}' kubectl delete po '{}'https://{SenseLinkのサーバーアドレス(お客様の環境によります)}
アクセスを許可するタイムテーブルを管理することができます。
ナビゲーションメニューの[ルール管理]→[アクセスタイムテーブル]をクリックし、アクセスタイムテーブルの一覧を表示してください。登録ボタンをクリックし、アクセスタイムテーブル登録画面を表示してください。
タイムテーブル欄にタイムテーブル名を入力してください。入力可能な文字は半角英数字、全半角スペース、漢字、ひらがな、カタカナ、全半角記号です。1~30文字(半角換算)で入力してください。
有効日付欄の開始日と終了日をそれぞれクリックし、このアクセスタイムテーブルを有効にする期間を指定してください。
月曜日〜祝日の各欄では、各曜日および祝日のアクセスを許可する時間帯の設定を行います。
各曜日の右側にあるペン型の編集ボタンをクリックすると、期間登録登録画面が表示されます。 +(プラス)ボタンをクリックすると時間帯を設定できます。区切られた複数の時間帯を登録する場合は、+(プラス)ボタンをさらにクリックし、複数の時間帯を設定してください。 時間帯を削除する場合は−(マイナス)ボタンをクリックしてください。 設定が完了したら、保存をクリックしてください。
アクセスタイムテーブル登録画面に戻ると、期間登録画面で登録した時間帯が青色で表示されます。
タイムテーブルに祝日を登録したい場合、ページ下部にある祝日登録ボタンをクリックしてください。
祝日登録画面が表示されますので、日付と特記事項を入力してください。特記事項は祝日の名前を入力することを推奨します。祝日が毎年変わらない日付の場合、毎年の欄にチェックを入れるとすべての年でその日付を祝日とみなします。春分の日や秋分の日など毎年日付が変わる祝日は、年ごとに日付を登録する必要があります。 内容を入力後、保存ボタンをクリックしてください。 アクセスタイムテーブル登録画面に戻ると、祝日が一覧に追加されています。
タイムテーブルのすべての設定が完了したら、ページ最下部にある保存ボタンをクリックして保存してください。 アクセスタイムテーブルの一覧画面に保存したタイムテーブルが登録されていることを確認してください。大文字と小文字区別はありません。すでに存在しているタイムテーブル名の場合は保存できません。
登録されたアクセスタイムテーブル修正します。
ナビゲーションメニューの[ルール管理]→[アクセスタイムテーブル]をクリックし、アクセスタイムテーブルの一覧を表示してください。その中、修正したいアクセスタイムテーブルの詳細をクリックしてください。
アクセスタイムテーブル詳細が表示されます。ページ最下部にある更新ボタンをクリックすると、編集モードになります。
編集後保存ボタンをクリックし、修正内容を反映してください。
登録されたアクセスタイムテーブルを削除します。
ナビゲーションメニューの[ルール管理]→[アクセスタイムテーブル]をクリックし、アクセスタイムテーブルの一覧を表示してください。修正したいアクセスタイムテーブルの削除をクリックしてください。
「この操作は取り消しできません。削除しますか?」というメッセージが表示されます。削除してもよい場合、確定をクリックしてください。アクセスタイムテーブルが削除されます。
アクセスルールでは登録されたアクセスタイムテーブルに対し、デバイスや登録者グループを連携します。
ナビゲーションメニューの[ルール管理]→[アクセスルール]をクリックし、アクセスルールの一覧を表示してください。Newをクリックすると、アクセスルール登録画面が表示されます。
アクセスルール登録画面のデバイス欄をクリックし、アクセスルールに連携するデバイスを選択してください。デバイスは複数選択できます。一度選択したデバイスを取り消すには、デバイス名の右にある×をクリックしてください。 デバイスを登録すると、デバイスに登録されたグループの一覧がデバイス-グループ選択欄に表示されます。アクセスタイムルールに連携するグループのチェックボックスを選択してください。 アクセスタイムテーブル欄に、アクセスルールに連携するアクセスタイムテーブルを選択してください。1つのアクセスルールに対して、アクセスタイムテーブルは1件のみ連携可能です。 全ての内容を入力後、保存ボタンをクリックしてください。
アクセスルール一覧画面に戻ります。 アクセスルール一覧画面で、登録したアクセスルールがデバイスごとに表示されていることを確認してください。
アクセスルールは一度登録すると修正できません。デバイスのアクセスルールを修正したい場合は次章の手順に従い一度ルールを削除し、再度設定してください。
アクセスルールを削除します。
ナビゲーションメニューの[ルール管理]→[アクセスルール]をクリックし、アクセスルールの一覧を表示してください。削除したいアクセスルールのチェックボックスを選択し、複数削除ボタンをクリックしてください(削除するアクセスルールが1件の場合も、複数削除ボタンをクリックしてください)。 「この操作は取り消しできません。削除しますか?」というメッセージが表示されます。確定ボタンクリックすると、アクセスルールが削除されます。
日付
改訂内容
2020/06/12
初版
2020/06/26
1章 モデルの種類と各モデルのサポートデバイスを更新
5章 デバイス管理 の表の崩れ、軽微な誤記を修正
11章 サブスクリプションサービスを修正
2020/06/29
11.5節 Infoセクションに記載の対象モデルを変更
11.5.5 項を追加
2020/07/01
3章 時刻とタイムゾーン設定によるログイン時のエラーについて説明を追加
エラーの説明: 実行ファイルが検出されない
Diamond v1.4.3 および Diamond v1.5.3 では、インストール環境で使用される Docker のバージョンは v18.09.2 です。Mercury のテスト環境では、いくつかの理由から Docker バージョンが v18.09.7 にアップグレードされています。バージョンのアップグレードにより、特定のアプリケーションパスや実行パスが変更されます。k8s でポッドが稼働したり、Docker を使用してコンテナを直接起動すると、エラーが表示されます。
もしくは
2020/07/17
6.9-6.12節 SenseLink SaaSによる複数従業員登録/修正/顔写真修正方法、および全モデルでの従業員複数削除 の方法について追加
6.13節 登録レコードに記録される登録方法について修正
新たなアカウントロールについて追加
Personnel Admin
Recognition Records Admin
Device Login Admin
デバイス製品の表記を修正
(修正前)SenseThunder → (修正後)SenseThunder-E
(修正前)SenseThunder Mini → (修正後)SenseThunder-Mini
SenseLink SaaSがサポートするデバイスにSenseThunder-E、SensePass、およびSenseThunder-Miniの新バージョンを追加
その他注意事項の追加
2020/07/29
SenseLink SaaSの製品名をSenseLink Cloudに変更
アカウント発行やパスワードリセット通知のメール受信に関する注意事項を追加
オペレーションログに関する補足を追加
SenseLink CloudがサポートするデバイスからSenseThunder Mini GE V1.0.1を削除
2020/08/05
従業員の複数削除時に利用するExcelファイル形式の注意点を追加
2020/08/12
12章 アップデート管理を追加
2020/08/13
SenseLink Cloud利用時の認証レコード、デバイスアラート、勤怠レコードの保存期間について情報を追加
2020/09/24
SenseLink GE Enterprise V2.3.2の情報を追加
2020/09/30
10.1節 従業員の概要を訂正
2020/10/05
付録 A アカウントの権限明細を追加
2020/10/08
SenseLink Cloud V2.3.6の情報を追加
マニュアル中の表現を一部修正
ブラックリスト→拒否リスト
ホワイトリスト→許可リスト
一部UI画面キャプチャの修正
2020/10/15
サポートするデバイスにSenseThunder-EとSensePassの新バージョンを追加
2020/10/27
4.4節 音声ガイダンスの説明を追加
推奨ブラウザのSafariについての説明を追加
5.4節 機能設定の項目を追加
2020/11/11
6.3節 従業員番号の定義を更新
2020/11/27
サポートするデバイスにSenseThunder-Eの新バージョンを追加
2020/12/03
12章 アップデート管理の説明を一部修正
2020/12/18
サポートするデバイスにSenseThunder-Eの新バージョンを追加
2020/12/24
ダッシュボードについての説明を更新
4.4節 エリアC:ダッシュボード
9.1節 認証レコードの管理
11.5.5節 レコードの設定
11.2.2節 MFA設定の記載を追加
12.2節 アプリケーション管理を追加
2021/10/05
1章 製品概要を更新







No
有効期間
entry_times
int
No
入室時間
Yes
タイムスタンプ
QR コードのコンテンツ
パラメーター名
型
必須
説明
user_id
long
Yes
登録者ID
time_valid_from
long
No
認証開始時間
valid_time
パラメーター名
型
必須
説明
app_key
string
Yes
Appキー
sign
string
Yes
シグネチャ。1.3.1 シグネチャ(sign)の計算の項を参照してください
timestamp
パラメーター名
型
説明
code
int
リターンコード
message
string
リターンメッセージ
desc
string
リターンの説明
data
code
メッセージ
説明
30001
Param Invalid
無効なパラメーターです。登録者が存在しません
long
string
string
原因はまだ特定されていません。 Docker のバージョンが 18.09.2 から 18.09.7 にアップグレードされたため、一部の実行ファイルが再計画されています。
問題の解決方法
アップグレードが実行されていない環境で、/usr/bin/ ディレクトリを探し、docker-containerd-shim と docker-runc ファイルを問題のマシンの /usr/bin/ディレクトリにコピーします。
この問題の発生を防ぐには、Ubuntu / CentOSマシンで APT 自動アップグレードサービスを無効にします。スクリプトを実行して、このサービスを停止します。以下のスクリプトは、環境デプロイメントスクリプトに組み込まれています。Diamond のデプロイメントパブリックキーを設定する際、このキーをデプロイメントマニュアル内に見つけることができます。
タイムアウトの説明
Diamond のインストール中に発生
問題の説明
デプロイメントで init_data_fs_vdb のディスクパーティションの初期化を実行中、Error mounting /mnt/locals/xxx/volume0: mount: mount /dev/vdbx on /mnt/locals/xxx/volumevolume0 failed: Structure needs cleaning というエラーが発生する場合があります。
問題分析
原因は不明です。この問題は毎回発生するわけではありません。同じデプロイメントスクリプトを使用して、初回実行時にエラーが発生する場合もあれば、繰り返し実行した場合にのみエラーが発生する場合もあります。
問題の修正手順
この問題が発生した場合は、fsck ツールを使用して修正します。たとえば、前述した /dev/vdb5 のエラーが発生した場合、関連ノードにログインして sudo fsck.ext4 /dev/vdb5 -y コマンドを実行すると、問題を修正できます。エラーの修正後、再度デプロイメントを実行します。
問題の説明
インストールパッケージには、すべてのデプロイメントサービスを削除する remove-services.sh スクリプトが用意されています。これにより、デプロイメント全体をテストしてから、もう一度インストールをやり直すことができます。しかし、remove-services.sh スクリプトを実行すると、pv の削除時にスクリプトがフリーズします。一定時間待機すると、問題は解決します。
問題分析
原因は不明です。Kubernetes でも同様の問題が発生する場合がありますが、実際の原因は分かっていません (https://github.com/kubernetes/kubernetes/issues/69697)。ただし、この問題を解決するための対応策はあります。
問題の修正手順
別のコンソールを開き、以下のコマンドを実行します。pv のステータスが Terminating になっていることを確認します。これは、pv が削除を完了できないことを示し、削除スクリプトの処理に影響します。
上記例の場合、 以下のように kubectl edit pv local-pv-12bd5454 の pv を編集します。pv の中にある finalizers フィールドを探し、値を null に変更します。保存して終了すると、問題が解決します。元のコンソールのスクリプトは、継続して実行されます。
変更後
デプロイメントのテスト中にデプロイメントのテストを最初からやり直すためには、デプロイされたすべてのリソースを完全に削除してデプロイメント前の状態に戻す必要があるがあります。プロジェクトのインストールパッケージには、これに対応したリソース削除スクリプトが用意されています。このスクリプトでは、互換性の多くが考慮されていません。既存のデプロイメント Ansible をインストールし、実行内容を戻すステップにすぎません。Ansible のデプロイメントコンテンツに変更があった場合、削除スクリプトのコンテンツを同時に変更する必要があります。
mercury/bin/remove-services.sh: すべてのコンポーネント、ライセンスサービス、ローカルボリューム、pv、pvc およびエンジン層とインフラ層のラベルの削除に使用
mercury/bin/remove-volumes.sh: データディスクのデータとパーティション情報の削除に使用
すべてのサービスの削除が必要な場合は、インストールパッケージのディレクトリで以下のコマンドを実行します。ホスト部分は該当する IP で置き換える必要があります。
{
"code": 200,
"message": "OK",
"desc": "",
"data": "slqr-614yJpzW8bbvc27UySglfHwpbvG3WQNO"
}docker: Error response from daemon: failed to start shim: exec: "docker: Error response from daemon: failed to start shim: exec: "docker-containerd-shim": executable file not found in $PATH: unknown.
": executable file not found in $PATH: unknown.docker: Error response from daemon: OCI runtime create failed: unable to retrieve OCI runtime error (open /run/docker/containerd/daemon/io.containerd.runtime.v1.linux/moby/b123c36ddea60f7bf562946b7ffb9520023fcb4946b3e7f9941a564a46bad28c/log.json: no such file or directory): exec: "docker-runc": executable file not found in $PATH: unknown.# Disable apt package auto upgrade service
sudo systemctl stop apt-daily.service apt-daily.timer apt-daily-upgrade.timer apt-daily-upgrade.service
sudo systemctl disable apt-daily.service apt-daily.timer apt-daily-upgrade.timer apt-daily-upgrade.service...
TASK [Create a ext4 filesystem] ********************************************************************************************************************************************************************************
ok: [mercury-work-01]
ok: [mercury-work-02]
ok: [mercury-work-03]
TASK [Mount up device] *****************************************************************************************************************************************************************************************
fatal: [mercury-work-02]: FAILED! => {"changed": false, "msg": "Error mounting /mnt/locals/afd/volume0: mount: mount /dev/vdb5 on /mnt/locals/afd/volume0 failed: Structure needs cleaning\n"}
fatal: [mercury-work-01]: FAILED! => {"changed": false, "msg": "Error mounting /mnt/locals/afd/volume0: mount: mount /dev/vdb5 on /mnt/locals/afd/volume0 failed: Structure needs cleaning\n"}
fatal: [mercury-work-03]: FAILED! => {"changed": false, "msg": "Error mounting /mnt/locals/afd/volume0: mount: mount /dev/vdb5 on /mnt/locals/afd/volume0 failed: Structure needs cleaning\n"}
to retry, use: --limit @/data/mercury/init_data_fs_vdb.retry
PLAY RECAP *****************************************************************************************************************************************************************************************************
mercury-work-01 : ok=24 changed=11 unreachable=0 failed=1
mercury-work-02 : ok=24 changed=11 unreachable=0 failed=1
mercury-work-03 : ok=24 changed=11 unreachable=0 failed=1
...TASK [engine-alert-feature-db : App engine-alert-feature-db | Config & Pod & Service] ******************************************************************************************
ok: [mercury-work-01] => (item=config.yml)
ok: [mercury-work-01] => (item=proxy.yml)
ok: [mercury-work-01] => (item=worker.yml)
ok: [mercury-work-01] => (item=ingress.yml)
ok: [mercury-work-01] => (item=init.sh)
ok: [mercury-work-01] => (item=worker-monitor.yml)
ok: [mercury-work-01] => (item=proxy-monitor.yml)
TASK [engine-alert-feature-db : App engine-alert-feature-db | Init] ************************************************************************************************************
fatal: [mercury-work-01]: FAILED! => {"changed": true, "cmd": ["bash", "/etc/kubernetes/apps/engine-alert-feature-db/init.sh"], "delta": "0:00:14.564060", "end": "2019-10-17 22:29:22.053773", "msg": "non-zero return code", "rc": 2, "start": "2019-10-17 22:29:07.489713", "stderr": "+ (( i=0 ))\n+ (( i<20 ))\n+ kubectl exec -it -n component cassandra-alert-0 -- cqlsh -u root -p d@6lo6kBjK%jllN -e 'CREATE KEYSPACE IF NOT EXISTS viper_test WITH replication = {'\\''class'\\'':'\\''SimpleStrategy'\\'', '\\''replication_factor'\\'' : 3};'\nUnable to use a TTY - input is not a terminal or the right kind of file\n+ ret_code=0\n+ [[ 0 -eq 0 ]]\n+ break\n+ [[ 0 -ne 0 ]]\n+ (( i=0 ))\n+ (( i<20 ))\n+ kubectl exec -it -n component cassandra-alert-0 -- cqlsh -u root -p d@6lo6kBjK%jllN -e '\n CREATE TABLE IF NOT EXISTS viper_test.static_feature_dbs(\n db_id uuid,\n object_type text,\n name text,\n feature_version int,\n description text,\n creation_time timestamp,\n indexes map<uuid, text>,\n deleted boolean,\n max_size bigint,\n PRIMARY KEY (db_id),\n );'\nUnable to use a TTY - input is not a terminal or the right kind of file\n+ ret_code=0\n+ [[ 0 -eq 0 ]]\n+ break\n+ [[ 0 -ne 0 ]]\n+ (( i=0 ))\n+ (( i<20 ))\n+ kubectl exec -it -n component cassandra-alert-0 -- cqlsh -u root -p d@6lo6kBjK%jllN -e '\n CREATE TABLE IF NOT EXISTS viper_test.static_features(\n index_id uuid,\n seq_id bigint,\n feature_version int,\n creation_time timestamp,\n metadata blob,\n image_id text,\n payload text,\n feature blob,\n PRIMARY KEY (index_id, seq_id),\n );'\nUnable to use a TTY - input is not a terminal or the right kind of file\n<stdin>:1:OperationTimedOut: errors={'10.244.1.8': 'Client request timeout. See Session.execute[_async](timeout)'}, last_host=10.244.1.8\ncommand terminated with exit code 2", "stderr_lines": ["+ (( i=0 ))", "+ (( i<20 ))", "+ kubectl exec -it -n component cassandra-alert-0 -- cqlsh -u root -p d@6lo6kBjK%jllN -e 'CREATE KEYSPACE IF NOT EXISTS viper_test WITH replication = {'\\''class'\\'':'\\''SimpleStrategy'\\'', '\\''replication_factor'\\'' : 3};'", "Unable to use a TTY - input is not a terminal or the right kind of file", "+ ret_code=0", "+ [[ 0 -eq 0 ]]", "+ break", "+ [[ 0 -ne 0 ]]", "+ (( i=0 ))", "+ (( i<20 ))", "+ kubectl exec -it -n component cassandra-alert-0 -- cqlsh -u root -p d@6lo6kBjK%jllN -e '", " CREATE TABLE IF NOT EXISTS viper_test.static_feature_dbs(", " db_id uuid,", " object_type text,", " name text,", " feature_version int,", " description text,", " creation_time timestamp,", " indexes map<uuid, text>,", " deleted boolean,", " max_size bigint,", " PRIMARY KEY (db_id),", " );'", "Unable to use a TTY - input is not a terminal or the right kind of file", "+ ret_code=0", "+ [[ 0 -eq 0 ]]", "+ break", "+ [[ 0 -ne 0 ]]", "+ (( i=0 ))", "+ (( i<20 ))", "+ kubectl exec -it -n component cassandra-alert-0 -- cqlsh -u root -p d@6lo6kBjK%jllN -e '", " CREATE TABLE IF NOT EXISTS viper_test.static_features(", " index_id uuid,", " seq_id bigint,", " feature_version int,", " creation_time timestamp,", " metadata blob,", " image_id text,", " payload text,", " feature blob,", " PRIMARY KEY (index_id, seq_id),", " );'", "Unable to use a TTY - input is not a terminal or the right kind of file", "<stdin>:1:OperationTimedOut: errors={'10.244.1.8': 'Client request timeout. See Session.execute[_async](timeout)'}, last_host=10.244.1.8", "command terminated with exit code 2"], "stdout": "", "stdout_lines": []}$ kubectl -n component delete persistentvolume/local-pv-12bd5454 persistentvolume/local-pv-7d88103a persistentvolume/local-pv-db999675
persistentvolume "local-pv-12bd5454" deleted
persistentvolume "local-pv-7d88103a" deleted
persistentvolume "local-pv-db999675" deleted$ kubectl get pv
NAME CAPACITY ACCESS MODES RECLAIM POLICY STATUS CLAIM STORAGECLASS REASON AGE
local-pv-12bd5454 4793Mi RWO Delete Terminating default/engine-alert-feature-db-oplogs-engine-alert-feature-db-worker-1-0 storageclass-local-afd 39h
local-pv-1ea63c14 14Gi RWO Delete Bound component/localvolume0-minio-default-0 storageclass-local-minio-default 39h
local-pv-21daf7fb 23Gi RWO Delete Available storageclass-local-cassandra-alert 39h
local-pv-483597 14Gi RWO Delete Available storageclass-local-minio-default 39h
......
kind: PersistentVolume
metadata:
creationTimestamp: 2019-10-09T10:11:41Z
deletionGracePeriodSeconds: 0
deletionTimestamp: 2019-10-11T01:03:21Z
finalizers:
- kubernetes.io/pv-protection
name: local-pv-12bd5454
......
kind: PersistentVolume
metadata:
creationTimestamp: 2019-10-09T10:11:41Z
deletionGracePeriodSeconds: 0
deletionTimestamp: 2019-10-11T01:03:21Z
finalizers: null
name: local-pv-12bd5454
...ssh mercury-work-01 < ./mercury/bin/remove-services.sh
ssh mercury-work-01 < ./mercury/bin/remove-volumes.sh
ssh mercury-work-02 < ./mercury/bin/remove-volumes.sh
...
ssh mercury-work-XX < ./mercury/bin/remove-volumes.sh


当製品の概要と利用方法について記載されています。
本ドキュメントは、主に開発者の方々に利用いただくSenseLink GE Enterprise、SenseLink GE Enterprise Pro、SenseLink CloudのAPIマニュアルです 。
SenseLink GE Open Platformは、SenseLink に基づくオープンサービスプラットフォームです。 サードパーティのシステムはSenseLinkからデバイス、登録者、レコードなどの情報を取得し、SenseLinkが持つ管理機能をすばやく統合できます。
SenseLink GE Enterprise/Enterprise ProにあるOpenAPIはドメイン名またはIPアクセスを制限せず、サーバーにアクセス可能なリクエストの全ては合法であると見なされます。

kubectl -n senselink get pods コマンドを実行すると、SenseLink ホストの senselink 名前空間で、以下のポッドが稼働します。
タイプ
名称
インスタンス
ステータス
pod
apiv2-X
X = リンクノード番号
Running
pod
emq
1
Running
pod
kubectl -n senselink get services コマンドを実行すると、SenseLink ホストの senselink 名前空間で、以下のサービスが稼働します。
名称
タイプ
外部 IP
ポート
apiv2
ClusterIP
なし
8080/TCP, 8081/TCP, 20860/TCP
emq
ClusterIP
なし
8083/TCP, 8084/TCP, 8883/TCP, 1883/TCP, 18083/TCP, 18084/TCP
feature
エリアAでは、SenseLinkのナビゲーションメニューが表示されます。それぞれのメニューの詳細は、本章以降の各章で説明されます。また一部のメニューは、一部のアカウントからのみ操作/参照できます。各アカウントが持つ権限の詳細については、11.2節 アカウントの管理をご参照ください。
メニュー名
概要
ダッシュボード
認証レコードやデバイスのステータスなどをダッシュボード画面で確認できます
デバイスリスト
顔認証デバイスの登録や削除、設定変更などを行います
認証登録者管理
従業員、ビジター、拒否リストなど、顔認証を行う対象者の情報を登録管理します
ルール管理
デバイスや登録者グループごとに、アクセス・認証可能な期間や時間帯を設定します
イベント管理
認証レコードや登録者別認証レコード、デバイスアラートを管理します
ハンバーガーボタン:
設定ボタン:
ボタン
機能・設定項目
ハンバーガーボタン
ナビゲーションメニュー(エリアA)の縮小表示、通常表示を操作できます デフォルトでは通常表示が選択されています
設定ボタン
ダッシュボードの表示方法の設定を行います
詳細は 表:ダッシュボードの設定 を確認してください
ドキュメント
SenseLink Cloudをご利用中の場合、当ドキュメントのトップページへ遷移します EnterpriseおよびEnterprise Proでは現在利用できません。クリックしても画面が遷移しないのでご注意ください
言語の選択
SenseLinkの表示言語設定を行います 日本語、英語(English)、簡体中国語(簡体中文)、繁体中国語(繁體中文)、韓国語(한국어)から選択できます
[アカウント名]
アカウントボタンクリックすると、Aboutとログアウトが選択できます Aboutを選択すると利用中のSenseLinkの概要が表示されます ログアウトを選択すると、ログアウトされます SenseLinkの利用後は、必ずログアウトを行うようにしてください
設定項目
概要
展示会モード
ナビゲーションメニューを表示させない「展示会モード」のON/OFF設定を行います デフォルトではOFFが選択されており、ナビゲーションメニューが表示されます
自動更新
ダッシュボードに表示される各統計・ステータスを自動更新する設定を行います デフォルトではOFFが選択されており、自動更新されません ONにした場合、更新インターバル設定が表示され、1秒〜20秒の間で自動更新の間隔を設定できます ダッシュボードタイプで検温(温度検知)が選択されている場合、この項目は設定できません
アラート表示
各種アラートが発生した場合、ダッシュボードにアラートを表示させるかを設定できます デフォルトではONです アラートが発生すると、赤枠のアラートがダッシュボード上に表示されます
ダッシュボードタイプ
デフォルトまたは検温(温度検知)を選択できます 検温(温度検知)ダッシュボードでは、異常な検温数やマスク未着用者数など、SenseThunderシリーズによる測定に関するデータに特化して情報を表示します デフォルトではデフォルトが選択されています
SenseLink Cloudを利用する場合、認証レコードを削除しても、ダッシュボードで表示している当日分の集計値は変わりません。
項目
概要
認証
当日の認証レコード数や登録タイプ別レコードの延べ数を表示します
デバイス
登録されているデバイス数やステータスを表示します
デイリーチェックイン
従業員と来訪予定ビジターの当日の認証状況を表示します。ユニーク数が表示されます
デイリーアラート
当日発生したアラートの一覧を表示します
前日勤怠
前日の勤怠状況を表示します
項目
概要
認証
当日の温度検知数や温度検知結果を表示します 総数、正常な温度、異常な温度、マスク未着用、デバイスアラートそれぞれを表示します
データマップ
温度検知結果やマスク着用の状況、時間毎の推移をグラフで表示します
異常イベント
異常温度検知数、マスク未着用数をグラフで表示します
イベント
最新の温度検知レコードを写真付きで表示します
検温ダッシュボードを表示している際に検温を実施すると、測定結果に応じて以下の音声メッセージが流れます。なお、この音声メッセージを切ることはできないため、不要な場合は表示しているパソコンの音量を下げてください。
音声メッセージ
概要
正常な温度です
温度検知でしきい値以下の温度の場合
ご注意ください。異常な温度です
温度検知でしきい値以上の温度の場合
マスクをつけてください
マスク検知モードで運用時に、被験者がマスクを着けていなかった場合
IPS モデルは、mercury/apps/roles/engine-default/main.yml で定義します。face_model_version を変更すると、別のモデルセットが使用されます。以下は、246v2 モデルを使用した face_model_version の設定項目の例です。
VerifyModelPath モデルが異なる場合があるため、モデルコレクションに応じてグラフィックカードを設定する必要があります。各種グラフィックカードで使用される特定のモデルコレクションは、以下のとおりです。
GPU モデル
VerifyModelPath
NVIDIA GeForce GTX 1080
246v2
NVIDIA Tesla P4
246v2
NVIDIA Tesla P100
247v2
デフォルトの CV サービス要件仕様は、 以下に示すように、ホストに 16 コア、120 GB メモリ、500GB データディスク、2 GPU カードを搭載した 3 ノードを対象にしています。
サービス
単位
CPU
GPU
メモリ
HD
AlertFeatureDB
2 + 2
4 + 1
-
6G + 12G
1G
FaceExtractService
3
環境によって仕様が異なる場合があるため、利用可能なリソースに応じてサービスの要件仕様を更新する必要があります。たとえば、8 コア 32 GB、100GB ホストの場合、すべての CV サービスで CPU とメモリ消費を削減する必要があります。 要件仕様は、以下の 2 つのファイルに記述されています。
mercury/group_vars/all.yml
mercury/roles/infra-defaults/defaults/mercury-for-smartgate.yml
mercury/group_vars/init_data_fs_vdb.yml
設定ファイルを開くと、以下に示すような yaml コンテンツが表示されます。 replicas、cpu、memory などの用語は、リソース制限を設定するためのフィールです。
SenseLinkにログインし、ナビゲーションメニューの[システム管理] → [Open Platform] を選択してください。AppキーとAppシークレットを管理するOpen Platform画面が表示されます。
Open Platform画面の[App Keyを作る]ボタンをクリックしてください。確認のためにパスワードを入力する必要があります。表示される入力画面に現在ログイン中のアカウントのパスワードを入力して、確認ボタンをクリックしてください。
「AppキーとAppシークレットを作成しました。ダウンロードされたCSV内にAppキーとAppシークレットの情報が含まれます。安全に管理してください。」というメッセージが表示され、ご利用中のPCにAppキーとAppシークレットが記載されたCSVファイルがダウンロードされます。ダウンロードされたCSVファイルを開くと、AppキーとAppシークレットを確認することができます。 なお、入力したパスワードが誤っている場合、AppキーとAppシークレットは作成されず、CSVファイルもダウンロードされません。
またWeb画面上の一覧から、作成したAppキーとAppシークレットを確認することができます。Appシークレットはデフォルトで非表示になっています。表示ボタンをクリックすると、パスワード入力を求められます。現在ログイン中のアカウントのパスワードを入力すると、Appシークレットが表示されます。
登録したドメインからのみAPIを利用することができます。APIキーの作成後、Open Platform画面の[ドメインを追加]ボタンがアクティブになります。[ドメインを追加]ボタンをクリックし、必要なドメインを入力し、適用ボタンをクリックしてください。登録したドメインからAPIを利用できます。
Appキーは5つまで作成および利用いただくことができ、また無効化および削除することもできます。Appキーを一覧の設定ボタンを利用して適宜管理してください。 無効化中はAppキーとAppシークレットが利用できませんが、有効化するともう一度同じAppキーとAppシークレットを利用することができます。一度削除するとAppキーとAppシークレットを復元することはできませんので、ご注意ください。
計算方法は、
により計算されます。タイムスタンプおよびAppシークレットを利用してください。
例:
sign、timestamp、および Appキー(app_key)の 3 つのパラメーターを、オプションパラメーターと共に次のようにリクエストしてください。
http://host:port/api/v1/device?typeId=10&size=100&sign=e5ef72ef839bdf5397b4906b199b9fbf&app_key=35uifanj8i30kdng×tamp=1477881215000
TypeId および size はオプションパラメーターです。サーバーは現在の timestamp をクライアント側からのリクエスト内の timestamp と比較し、その差が30 分以上の場合はエラーを返します。
sign、timestamp、およびAppキー(app_key) の 3 つのパラメーターを、次のようにリクエストしてください。
http://host:port/api/v3/device/update?sign=e5ef72ef839bdf5397b4906b199b9fbf&app_key=35uifanj8i30kdng×tamp=1477881215000
オプションパラメーターはリクエスト本体に配置され、form-data またはインターフェースドキュメントで指定された application/json に従って呼び出され、リクエストがサーバーへ送信されます。サーバーは現在の timestamp をクライアント側からのリクエスト内の timestamp と比較し、その差が30 分以上の場合はエラーを返します。
一部のインターフェースでは id をリクエストに配置する必要があります。詳細については、APIの利用方法をご参照ください。
コード
メッセージ
原因
10001
App Key Not Exist
キーがありません
10002
App Expired
キーが期限切れです
10003
Request Expired
リクエストが期限切れです
10004








Diamond ホストでは、クラスタ管理コンポーネントが稼働します。HA 環境以外の場合は、1 台の Diamond ホストで十分です。HA を設定する場合は 3 台の Diamond ホストが必要です。
SenseLink ホストでは、SenseLink サービスが稼働します。HA クラスタとして 3 台のホストが必要です。SenseLink Enterprise Pro 用ホストの最小システム要件を以下に記載します。
ELK ホストでは、Elasticsearch サービスが稼働します。HA クラスタとして 2 台以上のホストが必要です。ELK ホストには大容量ストレージディスクを搭載することを推奨します。 ストレージ容量の要件については、以下の表をご参照ください。
デイリーアクティブデバイス
また、 SenseLink ホストの拡張ディスクは、初期化して /data パスにマウントする必要があります。
下記は300台のデバイスで25,000従業員が1日に4回顔認証を実施して1.5年間に使う場合のサーバー構成例です。SenseLinkホストとCVホストはそれぞれ3台の構成となっています。
SenseLinkホストとCVホストをスケールアウトして、それぞれ4台の構成にする場合、400台のデバイスで25,000従業員が1日に4回顔認証を実施して1.5年間に使える見込みです。
SenseLink Enterprise Pro をクラウド上にデプロイするには、3 つの SLB サービスが必要です。1 つは内部用、2 つは外部トラフィック用です。SLB サービスはデプロイで使用されるため、デプロイの前に SLB の構成を設定する必要があります。
外部 SLB によりクラウド内のサービスが外部と繋がり、SenseLink 管理者やすべての Sense デバイスがクラウドサービスにアクセスできるようになります。外部 SLB の構成を以下に記載します。1 番目の外部 SLB はインターネットによるアクセスが可能です。2 番目の外部 SLB には、Web 管理サイトおよび Diamond ポータルサイトの管理者のみがアクセスできます。特に 2 番目の外部 SLB は、イントラネットからのアクセスのみを許可することを推奨します。
内部 SLB は、Kubernetes API の HA サービス用であり、 トラフィックをすべての k8s マスターサーバにルーティングします。これにより、k8s マスターホストがクラッシュしても、現行の k8s クラスタに影響が及ぶことはありません。
SenseLink では、ソリューション内の MongoDB、MySQL、Redis および OSS が活用されます。これらのサービスは、クラウドプロバイダーから購入します。このとき、サービスの仕様が以下に記載する要件を満たしているかを注意して確認する必要があります。 特にデータベースのアカウントに注意が必要です。ユーザやデータベースを作成するには、高い特権 が設定されたアカウントが必要です。
SenseLinkをインストールする前に、データベースの初期化が必要です。高特権のアカウントを使用して、下のSQLでデータベースを初期化してください。
サーバホストに接続するための キーリングデータ がローカルファイルに保存されている場合、keyring_file プラグイン が必要です。 キーリングプラグインがアクティブになっているかを確認するには、SHOW PLUGINS 構文を使用するか、INFORMATION_SCHEMA.PLUGINS テーブルに対してクエリを実行します。以下に例を示します。
デプロイや稼働中、 Diamond ホストからワークロードホストに対して ssh の実行が必要になる場合があります。すべての ECS ホストの /etc/hosts でニックネームを設定すると、ssh を簡単に実行できるようになります。ニックネームは、ECS の元のホスト名にすることもできます。





インベントリ内のグループで使用
最初にデプロイ対象のクラスタの IP を例に入力します。ubuntu アカウントを使用して、現行クラスタの ubuntu パスワードを例に入力します。
[nodes]
すべての k8s ワーカーノードを入力します (Diamond のインストールでは、k8s ワーカータグによって識別できます。ライセンスの分散情報は、Ansible の後半にあります。シングルノードのライセンスは、nodes[0] にのみ表示されます。)
[controllers]
最初の 2 つの [nodes] を入力すると、Machine controllers[0] では、開始されたポッドの yaml ファイルがディレクトリ "/etc/kubernetes" に格納されます。
また、API の k8s クラスタでノード分散が制御されます。API には、エンジン層の Wrapper、イングレス層の Nginx、エンジン層の VBS (マネージャポッド) があります。
[license_nodes]
現在のところ、この場所には nodes [0] のみを記述します。
[components]
ここで指定されるノードは、ミドルウェア分散ノードとして使用されます(注: Diamond のインストールでは、タグが「ceph」のノードをご使用ください)。
注: osg をインストールする際、components [0] (/dev/vdc) にボリュームをマウントしてください。
[engine_stream]
エンジン層 (ワーカーのポッド) および FE のポッドが、k8s 環境のどのノードポジションに分散されるのかを制御します (十分な GPU が必要である点に注意してください)。
[engine_db]
後続エンジン層の AFD (SFD)、TSDB、structDB ポッドのどのノードポジションが k8s 環境で分散されるのかを制御します (関連サービスで GPU が必要である点に注意してください)。face_model_version: "246v2"
pedestrian_model_version: "1.42"# snippet in mercury/group_vars/all.yml
...
engine_face_extract_service:
enabled: true
replicas: 3
gpu_devices: 1
gpu_share_device: 0
worker_cpu_request: 3
worker_memory_request: 10Gi
worker_gpu_limit: 1
...
# snippet in mercury/roles/infra-defaults/defaults/mercury-for-smartgate.yml
...
default_minio_components:
- name: default
volume_type: localvolume
localvolume_pv_class: storageclass-local-minio-default
replicas: 2
cpu: 1
memory: 4Gi
diskcnt: 4
storage: 10Gi
export: true
...
# snippet in mercury/group_vars/init_data_fs_vdb.yml
...
disk_additional_disks:
- pvdevice: /dev/vdb1
disk: /dev/vdb
number: 1
start: 1MiB
end: 209921MiB
fstype: ext4
mount_options: defaults
mount: /mnt/locals/cassandra/alert/volume0
- pvdevice: /dev/vdb2
disk: /dev/vdb
number: 2
start: 209921MiB
end: 419841MiB
fstype: ext4
mount_options: defaults
mount: /mnt/locals/cassandra/alert/volume1
...sign=md5 (timestamp#app_secret)app_secret=2323dsfadfewrasa3434
timestamp=1477881215000
sign=md5 (1477881215000#2323dsfadfewrasa3434) =e5ef72ef839bdf5397b4906b199b9fbffeature-X
X = リンクノード番号
Running
pod
fs-X
X=1
Running
pod
infra2-X
X = リンクノード番号
Running
pod
mmo-init-job
0
Completed
pod
openapi-X
X = リンクノード番号
Running
pod
opq
1
Running
pod
schedule2
1
Running
pod
slinkpush
1
Running
pod
sntp
1
Running
pod
sync-X
X = リンクノード番号
Running
pod
web-X
X = リンクノード番号
Running
pod
tk-X
1
Running
pod
event-X
X = リンクノード番号
Running
pod
nebula
X = 1
Running
pod
zookeeper
1
Running
pod
websocket
1
Running
ClusterIP
なし
50052/TCP
fs
ClusterIP
なし
20080/TCP
infra
ClusterIP
なし
50009/TCP, 50010/TCP
mongo
ExternalName
dds-xxxxxxxx.mongodb.japan.rds.aliyuncs.com
なし
mysql
ExternalName
rm-xxxxxxxx.mysql.japan.rds.aliyuncs.com
なし
openapi
ClusterIP
なし
8099/TCP
opq
ClusterIP
なし
9001/TCP
redis
ExternalName
r-xxxxxxxx.redis.japan.rds.aliyuncs.com
なし
schedule2
ClusterIP
なし
なし
slinkpush
ClusterIP
なし
50055/TCP
sntp
ClusterIP
なし
10080/TCP, 50080/TCP
sync
ClusterIP
なし
1010/TCP, 50051/TCP
web
NodePort
なし
40080:80/TCP
websocket
ClusterIP
なし
9000/TCP, 9099/TCP
zookeeper
ClusterIP
なし
2181/TCP, 2888/TCP, 3888/TCP
tk
ClusterIP
なし
8091/TCP, 50011/TCP, 20880/TCP
nebula
ClusterIP
なし
55555/TCP, 20861/TCP
event
ClusterIP
なし
8089/TCP, 20870/TCP
3
1
10G
-
API-Wrapper
2
1
-
9G
-
Cassandra
3
2
-
16G
200G
MinIO
2
1
-
4G
10G
Fluentd
3
0.
-
0.5G
-













SenseLink ホスト
8 コア
32 GB
500 GB
500 GB
--
ECS 4~6
CV ホスト
16 コア
120 GB
500 GB
500 GB
GPU*2, Nvidia P100
Diamond ポータル (オプション)
HTTP
30080
RoundRobin
30080
ECS 1/2/3/4/5/6
--
--
OSS
--
--
--
ログレプリカ (デフォルト)
レグリカあたりのログストレージ
有効期限 (デフォルト)
ストレージ要件
備考
100
2
3 GB
15
100 GB
(ログレプリカ) * (レプリカあたりのストレージ) * (有効期限)
200
2
3 GB
15
200 GB
ホスト名
用途
CPU
メモリ
OS ディスク
拡張ディスク
備考
ECS 0
Diamond ホスト
8 コア
32 GB
500 GB
500 GB
--
用途
用途
リスナー
外部ポート
ルール
バックエンド ポート
ホスト
1 番目の外部 SLB
SenseLink ポータル (要認証)
HTTPS
443
RoundRobin
40080
ECS 1/2/3/4/5/6
用途
リスナー
外部ポート
ルール
バックエンドポート
ホスト
Kubernetes HA
TCP または HTTPS
9443
RoundRobin
6443
ECS 0/1/2
サービス
バージョン
アカウント
備考
MySQL
v5.7
高い特権
# setting global variables set global innodb_large_prefix=1; set global log_bin_trust_function_creators=1;
MongoDB
v4.0
高い特権
---
Redis
ECS 1~3
2 番目の外部 SLB
v5.0
# Make sure the global variables is setup
set global innodb_large_prefix=1;
set global log_bin_trust_function_creators=1;
drop database bi_slink_base;
drop database bi_slink_device_log;
drop database bi_link_fs;
create database IF NOT EXISTS bi_slink_base default charset=utf8mb4;
create database IF NOT EXISTS bi_slink_device_log default charset=utf8mb4;
create database IF NOT EXISTS bi_link_fs default charset=utf8mb4;
create user IF NOT EXISTS 'senselink'@'%' identified by 'senselink_2018_local';
grant all on bi_slink_base.* to senselink@'%' identified by 'senselink_2018_local' with grant option;
grant all on bi_link_fs.* to senselink@'%' identified by 'senselink_2018_local' with grant option;
grant all on bi_slink_device_log.* to senselink@'%' identified by 'senselink_2018_local' with grant option;
flush privileges;mysql> SELECT PLUGIN_NAME, PLUGIN_STATUS
FROM INFORMATION_SCHEMA.PLUGINS
WHERE PLUGIN_NAME LIKE 'keyring%';
+--------------+---------------+
| PLUGIN_NAME | PLUGIN_STATUS |
+--------------+---------------+
| keyring_file | ACTIVE |
+--------------+---------------+10.10.10.1 hostname1 # Diamond Host & k8s master
10.10.10.2 hostname2 # k8s master
10.10.10.3 hostname3 # k8s master
10.10.10.4 hostname4 # SenseLink Host 1
10.10.10.5 hostname5 # SenseLink Host 2
10.10.10.6 hostname6 # SenseLink Host 3初期設定時では「デフォルト勤怠ルール」というルールが登録されています。登録されたすべての従業員はデフォルトで「デフォルト勤怠ルール」が適用されます。「デフォルト勤怠ルール」の設定は修正することができます。
登録ボタンをクリックすると、勤怠ルール登録画面が表示されます。
登録項目とデフォルト勤怠ルールの設定値は以下です。
項目
概要
デフォルト勤怠ルールの設定値
勤怠ルール
勤怠ルール名
半角英数字、全半角スペース、漢字、ひらがな、カタカナ、全半角記号の1~30文字(半角換算)で登録可能
デフォルト勤怠ルール(変更不可)
従業員
勤怠ルールを適用する従業員または所属部署グループ(Department)の選択
すべての従業員(変更不可)
頻度
認証頻度の選択
「月曜日-金曜日 1日2回」は、月曜日〜金曜日に1日2回の顔認証を行う場合に選択。1日3回以上顔認証を行なった場合、最後の顔認証時刻が退勤時間として記録されます
勤怠ルールによる勤怠管理を行わない場合は「勤務なし」を選択してください
月曜日-金曜日 1日2回
日付変更時間
すべての項目を入力したら保存をクリックしてください。勤怠ルール一覧画面に戻り、登録した勤怠ルールが一覧に表示されます。
勤務エリアの管理を行います。勤務エリアはデバイスと連携することができ、従業員が顔認証を行なった際に、そのデバイスに登録された勤務エリアが勤怠レコードに記録されます。勤務エリアが登録されないデバイスで顔認証を行なった場合、デバイスの設定項目の「設置場所」が勤務エリアとして記録されます。
ナビゲーションメニューの[勤怠管理]→[勤務エリア]をクリックしてください。勤怠エリア一覧が表示されます。
登録ボタンをクリックして勤務エリア登録画面を表示します。
勤務エリア欄に勤務エリア名を入力してください。半角英数字、全半角スペース、漢字、ひらがな、カタカナ、全半角記号の1~50文字(半角換算)で登録可能です。
SenseLink Cloudをご利用の場合、Google Mapの検索機能や位置情報を利用することができます。位置情報欄に位置情報の検索ワードを入力し、登録したい住所やビル名、任意の位置情報名を登録してください。 SenseLink GE EnterpriseまたはSenseLink GE Enterprise Proをご利用の場合、位置情報欄に任意の位置情報名を入力してください。
半径(m)はサポートされない機能です。利用できませんので、値を変更しないでください。
登録デバイス欄で連携するデバイスを選択してください。
設定が完了したら保存ボタンをクリックしてください。 勤務エリア一覧に登録した勤務エリアが表示されます。
従業員の勤怠レコードを管理します。出退勤時間や登録された勤怠ルールに基づく勤怠ステータスが管理されます。
ナビゲーションメニューの[勤怠管理]→[勤怠レコード]をクリックしてください。当日の勤怠レコードの一覧が表示されます。
勤怠ステータスは以下の種類があります。
ステータス
概要
通常
勤怠ルール通りの場合
遅刻
始業時間が勤怠ルールより遅れた場合
早退
終業時間が勤怠ルールより早い場合
遅刻および早退
遅刻、早退の両方に該当する場合
残業(勤務日)
勤務日に残業した場合
従業員別の勤怠レコードを管理します。
ナビゲーションメニューの[勤怠管理]→[従業員別 勤怠レコード]をクリックしてください。デフォルトで、前月から当日までの従業員別の勤怠一覧が表示されます。 日付を変更すると、勤怠一覧の数値を再計算して表示されます。
設定欄の勤怠レコードをクリックすると、勤怠レコードに遷移して選択した従業員の指定期間内の勤怠レコードが表示されます。
勤怠レコードを最大100,000件までExcelファイルにエクスポートすることができます。
ナビゲーションメニューの[勤怠管理]→[勤怠レコード]をクリックしてください。勤怠レコードの一覧が表示されます。上部にあるエクスポートボタンをクリックしてください。
「エクスポートされたExcelファイルのパスワードは現在のアカウントです」というメッセージが表示されます。確定ボタンをクリックすると、勤怠レコードが記載されたExcelファイルがご利用中のPCに保存されます。
ファイル名は 勤怠レコード_[YYYY]-[MM]-[DD]_[YYYY]-[MM]-[DD].xlsx です。[YYYY]-[MM]-[DD]は勤怠レコード一覧検索で設定された開始日時と終了日時が指定されます。
ファイルを開く際にパスワードを求められます。パスワードはファイルエクスポート時にログインしていたのアカウントです。
従業員別勤怠レコードを最大100,000件までExcelファイルにエクスポートすることができます。
ナビゲーションメニューの[勤怠管理]→[従業員別 勤怠レコード]をクリックしてください。従業員別勤怠レコード一覧が表示されます。 エクスポートボタンをクリックしてください。
「エクスポートされたExcelファイルのパスワードは現在のアカウントです」というメッセージが表示されます。確定ボタンをクリックすると勤怠レコードが記載されたExcelファイルがご利用中のPCに保存されます。
ファイル名は 従業員別勤怠レコード_[YYYY]-[MM]-[DD]_[YYYY]-[MM]-[DD].xlsx です。[YYYY]-[MM]-[DD]は従業員別勤怠レコード一覧検索で設定された開始日時と終了日時が指定されます。
ファイルを開く際にパスワードを求められます。パスワードはファイルエクスポート時にログインしているアカウントです。
勤怠管理
勤務日や休日、出退勤時間を登録し、従業員の勤怠を管理します
システム管理
企業情報の管理、各アカウントの管理、Open Platformの管理、操作ログ管理など、システム管理者向けの機能を管理します
IP Invalid
IPアドレスが許可リストにありません
10005
Signature Failed
無効なシグネチャ(sign)です
20001
Company Out Of Date
企業の利用期間の期限が切れました
20002
Permission Denied
権限がありません
30001
Param Invalid
無効なパラメーターです
30002
Similar User Exist
追加された登録者は既存の登録者と非常に類似しています
30003
No Face Detected In The Image
写真内で顔を検出できません
30004
Missing Param
パラメーターが不足しています
30005
Avatar File Invalid
不正な写真形式です
50001
RPC Failed
サーバー同期エラー
50002
Internal Server Error
内部サーバーエラー
50003
Multi Request Error
一括リクエストエラー
50004
Request Method Not Allowed
不正なリクエストメソッドです
60005
Request_rate_too_high
リクエスト頻度が高すぎます
60006
Daily_quota_exceeded
1 日あたりのリクエスト上限に達しました
99999
Unknown Error
不明なエラーです
620
Record non-existent Error
不正なパラメーターです。対応するレコードが見つかりません
610
Similar record Exist
類似するレコードが存在します(同じ名前の部署が同じレベルに存在するなど)
650
Cannot delete unless include nothing
部署または従業員が配下にあるため削除できません



概要
現在のシステムのバージョン番号を取得します。
リクエストアドレスの例
https://HOST:PORT/api/v3/server/version
リクエスト方法
GET
リクエストパラメーター
通常のレスポンス
レスポンスのフィールド
概要
企業情報を取得します。
リクエストアドレスの例
https://HOST:PORT/api/v1/company
リクエスト方法
GET
リクエストパラメーター
通常のレスポンス
レスポンスのフィールド
dataフィールドの説明
エラーレスポンスのフィールド








必須
タイムスタンプ
Yes
タイムスタンプ
背景 ID
welcome
string
Welcomeメッセージ
introduction
string
企業プロフィール
threshold
float
顔認証の閾値
language
string
利用中の言語
serviceConfig
string
サービス構成
createBy
int
作成者 ID
contact
string
担当者
createAt
string
作成時間
updateAt
string
更新時間
validFrom
string
ライセンス有効開始時間
validTo
string
ライセンス有効終了時間
パラメーター名
型
必須
説明
app_key
string
Yes
Appキー
sign
string
Yes
シグネチャ。1.3.1シグネチャ(sign)の計算の章を参照してください
timestamp
パラメーター名
型
説明
edition
string
バージョン番号
date
string
バージョンのリリース日
パラメーター名
型
必須
説明
app_key
string
Yes
Appキー
sign
string
Yes
シグネチャ。1.3.1 シグネチャ(sign)の計算の章を参照してください
timestamp
パラメーター名
型
説明
code
int
リターンコード
message
string
リターンメッセージ
data
object
データ
パラメーター名
型
説明
id
int
企業ID
name
string
企業名
logo
string
ロゴ ID
background
コード
メッセージ
説明
30001
Param Invalid
無効なパラメーターです
string
string
string
また、ライセンスファイルとアクティベーションコードを申請するために、featureサービスのログからDUIDを取得する必要があります。
ライセンスファイルとアクティベーションコードを手に入れたら、次の処理でホストをアクティベーションできます。
ライセンスファイルがHOSTPATHにあること
replicasの数は1となること
Node selectorはapp:senselink feature:enableであること
ライセンスファイルがHOSTPATHにあること
replicasの数はSenseLinkノードの数を同じであること
Node selectorはapp:senselink feature:enableであること
最後にNode selectorのfeature:enableを削除します。
オペレーションログのクライアントIPは実際のIPではありません。 SenseLinkポータルIPが外部SLBのIPである場合、オペレーターログのクライアントIPは実際のIPではない可能性があります。この問題を解決するには、外部配置を追加する必要があります。
以下の設定からセッションタイムアウト時間を変更することができます。
PV や PVC を削除できない場合
sk patch pvc infra-claim-infra-1 -p '{"metadata":{"finalizers":null}}'
SenseLink: Apiv2 ポッドでポート番号問題により CrashLoopBackOff が発生する場合
Apiv2 ポッドクラッシュの状況
SenseLink のデプロイ後、 apiv2 ポッドが以下のように CrashLoopBackOff の状態になりました。
ポッドのログを確認すると、以下に示すような 'java.lang.String' のタイプ値を 'java.lang.Integer' の該当するタイプに変換できない (Failed to convert value of type 'java.lang.String' to required type 'java.lang.Integer') という内容のエラーが何行も表示されます。
Apiv2 ポッドクラッシュの原因
原因は不明ですが、infra-service のキャッシュにより apiv2 の正常動作を妨げられたことが原因であると推測されます。 SenseLink のコンポーネントには動作依存があります。このため、コンポーネントは順番にデプロイされます。今回のケースでは、infra-service が apiv2 の後にデプロイされていました。したがって、この問題は通常発生することはありません。
Apiv2 ポッドのクラッシュ問題の修正
statefulset infra-service と apiv2 を削除してから、apiv2、infra-service の順にデプロイします。
コマンド未検出の状況
現バージョンの Diamond v1.8.3 では、Docker v18.09.2 がコンテナコンポーネントとしてインストールされますが、Ubuntu では APT アップグレードサービスによって Docker が v18.09.7 にアップグレードされることがあります。この変更により、稼働中のコンテナでエラーが発生し、k8s ポッドのエラーを引き起こします。問題のログを精査すると、docker-containerd-shim が検出されなかったことを示すエラーメッセージを確認できます。
docker-runc が検出されなかったことを示す別のエラーが表示されることもあります。
コマンド未検出の原因
根本原因は調査されていませんが、新バージョンで別の実行ライブラリ構造が使用されたため、一部のファイルが削除されていました。
コマンド未検出問題の対応策
適切なバージョンの Docker を使用して別の環境を構築することをお勧めします。任意の Docker または k8s ホストの /usr/bin/ フォルダに移動します。 docker-containerd-shim および docker-runc ファイルを問題のホストの /usr/bin/ にコピーします。
同じ問題が再び発生しないようにするためには、以下のコマンドを使用して APT のアップグレードサービスを無効にすることをお勧めします。以下のコマンドは、クラスタ内のすべてのホストに対する Diamond パブリックキーを設定するセクションで、デプロイメントガイドに追加されています。
ワークロードマシンにNTPサービスを使用したい場合は、クラウドサービスのNTPサービスマニュアルを参照してください。
{
"code": 200,
"message": "OK",
"desc": "",
"data": {
"edition": "1.10.0",
"date": "20190617"
}
}{
"code": 200,
"message": "OK",
"data": {
"id": 58,
"name": "日本コンピュータビジョン",
"logo": "5b238d7ec6681b0001466d5e",
"background": "5b238d7ec6681b0001466d5f",
"welcome": "日本コンピュータビジョンへようこそ ",
"introduction": "独創性をもち、AIと人類の進歩を牽引する企業",
"contact": "太郎",
"createAt": "2020-05-28 17:31:32.0",
"updateAt": "2020-06-28 15:57:55.0",
"validFrom": "2018-06-15 00:00:00.0",
"validTo": "2018-07-31 00:00:00.0",
"createBy": 17,
"threshold": 0.85,
"language": "zh",
"serviceConfig": ""
}
}# make sure that which node has pods with ImageInspectError
kubectl get pod -o wide
# delete image in tht pod with ImageInspectError
docker rmi -f imageId
docker system prune
# delete the pod with ImageInspectError
kubectl delete pod# get DUID of all Link node
kubectl logs -f feature-0 -n senselink | grep DUID
kubectl logs -f feature-1 -n senselink | grep DUID
kubectl logs -f feature-2 -n senselink | grep DUID# delete Feature pods
kubectl delete -f $install_package_path/senselink/multi-done/statefulset/feature-statefulset.yaml
# delete Feature pvc
kubectl delete pvc -n senselink feature-claim-feature-0
kubectl delete pvc -n senselink feature-claim-feature-1
kubectl delete pvc -n senselink feature-claim-feature-2# vim $install_package_path/senselink/multi-done/statefulset/feature-statefulset.yaml
apiVersion: apps/v1
kind: StatefulSet
metadata:
creationTimestamp: null
labels:
senselink: feature
name: feature
namespace: senselink
spec:
replicas: 1
serviceName: feature
selector:
matchLabels:
senselink: feature
template:
metadata:
creationTimestamp: null
labels:
senselink: feature
spec:
containers:
- image: registry.sensetime.com/jcv/feature_service:v2.3.0
name: feature
ports:
- containerPort: 50052
resources:
limits:
memory: "1073741824"
stdin: true
tty: true
volumeMounts:
- mountPath: /go/log
name: feature-claim
- mountPath: /go/conf/qa.toml
subPath: qa.toml
name: feature-qa
- mountPath: /go/conf/feature.toml
subPath: feature.toml
name: feature-conf
- mountPath: /go/license/
name: feature-sub-license
restartPolicy: Always
volumes:
- name: feature-claim
persistentVolumeClaim:
claimName: feature-claim
- name: feature-qa
configMap:
name: feature-qa
- name: feature-conf
configMap:
name: feature-conf
- name: feature-sub-license
hostPath:
path: /etc/senselink/license
nodeSelector:
app: senselink
feature: enable
volumeClaimTemplates:
- metadata:
name: feature-claim
spec:
accessModes:
- ReadWriteOnce
resources:
requests:
storage: 1Gi# show all k8s nodes with labels
kubectl get node --show-labels
# Only label the node you want to activate this time.
kubectl label node sz-office2-172-20-52-184-172.20.52.184 feature=enable --overwrite
# Label other node to diable feature service in this node.
kubectl label node sz-office2-172-20-52-184-172.20.52.184 feature=disable --overwrite# delete the redis key `authorize-license-status` or wait 5 minutes.
redis-cli -h 10.10.41.16 -a 2CH189BxbsKceg4l
10.10.41.16:0>del authorize-license-statuskubectl apply -f $install_package_path/senselink/multi-done/statefulset/feature-statefulset.yaml# vim $install_package_path/senselink/multi-done/statefulset/feature-statefulset.yaml
apiVersion: apps/v1
kind: StatefulSet
metadata:
creationTimestamp: null
labels:
senselink: feature
name: feature
namespace: senselink
spec:
replicas: 3 #number of line nodes
serviceName: feature
selector:
matchLabels:
senselink: feature
template:
metadata:
creationTimestamp: null
labels:
senselink: feature
spec:
containers:
- image: registry.sensetime.com/jcv/feature_service:v2.3.0
name: feature
ports:
- containerPort: 50052
resources:
limits:
memory: "1073741824"
stdin: true
tty: true
volumeMounts:
- mountPath: /go/log
name: feature-claim
- mountPath: /go/conf/qa.toml
subPath: qa.toml
name: feature-qa
- mountPath: /go/conf/feature.toml
subPath: feature.toml
name: feature-conf
- mountPath: /go/license/
name: feature-sub-license
restartPolicy: Always
volumes:
- name: feature-claim
persistentVolumeClaim:
claimName: feature-claim
- name: feature-qa
configMap:
name: feature-qa
- name: feature-conf
configMap:
name: feature-conf
- name: feature-sub-license
hostPath:
path: /etc/senselink/license
nodeSelector:
app: senselink
volumeClaimTemplates:
- metadata:
name: feature-claim
spec:
accessModes:
- ReadWriteOnce
resources:
requests:
storage: 1Gikubectl delete -f $install_package_path/senselink/multi-done/statefulset/feature-statefulset.yaml
# delete Feature pvc
kubectl delete pvc -n senselink feature-claim-feature-0
kubectl delete pvc -n senselink feature-claim-feature-1
kubectl delete pvc -n senselink feature-claim-feature-2
kubectl apply -f $install_package_path/senselink/multi-done/statefulset/feature-statefulset.yaml# vim $install_package_path/senselink/multi-done/configmap/web-configmap.yaml
# 100.122.0.0/16 is the Subnet mask of external SLB Ip
...
location /sl {
add_header 'Access-Control-Allow-Origin' *;
proxy_pass $upstream_apiv2;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Real-PORT $remote_port;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header Cookie $http_cookie;
proxy_set_header X-Forwarded-Proto $scheme;
proxy_redirect off;
set_real_ip_from 100.122.0.0/16;
real_ip_recursive on;
real_ip_header X-Forwarded-For;
}
...vim $install_package_path/senselink/multi-done/configmap/apiv2-configmap.yaml
########
keeper:
token:
expires: 43200 # Token validity period in seconds
kubectl apply -f $install_package_path/senselink/multi-done/configmap/apiv2-configmap.yaml
kubectl delete -f $install_package_path/senselink/multi-done/statefulset/apiv2-statefulset.yaml
kubectl apply -f $install_package_path/senselink/multi-done/statefulset/apiv2-statefulset.yaml$ kubectl -n senselink get pod
NAME READY STATUS RESTARTS AGE
apiv2-0 0/1 CrashLoopBackOff 37 172m
apiv2-1 0/1 CrashLoopBackOff 37 172m
apiv2-2 0/1 CrashLoopBackOff 36 172m
emq-5c5b6fbbf9-wmxw9 1/1 Running 0 3h9m
feature-0 1/1 Running 0 3h9m
feature-1 1/1 Running 0 3h8m
feature-2 1/1 Running 0 3h8m
mmo-init-job-nbm59 0/1 Completed 0 3h10m
...$ kubectl -n senselink logs apiv2-0
...
Caused by: org.springframework.beans.factory.UnsatisfiedDependencyException: Error creating bean with name 'InfraService': Unsatisfied dependency expressed through field 'port'; nested exception is org.springframework.beans.TypeMismatchException: Failed to convert value of type 'java.lang.String' to required type 'java.lang.Integer'; nested exception is java.lang.NumberFormatException: For input string: "tcp://10.108.12.226:50009"
...# delete infra-service fs-service and apiv2 pods
$ kubectl delete -f /data/senselink/multi-done/service/infra-service.yaml
service "infra" deleted
$ kubectl delete -f /data/senselink/multi-done/service/fs-service.yaml
service "fs" deleted
$ kubectl delete -f /data/senselink/multi-done/statefulset/apiv2-statefulset.yaml
statefulset.apps "apiv2" deleted
# re-deploy apiv2 pods
$ kubectl apply -f /data/senselink/multi-done/statefulset/apiv2-statefulset.yaml
statefulset.apps/apiv2 created
# chech all apiv2 pods are running
$ kubectl -n senselink get pods
NAME READY STATUS RESTARTS AGE
apiv2-0 1/1 Running 0 4m15s
apiv2-1 1/1 Running 0 4m5s
apiv2-2 1/1 Running 0 3m59s
...
# redeploy infra-service
$ kubectl apply -f /data/senselink/multi-done/service/infra-service.yaml
service/infra created
# redeploy fs-service
$ kubectl apply -f /data/senselink/multi-done/service/fs-service.yaml
service/fs createddocker: Error response from daemon: failed to start shim: exec: "docker: Error response from daemon: failed to start shim: exec: "docker-containerd-shim": executable file not found in $PATH: unknown.
": executable file not found in $PATH: unknown.docker: Error response from daemon: OCI runtime create failed: unable to retrieve OCI runtime error (open /run/docker/containerd/daemon/io.containerd.runtime.v1.linux/moby/b123c36ddea60f7bf562946b7ffb9520023fcb4946b3e7f9941a564a46bad28c/log.json: no such file or directory): exec: "docker-runc": executable file not found in $PATH: unknown.# Disable apt package auto upgrade service
sudo systemctl stop apt-daily.service apt-daily.timer apt-daily-upgrade.timer apt-daily-upgrade.service
sudo systemctl disable apt-daily.service apt-daily.timer apt-daily-upgrade.timer apt-daily-upgrade.serviceKubernetes環境で、全てのSenseLinkの構成要素はネームスペースsenselinkの下にデプロイされました。つまり、kubectlを使って、SenseLinkのリソースを操作する時にパラメータ-n senselink が必要です。
kubectl -n senselink get podsコマンドでsenselinkネームスペースで動いているSenseLinkのホストを取得した結果は下記の通りです。
Type
NAME
Instances
STATUS
pod
apiv2-X
X=number of link nodes
Running
pod
emq
1
Running
pod
kubectl -n senselink get servicesコマンドでsenselinkネームスペースで動いているSenseLinkのサービスを取得した結果は下記の通りです。
NAME
TYPE
EXTERNAL-IP
PORT(S)
apiv2
ClusterIP
none
8080/TCP, 8081/TCP, 20860/TCP
emq
ClusterIP
none
8083/TCP, 8084/TCP, 8883/TCP, 1883/TCP, 18083/TCP, 18084/TCP
feature
sk patch pvc infra-claim-infra-1 -p '{"metadata":{"finalizers":null}}'
SenseLinkをデプロイしたら、apiv2 ポートは CrashLoopBackOff 状態となってしまいます。
ポートログを確認したら、下記のログが見つかりました。Failed to convert value of type 'java.lang.String' to required type 'java.lang.Integer'
infra-serviceの一部のキャッシュがapiv2の正常な実行に影響を与えたと推測されています。 SenseLinkのコンポーネントには実行中の依存関係があります。これが、コンポーネントが順番に段階的に展開される理由です。そして、infra-serviceはapiv2の後に配備されました。したがって、この問題は通常は発生しません。
k8s statefulset infra-service と apiv2を削除します。その後、順番にapiv2 と infra-serviceをデプロイします。
ファームウェア管理では、SenseLinkに連携している顔認証デバイスとそれらのファームウェアの情報を表示できます。
ナビゲーションメニューの[アップデート管理]→[ファームウェア管理]をクリックしてください。デバイスとファームウェアの一覧が表示されます。
「ステータス」フィールドは、デバイスのリアルタイムアップデートステータスを表します。アップデートステータスの詳細は次のとおりです。
ステータス
詳細
更新可能なファームウェアがあります
アップデート可能な新しいファームウェアがあります。
デバイスがオンラインになるまで待機中
デバイスがオフラインのため、アップデートを開始できません。アップデートするには、デバイスをオンラインにしてください。
ダウンロードを待っています
デバイスはオンラインですが、管理者はデバイスのアップデートを確認していません。手動アップデートモードで表示されます。
ダウンロード中...10%
デバイスへファームウェアをダウンロードしています。数値はダウンロードの進捗値です。
インストール待機中
デバイスはダウンロードを完了し、スケジュールされた時間までインストールを待機しています。設定時間アップデートモードで表示されます。
SensePass V1.2.5以下のバージョン、SenseThunder-E V1.1.5以下のバージョン、およびSenseThunder Mini V1.0.9より前のバージョンの場合、ステータスの「ダウンロード中」、「インストール待ち」、「インストール中」の進捗数値、「アップデートが失敗しました」の表示はサポートされていません。
デバイスをアップデートする際に、さまざまなオプションが用意されています。
「更新可能なファームウェアがあります」または「アップデートが失敗しました」のステータスのデバイスには、一括してアップデートを適用できます。すべてのデバイスをアップデートするには、[適用]ボタンの下と、[デバイス名]ラベルの左側にあるチェックボックスを選択します。アップデート範囲を指定するには、アップデートするデバイスのチェックボックスのみを選択します。
アップデートには、「即時アップデート」、「設定時間アップデート」、「マニュアルアップデート」の3つのモードがあります。
選択したデバイスのステータスがオンラインである限り、適用した直後に新しいファームウェアのダウンロードとインストールを開始します。
選択したデバイスは新しいファームウェアのダウンロードを開始し、設定された時間にインストールします。アップデート時間を設定するには歯車アイコンをクリックして、「アップデート時間」の右側にある日付フィールドをクリックすると、 カレンダーが表示されます。アップデート日時はこのカレンダーから選択するか、日付フィールドに入力することで実行日時を指定します。入力のあと、[確定]ボタンをクリックすることで、アップデート日時の設定が完了します。
選択したデバイスは、デバイスから手動でアップデートを確認するまで、新しいファームウェアのダウンロードを開始しません。
アップデート範囲とアップデートモードを選択した後、[適用]ボタンをクリックすると、アップデート確認画面が表示されます。
アップデートするデバイスのシリアルナンバーとタイプを確認し、[配信]ボタンをクリックしてください。アップデートステータスが更新され、デバイスとファームウェア情報のリストでアップデートプロセスを確認できます。
配信されたファームウェアのアップデートはキャンセルすることができます。
デバイスのステータスが「デバイスがオンラインになるまで待機中」、「ダウンロード中」、または「インストール待機中」の場合は、アップデートをキャンセルできます。
アップデートをキャンセルしたいデバイスのチェックボックスを選択し、[アップデートのキャンセルする]ボタンを選択して、[適用]ボタンをクリックします。
アップデートをキャンセルすると、ステータスが「デバイスがオンラインになるまで待機中」のデバイスは、バージョン更新通知を受信しなくなります。「ダウンロード中」または「インストール待機中」のデバイスのアップデートも、「すぐにキャンセルされます。」というメッセージが表示されます。この後、[確定]ボタンをクリックすると、アップデートがキャンセルされます。キャンセル後、デバイスはアップデートを停止し、ダウンロードしたすべての情報が削除されます。
ファームウェア情報の一覧をExcelファイルへエクスポートすることができます。
ナビゲーションメニューの[アップデート管理]→[ファームウェア管理]をクリックしてください。デバイスとファームウェアの一覧が表示されます。
一覧上部にあるエクスポートをクリックしてください。
「リスト内のすべてのデバイス情報をエクスポートします。 総数は{N}台です。」というメッセージが表示されます。確定ボタンをクリックすると、ファームウェア情報が記載されたExcelファイルが利用中のPCに保存されます。
ファイル名は ファームウェアのアップグレード_[YYYY]-[MM]-[DD] [HH]_[MM]-[SS].csv です。[YYYY]-[MM]-[DD] [HH]_[MM]-[SS]はエクスポート日時です。
アプリケーション管理では、SenseLinkに連携している顔認証デバイスとそれらのアプリケーションの情報を表示できます。
ナビゲーションメニューの[アップデート管理]→[アプリケーション管理]をクリックしてください。デバイスとアプリケーションの一覧が表示されます。
「ステータス」フィールドは、デバイスのリアルタイムアップデートステータスを表します。アップデートステータスの詳細は次のとおりです。
ステータス
詳細
更新可能なアプリケーションがあります
アップデート可能な新しいアプリケーションがあります。
デバイスがオンラインになるまで待機中
デバイスがオフラインのため、アップデートを開始できません。アップデートするには、デバイスをオンラインにしてください。
ダウンロードを待っています
デバイスはオンラインですが、管理者はデバイスのアップデートを確認していません。手動アップデートモードで表示されます。
ダウンロード中...10%
デバイスへアプリケーションをダウンロードしています。数値はダウンロードの進捗値です。
インストール待機中
デバイスはダウンロードを完了し、スケジュールされた時間までインストールを待機しています。設定時間アップデートモードで表示されます。
SensePass V1.2.5以下のバージョン、SenseThunder-E V1.1.5以下のバージョン、およびSenseThunder Mini V1.0.9より前のバージョンの場合、ステータスの「ダウンロード中」、「インストール待ち」、「インストール中」の進捗数値、 「アップデートが失敗しました」の表示はサポートされていません。
デバイスをアップデートする際に、さまざまなオプションが用意されています。
「更新可能なアプリケーションがあります」または「アップデートが失敗しました」のステータスとなっているデバイスには、一括してアップデートを適用できます。すべてのデバイスをアップデートするには、[適用]ボタンの下と、[デバイス名]ラベルの左側にあるチェックボックスを選択します。 アップデート範囲を指定するには、アップデートするデバイスのチェックボックスのみを選択します。
アップデートには、「即時アップデート」、「設定時間アップデート」、「マニュアルアップデート」の3つのモードがあります。
選択したデバイスのステータスがオンラインである限り、適用した直後に新しいアプリケーションのダウンロードとインストールを開始します。
選択したデバイスは新しいアプリケーションのダウンロードを開始し、設定された時間にインストールします。アップデート時間を設定するには歯車アイコンをクリックして、「アップデート時間」の右側にある日付フィールドをクリックすると、 カレンダーが表示されます。 アップデート日時はこのカレンダーから選択するか、日付フィールドに入力することで実行日時を指定します。入力のあと、[確定]ボタンをクリックすることで、アップデート日時の設定が完了します。
選択したデバイスは、デバイスから手動でアップデートを確認するまで、新しいアプリケーションのダウンロードを開始しません。
アップデート範囲とアップデートモードを選択した後、[適用]ボタンをクリックすると、アップデート確認画面が表示されます。
アップデートするデバイスのシリアルナンバーとタイプを確認し、[配信]ボタンをクリックしてください。アップデートステータスが更新され、デバイスとアプリケーション情報のリストでアップデートプロセスを確認できます。
配信されたアプリケーションのアップデートはキャンセルすることができます。デバイスのステータスが「デバイスがオンラインになるまで待機中」、「ダウンロード中」、または「インストール待機中」のス場合は、アップデートをキャンセルできます。
アップデートをキャンセルしたいデバイスのチェックボックスを選択し、[アップデートのキャンセルする]ボタンを選択して、[適用]ボタンをクリックします。
アップデートをキャンセルすると、ステータスが「デバイスがオンラインになるまで待機中」のデバイスは、バージョン更新通知を受信しなくなります。「ダウンロード中」または「インストール待機中」のデバイスのアップデートも、「すぐにキャンセルされます。」というメッセージが表示されます。この後、[確定]ボタンをクリックすると、アップデートがキャンセルされます。キャンセル後、デバイスはアップデートを停止し、ダウンロードしたすべてのデータが削除されます。
アプリケーション情報の一覧をExcelファイルへエクスポートすることができます。
ナビゲーションメニューの[アップデート管理]→[アプリケーション管理]をクリックしてください。デバイスとアプリケーションの一覧が表示されます。
一覧上部にあるエクスポートをクリックしてください。
「リスト内のすべてのデバイス情報をエクスポートします。 総数は{N}台です。」というメッセージが表示されます。確定ボタンをクリックすると、アプリケーション情報が記載されたExcelファイルが利用中のPCに保存されます。
ファイル名は アプリケーションのアップグレード_[YYYY]-[MM]-[DD] [HH]_[MM]-[SS].csv です。[YYYY]-[MM]-[DD] [HH]_[MM]-[SS]はエクスポート日時です。
勤怠管理上の日付変更時間の設定
(例:日付変更時間が04:00:00に設定されている場合、5月1日の03:59:00に顔認証を実施すると4月30日の勤怠記録として記録されます。5月1日の04:01:00に顔認証を実施すると5月1日の勤怠記録として記録されます)
05:00:00
規定始業時間
勤怠規定の始業時間
09:00:00
規定終業時間
勤怠規定の終業時間
18:00:00
分以内の誤差を許容
始業時間または就業時間に対する認証時間の許容時間の設定
(例:始業時間が09:00:00、許容時間が10分に設定されていた場合、従業員が09:10:59に顔認証を行なっても(出勤しても)遅刻とみなしません。09:11:00から遅刻とみなします)
10
時間外労働-総労働時間
総労働時間が何時間以上となった場合に残業時間とみなすかを設定します。次項目とAND条件です
勤務日12.0、休日8.0
時間外労働-かつ終業時間
何時以降に退勤した場合に残業時間とみなすかを設定します。全項目とAND条件です
勤務日 21:00:00、
休日: 18:00:00
特別出勤日
土日で出勤を行い勤怠ルールを適用する場合に設定します
日付と特記事項に出勤日名を設定します。出勤日名は半角英数字、全半角スペース、漢字、ひらがな、カタカナ、全半角記号の1~45文字(半角換算)で登録可能です
なし
祝日
勤怠ルールを適用しない祝日を設定します
日付と特記事項に祝日名を設定します。祝日名は半角英数字、全半角スペース、漢字、ひらがな、カタカナ、全半角記号の1~45文字(半角換算)で登録可能です
なし
残業(祝日)
祝日に残業した場合
欠勤
認証が行われなかった場合
打刻忘れ
1日に1度のみ認証が行われ、始業と終業の時間が記録できない場合
外勤
登録された勤務エリア以外で顔認証を行なった場合








mysql> SELECT PLUGIN_NAME, PLUGIN_STATUS
FROM INFORMATION_SCHEMA.PLUGINS
WHERE PLUGIN_NAME LIKE 'keyring%';
+--------------+---------------+
| PLUGIN_NAME | PLUGIN_STATUS |
+--------------+---------------+
| keyring_file | ACTIVE |
+--------------+---------------+############# run separately ############
##### Please ensure use ubuntu user. #####
# make sure install_package_path is install package path.
# use tmux for upgrade, version is like 1.10 or 2.*
tmux
./upgrade_senselink.sh ${k8sKubeConfig_path} ${sshKeyFile_path} ${version} |& tee -a
upgrade_senselink.log$ kubectl -n senselink get pod
NAME READY STATUS RESTARTS AGE
apiv2-0 0/1 CrashLoopBackOff 37 172m
apiv2-1 0/1 CrashLoopBackOff 37 172m
apiv2-2 0/1 CrashLoopBackOff 36 172m
emq-5c5b6fbbf9-wmxw9 1/1 Running 0 3h9m
feature-0 1/1 Running 0 3h9m
feature-1 1/1 Running 0 3h8m
feature-2 1/1 Running 0 3h8m
mmo-init-job-nbm59 0/1 Completed 0 3h10m
...$ kubectl -n senselink logs apiv2-0
...
Caused by: org.springframework.beans.factory.UnsatisfiedDependencyException: Error creating bean with name 'InfraService': Unsatisfied dependency expressed through field 'port'; nested exception is org.springframework.beans.TypeMismatchException: Failed to convert value of type 'java.lang.String' to required type 'java.lang.Integer'; nested exception is java.lang.NumberFormatException: For input string: "tcp://10.108.12.226:50009"
...# delete infra-service fs-service and apiv2 pods
$ kubectl delete -f /data/senselink/multi-done/service/infra-service.yaml
service "infra" deleted
$ kubectl delete -f /data/senselink/multi-done/service/fs-service.yaml
service "fs" deleted
$ kubectl delete -f /data/senselink/multi-done/statefulset/apiv2-statefulset.yaml
statefulset.apps "apiv2" deleted
# re-deploy apiv2 pods
$ kubectl apply -f /data/senselink/multi-done/statefulset/apiv2-statefulset.yaml
statefulset.apps/apiv2 created
# chech all apiv2 pods are running
$ kubectl -n senselink get pods
NAME READY STATUS RESTARTS AGE
apiv2-0 1/1 Running 0 4m15s
apiv2-1 1/1 Running 0 4m5s
apiv2-2 1/1 Running 0 3m59s
...
# redeploy infra-service
$ kubectl apply -f /data/senselink/multi-done/service/infra-service.yaml
service/infra created
# redeploy fs-service
$ kubectl apply -f /data/senselink/multi-done/service/fs-service.yaml
service/fs createdfeature-X
X=number of link nodes
Running
pod
fs-X
X=1
Running
pod
infra2-X
X=number of link nodes
Running
pod
mmo-init-job
0
Completed
pod
openapi-X
X=number of link nodes
Running
pod
opq
1
Running
pod
schedule2
1
Running
pod
slinkpush
1
Running
pod
sntp
1
Running
pod
sync-X
X=number of link nodes
Running
pod
web-X
X=number of link nodes
Running
pod
tk-X
1
Running
pod
event-X
X=number of link nodes
Running
pod
nebula
X=1
Running
pod
zookeeper
1
Running
pod
websocket
1
Running
ClusterIP
none
50052/TCP
fs
ClusterIP
none
20080/TCP
infra2
ClusterIP
none
50009/TCP, 50010/TCP
mongo
ExternalName
dds-xxxxxxxx.mongodb.japan.rds.aliyuncs.com
none
mysql
ExternalName
rm-xxxxxxxx.mysql.japan.rds.aliyuncs.com
none
openapi
ClusterIP
none
8099/TCP
opq
ClusterIP
none
9001/TCP
redis
ExternalName
r-xxxxxxxx.redis.japan.rds.aliyuncs.com
none
schedule2
ClusterIP
none
8091/TCP
slinkpush
ClusterIP
none
50055/TCP
sntp
ClusterIP
none
10080/TCP, 50080/TCP
sync
ClusterIP
none
1010/TCP, 50051/TCP
web
NodePort
none
80:80/TCP
websocket
ClusterIP
none
9000/TCP, 9099/TCP
zookeeper
ClusterIP
none
2181/TCP, 2888/TCP, 3888/TCP
tk
ClusterIP
none
8091/TCP, 50011/TCP, 20880/TCP
nebula
ClusterIP
none
55555/TCP, 20861/TCP
event
ClusterIP
none
8089/TCP, 20870/TCP


インストール中
ファームウェアをデバイスへインストールしています。
最新のファームウェアがインストール済です
デバイスは最新のファームウェアにアップデートされました。
アップデートに失敗しました:ネットワーク異常
ネットワークエラーが発生しました。ネットワークをチェックして安定していることを確認してから、アップデートを再試行してください。
アップデートに失敗しました:ダウンロードスペースが足りません
デバイスに十分な空き容量がないため、ファームウェアのダウンロードに失敗しました。不要なデータを消去してから、アップデートを再試行してください。
アップデートに失敗しました:ファイルのダウンロードに失敗しました
なんらかの理由でファームウェアのダウンロードに失敗しました。ネットワークをチェックして安定していることを確認してから、アップデートを再試行してください。
アップデートに失敗しました:APKファイルがありません
ダウンロードしたファイルにアプリケーションファイルが見つかりません。JCV製品窓口にお問い合わせください。
アップデートに失敗しました:最新バージョンではありません
ダウンロードしたファームウェアは、最新バージョンではありません。JCV製品窓口にお問い合わせください。
アップデートに失敗しました:パッケージ名エラー
ファームウェアパッケージ名が間違っており、このデバイスタイプに適したファームウェアタイプではないため、インストールできません。JCV製品窓口にお問い合わせください。
アップデートに失敗しました:インストールタイムアウト
インストールに時間がかかりすぎました。デバイスの状態を確認してから、アップデートを再試行してください。
アップデートに失敗しました:ダウンロードが中断されました
予期しないエラーが発生しました。JCV製品窓口にお問い合わせください。
インストール中
アプリケーションをデバイスへインストールしています。
最新のアプリケーションがインストール済です
デバイスは最新のアプリケーションにアップデートされました。
アップデートに失敗しました:ネットワーク異常
ネットワークエラーが発生しました。ネットワークをチェックして安定していることを確認してから、アップデートを再試行してください。
アップデートに失敗しました:ダウンロードスペースが足りません
デバイスに十分な空き容量がないため、アプリケーションのダウンロードに失敗しました。不要なデータを消去してから、アップデートを再試行してください。
アップデートに失敗しました:ファイルのダウンロードに失敗しました
なんらかの理由でアプリケーションのダウンロードに失敗しました。ネットワークをチェックして安定していることを確認してから、アップデートを再試行してください。
アップデートに失敗しました:APKファイルがありません
ダウンロードしたファイルにアプリケーションファイルが見つかりません。JCV製品窓口にお問い合わせください。
アップデートに失敗しました:最新バージョンではありません
ダウンロードしたアプリケーションは、最新バージョンではありません。JCV製品窓口にお問い合わせください。
アップデートに失敗しました:パッケージ名エラー
アプリケーションパッケージ名が間違っており、このデバイスタイプに適したアプリケーションタイプではないため、インストールできません。JCV製品窓口にお問い合わせください。
アップデートに失敗しました:インストールタイムアウト
インストールに時間がかかりすぎました。デバイスの状態を確認してから、アップデートを再試行してください。
アップデートに失敗しました:ダウンロードが中断されました
予期しないエラーが発生しました。JCV製品窓口にお問い合わせください。
概要
認証用顔写真内の顔の数を特定します。
リクエストアドレスの例
https://HOST:PORT/api/v1/recognition/check
リクエスト方法
POST: form-data
リクエストパラメーター
通常のレスポンス
レスポンスのフィールド
エラーレスポンスのフィールド
概要
認証用顔写真の品質を検出します。
リクエストアドレスの例
https://HOST:PORT/api/v1/recognition/quality
リクエスト方法
POST: form-data
リクエストパラメーター
通常のレスポンス
レスポンスのフィールド
qa_code の説明
エラーレスポンスのフィールド


当製品を利用して顔認証デバイスのファームウェアやぷりケーションをアップデートする方法について記載されています。
ToolKitを利用することで、SenseLinkに連携された顔認証デバイスのファームウェアやアプリケーションをSenseLink経由でアップデートすることができます。





Yes
シグネチャ。1.3.1 シグネチャ(sign)の計算の項を参照してください
timestamp
string
Yes
タイムスタンプ
顔の数
Yes
シグネチャ。1.3.1 シグネチャ(sign)の計算の項を参照してください
timestamp
string
Yes
タイムスタンプ
検知スコアが低すぎます
1030201
BAN:the face rect's pixels is too low
顔フレームのピクセルが少なすぎます
1030301
BAN:the face pose pitch is substandard
ピッチ角が大きすぎます
1030302
BAN:the face pose yaw is substandard
転向角が大きすぎます
1030303
BAN:the face pose roll is substandard
ロール角が大きすぎます
10401
BAN:the face quality{distance to center} is substandard
対面距離が基準を満たしていません
10402
BAN:the face quality{face size} is substandard
顔サイズ比が小さすぎます(顔の長方形の領域/ 画像領域)
10403
BAN:the face quality{face cover} is substandard
顔が遮られすぎています
10404
BAN:the face quality{brightness} is substandard
明るさが基準を満たしていません
10405
BAN:the face quality{sharpness} is substandard
明度が基準を満たしていません。(写真がぼやけています)
10406
BAN:the face quality{mouth opened} is substandard
口が開き過ぎています
10407
BAN:the face quality{face missing} is substandard
欠けた顔が多すぎます
処理中にエラーが発生しました
30006
Face Number Invalid
無効な顔です
50002
Internal Server Error
シリアル化エラー
パラメーター名
型
必須
説明
face_avatar
file
Yes
認証用顔写真
app_key
string
Yes
Appキー
sign
パラメーター名
型
説明
code
int
リターンコード
message
string
リターンメッセージ
desc
string
不正なリターンの説明
data
コード
メッセージ
説明
30001
Param Invalid
認証用顔写真のタイプが不正です
30003
No Face Detected In The Image
顔が検出されませんでした。
パラメーター名
型
必須
説明
face_avatar
file
Yes
認証用顔写真
app_key
string
Yes
Appキー
sign
パラメーター名
型
説明
qa_code
int
リターンコード
qa_msg
string
リターンメッセージ
qa_desc
string
リターンの説明
リターンコード
リターンメッセージ
リターンの説明
0
PASS
通過
101
BAN:face count is over the max
顔の数が最大数の制限を超えています
10201
BAN:image size wrong, two small
認証用顔写真が小さすぎます
10301
コード
メッセージ
説明
30001
Param Invalid
無効なパラメーターです
30001
Param Invalid
写真が大きすぎます
30005
Avatar File Illegal
ファイルのサイズが大きすぎます
30005
string
int
string
BAN:the alignment score is substandard
Avatar File Illegal
{
"code": 200,
"message": "OK",
"data": 4
}{
"code": 200,
"message": "OK",
"data": {
"qa_code": 1030301,
"qa_desc": "the face pose pitch score is [22.19]-float",
"qa_msg": "BAN:the face pose pitch is substandard"
}
}ファームウェアのアップデートを行います。ホーム画面のファームウェアをクリックしてください。プロダクトモデル一覧画面が表示されます。ボタンをクリックしてください。
ファームウェアアップロード画面が表示されます。
各項目にアップロードするファームウェアの情報を入力します。
項目
入力可能文字種、フォーマット、
注意事項など
最小入力文字数
最大入力文字数
*ファームウェアファイル
アップロードするファームウェアの選択。ToolKitをご利用中のPC/サーバー上に保存されたファームウェアを指定してください
-
*プロダクトモデル
SensePass ProまたはSenseThunder Eをご利用中の場合はSPS020-PROを、
SensePass2またはSenseThunder Miniをご利用中の場合はSPS020-STDを選択してください
-
*ファームウェアバージョン
*は必須入力・選択項目です。
すべての項目を入力・選択し、ページ最下部にあるアップロードボタンをクリックしてください。ファームウェアがSenseLinkにアップロードされます。ファームウェアアップロード欄のメーターが100%になるとアップロード完了です。
アップロード完了後、ファームウェアアップロードのタブからファームウェアのタブに移動してください。
アップロードしたファームウェアのプロダクトモデルが表示されます。左側に表示される > ボタンをクリックしてください。
アップロード済みのファームウェアの一覧が表示されます。先ほどアップロードしたファームウェアの操作欄にある 配信ボタンをクリックしてください。
アップデート方法と配信範囲を指定します。
アップデート方法の種類
種類
概要
通常のアップデート
配信設定後、デバイスの画面上にアップデートに関するメッセージが表示され、デバイス側で承認された場合のみアップデートが開始されます。
サイレントアップデート
配信設定後、アップデートが開始されます。デバイスの画面上に更新メッセージは表示されません。
設定時間アップデート
設定された時間にアップデートが行われます。アップデートを実施する時間を指定してください。
配信範囲で、ファームウェアを配信するデバイスを指定してください。 すべての機器(デバイス)または指定機器(デバイス)から選択できます。 指定機器を選択した場合、デバイス一覧から配信するデバイスにチェックを入れて選択する必要があります。デバイスの一覧にはハードウェアバージョンが一致するデバイスのみ表示されます。
すべての項目の設定完了後、配信ボタンをクリックしてください。デバイスにファームウェアが配信され、設定したアップデート方法に合わせたアップデートが開始されます。
アップロードしたファームウェアの配信ステータス変更を行います。配信ステータスを変更することによって誤配信を防ぐことができます。
プロダクトモデル一覧画面で、アップロードしたファームウェアのプロダクトモデルが表示されます。左側に表示される > ボタンをクリックしてください。 アップロード済みのファームウェアの一覧が表示されます。ステータスを変更したいファームウェアの配信ステータス欄のスイッチをクリックし、[配信不可] または [配信可能] ステータスに変更してください。
利用しなくなったファームウェアをSenseLinkから削除します。誤配信を防ぐためにも、定期的に不要なファームウェアの削除を行なってください。
プロダクトモデル一覧画面でアップロードしたファームウェアのプロダクトモデルが表示されます。左側に表示される > ボタンをクリックしてください。 アップロード済みのファームウェアの一覧が表示されます。削除をしたいファームウェアの配信ステータスが[配信不可]であることを確認し、操作欄にある[Delete]をクリックしてください。 ファームウェアが削除されます。 配信ステータスが[配信可能]の状態では、[Delete]ボタンを選択することができません。配信ステータスを[配信不可] に変更し、削除してください。
プロダクトモデルごとのファームウェアの配信状況を確認することができます。
プロダクトモデル一覧画面で、アップロードしたファームウェアのプロダクトモデルが表示されます。確認するプロダクトモデルの操作欄にある配信状況ボタンをクリックしてください。
ファームウェア配信状況が表示されます。 上段はすべてのデバイス数やファームウェア名、グラフが表示されます。 下段はデバイスごとの詳細情報が表示されます。
アプリケーションのアップデートを行います。
ホーム画面のアプリケーションをクリックしてください。パッケージ一覧画面(アプリケーションタブ)が表示されます。アプリケーションアップロードをクリックしてください。
アプリケーションアップロード画面が表示されます。
各項目にアップロードするアプリケーションの情報を入力します。
項目
入力可能文字種、フォーマット、
注意事項など
最小文字数
最大文字数
*アプリケーションファイル
※1
アップロードするアプリケーションの選択。ToolKitをご利用中のPC/サーバー上に保存されたアプリケーションフィアルを指定してください
-
*パッケージ
SensePass ProまたはSenseThunder をアップロードする場合はcom.sensetime.sensepassproegeを、
SensePass2またはSenseThunder Miniをアップロードする場合はcom.sensetime.sensepassgeを選択してください
-
*バージョン
*は必須入力・選択項目です。
すべての項目を入力/選択後、ページ最下部にあるアップロードボタンをクリックしてください。アプリケーションがSenseLinkにアップロードされます。アプリケーションアップロード欄のメーターが100%になるとアップロード完了です。
アプリケーションアップロードタブからアプリケーションタブに移動してください。
パッケージ一覧画面(アプリケーションタブ)でアップロードしたアプリケーションのパッケージが表示されます。左側に表示される > ボタンをクリックしてください。アップロード済みのアプリケーションの一覧が表示されます。先ほどアップロードしたアプリケーションの操作欄にある配信をクリックしてください。
アップデート方法と配信範囲を指定します。
アップデート方法の種類
種類
概要
通常のアップグレード
配信設定後、デバイスの画面上にアップデートに関するメッセージが表示され、デバイス側で承認された場合のみアップデートが開始されます。
サイレントアップデート
配信設定後、アップデートが開始されます。デバイスの画面上にアップデートに関するメッセージは表示されません。
設定時間アップデート
設定された時間にアップデートが行われます。
配信範囲でファームウェアを配信するデバイスを指定してください。
すべての機器(デバイス)または指定機器(デバイス)から選択できます。 指定機器を選択した場合は、デバイス一覧から配信するデバイスにチェックを入れて選択する必要があります。デバイスの一覧にはパッケージが一致するデバイスのみ表示されます。
すべての項目の設定完了後、Publish upgradeボタンをクリックしてください。デバイスにアプリケーションが配信され、設定したアップデート方法に合わせたアップデートが開始されます。
アップロードしたアプリケーションのステータス変更を行います。ステータスを変更することによって、誤配信を防ぐことができます。
パッケージ一覧画面(アプリケーションタブ)でアップロードしたアプリケーションのパッケージが表示されます。 左側に表示される > ボタンをクリックしてください。アップロード済みのアプリケーションの一覧が表示されます。 ステータスを変更したいアプリケーションの配信ステータス欄のスイッチを、 [配信不可] または [配信可能] ステータスに変更してください。
利用しなくなったアプリケーションをSenseLinkから削除します。誤配信を防ぐためにも、定期的に不要なアプリケーションの削除を行なってください。
パッケージ一覧画面(アプリケーションタブ)でアップロードしたアプリケーションのパッケージが表示されます。 左側に表示される > ボタンをクリックしてください。アップロード済みのアプリケーションの一覧が表示されます。 削除したいアプリケーションの配信ステータスが[配信不可]になっていることを確認し、[Delete]ボタンをクリックしてください。アプリケーションが削除されます。 配信ステータスが[配信可能]の場合、アプリケーションを削除することができません。配信ステータスを変更してから、[Delete]ボタンをクリックしてください。
パッケージごとのアプリケーションの配信を確認することができます。
パッケージ一覧画面(アプリケーションタブ)で、アップロードしたアプリケーションのパッケージが表示されます。確認するパッケージの操作欄にあるVersion distributionボタンをクリックしてください。
アプリケーション配信が表示されます。 上段はすべてのデバイス数やアプリケーションの数の概要とグラフが表示されます。 下段はデバイスごとの詳細情報が表示されます。
モデル管理はサポートしていない機能で、現在利用できません。
インストーラパッケージが生成済みであることが前提です。Diamond ホストに /data のフォルダを準備し、フォルダ内にインストーラパッケージがあることを確認します。
手動アーキテクチャの場合、すべてのホストが Diamond デプロイの前提条件を満たしている必要があります。 事前確認処理はデプロイプロセスの中で実行されます。ホストの前提要件は以下のとおりです。
項目
Diamond ホスト
・GPUドライバーがプリインストールされている場合、以下の手順をスキップできます。
・GPUドライバーをDiamondによってインストールする場合、以下の準備が必要です。
config file /etc/modprobe.d/blacklist.conf
Reboot The ECS Hosts
セットアップを開始する前に、$install_package_path/config.yaml でファイルを構成します。
Diamond のインストールには時間かかるため (1.5~2 時間)、tmux や screen を使用してセッションを作成してから次のスクリプトを実行することを推奨します。セッションを作成しない場合、セッションのハングアップが原因でインストールが中断します。
インストーラの実行中、Diamond ワークフローインストーラの高度な実行ステップが表示されます。Diamond ホストで tail -f $install_package_path/setup_diamond.log を実行してサブコンポーネントの詳細ログを表示することも可能です。
Diamond プラットフォームのインストールが正常に完了すると、ダイヤ型の図が画面に表示されます。Server error というテキストが出力される場合はインストールが失敗したことを示します。詳細はサブコンポーネントログをご確認ください。問題の修正後、前述したコマンドを再実行します。
Senselink Web サービスでは 80 番ポートが必要になるため、以下のコマンドを使用してk8s クラスタで k8s サービスノードのポート範囲を 1~65535 に変更する必要があります。
ホストの稼働中、Diamond ホストから他のホストに対して ssh の実行が必要になることがよくあります。このようなシナリオ向けにクレデンシャルが設定済みかもしれませんが、設定していない場合は、diamond.key を Diamond ホストのプライベートキーとして使用できます。すべてのホストには Diamond パブリックキーが設定されています。
以下のスクリプトを実行すると、Diamond キーが現行セッションのプライベートキーのリストに追加されます。
あるいは、ユーザの Diamond キーをホストのプライベートキーとして永続的に使用することもできます。
Diamond ではk8s ワーカーホスト用の k8s kubeconfig は設定されませんが、SenseLink のデプロイでは、ワーカーホストにサービスをデプロイするために k8s kubeconfig が必要です。この問題に対処するには、以下のスクリプトを Diamond ホストで複数回実行し、Diamond ホスト IP と k8s ワーカー IP を host_ip に割り当てます。
Diamond プラットフォームのインストールが完了すると、Diamond ポータルが稼働します。ポータルサービスは、Kubernetes クラスタにインストールされます。このポータルには でアクセスできます。
このセクションの内容はオプションであり、クラスタの稼動時に頻繁にホストに対して ssh を実行する場合に便利です。
トラブルシューティングの際に頻繁に使用する k8s コマンドがいくつかあります。それらのコマンドをエイリアスとして設定することで、長いコマンドを入力する必要がなくなります。














'hd1h1, hd1h5, hd1h6'
LINK_NODE
Senselink ノードのホスト名
'hd1h2, hd1h5, hd1h6'
ELASTICSEARCH_NODE
サービスのログストレージに使用する Elasticsearch ノードのホスト名
'hd1h2, hd1h5, hd1h6' elasticsearch
K8S_MASTER_SLB_IP
k8s マスターホスト用の内部 SLB の IP。k8s マスターホストが 2 つ以上設定されている場合に必要
'192.168.1.300'
SENSELINK_PORTAL_IP
Senselink ポータル用の外部 SLB のドメインまたは IP
'192.168.1.300'
MYSQL_HOST
MySQL リソースの URL
MYSQL_ROOT_USER
高い特権をもつ MySQL のアカウント (許可、作成、挿入など)
-
MYSQL_ROOT_PASSWORD
上記アカウントのパスワード
MONGO_HOST
MongoDB リソースの URL
MONGO_PORT
MongoDB リソースのポート
MONGO_USERNAME
MongoDB のアカウント
-
MONGO_PASSWORD
上記アカウントのパスワード
REDIS_HOST
Redis リソースの URL
REDIS_PASSWORD
上記アカウントのパスワード
MAIL_HOST
電子メールの SMTP アドレス。上記アカウントの変更に関するイベント発生時に、電子メールを送信する際に使用される。
MAIL_PORT
電子メールの SMTP のポート
MAIL_USERNAME
電子メールアカウント
-
MAIL_PASSWORD
電子メールアカウントのパスワード
OSS_ENABLE
Aliyun OSS の有効化
true または false
OSS_ENDPOINT
OSS のエンドポイント。OSS はイメージストレージに使用される。
OSS_ACCESSID
OSS のアクセス ID
OSS_ACCESSKEY
OSS の アクセスキー
OSS_BUCKETNAME
OSS のバケット名
NGINX_ACCESS_CONTROL_ALLOW_ORIGIN
許可するドメイン名の設定
TIME_ZONE
タイムゾーン
GMT+09:00 by default
Senselink ホスト
ホスト名
/etc/hosts にマッピング済み
同左
OS バージョン
Ubuntu 16.04/CentOS 7.4
Ubuntu 16.04/CentOS 7.4
Python バージョン
2.7.15
2.7.12
Diamond SSH キー
/home/ubuntu/authorized_keys に設定済み
Diamond ホストと同じ
DNS レゾルバ
適切な構成
Diamond ホストと同じ
ディスクボリューム
OS ボリュームが必要
OS ボリュームが必要。少なくとも 1 つのデータボリューム
ディスクの空き容量
100GB
500GB
GPU カード
-
事前にGPUドライバーをインストールか、インストールのためにDiamondに置いておきます
インターネットカード
IP および MAC
IP および MAC
CPU 情報
-
-
メモリ情報
-
-
APT のアップデート
エラーが発生しないこと
エラーが発生しないこと
GPU
ドライバーバージョン
サンプル
Tesla P4
384.183
nvidiaDriverVersion: '384.183'
Tesla P100
410.129
nvidiaDriverVersion: '410.129'
Tesla T4
410.129
nvidiaDriverVersion: '410.129'
項目
説明
例
HOSTS
ホスト名およびすべてのホストの IP をカンマで区切って指定
'hd1h1 192.168.1.201,hd1h2 192.168.1.202,hd1h3 192.168.1.203,hd1h4 192.168.1.204,hd1h5 192.168.1.205,hd1h6 192.168.1.206'
DIAMOND_HOST
Diamond ホスト名
'hd1h1'
MASTER_HOST
k8s マスターのホスト名
'hd1h2, hd1h3, hd1h4'
WORKER_HOST
k8s ワーカーのホスト名
# Confirm Centos kernel version
uname -a
# e.g. 3.10.0-693.el7.x86_64
# use google search keywords [centos7.4 3.10.0-693.el7.x86_64] and the first result may be the right download link. Download kernel-devel package and run rpm install command.
# wget https://buildlogs.centos.org/c7.1708.00/kernel/20170822030048/3.10.0-693.el7.x86_64/kernel-devel-3.10.0-693.el7.x86_64.rpm
# rpm -ivh kernel-devel-3.10.0-693.el7.x86_64.rpmblacklist nouveau
blacklist lbm-nouveau
options nouveau modeset=0
alias nouveau off
alias lbm-nouveau offecho options nouveau modeset=0 | sudo tee -a /etc/modprobe.d/nouveau-kms.confyum provides */lspci
yum install pciutils# vim $install_package_path/diamond/config.js
# Installation of gpu driver is custom by default that means the GPU Driver on the hosts is Pre-installed.
If you want to install gpu driver by the diamond,you can set the value of the nvidiaDriverVersion field.############# run separately ############
##### Please ensure use ubuntu user. #####
# make sure install_package_path is install package path.
sudo su - ubuntu
cd $install_package_path
# Create tmux session for installation
# $ tmux new -s senselink
./setup_diamond.sh |& tee -a ./setup_diamond.logworkflow installation has completed
***************
*******************
***************
***********
*******
***
*
Diamond successfully installed# find parameter service-node-port-range and change value to 1-65535
sudo vim /etc/kubernetes/manifests/kube-apiserver.yaml
sudo systemctl daemon-reload
sudo systemctl restart kubelet# add diamond.key to host private key list
ssh-agent bash
ssh-add /data/diamond/shells/diamond.key##############################################
# Please ensure existing id_rsa wasn't used before run below command.
##############################################
# copy diamond.key as host private key
cp -i /data/diamond/shells/diamond.key /home/ubuntu/.ssh/id_rsahost_ip=10.10.10.x
scp /data/diamond/report/k8sKubeConfig $host_ip:~/kubeconfig
ssh $host_ip 'mkdir -p ~/.kube/ && mv ~/kubeconfig ~/.kube/config && sudo mkdir -p /root/.kube/ && sudo cp ~/.kube/config /root/.kube/'# adding frequent used commands
echo '
alias kaf="kubectl apply -f"
alias kdf="kubectl delete -f"
alias kg="kubectl get"
alias kga="kubectl get all"
alias kgp="kubectl get pods"
alias kd="kubectl describe"
alias kdp="kubectl describe pods"
alias kl="kubectl logs"
alias keti="kubectl exec -ti"
alias sk="kubectl -n senselink"
alias skg="kubectl -n senselink get"
alias skga="kubectl -n senselink get all"
alias skgp="kubectl -n senselink get pods"
alias skd="kubectl -n senselink describe"
alias skdp="kubectl -n senselink describe pods"
alias skl="kubectl -n senselink logs"
alias sketi="kubectl -n senselink exec -ti"
alias ck="kubectl -n component"
alias ckg="kubectl -n component get"
alias ckga="kubectl -n component get all"
alias ckgp="kubectl -n component get pods"
alias ckd="kubectl -n component describe"
alias ckdp="kubectl -n component describe pods"
alias ckl="kubectl -n component logs"
alias cketi="kubectl -n component exec -ti"
' >> ~/.bashrc
source ~/.bashrcGETリクエストパラメーター
パラメーター名
型
必須
説明
dateFrom
string
No
yyyy-MM-dd 形式の開始時間
dateTo
string
No
yyyy-MM-dd 形式の終了時間
deviceId
通常のレスポンス
レスポンスのフィールド
パラメーター名
型
説明
total
int
総計
size
int
サイズ
data
object
データ
page_num
dataフィールドの説明
パラメーター名
型
説明
id
long
アラートレコードのID
level
int
アラートのレベル。1 は通常のアラートを示し、2 は異常を示します
code
int
アラートのタイプ。10001:デバイスの盗難アラート、10002:ドア・ゲート強制突破アラート、10003:ドアセンサータイムアウト、10004:パスワードクラッキング、10005:(サポートされないアラートです。現在利用できません)、10006:サーモカメラ接続異常、20001:カメラの汚れ、20002:Non-Living アタック(非生体による認証)、20003:消防アラート、30001:デバイスオフラインアラート、40001:特徴量抽出エラー
description
エラーレスポンスのフィールド
code
メッセージ
説明
30001
Param Invalid
無効なパラメーターです
概要
オンラインデバイスにアラート解除コマンドを送信します。
リクエストアドレスの例
https://HOST:PORT/api/v2/device/alarm/disarm
リクエスト方法
POST: form-data
リクエストパラメーター
パラメーター名
型
必須
説明
traceId
string
Yes
アラートのシリアル番号
description
string
No
イベントの説明
app_key
通常のレスポンス
エラーレスポンスのフィールド
code
メッセージ
エラーの説明
498
Param Invalid
リモートで解除できないアラートです(以下のアラートタイプのみ:10004:パスワードクラッキング、20002:Non-Living アタック(非生体による認証)、30001:デバイスオフラインアラート、40001:特徴量抽出エラー、10003:ドアセンサータイムアウト、10006:サーモカメラ接続異常、20001:カメラの汚れ)
620
Record non-existent Error
アラートは解除されています
620
Record non-existent Error
アラートのシリアル番号が存在しません
30001
半角英数
V1.2.3 のように大文字Vから始まり2つの.(ドット)で区切られる3桁の数字、またはV1.2.3-yyyymmdd-[管理番号]の形式で指定してください
6
255
*適用ハードウェアバージョン
SensePass ProまたはSenseThunder Eをご利用中の場合はSPS020PROV2を、
SensePass2またはSenseThunder Miniをご利用中の場合は
SPS020V3入力してください
8
11
*アップデート名
半角英数、-/*+
任意のアップデート名を入力してください。
1
255
*概要(中国語)
半角英数字、全半角スペース、漢字、ひらがな、カタカナ、全半角記号
中国語以外も入力できます
1
255
概要(英語)
半角英数字、全半角スペース、漢字、ひらがな、カタカナ、全半角記号
英語以外も入力できます
0
255
開発元
JCVから特別な指定がない限り、固定値:SenseTimeを入力してください
0
255
半角英数、.(ドット)
V1.2.3 のように大文字Vから始まり2つの.(ドット)で区切られる3桁の数字、またはV1.2.3-yyyymmdd-[管理番号]の形式で指定してください
6
255
*バージョンコード
半角数字、.(ドット)
最大値2147483647
VやVerなど英字は利用できません。数字のみ入力してください
2
11
*アップロード名
半角英数、-/*+
アプリケーションの管理のために一意のアップロード名を入力できます
1
255
*概要(中国語)
半角英数字、全半角スペース、漢字、ひらがな、カタカナ、全半角記号
中国語以外も入力できます
1
255
概要(英語)
半角英数字、全半角スペース、漢字、ひらがな、カタカナ、全半角記号
英語以外も入力できます
0
255
Websocketプロトコルを利用したPush通知機能について記載されています。
デバイスの認証レコードやデバイスのアラートをPushするには、websocket プロトコルを利用します。
注記:本Push通知は、SenseLink GE V1.10.7を利用していたユーザー向けの機能です。 SenseLink GE V2.2.0以降では標準としてイベントサブスクリプションがサポート、利用が推奨されています。
接続アドレス :
ws://HOST:9000/websocket/record/{app_key}/{timestamp}/{sign}
接続パラメーター :
{
"code": 200,
"message": "OK",
"data": {
"total": 639,
"data": [{
"traceId": "SGBD1566376557396gpknft",
"alarmPhoto": "5d5d026df684640001b260f0",
"code": 20002,
"releaseTime": "",
"level": 2,
"resloveOption": 0,
"alarmTime": "2019-08-21 16:35:57",
"deviceId": 283,
"deviceName": "SensePassTest",
"deviceSn": "SGBD-b8b2201baea00d3918c49989838d81c0",
"alarmTimeL": 1566376557395,
"id": 378018,
"deviceLocation": "306.Michael",
"status": 0
}],
"size": 20,
"totalPage": 32,
"pageSize": 20,
"pageNum": 1
}
}{
"code": 200,
"message": "OK",
"data": {}
}long
No
デバイスのID
code
int
No
アラートのタイプ。10001:デバイスの盗難アラート、10002 :ドア・ゲート強制突破アラート、10003:ドアセンサータイムアウト、10004:パスワードクラッキング、10005 :(サポートされないアラートです。現在利用できません)、10006:サーモカメラ接続異常、20001:カメラの汚れ、20002:Non-Living アタック(非生体による認証)、20003:消防アラート、30001:デバイスオフラインアラート、40001:特徴量抽出エラー
status
int
No
アラートのステータス。0:すべて、1:アラート作動中、2:解除中、3:解除済み
page
int
No
ページ番号(デフォルトは 1)
size
int
No
ページサイズ(デフォルトは 20、最大 1000)
app_key
string
Yes
Appキー
sign
string
Yes
シグネチャ。1.3.1シグネチャ(sign)の計算の章を参照してください。
timestamp
string
Yes
タイムスタンプ
int
現在のページ番号
page_size
int
ページサイズ
total_page
int
ページ合計
string
アラートの説明
status
int
アラートのステータス。0:解除する必要がありません、1:アラート作動中、2:解除中、3:解除済み
traceId
string
デバイスが生成するアラートのシリアル番号であり、アラートの固有の識別番号です。
deviceId
long
デバイスID
deviceName
string
デバイス名
deviceSn
string
デバイスの LDID 番号
deviceLocation
string
デバイスの設置場所
alarmTime
string
アラート時間
alarmTimeL
long
アラートのタイムスタンプ(ミリ秒単位)
releaseTime
string
アラートのリリース時間
alarmPhoto
string
アラート写真
resolveOption
int
アラートの解除オプション。0:解除不要、1:デバイスエンドでの解除のみをサポート、2:リモート解除のみをサポート、3:デバイスエンドまたはリモートでの解除
0:解除不要 : 10004:パスワードクラッキング、20002:Non-Living アタック(非生体による認証)、30001:デバイスオフラインアラート、40001:特徴量抽出エラー
1:デバイスエンドでの解除のみをサポート : 10003:ドアセンサータイムアウト、10005:(サポートされないアラートです。現在利用できません)、10006:サーモカメラ接続異常、20001:カメラの汚れ、
3:デバイスエンドまたはリモートでの解除、10001:デバイスの盗難アラート、10002:ドア・ゲート強制突破アラート、20003:消防アラート
userId
long
登録者ID 。コード内でパスされます。40001
userName
string
登録者名。コード内でパスされます。40001
userType
int
登録者のタイプ。1:従業員、2:ビジター、3:拒否リストコード内でパスされます。40001
string
Yes
Appキー
sign
string
Yes
シグネチャ。1.3.1シグネチャ(sign)の計算の章を参照してください。
timestamp
string
Yes
タイムスタンプ
Param Invalid
イベント説明が長すぎます
50001
RPC FAILED
リモートサービスの呼び出しに失敗しました
SenseLink Cloudをご利用の場合、Basicプランは30日間、Professionalプランは365日間認証レコードが保存されます。ただし特別な契約条件がある場合を除きます。 ご契約のプランおよび特別契約条件については、サービス開始時に契約担当者様に送付されるメール「サービス開始のご連絡」にてご確認ください。
ナビゲーションメニューの[イベント管理]→[認証レコード]をクリックしてください。認証レコードの一覧が表示されます。
以下の情報が認証レコードとして記録されます。認証結果やデバイスの設定によっては、空欄の場合があります。
項目
概要
認証時写真
認証時にデバイスが撮影した写真。一覧では顔部分のサムネイルのみ表示されますが、ホバーすると全体が表示されます
認証用写真(認証時写真)
登録者情報で認証用顔写真として登録された写真
※現在バグにより、画面上「認証時写真」と表示されています
ID写真
(サポートされない項目です)
氏名
登録者タイプ
従業員、ビジター、拒否リスト、または未登録者のいずれかが表示されます
誤認証タイプ
概要
他人として認証
登録者が他の登録者として認証された場合
未登録者として認証
登録者が未登録者として認証された場合
Non-Livingとして認証
写真やビデオ、3Dマスクなどによるなりすましではないのに、生体認識の結果なりすましであると認識された場合
未登録者突破
未登録者が登録者として認証された場合
Non-Living突破
写真やビデオ、3Dマスクなどによるなりすましなのに、なりすましではないと認識された場合
検索機能として、登録者タイプ、認証方法、誤認証タイプ、異常検知タイプ、登録者グループ、認証期間、デバイス、登録者名があります。 検索項目を選択し、検索ボタンをクリックしてください。検索結果が表示されます。 リセットボタンをクリックすると検索結果が解除されデフォルトの一覧画面が表示されます。
ユーザーのプライバシーを保護するために、特定のフィルターとキーワードによって認識レコードを削除できます。
SenseLink Cloudを利用する場合、認証レコードを削除しても、ダッシュボードで表示している当日分の集計値は変わりません。
認証レコードを削除すると、認証統計、勤怠レコード、勤怠統計に影響します。 記録は回復できません。 認証レコードを削除するときに、十分ご注意ください
SenseLinkのユーザーは認証レコードを確認し、認証結果が誤りだと判断した場合に誤認証のタグをレコードに付与して管理することができます。
誤認証タイプは前節の 表:誤認証タイプに記載されています。 誤認証タグを付与する認証レコードの認証時写真にマウスオーバーしてください。写真全体が表示され、写真の下部に「誤認証タグ」が表示されるのでクリックしてください。
誤認証タグ登録画面が表示されます。誤認証タイプを選択し、必要であれば名称欄に特記事項を記入して適用ボタンをクリックしてください。
「この操作は取り消ししません。タグをつけますか?」のメッセージが表示されます。この情報でよければ、確定ボタンをクリックしてください。
誤認証タグを付与した認証レコードの誤認証タイプ欄に、付与した誤認証タイプのタグが表示されていることを確認してください。
登録者別に認証レコードを管理することができます。
ナビゲーションメニューの[イベント管理]→[登録者別 認証レコード]をクリックしてください。登録者別の認証レコードの概要が表示されます。登録者の認証レコードの詳細を確認する場合は、設定欄の詳細をクリックしてください。
認証レコードページに遷移し、選択した登録者のみの認証レコードが一覧で表示されます。
現在、監視(ナビゲーションメニューの[イベント管理]→[監視])はサポートされていません。
デバイスが検知した様々なアラートを管理することができます。
SensePass GE V1.2.1、SensePass GE V1.2.3で発生したアラートの管理はサポートされません。
ナビゲーションメニューの[イベント管理]→[デバイスアラート]をクリックしてください。デバイスアラートの一覧が表示されます。
アラートタイプ
概要
盗難アラート
デバイスにある盗難アラートボタンが押された場合に発生します
ドア・ゲート強制突破アラート
通行者が規定の方法以外でドアまたはゲートの通行(突破)したことを検知した場合に発生します。デバイス側でGPIO端子によるドア開閉センサーの設定がされている場合のみ有効です
ドアセンサータイムアウト
デバイスの設定項目「ドアオープンタイム」の設定時間内にドアの開閉を終えない場合に発生します。デバイス側でGPIO端子によるドア開閉センサーの設定がされている場合のみ有効です
パスワードクラッキング
デバイスでパスワードの入力を5回間違った場合に発生します。不審者による不正ログインを検知できます
オフラインアラート
デバイスの故障またはネットワーク、その他が原因でデバイスがSenseLinkに接続されない状態を「オフライン」と呼びます。デバイスがオフラインになった場合に発生します
検索機能として日付、デバイス、アラートタイプ、アラートのステータスがあります。検索項目を設定し、検索ボタンをクリックしてください。検索結果が表示されます。
アラートの確認後、アラートを解除することができます。 アラート発生中の場合、アラート一覧のアラートステータスが「アラート発生中」となります。解除したいアラートの「アラート解除」ボタンをクリックしてください。 ステータスが「アラート発生中」から「解除完了」になります。
オフラインでデバイスアラートを生成した後でオンラインにした場合、初回のみダッシュボード上に警告が表示されることがあります。表示された場合は画面を再表示(リロード)することで、警告は表示されなくなります。
認証レコードの一覧を最大100,000件までExcelファイルをエクスポートすることができます。ただし写真はエクスポートできません。
ナビゲーションメニューの[イベント管理]→[認証レコード]をクリックしてください。認証レコード一覧が表示されます。検索したレコードのみエクスポートする場合は、検索条件を選択して検索ボタンをクリックしてください。
一覧上部にあるエクスポートをクリックしてください。
追加エクスポートフィールド選択画面が表示されます。Excelファイルに追加でエクスポートしたいフィールドを選択し、確認をクリックしてください。
エクスポートフィールドは以下です。
フィールド
デフォルト
氏名
Yes
登録者タイプ
Yes
グループ
Yes
方向
Yes
デバイス
Yes
「エクスポートされたExcelファイルのパスワードは現在のアカウントです」というメッセージが表示されます。確定ボタンをクリックすると認証レコードが記載されたExcelファイルがご利用中のPCに保存されます。
ファイル名は 認証レコード_[YYYY]-[MM]-[DD] [HH]_[MM]-[SS]_[YYYY]-[MM]-[DD] [HH]_[MM]-[SS]_.xlsx です。[YYYY]-[MM]-[DD] [HH]_[MM]-[SS]は、認証レコード一覧検索で設定された開始日時と終了日時が指定されます。
Excelファイルを開くには、パスワードを入力する必要があります。パスワードはExcelファイルエクスポートを行なったユーザーのアカウントです。
登録者別 認証レコードのサマリーを最大100,000件までExcelファイルにエクスポートすることができます。ただし写真はエクスポートできません。
ナビゲーションメニューの[イベント管理]→[登録者別 認証レコード]をクリックしてください。認証レコード一覧が表示されます。検索したレコードのみエクスポートする場合は、検索条件を選択して検索ボタンをクリックしてください。
一覧上部にあるエクスポートをクリックしてください。
追加エクスポートフィールド選択画面が表示されます。Excelファイルに追加でエクスポートしたいフィールドを選択し、確認をクリックしてください。
エクスポートフィールドは以下です。
フィールド
デフォルト
氏名
Yes
登録者タイプ
Yes
グループ
Yes
初回アクセス(検索期間範囲での初回認証時間)
Yes
最終アクセス(検索期間範囲での最終認証時間)
Yes
「エクスポートされたExcelファイルのパスワードは現在のアカウントです」というメッセージが表示されます。確定ボタンをクリックすると、認証レコードが記載されたExcelファイルがご利用中のPCに保存されます。
ファイル名は 登録者別認証レコード_[YYYY]-[MM]-[DD] [HH]_[MM]-[SS]_[YYYY]-[MM]-[DD] [HH]_[MM]-[SS]_.xlsx です。[YYYY]-[MM]-[DD] [HH]_[MM]-[SS]は認証レコード一覧検索で設定された開始日時と終了日時が指定されます。
Excelファイルを開くには、パスワードを入力する必要があります。パスワードはExcelファイルエクスポートを行なったユーザーのアカウントです。
app_key
string
Yes
Appキー
sign
string
Yes
シグネチャ。1.3.1 シグネチャ(sign)の計算の章を参照してください
timestamp
string
Yes
タイムスタンプ
メッセージ本体 :
code:30000 認証レコード
code:30100 アラートレコード
概要
すべてのデバイスの認証レコードPushをリアルタイムで受信します(WebSocket)。
code=30000
メッセージ本体データ
パラメーター名
型
説明
id
int
レコード ID
userId
int
認証されたユーザーの ID
name
string
認証されたユーザーの名前
direction
group フィールドの説明
パラメーター名
型
説明
id
long
グループID
name
string
グループ名
type
int
グループタイプ。1:従業員グループ、2:ビジターグループ、5:拒否リストグループ
例
接続成功 :
接続失敗 :
ハートビート検知 :
メッセージPush本体 :
概要
すべてのデバイスのアラートレコードのPush(WebSocket) を受信します。
code=30100
メッセージ本体データ
パラメーター名
型
説明
id
long
アラートレコードのID
level
int
アラートレベル。1:アラート、2:異常
code
int
アラートのタイプ。10001:デバイスの盗難アラート、10002:ドアの強制開放、10003:ドアセンサータイムアウト、10004:パスワードクラッキング、10005:(サポートされないアラートです。現在利用できません)、10006:サーモグラフィカメラ接続異常、20001:カメラの汚れ、20002:Non-Living アタック(非生体による認証)、20003:消防アラート、30001:デバイスオフラインアラート、40001:特徴量抽出エラー
description
例
接続成功 :
接続失敗 :
ハートビート検知 :
メッセージPush本体 :
パラメーター名
型
必須
説明











{
"code": 30000,
"desc": "",
"message": "",
"data": {
...
}
}{
"code": 20000,
"message": " Connected!",
"desc": "Connected!"
}{
"code": 20002,
"message": "Permission Denied!",
"desc": "app key not exist"
}{
"code": 10000,
"desc": "heart beat",
"message": "heart beat"
}{
"code":30000,
"message":"push record",
"data":{
"id":1364591,
"userId":0,
"name":"",
"type":3,
"avatar":"",
"direction":0,
"verifyScore":0,
"receptionUserId":0,
"receptionUserName":"",
"groups": [
{
"id": 1,
"name": "Default group",
"type": 1
}
],
"deviceName":"bella pro",
"sn":"SPSP-f26131cf5301be29b3a6f7be150ed330",
"signDate":"2019-09-29",
"signTime":1569725174,
"signAvatar":"5d901af663cdaf0001252bb9",
"signBgAvatar":"5d901af663cdaf0001252bba",
"mobile":"",
"icNumber":"",
"idNumber":"",
"jobNumber":"",
"remark":"",
"entryMode":1,
"signTimeZone":"+08:00",
"docPhoto":"",
"location":"306",
"abnormalType":0
}
}{
"code": 20000,
"message": "Connected!",
"desc": "Connected!"
}{
"code": 20002,
"message": "Permission Denied!",
"desc": "app key not exist"
}{
"code": 10000,
"desc": "heart beat",
"message": "heart beat"
}{
"code": 30100,// アラートレコード
"desc": "",
"message": "push alarm",
"data": {
"id": 0,
"level": 0,
"code": 0,
"description": "",
"status": 0,
"traceId": "",
"deviceId": 0,
"deviceName": "",
"deviceSn": "",
"deviceLocation": "",
"alarmTime": "",
"releaseTime": "",
"alarmPhoto": "",
"resloveOption": 0
}
}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:不明、0:着用なし、2:着用あり
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:消防アラート











Step 1が表示されます。
従業員情報情報を入力するためのExcelテンプレートをダウンロードします。 ①ダウンロード ボタンをクリックしてください。ファイル名とダウンロード先を指定して、保存してください。デフォルトのファイル名は senselink_employee_upload_template_ja.xlsx です。
保存されたExcelテンプレートを開いてください。
Excelテンプレートの1行目と2行目は編集、削除しないでください。 3行目から従業員情報を入力できます。Excelテンプレートの3行目にPeterという氏名の従業員の入力例が記載されていますが、こちらの入力例を確認後削除・上書きして登録してください。 名前は必須項目、その他はオプション項目です。電話番号、従業員番号、ICカード番号は異なる従業員が重複して登録することができません。
項目
入力可能文字種、フォーマット、注意事項など
最小文字数
最大文字数
Name
氏名。入力必須項目です。 半角英数字、全半角スペース、漢字、ひらがな、カタカナ、全半角記号
1
30
区番号、国コード
国番号、国別コード、国コード。日本の携帯電話番号を利用する場合は81を入力してください。
1
2
携帯電話番号
準備した従業員の認証用顔写真のファイル名が従業員の氏名の場合(例:山田 太郎.jpg)、認証用顔写真ファイル名からName欄を記入したExcelテンプレートを生成することができます。 [認証用顔写真のフォルダを選択ボタンをクリックし、認証用顔写真ファイルが保存されているフォルダを選択してください。
指定したフォルダの1階層上のフォルダ内に、Name欄が入力されたExcelテンプレートが保存されます。このExcelテンプレートを利用して、その他の従業員情報を入力してください。
Excelファイルの準備ができたら、アップロードします。②アップロード ボタンをクリックして、従業員情報を入力したExcelファイルを選択してください。
Excelファイルのサイズは2MB以下である必要があります。2MBを超えた場合エラーとなり、従業員情報を登録できません。
③インポート ボタンをクリックしてください。
Excelファイルの内容に誤りがある場合、エラーメッセージが表示されインポートが完了しません。エラーメッセージの内容にしたがってExcelファイルを修正し、もう一度アップロードおよびインポートを行なってください。
エラーメッセージのフォーマット
No
Name
Telephone
Error Details
エラーが発生した
Excelファイルの行番号
エラーが発生した
従業員の氏名
エラーが発生した
従業員の携帯電話番号
エラーメッセージ
従業員情報のインポートが完了すると、自動的に従業員の認証用顔写真アップロード用のページに遷移します。
顔写真品質チェックレベル欄で、認証用顔写真品質チェックレベルを選択します。
●低 自分の顔以外他人の顔が映っていないこと、写真データのフォーマットはJPEG、またはPNGであること、写真データのサイズが約3.8MB(4,000,000バイト=約3,900KB)以下であることの3点をチェックします。
●高 写真のすべての規格項目をチェックします。
認証用写真のフォルダを選択 をクリックして、認証用顔写真が保存されているフォルダを選択してください。 認証用顔写真およびフォルダは以下の規格を満たす必要があります。
顔認証品質チェックレベルで高を設定している場合、写真がすべての規格項目をクリアしていること。認証用顔写真の規格はユーザーマニュアル 登録写真の規格 の節を参照してください。低を設定している場合はその限りではありません。
フォルダ内の認証用顔写真ファイル数が50,000件以下であること
フォルダ内の認証用顔写真ファイルサイズの合計が2GB以下であること
認証用顔写真の拡張子を除くファイル名が、前節で登録した従業員名と一致している こと
ただし氏名が重複する従業員が存在する場合、以下のフォーマットであること
[氏名] +[携帯電話番号].jpg 、または[氏名] +[携帯電話番号].png
携帯電話番号は前項で登録した国別コード付きの番号であること
従業員の氏名が[山田 太郎]、電話番号が[81-8012345678]の場合、山田 太郎+81-8012345678.jpg (または.png)が規定のファイル名となる
フォルダを選択後、次へ のボタンをクリックしてください。認証用顔写真のアップロードが開始されます。 フォルダまたは認証用顔写真ファイルに誤りがある場合、エラーメッセージが表示されアップロードが開始されません。エラーメッセージの内容にしたがって、フォルダまたは認証用顔写真ファイルを修正し、もう一度アップロードを行なってください。
アップロードが開始されると、アップロード進捗状況として経過時間とが確認できます。アップロードは2段階の処理が行われるため、進捗も2種類表示されます。
プロセスが完了すると、完了メッセージが画面上部に表示されます。
認証用顔写真アップロードの結果をエクスポートします。アップロード結果 表示ボタンをクリックしてください。Excelファイルがエクスポートされ、ファイルが開きます。
または、SenseLinkのWebページから認証用顔写真アップロードの結果をエクスポートすることもできます。 認証用顔写真アップロード完了時に「アップロードステータス取得エラー SenseLinkのオペレーションログを確認してください」のメッセージが表示された場合もSenseLinkのWebページから確認してください。
ナビゲーションメニューの[システム管理]-[オペレーションログ]からオペレーションログを表示し、詳細ダウンロードをクリックしてください。
従業員_import_result_[エクスポートコード].xls またはemployee_import_result_[エクスポートコード].xlsxというファイル名のファイルがエクスポートされますので、そのファイルを開いてください。
ファイルには、各認証用顔写真の登録結果が記載されています。
A列に各認証用顔写真ファイル名が記載されます。 B列がアップロード結果です。failの場合は失敗、successの場合は成功です。 Failの場合、C列の理由欄にエラーの原因が、D列にその詳細が記載されます。
エラーメッセージ
メッセージの意味、必要な対処
库中未找到此人 The person does not exist
写真ファイル名に一致する氏名の従業員が登録されていません。写真ファイル名か、登録されている従業員の氏名を確認してください
库中存在同名的人 There is a person with the same name exist
同名の従業員が存在します。写真ファイル名を[氏名].jpg(または.png)から[氏名]+[国別コード付きの携帯電話番号].jpg(またはpng)に変更してください
従業員の携帯電話番号を登録していない場合は登録してください
人脸质量不合格:未检测到人脸 Unqualified avatar: No faces are detected
写真の品質エラー。写真内に顔が存在しません。顔が1つ写っている写真を登録してください
人脸质量不合格:存在多人脸 Unqualified avatar: Multiple faces are detected
写真の品質エラー。写真内に複数の顔が存在します。顔が1つだけ写っている写真を登録してください
人脸质量不合格:图片尺寸过小 Unqualified avatar: Image size is too smal
写真の品質エラー。写真のサイズが小さすぎます。規格に適合するサイズの写真を利用してください
すでに登録済みの従業員情報の修正を行います。
ホーム画面の複数更新ボタンをクリックしてください。
複数画面へ遷移します。
登録済みの従業員情報をエクスポートします。①従業員リストエクスポートをクリックしてください。
「Excelファイルはパスワードで保護されます。パスワードは現在のアカウントです。」というメッセージが表示されます。確定ボタンをクリックすると、エクスポートするファイル名と保存先を指定できます。 ファイル名はデフォルトでsenselink_employeelist_export.xlsx です。 ファイル名と保存先を指定したらファイルを保存し、エクスポートされたファイルを開いてください。 ファイルを開く際にパスワードを求められます。パスワードはToolKitにログイン中のアカウントです。
Excelファイルを開いて、情報を修正してください。
Excelファイルの1行目と2行目は編集、削除しないようにご注意ください。3行目以降の従業員情報を修正できます。A列はSenseLinkが各従業員に付与し管理するための内部IDです。これは編集、削除しないでください。 B列-R列は複数登録時のExcelテンプレートへの入力項目と同様です。S列には認証用顔写真の登録状況が記載されています。
修正が完了したら、Excelファイルのパスワードによる保護を解除し、ファイルに[名前をつけて保存]してください。
ToolKitに戻り、更新従業員リストアップロード をクリックして修正したExcelファイルをアップロードしてください。
アップロードが完了すると、「複数更新完了」のメッセージが画面上部に表示されます。
Excelファイルの内容に誤りがある場合、「アップロードされたフォーマットに {n} 点のエラーがあります。修正して再度アップロードしてください。」のエラーメッセージが表示されます。ファイルの内容を修正して、もう一度アップロードしてください。
登録済みの従業員の認証用顔写真の修正を行います。
ホーム画面の複数登録ボタンをクリックしてください。
複数登録画面に遷移します。アップロード開始ボタンをクリックしてください。
Step 1が表示されます。Step 1では何も行わず、ページ最下部にあるスキップボタンをクリックして、次に進んでください。
「登録済みの従業員のみ認証用顔写真を登録できます。登録済みの従業員名と一致しない写真ファイルは登録されません。従業員情報アップロードをスキップしますか?」のメッセージが表示されます。確定ボタンをクリックしてください。
以降の手順は3.1.2項 従業員の認証用顔写真のアップロード(Step 2) を参照してください。
認証方法
現在、顔認証のみサポートされています
グループ
認証時所属のグループ
方向
デバイスに設定された認証方向
デバイス名
デバイス名
異常検知タイプ
サポートされる異常検知タイプは以下のものです
その他の異常検知タイプはサポートされません
来訪期間外
勤務時間外
異常な体温(温度異常)
マスク未着用
誤認証タイプ
表: 誤認証タイプをご参照ください。誤認証レコードの管理方法については次節をご参照ください
認証時間
マスク着用中
未着用の場合「未着用」と表示されます。着用していた場合、何も表示されません
体温(温度)
デバイスの設定によらず摂氏で表示されます
Bluetooth 電池残量低下
(サポートされない機能です。利用できません。)
サーモカメラ接続アラート
SenseThunderシリーズのサーモグラフィカメラ部分の接続に不具合がある場合に発生します
カメラ汚れ
デバイスのカメラ部分の汚れ等により認証ができない場合に発生します
Non-living アタック
写真やビデオ、3Dマスクなどによるなりすましを検知した場合に発生します
消防アラート
デバイス側でGPIO端子による消防アラートシステム等との接続設定がされている場合のみ有効です
特徴量抽出エラー
顔認証時にデバイスが顔特徴量の抽出に失敗した場合に発生します
時間
Yes
認証方法
Yes
ICカード番号(デバイスで読み取た)
Yes
IDカード番号(デバイスで読み取た)
(サポートされない機能です。利用できません。)
Yes
異常検知タイプ
Yes
携帯電話番号
No
部署
No
役職
No
従業員番号
No
ICカード番号
No
Emailアドレス
No
IDカード番号
No
温度
No
マスク着用
No
合計(合計の認証回数)
Yes
携帯電話番号
No
部署
No
役職
No
従業員番号
No
ICカード
No
メールアドレス
No
IDカード(サポートされない機能です。利用できません。)
No
半角数字
一意である必要があります。
区番号(国番号、国コード)が異なる場合も81-8012345678 と12-8012345678 は同一携帯電話番号として判断し、同時に登録できません。
4
18
部署
入力内容に従って自動的に部署の階層が登録されます。
最上位部署から記入を開始し、下位部署は半角ハイフンの後に入力してください。 例:海外ビジネス部門-マーケティング本部
1人の従業員は1つの部署のみに所属することができます。
部署名に半角ハイフン(-)を含むことはできません。
半角英数字、全半角スペース、漢字、ひらがな、カタカナ、全半角記号 左欄の文字数は1部署名の制限です。
1
30
役職
半角英数字、全半角スペース、漢字、ひらがな、カタカナ、全半角記号
-
40
従業員番号
半角数字
一意である必要があります。
-
20
部署責任者 (Y/N)
所属部署の責任者の場合はYを、責任者ではない場合はNを入力してください。
-
-
メールアドレス
半角英数字、-._@(半角) [email protected] または [email protected]の形式のみ
6
40
外線番号
半角数字
-
20
勤務地
勤務地 半角英数字、全半角スペース、漢字、ひらがな、カタカナ、全半角記号
-
40
ICカード
半角数字 10進数表記で従って入力してください。
一意である必要があります。
-
20
IDカード
中国国籍の方が持つ番号です。サポートされない機能のため、入力しないでください。
-
-
入社日付
入力フォーマットはYYYY-MM-DDです。 2020年4月1日入社の場合、半角数字と半角ハイフンで2020-04-01 と入力してください。
-
-
入社日付
入力フォーマットはYYYY-MM-DDです。 1975年1月1日生まれの場合、半角数字と半角ハイフンで1975-01-01 と入力してください。
-
-
従業員グループ
デフォルトグループに所属させる場合は 「デフォルトグループ」、1人の従業員を複数の従業員グループに登録させる場合はグループ名を半角カンマ(,)で区切ってください 右欄の文字数は1グループ名の入力制限数です。
-
30
カスタムプロンプト
半角英数字、全半角スペース、漢字、ひらがな、カタカナ、全半角記号
-
45
特記事項
半角英数字、全半角スペース、漢字、ひらがな、カタカナ、全半角記号
-
200
人脸质量不合格:关键点置信度过低 Unqualified avatar: Alignment score is too low
写真の品質エラー。取得できる特徴点が少ないため、品質の高い写真を利用してください
人脸质量不合格:有效人脸区域像素过低 Unqualified avatar: Face area size is too small
写真の品質エラー。顔部分のサイズが小さすぎます
人脸质量不合格:俯仰角过大 Unqualified avatar: Pitch angle is too large
写真の品質エラー。顔のピッチが大きすぎます。正面を向いた写真を利用してください
人脸质量不合格:偏转角过大 Unqualified avatar: Yaw angle is too large
写真の品質エラー。顔のヨーが大きすぎます。正面を向いた写真を利用してください
人脸质量不合格:侧倾角过大 Unqualified avatar: Roll angle is too large
写真の品質エラー。顔のロールが大きすぎます。正面を向いた写真を利用してください
人脸质量不合格:人脸距离图片中心过远 Unqualified avatar: Face is too far from the center of the image
写真の品質エラー。顔が写真の中心から離れすぎています
人脸质量不合格:人脸占比过低 Unqualified avatar: Face proportion is too low
写真の品質エラー。写真全体のうち顔が部分のサイズが小さすぎます
人脸质量不合格:人脸遮挡过多 Unqualified avatar: Face occluded
写真の品質エラー。髪の毛や髭、帽子、物体で顔が隠れています
人脸质量不合格:图片过暗或过亮 Unqualified avatar: Image is too dark or too bright
写真の品質エラー。写真が明るすぎ、または暗すぎます
人脸质量不合格:图片过模糊 Unqualified avatar: Image is too blurry
写真の品質エラー。顔がぼやけています
人脸质量不合格:嘴部过度张开 Unqualified avatar: Mouth is opened too much
写真の品質エラー。口が空いています
人脸质量不合格:面部缺失过多 Unqualified avatar: Too much loss of face
写真の品質エラー。写真に顔が収まっていません
人脸质量不合格
写真の品質エラー
服务器异常









概要
企業ロゴ
HDMIエクスポート機能を持つSensePass ProまたはSenseThunder-E を外部ディスプレイに接続した際に表示されます。推奨サイズは100×620ピクセル以下です
背景
SensePass ProまたはSenseThunder-Eの認証時の背景に利用されます。SensePass ProまたはSenseThunder-E を外部ディスプレイに接続した際にも表示されます。推奨サイズは1,080×720ピクセル以下です
企業名
必須項目です
従業員情報の部署名の最上位層の名前として表示されます。1~30文字(半角換算)で指定できます
Welcome メッセージ
HDMIエクスポート機能を持つSensePass ProまたはSenseThunder-Eを外部ディスプレイに接続した際に表示されます。デバイスの設定で表示オプションをONにした場合のみ表示されます。0~255文字(半角換算)で指定できます
プロフィール
0~255文字(半角換算)で指定できます
顔写真品質チェックレベル
SenseLink Cloudのみ、当画面で表示されます。SenseLink GE Enterprise およびSenseLink GE Enterprise Proでは、当項目はシステム設定メニューの項目です。
認証用写真の品質チェックのレベルを設定します
低: 写真内に1つの顔が写っているかどうかのみチェックします。
高: 複数条件でチェックします。条件は顔写真サイズ、顔部分サイズ、角度、明るさ、明瞭度、表情などです。SenseLinkからの登録のみに適用され、ToolKitやその他の登録方法利用時には適用されません
アカウント管理では、新しいアカウントの作成や既存アカウントの修正、パスワード忘却時のリセットなどを行います。
ナビゲーションメニューの[システム管理]→[アカウント管理]をクリックしてください。
利用用途に合わせて異なるロールのアカウントを管理し、安全にSenseLinkを利用することができます。ロール別のメニュー権限詳細は、付録 A アカウントの権限明細をご参照ください。
ロール
概要
Super Admin
最高権限を持つロール
SenseLink Enterprise/Enterprise Proのインストール時、またはSenseLink Cloudの契約時に1アカウントのみ発行されるロールであり、追加できません
すべてのメニューの更新権限を持ちます
他のアカウントの新規登録ができます
Sub Admin
複数アカウント登録可能
Super AdminおよびSub Admin以外のロールのアカウントの新規登録ができます
Super Adminと他のSub Admin以外のアカウントの更新権限を持ちます
Open Platformの参照権限を持ちません
General Admin
複数アカウント登録可能
各メニューの参照権限のみ持ち、更新権限を持ちません
システム設定、ライセンス管理は参照権限も持ちません
自身のアカウントのみパスワード変更ができます
Device Admin
複数アカウント登録可能
デバイス管理メニュー、デバイスアラートのみ更新権限を持ちます
ダッシュボードと企業情報のみ参照権限を持ちます
自身のアカウントのみパスワード変更ができます
Visitor Admin
複数アカウント登録可能
ビジター管理と拒否リスト管理のみ更新権限を持ちます
ダッシュボード、ビジターと拒否リストの認証レコード、企業情報のみ参照権限を持ちます
顔認証デバイスのログインには利用できません
Super AdminおよびSub Adminは、アカウントの新規登録が可能です。Sub Adminは別のSub Adminの新規登録はできません。 ナビゲーションメニューの[システム管理]→[アカウント管理]からアカウント一覧を表示し、登録ボタンをクリックしてください。
新規アカウント登録画面が表示されます。
以下の項目を入力してください。
項目
概要
アカウント名
1~30文字(半角換算)で登録可能
Super Adminのアカウント名変更不可
アカウント間の重複可能
ロール
をご参照ください。
アカウント
SenseLinkやデバイスのログイン時に利用
半角英数字、アンダースコアのみ利用可能
6~25文字で登録可能
一意である必要があり
パスワード生成方法
新規アカウント登録時のパスワードの生成方法 以下のいずれかから選択可能
ランダム生成(ランダムパスワードをメールで送信)
デフォルトパスワード生成(Admin1234@)
メールアドレス
Eメールアドレス
パスワード生成方法でランダム生成が選択されている場合、登録されたEメールアドレスにランダムパスワードが送信されます
パスワード生成方法でデフォルトパスワードを選択している場合も登録することが可能です
半角英数字、-._@+(半角)の6~45文字で、 [email protected] または [email protected]の形式のみ登録可能です
項目入力後、保存をクリックしてください。アカウントが発行されます。
パスワード生成方法でランダム生成を選択した場合、登録したアカウントのメールアドレスにアカウントとパスワードが送信されます。デフォルトパスワード生成を選択した場合は、登録者が対象のユーザーにアカウントとデフォルト(Admin1234@)を連絡してください。
SenseLink Cloudをご利用の方は、[email protected]から、SenseLink GE Enterprise またはEnterprise Proをご利用の方は設定されたメールアドレスからのメールを受信できるよう、かつ迷惑メールフォルダに振り分けられないようご利用のメールサービスの設定のご確認をお願いします。
Super Adminはすべてのアカウントの、Sub AdminはSuper Admins以外のすべてのアカウントの修正と削除、それ以外のアカウントは自身のアカウントの修正を行うことができます。
ナビゲーションメニューの[システム管理]→[アカウント管理]からアカウント一覧を表示し、修正または削除したいアカウントの更新ボタンをクリックしてください。 アカウント修正画面が表示されます。
自身のアカウントの更新をクリックすると、以下のパスワード更新画面が表示されます。現在のパスワードと新しいパスワード、確認欄に新しいパスワードを再入力して保存ボタンを押してください。
Super adminとSub Adminが自身以外のアカウントの更新をクリックすると、以下の更新画面が表示されます。 修正する場合、修正内容を入力して保存ボタンをクリックしてください。 削除する場合、削除ボタンをクリックしてください。
Super Admin以外がパスワードを忘れた場合や強制的なパスワードのリセットが必要な時、Super AdminとSub Adminはパスワードをリセットすることができます。
Super Adminがパスワードを忘れてしまった場合、パスワードをリセットすることができません。パスワードを絶対に忘れないようにご注意ください。
対象アカウントのリセットボタンをクリックしてください。
対象アカウントがメールアドレスを登録している場合、「リセット後のパスワードをデフォルトパスワード(Admin1234@)とするか、もしくはランダムパスワードとするかを選択できます。選択したパスワード生成方法のボタンをクリックしてください。」というメッセージが表示されます。 ランダム生成を選択した場合、対象アカウントに新しいパスワードがメールで共有されます。
SenseLink Cloudをご利用の方は[email protected]から、SenseLink GE Enterprise またはEnterprise Proをご利用の方は設定されたメールアドレスからのメールを受信できるよう、また迷惑メールフォルダに振り分けられないようご利用のメールサービスの設定を確認してください。
デフォルトパスワードを選択した場合、パスワードがAdmin1234@にリセットされたことを対象アカウントに連絡してください。
対象アカウントがメールアドレスを登録していない場合、「デフォルトパスワードに更新されます」と、以下のようなメッセージが表示されます。確定をクリックしてください。パスワードがAdmin1234@にリセットされたことを対象アカウントに連絡してください。
SenseLinkのAPIを利用して、SenseLinkを様々な外部システムと連携することができます。
ナビゲーションメニューの [システム管理] → [Open Plaftorm] を選択してください。AppキーとAppシークレットを管理するOpen Platform画面が表示されます。Open Platform画面の利用方法やAppキー、Appシークレットの管理方法の詳細については、SenseLink APIマニュアルの1.2節 キーとシークレットの取得 を参照してください。
SenseLinkのサブスクリプションサービスを利用して、SenseLinkを様々な外部システムと連携することができます。
ナビゲーションメニューの[システム管理] → [Open Plaftorm] を選択してください。サブスクリプションサービスを管理するOpen Platform画面が表示されます。サブスクリプションサービスの管理方法については、SenseLink APIマニュアルの2.11節 イベントサブスクリプション API を参照してください。
SenseLinkのシステム設定を行うことができます。
ナビゲーションメニューの「システム管理」→「システム設定」をクリックしてください。 システム設定項目が表示されます。
ストレージの容量確認や、レコードの自動削除の設定を行います。 ストレージ設定のストレージ容量欄で、ご利用のシステムのストレージ全容量と利用済容量、空き容量を確認できます。 レコードの自動削除欄でレコードの削除設定を行います。
認証用顔写真を登録する際の品質チェックレベルを設定します。顔認証設定の顔認証品質チェックレベル欄で更新をクリックし、修正モードにしてください。
● 低: 自分の顔以外他人の顔が映っていないこと、写真データのフォーマットはJPEGまたはPNGであること、写真データのサイズが約3.8MB(4,000,000バイト =約3,900KB)以下であることの3点をチェックします。
● 高: 写真のすべての規格項目をチェックします。すべての規格については 登録する認証用写真の規格 の節を参照してください。
新規アカウントを登録した際やパスワードをリセットした際に、アカウントユーザーにメールを送信するメールサーバーを設定します。
メール設定欄にあるメール設定サーバーボタンをクリックしてください。
メールサーバー設定画面が表示されます。メールサーバーのアドレス、ポート番号、アカウント、パスワードを入力してください。 メールサーバーへの接続にSSL/TLSを利用する場合、SSL/TLS設定欄で有効化を選択してください。
設定後、保存をクリックしてくだい。サービス設定画面に戻ります。 テストメール送信ボタンをクリックすると、テストメールを送信することができます。
SenseLinkの時間設定を行います。マニュアル設定かNTPサーバーとの連携から選択できます。 システム設定画面の時間設定欄にある、時間設定ボタンをクリックしてください。
時間設定画面が表示されます。
設定方法欄で設定方法を選択してください。 NTPサーバー時間設定を選択した場合、NTPサーバー時間設定欄にNTPサーバーのアドレスを入力してください。 マニュアル設定を選択した場合、時間入力欄が表示されます。ここに時間を手動で設定してください。
設定後、保存をクリックしてください。
SenseLink Cloudを利用する場合、レコードを削除しても、ダッシュボードで表示している当日分の集計値は変わりません。
認証デバイスのレコードをSenseLinkに保存しないようにしたり、すでに保存されたレコードを削除することができます。このメニューの対象となるレコードは以下のものです。なお、オペレーションログは削除されません。
認証レコード
登録者別 認証レコード
勤怠レコード
従業員別 勤怠レコード
デバイスアラート
[デバイスのレコードを保存]はデフォルトでONになっています。OFFにすると、デバイスの設定によらず、レコードはSenseLinkに保存されません。
[すべてのレコードを削除]のボタンをクリックすると、SenseLinkに保存されたレコードが削除されます。この操作はデバイスに保存されたレコードに影響しません。
Super Adminアカウントはすべてのアカウントのオペレーションログを、その他のロールのアカウントは自身のアカウントのオペレーションログを確認することができます。
ナビゲーションメニューの[システム管理]→[オペレーションログ]をクリックしてください。オペレーションログが表示されます。
オペレーションログには、以下の項目が記録されています。
項目
概要
アカウント名
操作したアカウントのアカウント名
アカウント
操作したアカウント
ロール
操作したアカウントのロール
メニュー
操作したメニュー。以下いずれかが記録されます
デバイス
従業員
ビジター
項目
操作した項目。デバイスまたはWebが記録されます
オペレーションログはExcelファイルにエクスポートすることができます。オペレーションログ画面上のエクスポートボタンをクリックしてください。
「エクスポートされたExcelファイルのパスワードは現在のアカウントです」というメッセージが表示されます。Confirmボタンをクリックすると、オペレーションログが記載されたExcelファイルがご利用中のPCに保存されます。
ファイル名は オペレーションログ_[YYYY]-[MM]-[DD] [HH]_[YYYY]-[MM]-[DD].xlsx です。[YYYY]-[MM]-[DD] [HH]_[MM]-[SS]はオペレーションログの絞り込み検索で設定された開始日時と終了日時が指定されます。
ファイルを開く際にパスワードを求められます。パスワードは、ファイルエクスポート時にログインしていたアカウントです。
ライセンスの有効期限の確認や、ライセンスの更新を行います。
ナビゲーションメニューの[システム管理]→[ライセンス情報]をクリックしてください。ライセンス情報が表示され、有効を確認できます。
ライセンスの更新を行います。 ページ下部のライセンスアップデートボタンをクリックすると、編集モードになります。
JCV製品窓口より納品された次年度用のアクティベーションコードを、アクティベーションコード欄に貼付してください。 次にライセンスアップロード欄のファイル選択ボタンをクリックし、次年度用のライセンスファイルをアップロードしてください。
ページ最下部にあるボタンをクリックしてください。アクティベーションコードとライセンスファイルが反映されます。 SenseLink GE Enterprise運用マニュアルの1章 シャットダウンと再起動の手順に従い、SenseLinkを運用中のサーバーを再起動してください。
利用中のビジネスプランと機能権限を確認することができます。
ナビゲーションメニューの[システム管理]→[契約プラン]をクリックしてください。契約プランが表示されます。
項目


















他のアカウントの更新権限を持ちます
SenseLink Cloudの場合、システム設定の参照権限を持ちません
オペレーションログの自身のアカウントのログのみ参照権限を持ちます
上記以外はSuper Adminと同等の権限を持ちます
オペレーションログの自身のアカウントのログのみ参照権限を持ちます
オペレーションログの自身のアカウントのログのみ参照権限を持ちます
自身のアカウントのみパスワード変更ができます
アカウントは一度登録すると変更不可
SenseLink Cloudをご利用の場合 必須項目です Super Adminはご契約時に申請いただいたEメールアドレスが登録されます。お客様ご自身では変更できません。変更が必要な場合は、JCVサポート窓口までご連絡ください
ログイン
アクセス
勤怠
アカウント管理
Personnel Admin
複数アカウント登録可能
認証登録者管理の更新権限を持ちます
ダッシュボード、企業情報のみ参照権限を持ちます
顔認証デバイスのログインには利用できません
自身のアカウントのみパスワード変更ができます
Recognition Records Admin
複数アカウント登録可能
認証レコードおよび従業員別認証レコード、企業情報の参照権限を持ちます
顔認証デバイスのログインには利用できません
自身のアカウントのみパスワード変更ができます
Device Login Admin
複数アカウント登録可能
顔認証デバイスのログインのみに利用できます
WebブラウザからのSenseLinkへのログインに利用できません
携帯電話番号
SenseLink Cloudのみの項目で、必須項目です
フォーマットは自動で修正されます
特記事項
1~200文字(半角換算)で登録可能
Super Adminは登録不可
多要素認証
SenseLink Cloudのみ利用可能です
「オン」になっている場合、ログインするには携帯電話またはメールで確認コードが必要です
自分のアカウントには設定できません
テナントのMFA設定※が有効になっている場合にのみ使用可能で
テナントのMFA設定を変更したい場合は、JCV製品窓口にお問い合わせください ※MFA設定:本人確認のための要素を複数、ユーザーに要求する認証方式
イベント
発生したイベントが記録されます。
IP
操作したクライアントIPアドレス
結果
操作結果
時間
操作日時
特記事項
(サポートされない機能です。利用できません。)
詳細
ToolKitによる複数登録または修正を行なった場合に、登録結果がエクスポートされます。 詳細はSenseLink ToolKit ユーザーマニュアル を参照してください
アカウントの権限ついて記載されています。
表記説明
R:読込可
WR:書込&読込可
-:権限無
OK:可能
SA:Super Admin
UA:Sub Admin
GA:General Admin
DA:Device Admin
PA:Personnel Admin
VA:Visitor Admin
RA:Recognition Records Admin
LA:Device Login Admin
※1 ビジターと拒否リストのみ ※2 Super Adminと他のSub Admin以外 ※3 SenseLink Enterpriseのみが対象。SenseLink Cloudでは持ちません ※4 SenseThunder-EとSenseThunder MiniとSensePass ※5 SenseLink Enterpriseのみが対象。SenseLink Cloudでは使用しません
R
R
R
R
-
デバイス管理
デバイスリスト
WR
WR
R
WR
-
-
-
-
デバイス管理
デバイス情報
WR
WR
R
WR
-
-
-
-
デバイス管理
デバイス追加
WR
WR
-
WR
-
-
-
-
認証登録者管理
従業員管理
WR
WR
R
-
WR
-
-
-
認証登録者管理
従業員グループ管理
WR
WR
R
-
WR
-
-
-
認証登録者管理
ビジター管理
WR
WR
R
-
WR
WR
-
-
認証登録者管理
ビジターグループ管理
WR
WR
R
-
WR
WR
-
-
認証登録者管理
拒否リスト管理
WR
WR
R
-
WR
WR
-
-
認証登録者管理
拒否リストグループ管理
WR
WR
R
-
WR
WR
-
-
認証登録者管理
登録レコード
R
R
R
-
R
-
-
-
認証登録者管理
写真による検索
R
R
R
-
R
-
-
-
ルール管理
アクセスタイムテーブル
WR
WR
R
-
-
-
-
-
ルール管理
アクセスルール
WR
WR
R
-
-
-
-
-
イベント管理
認証レコード
WR
WR
R
-
-
R
※1
R
-
イベント管理
登録者別 認証レコード
WR
WR
R
-
-
R
R
-
イベント管理
監視
WR
WR
R
-
-
R
R
-
イベント管理
デバイスアラート
WR
WR
R
WR
-
-
-
-
勤怠管理
勤怠ルール
WR
WR
-
-
-
-
-
-
勤怠管理
勤務エリア
WR
WR
-
-
-
-
-
-
勤怠管理
勤怠レコード
WR
WR
-
-
-
-
-
-
勤怠管理
従業員別 勤怠レコード
WR
WR
-
-
-
-
-
-
システム管理
企業情報
WR
WR
R
R
R
R
R
-
システム管理
アカウント管理(自身)
WR
WR
WR
WR
WR
WR
WR
-
システム管理
アカウント管理(他人)
WR
WR
※2
-
-
-
-
-
-
システム管理
Open Platform
WR
-
-
-
-
-
-
-
システム管理
システム設定
WR
R
※3
-
-
-
-
-
-
システム管理
アップデート管理
WR
WR
R
WR
-
-
-
-
システム管理
オペレーションログ(自身)
R
R
R
R
R
R
R
-
システム管理
オペレーションログ(他人)
R
-
-
-
-
-
-
-
端末※4
ログイン
OK
OK
-
OK
-
-
-
OK
端末
デバイス登録
OK
OK
-
OK
-
-
-
OK
端末
デバイス設定
OK
OK
-
OK
-
-
-
OK
端末
OTA
OK
OK
-
OK
-
-
-
OK
Toolkit※5
従業員管理
OK
OK
-
-
-
-
-
-
Toolkit
OTA
OK
OK
-
OK
-
-
-
OK
大項目
小項目
SA
UA
GA
DA
PA
VA
RA
LA
ダッシュボード
-
R
R
R
総数:SenseLinkに登録したデバイスの総台数
オンライン:オンラインのデバイス台数
オフライン:オフラインのデバイス台数
デバイス名:デバイス名で検索できます
デバイスタイプ:デバイスの種類を絞り込み検索できます
デバイスステータス:デバイスのオンライン/オフラインを絞り込み検索できます
リセットボタン:各フィルタの値をリセットさせ、すべてのデバイスを表示させます
一括設定ボタン:デバイス設定を一括で行います。詳細は5.7節 デバイスの設定(一括)を参照してください
デバイス登録ボタン:サポートされない機能です。ここは選択・クリックしないでください
LDID:デバイスの識別番号
デバイス名(設定例:2階1号ゲート入館方向)
設置場所
デバイスタイプ
ステータス:デバイスのオンライン/オフラインステータス
詳細
デバイスの設定を行います。デバイスリスト画面で、設定したいデバイスの詳細欄にある > 印をクリックしてください。デバイスの設定項目が表示されます。各設定項目の詳細については、5.3節以降を参照してください。なお「登録者情報」は現在、サポートしていません。
各項目を設定するには設定ボタンをクリックし、 プルダウンメニューから更新を選択して編集モードにしてください。なお、ここで表示される一部の設定項目は、デバイスがオンラインステータス時のみ編集が可能です。
設定内容を編集後、設定ボタンをクリックして保存を選択し、設定内容を反映してください。 設定の編集をキャンセルする場合は設定ボタンからキャンセルを選択してください。 デバイスとSenseLinkとの連携を解除してデバイス一覧からデバイスを削除する場合、編集モードにしてから設定ボタンをクリックし、削除を選択してください。
デバイスリスト画面で、設定したいデバイスの詳細欄にある > 印をクリックしてください。次にデバイス情報をクリックすると、そのデバイスの情報が表示されます。設定ボタンから更新をクリックし、編集モードにしてください。
以下の項目を表示、編集できます。
項目
詳細
LDID
デバイスの識別番号、変更不可
デバイスタイプ
変更不可
デバイスIP
デバイスのIPアドレス 変更不可
デバイス名
半角全角英数、ひらがな、全角カタカナ、漢字 -_/%(半角)半角文字数1~50
設置場所
半角全角英数、ひらがな、全角カタカナ、漢字 -_/%(半角)半角文字数1~50
カテゴリ
項目
ステータス情報
ドアステータス
サーモカメラステータス
アプリケーション情報
アプリケーションパッケージ
アプリケーションバージョン
アプリケーションバージョンコード
編集後、設定ボタンをクリックし、保存を選択して設定内容を反映してください。 編集内容を破棄・キャンセルする場合は設定ボタンをクリックし、キャンセルを選択してください。
デバイスリスト画面で、設定したいデバイスの詳細欄にある > 印をクリックしてください。次にデバイス設定をクリックすると、設定項目が表示されます。設定ボタンから更新をクリックし、編集モードにしてください。ただし、編集はデバイスがオンラインステータス時のみ可能です。
以下の項目を表示・編集できます。デバイスがオンラインステータス時のみ編集できます。
項目
詳細
認証モード
変更不可。利用中のデバイスおよびSenseLinkの設定に従い、サーバーFR、クライアントFRのどちらかが表示されます
有効
デバイスのOn/Offの設定
有効:On
無効:Off、デバイスが利用できなくなります
モード選択
モードの切り替え
SenseThunder-E またはSensePass Proの場合、シングル顔認証/複数顔認証から選択
SenseThunder-MiniまたはSensePassの場合、ゲートモード/ドアモードから選択
認証モード
認証モードの切り替え
顔認証のみ利用可能です。それ以外の認証モードを選択しないでください
音声アナウンス
(一部SenseThunderシリーズのみ)
温度検知・認証時の音声ブロードキャスト設定
ON:英語音声
OFF:ビープ音(ピッ、ビビビビ)
項目
詳細
メインメッセージ
デバイスの顔認証待機時、デバイス画面上部に表示するメッセージの設定(最大50半角文字)
認証メッセージ
認証成功時に画面に表示するメッセージの設定
認証エラーメッセージ
認証失敗時(未登録者の認証時、アクセス時間外の登録者認証時など)に画面に表示するメッセージの設定
認証従業員情報
認証成功時表示する従業員情報の設定(従業員番号、部署名、役職、カスタムメッセージ)(複数選択可)(IDカード番号は利用できません。選択しないでください)
写真表示
認証成功時の登録顔写真の表示/非表示の設定
項目
詳細
生体認識
生体認識On/Offの設定
Onの場合、写真やビデオ、3Dマスクなどによる、なりすましを防止することができます
生体認識しきい値
生体認識しきい値の設定
設定範囲:0~1.00
顔認証しきい値
顔認証しきい値の設定
設定範囲:0~1.00
IDカードしきい値
(利用できません)
顔認証距離(m)
顔認証距離の設定
設定範囲は顔認証デバイスタイプによります
項目
詳細
ドアオープンモード
ドアオープンシグナルの選択
ローカルリレー
Wiegand26(8+16bit ID)
Wiegand32
ドアオープン時間
ドアオープンシグナル継続時間の設定
設定範囲:1~255秒
認証インターバル
同一人物の顔認証時にドアオープンシグナルを出力する間隔時間の設定
設定範囲:1~30秒
GPIO A-output ポート
GPIO A出力シグナル種類の選択
(None、ドアベル、アラート、デフォルト:None)
GPIO B-input ポート
GPIO B入力シグナル種類の選択
(None、ドアコンタクト、REXボタン、消防アラートシグナル、デフォルト:None)
項目
詳細
言語
言語設定(中文/繁體/English/日本語)
デバイスやバージョンによって選択できる言語が異なります
フリッカー低減
(一部デバイスのみ)
フリッカー現象低減の設定(オフ、50Hz、60Hz デフォルト:オフ)
スタンバイ
デバイスのオートスタンバイON/OFFの設定
スタンバイ時間
デバイスがスタンバイモードに切り替わる時間の設定
設定範囲:3~30分
オートリブート
オートリブート(再起動)のON/OFF設定
編集後、設定ボタンをクリックし、保存を選択して設定内容を反映してください。 編集内容を破棄・キャンセルする場合は設定ボタンをクリックし、キャンセルを選択してください。
デバイスリスト画面で、設定したいデバイスの詳細欄にある > 印をクリックしてください。アクセス設定をクリックすると、アクセス設定の設定項目が表示されます。設定ボタンから更新をクリックし、編集モードにしてください。
設定ボタンをクリックして表示されるアクセスルール、認証レコード 表示を選択すると、それぞれアクセスルール設定ページ、認証レコードページに遷移します。なお、ドアコントロールは未サポート機能なので選択しないでください。
項目
詳細
方向
デバイスのアクセス方向の設定
(Null:設定しない、In:入館、Out:退館)
従業員グループ
デバイスと連携する従業員グループの設定
設定したグループの従業員の情報のみがデバイスに連携され、認証可能です
ビジターグループ
デバイスと連携するビジターグループの設定
設定したグループのビジターの情報のみがデバイスに連携され、認証可能です
拒否リストグループ
デバイスと連携する拒否リストグループの設定
設定したグループの拒否リストの情報のみがデバイスに連携され、認証可能です
ドアステータス
サポートされない機能です。利用できません
編集後、設定ボタンをクリックして保存を選択し、設定内容を反映してください。 編集内容を破棄・キャンセルする場合は、キャンセルを選択してください。
デバイスリスト画面で、設定したいデバイスの詳細欄にある > 印をクリックしてください。勤怠設定をクリックすると、勤怠設定の設定項目が表示されます。設定ボタンから更新をクリックし、編集モードにしてください。
勤怠管理で設定する勤怠エリアを、デバイスと連携することができます。登録された従業員がデバイスで顔認証を行うと、連携された勤怠エリアが勤怠レコードの位置情報として記録されます。設定を行わない場合、デバイス情報の設置場所が位置情報として利用されます。
編集後、設定ボタンをクリックし、保存を選択して設定内容を反映してください。 編集内容を破棄・キャンセルする場合はキャンセルを選択してください。
オンラインステータスのデバイスタイプごとに、一括でデバイス設定の項目を設定することができます。デバイスリストにある一括設定ボタンをクリックしてください。
一括設定画面に遷移します。
デバイスタイプをクリックし、設定するデバイスタイプを選択してください。
デバイス欄に、選択したデバイスタイプのデバイス一覧が表示されます。その中から設定を行うデバイスを選択してください。なお、ステータスがオンラインのデバイスのみ選択、一括設定を行うことができます。
デバイスを選択した後、設定内容の編集を行います。設定欄にデバイス設定 の設定項目が表示されます。5.4節 デバイス設定 の設定(個別) を参照し、各項目を設定してください。
設定後、ページ最下部にある適用ボタンをクリックして、設定をデバイスに反映してください。 キャンセルをクリックすると、デバイスリストのページに戻ります。 リセットをクリックすると、すべての設定値がデフォルト値になります。
登録されているデバイスをSenseLinkから削除します。削除したデバイスがオンラインの場合、顔認証やSenseLinkに関するデータがデバイスから消去、ログアウトされ、認証を行うことができなくなります。デバイスがオフライン状態の場合、オンラインになるまで認証を行うことができますが、オンラインに変わると同様に認証を行うことができなくなります。
デバイスリスト画面で削除したいデバイスの詳細欄にある > 印をクリックしてください。 設定ボタンをクリックし、更新をクリックして編集モードにしてください。
ここでもう一度設定ボタンをクリックすると、削除ボタンが表示されます。 クリックすると「この操作は取り消しできません。削除しますか?」というメッセージが表示されます。削除しても問題ない場合、確定をクリックしてください。
SenseLink側ではデバイスを登録できませんのでご注意ください。削除したデバイスを再度SenseLinkに登録する場合、デバイス側から登録操作を行なってください。

























Network Relay+Relay IP
Wiegand26(24bit ID)
Network(TCP)
Network(Gateway)
デバイス概要
デバイスの説明
SenseLink GE V1.10.7にてGate/DoorID フィールド名で表示されていた項目。
半角全角英数、ひらがな、全角カタカナ、漢字 -_/%(半角)半角文字数1~50
ゲート(ドア)連動モードとしてNetwork(TCP)を選択した場合、入力値が入退館管理コントローラーとの通信データの一部として利用されます
初回オンライン
初回オンライン時間
変更不可
最終オンライン
最終オンライン時間
変更不可
最終アップデート
最終設定変更時間
変更不可
ファームウェア情報
プロダクトモデル
シリアルナンバー
ファームウェアバージョン
開発元
ハードウェアバージョンコード
強調プロンプト
(一部SenseThunderシリーズのみ)
温度検知・認証時、デバイス画面の表示を変更します。成功すると緑色、失敗すると黄色になります
タッチして認証
(一部SenseThunderシリーズのみ)
認証が行われない間、デバイスが待機モード表示に切り替わります。認証時画面をタッチすると認証モードに切り替わります
レコード容量圧縮
(一部SenseThunderシリーズのみ)
デバイス側の設定項目:レコード容量圧縮(Reduce Flow Mode)に該当します。デバイスからアップロードされるデータを約50KBに圧縮します
温度表示单位
(一部SenseThunderシリーズのみ)
温度表示单位の摂氏/華氏を設定します
デフォルトでは摂氏が選択されており
温度検知
(検温)
(一部SenseThunderシリーズのみ)
温度検知のON/Offを設定します
温度アラームしきい値 (異常な体温)
(一部SenseThunderシリーズのみ)
異常とみなす温度検知のしきい値を設定します
温度異常時にアクセス拒否
(異常な体温アクセス不可)
(一部SenseThunderシリーズのみ) 温度検知結果が異常だった場合、
OFF:ドアオープンシグナルが出力されます ON:ドアオープンシグナルが出力されません
サーモグラフィー表示
(温度検知スクリーン表示)
(一部SenseThunderシリーズのみ)
デバイスのサーモグラフィー表示を設定します
屋内温度
(一部SenseThunderシリーズのみ)
設置環境に応じて値を設定してください
温度検知距離
(検温距離)
(一部SenseThunderシリーズのみ)
温度検知を行う距離を設定します。メートル単位で設定してください
SenseThunder-E:1m~1.5m
SenseThunder-Mini:0.5m~1.2m
上記の範囲で設定可能です
温度異常時アラーム鳴動
(体温異常のブザー警告)
(一部SenseThunderシリーズのみ)
温度検知結果がしきい値より高い場合にブザー音を発生させるかを設定します
高速検知モード
(一部SenseThunderシリーズのみ)
ON/OFF時の動作の違いについては、SenseThunderシリーズのマニュアルを参照してください
温度正常時アクセス許可
(常温で扉が開く)
(一部SenseThunderシリーズのみ) 高速検知モードがONの場合かつ温度がしきい値以下だった場合、ドアオープンシグナルを出力するかを設定します
マスク検知
(一部SenseThunderシリーズのみ)
マスク検知を行うかを設定します
レコードの保存
(一部SenseThunderシリーズのみ) 未登録者の認証レコードをデバイス側に保存するかを設定します。 On:デバイスで保存された認証レコードはSenseLinkにも連携・保存されます。 OFF:認証レコードおよびデバイスアラートが保存されませんので、ご注意ください。
顔写真
(一部SenseThunderシリーズのみ)
登録者を認証した際、登録者の表示写真を出力するかを設定します。登録者の表示写真が設定されていない場合、認証写真が表示されます
拒否リストアクセス通行許可
(拒否リストドアオープン)
(一部SenseThunderシリーズのみ)
拒否リストとして登録された登録者を認証した際、ドアオープンシグナルを出力するかを設定します
氏名表示
認証成功時の登録氏名の表示/非表示の設定
拒否リストメッセージ
拒否リスト登録者の認証時に表示するメッセージの設定
GPIO C-input ポート
GPIO C入力シグナル種類の選択
(None、ドアコンタクト、REXボタン、消防アラートシグナル、デフォルト:None)
Wiegand入力
Wiegandシグナル入力の設定
Wiegand26(8+16bit ID)
Wiegand26(24bit ID)
Wiegand32
Wiegand34
デフォルトNone
盗難防止アラーム
デバイス盗難アラートON/OFFの設定
ドアセンサータイムアウト
ドアセンサータイムアウト時間の設定
設定範囲:1~255秒
リブート時間
オートリブート(再起動)の時間設定
デフォルトは2:00(AM)
起動距離
(一部デバイスのみ)
デバイスがスタンバイモードから切り替わる(起動する)際の人物測定距離
オープン時間
ルール管理で設定されたアクセスタイムテーブル
SensePass GE V1.2.3では利用できません
クローズ時間
サポートされない機能です。利用できません













概要
部署リストを取得します。
リクエストアドレスの例
https://HOST:PORT/api/v2/department
リクエスト方法
GET
リクエストパラメーター
通常のレスポンス
レスポンスのフィールド
department フィールドの説明
エラーレスポンスのフィールド
概要
部署コードから部署情報を取得します。
リクエストアドレスの例
https://HOST:PORT/api/v2/department/search/code
リクエスト方法
GET
リクエストパラメーター
通常のレスポンス
レスポンスのフィールド
エラーレスポンスのフィールド
概要
部署 ID から部署情報を取得します。
リクエストアドレスの例
https://HOST:PORT/api/v2/department/{id}
リクエスト方法
GET
リクエストパラメーター
通常のレスポンス
レスポンスのフィールド
エラーレスポンスのフィールド
概要
部署作成のインターフェースです。
リクエストアドレスの例
https://HOST:PORT/api/v2/department
リクエスト方法
POST: form-data
リクエストパラメーター
通常のレスポンス
レスポンスのフィールド
エラーレスポンスのフィールド
概要
部署インターフェースを更新します。
リクエストアドレスの例
https://HOST:PORT/api/v2/department/update
リクエスト方法
POST: form-data
リクエストパラメーター
通常のレスポンス
レスポンスのフィールド
エラーレスポンスのフィールド
概要
部署を削除します。
リクエストアドレスの例
https://HOST:PORT/api/v2/department/delete
リクエスト方法
GET
リクエストパラメーター
通常のレスポンス
エラーレスポンスのフィールド
Yes
タイムスタンプ
部署長の ID
leader_name
string
部署長の名前
user_num
int
部署内の人数
children
list<department>
下位部署のリスト
部署長の ID
leader_name
string
部署長の名前
user_num
int
部署内の人数
children
list<department>
下位部署のリスト
Yes
シグネチャ。1.3.1 シグネチャ(sign)の計算の項を参照してください
timestamp
string
Yes
タイムスタンプ
部署長の ID
code
string
部署コード
Yes
シグネチャ。1.3.1 シグネチャ(sign)の計算の項を参照してください
timestamp
string
Yes
タイムスタンプ
部署長の ID
code
string
部署コード
No
部署長の ID
code
string
No
部署コード。長さ制限は 45
app_key
string
Yes
Appキー
sign
string
Yes
シグネチャ。1.3.1 シグネチャ(sign)の計算の項を参照してください
timestamp
string
Yes
タイムスタンプ
部署長の ID
code
string
部署コード
無効なパラメーターです。部署名は空にはできません
30001
Param Invalid
無効なパラメーターです。部署長が存在しません
30001
Param Invalid
無効なパラメーターです。部署コードはすでに存在します
Yes
名前。長さ制限は 50
leaderId
long
No
部署長の ID
code
string
No
部署コード。長さ制限は 45
app_key
string
Yes
Appキー
sign
string
Yes
シグネチャ。1.3.1 シグネチャ(sign)の計算の項を参照してください
timestamp
string
Yes
タイムスタンプ
部署長の ID
code
string
部署コード
無効なパラメーターです。上位部署の ID は存在しません
30001
Param Invalid
無効なパラメーターです。部署 ID は空にはできません
30001
Param Invalid
無効なパラメーターです。部署名は空にはできません
30001
Param Invalid
無効なパラメーターです。部署長が存在しません
30001
Param Invalid
無効なパラメーターです。部署コードはすでに存在します
Yes
シグネチャ。1.3.1 シグネチャ(sign)の計算の項を参照してください
timestamp
string
Yes
タイムスタンプ
パラメーター名
型
必須
説明
app_key
string
Yes
Appキー
sign
string
Yes
シグネチャ。1.3.1 シグネチャ(sign)の計算の項を参照してください
timestamp
パラメーター名
型
説明
id
long
部署ID
name
string
部署名
parent_id
long
上位部署の ID。0 は企業を示します
leader_id
パラメーター名
型
説明
id
long
部署ID
name
string
部署名
parent_id
long
上位部署の ID。0 は企業を示します
leader_id
コード
メッセージ
説明
30001
Param Invalid
無効なパラメーターです
パラメーター名
型
必須
説明
code
string
Yes
部署コード。長さ制限は 45
app_key
string
Yes
Appキー
sign
パラメーター名
型
説明
id
long
部署ID
name
string
部署名
parent_id
long
上位部署の ID。0 は企業を示します
leader_id
コード
メッセージ
説明
30001
Param Invalid
無効なパラメーターです
パラメーター名
型
必須
説明
id
long
Yes
部署ID
app_key
string
Yes
Appキー
sign
パラメーター名
型
説明
id
long
部署ID
name
string
部署名
parent_id
long
上位部署の ID。0 は企業を示します
leader_id
コード
メッセージ
説明
30001
Param Invalid
無効なパラメーターです。部署IDが存在しません
パラメーター名
型
必須
説明
parentId
long
Yes
上位部署 ID
name
string
Yes
名前。長さ制限は 50。空の値で登録しないでください
leaderId
パラメーター名
型
説明
id
long
部署ID
name
string
部署名
parent_id
long
上位部署の ID。0 は企業を示します
leader_id
コード
メッセージ
説明
30001
Param Invalid
上位の部署を選択ください
610
Similar record Exist
同じ名前の部署が同じレベルに存在します
620
Record non-existent Error
上位部署の ID が存在しません
30001
パラメーター名
型
必須
説明
id
long
Yes
部署ID
parentId
long
Yes
上位部署 ID。上位部署IDが存在しない場合、エラーとなる可能性があります。ご注意ください
name
パラメーター名
型
説明
id
long
部署ID
name
string
部署名
parent_id
long
上位部署の ID。0 は企業を示します
leader_id
コード
メッセージ
説明
610
Similar record Exist
同じ名前の部署が同じレベルに存在します
620
Record non-existent Error
上位部署の ID が無効です(現在のノードの上位部署は指定できません)
30001
Param Invalid
無効なパラメーターです。上位部署の ID は空にはできません
30001
パラメーター名
型
必須
説明
id
long
Yes
部署ID
app_key
string
Yes
Appキー
sign
コード
メッセージ
説明
610
Similar record Exist
部署にユーザーが存在しているため、部署を削除できません
610
Similar record Exist
部署に下位部署があります
620
Record non-existent Error
上位部署の ID が存在しません
string
long
long
string
long
string
long
long
long
Param Invalid
string
long
Param Invalid
string
{
"code": 200,
"message": "OK",
"data": "id": 0,
"name": " 日本コンピュータビジョン",
"children": [
{
"id": 1,
"name": " 開発部",
"children": [
{
"id": 3,
"name": " クラウドサービス",
"children": [
{ }
],
"parent_id": 1,
"leader_id": 370108,
"leader_name": "test1",
"user_num": 15
},
{
"id": 56,
"name": "test2",
"children": [],
"parent_id": 1,
"leader_id": null,
"leader_name": null,
"user_num": 0
}
],
"parent_id": 0,
"leader_id": 372345,
"leader_name": "leader",
"user_num": 17
}
]
}{
"code": 200,
"message": "OK",
"data": {
"id": 11,
"name": "test",
"code": "003",
"parent_id": 0,
"leader_id": null
}
}{
"code": 200,
"message": "OK",
"data": {
"id": 2,
"name": " 開発部",
"code": “003”,
"parent_id": 0,
"leader_id": 55505
}
}{
"code": 200,
"message": "OK",
"data": {
"id": 2,
"name": " 開発部",
"code": null,
"parent_id": 0,
"leader_id": 55505
}
}{
"code": 200,
"message": "OK",
"data": {
"id": 2,
"name": "開発部",
"code": null,
"parent_id": 0,
"leader_id": 55505
}
}{
"code": 200,
"message": "OK"
}1:N顔認証のために、顔写真を含む認証用データ(以下「認証用データ」)を保存するDBが最大20個まで作成できます。各DBに最大50,000人分の認証用データ情報が保存できます。つまり、Nの最大値は100万人となっています。
HTTP返却値:
システム返却値
アップロードされた2枚の写真を比較し、類似度を返却します。
POST Content-Type: application/json
認証用データを保存するDBを作成します。最大20件のデータまで作成できます。
POST Content-Type: application/json
認証用データを保存するDBを削除します。
注意事項:認証用データのDBが削除されることによって、DBに保存されるデータも自動的に削除されます。
POST Content-Type: application/json
認証用データを保存するDB一覧を取得します。
POST Content-Type: application/json
なし
認証用データを保存するDBを更新します。
POST Content-Type: application/json
DBに認証用データを追加します。各DBは最大5万人分の認証用データまで登録できます。
登録する写真は下記の条件に満たす必要があります:
フォマット:JPG(JPEG),BMP,PNG,GIF,TIFF
幅と高さの両方は8px以上,4000px以下
写真サイズは5MB以下
POST Content-Type: application/json
DBから特定の認証用データを削除します。
POST Content-Type: application/json
認証用データを取得します。
POST Content-Type: application/json
対象の認証用データ(写真)を元に、DBから最も類似するTop Kのを検用索します。検索結果は、類似度の高い順に並べ替えられます。
POST Content-Type: application/json
注意事項:閾値は空ではない場合、閾値より大きな類似度の結果のみ返却します。例えば、条件に満たす結果の数はNの時、N=0なら、空の返却となります;N<top_kなら、全ての結果を返却します;N>=top_kなら、top_kの結果のみ返却します。
INTERNAL_ERROR
NOT_FOUND
80006
ALREADY_EXISTS
80007
PERMISSION_DENIED
80008
RESOURCE_EXHAUSTED
80009
FAILED_PRECONDITION
80010
ABORTED
80011
OUT_OF_RANGE
80012
UNIMPLEMENTED
80013
INTERNAL
80014
UNAVAILABLE
80015
DATA_LOSS
80016
UNAUTHENTICATED
類似度
認証用データを保存するDBのID
システムレスポンス結果
既存DBの数
db_info
json
各DBの詳細情報
db_id
string
DBのID
db_name
string
DBの名前
face_count
int
DBに登録されている認証用データの数
db_desc
string
説明情報
NO
説明情報
DBのID
name
string
更新後のDB名,重複不可
description
string
更新後の説明情報
NO
人の名前、重複可能。
image
String
YES
顔写真、base64データ
image_format
String
NO
顔写真の
threshold
Float
NO
顔写真に対する品質チェックの閾値、0〜1の間の値です。値が高いほど、品質チェックが厳しくなります。デフォルト値は0.9です。0の場合は品質チェックしません。
face_desc
String
NO
説明情報
認証用データの一意のID。正常時のみ返却します。
システムレスポンス結果
DBのid
faceId
string
認証用データの一意のID
faceName
string
該当する認証用データに登録された指名
faceDesc
string
説明
YES
検索対象の顔写真、base64データ
threshold
float
NO
希望する類似度の閾値。デフォルトは0.9です。
システムレスポンス結果
dbID
string
DBのID
faceID
String
認証用データの一意のID
score
String
類似度
日付
改訂内容
2020/06/24
編集中
返却値
ステータス
200
OK
400
BAD_REQUEST
404
NOT_FOUND
411
LENGTH_REQUIRED
413
PAYLOAD_TOO_LARGE
返却値
ステータス
80000
OK
80001
CANCELED
80002
UNKNOWN
80003
INVALID_ARGUMENT
80004
DEADLINE_EXCEEDED
パラメータ名
型
必須
説明
first_image
string
YES
1枚目画像のbase64データ
second_image
string
YES
2枚目画像のbase64データ
パラメータ名
型
説明
request_id
string
ユニークリクエストID
code
int
システム返却値、正常の時に80000
message
string
システム返却メッセージ,正常の時に“OK”
score
パラメータ名
型
必須
説明
db_name
string
YES
DBの名前,重複可能,編集可能
db_desc
string
NO
説明情報
パラメータ名
型
説明
request_id
string
ユニークリクエストID
code
int
システム返却値,正常の時に80000
message
string
システム返却メッセージ,正常の時に“OK”
db_id
パラメータ名
型
必須
説明
db_id
String
YES
DBの名前,重複可能,編集可能
パラメータ名
型
説明
request_id
string
ユニークリクエストID
code
int
システム返却値,正常の時に80000
message
string
システム返却メッセージ,正常の時に“OK”
result
パラメータ名
型
説明
request_id
string
ユニークリクエストID
code
int
システム返却値,正常の時に80000
message
string
システム返却メッセージ,正常の時に“OK”
db_count
パラメータ名
型
必須
説明
db_id
string
YES
更新したいDBのID
db_name
string
YES
更新したいDBの名前
db_desc
パラメータ名
型
説明
request_id
string
ユニークリクエストID
code
int
システム返却値,正常の時に80000
message
string
システム返却メッセージ,正常の時に“OK”
dbid
パラメータ名
型
必須
説明
db_id
string
YES
DBのID
faces
json
YES
認証用データのリスト。複数の認証用データを一括で登録可能です。
face_name
パラメータ名
型
説明
request_id
string
ユニークリクエストID
code
int
システム返却値,正常の時に80000
message
string
システム返却メッセージ,正常の時に“OK”
face_id
パラメータ名
型
必須
説明
db_id
string
YES
削除したい認証用データが保存されるDBのID
face_id
string
YES
認証用データの一意のID
パラメータ名
型
説明
request_id
string
ユニークリクエストID
code
int
システム返却値,正常の時に80000
message
string
システム返却メッセージ,正常の時に“OK”
result
パラメータ名
型
必須
説明
db_id
string
YES
検索したい認証用データが保存されるDBのID
face_id
string
YES
認証用データの一意のID
パラメータ名
型
説明
request_id
string
ユニークリクエストID
code
string
システム返却値,正常の時に80000
message
string
システム返却メッセージ,正常の時に“OK”
dbId
パラメータ名
型
必須
説明
db_ids
string[]
YES
検索したいDBのリストです。複数のDBの場合、”;”で分けます、最大は20個です。
top_k
int
YES
返却したい最も類似する認証用データの数です。デフォルトは1で、最大は20です。
image
パラメータ名
型
説明
request_id
string
ユニークリクエストID
code
iInt
システム返却値,正常の時に80000
message
string
システム返却メッセージ,正常の時に“OK”
result
500
80005
string
string
string
int
string
string
tring
string
string
string
string
json
{
"code": 200,
"message": "OK",
"desc": null,
"data": {
"code": 80000,
"message": "OK",
"result": {
"score": 1.0
},
"requestId": "6dcabe1b-6b08-447f-bea1-d18429e10ebc"
}
}{
"code": 200,
"message": "OK",
"desc": null,
"data": {
"code": 80000,
"message": "OK",
"result": "e5fdc03c-b2c2-45b0-9b42-4c6b3f614000",
"requestId": "797b5476-a88f-4cdb-b3a5-451bf6da7862"
}
}{
"code": 200,
"message": "OK",
"desc": null,
"data": [
{
"code": 80000,
"message": "OK",
"result": null,
"request_id": "d23ccf7d-ccd7-4228-b420-61bef231a220"
},
{
"code": 80000,
"message": "OK",
"result": null,
"request_id": "d23ccf7d-ccd7-4228-b420-61bef231a220"
}
]
}{
"code": 200,
"message": "OK",
"desc": null,
"data": {
"code": 80000,
"message": "OK",
"result": {
"dbCount": 98,
"dbinfos": [
{
"faceCount": "0",
"id": "35040d1e-c7b9-43d9-93c8-32d301657000",
"name": "senseradar_alert",
"desc": ""
},
{
"faceCount": "0",
"id": "404c159a-118e-4e8b-bed6-d3fab2a33000",
"name": "test2",
"desc": "none"
}
]
},
"requestId": "ad2f6b05-1e5f-4768-b030-1809b6e5430a"
}
}{
"code": 200,
"message": "OK",
"desc": null,
"data": {
"code": 80000,
"message": "OK",
"result": {
"dbId": "0d873e4a-c232-4698-902e-5573457d1000",
"name": "liuchang",
"description": "liuchang_test1"
},
"requestId": "74e2225e-8283-4c74-ac47-1e8748ce992b"
}
}{
"dbId": "xxx",
"faces": [{
"face_name": "XXX1",
"image": "XXX",
"threshold": 0.1,
"face_desc": "XXX"
},
{
"face_name": "XXX1",
"image": "XXX",
"threshold": 0.1,
"face_desc": "XXX"
}
]
}{
"code": 200,
"message": "OK",
"desc": null,
"data": {
"code": 80000,
"message": "OK",
"result": [
{
"code": 0,
"message": "",
"faceId": "0d873e4ac2324698902e5573457d10010000000000005b5c"
},
{
"code": 0,
"message": "",
"faceId": "0d873e4ac2324698902e5573457d10010000000000005b5d"
}
],
"requestId": "68482793-d3c2-4086-abd2-11b81fc3c728"
}
}{
"code": 200,
"message": "OK",
"desc": null,
"data": {
"code": 80005,
"message": "NOT_FOUND",
"result": null,
"requestId": "179bd42c-4612-4343-aecf-eec764935cf6"
}
}{
"code": 200,
"message": "OK",
"desc": null,
"data": {
"code": 80000,
"message": "OK",
"result": {
"response": {
"code": 0,
"message": "",
"dbId": "0d873e4a-c232-4698-902e-5573457d1000",
"faceId": "0d873e4ac2324698902e5573457d10010000000000005aee",
"faceName": "test-mercury-api",
"faceDesc": "nothing"
}
},
"requestId": "a27b09b4-9b8c-43ac-a186-c63131926c25"
}
}{
"code": 200,
"message": "OK",
"desc": null,
"data": {
"code": 80000,
"message": "OK",
"result": {
"response": [
{
"code": 5,
"message": "rpc error: code = NotFound desc = db not found",
"dbId": "",
"similarResults": []
},
{
"code": 0,
"message": "",
"dbId": "0d873e4a-c232-4698-902e-5573457d1000",
"similarResults": [
{
"faceId": "0d873e4ac2324698902e5573457d10010000000000005aee",
"score": 1.0
}
]
}
]
},
"requestId": "c88c6027-907e-4f69-8dc8-c750f6372d1f"
}
}従業員、ビジター、拒否リストの登録者の登録や削除、管理について記載されています。
SenseLinkでは顔認証の対象者を、以下の登録者タイプに分けて登録・管理できます。
SensePass GE V1.2.1、SensePass GE V1.2.3ではビジターおよび拒否リストの顔認証をサポートしていません。
SenseLinkに登録する認証用の顔写真は、以下の規格に合うものをご準備ください。なお、顔写真品質チェックレベルの設定が低の場合、「自分の顔以外他人の顔が映っていないこと」、「写真データのフォーマットはJPEG、またはPNGであること」、「写真データのサイズが約3.8MB以下であること」の3点以外の顔写真品質チェックを行わずに登録が可能です。 顔写真品質チェックレベルの設定方法については、ととを参照してください。
3カ月以内に撮影したもの
正面、無帽、無背景
カラー写真
鮮明であること(ピントが合っていること)
個別登録とは、従業員を1人ずつ登録する方法です。 登録に必要な写真および情報をご準備ください。
従業員の写真
従業員情報(詳細は「登録項目詳細」をご参照ください)
ナビゲーションメニューの[認証登録者管理]→[従業員管理]から従業員一覧を表示し、[登録]をクリックすると、個別登録画面が表示されます。
必要な情報を入力した後、ページ最下部にある保存ボタンをクリックして登録を完了してください。登録完了まで数秒かかる場合があります。
登録に必要な写真および情報をご準備ください。
ビジターの写真
ビジター情報(詳細は「登録項目詳細」をご参照ください)
ナビゲーションメニューの[認証登録者管理]→[ビジター管理]からビジター一覧を表示し、[登録]をクリックすると登録画面が表示されます。
必要な情報の入力後、ページ最下部にある保存ボタンをクリックして登録を完了してください。登録完了まで数秒かかる場合があります。
登録に必要な写真および情報をご準備ください。
拒否リストの写真
拒否リスト情報(詳細は「登録項目詳細」をご参照ください)
ナビゲーションメニューの[認証登録者管理]→[拒否リスト管理]から拒否リスト一覧を表示し、[拒否リストに登録]をクリックすると登録画面が表示されます。
必要な情報の入力後、ページ最下部にある保存ボタンをクリックして登録を完了してください。登録完了まで数秒かかる場合があります。
オフラインで拒否リストを認証した後でオンラインにした場合、初回のみダッシュボード上に拒否リストの警告が表示されることがあります。表示された場合は画面を再表示(リロード)することで、警告は表示されなくなります。
登録者情報を修正することができます。以下に、従業員情報の場合を例に操作手順を記載します。ビジター、拒否リストの場合、それぞれビジター管理メニュー、拒否リスト管理メニューに読み替えて同様の手順を実施してください。
ナビゲーションメニューの[認証登録者管理]→[従業員管理]から従業員一覧を表示し、設定欄にある詳細ボタンをクリックすると、登録者情報詳細が表示されます。
ページ最下部にある更新ボタンクリックすると、修正モードになります。
情報を修正した後、ページ最下部にある保存ボタンをクリックすると、修正内容が反映されます。
登録者情報を削除することができます。以下に、従業員情報の場合を例に操作手順を記載します。ビジター、拒否リストの場合、それぞれビジター管理メニュー、拒否リスト管理メニューに読み替えて同様の手順を実施してください。
ナビゲーションメニューの[認証登録者管理]→[従業員管理]から従業員一覧を表示してください。
削除したい登録者にチェックを入れ、削除ボタンをクリックしてください「この操作は取り消しできません。削除しますか?」のメッセージが表示されます。 「確定」をクリックして削除してください。なお、削除された登録者情報は復元できませんのでご注意ください。
また登録者情報詳細ページからも削除が行えます。
ナビゲーションメニューの[認証登録者管理]→[従業員管理]から従業員一覧を表示してください。削除したい従業員の詳細ボタンをクリックし、登録者情報詳細を表示してください。ページ最下部にある更新ボタンクリックすると修正モードになり、ページ最下部に削除ボタンが表示されます。削除ボタンをクリックしてください。
「この操作は取り消しできません。削除しますか?」のメッセージが表示されますので、「確定」をクリックして削除してください。
従業員またはビジターとして登録された登録者を、拒否リストの登録者に変更することができます。
拒否リストに登録したい従業員またはビジターの登録者情報の詳細を表示してください。 ナビゲーションメニューの[認証登録者管理]→[従業員管理]または[ビジター管理から登録者一覧を表示させ、拒否リストに登録したい登録者の詳細ボタンをクリックすると詳細が表示されます。
ページ最下部にある更新ボタンをクリックして、修正モードにしてください。
編集モードにすると、同ページ最下部のボタンに「拒否リストに登録」ボタンが表示されます。クリックしてください。
登録する拒否リストグループを選択します。グループは複数選択可能です。
選択後、保存ボタンをクリックすると、「拒否リストに登録するとグループや部署、デバイスへの登録も削除されます。登録しますか?」のメッセージが表示されます。確定ボタンをクリックしてください。
操作完了後、ナビゲーションメニューの[認証登録者管理]→拒否リスト管理]から拒否リスト一覧を表示し、変更した登録者が登録されていることを確認してください。オリジナルの登録者タイプ欄には登録者のオリジナルの登録者タイプとして、従業員またはビジターが記録されています。
一度に複数の従業員を登録することが可能です。ここではSenseLink Cloudの従業員情報の複数登録方法について記載しています。
ナビゲーションメニューの[認証登録者管理]→[従業員管理]を選択してください。従業員管理ページが表示されます。[一括操作]タブをクリックし、[複数登録]を選択してください。
複数登録のステップを説明するページが表示されます。ご一読いただき、アップロード開始ボタンをクリックしてください。
従業員情報情報を入力するためのExcelテンプレートをダウンロードします。
①ダウンロード ボタンをクリックしてください。デフォルトのファイル名は 「senselink_employee_upload_template_ja.xlsx」 です。
保存されたExcelテンプレートを開いてください。
Excelテンプレートの1行目と2行目は編集、削除しないでください。 3行目から従業員情報を入力できます。Excelテンプレートの3行目にPeterという従業員の入力例が記載されていますが、こちらはサンプルなので入力例を確認後、削除・上書きして登録してください。 名前は必須項目、その他はオプション項目です。携帯電話番号、従業員番号、ICカード番号は異なる従業員間で重複して登録することができず、一意である必要があります。 各項目の詳細についてはToolKitユーザーマニュアル を参照してください。
②アップロードボタンをクリックし、準備したExcelテンプレートを選択してください。 ③インポートボタンをクリックして、SenseLinkにExcelテンプレートに入力された従業員情報をインポートしてください。インポートに成功すると、自動的にStep2へ進みます。
Excelファイルの内容に誤りがある場合、エラーメッセージが表示されてインポートが完了しません。エラーメッセージの内容に従ってExcelファイルを修正し、もう一度アップロードおよびインポートを行なってください。
エラーメッセージのフォーマット
エラーを修正したExcelをアップロードする際には、先にアップロード済みのデータを削除する必要があります。削除した後、もう一度アップロードボタンから修正済みExcelテンプレートをアップロードしてください。
従業員情報のインポートが完了すると、自動的に従業員の認証用顔写真アップロードのページに遷移します。
顔写真品質チェックレベル欄で、用顔写真品質チェックレベルを選択します。
認証用顔写真の圧縮ファイルの欄にある[ファイルを選択]ボタンをクリックして、顔写真ファイルの圧縮ファイル(ZIP)を選択してください。 圧縮ファイル(ZIP)および圧縮ファイル内の顔写真は、以下の規格を満たす必要があります。
顔認証品質チェックレベルで高を設定している場合、写真がすべての規格項目をクリアしていること。認証用顔写真の規格は を参照してください。低を設定している場合はその限りではありません。
顔写真ファイル1件は約3.8MB(4,000,000バイト =約3,900KB)
圧縮ファイル内の顔写真ファイル数が50,000件以下であること
認証用顔写真の拡張子を除くファイル名が前節で登録した、またはすでに登録済みの従業員の氏名と一致していること
フォルダを選択後、次へ のボタンをクリックしてください。認証用顔写真のアップロードが開始されます。 フォルダまたは認証用顔写真ファイルに誤りがある場合、エラーメッセージが表示され、アップロードが開始されません。エラーメッセージの内容にしたがってフォルダまたは認証用顔写真ファイルを修正し、もう一度アップロードを行なってください。
アップロードが開始されると、アップロード進捗状況として経過時間とが確認できます。アップロードは2段階の処理が行われるため、進捗も2種類表示されます。
アップロードが完了すると、完了メッセージが画面上部に表示されます。
アップロードの結果をエクスポートすることもできます。アップロード結果 表示ボタンをクリックしてください。Excelファイルがエクスポートされ、ファイルが開きます。
一度に複数の従業員情報を修正することが可能です。ここではSenseLink Cloudの従業員情報を複数修正する方法について記載しています。
当節の手順では従業員情報の修正のみ行い、従業員の認証用顔写真の修正を行うことができません。認証用顔写真の修正を行う場合は次節を参照してください。
ナビゲーションメニューの[認証登録者管理]→[従業員管理]を選択してください。従業員管理ページが表示されます。[一括操作]タブをクリックし、[複数更新]を選択してください。
登録済みの従業員情報をエクスポートします。①従業員リストエクスポートをクリックしてください。
「Excelファイルはパスワードで保護されます。パスワードは現在のアカウントです。」というメッセージが表示されます。確定ボタンをクリックすると、ご利用中のPCに従業員情報が記載されたExcelファイルがエクスポートされます。 ファイル名は [従業員リスト20YY-MM-DD.xls] (20YY-MM-DDはエクスポート実施日) エクスポートされたファイルを開く際にパスワードを求められます。パスワードはSenseLinkにログイン中のアカウントです。ログイン中のアカウントのパスワードではありませんのでご注意ください。
Excelファイル内の従業員情報について、以下の点に注意しながら修正してください。
Excelファイルの1行目と2行目は編集、削除しないようにご注意ください。3行目以降の従業員情報は修正することができます。
A列はSenseLinkが各従業員に付与し、管理するための内部IDです。編集、削除しないでください。
B列-R列の入力項目や制限は複数登録時のと同様です。
S列には認証用顔写真の登録有無が[Y]または[N]で記載されています。
修正が完了したら、Excelファイルのパスワードによる保護を解除し、ファイルに[名前をつけて保存]してください。
Windowsの場合 ファイル名および保存先選択画面の[ツール]をクリックし、[全般オプション]をクリックします。パスワードを消去してOKをクリックし、ファイルを保存してください。
Macの場合 ファイル名および保存先選択画面の[オプション]をクリックしてください。パスワードを消去してOKをクリックし、ファイルを保存してください。
Linuxをご利用中で、Microsoft Office Excel と互換性のあるソフトウェアの場合 ソフトウェアのマニュアルに従ってパスワードによる保護を解除してください。
SenseLinkに戻り、②更新従業員リストアップロード をクリックして、修正したExcelファイルをアップロードしてください。 アップロードが完了すると、「複数更新完了」のメッセージが画面上部に表示されます。
Excelファイルの内容に誤りがある場合、「アップロードされたフォーマットに {n} 点のエラーがあります。修正して再度アップロードしてください。」のエラーメッセージが表示されます。ファイルの内容を修正して、もう一度アップロードしてください。
すでに登録済みの従業員の認証用顔写真の修正を行います。ここではSenseLink Cloudの従業員認証用顔写真の複数修正方法について記載しています。
ナビゲーションメニューの[認証登録者管理]→[従業員管理]を選択してください。従業員管理ページが表示されます。[一括操作]タブをクリックし、[複数登録]を選択してください。
アップロード開始ボタンをクリックしてください。
Step1をスキップします。ページ下部にあるスキップボタンをクリックしてください。 「登録済みの従業員のみ認証用顔写真を登録できます。登録済みの従業員名と一致しない写真ファイルは登録されません。従業員情報アップロードをスキップしますか?」というメッセージが表示されるので、確定ボタンをクリックしスキップしてください。
以降の手順は を参照してください。
削除したい複数の従業員を指定して一括で削除することができます。
ナビゲーションメニューの[認証登録者管理]→[従業員管理]を選択してください。従業員管理ページが表示されます。[一括操作]タブをクリックし、[複数削除]を選択してください。
複数削除画面が表示されます。①従業員リストの導出 をクリックしてください。
「Excelファイルはパスワードで保護されます。パスワードは現在のアカウントです。」というメッセージが表示されます。確定ボタンをクリックするとご利用中のPCに従業員情報が記載されたExcelファイルがエクスポートされます。 SenseLink Cloudを利用している場合、ファイル名は [従業員リスト20YY-MM-DD.xlsx] (20YY-MM-DDはエクスポート実施日)です。 SenseLink Enterprise、SenseLink Enterprise Proを利用している場合、ファイル名は [従業員リスト20YY-MM-DD.xls] (20YY-MM-DDはエクスポート実施日)です。 エクスポートされたファイルを開く際にパスワードを求められます。パスワードはSenseLinkにログイン中のアカウントです。ログイン中のアカウントのパスワードではないのでご注意ください。
ExcelファイルのS列に、 [削除する(Y)] の項目があります。削除したい従業員のS列に[Y]を記載してください。し、ファイルに[名前をつけて保存]してください。 また、ファイル形式ではExcel 97-2003ブック(macOSはExcel 97-2004)のxls形式を選択してください。特殊な形式であるMicrosoft Excel 5.0/95 ブックのxlsは選択しないでください。
Excelファイルは、S列以外の編集・削除は絶対に行わないでください。
SenseLinkに戻り、②[アップロードには削除が必要な従業員リスト]ボタン(削除する従業員リストのアップロード)をクリックして、先ほど編集・保存したExcelファイルをアップロードしてください。
③削除ボタンをクリックしてください。確認のためにパスワードの入力を求められます。現在ログイン中のアカウントのパスワードを入力してください。
削除が完了すると「一括削除に成功しました」のメッセージが表示されます。
登録者ごとの登録レコードを管理することができます。登録レコードはOpen API、QR Code(SenseLink Cloudのみでサポート)を利用して登録した場合のみ記録、管理されます。6.3節 従業員の新規登録:個別登録、6.4節 ビジターの新規登録、6.5節拒否リストの新規登録、6.9 従業員の新規登録:複数登録 の手順やToolKitを利用して登録された場合は記録、管理されないのでご注意ください。
ナビゲーションメニューの[認証登録者管理]→[登録レコード]をクリックすると、登録レコードが表示されます。 検索機能として登録者タイプ選択、登録日付絞り込み、登録デバイス、登録者名や携帯電話番号などがあります。
登録者を写真で検索することができます。 ナビゲーションメニューの[認証登録者管理]→[写真による検索]をクリックしてください。写真による検索画面が表示されます。
写真アップロードをクリックして、検索に利用したい写真をアップロードしてください。写真の規格は を参照してください。
認証しきい値の値を設定してください。0.5~1.0の間で設定できます。 表示人数(上位)で、類似度の上位何人を検索結果として表示するかを設定してください。
設定が完了したら、検索ボタンをクリックしてください。検索結果が表示されます。 検索結果は類似度が高い順に表示されます。各検索結果の認証レコード 表示ボタンをクリックすると、登録者の認証レコードを確認することができます。
登録者情報を最大100,000件までExcelファイルにエクスポートすることができます。ただし写真はエクスポートできません。
従業員情報の場合を例に操作手順を記載します。ビジター、拒否リストの場合はそれぞれビジター管理メニュー、拒否リスト管理メニューに読み替えて同様の手順を実施してください。
ナビゲーションメニュー [認証登録者管理]→[従業員管理]から従業員一覧を表示してください。エクスポートしたい登録者または登録者グループを選択し、エクスポートボタンをクリックしてください。
「エクスポートされたExcelファイルのパスワードは現在のアカウントです。」というメッセージが表示されます。 確定ボタンをクリックすると、登録者情報が記載されたExcelファイルがご利用中のPCのダウンロードフォルダに保存されます。
登録者タイプが従業員、ビジター、拒否リストのそれぞれの場合、以下のExcelファイル名で保存されます。[yyyy]-[mm]-[dd]はこの操作を行なった日付です。
staff_list_[yyyy]-[mm]-[dd].xlsx
visitor_list_[yyyy]-[mm]-[dd].xlsx
black_list_[yyyy]-[mm]-[dd].xlsx
Excelファイルを開くには、パスワードを入力する必要があります。パスワードはExcelファイルエクスポートを行なったユーザーのアカウントです。
登録レコードを最大100,000件までExcelファイルにエクスポートすることができます。ただし写真はエクスポートできません。
ナビゲーションメニュー [認証登録者管理]→[登録レコード]から登録レコード一覧を表示してください。エクスポートしたいレコードを検索で絞り込み、エクスポートボタンをクリックしてください。
以下のExcelファイル名で保存されます。[yyyy]-[mm]-[dd]はこの操作を行なった日付です。
registration_record_[yyyy]-[mm]-[dd].xlsx
明るさやコントラストが適切であること
影のないもの
背景と人物の境目がはっきりしていること
眼鏡のレンズに光が反射していないこと
平常の顔貌と著しく異ならないもの
前髪やヒゲなどで、目や鼻などの顔のパーツや輪郭が隠れていないこと
ヘアバンドなどで頭髪を覆っていないこと
口を開けていないこと
顔部分のサイズは100×100ピクセル以上であること
写真のサイズは100×128ピクセル以上であること
顔部分のピッチ/ヨー/ロールが±20°であること
顔部分の上下左右幅を変更していないこと
写っている人物が1人のみで、他人の顔が写っていないこと
写真データのフォーマットはJPEG、またはPNGであること
写真データのサイズが約3.8MB(4,000,000バイト =約3,900KB)以下であること
1
30
性別
(選択肢)
-
-
従業員グループ
(選択肢)
-
-
携帯電話番号①
国コード、国別コードを選択してください 日本の携帯電話を利用している場合+81を選択してください
-
-
携帯電話番号②
すべての登録者タイプの中で一意である必要があります
携帯電話番号①の国コードが異なる場合、同一の携帯電話番号を登録することはできません +81-08012345678 と+12-08012345678は、同一携帯電話番号として判断されます
氏名が重複する従業員が存在する場合、複数更新を行うために必ず当項目を登録してください
ハイフンは利用できません。半角数字のみ利用してください
6
20
外線電話番号
半角数字
-
20
部署
(選択肢)
-
-
役職
半角英数字、全半角スペース、漢字、ひらがな、カタカナ、全半角記号
-
40
従業員番号
半角英数字
一意である必要があります
-
20
IC カード
半角数字
10進数表記で一意の数値を入力してください
デバイス設定でゲート(ドア)連動でWiegand(26bit(8+16)、26bit(24)、32bit、34bit)のいずれかを選択した場合、各Wiegandの仕様を満たすICカード番号である必要があります。各Wiegandの仕様を満たさないICカード番号が入力された場合、顔認証後のドアオープンシグナルが正常に動作しません
-
20
IDカード
(中国国籍の方が持つ番号です。サポートされない機能のため、入力しないでください。)
-
-
勤務地
(自由入力)
-
40
生年月日
(日付選択)
-
-
年齢
(生年月日から自動計算)
-
-
入社年月日
(日付選択)
-
-
カスタムメッセージ
顔認証時に表示するカスタムメッセージ
-
45
特記事項
(自由入力)
-
200
1
30
来訪期間
(日付選択)
ビジターが来訪し、アクセスが可能な期間
来訪期間外にビジターが認証を行なった場合、アクセス権限なしと見なされてドアオープンシグナルは発信されず、ドア/ゲートが開きません SenseLinkの認証レコードには、来訪期間期間外の異常検知として記録されます
-
-
性別
(選択肢)
-
-
ビジターグループ
(選択肢)
-
-
携帯電話番号①
国コード、国別コードを選択してください
日本の携帯電話を利用している場合、+81を選択してください
-
-
携帯電話番号②
すべての登録者タイプの中で一意である必要があります
携帯電話番号①の国コードが異なる場合、同一の携帯電話番号を登録することはできません +81-08012345678 と+12-08012345678は、同一携帯電話番号として判断されます
氏名が重複するビジターが存在する場合、複数更新を行うために、必ず当項目を登録してください。
ハイフンは利用できません。半角数字のみ利用してください
6
20
企業
-
45
役職
-
40
来訪目的
-
50
受付担当者
(検索および選択肢)
-
-
ビジターカテゴリー
-
20
ICカード
半角数字
10進数表記で一意の数値を入力してください
デバイス設定でゲート(ドア)連動でWiegand(26bit(8+16)、26bit(24)、32bit、34bit)のいずれかを選択した場合、各Wiegandの仕様を満たすICカード番号である必要があります 各Wiegandの仕様を満たさないICカード番号が入力された場合、顔認証後のドアオープンシグナルが正常に動作しません
-
20
IDカード
(中国国籍の方が持つ番号です。サポートされない機能です。利用できません。)
-
-
生年月日
(選択)
-
-
年齢
(生年月日から自動計算)
-
-
カスタムメッセージ
顔認証時に表示するカスタムメッセージ
-
45
特記事項
-
200
1
30
性別
(選択肢)
-
-
拒否リストグループ
(選択肢)
-
-
携帯電話番号①
国コード、国別コードを選択してください
日本の携帯電話を利用している場合、+81を選択してください
-
-
携帯電話番号②
すべての登録者タイプの中で一意である必要があります
携帯電話番号①の国コードが異なる場合、同一の携帯電話番号を登録することはできません +81-08012345678 と+12-08012345678は、同一携帯電話番号として判断されます
氏名が重複する拒否リストが存在する場合、複数更新を行うために、必ず当項目を登録してください。
6
20
ICカード
半角数字 一意である必要があります
デバイス設定のゲート(ドア)連動でWiegand(26bit(8+16)、26bit(24)、32bit、34bit)のいずれかを選択した場合、各Wiegandの仕様を満たすICカード番号を入力いただく必要があります。各Wiegandの仕様を満たさないICカード番号が入力された場合、顔認証後のドアオープンシグナルが正常に動作しない可能性があります。ゲート(ドア)連動でのWiegandの選択に関わらず、10進数で入力ください
-
20
IDカード
(中国国籍の方が持つ番号です。サポートされない機能です。利用できません。)
-
-
生年月日
(日付選択)
-
-
年齢
(生年月日から自動計算)
-
-
カスタムメッセージ
顔認証時に表示するカスタムメッセージ。 半角英数字、全半角スペース、漢字、ひらがな、カタカナ、全半角記号
-
45
特記事項
半角英数字、全半角スペース、漢字、ひらがな、カタカナ、全半角記号
-
200
ただし氏名が重複する従業員が存在する場合、以下のフォーマットであること
[氏名]+[国別コード]-[携帯電話番号]
従業員の氏名が[山田 太郎]、国別コードが[81]、携帯電話番号が[8012345678]の場合、山田 太郎+81-8012345678.jpg (または.png)が規定のファイル名
すべての顔写真が1つのZIPフォーマットのファイルに圧縮されていること
圧縮ファイル(ZIP)のサイズが2GB以下であること
写真の品質エラー。取得できる特徴点が少ないため、品質の高い写真を利用してください
人脸质量不合格:有效人脸区域像素过低 Unqualified avatar: Face area size is too small
写真の品質エラー。顔部分のサイズが小さすぎます
人脸质量不合格:俯仰角过大 Unqualified avatar: Pitch angle is too large
写真の品質エラー。顔のピッチが大きすぎます。正面を向いた写真を利用してください
人脸质量不合格:偏转角过大 Unqualified avatar: Yaw angle is too large
写真の品質エラー。顔のヨーが大きすぎます。正面を向いた写真を利用してください
人脸质量不合格:侧倾角过大 Unqualified avatar: Roll angle is too large
写真の品質エラー。顔のロールが大きすぎます。正面を向いた写真を利用してください
人脸质量不合格:人脸距离图片中心过远 Unqualified avatar: Face is too far from the center of the image
写真の品質エラー。顔が写真の中心から離れすぎています
人脸质量不合格:人脸占比过低 Unqualified avatar: Face proportion is too low
写真の品質エラー。写真と顔の比率が小さすぎます
人脸质量不合格:人脸遮挡过多 Unqualified avatar: Face occluded
写真の品質エラー。髪の毛や髭、帽子、物体で顔が隠れています
人脸质量不合格:图片过暗或过亮 Unqualified avatar: Image is too dark or too bright
写真の品質エラー。写真が明るすぎ、もしくは暗すぎます
人脸质量不合格:图片过模糊 Unqualified avatar: Image is too blurry
写真の品質エラー。顔がぼやけています
人脸质量不合格:嘴部过度张开 Unqualified avatar: Mouth is opened too much
写真の品質エラー。口が開いています
人脸质量不合格:面部缺失过多 Unqualified avatar: Too much loss of face
写真の品質エラー。写真に顔が収まっていません
人脸质量不合格
写真の品質エラー
登録者タイプ
概要、他の登録者タイプとの違い
従業員
自社の従業員を登録・管理するためのタイプ
従業員番号、入社日、所属部署など従業員独自の管理項目
一括操作メニューやToolKitによる一括登録や修正
勤怠管理機能との連携
ビジター
来訪者を登録・管理するためのタイプ
期間限定のアクセス権限管理
企業名、来訪目的、受付担当者、ビジターカテゴリー(VIP/一般など)など、ビジター独自の管理項目
拒否リスト
不審者など拒否リスト上の人物を登録・管理するためのタイプ
拒否リスト認証時にドアオープンOn/Offの設定
拒否リスト認証時にデバイス上に独自メッセージ表示
項目
詳細、文字種制限、フォーマット、注意事項など
最小文字数
最大文字数
認証写真
-
-
表示写真
認証時に表示される顔写真。
JPEGまたはPNG形式、約3.8MB
設定しない場合、認証写真が認証時表示用顔写真として表示されます。SensePass V1.2.1、V1.2.3で当機能はサポートされません。認証時は認証写真が表示されます
-
-
氏名
項目
入力可能文字種、フォーマット、注意事項など
最小文字数
最大文字数
認証写真
-
-
表示写真
認証時に表示される顔写真
JPEGまたはPNG形式、約3.8MB
設定しない場合、認証写真が認証時表示用顔写真として表示されます。SensePass V1.2.1、V1.2.3で当機能はサポートされません。認証時は認証写真が表示されます
-
-
氏名
項目
入力可能文字種、フォーマット、注意事項など
最小文字数
最大文字数
認証写真
認証用顔写真。
写真の注意事項は6.2節をご参照ください。
認証写真は登録を行わず内容を保存することは可能ですが、登録を行うまで顔認証は行われません(本人が顔認証を行なっても「未登録者」として検知されます)
-
-
表示写真
認証時表示用顔写真。
JPEGまたはPNG形式、約3.8MB以下
設定しない場合、認証用写真が認証時表示用顔写真として表示されます
SensePass GE V1.2.1、SensePass GE V1.2.3では表示用顔写真をサポートしていません。認証時は認証写真が表示されます
-
-
氏名
No
アカウント名(氏名)
携帯電話番号
エラー詳細
エラー発生したExcel行
エラーが発生した従業員の氏名
エラーが発生した従業員の携帯電話番号
エラーの詳細、エラーメッセージ
レベル
詳細
低
以下の3項目のみ、チェックします。
顔が複数映っていない
写真ファイルのフォーマットがJPEGまたはPNG
写真ファイルのサイズが約3.8MB以下
高
写真のすべての規格項目をチェックします。
エラーメッセージ
メッセージの意味、必要な対処
库中未找到此人 The person does not exist
写真ファイル名に一致する氏名の従業員が登録されていません。写真ファイル名か、登録されている従業員の氏名を確認してください
库中存在同名的人 There is a person with the same name exist
同名の従業員が存在します。写真ファイル名を[氏名].jpg(または.png)から[氏名]+[国別コード付きの携帯電話番号].jpg(またはpng)に変更してください。
従業員に携帯電話番号を登録していない場合は登録してください
人脸质量不合格:未检测到人脸 Unqualified avatar: No faces are detected
写真の品質エラー。写真内に顔が存在しません。顔が1つ写っている写真を登録してください
人脸质量不合格:存在多人脸 Unqualified avatar: Multiple faces are detected
写真の品質エラー。写真内に複数の顔が存在します。顔が1つだけ写っている写真を登録してください
人脸质量不合格:图片尺寸过小 Unqualified avatar: Image size is too small
写真の品質エラー。写真のサイズが小さすぎます。規格に適合するサイズの写真を利用してください
必須項目
入力必須項目
半角英数字、全半角スペース、漢字、ひらがな、カタカナ、全半角記号
入力必須項目です
人脸质量不合格:关键点置信度过低 Unqualified avatar: Alignment score is too low
POST: form-dataリクエストパラメーター
パラメーター名
型
必須
説明
name
string
Yes
グループ名。長さ制限は 45
type
int
Yes
グループタイプ(1 : 従業員グループ、2 : ビジターグループ、5 : 拒否リストグループ)
app_key
通常のレスポンス
レスポンスのフィールド
パラメーター名
型
説明
code
int
リターンコード
message
string
リターンメッセージ
data
object
データ
dataフィールドの説明
パラメーター名
型
説明
id
long
グループID
name
string
グループ名
type
int
グループタイプ
company_id
エラーレスポンスのフィールド
code
メッセージ
エラーの説明
30001
Param Invalid
無効なパラメーターです。登録者グループ名の長さが無効です
30001
Param Invalid
無効なパラメーターです。登録者グループタイプは空にはできません
30001
Param Invalid
無効なパラメーターです。登録者グループタイプが無効です
30001
概要
登録者グループのリストを表示します。デフォルトの順序はID の降順です。
リクエストアドレスの例
https://HOST:PORT/api/v1/group
リクエスト方法
GET
リクエストパラメーター
パラメーター名
型
必須
説明
page
int
No
ページ番号(デフォルトは 1 )
size
int
No
1 ページあたりのデータ数(デフォルトは 20 )
type
通常のレスポンス
レスポンスのフィールド
パラメーター名
型
説明
code
int
リターンコード
message
string
リターンメッセージ
data
object
データ
dataフィールドの説明
パラメーター名
型
説明
total
string
総計
pageNum
string
ページ数
size
string
サイズ
pageSize
data.dataフィールドの説明
パラメーター名
型
説明
id
int
登録者グループの ID
name
string
登録者グループ名
company_id
int
企業 ID
create_at
エラーレスポンスのフィールド
code
メッセージ
説明
30001
Param Invalid
無効なパラメーターです。登録者グループタイプが無効です
30001
Param Invalid
無効なパラメーターです。デバイスが存在しません
50001
RPC FAILED
RPCに失敗しました。デバイスグループリストの取得に失敗しました
概要
グループ ID に基づいてグループ内のすべての登録者のID のリストを取得します。
リクエストアドレスの例
https://HOST:PORT/api/v1/group/user
リクエスト方法
GET
リクエストパラメーター
パラメーター名
型
必須
説明
id
long
Yes
グループID
app_key
string
Yes
Appキー
sign
通常のレスポンス
レスポンスのフィールド
パラメーター名
型
説明
code
int
リターンコード
message
string
リターンメッセージ
data
list<long>
登録者ID
エラーレスポンスのフィールド
code
メッセージ
エラーの説明
620
Record non-existent Error
グループID が存在しません
30001
Param Invalid
無効なパラメーターです
概要
登録者グループを更新します。
v1 インターフェースを引き続きご利用いただくこともできます。詳細な手順については、過去のバージョンのマニュアルをご参照ください。
リクエストアドレスの例
https://HOST:PORT/api/v3/group/update
リクエスト方法
POST application/json
リクエストパラメーター
パラメーター名
型
必須
説明
id
long
Yes
グループID
name
string
No
グループ名
device_ids
認証パラメーター
パラメーター名
型
必須
説明
app_key
string
Yes
Appキー
sign
string
Yes
シグネチャ。1.3.1 シグネチャ(sign)の計算の項を参照してください
timestamp
通常のレスポンス
レスポンスのフィールド
パラメーター名
型
説明
code
int
リターンコード
message
string
リターンメッセージ
desc
string
リターンの説明
data
dataフィールドの説明
パラメーター名
型
説明
id
int
グループ ID
name
string
グループ名
type
int
グループタイプ
devices
device フィールドの説明
パラメーター名
型
説明
id
int
デバイスの ID
name
string
デバイス名
type
int
デバイスタイプ
エラーレスポンスのフィールド
code
メッセージ
説明
30001
Param Invalid
無効なグループ ID など
600
Sync Failed
リモートリクエストエラー
概要
グループを削除します。
リクエストアドレスの例
http://HOST:PORT/api/v1/group/delete/{id}
リクエスト方法
GET
リクエストパラメーター
パラメーター名
型
必須
説明
id
long
Yes
登録者グループの ID
app_key
string
Yes
Appキー
sign
通常のレスポンス
レスポンスのフィールド
パラメーター名
型
説明
code
int
リターンコード。200 はリクエストが成功したことを示します
message
string
リターンメッセージ
エラーレスポンスのフィールド
code
メッセージ
説明
20002
Permission Denied
操作権限がないため、デフォルトのグループを削除できません
30001
Param Invalid
無効なパラメーターです。グループID が存在しません
30001
Param Invalid
無効なパラメーターです。変更グループは企業に属しておりません
50001
概要
登録者を一括でグループに追加します。
リクエストアドレスの例
http://HOST:PORT/api/v1/user/add/group
リクエスト方法
POST: form-data
リクエストパラメーター
パラメーター名
型
必須
説明
groupId
long
Yes
登録者グループの ID
userIds
list<long>
Yes
一括で追加する登録者ID。1回の操作で最大2000人を追加できます
app_key
通常のレスポンス
レスポンスフィールドの説明
パラメーター名
型
説明
code
int
リターンコード
message
string
リターンメッセージ
エラーレスポンスのフィールド
code
メッセージ
説明
620
Record non-existent Error
グループID が存在しません
30001
param-invalid
無効なパラメーターです。2,000 を超える数を一度にグループに追加することはできません
30001
param-invalid
無効なパラメーターです。groupId が空です
30001
概要
グループから一括で登録者を削除します。
リクエストアドレスの例
http://HOST:PORT/api/v1/user/remove/group
リクエスト方法
POST: form-data
リクエストパラメーター
パラメーター名
型
必須
説明
groupId
long
Yes
従業員のグループID
userIds
list<long>
Yes
一括で削除する登録者のID。最大2,000 まで一括で操作できます。
app_key
通常のレスポンス
レスポンスのフィールド
パラメーター名
型
説明
code
int
リターンコード。200 はリクエストが成功したことを示します
message
string
リターンメッセージ
エラーレスポンスのフィールド
code
メッセージ
説明
620
Record non-existent Error
グループID が存在しません
30001
param-invalid
無効なパラメーターです。2,000 を超える数を一度にグループから削除することはできません
30001
param-invalid
無効なパラメーターです。groupId が空です
30001
{
"code": 200,
"message": "OK",
"data": {
"id": 616,
"name": "太朗",
"type": 1,
"company_id": 58,
"create_at": "2018-08-07 18:37:32",
"update_at": "2018-08-07 18:37:32"
}
}{
"code": 200,
"message": "OK",
"data": {
"total": 5,
"pageNum": 1,
"size": 5,
"pageSize": 20,
"totalPage": 1,
"data": [
{
"id": 214,
"name": "Default group",
"type": 1,
"user_number": 1327,
"company_id": 58,
"create_at": "2018-05-28 17:31:32.0",
"update_at": "2018-05-28 17:31:32.0"
},
{
"id": 215,
"name": " Default group",
"type": 2,
"user_number": 0,
"company_id": 58,
"create_at": "2018-05-28 17:31:32.0",
"update_at": "2018-05-28 17:31:32.0"
},
{
"id": 226,
"name": "123",
"type": 1,
"user_number": 1543,
"company_id": 58,
"create_at": "2018-05-30 14:50:17.0",
"update_at": "2018-05-30 14:50:17.0"
},
{
"id": 231,
"name": "ccc",
"type": 1,
"user_number": 4,
"company_id": 58,
"create_at": "2018-06-04 21:52:45.0",
"update_at": "2018-06-04 21:52:53.0"
},
{
"id": 517,
"name": "Test",
"type": 1,
"user_number": 2,
"company_id": 58,
"create_at": "2018-07-02 21:14:41.0",
"update_at": "2018-07-02 21:14:41.0"
}
]
}
}{
"code": 200,
"message": "OK",
"data": [
1014,
1241,
2896,
5124,
5125,
5126,
5127
]
}{
"code": 200,
"message": "OK",
"desc": "",
"data": {
"id": 253,
"name": "zml2",
"type": 1,
"devices": [{
"id": 268,
"name": "q",
"type": 0
}],
"is_default": 0
}
}
{
"code": 200,
"message": "OK"
}
{
"code": 200,
"message": "OK"
}{
"code": 200,
"message": "OK"
}
string
Yes
Appキー
sign
string
Yes
シグネチャ。1.3.1 シグネチャ(sign)の計算の項を参照してください
timestamp
string
Yes
タイムスタンプ
long
企業ID
create_at
string
作成時間
update_at
string
前回の変更時間
Param Invalid
無効なパラメーターです。登録者グループ名はすでに存在します
50001
RPC FAILED
RPCに失敗しました。グループ作成に失敗しました
50002
Internal Server Error
内部システムエラーです。グループ作成に失敗しました
int
No
登録者グループタイプ。1:従業員、2:ビジター、5:拒否リスト
deviceId
long
No
デバイスの ID
groupIds
list<long>
No
グループID
app_key
string
Yes
Appキー
sign
string
Yes
シグネチャ。1.3.1 シグネチャ(sign)の計算の項を参照してください
timestamp
string
Yes
タイムスタンプ
string
ページサイズ
totalPage
string
ページ合計
data
object
データ
string
作成時間
update_at
string
更新時間
type
int
登録者グループタイプ
user_number
int
グループ内の人数
string
Yes
シグネチャ。1.3.1 シグネチャ(sign)の計算の項を参照してください
timestamp
string
Yes
タイムスタンプ
list<long>
No
デバイスID リスト
string
Yes
タイムスタンプ
object
データ
list<device>
デバイス
is_default
int
デフォルトのグループかどうかの識別
string
Yes
シグネチャ。1.3.1 シグネチャ(sign)の計算の項を参照してください
timestamp
string
Yes
タイムスタンプ
RPC FAILED
RPCに失敗しました。グループの削除に失敗しました
string
Yes
Appキー
sign
string
Yes
シグネチャ。1.3.1 シグネチャ(sign)の計算の項を参照してください
timestamp
string
Yes
タイムスタンプ
param-invalid
無効なパラメーターです。登録者の userId array が空です
30001
param-invalid
無効なパラメーターです。登録者とグループタイプが一致しません
50001
RPC FAILED
RPCに失敗しました。一括登録者追加に失敗しました
string
Yes
Appキー
sign
string
Yes
シグネチャ。1.3.1 シグネチャ(sign)の計算の項を参照してください
timestamp
string
Yes
タイムスタンプ
param-invalid
無効なパラメーターです。登録者の userId array が空です
30001
param-invalid
無効なパラメーターです。登録者とグループタイプが一致しません
50001
RPC FAILED
RPCに失敗しました。グループからの登録者の一括削除に失敗しました
外部システムはSenseLinkのサブスクリプションサービスを利用することで、SenseLinkのイベントをサブスクライブすることができます。SenseLinkはデバイスの認証とアラート(以下、「イベント」)をPOSTリクエスト(以下、「Push」)することができます。
イベントをサブスクライブする外部システムのAPIエンドポイントは、SenseLinkのWeb UIのナビゲーションメニュー [システム管理]→[Open Platform] 内の サブスクリプションサービスステータス欄、もしくは本マニュアル内のAPIで設定および更新することができます。
サブスクリプションサービス設定画面が表示されます。
イベント処理サーバーアドレスの欄に、連携する外部システムのサーバーアドレスを入力してください。http、httpsをサポートしています。https://またはhttps://から入力してください。
サブスクリプションイベントタイプ欄では、サブスクライブするイベントのタイプを選んでください。デバイスで認証が行われた際に認証レコードをPushで受け取るには認証レコードを、デバイスアラートが発生した場合にPushで受け取るにはデバイスアラートを選択してください。両方を選択することも可能です。
設定が完了したら、保存ボタンをクリックしてください。Open Platform画面に戻ります。 サブスクリプションサービスステータスがNormalと表示されていれば、イベントがサブスクライブされています。
サブスクリプションサービスの設定を変更するにはサブスクリプションサービス欄の詳細ボタンをクリックしてください。
サブスクリプションサービスを停止するにはサブスクリプション停止ボタンをクリックしてください。サービスが停止され、外部システムにイベントがPushされなくなります。
サブスクリプションサービスの設定を修正するには、サブスクリプション更新ボタンをクリックしてください。設定内容を変更できます。変更内容を入力後、保存してください。
イベントのPush後、外部システムは100秒以内にレスポンスを返却するか、リターンコード200を返却する必要があります。
レスポンスが100秒以内に返却されない場合、またはリターンコードが200以外の場合はエラーとみなされ、SenseLinkはそのイベントを再Pushしません。その後SenseLinkは外部システムのサブスクリプションステータスを「異常」に変更し、エラーログとして保存されます。ただし、その後発生した新しいイベントのPushには影響はありません。
なお、レスポンスが100秒以内に返却された、かつリターンコードが200になった場合、サブスクリプションステータスは「正常」に戻ります。
Open Platform画面のサブスクリプションサービスステータス欄の詳細をクリックし、サブスクリプションサービスの設定画面にあるログボタンをクリックすると、最新のイベントPushの結果(以下、「ログ」)を確認することができます。
ログは最大100件まで保存され、100を越えると古いものから順に削除されます。各ログの詳細ボタンをクリックすると認証レコードページまたはデバイスアラートページに遷移し、イベントの詳細を確認することができます。 イベントタイプまたはステータスで、ログを検索することができます。リセットボタンをクリックすると検索による絞り込みがリセットされ、すべてのログが表示されます。
テストイベント送信ボタンをクリックすると、テストイベントを連携中の外部システムにPush することができます。 認証レコードとデバイスアラートが選択されている場合、または認証レコードのみが選択されている場合は認証レコードのテストイベントが送信されます。 デバイスアラートのみが選択されている場合、デバイスアラートのテストイベントが送信されます。
POST application/json
認証レコード :
デバイスアラート :
認証レコードデータの属性 :
group フィールドの説明
デバイスのアラートレコードのデータ属性 :
レスポンスのフィールド
概要
イベントのサブスクリプションを追加または更新します。
過去のバージョンを引き続きご利用いただくこともできます。詳細な手順については、過去のバージョンのマニュアルをご参照ください。
リクエストアドレスの例
https://HOST:PORT/api/v4/event/updateSub
リクエスト方法
POST application/json
リクエストパラメーター
認証パラメーター
通常のレスポンス
レスポンスのフィールド
dataフィールドの説明
エラーレスポンスのフィールド
概要
イベントのサブスクリプションを停止します。
リクエストアドレスの例
https://HOST:PORT/api/v3/event/stopSub
リクエスト方法
GET
認証パラメーター
通常のレスポンス
レスポンスのフィールド
エラーレスポンスのフィールド
概要
サブスクリプションの詳細を表示します。
リクエストアドレスの例
https://HOST:PORT/api/v4/event/viewSub
リクエスト方法
GET
認証パラメーター
通常のレスポンス
レスポンスのフィールド
dataフィールドの説明
エラーレスポンスのフィールド
概要
イベントのPushログを表示します。
サブスクリプションサービスが起動されなくても、該当するAPIを使って前に生成されたログを取得できます。
リクエストアドレスの例
https://HOST:PORT/api/v3/event/viewLog
リクエスト方法
GET
認証パラメーター
通常のレスポンス
レスポンスのフィールド
dataフィールドの説明
エラーレスポンスのフィールド
概要
テストイベントをPush送信します。
リクエストアドレスの例
https://HOST:PORT/api/v3/event/sendTest
リクエスト方法
GET
認証パラメーター
通常のレスポンス
レスポンスのフィールド
エラーレスポンスのフィールド


























アカウントID (必須)
テナントID(オプション)
Yes
イベント発生時刻(デバイス時間)
data
object
Yes
イベントの対象
ユーザーの識別子タイプ
avatar
string
認証用顔写真
direction
int
デバイスのアクセス方向
verifyScore
float
認証スコア
receptionUserId
int
認証されたユーザーの応対者の ID
receptionUserName
string
認証されたユーザーの応対者の名前
groups
list<group>
認証されたユーザーのグループ情報
deviceName
string
デバイス名
sn
string
この認証レコードのデバイス LDID 番号をアップロードします
signDate
string
認証レコードの日付
signTime
timestamp
認証時間(秒)
signAvatar
string
認証時写真(サムネイル)
signBgAvatar
string
認証時写真(大)
companyId
long
企業ID
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 写真
latitude
double
緯度
longitude
double
経度
address
string
住所
location
string
デバイスの設置場所
abnormalType
int
認証レコードの異常のタイプ。0:なし、10001:IDカード不一致、10002:認証カード不一致、10003:認証コード不一致、20001:ビジターが有効期限外、20002:アクセス期限内ではない、30001:無効な ID カード、30002:無効な IC カード、30003:無効な QR コード、40001:異常な体温、50001:マスク着用なし
userIcNumber
userIdNumber
(利用できません)
bodyTemperature
float
体温
mask
int
マスク着用識別子。0:不明、1:着用なし、2:着用あり
アラート時間
level
int
アラートレベル。1:アラート、2:異常
deviceId
long
デバイスの ID
deviceSn
string
デバイスの LDID
deviceLocation
string
デバイスの設置場所
deviceName
string
デバイス名
resloveOption
int
アラートの解除オプション。0:解除不要、1:デバイスエンドでの解除のみをサポート、2:リモート解除のみをサポート、3:デバイスエンドまたはリモートでの解除
0:解除不要、10004:パスワードクラッキング、20002:Non-Living アタック(非生体による認証)、30001:デバイスオフラインアラート
1:デバイスエンドでの解除のみをサポート、10003:ドアセンサータイムアウト、20001:カメラの汚れ、10005 :(サポートされないアラートです。現在利用できません)、10006:サーモグラフィカメラ接続異常
3:デバイスエンドまたはリモートでの解除、10001:デバイスの盗難アラート、10002:ドア・ゲート強制突破アラート、20003:消防アラート
alarmPhoto
string
アラート写真
companyID
long
企業ID
description
string
アラートの説明
releaseTime
string
アラートの解除時間
status
int
アラートのステータス。1:アラート作動中、2:解除中、3:解除済み
No
リターンの説明
data
object
No
データ
Yes
イベントをサブスクライブする外部システムのサーバーアドレスを指定します。restful コールバックを利用し、http および https をサポートしています。スタイルは、 または で、 最大 1,024 文字です。外部システムのサーバーアドレスは指定された仕様に基づいて申請したパーティーから提供されます。外部システムのインターフェースの認証は必要ありません
空の値で登録しないでください
Yes
タイムスタンプ
データ
サブスクリプションサービスのステータスです。0:構成されていません、1:正常、2:異常(最後のPushステータスに基づく)
Yes
タイムスタンプ
データ
Yes
タイムスタンプ
データ
サブスクリプションサービスのステータスです。0:構成されていません、1:正常、2:異常(最後のPushステータスに基づく)
Yes
タイムスタンプ
リターンデータです。イベントサブスクリプションの詳細です
Pushメッセージ本体
Yes
タイムスタンプ
リターンデータ
パラメーター名
型
必須
説明
messageId
string
Yes
イベントの固有の識別子
eventType
string
Yes
30000:認証レコード、30100:デバイスアラート
sendTime
パラメーター名
型
説明
id
int
レコード ID
userId
int
認証されたユーザーの ID
name
string
認証されたユーザーの名前
type
パラメーター名
型
説明
id
long
グループID
name
string
グループ名
type
int
グループタイプです。1:従業員グループ、2:ビジターグループ、5:拒否リストグループ
パラメーター名
型
説明
id
long
アラートレコードのID
traceId
string
アラートのシリアル番号。デバイスによって生成されるアラート固有の識別番号です。
code
int
アラートのタイプ。10001:デバイスの盗難アラート、10002:ドア・ゲート強制突破アラート、10003:ドアセンサータイムアウト、10004:パスワードクラッキング、10005 :(サポートされないアラートです。現在利用できません)、10006:サーモグラフィカメラ接続異常、20001:カメラの汚れ、20002:Non-Living アタック(非生体による認証)、20003:消防アラート、30001:デバイスオフラインアラート、40001:特徴量抽出エラー
alarmTime
パラメーター名
型
必須
説明
code
int
Yes
リターンコード。200 は成功を示し、その他のコードは失敗を示します
message
string
Yes
リターン情報です。インターフェース実行情報を記録します。success は成功の情報を示し、その他は失敗を示します
desc
パラメーター名
型
必須
説明
recognition_records_types
list<int>
Yes
認証レコードの異常のタイプ。0 - 正常な認証レコード、10001:IDカード不一致、10002:認証カード不一致、10003:認証コード不一致、20001:ビジターが有効期限外、20002:アクセス期限内ではない、30001:無効な ID カード、30002:無効な IC カード、30003:無効な QR コード、40001:異常な体温、50001:マスク着用なし
device_alarm_types
list<int>
Yes
アラートのタイプ。10001:デバイスの盗難アラート、10002:ドア・ゲート強制突破アラート、10003:ドアセンサータイムアウト、10004:パスワードクラッキング、10005:(サポートされないアラートです。現在利用できません)、10006:サーモグラフィカメラ接続異常、20001:カメラの汚れ、20002:Non-Living アタック(非生体による認証)、20003:消防アラート、30001:デバイスオフラインアラート、40001:特徴量抽出エラー
event_dest
パラメーター名
型
必須
説明
app_key
string
Yes
Appキー
sign
string
Yes
シグネチャ。1.3.1 シグネチャ(sign)の計算の項を参照してください。
timestamp
パラメーター名
型
説明
code
int
リターンコード。200 は成功を示し、その他のコードは失敗を示します
message
string
リターン情報です。インターフェース実行情報を記録します。success は成功の情報を示し、その他は失敗を示します
desc
string
リターンの説明
data
パラメーター名
型
説明
recognition_records_types
list<int>
認識レコードタイプの配列
device_alarm_types
list<int>
デバイスアラートの配列
event_dest
string
イベントをサブスクライブする外部システムのサーバーアドレス
sub_status
code
メッセージ
説明
60001
openapi status error
OpenAPI 機能のステータスが利用可能であることをご確認ください(「利用中」または「変更のレビュー待ち」)
パラメーター名
型
必須
説明
app_key
string
Yes
Appキー
sign
string
Yes
シグネチャ。1.3.1 シグネチャ(sign)の計算の項を参照してください
timestamp
パラメーター名
型
説明
code
int
リターンコード。200 は成功を示し、その他のコードは失敗を示します
message
string
リターン情報です。インターフェース実行情報を記録します。success は成功の情報を示し、その他は失敗を示します
desc
string
リターンの説明
data
code
メッセージ
説明
60001
openapi status error
OpenAPI 機能のステータスが利用可能であることをご確認ください(「利用中」または「変更のレビュー待ち」)
60002
not config event sub
サブスクリプションサービスが構成されていません
パラメーター名
型
必須
説明
app_key
string
Yes
Appキー
sign
string
Yes
シグネチャ。1.3.1 シグネチャ(sign)の計算の項を参照してください。
timestamp
パラメーター名
型
説明
code
int
リターンコード。200 は成功を示し、その他のコードは失敗を示します
message
string
リターン情報です。インターフェース実行情報を記録します。success は成功の情報を示し、その他は失敗を示します
desc
string
リターンの説明
data
パラメーター名
型
説明
recognition_records_types
list<int>
認証レコードの異常のタイプ。0 - 正常な認証レコード、10001:IDカード不一致、10002:認証カード不一致、10003:認証コード不一致、20001:ビジターが有効期限外、20002:アクセス期限内ではない、30001:無効な ID カード、30002:無効な IC カード、30003:無効な QR コード、40001:異常な体温、50001:マスク着用なし
device_alarm_types
list<int>
アラートのタイプ。10001:デバイスの盗難アラート、10002:ドア・ゲート強制突破アラート、10003:ドアセンサータイムアウト、10004:パスワードクラッキング、10005:(サポートされないアラートです。現在利用できません)、10006:サーモグラフィカメラ接続異常、20001:カメラの汚れ、20002:Non-Living アタック(非生体による認証)、20003:消防アラート、30001:デバイスオフラインアラート、40001:特徴量抽出エラー
event_dest
string
イベントをサブスクライブする外部システムのサーバーアドレス
sub_status
コード
メッセージ
説明
60001
openapi status error
OpenAPI 機能のステータスが利用可能であることをご確認ください(「利用中」または「変更のレビュー待ち」)
60002
not config event sub
サブスクリプションサービスが構成されていません
パラメーター名
型
必須
説明
app_key
string
Yes
Appキー
sign
string
Yes
シグネチャ。1.3.1 シグネチャ(sign)の計算の項を参照してください
timestamp
パラメーター名
型
説明
code
int
リターンコード。200 は成功を示し、その他のコードは失敗を示します
message
string
リターン情報です。インターフェース実行情報を記録します。success は成功の情報を示し、その他は失敗を示します
desc
string
リターンの説明
data
パラメーター名
型
説明
push_time
string
Push時間
status
int
リターンステータスです。200:成功、404:サーバー応答不可、500 : 内部例外
event_type_id
int
イベントタイプの ID です。30000:認証レコード、30100:アラートPush
event_message
コード
メッセージ
説明
60001
openapi status error
OpenAPI 機能のステータスが利用可能であることをご確認ください(「利用中」または「変更のレビュー待ち」)
60002
not config event sub
サブスクリプションサービスが構成されていません
パラメーター名
型
必須
説明
app_key
string
Yes
Appキー
sign
string
Yes
シグネチャ。1.3.1 シグネチャ(sign)の計算の項を参照してください
timestamp
パラメーター名
型
説明
code
int
リターンコード。200 は成功を示し、その他のコードは失敗を示します
message
string
リターン情報です。インターフェース実行情報を記録します。success は成功の情報を示し、その他は失敗を示します
desc
string
リターンの説明
data
コード
メッセージ
説明
60001
openapi status error
OpenAPI 機能のステータスが利用可能であることをご確認ください (「利用中」または「変更のレビュー待ち」)
60002
not config event sub
サブスクリプションサービスが構成されていません
string
int
string
string
string
string
object
int
string
object
string
object
int
string
object
string
string
object
{
messageId: '75835750-6dd9-4eed-a929-ba1b4c062405',
eventType: 30000,
sendTime: 1583726626015,
data: {
id: 120260,
userId: 30707,
name: '次郎',
type: 1,
avatar: '5e65c020f54fd90001fe4a33',
direction: 0,
verifyScore: 0,
receptionUserId: 0,
receptionUserName: '',
groups: [ { id: 1, name: 'Default group', type: 1 } ],
deviceName: 'SenseTest',
sn: 'SPS-e33b1811dbd9189c5eeedffd557fd779',
signDate: '2020-03-09',
signTime: 1583726625,
signAvatar: '5e65c021f54fd90001fe4a37',
signBgAvatar: '5e65c021f54fd90001fe4a38',
companyId: 1,
mobile: '18014398265',
icNumber: '',
idNumber: '',
jobNumber: '3867452109',
remark: 'welcome',
entryMode: 1,
signTimeZone: '+08:00',
docPhoto: '',
latitude: 0,
longitude: 0,
address: '',
location: 'SZ-40F',
abnormalType: 40001,
userIcNumber: '4751283096',
userIdNumber: '1g2qW2hz5OwbudHe5gekKbZtmUt0Xwfy',
bodyTemperature: 38,
mask: 1
}
}{
messageId: '5ee92a0e-7c6b-416c-8843-54a154a3a409',
eventType: 30100,
sendTime: 1583726801752,
data:
{
id: 35569,
traceId: '1583726800000',
code: 10001,
alarmTime: '2020-03-09 12:06:40',
level: 1,
deviceId: 204,
deviceSn: 'SPS-e33b1811dbd9189c5eeedffd557fd779',
deviceLocation: 'SZ-40F',
deviceName: 'SenseTest',
resloveOption: 3,
alarmPhoto: '5e65c0d1f54fd90001fe4a39',
companyId: 1,
description: 'Device removal',
releaseTime: '',
status: 3
}
}{
"code": 200,
"message": "success",
"desc": "",
"data": {}
}{
"code":200,
"message":"OK",
"data":{
"recognition_records_types":[
0,
10001,
10002
],
"device_alarm_types":[
20003,
30001,
40001
],
"event_dest":"https://ip:port/eventRcv",
"sub_status":1
}
}{
"code": 200,
"message": "success",
"desc": "",
"data": {}
}{
"code": 200,
"message": "success",
"desc": "",
"data": {
"recognition_records_types": [
50001,
40001
],
"device_alarm_types": [
10001,
10002
],
"event_dest": "https://ip:port/eventRcv",
"sub_status": 1
}
}{
"code": 200,
"message": "success",
"desc": "",
"data": {
"pushTime": "2019-10-11 00:00:00",
"status": 200,
"eventTypeId": 30000,
"eventMessage": {}
}
}{
"code": 200,
"message": "success",
"desc": "",
"data": {}
}概要
認証レコードを表示します。
v3、v4のインターフェースを引き続きご利用いただくこともできます。詳細な手順については、過去のバージョンのマニュアルをご参照ください。
リクエストアドレスの例
https://HOST:PORT/api/v5/record/list
リクエスト方法
GET
リクエストパラメーター
認証パラメーター
通常のレスポンス
レスポンスのフィールド
dataフィールドの説明
recordItem フィールドの説明
group フィールドの説明
概要
認証レコードを表示します。
v3のインターフェースを引き続きご利用いただくこともできます。詳細な手順については、過去のバージョンのマニュアルをご参照ください。
リクエストアドレスの例
https://HOST:PORT/api/v4/record/list
リクエスト方法
GET
リクエストパラメーター
認証パラメーター
通常のレスポンス
レスポンスのフィールド
dataフィールドの説明
recordItem フィールドの説明
group フィールドの説明
概要
認証レコードを表示します。
リクエストアドレスの例
https://HOST:PORT/api/v3/record/list
リクエスト方法
GET
リクエストパラメーター
認証パラメーター
通常のレスポンス
レスポンスのフィールド
dataフィールドの説明
data.dataフィールドの説明
recordItem フィールドの説明
group フィールドの説明










No
並び順。0 : レコードIDで降順、1 : レコードIDで昇順
page
int
No
ページ番号(デフォルトは 1 です)
size
int
No
1 ページあたりのデータの数(デフォルトは 20)。最大値は 100
Yes
タイムスタンプ
経度
address
string
住所
location
string
勤務地
mobile
string
携帯電話番号
remark
string
特記事項
groups
list<group>
グループ
capture_picture
string
認証時にデバイスが撮影した写真(サムネイル)の ID
capture_bg_picture
string
認証時にデバイスが撮影した写真(大)の ID
avatar
string
認証用顔写真
heat_avatar
string
認証時にデバイスが撮影したサーマル画像
user_id
int
登録者 ID
user_name
string
登録者名
user_type
int
登録者タイプ
group_id
int
グループ ID
group_name
string
グループ名
device_name
string
デバイス名
device_ldid
string
デバイス LDID
sign_time
string
認証時間
entry_mode
int
認証モード
sign_time_zone
string
タイムゾーン
verify_score
float
認証スコア
mis_id
int
誤認証 ID
mis_type
int
誤認証タイプ
doc_photo
string
ID カード写真(利用できません)
ic_number
string
IC カード番号
id_number
string
ID カード番号読み込み(利用できません)
abnormal_type
int
異常レコードタイプ 0:なし、10001:IDカード不一致、10002:認証カード不一致、10003:認証コード不一致、20001:ビジターが有効期限外、20002:アクセス時間外、30001:無効な ID カード、30002:無効な IC カード、30003:無効な QR コード、40001:体温が異常、50001:マスク着用無し
job_number
string
従業員ID
user_ic_number
string
登録者 IC カード番号
user_id_number
string
登録者 ID 番号
reception_user_id
long
受付担当者 ID
reception_user_name
string
受付担当者名
user_remark
string
登録者コメント
sign_date
string
認証日
body_temperature
float
体温
mask
int
マスク着用識別子。0:不明、1:着用なし、2:着用あり
No
並び順。0 : レコードIDで降順、1 : レコードIDで昇順
page
int
No
ページ番号(デフォルトは 1 です)
size
int
No
1 ページあたりのデータの数(デフォルトは 20)。最大値は 100
Yes
タイムスタンプ
経度
address
string
住所
location
string
勤務地
mobile
string
携帯電話番号
remark
string
特記事項
groups
list<group>
グループ
capture_picture
string
認証時にデバイスが撮影した写真(サムネイル)の ID
capture_bg_picture
string
認証時にデバイスが撮影した写真(大)の ID
avatar
string
認証用顔写真
heat_avatar
string
認証時にデバイスが撮影したサーマル画像
user_id
int
登録者 ID
user_name
string
登録者名
user_type
int
登録者タイプ
group_id
int
グループ ID
group_name
string
グループ名
device_name
string
デバイス名
device_ldid
string
デバイス LDID
sign_time
string
認証時間
entry_mode
int
認証モード
sign_time_zone
string
タイムゾーン
verify_score
float
認証スコア
mis_id
int
誤認証 ID
mis_type
int
誤認証タイプ
doc_photo
string
ID カード写真(利用できません)
ic_number
string
IC カード番号
id_number
string
ID カード番号読み込み(利用できません)
abnormal_type
int
異常レコードタイプ 0:なし、10001:IDカード不一致、10002:認証カード不一致、10003:認証コード不一致、20001:ビジターが有効期限外、20002:アクセス時間外、30001:無効な ID カード、30002:無効な IC カード、30003:無効な QR コード、40001:体温が異常、50001:マスク着用無し
job_number
string
従業員ID
user_ic_number
string
登録者 IC カード番号
user_id_number
string
登録者 ID 番号
reception_user_id
long
受付担当者 ID
reception_user_name
string
受付担当者名
user_remark
string
登録者コメント
sign_date
string
認証日
body_temperature
float
体温
mask
int
マスク着用識別子。0:不明、1:着用なし、2:着用あり
No
デバイスシリアル番号
type
int
No
タイプ:{ 1:従業員、2:ビジター、3:未登録人物、 5 : 拒否リスト}
user_id
long
No
登録者ID
date_time_from
string
No
ローカル時間の開始日。デフォルト値は現在の日付の 0 時。例 : 2018-07-20 12:30:45
date_time_to
string
No
ローカル時間の終了日。デフォルト値は現在の日付の 23:59:59。例 : 2019-07-20 12:30:45
name
string
No
登録者名
page
int
No
ページ番号(デフォルトは 1 です)
size
int
No
1 ページあたりのデータの数(デフォルトは 20)。最大値は 100
entry_mode
int
No
認証モード(1:顔認証、2:QR コード、3:カード、4:顔認証とカード、5 : ID カード、6:顔認証と ID カード) 1:顔認証のみ利用できます
user_id
long
No
登録者ID
group_id
long
No
グループID
mis_type
int
No
誤認証タイプ。1:別の人物、2:未登録人物、3:非生体、4:未登録人物からの攻撃、5:非生体からの攻撃
abnormal_types
int
No
認証レコードの以上検知タイプ。0:なし、10001:IDカード不一致、10002:認証カード不一致、10003:認証コード不一致、20001:ビジターが有効期限外、20002:アクセス時間外、30001:無効な ID カード、30002:無効な IC カード、30003:無効な QR コード、40001:体温が異常、50001:マスク着用無し
Yes
タイムスタンプ
現在のページ番号
page_size
int
ページサイズ
total_page
int
ページ合計
未登録者レコードの数
record_list
list<recordItem>
認証レコード
経度
address
string
住所
location
string
勤務地
mobile
string
携帯電話番号
remark
string
特記事項
groups
list<group>
グループ
capture_picture
string
認証時にデバイスが撮影した写真(サムネイル)の ID
capture_bg_picture
string
認証時にデバイスが撮影した写真(大)の ID
avatar
string
認証用顔写真
heat_avatar
string
認証時にデバイスが撮影したサーマル画像
user_id
int
登録者 ID
user_name
string
登録者名
user_type
int
登録者タイプ
group_id
int
グループ ID
group_name
string
グループ名
device_name
string
デバイス名
device_ldid
string
デバイス LDID
sign_time
string
認証時間
entry_mode
int
認証モード
sign_time_zone
string
タイムゾーン
verify_score
float
認証スコア
mis_id
int
誤認証 ID
mis_type
int
誤認証タイプ
doc_photo
string
ID カード写真(利用できません)
ic_number
string
IC カード番号
id_number
string
ID カード番号読み込み(利用できません)
abnormal_type
int
異常レコードタイプ 0:なし、10001:IDカード不一致、10002:認証カード不一致、10003:認証コード不一致、20001:ビジターが有効期限外、20002:アクセス時間外、30001:無効な ID カード、30002:無効な IC カード、30003:無効な QR コード、40001:体温が異常、50001:マスク着用無し
job_number
string
従業員ID
user_ic_number
string
登録者 IC カード番号
user_id_number
string
登録者 ID 番号
reception_user_id
long
受付担当者 ID
reception_user_name
string
受付担当者名
user_remark
string
登録者コメント
sign_date
string
認証日
body_temperature
float
体温
mask
int
マスク着用識別子。0:不明、1:着用なし、2:着用あり
パラメーター名
型
必須
説明
date_time_from
string
No
サーバー時間の作成開始日。デフォルト値は現在の日付の 0 時。例 : 2018-07-20 12:30:45
date_time_to
string
No
サーバー時間の作成終了日。デフォルト値は現在の日付の 23:59:59。例 : 2019-07-20 12:30:45
order
パラメーター名
型
必須
説明
app_key
string
Yes
Appキー
sign
string
Yes
シグネチャ。1.3.1 シグネチャ(sign)の計算の項を参照してください
timestamp
パラメーター名
型
説明
code
int
リターンコード
message
string
リターンメッセージ
data
object
データ
パラメーター名
型
説明
list
list<recordItem>
認証レコード詳細
page_num
int
ページ番号(デフォルトは 1 です)
page_size
int
1 ページあたりのデータの数(デフォルトは 20)。最大値は 100
パラメーター名
型
説明
id
int
認証レコード ID
direction
int
デバイスのアクセス方向
latitude
double
緯度
longitude
パラメーター名
型
説明
id
long
グループID
name
string
グループ名
type
int
グループタイプ
パラメーター名
型
必須
説明
date_time_from
string
No
サーバー時間の作成開始日。デフォルト値は現在の日付の 0 時。例 : 2018-07-20 12:30:45
date_time_to
string
No
サーバー時間の作成終了日。デフォルト値は現在の日付の 23:59:59。例 : 2019-07-20 12:30:45
order
パラメーター名
型
必須
説明
app_key
string
Yes
Appキー
sign
string
Yes
シグネチャ。1.3.1 シグネチャ(sign)の計算の項を参照してください
timestamp
パラメーター名
型
説明
code
int
リターンコード
message
string
リターンメッセージ
data
object
データ
パラメーター名
型
説明
list
list<recordItem>
認証レコード詳細
total
int
認証レコード合計数
パラメーター名
型
説明
id
int
認証レコード ID
direction
int
デバイスのアクセス方向
latitude
double
緯度
longitude
パラメーター名
型
説明
id
long
グループID
name
string
グループ名
type
int
グループタイプ
パラメーター名
型
必須
説明
start_record_id
long
No
認証レコード の開始ID
end_record_id
long
No
認証レコード の終了ID
device_sn
パラメーター名
型
必須
説明
app_key
string
Yes
Appキー
sign
string
Yes
シグネチャ。1.3.1 シグネチャ(sign)の計算の項を参照してください
timestamp
パラメーター名
型
説明
code
int
リターンコード
message
string
リターンメッセージ
data
object
データ
パラメーター名
型
説明
total
int
総計
size
int
容量
data
object
認証レコードの情報
page_num
パラメーター名
型
説明
total
int
総計
user_count
int
従業員レコードの数
guest_count
int
ビジターレコードの数
stranger_count
パラメーター名
型
説明
id
int
認証レコード ID
direction
int
デバイスのアクセス方向
latitude
double
緯度
longitude
パラメーター名
型
説明
id
long
グループID
name
string
グループ名
type
int
グループタイプ
int
string
double
int
string
double
string
string
int
int
double
{
"code": 200,
"message": "OK",
"data": {
"list": [{
"id": 1392523,
"direction": 0,
"latitude": null,
"longitude": null,
"address": null,
"location": "6488+",
"remark": null,
"groups": [],
"mobile": null,
"mask": 0,
"capture_picture": "5fceef6e1ddb2800010d1409",
"capture_bg_picture": "5fceef6e1ddb2800010d140a",
"avatar": "",
"heat_avatar": null,
"user_id": 0,
"user_name": "",
"user_type": 3,
"group_id": null,
"group_name": null,
"device_name": "6488+",
"device_ldid": "SPSE-6b394fa48b464d54e41f3f1895178fb0",
"sign_time": 1607397229,
"country_code": null,
"place_code": null,
"on_business": 0,
"entry_mode": 1,
"sign_time_zone": "GMT+09:00",
"user_group": null,
"verify_score": 0.359,
"mis_id": null,
"mis_type": null,
"doc_photo": "",
"ic_number": "",
"id_number": "",
"abnormal_type": 0,
"job_number": null,
"user_ic_number": null,
"user_id_number": "",
"reception_user_id": null,
"reception_user_name": "",
"sign_date": "2020-12-08",
"user_remark": null,
"body_temperature": 0.0
}],
"page_num": 2,
"page_size": 10
}
}{
"code": 200,
"message": "OK",
"data": {
"list" : [
{
"id": 1361801,
"direction": 0,
"latitude": null,
"longitude": null,
"address": null,
"location": "306lsh",
"remark": null,
"mobile": "",
"groups": [
{
"id": 1,
"name": "default group",
"type": 1,
"devices": null,
"is_default": null
}
],
"capture_picture": "5d886e584bb1c40001ad458e",
"capture_bg_picture": "5d886e584bb1c40001ad458f",
"avatar": "5d7a680a4bb1c40001ac80f6",
"heat_avatar":null,
"user_id": 100100,
"user_name": "xlp update",
"user_type": 1,
"group_id": null,
"group_name": null,
"device_name": "lsh02",
"device_ldid": "SPS-257bfefb52b1b88237d195c1ad944063",
"sign_time": 1569222232,
"country_code": null,
"place_code": null,
"on_business": 0,
"entry_mode": 1,
"sign_time_zone": "GMT+08:00",
"verify_score": null,
"mis_id": null,
"mis_type": null,
"doc_photo": "",
"ic_number": "",
"id_number": "",
"abnormal_type": null,
"job_number": "",
"user_ic_number": "",
"user_id_number": "",
"reception_user_id": 0,
"reception_user_name": "",
"sign_date": "2019-11-26",
"user_remark": "",
"body_temperature": 37.3,
"mask":1
}
],
"total" : 19
}
}{
"code": 200,
"message": "OK",
"data": {
"total": 118,
"size": 3,
"data": {
"total": 118,
"user_count": 35,
"guest_count": 0,
"stranger_count": 65,
"record_list": [
{
"id": 1361801,
"direction": 0,
"latitude": null,
"longitude": null,
"address": null,
"location": "306lsh",
"remark": null,
"mobile": "",
"groups": [
{
"id": 1,
"name": "Default group",
"type": 1,
"devices": null,
"is_default": null
}
],
"capture_picture": "5d886e584bb1c40001ad458e",
"capture_bg_picture": "5d886e584bb1c40001ad458f",
"avatar": "5d7a680a4bb1c40001ac80f6",
"heat_avatar":null,
"user_id": 100100,
"user_name": "Liping Xiao アップデート",
"user_type": 1,
"group_id": null,
"group_name": null,
"device_name": "lsh02",
"device_ldid": "SPS-257bfefb52b1b88237d195c1ad944063",
"sign_time": 1569222232,
"country_code": null,
"place_code": null,
"on_business": 0,
"entry_mode": 1,
"sign_time_zone": "GMT+08:00",
"verify_score": null,
"mis_id": null,
"mis_type": null,
"doc_photo": "",
"ic_number": "",
"id_number": "",
"abnormal_type": null,
"job_number": "",
"user_ic_number": "",
"user_id_number": "",
"reception_user_id": 0,
"reception_user_name": "",
"sign_date": 2019-11-26",
"user_remark": "",
"body_temperature": 37.3,
"mask":1
}
}
]
},
"page_num": 1,
"page_size": 3,
"total_page": 40
}
}概要
タイムテーブルを追加します。
リクエストアドレスの例
https://HOST:PORT/api/v3/pass/timetable
リクエスト方法
POST application/json
リクエストパラメーター
Time フィールドの説明
Special_day フィールドの説明
認証パラメーター
通常のレスポンス
レスポンスのフィールド
dataフィールドの説明
time フィールドの説明
special_day フィールドの説明
エラーレスポンスのフィールド
概要
タイムテーブルを削除します。
リクエストアドレスの例
https://HOST:PORT/api/v3/pass/timetable/delete
リクエスト方法
GET
リクエストパラメーター
認証パラメーター
通常のレスポンス
レスポンスのフィールド
エラーレスポンスのフィールド
概要
タイムテーブルを更新します。
リクエストアドレスの例
https://HOST:PORT/api/v3/pass/timetable/update
リクエスト方法
POST application/json
リクエストパラメーター
time フィールドの説明
special_day フィールドの説明
認証パラメーター
通常のレスポンス
レスポンスのフィールド
dataフィールドの説明
time フィールドの説明
special_day フィールドの説明
エラーレスポンスのフィールド
概要
タイムテーブルリストを取得します。
リクエストアドレスの例
https://HOST:PORT/api/v3/pass/timetable/list
リクエスト方法
GET
認証パラメーター
通常のレスポンス
レスポンスのフィールド
dataフィールドの説明
エラーレスポンスのフィールド
概要
タイムテーブルの詳細を取得します。
リクエストアドレスの例
https://HOST:PORT/api/v3/pass/timetable
リクエスト方法
GET
リクエストパラメーター
認証パラメーター
通常のレスポンス
レスポンスのフィールド
dataフィールドの説明
time フィールドの説明
special_day フィールドの説明
エラーレスポンスのフィールド
概要
アクセスルールを追加します。一括追加をサポートします。最初にデバイスをグループに連携する必要があります。
リクエストアドレスの例
https://HOST:PORT/api/v3/pass/rule
リクエスト方法
POST application/json
リクエストパラメーター
passRule フィールドの説明
認証パラメーター
通常のレスポンス
レスポンスのフィールド
dataフィールドの説明
エラーレスポンスのフィールド
概要
アクセスルールを削除します。一括削除が可能です。
リクエストアドレスの例
https://HOST:PORT/api/v3/pass/rule/delete
リクエスト方法
GET
リクエストパラメーター
認証パラメーター
通常のレスポンス
レスポンスのフィールド
エラーレスポンスのフィールド
概要
構成されているアクセスルールのリストを取得します。
リクエストアドレスの例
https://HOST:PORT/api/v3/pass/rule/list
リクエスト方法
GET
認証パラメーター
通常のレスポンス
レスポンスのフィールド
dataフィールドの説明
エラーレスポンスのフィールド
概要
すべてのデバイスおよびグループの連携関係 (アクセスルール情報を含む) を取得します。
リクエストアドレスの例
https://HOST:PORT/api/v3/pass/devices/passrules
リクエスト方法
GET
リクエストパラメーター
認証パラメーター
通常のレスポンス
レスポンスのフィールド
dataフィールドの説明
timetableGroup フィールドの説明
エラーレスポンスのフィールド
Yes
火曜日のアクセスルール
wednesday_period
list<time>
Yes
水曜日のアクセスルール
thursday_period
list<time>
Yes
木曜日のアクセスルール
friday_period
list<time>
Yes
金曜日のアクセスルール
saturday_period
list<time>
Yes
土曜日のアクセスルール
sunday_period
list<time>
Yes
日曜日のアクセスルール
holiday_period
list<time>
Yes
祝日のアクセスルール
start_timestamp
long
Yes
有効期限開始のタイムスタンプ
end_timestamp
long
Yes
有効期限終了のタイムスタンプ
special_days
list<special_day>
No
特別な祝日
Yes
タイムスタンプ
データ
30分ごとのおおまかな 24 時間のアクセスルール
wednesday
string
30分ごとのおおまかな 24 時間のアクセスルール
thursday
string
30分ごとのおおまかな 24 時間のアクセスルール
friday
string
30分ごとのおおまかな 24 時間のアクセスルール
saturday
string
30分ごとのおおまかな 24 時間のアクセスルール
sunday
string
30分ごとのおおまかな 24 時間のアクセスルール
holiday
string
30分ごとのおおまかな 24 時間のアクセスルール
monday_period
list<time>
アクセス時間(24時間形式、秒単位で指定)
tuesday_period
list<time>
アクセス時間(24時間形式、秒単位で指定)
wednesday_period
list<time>
アクセス時間(24時間形式、秒単位で指定)
thursday_period
list<time>
アクセス時間(24時間形式、秒単位で指定)
friday_period
list<time>
アクセス時間(24時間形式、秒単位で指定)
saturday_period
list<time>
アクセス時間(24時間形式、秒単位で指定)
sunday_period
list<time>
アクセス時間(24時間形式、秒単位で指定)
holiday_period
list<time>
アクセス時間(24時間形式、秒単位で指定)
start_timestamp
long
タイムスタンプ(ミリ秒単位)
end_timestamp
long
タイムスタンプ(ミリ秒単位)
special_days
list<special_day>
特別な日
タイムテーブルの ID
Yes
タイムスタンプ
データ
Yes
月曜日のアクセスルール
tuesday_period
list<time>
Yes
火曜日のアクセスルール
wednesday_period
list<time>
Yes
水曜日のアクセスルール
thursday_period
list<time>
Yes
木曜日のアクセスルール
friday_period
list<time>
Yes
金曜日のアクセスルール
saturday_period
list<time>
Yes
土曜日のアクセスルール
sunday_period
list<time>
Yes
日曜日のアクセスルール
holiday_period
list<time>
Yes
祝日のアクセスルール
start_timestamp
long
Yes
有効期限開始のタイムスタンプ
end_timestamp
long
Yes
有効期限終了のタイムスタンプ
special_days
list<special_day>
No
特別な祝日
Yes
タイムスタンプ
データ
24 時間のアクセスルール
wednesday
string
24 時間のアクセスルール
thursday
string
24 時間のアクセスルール
friday
string
24 時間のアクセスルール
saturday
string
24 時間のアクセスルール
sunday
string
24 時間のアクセスルール
holiday
string
24 時間のアクセスルール
monday_period
list<time>
アクセス時間(24時間形式、秒単位で指定)
tuesday_period
list<time>
アクセス時間(24時間形式、秒単位で指定)
wednesday_period
list<time>
アクセス時間(24時間形式、秒単位で指定)
thursday_period
list<time>
アクセス時間(24時間形式、秒単位で指定)
friday_period
list<time>
アクセス時間(24時間形式、秒単位で指定)
saturday_period
list<time>
アクセス時間(24時間形式、秒単位で指定)
sunday_period
list<time>
アクセス時間(24時間形式、秒単位で指定)
holiday_period
list<time>
アクセス時間(24時間形式、秒単位で指定)
start_timestamp
long
タイムスタンプ(ミリ秒単位)
end_timestamp
long
タイムスタンプ(ミリ秒単位)
special_days
list<special_day>
特別な日
タイムテーブルの ID
Yes
タイムスタンプ
データ
Yes
タイムスタンプ
データ
30分ごとのおおまかな 24 時間のアクセスルール
wednesday
string
30分ごとのおおまかな 24 時間のアクセスルール
thursday
string
30分ごとのおおまかな 24 時間のアクセスルール
friday
string
30分ごとのおおまかな 24 時間のアクセスルール
saturday
string
30分ごとのおおまかな 24 時間のアクセスルール
sunday
string
30分ごとのおおまかな 24 時間のアクセスルール
holiday
string
30分ごとのおおまかな 24 時間のアクセスルール
monday_period
list<time>
アクセス時間(24時間形式、秒単位で指定)
tuesday_period
list<time>
アクセス時間(24時間形式、秒単位で指定)
wednesday_period
list<time>
アクセス時間(24時間形式、秒単位で指定)
thursday_period
list<time>
アクセス時間(24時間形式、秒単位で指定)
friday_period
list<time>
アクセス時間(24時間形式、秒単位で指定)
saturday_period
list<time>
アクセス時間(24時間形式、秒単位で指定)
sunday_period
list<time>
アクセス時間(24時間形式、秒単位で指定)
holiday_period
list<time>
アクセス時間(24時間形式、秒単位で指定)
start_timestamp
long
タイムスタンプ(ミリ秒単位)
end_timestamp
long
タイムスタンプ(ミリ秒単位)
special_days
list<special_day>
特別な日
タイムテーブルの ID
Yes
タイムテーブルの ID
Yes
タイムスタンプ
データ
グループID
group_name
string
グループ名
group_type
int
グループタイプ
timetable_id
long
タイムテーブルの ID
timetable_name
string
タイムテーブル名
Yes
タイムスタンプ
データ
Yes
タイムスタンプ
データ
アクセスグループ ID
group_name
string
アクセスグループ名
timetable_id
int
タイムテーブルの ID
timetable_name
string
タイムテーブル名
group_type
int
グループタイプ
Yes
タイムスタンプ
データ
タイムテーブルの ID
timetable_name
string
タイムテーブル名
パラメーター名
型
必須
説明
name
string
Yes
タイムテーブルの名前
monday_period
list<time>
Yes
月曜日のアクセスルール
tuesday_period
パラメーター名
型
必須
説明
start_time
string
Yes
00:00:00 形式
end_time
string
Yes
00:00:00 形式
パラメーター名
型
必須
説明
date
string
Yes
日付
remark
string
No
特記事項
パラメーター名
型
必須
説明
app_key
string
Yes
Appキー
sign
string
Yes
シグネチャ。1.3.1 シグネチャ(sign)の計算の項を参照してください
timestamp
パラメーター名
型
説明
code
int
リターンコード
message
string
リターンメッセージ
desc
string
リターンの説明
data
パラメーター名
型
説明
id
int
ID
name
string
タイムテーブルの名前
monday
string
30分ごとのおおまかな 24 時間のアクセスルール
tuesday
パラメーター名
型
説明
start_time
string
00:00:00 形式
end_time
string
00:00:00 形式
パラメーター名
型
説明
id
int
特別な日の ID
date
string
日付。0000 は毎年を示し、2019 は特定の年に一度だけ有効であることを示します
remark
string
特記事項
timetable_id
code
メッセージ
説明
30001
Param Invalid
パラメーターエラー
パラメーター名
型
必須
説明
id
long
Yes
タイムテーブルの ID
パラメーター名
型
必須
説明
app_key
string
Yes
Appキー
sign
string
Yes
シグネチャ。1.3.1 シグネチャ(sign)の計算の項を参照してください
timestamp
パラメーター名
型
説明
code
int
リターンコード
message
string
リターンメッセージ
desc
string
リターンの説明
data
code
メッセージ
説明
30001
Param Invalid
パラメーターエラー
610
Similar record Exist
タイムテーブルはアクセスルールに連携されているため、削除できません
620
Record non-existent Error
タイムテーブルが存在しません
パラメーター名
型
必須
説明
id
int
Yes
タイムテーブルの ID
name
string
Yes
タイムテーブルの名前
monday_period
パラメーター名
型
必須
説明
start_time
string
Yes
00:00:00 形式
end_time
string
Yes
00:30:00 形式
パラメーター名
型
必須
説明
date
string
Yes
日付
remark
string
No
特記事項
パラメーター名
型
必須
説明
app_key
string
Yes
Appキー
sign
string
Yes
シグネチャ。1.3.1 シグネチャ(sign)の計算の項を参照してください
timestamp
パラメーター名
型
説明
code
int
リターンコード
message
string
リターンメッセージ
desc
string
リターンの説明
data
パラメーター名
型
説明
id
int
タイムテーブルの ID
name
string
タイムテーブルの名前
monday
string
24 時間を 48 の期間に分割します。string は 0 と 1 で構成され、1 は該当する期間にアクセスが可能であることを示し、0 はアクセスが可能ではないことを示します。例:100000000000000000000000000000000000000000000001 は、00:00~00:30 を示し、23:30~24:00 はアクセス可能であることを示します
tuesday
パラメーター名
型
説明
start_time
string
00:00:00 形式
end_time
string
00:30:00 形式
パラメーター名
型
説明
id
int
特別な日の ID
date
string
日付。0000 は毎年を示し、2019 は特定の年に一度だけ有効であることを示します
remark
string
特記事項
timetable_id
code
メッセージ
説明
30001
Param Invalid
パラメーターエラー
パラメーター名
型
必須
説明
app_key
string
Yes
Appキー
sign
string
Yes
シグネチャ。1.3.1 シグネチャ(sign)の計算の項を参照してください
timestamp
パラメーター名
型
説明
code
int
リターンコード
message
string
リターンメッセージ
desc
string
リターンの説明
data
パラメーター名
型
説明
id
int
タイムテーブルの ID
name
string
タイムテーブル名
code
メッセージ
説明
30001
Param Invalid
パラメーターエラー
パラメーター名
型
必須
説明
id
long
Yes
タイムテーブルの ID
パラメーター名
型
必須
説明
app_key
string
Yes
Appキー
sign
string
Yes
シグネチャ。1.3.1 シグネチャ(sign)の計算の項を参照してください
timestamp
パラメーター名
型
説明
code
int
リターンコード
message
string
リターンメッセージ
desc
string
リターンの説明
data
パラメーター名
型
説明
id
integer
タイムテーブルの ID
name
string
タイムテーブルの名前
monday
string
30分ごとのおおまかな 24 時間のアクセスルール
tuesday
パラメーター名
型
説明
start_time
string
00:00:00 形式
end_time
string
00:30:00 形式
パラメーター名
型
説明
id
int
特別な日の ID
date
string
日付。0000 は毎年を示し、2019 は特定の年に一度だけ有効であることを示します
remark
string
特記事項
timetable_id
code
メッセージ
説明
30001
Param Invalid
パラメーターエラー
パラメーター名
型
必須
説明
list<passRule>
Yes
アクセスルールのパラメーター
パラメーター名
型
必須
説明
device_id
long
Yes
デバイスの ID
group_id
long
Yes
グループID
timetable_id
パラメーター名
型
必須
説明
app_key
string
Yes
Appキー
sign
string
Yes
シグネチャ。1.3.1 シグネチャ(sign)の計算の項を参照してください
timestamp
パラメーター名
型
説明
code
int
リターンコード
message
string
リターンメッセージ
desc
string
リターンの説明
data
パラメーター名
型
説明
id
long
アクセスルールの ID
device_id
long
デバイスの ID
device_name
string
デバイス名
group_id
コード
メッセージ
説明
600
Sync Failed
RPCに失敗しました
30001
Param Invalid
パラメーターエラー
パラメーター名
型
必須
説明
ids
list<long>
Yes
アクセスルール ID
パラメーター名
型
必須
説明
app_key
string
Yes
Appキー
sign
string
Yes
シグネチャ。1.3.1 シグネチャ(sign)の計算の項を参照してください
timestamp
パラメーター名
型
説明
code
int
リターンコード
message
string
リターンメッセージ
desc
string
リターンの説明
data
コード
メッセージ
説明
30001
Param Invalid
パラメーターエラー
620
Record non-existent Error
レコードが存在しません。
パラメーター名
型
必須
説明
app_key
string
Yes
Appキー
sign
string
Yes
シグネチャ。1.3.1 シグネチャ(sign)の計算の項を参照してください
timestamp
パラメーター名
型
説明
code
int
リターンコード
message
string
リターンメッセージ
desc
string
リターンの説明
data
パラメーター名
型
説明
id
int
アクセスルール ID
device_id
int
デバイスの ID
device_name
string
デバイス名
group_id
コード
メッセージ
説明
30001
Param Invalid
パラメーターエラー
パラメーター名
型
必須
説明
device_ids
list<long>
Yes
デバイスの ID
パラメーター名
型
必須
説明
app_key
string
Yes
Appキー
sign
string
Yes
シグネチャ。1.3.1 シグネチャ(sign)の計算の項を参照してください
timestamp
パラメーター名
型
説明
code
int
リターンコード
message
string
リターンメッセージ
desc
string
リターンの説明
data
パラメーター名
型
説明
device_id
int
デバイスの ID
device_name
string
デバイス名
timetable_groups
list<timetableGroup>
連携されているタイムテーブルとアクセスグループ
パラメーター名
型
説明
group_id
int
アクセスグループ ID
group_name
string
アクセスグループ名
group_type
int
グループタイプ
timetable_id
コード
メッセージ
説明
30001
Param Invalid
パラメーターエラー
60001
Device Not Exist
デバイスが存在しません
list<time>
string
object
string
int
string
object
list<time>
string
object
string
int
string
object
string
object
string
int
long
string
object
long
string
object
string
object
int
string
object
int
{
"code": 200,
"message": "OK",
"desc": "",
"data": {
"id": 16,
"name": "test",
"monday": "100000000000000000000000111111111111111111111111",
"tuesday": "100000000000000000000000111111111111111111111111",
"wednesday": "100000000000000000000000111111111111111111111111",
"thursday": "100000000000000000000000111111111111111111111111",
"friday": "100000000000000000000000111111111111111111111111",
"saturday": "100000000000000000000000111111111111111111111111",
"sunday": "100000000000000000000000111111111111111111111111",
"holiday": "100000000000000000000000111111111111111111111111",
"special_days": [],
"monday_period": [{
"start_time": "0:00:00",
"end_time": "00:29:59"
}, {
"start_time": "12:00:00",
"end_time": "23:59:59"
}],
"tuesday_period": [{
"start_time": "0:00:00",
"end_time": "0:29:59"
}, {
"start_time": "12:00:00",
"end_time": "23:59:59"
}],
"wednesday_period": [{
"start_time": "0:00:00",
"end_time": "0:29:59"
}, {
"start_time": "12:00:00",
"end_time": "23:59:59"
}],
"thursday_period": [{
"start_time": "0:00:00",
"end_time": "0:29:59"
}, {
"start_time": "12:00:00",
"end_time": "23:59:59"
}],
"friday_period": [{
"start_time": "0:00:00",
"end_time": "0:29:59"
}, {
"start_time": "12:00:00",
"end_time": "23:59:59"
}],
"saturday_period": [{
"start_time": "0:00:00",
"end_time": "0:29:59"
}, {
"start_time": "12:00:00",
"end_time": "23:59:59"
}],
"sunday_period": [{
"start_time": "0:00:00",
"end_time": "0:29:59"
}, {
"start_time": "12:00:00",
"end_time": "23:59:59"
}],
"holiday_period": [{
"start_time": "0:00:00",
"end_time": "0:29:59"
}, {
"start_time": "12:00:00",
"end_time": "23:59:59"
}],
"start_timestamp": 1576046318000,
"end_timestamp": 1576046318000
}{
"code": 200,
"message": "OK",
"desc": "",
"data": {}
}{
"code": 200,
"message": "OK",
"data": {
"id": 28,
"name": "test,
"monday": "010000000000000000000000000000000000000000000000",
"tuesday": "010000000000000000000000000000000000000000000000",
"wednesday": "010000000000000000000000000000000000000000000000",
"thursday": "010000000000000000000000000000000000000000000000",
"friday": "010000000000000000000000000000000000000000000000",
"saturday": "010000000000000000000000000000000000000000000000",
"sunday": "010000000000000000000000000000000000000000000000",
"holiday": "010000000000000000000000000000000000000000000000",
"special_days": [{
"id": 59,
"date": "2019-10-07",
"remark": null,
"timetable_id": 28
}, {
"id": 60,
"date": "0000-10-22",
"remark": null,
"timetable_id": 28
}],
"monday_period": [{
"start_time": "0:30:00",
"end_time": "0:59:00"
}],
"tuesday_period": [{
"start_time": "0:30:00",
"end_time": "0:59:00"
}],
"wednesday_period": [{
"start_time": "0:30:00",
"end_time": "0:59:00"
}],
"thursday_period": [{
"start_time": "0:30:00",
"end_time": "0:59:00"
}],
"friday_period": [{
"start_time": "0:30:00",
"end_time": "0:59:00"
}],
"saturday_period": [{
"start_time": "0:30:00",
"end_time": "0:59:00"
}],
"sunday_period": [{
"start_time": "0:30:00",
"end_time": "0:59:00"
}],
"holiday_period": [{
"start_time": "0:30:00",
"end_time": "0:59:00"
}],
"start_timestamp": 1546275661000,
"end_timestamp": 1546275661000
}
}{
"code": 200,
"message": "OK",
"desc": "",
"data": [{
"id": 10,
"name": "test1"
}]
}{
"code": 200,
"message": "OK",
"data": {
"id": 28,
"name": "liufan1131",
"monday": "010000000000000000000000000000000000000000000000",
"tuesday": "010000000000000000000000000000000000000000000000",
"wednesday": "010000000000000000000000000000000000000000000000",
"thursday": "010000000000000000000000000000000000000000000000",
"friday": "010000000000000000000000000000000000000000000000",
"saturday": "010000000000000000000000000000000000000000000000",
"sunday": "010000000000000000000000000000000000000000000000",
"holiday": "010000000000000000000000000000000000000000000000",
"special_days": [{
"id": 59,
"date": "2019-10-07",
"remark": null,
"timetable_id": 28
}, {
"id": 60,
"date": "0000-10-22",
"remark": null,
"timetable_id": 28
}],
"monday_period": [{
"start_time": "0:30:00",
"end_time": "0:59:00"
}],
"tuesday_period": [{
"start_time": "0:30:00",
"end_time": "0:59:00"
}],
"wednesday_period": [{
"start_time": "0:30:00",
"end_time": "0:59:00"
}],
"thursday_period": [{
"start_time": "0:30:00",
"end_time": "0:59:00"
}],
"friday_period": [{
"start_time": "0:30:00",
"end_time": "0:59:00"
}],
"saturday_period": [{
"start_time": "0:30:00",
"end_time": "0:59:00"
}],
"sunday_period": [{
"start_time": "0:30:00",
"end_time": "0:59:00"
}],
"holiday_period": [{
"start_time": "0:30:00",
"end_time": "0:59:00"
}],
"start_timestamp": 1546275661000,
"end_timestamp": 1546275661000
}
}{
"code": 200,
"message": "OK",
"desc": "",
"data": [{
"id": 141,
"device_id": 314,
"device_name": "v2.1.0-test4444",
"group_id": 2,
"group_name": "Default group",
"timetable_id": 35,
"timetable_name": "test-0713",
"group_type": 2
}]
}{
"code": 200,
"message": "OK",
"desc": "",
"data": {}
}{
"code": 200,
"message": "OK",
"desc": "",
"data": [{
"id": 141,
"device_id": 314,
"device_name": "v2.1.0-test4444",
"group_id": 2,
"group_name": "Default group",
"timetable_id": 35,
"timetable_name": "test-0713",
"group_type": 2
}]
}{
"code": 200,
"message": "OK",
"desc": "",
"data": [{
"device_id": 9,
"device_name": "device6",
"timetable_groups": [{
"group_id": 476,
"group_name": "bbb",
"group_type": 2,
"timetable_id": 0,
"timetable_name": ""
}]
}]
}概要
ゲートウェイデバイスを追加します。
リクエストアドレスの例
https://HOST:PORT/api/v3/gateway/add
リクエスト方法
POST application/json
リクエストパラメーター
認証パラメーター
通常のレスポンス
レスポンスのフィールド
dataフィールドの説明
エラーレスポンスのフィールド
概要
カメラを追加します。事前にゲートウェイデバイスを追加する必要があります。
リクエストアドレスの例
https://HOST:PORT/api/v3/camera/add
リクエスト方法
POST application/json
リクエストパラメーター
認証パラメーター
通常のレスポンス
レスポンスのフィールド
dataフィールドの説明
エラーレスポンスのフィールド
概要
デバイス情報を更新します(ゲートウェイデバイスはグループに連携できません) 。
v1 インターフェースを引き続きご利用いただくこともできます。詳細な手順については、過去のバージョンのマニュアルをご参照ください。
リクエストアドレスの例
https://HOST:PORT/api/v3/device/update
リクエスト方法
POST application/json
リクエストパラメーター
認証パラメーター
通常のレスポンス
レスポンスのフィールド
dataフィールドの説明
group フィールドの説明
エラーレスポンスのフィールド
概要
デバイス(ゲートウェイまたはカメラデバイス)を削除します。
v1 インターフェースを引き続きご利用いただくこともできます。詳細な手順については、過去のバージョンのマニュアルをご参照ください。
リクエストアドレスの例
https://HOST:PORT/api/v3/device/delete
リクエスト方法
GET
リクエストパラメーター
認証パラメーター
通常のレスポンス
レスポンスのフィールド
エラーレスポンスのフィールド
概要
カメラのリストを取得します。
リクエストアドレスの例
https://HOST:PORT/api/v3/gateway/cameraList
リクエスト方法
GET
リクエストパラメーター
認証パラメーター
通常のレスポンス
レスポンスのフィールド
dataフィールドの説明
エラーレスポンスのフィールド
概要
関連する親デバイスを取得します。
リクエストアドレスの例
https://HOST:PORT/api/v3/camera/gatewayList
リクエスト方法
GET
リクエストパラメーター
認証パラメーター
通常のレスポンス
レスポンスのフィールド
dataフィールドの説明
cameraフィールドの説明
エラーレスポンスのフィールド
概要
デバイスリストを表示します。デフォルトの順序は ID の降順です。
リクエストアドレスの例
https://HOST:PORT/api/v1/device
リクエスト方法
GET
リクエストパラメーター
通常のレスポンス
レスポンスのフィールド
dataフィールドの説明
data.dataフィールドの説明
device_type フィールドの説明
device フィールドの説明
group フィールドの説明
エラーレスポンスのフィールド
概要
同じタイプのオンラインデバイスに対してリモート構成コマンドを送信します。一括送信に対応しています。
現在、下記のデバイスをサポートしています。SensePass、SenseThunder GE、SenseThunder Mini GE。
この機能をサポートするデバイスの最低バージョンは、SensePass(v1.2.3)、SenseThunder GE (v1.0.3)、SenseThunder Mini GE (v1.0.1)。
リクエストアドレスの例
https://HOST:PORT/api/v2/device/update/config/batch
リクエスト方法
POST application/json
リクエストパラメーター
デバイス型番識別子
構成項目とパラメーターの説明
リクエスト例
通常のレスポンス
エラーレスポンスのフィールド
概要
オンラインデバイスにドアオープンコマンドを送信します。
リクエストアドレスの例
https://HOST:PORT/api/v2/device/open
リクエスト方法
POST: form-data
リクエストパラメーター
通常のレスポンス
エラーレスポンスのフィールド
概要
オンラインデバイスに通知メッセージを送信します。カスタマイズコマンドに対応しています。
リクエストアドレスの例
https://HOST:PORT/api/v3/device/notify
リクエスト方法
POST application/json
リクエストパラメーター
通常のレスポンス
エラーレスポンスのフィールド
リクエスト例
概要
デバイスのシリアル番号でデバイスのLDIDを取得します。
リクエストアドレスの例
https://HOST:PORT/api/v3/device/ldid
リクエスト方法
GET
リクエストパラメーター
デバイス型番識別子
レスポンスのフィールド
通常のレスポンス
必須
デバイスの設置場所
ip
string
Yes
ゲートウェイ IP
port
int
Yes
ゲートウェイポート
account
string
Yes
ゲートウェイのログインアカウント
password
string
Yes
ゲートウェイのログインパスワード
Yes
タイムスタンプ
デバイスの説明
direction
int
デバイスのアクセス方向
ldid
string
デバイスの LDID 番号
type_id
int
デバイスタイプID(4:SensePass、19:SenseThunder-Mini、20:SenseThunder-E)
type_name
string
デバイスタイプ名
update_at
long
更新時間
create_at
long
作成時間
Yes
ゲートウェイID
protocol
int
Yes
プロトコルタイプ。1 = RTSP、2 = ONVIF、3 = GB28181 を示します
camera_name
string
Yes
カメラ名
location
string
Yes
カメラの設置場所
snap_mode
int
Yes
スナップモード。1 = 精密、2 = 時間制、3 = リアルタイムを示します
url
string
条件による
RTSP モードはパスする必要があります
ip
string
条件による
カメラ ip、ONVIF GB28181 モードはパスする必要があります
port
int
条件による
カメラポート、ONVIF GB28181 モードはパスする必要があります
account
string
条件による
カメラのログインアカウント、ONVIF モードはパスする必要があります
password
string
条件による
カメラのログインパスワード、ONVIF モードはパスする必要があります
server_id
string
条件による
SIP サーバーの SIP ID、GB28181 モードはパスする必要があります
camera_id
string
条件による
カメラの SIP ID、GB28181 モードはパスする必要があります
Yes
タイムスタンプ
データ
説明
direction
int
デバイスのアクセス方向
ldid
string
デバイスの LDID 番号
type_id
int
デバイスタイプID(4:SensePass、19:SenseThunder-Mini、20:SenseThunder-E)
type_name
string
デバイスタイプ名
update_at
long
更新時間
create_at
long
作成時間
No
設置場所
description
string
No
説明
direction
int
No
デバイスのアクセス方向。1 = In、2 = Out
group_staff
list<long>
No
従業員グループ(id のグループ)
group_visitor
list<long>
No
ビジターグループ(id のグループ)
group_blacklist
list<long>
No
拒否リストグループ (id のグループ)
Yes
タイムスタンプ
データ
デバイスのステータス
description
string
説明
direction
int
デバイスのアクセス方向。0 - デフォルト(Null)、1 - In、2 - Out
ip
string
IP アドレス
ldid
string
デバイスの sn 番号
type_id
int
デバイスタイプ
type_name
string
デバイスタイプ名
user_group
list<group>
従業員グループ
guest_group
list<group>
ビジターグループ
blacklist_group
list<group>
拒否リストグループ
update_at
long
デバイスの最新の更新タイムスタンプ
create_at
long
デバイスの最初のオンラインタイムスタンプ
last_offline_time
long
デバイスの最新のオフラインタイムスタンプ
デフォルトのグループかどうかを示します
person_count
int
グループ内の人数を示します
Yes
タイムスタンプ
データ
Yes
タイムスタンプ
データ
設置場所
url
string
Nebula デバイスの IP アドレス
camera_sn
string
カメラの sn 番号
camera_name
string
カメラ名
state
int
1 = オンライン、2 = オフライン
Yes
タイムスタンプ
データ
設置場所
host
string
IP
port
int
ポート番号
state
int
オンライン状態。 1 = オンライン、2 = オフライン
cameras
list<camera>
カメラリスト
カメラの設置場所
url
string
Nebula デバイスの IP アドレス
camera_sn
string
カメラの sn 番号
camera_name
string
カメラ名
No
デバイスID の配列
typeId
int
No
デバイスタイプID(4:SensePass、19:SenseThunder-Mini、20:SenseThunder-E)
location
string
No
デバイスの設置場所
name
string
No
デバイス名
description
string
No
デバイスの説明
app_key
string
Yes
Appキー
sign
string
Yes
シグネチャ。1.3.1 シグネチャ(sign)の計算の章を参照してください
timestamp
string
Yes
タイムスタンプ
現在のページ番号
pageSize
int
ページサイズ
totalPage
int
ページ合計
デバイスタイプの説明
create_at
string
作成時間
update_at
string
更新時間
node_type
int
ノードのタイプ。0 = 共通のデバイス、1 = ゲートウェイデバイス
デバイスの向き
location
string
デバイスの設置場所
ip
string
デバイスの IP
status
int
デバイスのオンライン状態
groups
list<group>
デバイスが連携されたグループ
active
int
偽削除フラグ
type_id
long
デバイスタイプID(4:SensePass、19:SenseThunder-Mini、20:SenseThunder-E)
description
string
デバイスの説明
software_version
string
ソフトウェアのバージョン番号(使用できません)
info
string
デバイス情報(使用できません)
company_id
long
企業ID
group_count
int
デバイスに連携されているグループの数
create_at
string
作成時間
update_at
string
更新時間
last_offline_time
long
最後のオフラインタイムスタンプ
Yes
Appキー。 URL に記述されます
sign
string
Yes
シグネチャ。URL に記述されます
timestamp
string
Yes
タイムスタンプです。URL に記述されます
✓ (1 :ゲートモード、2:ドアモード)
✓ (1:一人モード、2 :複数人モード)
✓ (1:ゲートモード、2:ドアモード)
認証モード
mode
int
2:顔認証とカード
3:顔認証またはID カード
4:顔認証とID カード
9:顔認証
✓
✓
✓
音声ブロードキャスト
voice_broadcast
bool
true:オン
false:オフ
×
✓
×
プロンプト strong_hint
bool
true:オン
false:オフ
×
✓
×
温度検知
temperature_detect
bool
true:オン
false:オフ
×
✓
✓
温度アラームしきい値
fever_temperature
float
[34.5、42.5]、小数点以下 1 桁です。37.5を推奨
×
✓
✓
温度異常時にアクセス拒否
no_access_to_fevers
bool
true:オン
false:オフ
×
✓
✓
サーモグラフィ表示
show_thermal_screen
bool
true:オン
false:オフ
×
✓
✓
屋内温度
indoor_temperature
float
[5.0、40.0]、小数点以下 1桁です
×
✓
✓
温度単位
temperature_unit
int
1:摂氏
2:華氏
×
✓
✓
温度検知距離
temperature_detect_distance
float
デバイスによって異なります
×
[1.0、1.5]. 小数点第1位まで、1.0を推奨
[0.5、1.2]. 小数点第1位まで、1.2を推奨
温度異常ブザー
temperature_warn_volume
int
デバイスによって異なります
×
[0、100]
0:オフ
100:オン
高速検知モード
quick_detect_mode
bool
true:オン
false:オフ
×
✓
✓
温度正常時ドアオープン
quick_detect_mode_open_door
bool
true:オン
false:オフ
×
✓
✓
マスク検知
mask_detect
bool
true:オン
false:オフ
×
✓
✓
マスク未着用アクセス不可
no_access_without_mask
bool
true:オン
false:オフ
×
✓
✓
マスク未着用ブザー
mask_warn_volume
int
デバイスによって異なります
×
[0、100]
0:オフ
100:オン
ログ
save_and_upload_record
bool
true:オン
false:オフ
×
×
✓
タッチして認証
touch_recognition
bool
true:オン
false:オフ
×
✓
✓
省ネットワーク通信
save_elec_mode
bool
true:オン
false:オフ
×
✓
✓
未登録者ログ
need_stranger_record
bool
true:オン
false:オフ
×
✓
✓
顔写真
show_custom_avatar
bool
true:オン
false:オフ
×
✓
✓
デバイスのメインメッセージ
welcome_tip
string
長さ制限:50
✓
✓
✓
認証メッセージverify_success_tip
string
長さ制限:50
✓
✓
✓
認証エラーメッセージverify_fault_tip
string
長さ制限:50
✓
✓
✓
認証従業員情報show_user_info
string
0 - 表示なし、1 -表示する。表示順は、従業員ID、部署、役職、ID 番号、カスタマイズプロンプトです。例:01000 は部署情報のみが表示されることを示します
✓
✓
✓
認証成功後に写真を表示する
use_show_avatar
bool
true:オン
false:オフ
✓
✓
✓
認証成功後に名前を表示する
show_user_name
bool
true:オン
false:オフ
✓
✓
✓
拒否リストメッセージblack_list_tip
string
長さ制限:50
✓
✓
✓
拒否リストドアオープンblack_list_open
bool
true:オン
false:オフ
✓
✓
✓
生体認識
liveness
bool
true:オン
false:オフ
✓
✓
✓
生体認識閾値liveness_threshold
float
[0、1]、小数点以下 2 桁です。推奨値は 0.98 です
✓
✓
✓
顔認証閾値
verify_threshold
float
[0、1]、小数点以下 2 桁です。推奨値は 0.9 です
✓
✓
✓
IDカード比較閾値certificate_threshold
float
当機能はご利用いただけません。[0、1]、小数点以下 2 桁です。0.60 で仮の値をリクエストしてください
✓
✓
✓
顔認識距離(メートル)
verification_distance
float
[0.5、2.0]、小数点以下 1 桁です
✓
✓
✓
ドアオープンモード
open_door_type
int
0:ローカルリレー
1: Wiegand 26 (8+16bit id)
2:Wiegand 32
3:Wiegand 34
✓
✓
✓
ネットワークリレー IP アドレス
network_relay_address
string
ドアオープンモードでネットワークリレーを指定した際に必要です。
{IP}:{PORT} 形式(例 : 192.168.2.1:12345)
✓
✓
✓
ドアオープンタイム (秒)
keep_door_open_duration
int
[1、255]、整数
✓
✓
✓
ドアセンサータイムアウト
door_sensor_timeout
int
[1、255]、整数
✓
✓
✓
認証インターバル (秒)
open_interval
int
[1、30]、整数
✓
✓
✓
GPIO A - 出力
gpio_a
int
1:なし
2: Doorbell
3:アラート
✓
✓
✓
GPIO B - 入力
gpio_b
int
1:なし
2:ドアセンサー
3:Exit ボタン
4:Fire signal
✓
✓
✓
GPIO C - 入力
gpio_c
int
1:なし
2:ドアセンサー
3:Exit ボタン
4:Fire signal
✓
✓
✓
Wiegand入力
wigan_input
int
1:なし
2:Wiegand 26(8 +16bit id)
3:Wiegand 26 (24bit id)
4:Wiegand 32
✓
✓
✓
アラート音スイッチ
buzzer_status
bool
true:オン
false:オフ
✓
✓
✓
フリッカー低減
short_exposure
int
0:オフ
50:50Hz
60:60Hz
×
✓
✓
インストール環境
setup_env
int
1:屋内
2:半屋内
×
✓
×
システム言語
language_type
int
1:簡体中国語
2:英語
3:繁体中国語
✓
✓
✓
自動スタンバイ
standby_open
bool
true:オン
false:オフ
✓
✓
✓
スタンバイ時間 (分)
wait_time
int
[3、30]、整数
✓
✓
✓
スリープ解除距離
wake_distance
int
[50、200]、整数
×
✓
✓
自動再起動
auto_reboot
bool
true:オン
false:オフ
✓
✓
✓
再起動時間
reboot_time
string
hh:mm:ss (時間、分、秒)
✓
✓
✓
無効なパラメーターです。デバイスタイプが存在しません
Yes
Appキー
sign
string
Yes
シグネチャ。1.3.1 シグネチャ(sign)の計算の章を参照してください
timestamp
string
Yes
タイムスタンプ
Yes
通知タイプ。0000 はカスタマイズ通知を示します。メッセージは payload.content を通してカスタマイズします
payload.content
object
No
メッセージの内容は透過的にデバイスに送信されます。
trace_id
string
Yes
リクエストされるイベントのシリアル番号です。記号列は UUID と類似しています
app_key
string
Yes
Appキー
sign
string
Yes
シグネチャ。1.3.1シグネチャ(sign)の計算の章を参照してください
timestamp
string
Yes
タイムスタンプ
デバイスが存在しません
30001
the Device is out line
デバイスがオンラインではありません
Yes
Appキー
sign
string
Yes
シグネチャ。計算ルールについては、ドキュメントをご参照ください
timestamp
string
Yes
タイムスタンプ
パラメーター名
型
必須
説明
identifier
string
Yes
SNB など、デバイスタイプの識別子
name
string
Yes
デバイス名
location
パラメーター名
型
Yes
説明
app_key
string
Yes
Appキー
sign
string
Yes
シグネチャ。1.3.1シグネチャ(sign)の計算の章を参照してください
timestamp
パラメーター名
型
説明
code
int
リターンコード
message
string
リターンメッセージ
data
object
データ
パラメーター名
型
説明
id
long
デバイスの ID
name
string
名前
location
string
設置場所
description
コード
メッセージ
説明
30001
Param Invalid
パラメーターエラー
パラメーター名
型
Yes
説明
channel
int
Yes
チャンネル
identifier
string
Yes
CAM など、デバイスタイプの識別子
gateway_id
パラメーター名
型
必須
説明
app_key
string
Yes
Appキー
sign
string
Yes
シグネチャ。1.3.1シグネチャ(sign)の計算の章を参照してください
timestamp
パラメーター名
型
説明
code
int
リターンコード
message
string
リターンメッセージ
desc
string
リターンの説明
data
パラメーター名
型
説明
id
long
デバイスのID
name
string
名前
location
string
設置場所
description
コード
メッセージ
説明
30001
Param Invalid
パラメーターエラー
パラメーター名
型
必須
説明
id
long
Yes
デバイスのID
name
string
No
名前
location
パラメーター名
型
必須
説明
app_key
string
Yes
Appキー
sign
string
Yes
シグネチャ。1.3.1シグネチャ(sign)の計算の章を参照してください
timestamp
パラメーター名
型
説明
code
int
リターンコード
message
string
リターンメッセージ
desc
string
リターンの説明
data
パラメーター名
型
説明
id
int
デバイスの ID
name
string
デバイス名
location
string
デバイスの設置場所
state
パラメーター名
型
説明
id
long
グループ ID
name
string
グループ名
type
int
グループタイプ
is_default
コード
メッセージ
説明
30001
Param Invalid
パラメーターエラー
パラメーター名
型
必須
説明
id
long
Yes
デバイスのID
パラメーター名
型
必須
説明
app_key
string
Yes
Appキー
sign
string
Yes
シグネチャ。1.3.1 シグネチャ(sign)の計算の章を参照してください
timestamp
パラメーター名
型
説明
code
int
リターンコード
message
string
リターンメッセージ
desc
string
リターンの説明
data
code
メッセージ
説明
30001
Param Invalid
パラメーターエラー
600
Sync Failed
RPC が失敗しました
パラメーター名
型
必須
説明
gateway_id
long
Yes
ゲートウェイデバイスのID
パラメーター名
型
必須
説明
app_key
string
Yes
Appキー
sign
string
Yes
シグネチャ。1.3.1 シグネチャ(sign)の計算の章を参照してください
timestamp
パラメーター名
型
説明
code
int
リターンコード
message
string
リターンメッセージ
desc
string
リターンの説明
data
パラメーター名
型
説明
id
long
カメラデバイスのID
sn
string
Nebula デバイスの sn 番号
channel
string
チャンネル番号
position
code
メッセージ
説明
30001
Param Invalid
パラメーターエラー
パラメーター名
型
必須
説明
id
long
Yes
デバイスのID
パラメーター名
型
必須
説明
app_key
string
Yes
Appキー
sign
string
Yes
シグネチャ。1.3.1 シグネチャ(sign)の計算の章を参照してください
timestamp
パラメーター名
型
説明
code
int
リターンコード
message
string
リターンメッセージ
desc
string
リターンの説明
data
パラメーター名
型
説明
id
long
Nebula デバイスのID
sn
string
Nebula デバイスの sn 番号
name
string
名前
location
パラメーター名
型
説明
id
long
カメラデバイスのID
sn
string
Nebula デバイスの sn 番号
channel
string
チャンネル番号
position
code
メッセージ
説明
30001
Param Invalid
パラメーターエラー
パラメーター名
型
必須
説明
page
int
No
ページ番号(デフォルトは 1 )
size
int
No
1 ページあたりのデータ数(デフォルトは 20 )
ids
パラメーター名
型
説明
code
int
リターンコード
message
string
リターンメッセージ
data
object
データ
パラメーター名
型
説明
total
int
総計
size
int
サイズ
data
object
データ
pageNum
パラメーター名
型
説明
device_type
object
デバイスタイプ
device
object
デバイス情報
パラメーター名
型
説明
id
long
デバイスタイプID(4:SensePass、19:SenseThunder-Mini、20:SenseThunder-E)
name
string
デバイスタイプ名
identifier
string
デバイスタイプの識別子(略称)
description
パラメーター名
型
説明
id
long
デバイスのID
sn
string
デバイスのシリアル番号
name
string
デバイス名
direction
パラメーター名
型
説明
id
long
グループID
name
string
グループ名
type
int
グループタイプ
code
メッセージ
説明
30001
Param Invalid
無効なデバイスの sn 番号
30001
Param Invalid
無効なデバイスのステータス
パラメーター名
型
必須
説明
device_ids
list<long>
Yes
ID リスト。デバイスID のタイプは同じである必要があります
key
json
Yes
デバイス識別子、詳細については次のデバイス型番識別子をご参照ください
app_key
デバイス名称
デバイス型番識別子
SensePass
SPS
SenseThunder-E
SPSPE
SenseThunder-E Mini
SPSE
構成項目
型
値の範囲 / オプション
Pass
Thunder
Thunder Mini
実行ステータス
device_run_type
int
1:実行
2:停止
✓
✓
✓
利用モード
use_mode
int
code
メッセージ
エラーの説明
50001
RPC FAILED
RPCに失敗しました
30001
Param Invalid
無効なパラメーターです
30001
Param Invalid
無効なパラメーターです。デバイスID リストが空です
30001
パラメーター名
型
必須
説明
id
long
Yes
デバイスの ID
remark
string
No
ドアオープンの特記事項。長さ制限は 255
app_key
code
メッセージ
エラーの説明
30001
Param Invalid
無効なパラメーターです。デバイスが存在しません
603
Device Offline
デバイスがオンラインではありません
30001
Param Invalid
無効なパラメーターです。デバイスID は空にはできません
パラメーター名
型
必須
説明
payload
object[]
Yes
通知メッセージの対象。複数の送信が可能です
payload.ldid
string
Yes
メッセージを受信するデバイスの LDIDです
payload.type
code
メッセージ
エラーの説明
10003
Request Expired
タイムスタンプが期限切れになりました
10005
Signature Failed
無効な署名です
60001
grpc fail
通知の送信に失敗しました
60001
パラメーター
説明
例
type:“0000”
サードパーティーがカスタマイズした内容です
{
"trace_id":"75d836b4-4a71-4b32-bb16-d215d208195a",
"payload":[
{
"type": "0000",
"ldid":"SPS-8366d77b20689ca0cd0dbfadbea85a2e",
"content": "instruction1" //これはオブジェクトです。必ずしも string である必要はなく、他の値も利用可能です。以下に例を示します。値は透過的にデバイスエンドに送信されます },
{
"type": "0000",
"ldid":"SPSP-8366d77b20689ca0cd0dbfadbea85a2e",
"content": "instruction2" // これはオブジェクトです。必ずしも string である必要はなく、他の値も利用可能です。以下に例を示します。値は透過的にデバイスエンドに送信されます }
]
}
パラメータ名
型
必須
説明
duid
string
Yes
デバイスシリア番号
Identifier
string
Yes
デバイス識別子、詳細について、次のデバイス型番識別子をご参照ください
app_key
デバイス名称
デバイス型番識別子
SensePass
SPS
SensePass Pro
SPSP
SenseThunder-E
SPSPE
SenseThunder-E Mini
SPSE
パラメータ
型
説明
code
int
コード
message
string
メッセージ
data
string
デバイスLDID
string
string
string
string
string
object
string
string
string
object
string
int
string
object
string
object
string
string
object
string
string
list<long>
int
string
string
string
デバイスによって異なります
Param Invalid
string
string
Device Not Exist
string
{
"code": 200,
"message": "OK",
"data": {
"id": 1561,
"name": "SNB",
"location": "306",
"direction": 0,
"description":"",
"ldid": "SNB-2ee63f9c699a7316a3e2a44646d0c844",
"type_id": 10,
"type_name": "SNB",
"update_at": 1574854584,
"create_at": 1574670842
}
}{
"code": 200,
"message": "OK",
"data": {
"id": 1562,
"name": "40F",
"location": "40F",
"description": "",
"direction": 0,
"ldid": "CAM-b054ac85cb84137b75abaa2bd7fc4a38",
"type_id": 11,
"type_name": "CAM",
"update_at": 1574851340,
"create_at": 1574851340
}
}{
"code": 200,
"message": "OK",
"desc": "",
"data": {
"id": 2,
"name": "勤務グループ ",
"location": "日本東京都千代田区",
"state": 0,
"description": "",
"direction": 1,
"ip": "",
"ldid": "SHL-3931ff3bd1fd7157866c4d22858c533c",
"type_id": 1,
"type_name": "SenseHello",
"user_group": [{
"id": 1,
"name": "Default group",
"type": 1,
"devices": [],
"is_default": 1,
"person_count": 19988
}],
"guest_group": [ {
"id": 105,
"name": "test",
"type": 2,
"devices": [],
"is_default": 0,
"person_count": 5
}],
"blacklist_group": [ {
"id": 148,
"name": "User_1560842344639",
"type": 5,
"devices": [],
"is_default": 0,
"person_count": 23
}],
"update_at": 0,
"create_at": 0,
"last_offline_time":0
}
}{
"code": 200,
"message": "OK",
"desc": "",
"data": {}
}{
"code": 200,
"message": "OK",
"desc": "",
"data": [{
"id":1562
"sn": "SNB-4828af35b4c652a4dd34f6736ef6c110",
"channel": 2,
"position": "",
"url": "172.20.4.110",
"state": 1,
"camera_sn": "CAM-51b4ef5a2a4949d5a2e329aecd56b7ff",
"camera_name": "2"
}, {
"id":1563
"sn": "SNB-4828af35b4c652a4dd34f6736ef6c110",
"channel": 1,
"position": "",
"url": "172.20.4.110",
"state": 1,
"camera_sn": "CAM-525747229d7f3994caa9e595f72fcfdb",
"camera_name": "1"
}]
}{
"code": 200,
"message": "OK",
"desc": "",
"data": {
"id":1561,
"sn": "SNB-4828af35b4c652a4dd34f6736ef6c110",
"name": "306",
"location": "306",
"host": "172.20.4.110",
"port": 80,
"cameras": [{
"id":1562,
"sn": "SNB-4828af35b4c652a4dd34f6736ef6c110",
"channel": 1,
"position": "",
"url": "172.20.4.110",
"camera_sn": "CAM-525747229d7f3994caa9e595f72fcfdb",
"camera_name": "1"
}, {
"id":1563,
"sn": "SNB-4828af35b4c652a4dd34f6736ef6c110",
"channel": 2,
"position": "",
"url": "172.20.4.110",
"camera_sn": "CAM-51b4ef5a2a4949d5a2e329aecd56b7ff",
"camera_name": "2"
}]
}
}{
"code": 200,
"message": "OK",
"data": {
"total": 406,
"pageNum": 1,
"size": 20,
"pageSize": 20,
"totalPage": 21,
"data": [{
"device_type": {
"id": 2,
"name": "SenseID",
"identifier": "SID",
"description": "SenseID",
"create_at": "2018-08-15 10:08:12.0",
"update_at": "2018-08-15 10:08:15.0"
},
"device": {
"id": 31,
"sn": "SID-5f51f769de2cdc8681e85ad590456516",
"name": "306 テスト用デバイス",
"direction": 0,
"location": "306",
"ip": null,
"status": 2,
"groups": [{
"id": 2,
"name": "Default group",
"type": 2
}],
"active": 1,
"type_id": 2,
"description": null,
"software_version": null,
"info": null,
"company_id": 1,
"group_count": 1,
"create_at": "2019-03-20 09:50:08.0",
"update_at": "2019-08-28 08:56:05.0"
}
}]
}
}
{
"device_ids": [
3
],
"sps": {
"device_run_type": 1,
"use_mode": 1,
"mode": 1,
"welcome_tip": "welcomeTip22222222",
"verify_success_tip": "verifySuccessTip",
"verify_fault_tip": "verifyFaultTip",
"show_user_info": "00100",
"liveness": true,
"liveness_threshold": 0.95,
"verify_threshold": 0.9,
"face_width": 300,
"open_door_type": 1,
"keep_door_open_duration": 10,
"gpio_a": 1,
"gpio_b": 1,
"gpio_c": 1,
"buzzer_status": true,
"language_type": 1,
"auto_reboot": false,
"reboot_time": "09:52:50",
"standby_open": false,
"wait_time": 10,
"recognition_distance": 1.5,
"wigan_input": 1,
"network_relay_address": "",
"open_interval": 5,
"use_show_avatar": true
}
}{
"code": 200,
"message": "OK"
}{
"code": 200,
"message": "OK",
"desc": ""
}{
"code": 200,
"message": "OK",
"desc": ""
}{
"code": 200,
"message": "OK",
" data": " SPS-c725f19ddf7d5d9fabee189c29f10b11"
}10:顔認証またはQR コードまたはカード
11:ID カード
serverFRの場合、[9:顔認証]のみ利用可能
4:ネットワークリレー + リレー ip
5:Wiegand 26(24bit id)
6:Network(TCP)
9:サーバーからドアを開く
5:Wiegand 34
概要
従業員を追加します。
リクエストアドレスの例
https://HOST:PORT/api/v1/user
リクエスト方法
POST: form-data
リクエストパラメーター
※SenseLink Cloudのみ非必須で、SenseLink GE Enterpriseは必須です。
通常のレスポンス
類似登録者が存在する場合のレスポンス
レスポンスのフィールド
group フィールドの説明
エラーレスポンスのフィールド
概要
従業員情報を変更します。
バージョン v1 から、従業員ID、IC カード番号、および空の ID 番号の処理ロジックが改善されました。パラメーターが渡されなかった場合やパラメーターが null の場合、変更は行われません。空の string (””) が渡された場合、空として設定されます。バージョン v1 のインターフェースは、引き続きご利用いただくことができます。
リクエストアドレスの例
https://HOST:PORT/api/v2/user/update/{id}
リクエスト方法
POST: form-data
リクエストパラメーター
※SenseLink Cloudのみ非必須で、SenseLink GE Enterpriseは必須です。
group フィールドの説明
通常のレスポンス
レスポンスのフィールド
group フィールドの説明
エラーレスポンスのフィールド
概要
従業員を削除します。
リクエストアドレスの例
https://HOST:PORT/api/v1/user/delete/{id}
リクエスト方法
GET
リクエストパラメーター
通常のレスポンス
レスポンスのフィールド
エラーレスポンスのフィールド
概要
指定された日付(日)に追加、または更新された従業員アバターリストを取得します。
リクエストアドレスの例
https://HOST:PORT/api/v2/staff/image_updated
リクエスト方法
GET
リクエストパラメーター
通常のレスポンス
レスポンスのフィールド
エラーレスポンスのフィールド
概要
ビジターを追加します。
リクエストアドレスの例
https://HOST:PORT/api/v1/guest
リクエスト方法
POST: form-data
リクエストパラメーター
通常のレスポンス
レスポンスのフィールド
group フィールドの説明
エラーレスポンスのフィールド
概要
ビジター情報を変更します。
(すでに登録済みの他者の写真を利用して更新する場合、ビジター情報の変更や顔認証が正常に登録や正常に行われません。ご注意ください。)
リクエストアドレスの例
https://HOST:PORT/api/v1/guest/update/{id}
リクエスト方法
POST: form-data
リクエストパラメーター
通常のレスポンス
レスポンスのフィールド
group フィールドの説明
エラーレスポンスのフィールド
概要
ビジターを削除します。
リクエストアドレスの例
https://HOST:PORT/api/v1/guest/delete/{id}
リクエスト方法
GET
リクエストパラメーター
通常のレスポンス
レスポンスのフィールド
エラーレスポンスのフィールド
概要
拒否リストを追加します。
リクエストアドレスの例
https://HOST:PORT/api/v2/black
リクエスト方法
POST: form-data
リクエストパラメーター
通常のレスポンス
レスポンスのフィールド
group フィールドの説明
エラーレスポンスのフィールド
概要
既存の従業員またはビジターを選択して拒否リストに移動(登録者タイプを変更)します。
拒否リストに移動した後、登録者タイプが拒否リスト(type = 5) に変更されます。元の登録者グループと部署情報はクリアされますが、他の情報は保持されます。
リクエストアドレスの例
https://HOST:PORT/api/v2/black/move/in
リクエスト方法
POST application/json
リクエストパラメーター
通常のレスポンス
エラーレスポンスのフィールド
概要
拒否リストを削除します。 拒否リストから外されると、登録者タイプは元の識別子に戻ります(タイプ 1 または 2)。他の情報は保持されます。 拒否リストの登録者自体を削除するには、「拒否リストの削除」の章を参照してください。
リクエストアドレスの例
https://HOST:PORT/api/v2/black/move/out
リクエスト方法
GET
リクエストパラメーター
通常のレスポンス
エラーレスポンスのフィールド
概要
拒否リストの情報を変更します。
リクエストアドレスの例
https://HOST:PORT/api/v2/black/update
リクエスト方法
POST: form-data
リクエストパラメーター
通常のレスポンス
レスポンスのフィールド
group フィールド
エラーレスポンスのフィールド
概要
拒否リストを削除します。
リクエストアドレスの例
https://HOST:PORT/api/v2/black/delete/{id}
リクエスト方法
GET
リクエストパラメーター
通常のレスポンス
エラーレスポンスのフィールド
概要
従業員、ビジター、および拒否リストのすべての登録者の情報を取得します。特定のフィールドのフィルター検索が可能です。
リクエストアドレスの例
https://HOST:PORT/api/v1/user/list
リクエスト方法
GET
リクエストパラメーター
※SenseLink Cloudのみ有効で、SenseLink GE Enterpriseは未対応
通常のレスポンス
レスポンスのフィールド
group フィールドの説明
エラーレスポンスのフィールド
No
従業員グループのリスト。デフォルト値はタイプで定義します。渡さない場合、または空の場合は、どのグループにも追加しないことを示します
icNumber
string
No※
IC カード番号。空の string も指定可能。長さ制限は 20
jobNumber
string
No※
従業員番号。空の string も指定可能。長さ制限は 45
mobile
string
No※
携帯電話番号。空の string も指定可能。長さ制限は 20
name
string
Yes
従業員名
remark
string
No※
特記事項。空の string も指定可能。長さ制限は 255
departmentId
long
No
部署ID
areaCode
string
No
電話番号の国別コードおよび市外局番
birthday
string
No
誕生日(日付形式:2019-06-15)
entryTime
string
No
入社日(日付形式:2019-06-15)
string
No
メールアドレス。長さ制限は 45
position
string
No
役職。長さ制限は 45
location
string
No
勤務地。長さ制限は 45
idNumber
string
No
ID 番号。長さ制限は 6~30(利用できません)
gender
int
No
性別。1 : 女性、2 : 男性
prompt
string
No
顔認証時に表示するカスタムメッセージ
app_key
string
Yes
Appキー
sign
string
Yes
シグネチャ。1.3.1 シグネチャ(sign)の計算の項を参照してください
timestamp
string
Yes
タイムスタンプ
携帯電話番号
remark
string
特記事項
type
int
タイプ。1:従業員、2:ビジター
birthday
string
誕生日
string
メールアドレス
position
string
役職
location
string
勤務地
groupList
list<group>
従業員グループ情報
gender
string
性別
ic_number
string
IC カード番号
id_number
string
IDカード番号(利用できません)
job_number
string
従業員番号
company_id
long
企業ID
create_at
string
登録時間
update_at
string
更新時間
department_id
long
部署ID
area_code
string
携帯電話番号の国別コードおよび市外局番
entry_time
string
入社日
無効なパラメーターです。登録者名が空です。
30001
Param Invalid
無効なパラメーターです。登録者IC 番号の長さが無効です
30001
Param Invalid
無効なパラメーターです。登録者番号の長さが無効です
30001
Param Invalid
無効なパラメーターです。登録者の携帯電話番号の長さが無効です
30001
Param Invalid
無効なパラメーターです。特記事項の長さが無効です
30001
Param Invalid
無効なパラメーターです。登録者の認証用顔写真の形式が無効です
30001
Param Invalid
無効なパラメーターです。登録者グループのID が存在しません
30001
Param Invalid
無効なパラメーターです。登録者のICカード番号がすでに存在します
30001
Param Invalid
無効なパラメーターです。登録者のIDカード番号がすでに存在します
30001
Param Invalid
無効なパラメーターです。登録者の携帯電話番号がすでに存在します
30001
Param Invalid
無効なパラメーターです。従業員の認証用顔写真のファイルが大きすぎます
50001
RPC FAILED
リモート rpc の呼び出しに失敗しました
50001
RPC FAILED
リモート rpc の呼び出しに失敗しました。顔が検知されていません
50001
RPC FAILED
リモート rpc の呼び出しに失敗しました。複数の顔が検知されました
50001
RPC FAILED
リモート rpc の呼び出しに失敗しました。顔の検知に失敗しました
No
強制追加するかどうか。デフォルトで0:強制ではない、1:強制
groups
list<group>
No
従業員グループリスト。空のリストが渡される場合、従業員はどのグループにも属さないことを示します。情報が渡されない場合、変更は行われません。従業員はリスト内の有効なグループ(グループID が存在し、企業に属しており、かつグループタイプが従業員)にのみ追加されます。
icNumber
string
No
IC カード番号。長さ制限は 20
idNumber
string
No
ID 番号。長さ制限は 6~30(利用できません)
jobNumber
string
No
従業員番号。長さ制限は 45
mobile
string
No
携帯電話番号。空の string を指定できます
name
string
No※
名前。空の string は指定できません
remark
string
No
特記事項。空の string も指定可能。長さ制限は 255
gender
int
No
性別。1:女性、2:男性
departmentId
int
No
部署ID
areaCode
string
No
国別コードおよび市外局番
birthday
string
No
誕生日
entryTime
string
No
入社日
string
No
メールアドレス。長さ制限は 45
position
string
No
役職。長さ制限は 45
location
string
No
勤務地。長さ制限は 45
prompt
string
No
カスタマイズされたウェルカムプロンプト
app_key
string
Yes
Appキー
sign
string
Yes
シグネチャ。1.3.1 シグネチャ(sign)の計算の項を参照してください
timestamp
string
Yes
タイムスタンプ
携帯電話番号
remark
string
特記事項
type
int
タイプ。1:従業員、2:ビジター
birthday
string
誕生日
string
メールアドレス
position
string
役職
location
string
勤務地
groupList
list<group>
従業員グループ情報
gender
string
性別
prompt
string
顔認証時に表示するカスタムメッセージ
ic_number
string
IC カード番号
id_number
string
IDカード番号(利用できません)
job_number
string
従業員ID
company_id
long
企業ID
create_at
string
作成時間
update_at
string
更新時間
department_id
long
部署ID
area_code
string
携帯電話番号の国別コードおよび市外局番
entry_time
string
入社日
内部エラーです。従業員をグループに連携できませんでした
Yes
シグネチャ。1.3.1 シグネチャ(sign)の計算の項を参照してください
timestamp
string
Yes
タイムスタンプ
Yes
シグネチャ。1.3.1 シグネチャ(sign)の計算の項を参照してください
timestamp
string
Yes
タイムスタンプ
従業員アバターのリンク
remark
int
従業員アバターの新規または更新の識別子。0:新規追加、1:更新
Yes
携帯電話番号。長さ制限は20。空の値で登録しないでください
remark
string
Yes
特記事項。空の string も指定可能。長さ制限は 255
groups
list<long>
Yes
ビジターグループのリスト。デフォルト値はタイプで定義します。渡さない場合、または空の場合は、どのグループにも追加しないことを示します
force
int
No
強制追加するかどうか。デフォルトで0:強制ではない、1:強制
idNumber
string
No
ID 番号。長さ制限は 6~30(利用できません)
receptionUserId
long
Yes
受付担当者 ID
dateTimeFrom
datetime
Yes
来訪時間(開始)。例 : 2018-07-20 12:30:45
dateTimeTo
datetime
Yes
来訪時間(終了)。例 : 2019-07-20 12:30:45
gender
int
No
性別。1:女性、2:男性
guestCompany
string
No
ビジターの企業。長さ制限は 45
position
string
No
役職。長さ制限は 45
guestPurpose
string
No
ビジターの来訪目的。長さ制限は 45
string
No
メールアドレス。長さ制限は 45
icNumber
string
No
IC カード番号。長さ制限は 20
birthday
string
No
誕生日
level
string
No
ビジターのレベル。長さ制限は 20
prompt
string
No
カスタマイズプロンプト。長さ制限は 45
areaCode
string
No
携帯電話番号の国別コードおよび市外局番
app_key
string
Yes
Appキー
sign
string
Yes
シグネチャ。1.3.1 シグネチャ(sign)の計算の項を参照してください
timestamp
string
Yes
タイムスタンプ
電話番号
remark
string
特記事項
groups
list<group>
ビジターのグループ情報
ic_number
string
IC カード番号
id_number
string
IDカード番号(利用できません)
company_id
long
企業ID
create_at
string
作成時間
update_at
string
更新時間
reception_user_id
long
受付担当者ID
reception_user_name
string
受付担当者名
date_time_from
string
来訪時間(開始)
date_time_to
string
来訪時間(終了)
areaCode
string
電場番号の国別コードおよび市外局番。例 : 86
guestCompany
string
ビジターの企業名
position
string
役職
guestPurpose
string
ビジターの来訪目的
level
string
ビジターのレベル
string
ビジターのメールアドレス
birthday
string
ビジターの誕生日。例 : 2019-06-17
prompt
string
カスタマイズプロンプト
gender
int
ビジターの性別。1:女性、2:男性
無効なパラメーターです。ビジター名が空です
30001
Param Invalid
無効なパラメーターです。ビジターのID 番号の長さが無効です
30001
Param Invalid
無効なパラメーターです。ビジターの携帯電話番号は空にはできません
30001
Param Invalid
無効なパラメーターです。ビジターの携帯電話番号の長さが空です
30001
Param Invalid
無効なパラメーターです。ビジターのコメントは空にはできません
30001
Param Invalid
無効なパラメーターです。ビジターのコメントの長さが無効です
30001
Param Invalid
無効なパラメーターです。ビジターの応対者は空にはできません
30001
Param Invalid
無効なパラメーターです。来訪時間(開始)の形式が無効です
30001
Param Invalid
無効なパラメーターです。来訪時間(終了)の形式が無効です
30001
Param Invalid
無効なパラメーターです。終了時間の形式が無効です
30001
Param Invalid
無効なパラメーターです。ビジターの認証用顔写真の形式が無効です
30001
Param Invalid
無効なパラメーターです。ビジターのグループID が存在しません
30001
Param Invalid
無効なパラメーターです。ビジターの認証用顔写真ファイルが大きすぎます
50001
RPC FAILED
リモート rpc の呼び出しに失敗しました。顔が検知されていません
50001
RPC FAILED
リモート rpc の呼び出しに失敗しました。複数の顔が検知されました
50001
RPC FAILED
リモート rpc の呼び出しに失敗しました。顔の検知に失敗しました
No
ビジターの認証用顔写真
mobile
string
No
携帯電話番号。長さ制限は 20
remark
string
No
特記事項。空の string も指定可能。長さ制限は 255
groups
list<long>
Yes
ビジターグループのリスト。デフォルト値はタイプで定義します。渡さない場合、または空の場合は、どのグループにも追加しないことを示します
force
int
No
強制追加するかどうか。デフォルトで0:強制ではない、1:強制
idNumber
string
No
ID 番号。長さ制限は 6~30(利用できません)
receptionUserId
long
Yes
受付担当者ID
dateTimeFrom
datetime
Yes
来訪時間(開始)。例 : 2018-07-20 12:30:45
dateTimeTo
datetime
Yes
来訪時間(開始)。例 : 2019-07-20 12:30:45
areaCode
string
No
携帯電話番号の国別コードおよび市外局番。
guestCompany
string
No
ビジターの企業名。長さ制限は 45
position
string
No
役職。長さ制限は 45
guestPurpose
string
No
ビジターの来訪目的。長さ制限は 45
level
string
No
ビジターのレベル。長さ制限は 20
string
No
ビジターのメールアドレス。長さ制限は 45
birthday
string
No
ビジターの誕生日。例 : 2019-06-17
prompt
string
No
個別化されたプロンプト。長さ制限は 45
gender
int
No
ビジターの性別。1:女性、2:男性
icNumber
string
No
IC カード番号。長さ制限は 20
app_key
string
Yes
Appキー
sign
string
Yes
シグネチャ。1.3.1 シグネチャ(sign)の計算の項を参照してください
timestamp
string
Yes
タイムスタンプ
電話番号
remark
string
特記事項
groups
list<group>
ビジターグループ情報
position
string
役職
level
string
ビジターのレベル
string
メールアドレス
birthday
string
誕生日
prompt
string
カスタマイズプロンプト
gender
int
ビジターの性別。1:女性、2:男性
ic_number
string
IC カード番号
id_number
string
IDカード番号(利用できません)
company_id
long
企業ID
create_at
string
作成時間
update_at
string
更新時間
reception_user_id
long
受付担当者ID
reception_user_name
string
受付担当者名
group_count
int
ビジターグループ数
date_time_from
string
来訪時間(開始)
date_time_to
string
来訪時間(終了)
date_time
string
来訪時間。
area_code
string
携帯電話番号の国別コードおよび市外局番です。例 :86
guest_company
string
ビジターの企業
guest_purpose
string
ビジターの来訪目的
無効なパラメーターです。ビジター名の長さが無効です
30001
Param Invalid
無効なパラメーターです。ビジター名が空です
30001
Param Invalid
無効なパラメーターです。ビジターのID 番号の長さが無効です
30001
Param Invalid
無効なパラメーターです。ビジターの携帯電話番号は空にはできません
30001
Param Invalid
無効なパラメーターです。ビジターの携帯電話番号の長さが空です
30001
Param Invalid
無効なパラメーターです。ビジターのコメントは空にはできません
30001
Param Invalid
無効なパラメーターです。ビジターのコメントの長さが無効です
30001
Param Invalid
無効なパラメーターです。ビジターの応対者は空にはできません
30001
Param Invalid
無効なパラメーターです。来訪時間(開始)の形式が無効です
30001
Param Invalid
無効なパラメーターです。来訪時間(開始)の形式が無効です
30001
Param Invalid
無効なパラメーターです。終了時間の形式が無効です
30001
Param Invalid
無効なパラメーターです。ビジターの認証用顔写真の形式が無効です
30001
Param Invalid
無効なパラメーターです。ビジターのグループID が存在しません
30001
Param Invalid
無効なパラメーターです。ビジターの認証用顔写真ファイルが大きすぎます
50001
RPC FAILED
リモート rpc の呼び出しに失敗しました
50001
RPC FAILED
リモート rpc の呼び出しに失敗しました。顔が検知されていません
50001
RPC FAILED
リモート rpc の呼び出しに失敗しました。複数の顔が検知されました
50001
RPC FAILED
リモート rpc の呼び出しに失敗しました。顔の検知に失敗しました
Yes
シグネチャ。1.3.1 シグネチャ(sign)の計算の項を参照してください
timestamp
string
Yes
タイムスタンプ
No
強制追加するかどうか。デフォルトで0:強制ではない、1:強制
groups
list<long>
No
拒否リストグループのID リストです。渡さない場合、または空は、どのグループにも追加しないことを示します
areaCode
string
No
国別コードおよび市外局番。長さ制限は 8
mobile
string
No
携帯電話番号。長さ制限は 20
gender
int
No
性別。1:女性、2:男性
birthday
string
No
誕生日(日付形式 : 2019-06-15)
string
No
メールアドレス。長さ制限は 45
icNumber
string
No
IC カード番号。長さ制限は 20
idNumber
string
No
ID カード番号。長さ制限は 6~30(利用できません)
prompt
string
No
カスタマイズプロンプト。長さ制限は 255
remark
string
No
特記事項。長さ制限は 255
app_key
string
Yes
Appキー
sign
string
Yes
シグネチャ。1.3.1 シグネチャ(sign)の計算の項を参照してください
timestamp
string
Yes
タイムスタンプ
携帯電話番号
string
メールアドレス
birthday
string
誕生日
remark
string
追加情報
groups
list<group>
グループ情報
prompt
string
カスタマイズプロンプト
gender
int
性別。0:不明、1:女性、2:男性
avatar_show
string
表示用写真
ic_number
string
IC カード番号
id_number
string
ID カード番号
area_code
string
国別コードおよび市外局番です。数字のみを指定できます。何も入力されなかった場合のデフォルトは 86 です
last_type
int
型
create_at
string
作成時間
IC カード番号はシステム内に存在しています
30001
Param Invalid
従業員IDはシステム内に存在しています
30001
Param Invalid
グループID は企業に属していません
600
Sync Failed
認証用顔写真内で顔を検出できません
600
Sync Failed
認証用顔写真内で複数の顔が検出されました
600
Sync Failed
顔の数が最大数の制限を超えています
600
Sync Failed
認証用顔写真が小さすぎます
600
Sync Failed
検知スコアが低すぎます
600
Sync Failed
顔フレームのピクセルが少なすぎます
600
Sync Failed
ピッチ角が大きすぎます
600
Sync Failed
転向角が大きすぎます
600
Sync Failed
ロール角が大きすぎます
600
Sync Failed
対面距離が基準を満たしていません
600
Sync Failed
顔サイズ比が低すぎます (顔の長方形部分/画像領域)
600
Sync Failed
顔が遮られすぎています
600
Sync Failed
明るさが基準を満たしていません
600
Sync Failed
あいまいさが基準を満たしていません
600
Sync Failed
口が開き過ぎています
600
Sync Failed
欠けた顔が多すぎます
600
Sync Failed
RPCに失敗しました
610
Similar User Exist
類似する登録者がすでに存在します
700
Multi Request Error
一括処理に失敗しました
700
Multi Request Error
拒否リストとグループの連携に失敗しました
30001
Param Invalid
拒否リスト名は空にはできません
30001
Param Invalid
拒否リスト名が長すぎます
30001
Param Invalid
拒否リストの電話番号が無効です
30001
Param Invalid
拒否リストのメールアドレスが長すぎます
30001
Param Invalid
拒否リストのメールアドレスが無効です
30001
Param Invalid
拒否リストの誕生日の形式が無効です
30001
Param Invalid
拒否リストの電話番号が長すぎます
30001
Param Invalid
拒否リストのカスタマイズメッセージが長すぎます
30001
Param Invalid
拒否リストの特記事項が長すぎます
30001
Param Invalid
拒否リストのIC カード番号が長すぎます
30001
Param Invalid
拒否リストのID カード番号の長さが無効です
30001
Param Invalid
拒否リストの領域の長さが無効です
30001
Param Invalid
拒否リストの領域の形式が無効です
30001
Param Invalid
拒否リストの認証用顔写真ファイルが無効です
30001
Param Invalid
拒否リストの認証用顔写真ファイルが大きすぎます
Yes
Appキー
sign
string
Yes
シグネチャ。1.3.1 シグネチャ(sign)の計算の項を参照してください
timestamp
string
Yes
タイムスタンプ
拒否リストとグループの連携に失敗しました
700
Multi Request Error
拒否リストとグループの連携解除に失敗しました
Yes
シグネチャ。1.3.1 シグネチャ(sign)の計算の項を参照してください
timestamp
string
Yes
タイムスタンプ
No
強制追加するかどうか。デフォルトで0:強制ではない、1:強制
areaCode
string
No
国別コードおよび市外局番
avatarFile
file
No
認証用顔写真
birthday
string
No
誕生日(日付形式 : 2019-06-15)
gender
int
No
性別。1:女性、2:男性
groups
list
No
拒否リストグループのID リスト。渡さない場合、または空の場合は、どのグループにも追加しないことを示します
icNumber
string
No
IC カード番号。長さ制限は 20
idNumber
string
No
ID カード番号。長さ制限は 6~30(利用できません)
string
No
メールアドレス
mobile
string
No
携帯電話番号
prompt
string
No
カスタマイズプロンプト
remark
string
No
特記事項
app_key
string
Yes
Appキー
sign
string
Yes
シグネチャ。1.3.1 シグネチャ(sign)の計算の項を参照してください
timestamp
string
Yes
タイムスタンプ
携帯電話番号
string
メールアドレス
birthday
string
誕生日
remark
string
追加情報
groups
list<group>
グループ情報
prompt
string
カスタマイズプロンプト
gender
int
性別。0:不明、1:女性、2:男性
avatar_show
string
表示用写真
ic_number
string
IC カード番号
id_number
string
ID カード番号
area_code
string
国別コードおよび市外局番。数字のみを指定できます。何も入力されなかった場合のデフォルトは 86
last_type
int
タイプ
create_at
string
作成時間
create_by
string
作成者
IC カード番号はシステム内に存在しています
30001
Param Invalid
従業員IDはシステム内に存在しています
30001
Param Invalid
グループID は企業に属していません
600
Sync Failed
認証用顔写真内で顔を検出できません
600
Sync Failed
認証用顔写真内で複数の顔が検出されました
600
Sync Failed
顔の数が最大数の制限を超えています
600
Sync Failed
認証用顔写真が小さすぎます
600
Sync Failed
検知スコアが低すぎます
600
Sync Failed
顔フレームのピクセルが少なすぎます
600
Sync Failed
ピッチ角が大きすぎます
600
Sync Failed
転向角が大きすぎます
600
Sync Failed
ロール角が大きすぎます
600
Sync Failed
対面距離が基準を満たしていません
600
Sync Failed
顔サイズ比が低すぎます(顔の長方形の領域 / 画像領域)
600
Sync Failed
顔が遮られすぎています
600
Sync Failed
明るさが基準を満たしていません
600
Sync Failed
あいまいさが基準を満たしていません
600
Sync Failed
口が開き過ぎています
600
Sync Failed
欠けた顔が多すぎます
600
Sync Failed
RPCに失敗しました
610
Similar User Exist
類似する登録者がすでに存在します
700
Multi Request Error
一括処理に失敗しました
700
Multi Request Error
拒否リストとグループの連携に失敗しました
30001
Param Invalid
拒否リスト名は空にはできません
30001
Param Invalid
拒否リスト名が長すぎます
30001
Param Invalid
拒否リストの電話番号が無効です
30001
Param Invalid
拒否リストのメールアドレスが長すぎます
30001
Param Invalid
拒否リストのメールアドレスが無効です
30001
Param Invalid
拒否リストの誕生日の形式が無効です
30001
Param Invalid
拒否リストの電話番号が長すぎます
30001
Param Invalid
拒否リストのカスタマイズメッセージが長すぎます
30001
Param Invalid
拒否リストの特記事項が長すぎます
30001
Param Invalid
拒否リストのIC カード番号が長すぎます
30001
Param Invalid
拒否リストのID カード番号の長さが無効です
30001
Param Invalid
拒否リストの領域の長さが無効です
30001
Param Invalid
拒否リスト領域の形式が無効です
30001
Param Invalid
拒否リストの認証用顔写真ファイルが無効です
30001
Param Invalid
拒否リストの認証用顔写真ファイルが大きすぎます
Yes
シグネチャ。1.3.1 シグネチャ(sign)の計算の項を参照してください
timestamp
string
Yes
タイムスタンプ
削除に失敗しました
No
従業員ID
mobile
string
No
携帯電話番号
string
No
メールアドレス
icNumber
string
No
IC カード番号
idNumber
string
No
ID カード番号(利用できません)
id
long
No
登録者ID
departmentId※
long
No
部署ID
groups※
array
No
グループのリスト
page
int
No
ページ番号(デフォルトは 1 )
size
int
No
1 ページあたりのデータの数(デフォルトは 20)。最大値は 100
app_key
string
Yes
Appキー
sign
string
Yes
シグネチャ。1.3.1 シグネチャ(sign)の計算の項を参照してください。
timestamp
string
Yes
タイムスタンプ
グループ情報。インターフェースから返された登録者数が 1 人のみの場合、グループ情報が含まれます。複数の登録者が返された場合、グループ情報は含まれません
name
string
登録者名
avatar
string
登録者の認証用顔写真
mobile
string
携帯電話番号
ic_number
string
IC カード番号
id_number
string
IDカード番号(利用できません)
job_number
string
従業員ID
birthday
string
誕生日
string
メールアドレス
gender
string
性別。1:女性、2:男性
prompt
string
顔認証時に表示するカスタムメッセージ
remark
string
特記事項
position
string
役職
location
string
場所
company_id
long
企業ID
department_id
long
部署ID
area_code
string
携帯電話番号の国別コードおよび市外局番
entry_time
string
入社日
receptionUserId
long
ビジター応対者の登録者ID
dateTimeFrom
datetime
来訪開始時間(秒単位)。例:2018-07-20 12:30:45
dateTimeTo
datetime
来訪終了時間(秒単位)。例:2018-07-20 12:30:45
guest_company
string
ビジターの企業
guest_purpose
string
ビジターの来訪目的
guest_level
string
ビジターのレベル
create_at
string
作成時間
update_at
string
更新時間
パラメーター名
型
必須
説明
avatarFile
file
No
認証用顔写真。4MB以下の写真を利用してください
force
int
No
強制追加するかどうか。デフォルトで0:強制ではない、1:強制
groups
パラメーター名
型
説明
id
long
従業員ID
name
string
従業員名
avatar
string
認証用顔写真
mobile
パラメーター名
型
説明
id
long
グループID
name
string
グループ名
type
int
グループタイプ
code
メッセージ
説明
610
Similar User Exist
類似する従業員がすでに存在します
709
The maximum number of persons in the tenant has been reached.
ご利用のプランの登録人数上限に達しました。
30001
Param Invalid
無効なパラメーターです。登録者名の長さが無効です
30001
パラメーター名
型
必須
説明
id
int
Yes
変更する従業員ID の情報。タイプは path で、URL に記述されます
avatarFile
file
No
従業員の認証用顔写真
force
パラメーター名
型
説明
id
long
グループID
name
string
グループ名
type
int
グループタイプ
パラメーター名
型
説明
id
long
従業員ID
name
string
従業員名
avatar
string
従業員の認証用顔写真
mobile
パラメーター名
型
説明
id
long
グループID
name
string
グループ名
type
int
グループタイプ
code
メッセージ
説明
610
Similar User Exist
類似する従業員がすでに存在します
30001
Param Invalid
無効なパラメーターです
50001
RPC FAILED
RPCに失敗しました(顔の検知に失敗したなど)
50002
パラメーター名
型
必須
説明
id
long
Yes
従業員のID。タイプは path で、URL に記述されます
app_key
string
Yes
Appキー
sign
パラメーター名
型
説明
code
int
リターンコード
message
string
リターンメッセージ
code
メッセージ
説明
30001
Param Invalid
無効なパラメーターです
パラメーター名
型
必須
説明
date
string
Yes
指定された日付
app_key
string
Yes
Appキー
sign
パラメーター名
型
説明
code
int
リターンコード
message
string
リターンメッセージ
employee_id
string
従業員ID
image_URL
code
メッセージ
説明
30001
Param Invalid
無効なパラメーターです
パラメーター名
型
必須
説明
name
string
Yes
ビジター名。長さ制限は 45
avatarFile
file
Yes
認証用顔写真
mobile
パラメーター名
型
説明
id
long
ビジターID
name
string
ビジター名
avatar
string
ビジターの認証用顔写真
mobile
パラメーター名
型
説明
id
long
グループID
name
string
グループ名
type
int
グループタイプ
code
メッセージ
説明
610
Similar User Exist
類似する従業員がすでに存在します
709
The maximum number of persons in the tenant has been reached.
ご利用のプランの登録人数上限に達しました。
30001
Param Invalid
無効なパラメーターです。ビジター名の長さが無効です
30001
パラメーター名
型
必須
説明
id
long
Yes
ビジターID
name
string
Yes
ビジター名。長さ制限は 45
avatarFile
パラメーター名
型
説明
id
long
ビジターID
name
string
ビジター名
avatar
string
ビジターの認証用顔写真
mobile
パラメーター名
型
説明
id
long
グループID
name
string
グループ名
type
long
グループタイプ
code
メッセージ
説明
610
Similar User Exist
類似する従業員がすでに存在します
30001
Param Invalid
ビジターが存在しません
30001
Param Invalid
ビジターが企業に属していません
30001
パラメーター名
型
必須
説明
id
long
Yes
ビジターID。タイプは path で、URL に記述されます
app_key
string
Yes
Appキー
sign
パラメーター名
型
説明
code
int
リターンコード
message
string
リターンメッセージ
code
メッセージ
説明
30001
Param Invalid
ビジターが存在しません
30001
Param Invalid
ビジターが企業に属していません
50001
RPC FAILED
ビジターを削除するためのRPCに失敗しました
パラメーター名
型
必須
説明
avatarFile
file
No
認証用顔写真
name
string
Yes
名前。長さ制限は 45
force
パラメーター名
型
説明
id
int
拒否リスト ID
name
string
拒否リスト名
avatar
string
認証用顔写真 ID
mobile
パラメーター名
型
説明
id
long
グループID
name
string
グループ名
type
int
グループタイプ
code
メッセージ
エラーの説明
709
The maximum number of persons in the tenant has been reached.
ご利用のプランの登録人数上限に達しました。
30001
Param Invalid
電話番号はシステム内に存在しています
30001
Param Invalid
ID カード番号はシステム内に存在しています
30001
パラメーター名
型
必須
説明
userId
long
Yes
従業員またはビジターのID
groupIds
list<long>
Yes
拒否リストのグループID リスト。空の場合は拒否リストグループには追加されません
app_key
code
メッセージ
エラーの説明
498
Param Invalid
拒否リストが存在しません
498
Param Invalid
無効な登録者タイプです(拒否リストに移動中で、従業員でもビジターでもありません)
30001
Param Invalid
グループが空になっています
700
パラメーター名
型
必須
説明
id
long
Yes
拒否リストのID
app_key
string
Yes
Appキー
sign
code
メッセージ
エラーの説明
30001
Param Invalid
登録者タイプが正しくありません。拒否リストの元の識別子が従業員またはビジターではないため、拒否リストから外すことができません
30001
Param Invalid
登録者タイプが正しくありません。拒否リストには元の識別子が無いため、拒否リストから外すことができません
パラメーター名
型
必須
説明
id
long
Yes
拒否リストのID
name
string
Yes
名前
force
パラメーター名
型
説明
id
int
拒否リスト ID
name
string
従業員名
avatar
string
認証用顔写真 ID
mobile
パラメーター名
型
説明
id
long
グループID
name
string
グループ名
type
int
グループタイプ
code
メッセージ
エラーの説明
30001
Param Invalid
拒否リストID が存在しません
30001
Param Invalid
電話番号はシステム内に存在しています
30001
Param Invalid
ID カード番号はシステム内に存在しています
30001
パラメーター名
型
必須
説明
id
long
Yes
拒否リストのID
app_key
string
Yes
Appキー
sign
code
メッセージ
エラーの説明
30001
Param Invalid
拒否リストID が存在しません
600
Sync Failed
リモート削除に失敗しました
700
Multi Request Error
拒否リストとグループの連携解除に失敗しました
50001
パラメーター名
型
必須
説明
type
int
No
登録者の識別子タイプ。1:従業員、2:ビジター、5:拒否リストです。情報が渡されなかった場合、すべてのリストが返されます
name
string
No
登録者名
jobNumber
パラメーター名
型
説明
id
long
登録者ID
type
int
識別子タイプ。1:従業員、2:ビジター、3:不明、4: 非生体、5:拒否リスト
last_type
int
元の識別子。拒否リストの登録者にのみ適用されます。1:従業員、2:ビジター
groupList
パラメーター名
型
説明
id
long
グループID
name
string
グループ名
type
int
グループタイプ
code
メッセージ
エラーの説明
30001
Param Invalid
無効なパラメーターです
list<long>
string
Param Invalid
int
string
Internal Server Error
string
string
string
string
string
Param Invalid
file
string
Param Invalid
string
int
string
Param Invalid
string
Multi Request Error
string
int
string
Param Invalid
string
RPC FAILED
string
list<group>
{
"code": 200,
"message": "OK",
"data": {
"id": 65838,
"name": "1312313123123122",
"avatar": "5cbe78b135060d0001750ef5",
"mobile": "",
"remark": "",
"type": 1,
"birthday": "",
"mail": null,
"position": null,
"location": null,
"groupList": [
{
"id": 1,
"name": "Default group",
"type": 1
}
],
"gender": 1,
"prompt": "",
"ic_number": "",
"id_number": "te9+d6aXoDe5zTCUywgn9+zmx4HElB4W",
"job_number": "",
"company_id": 1,
"create_at": "2019-04-23 10:30:08",
"update_at": "2019-04-23 10:30:08",
"department_id": 0,
"area_code": null,
"entry_time": "2018-9-10"
}
}{
"code": 30002,
"message": "Similar User Exist",
"data": {
"similar_user_id": 65833,
"similar_user_name": "11111111",
"similar_user_avatar": "5cbe7dec35060d0001750f15",
"can_force": 0
},
"desc": "ex.similar-user"
}{
"code": 200,
"message": "OK",
"data": {
"id": 79653,
"name": "1312313123123122",
"avatar": "",
"mobile": "123",
"remark": "",
"type": 1,
"birthday": null,
"mail": null,
"position": null,
"location": null,
"groupList": [{
"id": 1,
"name": "Default group",
"type": 1
}],
"gender": null,
"prompt": null,
"ic_number": "1234000",
"id_number": null,
"job_number": "120003",
"company_id": 1,
"create_at": null,
"update_at": "2019-08-22 11:03:18",
"department_id": null,
"area_code": null,
"entry_time": null,
}
}{
"code": 200,
"message": "OK"
}{
"code": 200,
"message": "OK",
"data": [
{
"employee_id":"001"
"image_URL": "xxx",
"remark": 0
},
{
"employee_id":"002"
"image_URL": "xxx",
"remark": 1
}
]
}{
"code": 200,
"message": "OK",
"data": {
"id": 79661,
"name": "zml",
"avatar": "5d5e36e4f684640001b34027",
"mobile": "123",
"remark": "",
"groups": [],
"position": null,
"level": null,
"mail": null,
"birthday": null,
"prompt": null,
"gender": null,
"ic_number": "",
"id_number": "kBDHQ/IUQtY=",
"company_id": 1,
"reception_user_id": 4567,
"reception_user_name": "太朗",
"group_count": 0,
"date_time": "2018-07-20 12:30:45.0",
"date_time_from": "2018-07-20 12:30:45.0",
"date_time_to": "2020-07-20 12:30:45.0",
"create_at": "2019-08-22 14:32:04.0",
"update_at": "2019-08-22 6:32:04.0",
"area_code": null,
"guest_company": null,
"guest_purpose": null
}
}{
"code": 200,
"message": "OK",
"data": {
"id": 124379,
"name": "zml",
"avatar": "5dad624c199e160001c45e8f",
"mobile": "123",
"remark": "",
"groups": [{
"id": 14,
"name": "Default group",
"type": 2
}],
"position": "",
"level": "",
"mail": "",
"birthday": null,
"prompt": "",
"gender": 2,
"ic_number": "",
"id_number": "kBDHQ/IUQtY=",
"company_id": 12,
"reception_user_id": 124794,
"reception_user_name": "太朗",
"group_count": 1,
"date_time": "2018-07-20 12:30:45",
"date_time_from": "2018-07-20 12:30:45",
"date_time_to": "2020-07-20 12:30:45",
"create_at": "2019-10-21 15:51:28",
"update_at": "2019-10-30 20:45:05",
"area_code": "86",
"guest_company": "",
"guest_purpose": ""
}
}{
"code": 200,
"message": "OK"
}{
"code": 200,
"message": "OK",
"data": {
"id": 66865,
"name": "山田",
"avatar": "5d084f23b2814100015ad03c",
"mobile": "13655588555",
"mail": "[email protected]",
"birthday": "2019-06-11",
"remark": "demo",
"groups": [
{
"id": 126,
"name": "デフォルト拒否リスト",
"type": 3
},
{
"id": 127,
"name": "2",
"type": 3
}
],
"prompt": "ようこそ",
"gender": 0,
"createBy": "OPEN API",
"avatar_show": "",
"ic_number": "",
"id_number": "1545557788555",
"area_code": "86",
"last_type": 0,
"create_at": "2019-06-18 02:40:35.0"
}
} {
"code": 200,
"message": "OK",
}{
"code": 200,
"message": "OK",
}{
"code": 200,
"message": "OK",
"desc": "",
"data": {
"id": 124759,
"name": "668089",
"avatar": "5dba86ff7bf01300010b02c9",
"mobile": "",
"mail": "",
"birthday": "",
"remark": "",
"groups": [{
"id": 15,
"name": "Blacklist default group",
"type": 5
}],
"prompt": "",
"gender": 2,
"avatar_show": "",
"ic_number": "",
"id_number": "3O8bqu0sRiKA7+LVRzE3eQ==",
"area_code": "86",
"last_type": 0,
"create_by": "admin1234",
"create_at": "2019-10-23 17:28:19"
}
}{
"code": 200,
"message": "OK",
}{
"code": 200,
"message": "OK",
"data": [
{
"id": 67015,
"name": "太郎",
"avatar": "5d0afdde1870ac00019ffffd",
"mobile": "1882960772",
"remark": "",
"type": 1,
"birthday": null,
"mail": "",
"position": "",
"location": "",
"groupList": [
{
"id": 1,
"name": "Default group",
"type": 1
}
],
"gender": 1,
"prompt": "",
"ic_number": "",
"id_number": "",
"job_number": "",
"company_id": 1,
"create_at": "2019-06-20 03:30:37.0",
"update_at": "2019-06-20 03:30:38.0",
"department_id": 0,
"area_code": "86",
"entry_time": null,
"country_code": null,
"place_code": null,
"staff_type": 0,
"reception_user_id": 0,
"date_time_from": "2017-01-01 00:00:00.0",
"date_time_to": "2017-01-01 00:00:00.0",
"avatar_show": null,
"phone_suffix": "",
"guest_company": null,
"guest_purpose": null,
"guest_level": null,
"add_time": "2019-06-20 03:30:38.0",
"guest_auth_status": 1,
"last_type": 0
}
]
}