拡張版SPLATS API利用シーン
自動ドアや電気錠の施解錠を制御
パスコントローラー操作リクエストにより自動ドアや電気錠の施解錠を制御することができます。
パスコントローラー操作リクエストでは、制御対象が自動ドアまたは電気錠の場合、以下の操作をすることができます。
-
ドアを解錠する
-
ドアを施錠する
-
ドアを開いたままにする
それぞれの操作の利用シーンとリクエスト内容について説明します。
ドアを解錠する
SPLATSではメンバーやゲストに権限を付与することでカードやQRコードによる認証が可能ですが、「外部サービス内にてメンバーの認証を行ったタイミングでドアを解錠する」など、外部サービス内での操作をトリガーにデバイスの解錠をしたい場合に使用します。
デバイス(パスコントローラー)にはオートロックするまでの秒数が設定されています。この設定はメンバーサイトからのみ変更できます。 |
項目 | 内容 |
---|---|
操作 |
ドアを解錠する |
エンドポイント |
https://api-link.splats.jp/v1/devices/passes/{device_id}/requests |
HTTPメソッド |
POST |
リクエストヘッダー |
|
リクエストボディ |
|
ドアを開いたままにする・ドアを施錠する
以下のような時間帯別の入退室管理を実現したい場合に使用します。
-
営業時間中:ドアを開いたままにして自由な出入りを許可
-
営業時間外:ドアを施錠し、権限のある特定のメンバーのみが認証により解錠可能
-
緊急時:避難経路確保のためドアを開いたままに設定
ドアを施錠している時間は、通常通り、SPLATS上に登録された権限のあるメンバーやゲストがカードやQRコードを使用して解錠できます。 |
「ドアを開いたままにする」操作を行った場合、そのドアは認証を必要とせず誰でも通行できる状態になります。 |
自動ドアに「ドアを開いたままにする」操作を行った場合、自動ドア自体はその自動ドアの仕様に従って開閉が行われます。自動ドア自体が開いたままになるのではなく、閉まっても施錠されないという動作を行います。 |
項目 | 内容 |
---|---|
操作 |
ドアを開いたままにする |
エンドポイント |
https://api-link.splats.jp/v1/devices/passes/{device_id}/requests |
HTTPメソッド |
POST |
リクエストヘッダー |
|
リクエストボディ |
|
項目 | 内容 |
---|---|
操作 |
ドアを施錠する |
エンドポイント |
https://api-link.splats.jp/v1/devices/passes/{device_id}/requests |
HTTPメソッド |
POST |
リクエストヘッダー |
|
リクエストボディ |
|
セキュリティゲートの施解錠を制御
パスコントローラー操作リクエストによりセキュリティゲートの施解錠を制御することができます。 パスコントローラー操作リクエストでは、制御対象がセキュリティゲートの場合、以下の操作をすることができます。
-
ゲートを入室方向に開く
-
ゲートを退室方向に開く
-
ゲートを閉じる
-
ゲートを開いたままにする
セキュリティゲートゲートの基本事項、それぞれの操作の利用シーンとリクエスト内容について説明します。
「セキュリティゲートが開く」とは、セキュリティゲートに付属するフラップが開くことを意味します。 |
入室方向と退室方向
セキュリティゲートには「入室方向に開く」場合と「退室方向に開く」場合の二方向の開き方があります。
入室方向や退室方向はエリアとそれに紐づくデバイス(パスコントローラー)の設定により定まります。
SPLATSでは一つのデバイス(パスコントローラー)に対して二つのエリアが紐づいています。
エリア取得(全体)APIのレスポンスで各エリアとデバイスの紐づけを確認することができます。
エリア①とエリア②にまたがるデバイス(パスコントローラー)がある下図の状態を考えます。
このとき、入室方向と退室方向は以下のように定まります。
エリアの移動方向 | 入室方向/退室方向 |
---|---|
エリア① → エリア② |
入室方向 |
エリア② → エリア① |
退室方向 |
以上から、エリア①にいるメンバーがエリア②へ移動するためにセキュリティゲートを解錠する場合、「入室方向に開く」パスコントローラー操作リクエストを行います。
セキュリティゲートが開いた方向からセキュリティゲートを通行する(通行方向と逆向きにセキュリティゲートが開く)と、不正と判断されて音声による警告が鳴ります。そのため、セキュリティゲートの開く方向を適切に制御することを推奨します。 |
ゲートを開く
SPLATSではメンバーやゲストに権限を付与することでカードやQRコードによる認証が可能ですが、「外部サービス内にてメンバーの認証を行ったタイミングでセキュリティゲートを解錠する」など、外部サービス内での操作をトリガーにデバイスの解錠をしたい場合に使用します。
デバイス(パスコントローラー)にはオートロックするまでの秒数が設定されています。この設定はメンバーサイトからのみ変更できます。 |
現在メンバーがいるエリアとメンバーが移動する移動先のエリアから「入室方向に開く」か「退室方向に開く」かを指定してください。
項目 | 内容 |
---|---|
操作 |
ゲートを入室方向に開く |
エンドポイント |
https://api-link.splats.jp/v1/devices/passes/{device_id}/requests |
HTTPメソッド |
POST |
リクエストヘッダー |
|
リクエストボディ |
|
項目 | 内容 |
---|---|
操作 |
ゲートを退室方向に開く |
エンドポイント |
https://api-link.splats.jp/v1/devices/passes/{device_id}/requests |
HTTPメソッド |
POST |
リクエストヘッダー |
|
リクエストボディ |
|
ゲートを開いたままにする・ゲートを閉じる
災害などの緊急時にセキュリティゲートを開いたままにしたい場合などに使用します。
セキュリティゲートを閉じている時間は、通常通り、SPLATS上に登録された権限のあるメンバーやゲストがカードやQRコードを使用して解錠できます。 |
セキュリティゲートに「ゲートを開いたままにする」操作を行った場合、セキュリティゲートのフラップが開いたままになります。 |
項目 | 内容 |
---|---|
操作 |
ゲートを開いたままにする |
エンドポイント |
https://api-link.splats.jp/v1/devices/passes/{device_id}/requests |
HTTPメソッド |
POST |
リクエストヘッダー |
|
リクエストボディ |
|
項目 | 内容 |
---|---|
操作 |
ゲートを施錠する |
エンドポイント |
https://api-link.splats.jp/v1/devices/passes/{device_id}/requests |
HTTPメソッド |
POST |
リクエストヘッダー |
|
リクエストボディ |
|
キーボックスの施解錠を制御
キーボックス操作リクエストによりキーボックスの扉やカギの施解錠を制御することができます。
キーボックス操作リクエストでは、以下の操作をすることができます。
-
カギを解錠する
-
カギを施錠する
それぞれの操作の利用シーンとリクエスト内容について説明します。
指定したカギを取り出す
施設管理サービスや車両管理サービスなど、物理的な「カギ」が必要なサービスにおいて、そのカギをSPLATS KEYに保管し、「外部サービス内にてメンバーが利用開始をリクエストしたタイミングで鍵を解錠する」など、外部サービス内でカギの取り出しを制御したい場合に使用します。
デバイス(キーボックス)にはカギを取り出せる時間が設定されています。この設定はメンバーサイトからのみ変更できます。 |
カギを解錠する操作では、解錠するカギの番号をリストで指定することで、指定したカギを取り出すことができます。
1番と2番のカギを解錠する例を以下に示します。
項目 | 内容 |
---|---|
操作 |
カギを解錠する |
エンドポイント |
https://api-link.splats.jp/v1/devices/keys/{key_device_id}/requests |
HTTPメソッド |
POST |
リクエストヘッダー |
|
リクエストボディ |
|
カギの返却のために解錠する
指定したカギを取り出す 操作で取り出したカギを返却するときに使用します。
カギの返却のために解錠する場合、キーボックスと個別キーボックスでリクエスト内容が異なります。
キーボックスでは、キーボックスの扉を解錠することでカギの返却が可能になります。一方、個別キーボックスでは、取り出し時と同様に各カギを解錠することでカギの返却が可能になります。
キーボックス
キーボックスの場合は targets
を空リストにしてリクエストしてください。
targets
を空リストにしたとき、キーボックスの扉のみが解錠されます。保管されているカギは解錠されません。
項目 | 内容 |
---|---|
操作 |
カギの返却のために解錠する(キーボックス) |
エンドポイント |
https://api-link.splats.jp/v1/devices/keys/{key_device_id}/requests |
HTTPメソッド |
POST |
リクエストヘッダー |
|
リクエストボディ |
|
個別キーボックス
個別キーボックスの場合は targets
を返却するカギ番号のリストにしてリクエストしてください。
6番と12番のカギを返却する例を以下に示します。
項目 | 内容 |
---|---|
操作 |
カギの返却のために解錠する(個別キーボックス) |
エンドポイント |
https://api-link.splats.jp/v1/devices/keys/{key_device_id}/requests |
HTTPメソッド |
POST |
リクエストヘッダー |
|
リクエストボディ |
|
拡張版SPLATS API注意事項
デバイスを操作をする
パスコントローラー情報取得(全体)APIやキーボックス情報取得(全体)APIでテナントに紐づくデバイス情報を取得します。取得したデバイス情報から特定のデバイスIDを指定してデバイス操作リクエストを行います。
デバイスを操作するにはデバイスがSPLATSクラウドと通信できることが必要です。開発段階でデバイスが存在しない場合や、本番運用中であるがデバイスが通信エラーまたは電源OFFとなっている場合は、デバイス操作リクエストに失敗します。 |
デバイスの操作に失敗する条件
デバイス操作リクエストに失敗する状態とそのときのレスポンス内容(ステータスコード)を以下の表に示します。
エラーコードを確認することでリクエストに失敗した原因が分かるので、必要に応じてエラーハンドリングをしてください。
状態 | ステータスコード | エラーコード |
---|---|---|
デバイスの電源がOFFである |
400 |
40091 |
デバイスとクラウド間で通信エラーが発生している |
400 |
40092 |
デバイスとクラウドが紐づいていない |
404 |
40481 |
デバイスが30秒以内に処理を受け付けられなかった(タイムアウト) |
408 |
- |
以下の場合、デバイス操作リクエストはタイムアウトとなります。
|
デバイス操作の理由をログに記録する
SPLATSではドアの開閉やカギの取り出し・返却、及びそれらの操作者の情報をログに記録しています。SPLATS APIを使用したデバイス操作では、システムによる操作であるため、実際の利用者情報や操作の詳細情報はSPLATS上のログに自動的には記録されません。
SPLATS上のログに詳細情報を記録するには、リクエスト時に info
パラメータで付加情報を指定する必要があります。必要に応じて適切な情報をログに記録してください。
拡張版SPLATS APIの実装ガイド
デバイス操作リクエストの結果を取得する
デバイス操作リクエストAPIではリクエストを受け付けたかどうかのみをレスポンスします。リクエストが受け付けられた場合は、レスポンスにリクエストIDが含まれます。そのリクエストIDを使用してリクエスト結果取得APIを呼び出すことでリクエスト結果を取得することができます。
デバイス操作リクエストのフロー例は以下の図の通りとなります。
デバイス操作リクエストにおけるリクエスト進捗 status
の succeeded
という値は、デバイスがリクエストを受け取ったことを意味します。
デバイス操作リクエストが成功しても、実際にドアが開かれたり、カギが取り出されたりしたかまでは分かりません。物理的な動作の有無は、別途 デバイス状態取得API や Webhook 等で確認する必要があります。
モックデバイスを操作する
モックデバイスは、実際のパスコントローラーやキーボックスがクラウドに接続されていない開発段階でも、デバイスへの操作リクエストAPIをテストできる機能です。特定の device_id
や key_device_id
を指定することで、実際のデバイスが動作しているかのようなレスポンスを受け取ることができます。モックデバイスを活用することで、実際のデバイスを用意することなく、アプリケーションの開発・テストを効率的に進めることができます。
モックデバイスへのAPIリクエストも他のAPIリクエストと同様にレート制限の対象となります。 |
モックデバイスID
device_id |
動作内容 |
---|---|
|
リクエストが即時に成功します |
|
リクエストが5秒後に成功します |
|
リクエストがタイムアウトします |
使用例
デバイス操作リクエストを行ってデバイスが実際に動作するまでに多少の時間を要することがあります。
そのため、リクエスト結果を取得してリクエストが成功したかを確認するためにはリトライ処理が必要になります。
リクエスト結果取得APIのリトライ処理は、モックデバイスIDに mock_succeeded_5
を指定することでテストを行うことができます。
その際のフローは以下の図の通りとなります。
※ リトライ間隔は適切に設定してください。