本仕様書は、当社製品をご購入いただいたお客様で、APIの基本知識を有した方向けに、当該該当製品のAPIコマンドについて説明するための資料であり、当社からお客様にご提供できる情報の全てです。
当社は、本仕様書に記載している具体的なコマンドやサンプルプログラムの内容等については、サポートを提供しておりませんのであらかじめご了承ください。
また本仕様書を用いての、お客様における運用やご利用などにつきましては、当社は一切の責任を負いかねます。
不明点などある場合は必ず販売会社にご相談の上行っていただくようにお願いします。
本仕様書の内容および仕様は予告無く変更することがありますがご了承ください。
リクエストヘッダー
No. | HTTP Header | Value |
---|---|---|
1 | Content-Type | application/json; charset=UTF-8 |
2 | Connection | Close |
3 | Content-Length | Send data size |
クライアントからのHTTPリクエストを受付けた場合、アプリケーションが応答出来ない場合を除いて、 HTTPステータスコードは全て「200」が設定されます。
その他の一般的なHTTP通信エラーについては、「404」「403」などのステータスコードが返却されます。 その場合、本APIで定義するResponse bodyは返却されません。
Request
JSON形式で送信します。画像データを必要とするAPIの場合、画像データはBASE64形式にてエンコードする必要があります。
Response
応答は、HTTPステータスコードとJSON形式の本文で返却されます。 画像データが含まれる場合、BASE64形式にてエンコードされたデータが返却されます。
応答例
{
"status_body":
{
"status":true,
"details": [
{
"srv_id":"9999",
"code":"00000",
"message":"OK"
}
]
},
"result_body":
{
*Depends on API
}
}
details 内の code 値に「00000」または「00001」が設定されている場合は status は true となります。
status が true の場合、詳細な応答情報が result_body に設定されます。 status が false の場合は、 result_body は設定されません。
details 内の srv_id は9999(固定)です。
WV-ASA100の設定を行うことでHTTPS通信が可能となります。通信プロトコルはTLS1.2のみ対応しています。
WV-ASA100インストール時はサーバー証明書には自己署名証明書が設定されます。
クライアントで証明書検証を行う場合、パブリックCAにより発行された証明書に置き換えていただくことを推奨します。
本ドキュメントはReDocを使用して生成されています。
使用可能なAI機能は、カメラにインストールされている機能拡張ソフトウェアによって変わります。
本APIにより、ベストショット画像検索、アラーム履歴検索、統計情報それぞれ使用可能なAI機能の情報を取得することできます。
{- "status_body": {
- "status": true,
- "details": [
- {
- "srv_id": "9999",
- "code": "00000",
- "message": "OK"
}
]
}, - "result_body": {
- "multi_ai_soft_version": "1.3.2.4",
- "bestshot_type_list": [
- {
- "section": "face",
- "server_type": "local",
- "search_item": [
- "date&time",
- "cameras"
]
}, - {
- "section": "people",
- "server_type": "local",
- "search_item": [
- "date&time",
- "cameras",
- "attribute",
- "similarity"
]
}, - {
- "section": "vehicle",
- "server_type": "local",
- "search_item": [
- "date&time",
- "cameras",
- "attribute",
- "similarity"
]
}
], - "alarm_type_list": [
- {
- "section": "face",
- "alarm_type": "(registered category)"
}, - {
- "section": "people",
- "alarm_type": "listed-alarm"
}, - {
- "section": "sound",
- "alarm_type": [
- "gunshot",
- "glass break",
- "vehicle horn",
- "yell",
- "audio detection"
]
}, - {
- "section": "aivmd",
- "alarm_type": [
- "intruder detection",
- "loitering detection",
- "cross line detection",
- "direction detection"
]
}, - {
- "section": "peopleCount",
- "alarm_type": [
- "occupancy"
]
}
]
}
}
{- "status_body": {
- "status": true,
- "details": [
- {
- "srv_id": "9999",
- "code": "00000",
- "message": "OK"
}
]
}, - "result_body": {
- "system_type_list": [
- {
- "system_type": "multi-AI",
- "srv_id_list": [
- {
- "srv_id": "9999",
- "cameras": [
- {
- "camera_id": "1557187868",
- "camera_ip": "192.168.0.10",
- "camera_model": "WV-X2571L",
- "camera_name": "入り口カメラ",
- "ai_capability": [
- "face",
- "people",
- "sound"
], - "is_enabled": "true"
}, - {
- "camera_id": "1826478927",
- "camera_ip": "192.168.0.11",
- "camera_model": "WV-S2136",
- "camera_name": "Parking lot",
- "ai_capability": [
- "vehicle",
- "aivmd"
], - "is_enabled": "true"
}, - {
- "camera_id": "923264335",
- "camera_ip": "192.168.0.12",
- "camera_model": "WV-S4156",
- "camera_name": "Exit",
- "ai_capability": [
- "aivmd",
- "peopleCount"
], - "is_enabled": "true"
}
]
}
]
}
]
}
}
WV-ASA100に保存されている顔ベストショット画像、人物ベストショット画像、車両ベストショット画像を取得します。
クライアントは最初に検索開始のAPIで検索条件を指定し、検索セッションIDを取得します。
次に検索セッションIDを使用して検索結果の概要取得のAPIを送信します。
各検索結果画像の時刻情報とベストショット画像データを取得するための画像のキーを取得します。
最後にそれぞれの画像のキーに対して、ベストショット画像取得のAPIを送信して、画像データを取得します。
クライアントは検索条件を指定し、検索セッションIDを取得します。
顔画像、人物画像、車両画像を同時に指定することも可能です。
required | object 顔画像検索条件 |
date_from required | string <YYYY-MM-DD hh:mm:ss> 開始日時 (*UTC) |
date_to required | string <YYYY-MM-DD hh:mm:ss> 終了日時 (*UTC) |
object ソートの指定 |
{- "section_face": {
- "similarity": "50",
- "cameras": [
- {
- "srv_id": "9999",
- "camera_id": "1557187868"
}
], - "matching_list_id": "7d6b8ce8-e51c-41bf-a382-f29e818f10b8"
}, - "date_from": "2022-01-01 01:00:00",
- "date_to": "2022-01-10 23:59:59",
- "sort": {
- "sort-item": "shot-date-time",
- "asc-desc": "desc"
}
}
{- "status_body": {
- "status": true,
- "details": [
- {
- "srv_id": "9999",
- "code": "00000",
- "message": "OK"
}
]
}, - "result_body": {
- "search_session_id": "1620151537"
}
}
指定した検索セッションIDに対する検索結果の総数、時刻情報、及び画像データを取得するための画像のキーを本APIで取得します。
すべての検索結果ではなく、指定した件数の情報のみ取得することも可能です。
search_session_id required | string Example: 1620151537 検索セッションID |
result-from | integer Example: result-from=1 検索結果の取得開始番号 |
result-count | integer Example: result-count=100 最大取得数 |
{- "status_body": {
- "status": true,
- "details": [
- {
- "srv_id": "9999",
- "code": "00000",
- "message": "OK"
}
]
}, - "result_body": {
- "search_session_id": "1620151537",
- "result_count": "200",
- "search_result": [
- {
- "shot_date_time": "2022-01-01 00:00:00.000",
- "camera_id": "1557187868",
- "system_type": "multi-AI",
- "srv_id": "9999",
- "source_type": "face",
- "degree_of_similarity": "74",
- "thumbnail_key": "SearchThumbnail\\\\multi-AI\\\\9999\\\\1557187868\\\\2022\\\\01\\\\01\\\\000000000_3D24F100A42311EC89B21557187868.jpg"
}, - {
- "shot_date_time": "2022-01-01 00:00:30.000",
- "camera_id": "1557187868",
- "system_type": "multi-AI",
- "srv_id": "9999",
- "source_type": "face",
- "degree_of_similarity": "56",
- "thumbnail_key": "SearchThumbnail\\\\multi-AI\\\\9999\\\\1557187868\\\\2022\\\\01\\\\01\\\\000030000_4F102100A42311EC89B21557147321.jpg"
}
]
}
}
指定した画像のキーに対する画像データを取得することができます。
'info=on'がクエリに指定された場合、解析された属性のスコア情報など詳細な情報を取得することできます。
thumbnail-key required | string Example: thumbnail-key=SearchThumbnail\\multi-AI\\9999\\0800233F3549\\2022\\03\\C15\\144618780_3D24F100A42311EC89B20800233F3549.jpg ベストショット画像のキー |
info | string Example: info=on onを指定した場合、解析された属性のスコア情報を返却します |
{- "status_body": {
- "status": true,
- "details": [
- {
- "srv_id": "9999",
- "code": "00000",
- "message": "OK"
}
]
}, - "result_body": {
- "thumbnail_image": "(Base64 encoded image)",
- "recommended_size": [
- {
- "recommended": "no",
- "detect_pixel_width": "198",
- "detect_pixel_height": "198"
}
]
}
}
登録顔検知、登録人物検知、音検知、AI動体検知、AI混雑検知のアラーム履歴を検索することができます。
クライアントは検索条件を指定し、検索セッションIDを取得します。
複数のアラーム種別を同時に指定することも可能です。
required | object 顔照合アラームの検索 |
date_from required | string <YYYY-MM-DD hh:mm:ss> 検索開始日時 (*UTC) |
date_to required | string <YYYY-MM-DD hh:mm:ss> 検索終了日時 (*UTC) |
object |
{- "section_face": {
- "alarm_type": "listed-alarm",
- "matching_list_id": "7d6b8ce8-e51c-41bf-a382-f29e818f10b8",
- "cameras": [
- {
- "srv_id": "9999",
- "camera_id": "1557187868"
}
]
}, - "date_from": "2022-01-01 00:00:00",
- "date_to": "2022-01-01 23:59:59",
- "sort": {
- "sort-item": "shot-date-time",
- "asc-desc": "desc"
}
}
{- "status_body": {
- "status": true,
- "details": [
- {
- "srv_id": "9999",
- "code": "00000",
- "message": "OK"
}
]
}, - "result_body": {
- "search_session_id": "1620151537"
}
}
指定した検索セッションIDに対する検索結果の総数、アラームの時刻情報、及びアラーム発生時の検知画像データを取得するための画像のキーを本APIで取得します。
すべての検索結果ではなく、指定した件数の情報のみ取得することも可能です。
search_session_id required | string Example: 1620151537 検索セッションID |
result-from | integer Example: result-from=1 検索結果の取得開始番号 |
result-count | integer Example: result-count=100 最大取得数 |
{- "status_body": {
- "status": true,
- "details": [
- {
- "srv_id": "9999",
- "code": "00000",
- "message": "OK"
}
]
}, - "result_body": {
- "search_session_id": "1620151537",
- "result_count": "1",
- "search_result": [
- {
- "alarm_date_time": "2022-01-01 01:00:00.000",
- "system_type": "multi-AI",
- "srv_id": 9999,
- "camera_id": "1557187868",
- "alarm_type": "listed-alarm",
- "alarm_name": "Registered face detection",
- "matching_list_id": "beae611e-8825-4ae5-a93f-f6c34c356102",
- "degree_of_similarity": "96",
- "detected_thumbnail": "SearchAlarm\\\\multi-AI\\\\9999\\\\1557187868\\\\2022\\\\01\\\\01\\\\010000000_received.jpg",
- "registered_thumbnail": "SearchAlarm\\\\multi-AI\\\\9999\\\\1557187868\\\\2022\\\\01\\\\01\\\\010000000_registered.jpg",
- "category": "Student"
}
]
}
}
WV-ASA100に登録されている登録顔、及び登録人物の情報の取得を行います。
required | object 顔照合リスト |
srv_id required | string 9999固定 |
{- "section_face": {
- "search_type": "list"
}, - "srv_id": "9999"
}
{- "status_body": {
- "status": true,
- "details": [
- {
- "srv_id": "9999",
- "code": "00000",
- "message": "OK"
}
]
}, - "result_body": {
- "result_count": "1",
- "system_type": "multi-AI",
- "matching_list": [
- {
- "matching_list_id": "7d6b8ce8-e51c-41bf-a382-f29e818f10b8",
- "delete_type": "stop-matching",
- "matching_status": "enable",
- "image_id_list": [
- {
- "image_id": "8d017138-b30a-49f6-81dd-0fad46553ef3",
- "thumbnail_key": "ListMatchingList\\\\multi-AI\\\\9999\\\\Face\\\\7d6b8ce8-e51c-41bf-a382-f29e818f10b8_8d017138-b30a-49f6-81dd-0fad46553ef3.jpg",
- "last_name": "Smith",
- "age": "19",
- "gender": "male",
- "similarity": "50",
- "category": "Student"
}
]
}
]
}
}
required | object 顔照合リスト登録 |
srv_id required | string 9999(固定) |
{- "section_face": {
- "delete_type": "stop-matching",
- "matching_status": "enable",
- "image_id_list": [
- {
- "image_id": "8d017138-b30a-49f6-81dd-0fad46553ef3",
- "image": "(Base64 encoded image)"
}
], - "last_name": "Smith",
- "age": "19",
- "gender": "male",
- "similarity": "50"
}, - "srv_id": "9999"
}
{- "status_body": {
- "status": true,
- "details": [
- {
- "srv_id": "9999",
- "code": "00000",
- "message": "OK"
}
]
}, - "result_body": {
- "matching_list_id": "996f77b8-cf2e-4ef3-a23d-3a738795a12f"
}
}
type required | string Enum: "face" "people" 照合リスト種別 |
matching_list_id required | string Example: 996f77b8-cf2e-4ef3-a23d-3a738795a12f 照合リストID |
{- "status_body": {
- "status": true,
- "details": [
- {
- "srv_id": "9999",
- "code": "00000",
- "message": "OK"
}
]
}, - "result_body": {
- "matching_list_id": "996f77b8-cf2e-4ef3-a23d-3a738795a12f"
}
}
matching_list_id required | string Example: 996f77b8-cf2e-4ef3-a23d-3a738795a12f 照合リストID |
required | object 顔照合リストの更新 |
srv_id required | string 9999固定 |
{- "section_face": {
- "expire_date": "2022-04-20 10:52",
- "delete_type": "physical",
- "matching_status": "enable",
- "image_id_list": [
- {
- "image_id": "f37ff383-5970-4a77-854f-6a55022acdeb",
- "image": "(Base64 encoded image)"
}
], - "last_name": "Smith",
- "age": "19",
- "gender": "male",
- "similarity": "50"
}, - "srv_id": "9999"
}
{- "status_body": {
- "status": true,
- "details": [
- {
- "srv_id": "9999",
- "code": "00000",
- "message": "OK"
}
]
}
}
カメラ、日時、ラインNo、通過方向などの条件に対してカウントした情報を取得します。
1日以内のデータを取得する場合、 日時はdate_fromとdate_toに指定した期間、かつtime_fromとtime_toに指定した期間が集計対象となります。
1日以上のデータを取得する場合、date_fromとdate_toに開始と終了日時を指定し、各日の集計開始、終了時刻をtime_fromとtime_toに指定します。 1日あたり24時間を集計する場合はtime_fromとtime_toは同じ値を設定します。
1日あたりの集計期間が17:00~翌2:00のように日をまたぐ場合は、time_fromに17:00、time_toに2:00を指定します。 この場合、応答はtime_fromが所属している日のデータとして集計されます。
date_from required | string <YYYY-MM-DD hh:mm> 集計開始日時 (*UTC) |
date_to required | string <YYYY-MM-DD hh:mm> 集計終了日時 (*UTC) |
time_from required | integer <hh> [ 0 .. 23 ] 各日の集計開始日時 (*UTC) |
time_to required | integer <hh> [ 0 .. 23 ] 各日の集計終了日時 (*UTC) |
current | string Value: "on" 最新の状態の取得(メモリからの取得) |
camera_id required | Array of strings カメラID |
object ラインクロスまたはエリアカウント時に指定 |
{- "date_from": "2021-10-12 00:00",
- "date_to": "2021-10-12 02:00",
- "time_from": "8",
- "time_to": "20",
- "camera_id": [
- "1557187868",
- "1826478927"
], - "line_area": {
- "interval": "1H",
- "people_count_type": "linecross",
- "linecross_direction": "in+out"
}
}
{- "status_body": {
- "status": true,
- "details": [
- {
- "srv_id": "9999",
- "code": "00000",
- "message": "OK"
}
]
}, - "result_body": {
- "data_flag": "1",
- "linecross_count": [
- {
- "camera_id": "1557187868",
- "time_range": "2021-10-12 00:00:00",
- "lineID": "1",
- "inout_number": "13"
}, - {
- "camera_id": "1557187868",
- "time_range": "2021-10-12 01:00:00",
- "lineID": "1",
- "data_number": "13"
}, - {
- "camera_id": "1557187868",
- "time_range": "2021-10-12 02:00:00",
- "lineID": "1",
- "data_number": "32"
}
]
}
}
date_from required | string <YYYY-MM-DD hh:mm> 集計開始日時 (*UTC) |
date_to | string <YYYY-MM-DD hh:mm> 集計終了日時 (*UTC) |
time_from | integer <hh> [ 0 .. 23 ] 各日の集計開始時間 (*UTC) |
time_to | integer <hh> [ 0 .. 23 ] 各日の集計終了時間 (*UTC) |
current | string Value: "on" 最新の状態の取得(メモリからの取得) |
data_mode required | string Enum: "by-camera" "by-time" "none" データ表示形式 |
interval | string Enum: "1H" "1D" "1W" データ間隔(by time時のみ) |
camera_id required | Array of strings カメラID |
required | Array of objects[ items ] データ種別 |
{- "date_from": "2021-10-12 00:00",
- "date_to": "2021-10-12 03:00",
- "time_from": "8",
- "time_to": "20",
- "data_mode": "by-camera",
- "camera_id": [
- "1557187868",
- "1826478927"
], - "statistics_item": [
- {
- "gender": "all"
}
]
}
{- "status_body": {
- "status": true,
- "details": [
- {
- "srv_id": "9999",
- "code": "00000",
- "message": "OK"
}
]
}, - "result_body": {
- "data_mode": "by-camera",
- "data_flag": "1",
- "face_count": [
- {
- "rank": "1",
- "gender": "0",
- "data_number": [
- {
- "camera_id": "1557187868",
- "data_number": "42"
}, - {
- "camera_id": "1826478927",
- "data_number": "27"
}
]
}, - {
- "rank": "2",
- "gender": "1",
- "data_number": [
- {
- "camera_id": "1557187868",
- "data_number": "30"
}, - {
- "camera_id": "1826478927",
- "data_number": "6"
}
]
}
]
}
}
date_from required | string <YYYY-MM-DD hh:mm> 集計開始日時 (*UTC) |
date_to required | string <YYYY-MM-DD hh:mm> 集計終了日時 (*UTC) |
time_from required | integer <hh> [ 0 .. 23 ] 各日の集計開始時間 (*UTC) |
time_to required | integer <hh> [ 0 .. 23 ] 各日の集計終了時間 (*UTC) |
current | string Value: "on" 最新の状態の取得(メモリからの取得) |
data_mode required | string Enum: "by-camera" "by-time" "none" データ表示形式 |
interval | string Enum: "1H" "1D" "1W" データ間隔(by time時のみ) |
camera_id required | Array of strings カメラID |
required | object 指定可能な属性は最大3つまでです。 |
{- "date_from": "2021-10-12 00:00",
- "date_to": "2021-10-12 23:00",
- "time_from": "8",
- "time_to": "20",
- "data_mode": "by-camera",
- "camera_id": [
- "1557187868",
- "1826478927"
], - "statistics_item": {
- "attribute": [
- "upper_garment",
- "upper_color"
]
}
}
{- "status_body": {
- "status": true,
- "details": [
- {
- "srv_id": "9999",
- "code": "00000",
- "message": "OK"
}
]
}, - "result_body": {
- "data_mode": "by-camera",
- "data_flag": "1",
- "people_count": [
- {
- "rank": "1",
- "attribute": {
- "upper_garment": "long_sleeves",
- "upper_color": "gray"
}, - "data_number": [
- {
- "camera_id": "1557187868",
- "data_number": "150"
}, - {
- "camera_id": "1826478927",
- "data_number": "234"
}
]
}, - {
- "rank": "2",
- "attribute": {
- "upper_garment": "long_sleeves",
- "upper_color": "brown"
}, - "data_number": [
- {
- "camera_id": "1557187868",
- "data_number": "80"
}, - {
- "camera_id": "1826478927",
- "data_number": "34"
}
]
}
]
}
}
date_from required | string <YYYY-MM-DD hh:mm> 集計開始日時 (*UTC) |
date_to required | string <YYYY-MM-DD hh:mm> 集計終了日時 (*UTC) |
time_from required | integer <hh> [ 0 .. 23 ] 各日の集計開始時間 (*UTC) |
time_to required | integer <hh> [ 0 .. 23 ] 各日の集計終了時間 (*UTC) |
current | string Value: "on" 最新の状態の取得(メモリからの取得) |
data_mode required | string Enum: "by-camera" "by-time" "none" データ表示形式 |
interval | string Enum: "1H" "1D" "1W" データ間隔(by time時のみ) |
camera_id required | Array of strings カメラID |
required | Array of objects[ items ] データ種別 |
{- "date_from": "2022-01-01 00:00",
- "date_to": "2022-01-01 02:00",
- "time_from": "8",
- "time_to": "20",
- "data_mode": "by-time",
- "interval": "1H",
- "camera_id": [
- "1557187868",
- "1826478927"
], - "statistics_item": [
- {
- "type": "all",
- "color": "all"
}
]
}
{- "status_body": {
- "status": true,
- "details": [
- {
- "srv_id": "9999",
- "code": "00000",
- "message": "OK"
}
]
}, - "result_body": {
- "data_mode": "by-time",
- "data_flag": "1",
- "vehicle_count": [
- {
- "rank": "1",
- "type": "sedan",
- "color": "black",
- "data_number": [
- {
- "time_range": "2022-01-01 00:00:00",
- "data_number": "150"
}, - {
- "time_range": "2022-01-01 01:00:00",
- "data_number": "134"
}, - {
- "time_range": "2022-01-01 02:00:00",
- "data_number": "250"
}
]
}, - {
- "rank": "2",
- "type": "suv",
- "color": "black",
- "data_number": [
- {
- "time_range": "2022-01-01 00:00:00",
- "data_number": "120"
}, - {
- "time_range": "2022-01-01 01:00:00",
- "data_number": "64"
}, - {
- "time_range": "2022-01-01 02:00:00",
- "data_number": "150"
}
]
}, - {
- "rank": "1",
- "type": "sedan",
- "color": "gray",
- "data_number": [
- {
- "time_range": "2022-01-01 00:00:00",
- "data_number": "50"
}, - {
- "time_range": "2022-01-01 01:00:00",
- "data_number": "34"
}, - {
- "time_range": "2022-01-01 02:00:00",
- "data_number": "50"
}
]
}
]
}
}