ISAPI - Facial
ISAPI - Facial
Developer Guide
Intelligent Security API (Facial) Developer Guide
Legal Information
TO THE MAXIMUM EXTENT PERMITTED BY APPLICABLE LAW, THE DOCUMENT IS PROVIDED "AS IS"
AND “WITH ALL FAULTS AND ERRORS”. OUR COMPANY MAKES NO REPRESENTATIONS OR
WARRANTIES, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO, WARRANTIES OF
MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE OR NON-INFRINGEMENT. IN NO EVENT
WILL OUR COMPANY BE LIABLE FOR ANY SPECIAL, CONSEQUENTIAL, INCIDENTAL, OR INDIRECT
DAMAGES, INCLUDING, AMONG OTHERS, DAMAGES FOR LOSS OF BUSINESS PROFITS, BUSINESS
INTERRUPTION OR LOSS OF DATA, CORRUPTION OF SYSTEMS, OR LOSS OF DOCUMENTATION,
WHETHER BASED ON BREACH OF CONTRACT, TORT (INCLUDING NEGLIGENCE), OR OTHERWISE, IN
CONNECTION WITH THE USE OF THE DOCUMENT, EVEN IF OUR COMPANY HAS BEEN ADVISED OF
THE POSSIBILITY OF SUCH DAMAGES OR LOSS.
i
Intelligent Security API (Facial) Developer Guide
Contents
Chapter 1 Overview .................................................................................................................... 1
1.1 Introduction ........................................................................................................................... 1
1.2 Update History ....................................................................................................................... 1
Chapter 2 Configure Face Picture Library .................................................................................... 6
Chapter 3 Search by Face Picture .............................................................................................. 10
Chapter 4 Search by Appearance .............................................................................................. 11
Chapter 5 Alarm or Event .......................................................................................................... 13
5.1 Facial Alarm/Event and Details ............................................................................................ 13
5.2 Configure Face Capture Alarm ............................................................................................. 14
5.3 Configure Face Picture Comparison Alarm for Front-End Device ......................................... 16
5.4 Configure Face Picture Comparison Alarm for Rear-End Device .......................................... 19
5.5 Configure Stranger Detection Alarm for Rear-End Device ................................................... 22
5.6 Frequently Appeared Person Alarm ..................................................................................... 25
5.6.1 Configure Frequently Appeared Person Alarm ........................................................... 25
5.6.2 Search for Frequently Appeared Person Alarm ........................................................... 27
5.6.3 Export Frequently Appeared Person Alarm ................................................................ 29
5.7 Low Frequency Person Alarm .............................................................................................. 30
5.7.1 Configure Low Frequency Person Alarm ..................................................................... 30
5.7.2 Search for Low Frequency Person Alarm .................................................................... 32
5.7.3 Export Low Frequency Person Alarm .......................................................................... 33
5.8 Receive Alarm/Event in Arming Mode ................................................................................. 34
5.9 Receive Alarm/Event in Listening Mode .............................................................................. 36
5.10 Subscribe Alarm/Event in Arming Mode ............................................................................ 38
Chapter 6 Request URIs ............................................................................................................ 40
6.1 http://<ipAddress>:<portNo>/<url> .................................................................................... 40
6.2 /ISAPI/Event/capabilities ..................................................................................................... 40
ii
Intelligent Security API (Facial) Developer Guide
iii
Intelligent Security API (Facial) Developer Guide
iv
Intelligent Security API (Facial) Developer Guide
v
Intelligent Security API (Facial) Developer Guide
vi
Intelligent Security API (Facial) Developer Guide
vii
Intelligent Security API (Facial) Developer Guide
viii
Intelligent Security API (Facial) Developer Guide
ix
Intelligent Security API (Facial) Developer Guide
x
Intelligent Security API (Facial) Developer Guide
Chapter 1 Overview
This manual provides the integration methods and flows based on ISAPI protocol for facial
applications.
1.1 Introduction
Face applications developed by ISAPI protocol includes the functions of face capture, face picture
comparison, face picture library management, and so on. The captured face pictures and
comparison results can be triggered as face picture alarms and uploaded by devices, and then you
can receive them via the central management system. For face picture library and face picture
comparison results, you can also upload a local face picture and search face pictures by picture.
Note
The front-end devices and rear-end-devices referred in this manual mainly refer to DeepinView
series cameras and DeepinMind series NVRs. For different product lines, the integration methods
of face picture comparison function are different, so this manual provides the corresponding alarm
configurations by differing from front-end and rear-end devices.
1
Intelligent Security API (Facial) Developer Guide
when picture is uploaded in binary format, added five sub nodes to faceCapture:
faceSnapThermometryEnabled (whether to enable uploading captured face picture with
temperature information), currTemperature (face temperature), isAbnomalTemperature
(whether the temperature is abnormal or not), thermometryUnit (temperature unit), and
alarmTemperature (temperature threshold to trigger alarm).
2
Intelligent Security API (Facial) Developer Guide
6. Extended the result of searching for face picture comparison results XML_FCSearchResult :
added one node <progress> (search progress).
7. Added the function of getting or deleting frequency information of all face pictures in the face
picture library:
Get: GET /ISAPI/Intelligent/FDLib/<FDID>/picture/<PID>/occurrenceData?format=json ;
Delete: DELETE /ISAPI/Intelligent/FDLib/<FDID>/picture/<PID>/occurrenceData?format=json .
8. Added the function of getting or deleting the frequency information of a specified face pictures
in the face picture library:
Get: GET /ISAPI/Intelligent/FDLib/<FDID>/picture/<PID>/occurrenceData/<ID>?format=json ;
Delete: DELETE /ISAPI/Intelligent/FDLib/<FDID>/picture/<PID>/occurrenceData/<ID>?
format=json .
9. Extended the configuration capability message of analysis engine XML_AnalysisEnginesCap and
the analysis engine parameters message XML_AnalysisEngine :
added one engine status "lib_ver_err_abnorma" (incorrect remote engine version) to node
<mode>.
10. Extended capability of frequently appeared person detection JSON_HFPDCap (related URI:
GET /ISAPI/SDT/HFPD/capabilities?format=json ):
added one sub node "isSupportStrangerFaceLib" (whether device supports stranger library
configuration) to node "FaceLibrary";
added one node "BlackListFaceLibrary" (face picture library in blacklist for frequently appeared
person detection).
11. Extended configuration parameters of frequently appeared person detection JSON_HFPD
(related URI: /ISAPI/SDT/HFPD?format=json ):
added one node "BlackListFaceLibrary" (face picture library in blacklist for frequently appeared
person detection).
12. Extended the uploaded message of frequently appeared person alarm
JSON_EventNotificationAlert_HFPD :
added three nodes: "channelName" (channel name), "targetId" (target ID), and "FaceInfo"
(matched face picture information);
added a sub node "faceExpression" (face expression).
13. Extended the condition message of searching for frequently appeared person alarm
JSON_HFPDEventRecordDataDescription :
added one node "lowestOccurrences" (the minimum frequency).
14. Extended the search result message of frequently appeared person alarm
JSON_HFPDSearchResult :
added two sub nodes "targetId" (target ID) and "FaceInfo" (matched face picture information)
to node "targetInfo".
15. Extended the search result details message of frequently appeared person alarm
JSON_HFPDRecordData :
added three sub nodes "range" (age deviation), "value" (age), and "faceExpression" (face
expression) to node "targets".
3
Intelligent Security API (Facial) Developer Guide
4
Intelligent Security API (Facial) Developer Guide
5
Intelligent Security API (Facial) Developer Guide
Note
• After creating the face picture libraries, you can call the above URI by PUT, GET, or DELETE
method to edit, search, or delete the libraries.
• To delete or configure one face picture library, the following URI is available: /ISAPI/
Intelligent/FDLib/<FDID> .
3. Call the following URI(s) to import the face pictures with linked person information to the library
for front-end device (here mainly refer to the DeepinView series cameras), or rear-end device
(here mainly refer to the DeepinMind series NVRs).
- (Default) For front-end device: POST /ISAPI/Intelligent/FDLib/<FDID>/picture .
6
Intelligent Security API (Facial) Developer Guide
Note
If you want to modeling the imported face pictures manually, you can add the query
parameter to the above URI as "/ISAPI/Intelligent/FDLib/<FDID>/picture?type=concurrent"
to enable concurrency mode.
- For rear-end device: POST /ISAPI/Intelligent/FDLib/pictureUpload .
Note
If you want to modeling the imported face pictures manually, you can add the query
parameter to the above URI as "/ISAPI/Intelligent/FDLib/pictureUpload?type=concurrent" to
enable concurrency mode.
Note
• Only the face pictures with JPEG format can be imported and the maximum picture size
should be no larger than 300 KB.
• When importing, the structured face information and the picture data should be in a one-to-
one correspondence.
4. Optional: Perform the following operation(s) after configuring the face picture library.
Delete a Face Picture in Library DELETE /ISAPI/Intelligent/FDLib/<FDID>/picture/
<PID>
Add Linked Information for a Face PUT /ISAPI/Intelligent/FDLib/<FDID>/picture/<PID>
Picture
Import Face Pictures by Library PUT /ISAPI/Intelligent/FDLib/<FDID>/importFrom/
FDLibSource
Note
You can directly add a specific face picture library to
another library and the face pictures in the specific
library will be imported.
7
Intelligent Security API (Facial) Developer Guide
Note
You can call /ISAPI/Intelligent/FDLib/<FDID>/
progress by GET method to get the importing or
exporting progress.
Note
You can also search the pictures by uploading a local face pictures, refer to Search by Face
Picture for details.
6. Check whether the concurrency mode is enabled according to query parameter ?
type=concurrent in the URI of step 3.
Note
• If the concurrency mode is enabled, when importing pictures to the library, the pictures will
only be stored without modeling, which can fasten the importing speed, but make the
integration process more complex, so the pictures must be modeled by manually calling the
modeling APIs. Enabling concurrency mode is only supported by front-end devices.
• By default, the concurrency mode is disabled, the pictures will be stored and modeled
automatically at same time when importing.
- If the URI of step 3 contains the query parameter ?type=concurrent, perform the following
step to continue.
- If the URI of step 3 does not contain the query parameter ?type=concurrent, the modeling
will be performed automatically and the face picture library configuration is completed.
7. Optional: Perform the following operation(s) if the concurrency mode is enabled.
Specify a Face Picture Library to GET /ISAPI/Intelligent/FDLib/manualModeling?
Model in Batch range=&FDID=
8
Intelligent Security API (Facial) Developer Guide
9
Intelligent Security API (Facial) Developer Guide
10
Intelligent Security API (Facial) Developer Guide
11
Intelligent Security API (Facial) Developer Guide
- It supports and continue to perform the following steps if the node isSuportIntelligentSearch
is returned in the message JSON_Cap_IntelliManagement and its value is "true".
- It does not support and please end this task if the message JSON_Cap_IntelliManagement
does not contain the node isSuportIntelligentSearch.
3. Optional: Call /ISAPI/SDT/Management/IntelligentSearch/capabilities?format=json by GET
method to get the intelligent search capability for reference.
4. Call /ISAPI/SDT/Management/IntelligentSearch?format=json by POST method to start
searching for face pictures by appearance.
Note
You should repeatedly call this URI until the value of "progress" returned in the message
JSON_IntelligentSearchResult is "100", which indicates the search is completed.
5. Optional: Export the search results.
1) Call /ISAPI/SDT/Management/IntelligentSearch/export?format=json by POST method to
export the search results.
2) Call /ISAPI/SDT/Management/IntelligentSearch/export/progress?format=json&taskID= by
GET method to get the progress of exporting search result.
Note
Only when the value of "progress" returned in the message is "100", it indicates that
exporting is completed.
3) Call /ISAPI/SDT/Management/IntelligentSearch/export/stop?format=json by PUT method
to stop exporting the search result.
12
Intelligent Security API (Facial) Developer Guide
Note
Currently, for traffic camera or capture camera, receiving alarm or event in arming mode is not
supported.
13
Intelligent Security API (Facial) Developer Guide
14
Intelligent Security API (Facial) Developer Guide
1. Call /ISAPI/Event/capabilities by GET method to get the event capability set to check whether
the device supports face capture.
- If the event capability XML_EventCap is returned, and the node isSupportFaceSnap exists in
the capability, perform the following steps to continue.
- If getting capability failed or the node isSupportFaceSnap does not exist in the capability, end
this task as the face picture comparison function is not supported.
2. Optional: Call the following URI(s) to get the configuration capabilities of face capture, including
picture, algorithm, and rule configuration.
Picture configuration GET /ISAPI/Intelligent/channels/<ID>/intelliResource/
capability capabilities
Algorithm configuration GET /ISAPI/Intelligent/channels/<ID>/AlgParam/
capability Capabilities
Rule configuration capability GET /ISAPI/Intelligent/channels/<ID>/faceRule/
Capabilities
3. Call the following URI(s) to set face capture configurations, including picture, algorithm, and rule
configurations.
Note
Before setting the configurations, you'd better call the URI by GET method to get default or
configured parameters for reference.
Note
• To receive the alarm from the central management system, the linkage action must be set to
"center" (upload alarm to alarm center).
• Before setting the linkage action, you'd better call the URI by GET method to get default or
configured parameters for reference.
15
Intelligent Security API (Facial) Developer Guide
Note
Before setting the arming schedule, you'd better call the URIs by GET method to get default or
configured parameters for reference.
6. Optional: Set eventType to "faceCapture" and receive the captured face picture and related
alarm information in arming mode (see Receive Alarm/Event in Arming Mode for details).
The face capture alarm information and captured face picture are returned in
JSON_EventNotificationAlert_FaceCaptureMsg .
16
Intelligent Security API (Facial) Developer Guide
Steps
Figure 5-2 Programming Flow of Configuring Face Picture Comparison Alarm for Front-End Device
1. Call /ISAPI/Event/capabilities by GET method to get the device event capability to check
whether the face picture comparison function is supported.
- If the event capability XML_EventCap is returned, and the node isSupportFaceContrast exists
in the capability, perform the following steps to continue.
- If getting event capability failed or the node isSupportFaceContrast does not exist in the
capability, end this task as the face picture comparison function is not supported.
2. Optional: Call /ISAPI/System/algorithmsVersion by GET method to get the algorithm library
version information of face picture comparison.
3. Call /ISAPI/Intelligent/channels/<ID>/faceContrast/capabilities by GET method to get the rule
configuration capability of face picture comparison to check whether the rule configurations of
face picture comparison is supported.
- If the capability XML_FaceContrastCap is returned, get the supported configuration fields
and perform the following steps to continue.
- If getting capability failed, end the task as setting face picture comparison rule is not
supported.
4. Call /ISAPI/Intelligent/channels/<ID>/faceContrast by PUT method to set the face picture
comparison rules, such as similarity threshold.
17
Intelligent Security API (Facial) Developer Guide
Note
The similarity threshold is between 0 and 100, the higher the threshold, the more accurate the
comparison is.
5. Optional: Display the capture information or analysis results on the face picture linked to the
face picture comparison alarm.
1) Call /ISAPI/System/capabilities by GET method to get the device capability set to check
whether the picture information overlay is supported according to
<isSupportPicInfoOverlap> in XML_DeviceCap .
2) Call /ISAPI/System/Video/inputs/channels/<ID>/picInfoOverlap/capabilities by GET
method to get the capability of face picture information overlay.
3) Call /ISAPI/System/Video/inputs/channels/<ID>/picInfoOverlap by PUT method to set the
configurations of face picture information overlay.
6. Call /ISAPI/Event/triggersCap by GET method to get the linkage action capability to check
whether the face picture comparison alarm supports setting linkage actions and get the
supported linkage actions.
- If the capability XML_EventTriggersCap is returned, and the node FaceLibTriggerCap exists in
the capability, get the supported linkage actions and perform the following steps to continue.
- If getting capability failed or the node FaceLibTriggerCap does not exist in the capability, end
the task as setting linkage actions is not supported.
7. Perform one of the following operations to set the linkage action(s) for face picture comparison
alarm(s).
- Call /ISAPI/Event/triggers/<ID>/<FDID> by PUT method to set linkage action for one video
channel's face picture comparison alarm.
- Call /ISAPI/Event/triggers by PUT method to set linkage actions in batch for multiple video
channels' face picture comparison alarm.
- Set linkage action by accessing the device via web browser, refer to the user manual of the
corresponding device for details.
Note
• To receive the alarm from the central management system, the linkage action must be set to
"center" (upload alarm to alarm center).
• Before setting the linkage action, you'd better call the URI by GET method to get the default
or configured parameters for reference.
8. Perform one of the following operations to set the arming schedule for face picture comparison
alarm.
- Call /ISAPI/Event/schedules/faceLib/<ID>/<FDID> by PUT method to set arming schedule
for one video channel's face picture comparison alarm.
- Set the arming schedule by accessing the device via web browser, refer to the user manual of
the corresponding device for details.
18
Intelligent Security API (Facial) Developer Guide
Note
Before setting the arming schedule, you'd better call the URI by GET method to get the existing
configurations for reference.
9. Optional: Perform the following operation(s) after configuring face picture comparison alarm
for front-end device.
Receive Alarm Set eventType to "alarmResult" and receive the captured face pictures
and related alarm information in arming mode or listening. See Receive
Alarm/Event in Arming Mode and Receive Alarm/Event in Listening
Mode for details.
Note
The face picture comparison alarm information is returned in
JSON_EventNotificationAlert_FacePicComparisonMsg .
19
Intelligent Security API (Facial) Developer Guide
Steps
Figure 5-3 Programming Flow of Configuring Face Picture Comparison Alarm for Rear-End Device
1. Call /ISAPI/Event/capabilities by GET method to get the device event capability to check
whether the face picture comparison function is supported.
- If the event capability XML_EventCap is returned, and the node isSupportFaceContrast exists
in the capability, perform the following steps to continue.
- If getting event capability failed or the node isSupportFaceContrast does not exist in the
capability, end this task as the face picture comparison function is not supported.
2. Optional: Call /ISAPI/System/algorithmsVersion by GET method to get the algorithm library
version information of face picture comparison.
3. Call /ISAPI/Intelligent/channels/<ID>/faceContrast/capabilities by GET to get the rule
configuration capability of face picture comparison to check whether the rule configurations of
face picture comparison is supported.
- If the capability XML_FaceContrastCap is returned, get the supported configuration fields
and perform the following steps to continue.
- If getting capability failed, end the task as setting face picture comparison rule is not
supported.
4. Call /ISAPI/Intelligent/channels/<ID>/faceContrast by PUT method to set the face picture
comparison rules, such as similarity threshold.
20
Intelligent Security API (Facial) Developer Guide
Note
The similarity threshold is between 0 and 100, the higher the threshold, the more accurate the
comparison is.
5. Optional: Display the capture information or analysis results on the face picture linked to the
face picture comparison alarm.
1) Call /ISAPI/System/capabilities by GET method to get the device capability to check whether
the picture information overlay is supported according to <isSupportPicInfoOverlap> in
XML_DeviceCap .
2) Call /ISAPI/System/Video/inputs/channels/<ID>/picInfoOverlap/capabilities by GET
method to get the capability of face picture information overlay.
3) Call /ISAPI/System/Video/inputs/channels/<ID>/picInfoOverlap by PUT method to set the
configurations of face picture information overlay.
6. Call /ISAPI/Event/triggersCap by GET method to get the linkage action capability to check
whether the face picture comparison alarm supports setting linkage actions and get the
supported linkage actions.
- If the capability XML_EventTriggersCap is returned, and the node FaceContrastTriggerCap
exists in the capability, get the supported linkage actions and perform the following steps to
continue.
- If getting capability failed or the node FaceContrastTriggerCap does not exist in the
capability, end the task as setting linkage actions is not supported.
7. Perform one of the following operations to set the linkage action(s) for face picture comparison
alarm(s).
- Call /ISAPI/Event/triggers/<eventType>-<ID> by PUT method to set linkage action for one
video channel's face picture comparison alarm.
- Call /ISAPI/Event/triggers by PUT method to set linkage actions in batch for multiple video
channels' face picture comparison alarm.
- Set linkage action by accessing the device via web browser, refer to the user manual of the
corresponding device for details.
Note
• To receive the alarm from the central management system, the linkage action must be set to
"center" (upload alarm to alarm center).
• Before setting the linkage action, you'd better call the URI by GET method to get the default
or configured parameters for reference.
8. Perform one of the following operations to set the arming schedule(s) for face picture
comparison alarm(s).
- Call /ISAPI/Event/schedules/faceContrast/<ID> by PUT method to set arming schedule for
one video channel's face picture comparison alarm.
- Call /ISAPI/Event/schedules/faceContrast by PUT method to set arming schedule in batch
for multiple video channels' face picture comparison alarm.
21
Intelligent Security API (Facial) Developer Guide
- Set the arming schedule by accessing the device via web browser, refer to the user manual of
the corresponding device for details.
Note
Before setting the arming schedule, you'd better call the URI by GET method to get the existing
configurations for reference.
9. Optional: Perform the following operation(s) after configuring face picture comparison alarm
for rear-end device.
Receive Alarm Set eventType to "alarmResult" and receive the captured face pictures
and related alarm information in arming mode. See Receive Alarm/
Event in Arming Mode for details.
Note
The face picture comparison alarm information is returned in
JSON_EventNotificationAlert_FacePicComparisonMsg .
22
Intelligent Security API (Facial) Developer Guide
Steps
Figure 5-4 Programming Flow of Configuring Stranger Detection Alarm for Rear-End Device
1. Call /ISAPI/Event/capabilities by GET method to get the device event capability to check
whether the face picture comparison function is supported.
- If the event capability XML_EventCap is returned, and the node isSupportFaceContrast exists
in the capability, perform the following steps to continue.
- If getting capability failed or the node isSupportFaceContrast does not exist in the capability,
end this task as the face picture comparison function is not supported.
2. Optional: Call /ISAPI/System/algorithmsVersion by GET method to get the algorithm library
version information of face picture comparison.
3. Call /ISAPI/Intelligent/channels/<ID>/faceContrast/capabilities by GET method to get the rule
configuration capability of face picture comparison to check whether the rule configurations of
face picture comparison is supported.
- If the capability XML_FaceContrastCap is returned, get the supported configuration fields
and perform the following steps to continue.
- If getting capability failed, end the task as setting face picture comparison rule is not
supported.
4. Call /ISAPI/Intelligent/channels/<ID>/faceContrast by PUT to set the face picture comparison
rules, such as similarity threshold.
23
Intelligent Security API (Facial) Developer Guide
Note
The similarity threshold is between 0 and 100, the higher the threshold, the more accurate the
comparison is.
5. Optional: Display the capture information or analysis results on the face picture linked to the
face picture comparison alarm.
1) Call /ISAPI/System/capabilities by GET method to get the device capability to check whether
the picture information overlay is supported according to <isSupportPicInfoOverlap> in
XML_DeviceCap .
2) Call /ISAPI/System/Video/inputs/channels/<ID>/picInfoOverlap/capabilities by GET
method to get the capability of face picture information overlay.
3) Call /ISAPI/System/Video/inputs/channels/<ID>/picInfoOverlap by PUT to set the
configurations of face picture information overlay.
6. Call /ISAPI/Event/triggersCap by GET method to get the linkage action capability to check
whether the stranger detection alarm supports setting linkage actions and get the supported
linkage actions.
- If the capability XML_EventTriggersCap is returned, and the node
WhiteListFaceContrastTriggerCap exists in the capability, get the supported linkage actions
and perform the following steps to continue.
- If getting capability failed or the node WhiteListFaceContrastTriggerCap does not exist in the
capability, end the task as setting linkage actions is not supported.
7. Perform one of the following operations to set the linkage action(s) for stranger detection
alarm(s).
- Call /ISAPI/Event/triggers/<eventType>-<ID> by PUT method to set linkage action for one
video channel's stranger detection alarm.
- Call /ISAPI/Event/triggers by PUT method to set linkage actions in batch for multiple video
channels' stranger detection alarm.
- Set linkage action by accessing the device via web browser, refer to the user manual of the
corresponding device for details.
Note
• To receive the alarm from the central management system, the linkage action must be set to
"center" (upload alarm to alarm center).
• Before setting the linkage action, you'd better call the URI by GET method to get the default
or configured parameters for reference.
8. Perform one of the following operations to set the arming schedule(s) for stranger detection
alarm(s).
- Call /ISAPI/Event/schedules/whiteListFaceContrast/<ID> by PUT method to set arming
schedule for one video channel's stranger detection alarm.
- Call /ISAPI/Event/schedules/whiteListFaceContrast by PUT method to set arming schedule
in batch for multiple video channels' stranger detection alarm.
24
Intelligent Security API (Facial) Developer Guide
- Set the arming schedule by accessing the device via web browser, refer to the user manual of
the corresponding device for details.
Note
Before setting the arming schedule, you'd better call URI by GET method to get the existing
configurations for reference.
9. Optional: Perform the following operation(s) after configuring stranger detection alarm for rear-
end device.
Receive Alarm Set eventType to "alarmResult" and receive the captured face pictures
and related alarm information in arming mode. See Receive Alarm/
Event in Arming Mode for details.
Note
The face picture comparison alarm information is returned in
JSON_EventNotificationAlert_FacePicComparisonMsg .
25
Intelligent Security API (Facial) Developer Guide
Steps
26
Intelligent Security API (Facial) Developer Guide
1. Call /ISAPI/Smart/capabilities by GET method to get the smart configuration capability to check
whether the device supports frequently appeared person detection.
The smart configuration capability is returned in the message XML_SmartCap .
If supports, the node <isSupportHFPD> is returned in the message and its value is "true", and
then you can perform the following steps.
Otherwise, frequently appeared person detection is not supported by device, please end this
task.
2. Optional: Call /ISAPI/SDT/HFPD/capabilities?format=json by GET method to get capabilities of
frequently appeared person detection to check the supported parameters.
3. Optional: Call /ISAPI/SDT/HFPD?format=json by GET method to get default or configured
parameters of frequently appeared person detection for reference.
4. Call /ISAPI/SDT/HFPD?format=json by PUT method to set frequently appeared person
detection.
5. Optional: Call /ISAPI/Event/triggersCap by GET method to get linkage action capability to check
whether the frequently appeared person detection supports setting linkage actions and get the
supported parameters.
6. Optional: Call /ISAPI/Event/triggers/<eventType>-<ID> by GET and set <ID> to "HFPD" (i.e., /
ISAPI/Event/Trigger/HFPD) for getting default or configured linkage action of frequently
appeared person detection for reference.
7. Call /ISAPI/Event/triggers/<eventType>-<ID> by PUT method and set <ID> to "HFPD" (i.e., /
ISAPI/Event/Trigger/HFPD) for setting linkage action for frequently appeared person detection.
8. Optional: Call /ISAPI/Event/schedules/HFPD by GET method to get default or configured
arming schedule of frequently appeared person detection for reference.
9. Call /ISAPI/Event/schedules/HFPD by PUT method to set arming schedule for frequently
appeared person detection.
10. Optional: Set the alarm category (Type) in the message XML_SubscribeEvent to "HFPD" and
subscribe or receive the frequently appeared person alarm in arming mode (see Receive
Alarm/Event in Arming Mode or Subscribe Alarm/Event in Arming Mode for details).
The alarm details are returned in the message JSON_EventNotificationAlert_HFPD .
27
Intelligent Security API (Facial) Developer Guide
Steps
Figure 5-6 Programming Flow of Searching for Frequently Appeared Person Alarm
1. Optional: Call /ISAPI/SDT/HFPD/capabilities?format=json by GET method to get the capability
of frequently appeared person detection to check if device supports searching for frequently
appeared person alarm.
The capability of frequently appeared person detection is returned in the message
JSON_HFPDCap .
If supports, the node <eventRecordDataSearch> is returned in the message and its value is
"true", and then you can perform the following steps.
Otherwise, searching for frequently appeared person alarm is not supported by device, please
end this task.
2. Call /ISAPI/SDT/HFPD/searchTask/eventRecordData?format=json by POST method to set the
condition of searching for frequently appeared person alarm and submit the task.
The task information (task ID) is returned in the message JSON_TaskInfo .
3. Optional: Perform the following operation(s) after submitting the search task.
Pause Task GET /ISAPI/SDT/Management/Task/pause/<taskID>?format=json
Resume Task GET /ISAPI/SDT/Management/Task/resume/<taskID>?format=json
Delete Task DELETE /ISAPI/SDT/Management/Task/<taskID>?format=json
Cancel Task GET /ISAPI/SDT/Management/Task/cancel/<taskID>?format=json
4. Call /ISAPI/SDT/Management/Task/progress/<taskID>?format=json by GET method to get the
search progress.
28
Intelligent Security API (Facial) Developer Guide
Note
Only when the progress equals to "100", you can perform the following steps.
5. Call /ISAPI/SDT/HFPD/searchTask/result?format=json by POST method to get search result of
frequently appeared person alarm when the progress equals to "100".
6. Call /ISAPI/SDT/HFPD/searchTask/result/recordData/<ID>?format=json by GET method to get
search result details of frequently appeared person alarm.
29
Intelligent Security API (Facial) Developer Guide
Note
Only when the progress equals to "100", you can perform the following steps.
5. Call /ISAPI/SDT/HFPD/search/dataPackage/<taskID>?format=json by GET method to get
exported frequently appeared person alarm information when the progress equals to "100".
30
Intelligent Security API (Facial) Developer Guide
Steps
31
Intelligent Security API (Facial) Developer Guide
8. Optional: Set the alarm category (Type) in the message XML_SubscribeEvent to "LFPD" and
subscribe the low frequency person alarm in arming mode (see Subscribe Alarm/Event in
Arming Mode for details) for receiving the alarm information when it triggered.
The alarm details are returned in the message JSON_EventNotificationAlert_LFPD .
Figure 5-9 Programming Flow of Searching for Low Frequency Person Alarm
1. Optional: Call /ISAPI/SDT/LFPD/capabilities?format=json by GET to get the capability of low
frequency person detection to check if device supports searching for low frequency person
alarm.
The capability of low frequency person detection is returned in the message JSON_LFPDCap .
If supports, the node <isSupportEventRecordDataSearch> is returned in the message and its
value is "true", and then you can perform the following steps.
Otherwise, searching for low frequency person alarm is not supported by device, please end
this task.
2. Call /ISAPI/SDT/LFPD/searchTask/eventRecordData?format=json by POST method to set the
condition of searching for low frequency person alarm and submit the task.
3. Call /ISAPI/SDT/LFPD/searchTask/result?format=json by POST method to get search result of
low frequency person alarm.
4. Call /ISAPI/SDT/LFPD/searchTask/result/recordData?format=json by GET method to get search
result details of low frequency person alarm when the progress equals to "100".
32
Intelligent Security API (Facial) Developer Guide
33
Intelligent Security API (Facial) Developer Guide
Note
Only when the progress equals to "100", you can perform the following steps.
5. Call /ISAPI/SDT/LFPD/search/dataPackage/<taskID>?format=json by GET to get exported low
frequency person alarm information when the progress equals to "100".
34
Intelligent Security API (Facial) Developer Guide
Example
Sample Code of Receiving Alarm/Event in Arming Mode (without Binary Picture Data)
GET /ISAPI/Event/notification/alertStream HTTP/1.1
Host: data_gateway_ip
Connection: Keep-Alive
HTTP/1.1 200 OK
MIME-Version: 1.0
Connection: close
Content-Type: multipart/mixed; boundary=<frontier>
--<frontier>
Content-Type: application/xml; charset="UTF-8"
Content-Length: text_length
<EventNotificationAlert/>
--<frontier>
Note
Some alarm data is in JSON format, so the Content-Type may be "application/xml" or "application/
json".
35
Intelligent Security API (Facial) Developer Guide
Note
Before setting the listening server, you'd better call the URI by GET method to get the default or
configured parameters for reference.
3. Call /ISAPI/Event/notification/httpHosts/<ID>/test by POST method to check if the listening
server is working normally.
4. Call http://<ipAddress>:<portNo>/<url> by POST method to receive the alarm/event
information from the listening server.
Example
Sample Code of Receiving Alarm/Event in Listening Mode
36
Intelligent Security API (Facial) Developer Guide
--<frontier>
Content-Disposition: form-data; name="Event_Type"
Content-Type: text/xml
Content-Length: xml_length
<EventNotificationAlert/>
--<frontier>
Content-Disposition: form-data; name="Picture_Name"
Content-Length: image_length
Content-Type: image/pjpeg
//Response
HTTP/1.1 HTTP statusCode
Date: YourDate
Connection: close
• without Binary Picture Data
//Request
POST requestUrl HTTP/1.1
Host: data_gateway_ip:port
Accept-Language: en-US
Date: YourDate
Content-Type: text/xml;
Content-Length: text_length
Connection: Close
<EventNotificationAlert/>
//Response
HTTP/1.1 HTTP statusCode
Date: YourDate
Connection: close
Note
• The Host is the HTTP server domain name or IP address and port No.
• Some alarm data is in JSON format, so the Content-Type may be "text/xml" or "text/json".
37
Intelligent Security API (Facial) Developer Guide
38
Intelligent Security API (Facial) Developer Guide
If the node <isSupportSubscribeEvent> is also returned in the message and its value is "true", it
indicates that alarm/event subscription is supported by device, and you can continue to
perform the following steps;
Otherwise, alarm/event subscription is not supported, please end the task.
2. Call /ISAPI/Event/notification/subscribeEventCap by GET method to get subscription capability
to get supported alarm/event types.
The alarm/event subscription capability is returned in the message XML_SubscribeEventCap .
3. Call /ISAPI/Event/notification/subscribeEvent by POST method to enable alarm/event
uploading.
Note
The sub node <type> of event type list (EventList) in the request message XML_SubscribeEvent
can be set to different values (refer to Supported Alarm/Event Types for details) to subscribe
different types of alarm/event information.
4. Optional: Call /ISAPI/Event/notification/subscribeEvent/<ID> by GET method to get subscribed
alarm/event types for reference.
5. Call /ISAPI/Event/notification/subscribeEvent/<ID> by PUT to set alarm/event type to
subscribe.
Note
The sub node <type> of event type list (EventList) in the request message XML_SubscribeEvent
can be set to different values (refer to Supported Alarm/Event Types for details) to subscribe
different types of alarm/event information.
6. Call /ISAPI/Event/notification/alertStream by GET method to receive the alarm/event
information.
7. Check if the heartbeat receiving timed out or network disconnected.
- If the heartbeat keeps alive and the network still connected, perform the following step to
continue.
- If the heartbeat receiving timed out or network disconnected, perform the above step
repeatedly until reconnected.
8. Call /ISAPI/Event/notification/unSubscribeEvent by PUT method to cancel subscribing alarm/
event.
39
Intelligent Security API (Facial) Developer Guide
6.1 http://<ipAddress>:<portNo>/<url>
HTTP listening sever sends alarm information to alarm center.
Remarks
• The <ipAddress> in the request URL refers to the IP address or domain name of HTTP listening
server, the <portNo> is the port No. of HTTP listening server, and the <url> represents the
streaming URL, which is configured via the HTTP listening server.
• The default port No. is 80, so the request URL without port No. is also valid.
6.2 /ISAPI/Event/capabilities
Get the device event capability.
40
Intelligent Security API (Facial) Developer Guide
6.3 /ISAPI/Event/notification/alertStream
Get the uploaded heartbeat or alarm/event information.
Note
The messages here only show the format of alarm/event
information to be uploaded. For details, refer to the corresponding
alarm/event configuration chapters.
Remarks
• After calling this URI, a persistent connection is set up between the device and the platform, and
the alarm or event information will be uploaded from device continuously once the alarm is
triggered or event occurred.
• You can check if the XML response message is the heartbeat information according to the nodes
<eventType> and <eventState>. If the values of these two node are "videoloss" and "inactive",
respectively, the returned message is the heartbeat information.
6.4 /ISAPI/Event/notification/httpHosts
Get or set parameters of all HTTP listening servers, add a HTTP listening server, and delete all HTTP
listening servers.
41
Intelligent Security API (Facial) Developer Guide
Query security: the version No. of encryption scheme. When security does
not exist, it indicates that the data is not encrypted; when security is
1, it indicates that the nodes of sensitive information in the message
are encrypted in AES128 CBC mode; when security is 2, it indicates
that the nodes of sensitive information in the message are encrypted
in AES256 CBC mode.
Request None
Response Succeeded: XML_HttpHostNotificationList
Failed: XML_ResponseStatus
Table 6-5 PUT /ISAPI/Event/notification/httpHosts
Method PUT
Description Set parameters of all HTTP listening servers.
Query security: the version No. of encryption scheme. When security does
not exist, it indicates that the data is not encrypted; when security is
1, it indicates that the nodes of sensitive information in the message
are encrypted in AES128 CBC mode; when security is 2, it indicates
that the nodes of sensitive information in the message are encrypted
in AES256 CBC mode.
Request XML_HttpHostNotificationList
Response XML_ResponseStatus
Table 6-6 POST /ISAPI/Event/notification/httpHosts
Method POST
Description Add a HTTP listening server.
Query security: the version No. of encryption scheme. When security does
not exist, it indicates that the data is not encrypted; when security is
1, it indicates that the nodes of sensitive information in the message
are encrypted in AES128 CBC mode; when security is 2, it indicates
that the nodes of sensitive information in the message are encrypted
in AES256 CBC mode.
Request XML_HttpHostNotification
Response XML_ResponseStatus
Table 6-7 DELETE /ISAPI/Event/notification/httpHosts
Method DELETE
Description Delete all HTTP listening servers.
42
Intelligent Security API (Facial) Developer Guide
Query None
Request None
Response XML_ResponseStatus
6.5 /ISAPI/Event/notification/httpHosts/<ID>/test
Check whether the HTTP listening server is working normally.
Remarks
The <ID> in the request URI refers to the HTTP listening server ID.
6.6 /ISAPI/Event/notification/httpHosts/capabilities
Get the configuration capabilities of all HTTP listening servers.
43
Intelligent Security API (Facial) Developer Guide
6.7 /ISAPI/Event/notification/subscribeEvent
Subscribe events/alarms in arming mode.
Remarks
The XML_EventNotificationAlert_SubscriptionHeartbeat and alarm/event details message is
uploaded repeatedly. The default time interval of uploading heartbeat information is 30s.
6.8 /ISAPI/Event/notification/subscribeEvent/<ID>
Get or set alarm/event subscription parameters.
44
Intelligent Security API (Facial) Developer Guide
Query None.
Request XML_SubscribeEvent
Response XML_ResponseStatus
Remarks
The <ID> in the request URI refers to the subscription No. which is returned by the device. After
the persistent connection for receiving events or alarms in arming mode is closed, the device will
release the resource used by the <ID>.
6.9 /ISAPI/Event/notification/subscribeEventCap
Get event/alarm subscription capability.
6.10 /ISAPI/Event/notification/unSubscribeEvent
Cancel subscribing alarm/event.
45
Intelligent Security API (Facial) Developer Guide
6.11 /ISAPI/Event/schedules/faceContrast
Get or set arming schedule of multiple face picture comparison alarms.
6.12 /ISAPI/Event/schedules/faceContrast/<ID>
Get or set arming schedule of a face picture comparison alarm.
46
Intelligent Security API (Facial) Developer Guide
Remarks
The <ID> in the URI is defined as the ID of alarm triggered video input channel. For example, if the
video input channel No. with face picture comparison alarm triggered is 1, the ID is
"faceContrast-1".
6.13 /ISAPI/Event/schedules/faceLib/<ID>/<FDID>
Get or set arming schedule of a face picture comparison alarm.
47
Intelligent Security API (Facial) Developer Guide
Remarks
• The <ID> in the URI is the video channel ID.
• The <FDID> in the URI is the face picture library ID, which is returned by device. But the user can
also define the library ID and apply the custom ID to the device, and then the device will link the
<FDID> with the custom ID, so you can configure and manage the library via the custom ID. If the
face picture library ID is customized, the corresponding URI should be /ISAPI/Event/schedules/
faceLib/<ID>/<FDID>?FDType=custom.
6.14 /ISAPI/Event/schedules/faceSnap
Get or set arming schedule of face capture
6.15 /ISAPI/Event/schedules/faceSnap/<ID>
Get or set arming schedule configurations of face capture of a device.
48
Intelligent Security API (Facial) Developer Guide
Query None.
Request None.
Response Succeeded: XML_Schedule
Failed: XML_ResponseStatus
Table 6-24 PUT /ISAPI/Event/schedules/faceSnap/<ID>
Method PUT
Description Set the arming schedule of face capture of a device.
Query None.
Request XML_Schedule
Response XML_ResponseStatus
Remarks
• The <ID> in the URI is defined by the video input channel No. with face capture alarm triggered.
For example, if the alarm triggered channel No. is 1, the <ID> is "faceSnap-1".
• You can also get the number of arming schedules can be configured by this URI via GET method.
6.16 /ISAPI/Event/schedules/HFPD
Get or set arming schedule of frequently appeared person detection.
49
Intelligent Security API (Facial) Developer Guide
6.17 /ISAPI/Event/schedules/whiteListFaceContrast
Get or set arming schedule of multiple stranger detection alarms.
6.18 /ISAPI/Event/schedules/whiteListFaceContrast/<ID>
Get or set arming schedule of a stranger detection alarm.
50
Intelligent Security API (Facial) Developer Guide
Remarks
The <ID> in the URI is defined as the ID of alarm triggered video input channel. For example, if the
video input channel No. with stranger detection alarm triggered is 1, the ID is
"whiteListFaceContrast-1".
6.19 /ISAPI/Event/triggers
Get linkage actions of multiple alarms.
6.20 /ISAPI/Event/triggersCap
Get alarm linkage capability.
51
Intelligent Security API (Facial) Developer Guide
Request None
Response Succeeded: XML_EventTriggersCap
Failed: XML_ResponseStatus
6.21 /ISAPI/Event/triggers/<eventType>-<ID>
Get, set, or delete the alarm linkage action by channel.
Remarks
The <eventType> in the request URI refers to the predefined event or alarm type name, and the
<ID> is the No. of the event detection channel. For example, if the No. of the face capture channel
is 101, the "<eventType>-<ID>" is "faceSnap-101".
52
Intelligent Security API (Facial) Developer Guide
6.22 /ISAPI/Event/triggers/<ID>/<FDID>
Get, set, or delete the linkage action parameters of a face picture comparison alarm.
Remarks
• The <ID> in the URI is the video channel ID.
• The <FDID> in the URI is the face picture library ID, which is returned by device. But the user can
also define the library ID and apply the custom ID to the device, and then the device will link the
<FDID> with the custom ID, so you can configure and manage the library via the custom ID. If the
face picture library ID is customized, the corresponding URI should be /ISAPI/Event/triggers/
<ID>/<FDID>?FDType=custom.
53
Intelligent Security API (Facial) Developer Guide
6.23 /ISAPI/Intelligent/capabilities
Get the intelligent capability set.
6.24 /ISAPI/Intelligent/analysisEngines
Get or set parameters of all analysis engines.
54
Intelligent Security API (Facial) Developer Guide
6.25 /ISAPI/Intelligent/analysisEngines/<ID>
Get or set parameters of an analysis engine.
Remarks
The <ID> in the request URI refers to the analysis engine No.
6.26 /ISAPI/Intelligent/analysisEngines/capabilities
Get configuration capability of analysis engine.
55
Intelligent Security API (Facial) Developer Guide
Failed: XML_ResponseStatus
6.27 /ISAPI/Intelligent/analysisImage/face
Import a local face picture for searching by picture.
Remarks
You can check whether the device supports this function according to the node
<isSuportAnalysisFace> in the capability XML_FDLibCap returned by the URI /ISAPI/Intelligent/
FDLib/capabilities .
6.28 /ISAPI/Intelligent/channels/<ID>/AlgParam
Operations about algorithm library configurations of a device.
56
Intelligent Security API (Facial) Developer Guide
Query None.
Request XML_AlgParam
Response XML_ResponseStatus
Remarks
The <ID> in the URI refers to the intelligent channel ID.
6.29 /ISAPI/Intelligent/channels/<ID>/AlgParam/Capabilities
Get the capability of algorithm library configurations of a device.
Remarks
The <ID> in the URI refers to the intelligent channel ID.
6.30 /ISAPI/Intelligent/channels/<ID>/faceContrast
Get or set face picture comparison parameters.
57
Intelligent Security API (Facial) Developer Guide
Remarks
The <ID> in the URI refers to the intelligent channel ID.
6.31 /ISAPI/Intelligent/channels/<ID>/faceContrast/capabilities
Get the capability of face picture comparison.
Remarks
The <ID> in the URI refers to the intelligent channel ID.
6.32 /ISAPI/Intelligent/channels/<ID>/faceContrast/faceScore/
capabilities?format=json
Get the face score capability of a channel.
58
Intelligent Security API (Facial) Developer Guide
Remarks
The <ID> in the URI refers to channel ID.
6.33 /ISAPI/Intelligent/channels/<ID>/faceContrast/faceScore?
format=json
Get or set face score parameters of a channel.
59
Intelligent Security API (Facial) Developer Guide
Remarks
The <ID> in the URI refers to channel ID.
6.34 /ISAPI/Intelligent/channels/<ID>/faceRule
Get or set face capture rule parameters of a channel.
Remarks
The <ID> in the URI refers to the channel ID.
6.35 /ISAPI/Intelligent/channels/<ID>/faceRule/Capabilities
Get the configuration capability of face capture rule of a channel.
60
Intelligent Security API (Facial) Developer Guide
Query None
Request None
Response Succeeded: XML_Cap_faceRule
Failed: XML_ResponseStatus
Remarks
The <ID> in the URI refers to the channel ID.
6.36 /ISAPI/Intelligent/channels/<ID>/intelliResource
Get or set intelligent resource parameters by channel.
Remarks
The <ID> in the URI refers to the channel ID.
6.37 /ISAPI/Intelligent/channels/<ID>/intelliResource/capabilities
Get the configuration capability of intelligent resources by channel.
61
Intelligent Security API (Facial) Developer Guide
Remarks
The <ID> in the URI refers to the channel ID.
6.38 /ISAPI/Intelligent/faceContrast/faceScore/capabilities?format=json
Get the face score capability.
6.39 /ISAPI/Intelligent/faceContrast/faceScore/default?format=json
Get the default face score parameters.
62
Intelligent Security API (Facial) Developer Guide
6.40 /ISAPI/Intelligent/faceContrast/faceScore?format=json
Get or set face score parameters.
6.41 /ISAPI/Intelligent/FDLib
Get or set face picture library parameters, create a face picture library, or delete all face picture
libraries of the device.
63
Intelligent Security API (Facial) Developer Guide
Query security: the version No. of encryption scheme. When security does
not exist, it indicates that the data is not encrypted; when security is
1, it indicates that the nodes of sensitive information in the message
are encrypted in AES128 CBC mode; when security is 2, it indicates
that the nodes of sensitive information in the message are encrypted
in AES256 CBC mode.
iv: the initialization vector, and it is required when security is 1 or 2.
Request None.
Response Succeeded: XML_FDLibBaseCfgList
Failed: XML_ResponseStatus
Table 6-66 PUT /ISAPI/Intelligent/FDLib
Method PUT
Description Set the face picture library parameters.
Query security: the version No. of encryption scheme. When security does
not exist, it indicates that the data is not encrypted; when security is
1, it indicates that the nodes of sensitive information in the message
are encrypted in AES128 CBC mode; when security is 2, it indicates
that the nodes of sensitive information in the message are encrypted
in AES256 CBC mode.
iv: the initialization vector, and it is required when security is 1 or 2.
Request XML_FDLibBaseCfgList
Response XML_ResponseStatus
Table 6-67 POST /ISAPI/Intelligent/FDLib
Method POST
Description Create a face picture library.
Query security: the version No. of encryption scheme. When security does
not exist, it indicates that the data is not encrypted; when security is
1, it indicates that the nodes of sensitive information in the message
are encrypted in AES128 CBC mode; when security is 2, it indicates
that the nodes of sensitive information in the message are encrypted
in AES256 CBC mode.
iv: the initialization vector, and it is required when security is 1 or 2.
Request XML_CreateFDLibList
Response Succeeded: XML_FDLibInfoList
Failed: XML_ResponseStatus
64
Intelligent Security API (Facial) Developer Guide
6.42 /ISAPI/Intelligent/FDLib/asyncImportDatas?format=json
Asynchronously import the data to the face picture library.
6.43 /ISAPI/Intelligent/FDLib/format?format=json
Format all face picture libraries (including normal and private libraries).
65
Intelligent Security API (Facial) Developer Guide
Remarks
After formatting, all face picture libraries will be emptied and the device will reboot.
6.44 /ISAPI/Intelligent/FDLib/<FDID>
Get or set the basic parameters of a face picture library, or delete a library.
66
Intelligent Security API (Facial) Developer Guide
Remarks
The <FDID> in the URI is the face picture library ID, which is returned by device via the URI /ISAPI/
Intelligent/FDLib . But the user can also define the library ID and apply the custom ID to the
device, and then the device will link the <FDID> with the custom ID, so you can configure and
manage the library via the custom ID. If the face picture library ID is customized, the corresponding
URI should be /ISAPI/Intelligent/FDLib/<FDID>?FDType=custom.
6.45 /ISAPI/Intelligent/FDLib/<FDID>/data?checkCode=
Import or export data to or from a specific face picture library.
67
Intelligent Security API (Facial) Developer Guide
Remarks
• The checkCode in the URI is the verification code, and should be encrypted for transmission. It
must be same when importing and exporting.
• To import data by overwriting the existing data, the URI must be /ISAPI/Intelligent/FDLib/
<FDID>/data?checkCode=?mode=cover.
• The <FDID> in the URI is the face picture library ID, which is returned by device. But the user can
also define the library ID and apply the custom ID to the device, and then the device will link the
<FDID> with the custom ID, so you can configure and manage the library via the custom ID. If the
face picture library ID is customized, the URI should be /ISAPI/Intelligent/FDLib/<FDID>/data?
checkCode=?FDType=custom.
6.46 /ISAPI/Intelligent/FDLib/<FDID>/importFrom/FDLibSource
Add a specific face picture library to another library for importing all the pictures in the specific
library to another library.
68
Intelligent Security API (Facial) Developer Guide
Remarks
• The <FDID> in the URI is the face picture library ID, which is returned by device. But the user can
also define the library ID and apply the custom ID to the device, and then the device will link the
<FDID> with the custom ID, so you can configure and manage the library via the custom ID. If the
face picture library is customized, the corresponding URI should be /ISAPI/Intelligent/FDLib/
<FDID>/importFrom/FDLibSource?FDType=custom.
• You can check whether the device supports this function according to the node
<isSupportFDLibEachImport> in the capability , and get the related capability node
<FDLibEachImportCap> by /ISAPI/Intelligent/FDLib/capabilities .
6.47 /ISAPI/Intelligent/FDLib/<FDID>/picture
Import importing pictures and additional information to list library (available for front-end device).
69
Intelligent Security API (Facial) Developer Guide
Remarks
• The <FDID> in the URI is the list library ID, which is returned by device. But the user can also
define the library ID and apply the custom ID to the device, and then the device will link the
<FDID> with the custom ID, so you can configure and manage the library via the custom ID. If the
list library ID is customized, the corresponding URI should be /ISAPI/Intelligent/FDLib/<FDID>/
picture/<PID>?FDType=custom.
• To modeling the imported face pictures in the library, the concurrent mode must be enabled, so
the corresponding URI should be /ISAPI/Intelligent/FDLib/<FDID>/picture?type=concurrent.
• To import the face pictures by overwriting existing data, the URI must be /ISAPI/Intelligent/
FDLib/<FDID>/picture?mode=cover.
• The URI interaction is in form format, see details below:
POST /ISAPI/Intelligent/FDLib/1/imageInfoData
Accept: text/html, application/xhtml+xml, */*
Accept-Language: en-US
Content-Type: multipart/form-data; boundary=---------------------------7e13971310878
User-Agent: Mozilla/5.0 (compatible; MSIE 9.0; Windows NT 6.1; WOW64; Trident/5.0)
Accept-Encoding: gzip, deflate
Host: 10.10.36.29:8080
Content-Length: 9907
Connection: Keep-Alive
Cache-Control: no-cache
-----------------------------7e13971310878
Content-Disposition: form-data; name="FaceAppendData";
Content-Type: text/xml
Content-Length: 9907
<FaceAppendData/>
-----------------------------7e13971310878
Content-Disposition: form-data; name="importImage";
Content-Type: image/jpeg
Content-Length: 9907
......JFIF.....`.`.....C........... .
..
................. $.' ",#..(7),01444.'9=82<.342...C. ....
-----------------------------7e13971310878--
Example
Interaction Example
POST http://10.17.112.200/ISAPI/Intelligent/FDLib/3/picture?type=concurrent HTTP/1.1
If-Modified-Since: 0
Accept: */*
X-Requested-With: XMLHttpRequest
Content-Type: multipart/form-data; boundary=---------------------------7e232b37d1dba
Referer: http://10.17.112.200/doc/page/config.asp
Accept-Language: en-US
Accept-Encoding: gzip, deflate
70
Intelligent Security API (Facial) Developer Guide
-----------------------------7e232b37d1dba
Content-Disposition: form-data; name="FaceAppendData"
m[ID:37]
[face rect:0.2656(0), 0.1667(0), 0.0344(0), 0.0611(0)]
[faceScore:100]
[curIdx:0]
[JpegQuality:95]
JFIF
6.48 /ISAPI/Intelligent/FDLib/<FDID>/picture/<PID>
Get, set, or delete linked information of a picture in the face picture library.
71
Intelligent Security API (Facial) Developer Guide
Remarks
• The <FDID> in the URI is the face picture library ID, which is returned by device. But the user can
also define the library ID and apply the custom ID to the device, and then the device will link the
<FDID> with the custom ID, so you can configure and manage the library via the custom ID. If the
face picture library ID is customized, the corresponding URI should be /ISAPI/Intelligent/FDLib/
<FDID>/picture/<PID>?FDType=custom.
• The <PID> in the URI refers to ID of the face picture in the library. The face picture ID can also be
defined by user and applied to the device, and then the device will link the <PID> with custom
face picture ID, so you can perform the following operations via the custom face picture ID.
6.49 /ISAPI/Intelligent/FDLib/<FDID>/picture/<PID>/imageData
Update the specified face picture of a face picture library. Update the face picture only (the related
information will not be updated).
72
Intelligent Security API (Facial) Developer Guide
Remarks
• The <FDID> in the URI is the face picture library ID, which is returned by device. But the user can
also define the library ID and apply the custom ID to the device, and then the device will link the
<FDID> with the custom ID, so you can configure and manage the library via the custom ID. If the
face picture library ID is customized, the corresponding URI should be: /ISAPI/Intelligent/FDLib/
<FDID>/picture/<PID>/imageData?FDType=custom.
• The <PID> in the URI refers to ID of the face picture in the library.
6.50 /ISAPI/Intelligent/FDLib/<FDID>/picture/<PID>/occurrenceData/
<ID>?format=json
Get or delete frequency information of a face picture in the face picture library
73
Intelligent Security API (Facial) Developer Guide
Remarks
• The <FDID> in the URI is the face picture library ID, which is returned by device. But the user can
also define the library ID and apply the custom ID to the device, and then the device will link the
<FDID> with the custom ID, so you can configure and manage the library via the custom ID. If the
face picture library ID is customized, the corresponding URI should be /ISAPI/Intelligent/FDLib/
<FDID>/picture/<PID>?FDType=custom.
• The <PID> in the URI refers to ID of the face picture in the library. The face picture ID can also be
defined by user and applied to the device, and then the device will link the <PID> with custom
face picture ID, so you can perform the following operations via the custom face picture ID.
• The <ID> in the URI refers to the id in message JSON_OccurrenceDataList returned by the URI:
GET /ISAPI/Intelligent/FDLib/<FDID>/picture/<PID>/occurrenceData?format=json.
6.51 /ISAPI/Intelligent/FDLib/<FDID>/picture/<PID>/occurrenceData?
format=json
Get or delete frequency information of all face pictures in the face picture library
74
Intelligent Security API (Facial) Developer Guide
Remarks
• The <FDID> in the URI is the face picture library ID, which is returned by device. But the user can
also define the library ID and apply the custom ID to the device, and then the device will link the
<FDID> with the custom ID, so you can configure and manage the library via the custom ID. If the
face picture library ID is customized, the corresponding URI should be /ISAPI/Intelligent/FDLib/
<FDID>/picture/<PID>?FDType=custom.
• The <PID> in the URI refers to ID of the face picture in the library. The face picture ID can also be
defined by user and applied to the device, and then the device will link the <PID> with custom
face picture ID, so you can perform the following operations via the custom face picture ID.
6.52 /ISAPI/Intelligent/FDLib/<FDID>/picture/coverNumber
Get the number of overwritten face pictures in a face picture library.
Remarks
• The <FDID> in the URI is the face picture library ID, which is returned by device. But the user can
also define the library ID and apply the custom ID to the device, and then the device will link the
<FDID> with the custom ID, so you can configure and manage the library via the custom ID. If the
75
Intelligent Security API (Facial) Developer Guide
6.53 /ISAPI/Intelligent/FDLib/<FDID>/picture/surplusCapacity
Get the number of remaining face pictures in a face picture library.
Remarks
• The <FDID> in the URI is the face picture library ID, which is returned by device. But the user can
also define the library ID and apply the custom ID to the device, and then the device will link the
<FDID> with the custom ID, so you can configure and manage the library via the custom ID. If the
face picture library ID is customized, the URI should be /ISAPI/Intelligent/FDLib/<FDID>/
picture/surplusCapacity?FDType=custom.
• You can check whether the device supports this function according to the node
<isSupportSurplusCapacity> in the capability XML_FDLibCap which is returned by calling /ISAPI/
Intelligent/FDLib/capabilities .
6.54 /ISAPI/Intelligent/FDLib/<FDID>/progress
Get the progress of importing or exporting face picture data.
76
Intelligent Security API (Facial) Developer Guide
Remarks
• The <FDID> in the URI is the face picture library ID, which is returned by device. But the user can
also define the library ID and apply the custom ID to the device, and then the device will link the
<FDID> with the custom ID, so you can configure and manage the library via the custom ID. If the
face picture library ID is customized, the URI should be /ISAPI/Intelligent/FDLib/<FDID>/
progress?FDType=custom.
• You can check whether the device supports this function according to the node
<isSupportFDlibProgress> in the capability XML_FDLibCap which is returned by calling /ISAPI/
Intelligent/FDLib/capabilities .
6.55 /ISAPI/Intelligent/FDLib/capabilities
Get configuration capability of face picture library.
6.56 /ISAPI/Intelligent/FDLib/FCSearch
Search for face picture comparison results.
77
Intelligent Security API (Facial) Developer Guide
Remarks
• You can check whether the device supports this function according to the node
<isSuportFCSearch> in the capability XML_FDLibCap returned by calling /ISAPI/Intelligent/
FDLib/capabilities .
• This URI is only available for admin user, and the exported comparison result consists of
captured face picture+URI and matched face picture in library+URI.
6.57 /ISAPI/Intelligent/FDLib/FCSearch/dataPackage
Export the face picture comparison results to the local storage.
78
Intelligent Security API (Facial) Developer Guide
Request XML_FCSearchDescription
Response Opaque data (in XLSX format)
Remarks
• You can check whether the device supports this function according to the node
<isSupportFCSearchDataPackage> in the capability XML_FDLibCap returned by calling /ISAPI/
Intelligent/FDLib/capabilities .
• This URI is only available for admin user, and the exported comparison result consists of
captured face picture+URI and matched face picture in library+URI.
• To export the comparison results of a specific face picture library, the URI: "/ISAPI/Intelligent/
FDLib/FCSearch/channels/<ID>/dataPackage" is available. The <ID> in the URI is the channel ID.
6.58 /ISAPI/Intelligent/FDLib/FDSearch
Search for face pictures in the face picture library (support fuzzy search).
6.59 /ISAPI/Intelligent/FDLib/manualModeling/progressState?taskID=
Get the status of a modeling task when model unmodeled face pictures in different libraries.
79
Intelligent Security API (Facial) Developer Guide
Remarks
• You can check whether the device supports this function according to the node
<isSupportRangeManualModeling> in the capability XML_FDLibCap which is returned by
calling /ISAPI/Intelligent/FDLib/capabilities .
• The taskID is the modeling task ID when modeling unmodeled face pictures in different
libraries., which is returned by calling /ISAPI/Intelligent/FDLib/manualModelingRangeTask .
6.60 /ISAPI/Intelligent/FDLib/manualModeling?FDID=&PID=
Model an unmodeled face picture in a specific face picture library.
Remarks
• The <FDID> in the URI is the face picture library ID, which is returned by device. But the user can
also define the library ID and apply the custom ID to the device, and then the device will link the
FDID with the custom ID, so you can configure and manage the library via the custom ID. If the
face picture library ID is customized, the URI should be "/ISAPI/Intelligent/FDLib/
80
Intelligent Security API (Facial) Developer Guide
6.61 /ISAPI/Intelligent/FDLib/manualModeling?range=&FDID=
Specify a face picture library to start model the face pictures in batch.
Remarks
• To model the unmodeled face pictures in the library, the query parameter range should be
"unmodeled", so the URI must be /ISAPI/Intelligent/FDLib/manualModeling?
range=unmodeled&FDID=; if the device upgrades, all pictures stored in the device should be
modeled again, the corresponding URI should be /ISAPI/Intelligent/FDLib/manualModeling?
range=all&FDID=.
• The FDID in the URI is the face picture library ID, which is returned by device. But the user can
also define the library ID and apply the custom ID to the device, and then the device will link the
FDID with the custom ID, so you can configure and manage the library via the custom ID. If the
face picture library ID is customized, the URI should be /ISAPI/Intelligent/FDLib/
81
Intelligent Security API (Facial) Developer Guide
6.62 /ISAPI/Intelligent/FDLib/manualModelingRangeTask
Model unmodeled face pictures of different face picture libraries.
Remarks
• You can check whether the device supports this function according to the node
<isSupportRangeManualModeling> in the capability XML_FDLibCap which is returned by
calling /ISAPI/Intelligent/FDLib/capabilities .
• The value of <id> in the XML_ResponseStatus message is the modeling task ID (taskID).
6.63 /ISAPI/Intelligent/FDLib/modelingStatus?FDID=&PID=
Get the modeling status of a face picture in a specific face picture library.
82
Intelligent Security API (Facial) Developer Guide
Request None
Response Succeeded: XML_ModelingStatus
Failed: XML_ResponseStatus
Remarks
• The <FDID> in the URI is the face picture library ID, which is returned by device. But the user can
also define the library ID and apply the custom ID to the device, and then the device will link the
FDID with the custom ID, so you can configure and manage the library via the custom ID. If the
face picture library ID is customized, the URI should be "/ISAPI/Intelligent/FDLib/
modelingStatus?FDID=<customFaceLibID>&PID=&FDType=custom", otherwise, the URI is "/
ISAPI/Intelligent/FDLib/modelingStatus?FDID=<FDID>&PID=".
• The <PID> in the URI refers to ID of the face picture in the library. The face picture ID can also be
defined by user and applied to the device, and then the device will link the PID with custom face
picture ID, so you can perform the following operations via the custom face picture ID. If the face
picture ID is customized, the URI should be "/ISAPI/Intelligent/FDLib/modelingStatus?
FDID=&PID=<customHumanID>", otherwise, the URI is "/ISAPI/Intelligent/FDLib/
modelingStatus?FDID=&PID=<PID>".
• You can check whether the device supports this function according to the node
<isSupportSingleManualModelingSearch> in the capability XML_FDLibCap which is returned by
calling /ISAPI/Intelligent/FDLib/capabilities .
6.64 /ISAPI/Intelligent/FDLib/modelingStatus?status=
Search for face pictures by modeling status.
Remarks
• To search for modeled face pictures, the URI should be "/ISAPI/Intelligent/FDLib/
modelingStatus?status=success"; to search for modeling failed face pictures, the URI should be
83
Intelligent Security API (Facial) Developer Guide
6.65 /ISAPI/Intelligent/FDLib/modelingStatusRang
Search for all modeling statuses of the device.
Remarks
You can check whether the device supports this function according to the node
<isSupportRangeManualModelingSearch> in the capability XML_FDLibCap which is returned by
calling /ISAPI/Intelligent/FDLib/capabilities .
6.66 /ISAPI/Intelligent/FDLib/pictureUpload
Import face pictures and the additional information to a specific face picture library (available for
rear-end device).
84
Intelligent Security API (Facial) Developer Guide
Request XML_PictureUploadData
Response XML_ResponseStatus
Remarks
• To modeling the imported face pictures in the library, the concurrent mode must be enabled,so
the corresponding URI should be "/ISAPI/Intelligent/FDLib/pictureUpload/picture?
type=concurrent".
• The interaction is in form format, see details below:
POST /ISAPI/Intelligent/FDLib/pictureUpload
Accept: text/html, application/xhtml+xml, */*
Accept-Language: en-US
Content-Type: multipart/form-data; boundary=---------------------------7e13971310878
User-Agent: Mozilla/5.0 (compatible; MSIE 9.0; Windows NT 6.1; WOW64; Trident/5.0)
Accept-Encoding: gzip, deflate
Host: 10.10.36.29:8080
Content-Length: 9907
Connection: Keep-Alive
Cache-Control: no-cache
-----------------------------7e13971310878
Content-Disposition: form-data; name="PictureUploadData";
Content-Type: text/xml
Content-Length: 123456
<PictureUploadData/>
-----------------------------7e13971310878
Content-Disposition: form-data; name="importImage";
Content-Type: image/jpeg
Content-Length: 123467
......JFIF.....`.`.....C........... .
..
................. $.' ",#..(7),01444.'9=82<.342...C. ....
-----------------------------7e13971310878--
Example
Interaction Example
POST http://10.17.112.200/ISAPI/Intelligent/FDLib/3/picture?type=concurrent HTTP/1.1
If-Modified-Since: 0
Accept: */*
X-Requested-With: XMLHttpRequest
Content-Type: multipart/form-data; boundary=---------------------------7e232b37d1dba
Referer: http://10.17.112.200/doc/page/config.asp
Accept-Language: en-US
Accept-Encoding: gzip, deflate
User-Agent: Mozilla/5.0 (compatible; MSIE 10.0; Windows NT 6.1; WOW64; Trident/6.0)
Connection: Keep-Alive
Content-Length: 8249
85
Intelligent Security API (Facial) Developer Guide
DNT: 1
Host: 10.17.112.200
Pragma: no-cache
Cookie: language=zh; sdMarkMenu=22%3AfaceSnapLib; szLastPageName=faceSnapLib;
sdMarkTab_1_0=0%3AsettingBasic; WebSession=1d99be788a6aef920d79
-----------------------------7e232b37d1dba
Content-Disposition: form-data; name="FaceAppendData"
m[ID:37]
[face rect:0.2656(0), 0.1667(0), 0.0344(0), 0.0611(0)]
[faceScore:100]
[curIdx:0]
[JpegQuality:95]
JFIF
6.67 /ISAPI/SDT/HFPD/capabilities?format=json
Get the capabilities of frequently appeared person detection.
6.68 /ISAPI/SDT/HFPD/search/dataPackage/<taskID>?format=json
Get the exported frequently appeared person alarm information.
86
Intelligent Security API (Facial) Developer Guide
Remarks
The <taskID> in the URI refers to the task ID, which is returned in the message JSON_TaskInfo
when submitting the task by calling /ISAPI/SDT/HFPD/search/dataPackage?format=json with
POST method.
6.69 /ISAPI/SDT/HFPD/search/dataPackage?format=json
Set the condition of exporting frequently appeared person alarm and submit the task.
6.70 /ISAPI/SDT/HFPD/searchTask/eventRecordData?format=json
Set the condition of searching for records of frequently appeared person alarm and submit the
task.
87
Intelligent Security API (Facial) Developer Guide
6.71 /ISAPI/SDT/HFPD/searchTask/result/recordData/<ID>?format=json
Get search result details of frequently appeared person alarm.
Remarks
The <ID> in the URI refers to the ID of searched record detailed information, it is the value of
recordDataIndex in message JSON_HFPDSearchResult , which is returned by calling POST /
ISAPI/SDT/HFPD/searchTask/result?format=json .
6.72 /ISAPI/SDT/HFPD/searchTask/result?format=json
Get search result of frequently appeared person alarm.
88
Intelligent Security API (Facial) Developer Guide
6.73 /ISAPI/SDT/HFPD?format=json
Get or set parameters of frequently appeared person detection.
6.74 /ISAPI/SDT/LFPD/capabilities?format=json
Get the capability of low frequency person detection.
89
Intelligent Security API (Facial) Developer Guide
6.75 /ISAPI/SDT/LFPD/search/dataPackage/<taskID>?format=json
Get the exported low frequency person alarm information.
Remarks
The <taskID> in the URI refers to the task ID, which is returned in the message JSON_TaskInfo
when submitting the task by calling /ISAPI/SDT/LFPD/search/dataPackage?format=json with
POST method.
6.76 /ISAPI/SDT/LFPD/search/dataPackage?format=json
Set the condition of exporting low frequency person alarm and submit the task.
90
Intelligent Security API (Facial) Developer Guide
6.77 /ISAPI/SDT/LFPD/searchTask/eventRecordData?format=json
Set the condition of searching for low frequency person alarm and submit the task.
6.78 /ISAPI/SDT/LFPD/searchTask/result/recordData?format=json
Get search result details of low frequency person alarm.
91
Intelligent Security API (Facial) Developer Guide
Request JSON_LFPDPagingCond
Response Succeeded: JSON_LFPDRecordData
Failed: JSON_ResponseStatus
6.79 /ISAPI/SDT/LFPD/searchTask/result?format=json
Get search result of low frequency person alarm.
6.80 /ISAPI/SDT/LFPD?format=json
Get or set parameters of low frequency person detection
92
Intelligent Security API (Facial) Developer Guide
Request JSON_LFPD
Response JSON_ResponseStatus
6.81 /ISAPI/SDT/Management/capabilities?format=json
Get the intelligent management capability of the device.
6.82 /ISAPI/SDT/Management/IntelligentSearch/capabilities?
format=json
Get intelligent search capability.
93
Intelligent Security API (Facial) Developer Guide
6.83 /ISAPI/SDT/Management/IntelligentSearch/export/progress?
format=json&taskID=
Get the progress of exporting intelligent search results.
6.84 /ISAPI/SDT/Management/IntelligentSearch/export/stop?
format=json
Stop exporting intelligent search results.
6.85 /ISAPI/SDT/Management/IntelligentSearch/export?format=json
Start exporting the intelligent search results.
94
Intelligent Security API (Facial) Developer Guide
6.86 /ISAPI/SDT/Management/IntelligentSearch?format=json
Start intelligent search.
6.87 /ISAPI/SDT/Management/Task/<taskID>?format=json
Delete the task according to task ID.
95
Intelligent Security API (Facial) Developer Guide
Request None
Response JSON_ResponseStatus
Remarks
The <taskID> in the URI refers to the task ID, which is returned when submitting task.
6.88 /ISAPI/SDT/Management/Task/cancel/<taskID>?format=json
Cancel the task according to task ID.
Remarks
The <taskID> in the URI refers to the task ID, which is returned when submitting task.
6.89 /ISAPI/SDT/Management/Task/pause/<taskID>?format=json
Pause the task according to task ID.
Remarks
The <taskID> in the URI refers to the task ID, which is returned when submitting task.
96
Intelligent Security API (Facial) Developer Guide
6.90 /ISAPI/SDT/Management/Task/progress/<taskID>?format=json
Obtain the task progress.
Remarks
The <taskID> in the URI refers to the task ID, which is returned when submitting task.
6.91 /ISAPI/SDT/Management/Task/resume/<taskID>?format=json
Resume the task according to task ID.
Remarks
The <taskID> in the URI refers to the task ID, which is returned when submitting task.
6.92 /ISAPI/Smart/capabilities
Get the capability of smart devices.
97
Intelligent Security API (Facial) Developer Guide
6.93 /ISAPI/System/algorithmsVersion
Get the version information of algorithm library.
6.94 /ISAPI/System/capabilities
Get device capability.
98
Intelligent Security API (Facial) Developer Guide
Request None.
Response Succeeded: XML_DeviceCap
Failed: XML_ResponseStatus
6.95 /ISAPI/System/Video/inputs/channels/<ID>/picInfoOverlap
Get or set picture information overlay configurations of a device.
Remarks
The <ID> in the URI refers to the video input channel ID.
6.96 /ISAPI/System/Video/inputs/channels/<ID>/picInfoOverlap/
capabilities
Get the capability of picture information overlay.
99
Intelligent Security API (Facial) Developer Guide
Remarks
The <ID> in the URI refers to the video input channel ID.
100
Intelligent Security API (Facial) Developer Guide
7.1 JSON_AsyncImportDatas
JSON message about data file to be imported to face picture library
{
"AsyncImportDatas":{
"customFaceLibID": "",
/*required, string, ID of custom face picture library; the maximum length is 64 bytes*/
"taskID": "",
/*required, string, task ID; the maximum length is 64 bytes. Only the following characters are supported: "0-9" "A-Z"
"a-z" and "-" */
"URL": "",
/*required, string, data file URL; the maximum length is 255 bytes*/
"type": 0,
/*optional, int, data file type: 0-XML (default)*/
"URLCertificationType": "AWS2_0",
/*required, string, authentication mode of picture URL: "CEOSSToken", "AWS2_0"; the maximum length is 32 bytes*/
"accessKey":"",
/*dependent, string, cloud storage access key, it is valid when the value of node URLCertificationType is "AWS2_0"*/
"secretKey":"",
/*dependent, string, cloud storage encryption key, it is valid when the value of node URLCertificationType is
"AWS2_0"*/
"token":"",
/*dependent, string, token, it is valid when the value of node URLCertificationType is "CEOSSToken"*/
}
}
Remarks
For the data file in URL format to be imported, see XML_PictureUploadDataList for details.
7.2 JSON_Cap_FaceScore_Channel
FaceScore message in JSON format
{
"FaceScore":{
/*face grading parameters*/
"enable": "",
/*required, enable face grading or not, boolean*/
"featureSimilarity":{
/*optional, feature similarity*/
"medium":{
/*optional, medium value*/
"leftInterval":{
/*required, left interval, [0.0,1.0],float type, corrects to one decimal*/
101
Intelligent Security API (Facial) Developer Guide
"@min": 0.0,
"@max": 1.0,
"#text": 0.5
},
"rightInterval":{
/*required, right interval, [0.0,1.0],float type, corrects to one decimal*/
"@min": 0.0,
"@max": 1.0,
"#text": 0.5
},
}
},
"pupillaryDistance":{
/*optional, pupil distance*/
"medium":{
/*optional, medium value*/
"leftInterval":{
/*required, left interval, integer type*/
"@min": 100,
"@max": 1000,
"#text": 400
},
"rightInterval":{
/*required, right interval, integer type*/
"@min": 100,
"@max": 1000,
"#text": 400
},
}
},
"pitchAngle":{
/*optional, pitch angle*/
"medium":{
/*optional, medium value*/
"leftInterval":{
/*required, left interval, integer type, unit: degree*/
"@min": 0,
"@max": 90,
"#text": 45
},
"rightInterval":{
/*required, right interval, integer type, unit: degree*/
"@min": 0,
"@max": 90,
"#text": 45
},
}
},
"yawAngle":{
/*optional, yaw angle*/
"medium":{
/*optional, medium value*/
102
Intelligent Security API (Facial) Developer Guide
"leftInterval":{
/*required, left interval, integer type, unit: degree*/
"@min": 0,
"@max": 90,
"#text": 45
},
"rightInterval":{
/*required, right interval, integer type, unit: degree*/
"@min": 0,
"@max": 90,
"#text": 45
},
}
}
}
}
7.3 JSON_Cap_FaceScore_Device
JSON message about capability of face score
{
"FaceScore": {
/*face grading parameters*/
"enable": "",
/*required, enable face grading or not, boolean*/
"type": ,
/*required, filter type: "0"-all type, "1"-filter face captured picture library, "2"-name list library*/
"FDID": {
/*optional, string type, face picture library ID; multiple libraries are separated by commas, it is invalid when the value
of type is "1"*/
"@min": 4,
"@max": 64
},
"featureConfidence": {
/*optional, feature confidence*/
"@min": 0.0,
"@max": 1.0
},
"pupillaryDistance": {
/*optional, pupil distance*/
"@min": 100,
"@max": 1000
},
"pitchAngle": {
/*optional, pitch angle*/
"@min": 0,
"@max": 90
},
"yawAngle": {
103
Intelligent Security API (Facial) Developer Guide
104
Intelligent Security API (Facial) Developer Guide
105
Intelligent Security API (Facial) Developer Guide
7.4 JSON_Cap_IntelliManagement
JSON message about capability of intelligent management
{
"requestURL":"",
"statusCode": ,
"statusString":"",
"subStatusCode":"",
"errorCode": ,
"errorMsg":"",
/*see the description of this node and the above nodes in the message of JSON_ResponseStatus*/
"isSuportTask":true,
/*optional, boolean type, whether it supports task: "true"-yes, "false"-no*/
"isSupportCtrlCenter":true,
/*optional, boolean type, whether it supports control center: "true"-yes, "false"-no*/
"isSuportIntelligentSearch":true,
/*optional, boolean type, whether it supports intelligent search: "true"-yes, "false"-no*/
"isSuportExecuteControl":true,
/*optional, boolean type, whether it supports arming: "true"-yes, "false"-no*/
"isSuportDataStatistics":true,
/*optional, boolean type, whether it supports statistics: "true"-yes, "false"-no*/
"isSupportIntelligentStorage":true,
/*optional, boolean type, whether it supports intelligent storage: "true"-yes, "false"-no*/
"isSupportServer":true,
/*optional, boolean type, whether it supports service configuration: "true"-yes, "false"-no*/
"isSuportAlgorithmModel":true,
/*optional, boolean type, whether it supports algorithm model configuration: "true"-yes, "false"-no*/
"isSupportCluster":true,
/*optional, boolean type, whether it supports cluster: "true"-yes, "false"-no*/
"isSupportSearchResultDisplay":true,
/*optional, boolean type, whether it supports display configuration: "true"-yes, "false"-no*/
"isSuportTranscodeAnalysisUnit":true,
/*optional, boolean type, whether it supports transcoding analysis unit: "true"-yes, "false"-no*/
"isSuportFactoryReset":true,
/*optional, boolean type, whether it supports restoring to factory settings: "true"-yes, "false"-no*/
"isSupportUPS":true,
/*optional, boolean type, whether it supports UPS: "true"-yes, "false"-no*/
"isSuportCity":true,
/*optional, boolean type, whether it supports city: "true"-yes, "false"-no*/
"isSuportClusterEnableStatus":true,
/*optional, boolean type, whether it supports enabling cluster status: "true"-yes, "false"-no*/
"isSupportSensitivity":true,
/*optional, boolean type, whether it supports sensitivity configuration: "true"-yes, "false"-no*/
"isSupportConfidence":true,
/*optional, boolean type, whether it supports confidence configuration: "true"-yes, "false"-no*/
"isSuportEventSearch":true,
/*optional, boolean, whether it supports event search: "true"-yes, "false"-no*/
"isSupportAudioFileUpload":true,
/*optional, boolean type, whether it supports importing audio file: "true"-yes, "false"-no*/
"isSupportIntelligentMode":true,
106
Intelligent Security API (Facial) Developer Guide
/*optional, boolean type, whether it supports intelligent mode configuration: "true"-yes, "false"-no*/
"saveCapturedDataMaxDays":90,
/*optional, int*, the captured pictures can be saved in local HDD up to 90 days by default, when the number of days
reaches the limit, the records will be overwritten by day./
"isSupportAlgorithmTraining": true,
/*optional, boolean, whether it supports algorithm training, "true"-yes, "false"-no*/
"isSupportDataResync":true,
/*optional, boolean, whether it supports data resynchronization: "true"-yes, "false"-no*/
"isSupportCertificateImport":true,
/*optional, boolean, whether it supports importing software license certificate: "true"-yes, "false"-no*/
"isSupportFingerprint":true,
/*optional, boolean, whether it supports exporting hardware fingerprint: "true"-yes, "false"-no*/
"isSupportAuthorization":true,
/*optional, boolean, whether it supports authorization configuration of the algorithm center: "true"-yes, "false"-no*/
"isSupportLicensingDongle":true,
/*optional, boolean, whether it supports dongle: "true"-yes, "false"-no*/
"isSupportAlgorithmUpdate":true,
/*optional, boolean, whether it supports updating algorithm: "true"-yes, "false"-no*/
"isSupportModellingMode":true,
/*optional, boolean, whether it supports modeling mode configuration*/
"isSupportListLoading":true,
/*optional, boolean, whether it supports list library loading configuration*/
"isSupportTasksStatistics": true,
/*optional, boolean, whether it supports analysis task statistics*/
"isSupportTargetsStatistics": true,
/*optional, boolean, whether it supports analysis target statistics*/
"isSupportAuthAddress":true,
/*optional, boolean, whether it supports authorizing address*/
"isSupportCertificateStatus": true,
/*optional, boolean, whether it supports getting status of software authorization certificate*/
"certificateImportProductID": 555,
/*optional, int, product ID of software authorization, corresponding URI: /ISAPI/SDT/Management/certificateImport/
<productID>?format=json and /ISAPI/SDT/Management/fingerprint/<productID>?format=json*/
"algorithmAuthProductID": 556,
/*optional, int, product ID of algorithm authorization*/
"isSupportAnalysisResult":true,
/*optional, boolean, whether it supports searching for and counting the number of behavior analysis events: "true"-
yes, "false"-no*/
"isShowCenterComputing":true
/*optional, boolean, whether to display the configuration interface of algorithm resources: "true"-yes, "false"-no. The
configuration interface of algorithm resources will be displayed only when this field is "true" in the single smart
mode*/
"isSupportVehicleRegion": true,
/*optional, boolean, whether it supports vehicle region configuration*/
"isSupportStorageParam":true,
/*optional, boolean, whether it supports storage parameters configuration*/
"isSupportFingerprintByName": true,
/*optional, boolean, whether it supports exporting hardware fingerprint*/
"isSupportAnalysisResultPerimeter": true,
/*optional, boolean, whether it supports perimeter protection (including line crossing detection, intrusion detection,
region entrance detection, and region exiting detection); if this node is not returned, it indicates that the events are
107
Intelligent Security API (Facial) Developer Guide
See Also
JSON_ResponseStatus
7.5 JSON_EpidemicControlCap
JSON message about face thermography capability
{
"EpidemicControlCap":{
"reportType":{
/*required, string, report type: "daily,weekly,monthly,yearly"*/
"@opt":[
"daily",
"weekly",
"monthly",
"yearly"
]
},
"startTime":{
/*required, string, start time*/
"@min":0,
"@max":0
},
"endTime":{
/*required, string, end time*/
"@min":0,
"@max":0
},
"channel":{
/*optional, array of strings, channel No., multiple channels can be separated by comma*/
"@min":0,
"@max":0
}
}
}
7.6 JSON_EventNotificationAlert_Alarm/EventInfo
EventNotificationAlert message with alarm or event information in JSON format.
{
"ipAddress": "",
/*required, device IPv4 address , string, the maximum size is 32 bytes*/
"ipv6Address": "",
/*optional, device IPv6 address, string, the maximum size is 128 bytes*/
108
Intelligent Security API (Facial) Developer Guide
"portNo": ,
/*optional, device port No., integer32*/
"protocol": "",
/*optional, protocol type, "HTTP, HTTPS", string, the maximum size is 32 bytes*/
"macAddress": "",
/*optional, MAC address, string, the maximum size is 32 bytes, e.g., 01:17:24:45:D9:F4*/
"channelID": "",
/*optional, device channel No., integer32*/
"dateTime": "",
/*optional, string, alarm/event triggered or occurred time based on ISO8601, the maximum size is 32 bytes, e.g.,
2009-11-14T15:27Z*/
"activePostCount": "",
/*required, alarm/event frequency, integer32*/
"eventType": "",
/*required, alarm/event type, "captureResult, faceCapture,...", string, the maximum size is 128 bytes*/
"eventState": "",
/*required, string, the maximum size is 32 bytes, durative alarm/event status: "active"-valid, "inactive"-invalid*/
"eventDescription": "",
/*required, event description, string, the maximum size is 128 bytes*/
"deviceID":"",
/*string type, device ID*/
"uuid":"",
/*string type, event UUID, which is used to uniquely identify an event, the standard UUID format is xxxxxxxx-xxxx-xxxx-
xxxx-xxxxxxxxxxxx*/
...
/*optional, for different alarm/event types, the nodes are different, see the message examples in different
applications*/
}
7.7 JSON_EventNotificationAlert_FaceCaptureMsg
JSON message about details of face capture and recognition event
109
Intelligent Security API (Facial) Developer Guide
/*required, string, alarm triggered time (ISO 8601 format), the maximum value size is 32 bytes, e.g.,
2004-05-03T17:30:08+08:00*/
"activePostCount": ,
/*required, integer32, uploaded times of one alarm*/
"eventType": "",
/*required, string, occurred event type, here it should be set to "faceCapture"; the maximum value size is 128 bytes*/
"eventState": "",
/*required, string, event status: "active"-occurred, "inactive"-unoccurred (heartbeat data); the maximum value size is
32 bytes*/
"eventDescription": "",
/*required, event description, the maximum value size is 128 bytes*/
"channelName": "",
/*required, string, channel or camera name*/
"deviceID": "",
/*optional, string, device ID, it must be returned during the integration of ISUP SDK*/
"isDataRetransmission":,
/*optional, boolean, data retransmission mark*/
"faceCapture": [{
/*array, face capture and recognition results, one result can contain multiple pictures and one picture can contains
multiple faces*/
"errorCode": ,
/*optional, int, error code returned when analyzing face picture failed*/
"errorMsg": "",
/*optional, string, error information returned when analyzing face picture failed*/
"taskid": "",
/*optional, string, task ID*/
"faceTime": "",
/*optional, string, capture time, the maximum value size is 64 bytes, e.g., 2016-09-10 00:00:00.000*/
"traceUuid": "",
/*optional, string, target ID, the same person in multiple capture results corresponds to same target ID, the maximum
value size is 32 bytes*/
"traceIdx": 1,
/*optional, integer32, No. of picture with highest comparison similarity*/
"targetAttrs":{
/*face attributes*/
"deviceId": "",
/*optional, string, device ID, the maximum size is 64 bytes*/
"deviceChannel": ,
/*optional, integer32, device channel No.*/
"deviceName": "",
/*optional, string, device name, the maximum size is 128 bytes*/
"faceTime": "",
/*optional, string, captured time based on ISO8601, the maximum size is 64 bytes*/
"bkgUrl": "",
/*optional, background picture URL, multiple face thumbnails may exist in one background picture, string, the
maximum size is 256 bytes, e.g., http://10.6.39.103:80/picture/Streaming/tracks/203/?
name=ch0002_00000000120019076352000475812&size=475812*/
"thermalURL": ""
/*optional, string, thermal picture URL, e.g., http://absddsdfsdfsdk.jpg*/
},
"faces": [{
/*face picture information array, which contains recognition results, face attributes, matched picture list, and so on*/
110
Intelligent Security API (Facial) Developer Guide
"faceId": ,
/*optional, face thumbnail ID, the ID should be unique in one background picture, integer32*/
"faceRect":{
/*optional, rectangle frame to mark the face thumbnail on the background picture*/
"height": ,
/*optional, float, rectangle frame height*/
"width": ,
/*optional, float, rectangle frame width*/
"x": ,
/*optional, float, X-coordinate of rectangle frame*/
"y":
/*optional, float, Y-coordinate of rectangle frame*/
},
"age": {
/*optional, age*/
"range": 5,
/*optional, integer32, age deviation*/
"value": 23,
/*optional, integer32, age*/
"ageGroup": "old"
/*optional, string, age group, the maximum size is 32 bytes*/
},
"gender": {
/*optional, gender*/
"confidence": 99.99990,
/*optional, float, confidence*/
"value": "male"
/*optional, string, gender, "male", "female", "unknown", the maximum size is 32 bytes*/
},
"glass": {
/*optional, wear glasses or not*/
"confidence": 99.94499999999999,
/*optional, float, confidence*/
"value": "yes"
/*optional, string, "no", "yes", the maximum size is 32 bytes*/
},
"mask":{
/*optional, wear mask or not*/
"confidence": ,
"value": ""
},
"smile": {
/*optional, smile or not*/
"confidence": 99.94499999999999,
/*optional, float, confidence*/
"value": "yes"
/*optional, string, "no", "yes", the maximum size is 32 bytes*/
},
"faceExpression": {
"value": ""
/*optional, face expression, "unknow", "surprised", "panic", "disgusted", "happy", "sad", "angry", "poker-faced"-no
expression*/
111
Intelligent Security API (Facial) Developer Guide
},
"value": ""
/*optional, string, "no", "yes", "unknown", the maximum size is 32 bytes*/
},
"hat": {
/*with hat or not*/
"value": ""
/*optional, string, wear hat or not, "no", "yes", "known", the maximum size is 32 bytes*/
},
"URL": "",
/*optional, face picture URL, string, the maximum size is 256 bytes, e.g., http://10.6.39.103:80/picture/Streaming/
tracks/203/?name=ch0002_00000000120019069900800063652&size=63652*/
"stayDuration": ,
/*dwell duration, integer32 type, unit: millisecond*/
"faceScore": ,
/*required, integer32 type, face picture quality, value range: [0,100]*/
"captureEndMark": ,
/*required, boolean type, end flag of capture, true (ended), false (not ended)*/
"targetID": ""
/*optional, string, face and human body linkage ID*/
"FacePictureRect": {
/*optional, frame to mark face on picture*/
"height": ,
"width": ,
"x": ,
"y":
},
"blockingState": "",
/*optional, string type, target face shielding status: "noBlocking" (unshielded), "instantaneousInsignificantBlocking"
(lightly shielded), "continuousInsignificantBlocking" (keep shielding), "significantBlocking" (seriously shielded)*/
"swingAngle": ,
/*optional, integer type, panning angle, value range: [-90,90]*/
"tiltAngle": ,
/*optional, integer type, tilting angle, value range: [-90,90]*/
"pupilDistance":
/*optional, integer type, pupil distance of target face, the maximum value is 10 bytes, and the maximum value is
(resolution width/1.6), unit: pixel*/
"livenessDetectionStatus": "",
/*optional, string, face anti-spoofing detection status: "liveFace"-live face, "notLiveFace"-the face is not real,
"detectionFailed"-detection failed, "notEnabled"-disabled*/
"enterTime": "",
/*optional, optimal capture time of entrance, the time is in ISO 8601 format, e.g., 2004-05-03T17:30:08+08:00*/
"exitTime": ""
/*optional, optimal capture time of exiting, the time is in ISO 8601 format, e.g., 2004-05-03T17:30:08+08:00*/
"perClassify":0,
/*optional, int, face data presorting*/
"faceSnapThermometryEnabled": ,
/*optional, boolean, whether to enable uploading captured face picture with temperature information*/
"currTemperature": "",
/*optional, float, face temperature, which is accurate to one decimal place, value range [-20.0,150.0]*/
"isAbnomalTemperature": ,
/*optional, boolean, whether the temperature is abnormal or not: true, false*/
112
Intelligent Security API (Facial) Developer Guide
"thermometryUnit": "",
/*optional, string, temperature unit: "celsius", "fahrenheit", "kelvin"*/
"alarmTemperature":
/*optional, float, temperature threshold to trigger alarm, which is accurate to one decimal place*/
}]
"uid ": ""
/*event ID for uploading, the maximum length is 64 bytes, it can consist of time (accurate to millisecond) and random
numerics*/
}],
"URLCertificationType": ""
/*optional, authentication mode of picture URL: "no"-not authenticate, "digest"-digest authentication, string, the
maximum size is 32 bytes*/
}
113
Intelligent Security API (Facial) Developer Guide
"faceCapture": [{
/*array, face capture results, one result can contain multiple pictures and one picture can contains multiple faces*/
"errorCode": ,
/*optional, int, error code returned when analyzing face picture failed*/
"errorMsg": "",
/*optional, string, error information returned when analyzing face picture failed*/
"taskid": "",
/*optional, string, task ID*/
"faceTime": "",
/*optional, string, capture time, the maximum value size is 64 bytes, e.g., 2016-09-10 00:00:00.000*/
"traceUuid": "",
/*optional, string, target ID, the same person in multiple capture results corresponds to same target ID, the maximum
value size is 32 bytes*/
"traceIdx": 1,
/*optional, integer32, No. of picture with highest comparison similarity*/
"targetAttrs":{
/*face attributes*/
"deviceId": "",
/*optional, string, device ID, the maximum size is 64 bytes*/
"deviceChannel": ,
/*optional, integer32, device channel No.*/
"deviceName": "",
/*optional, string, device name, the maximum size is 128 bytes*/
"faceTime": "",
/*optional, string, captured time based on ISO8601, the maximum size is 64 bytes*/
"contentID": "",
/*optional, background picture ID*/
"pId": ""
/*optional, string, captured background picture ID (for internal use), the maximum value size is 32 bytes*/
},
"faces": [{
/*face picture information array, which contains recognition results, face attributes, matched picture list, and so on*/
"faceId": ,
/*optional, face thumbnail ID, the ID should be unique in one background picture, integer32*/
"faceRect":{
/*optional, rectangle frame to mark the face thumbnail on the background picture*/
"height": ,
/*optional, float, rectangle frame height*/
"width": ,
/*optional, float, rectangle frame width*/
"x": ,
/*optional, float, X-coordinate of rectangle frame*/
"y":
/*optional, float, Y-coordinate of rectangle frame*/
},
"age": {
/*optional, age*/
"range": 5,
/*optional, integer32, age deviation*/
"value": 23,
/*optional, integer32, age*/
"ageGroup": "old"
114
Intelligent Security API (Facial) Developer Guide
115
Intelligent Security API (Facial) Developer Guide
"width": ,
"x": ,
"y":
},
"blockingState": "",
/*optional, string type, target face shielding status: "noBlocking" (unshielded), "instantaneousInsignificantBlocking"
(lightly shielded), "continuousInsignificantBlocking" (keep shielding), "significantBlocking" (seriously shielded)*/
"swingAngle": ,
/*optional, integer type, panning angle, value range: [-90,90]*/
"tiltAngle": ,
/*optional, integer type, tilting angle, value range: [-90,90]*/
"pupilDistance":
/*optional, integer type, pupil distance of target face, the maximum value is 10 bytes, and the maximum value is
(resolution width/1.6), unit: pixel*/
"livenessDetectionStatus": "",
/*optional, string, face anti-spoofing detection status: "liveFace"-live face, "notLiveFace"-the face is not real,
"detectionFailed"-detection failed, "notEnabled"-disabled*/
"pId": "",
/*optional, string, face picture ID, the maximum value size is 32 bytes*/
"enterTime": "",
/*optional, optimal capture time of entrance, the time is in ISO 8601 format, e.g., 2004-05-03T17:30:08+08:00*/
"exitTime": ""
/*optional, optimal capture time of exiting, the time is in ISO 8601 format, e.g., 2004-05-03T17:30:08+08:00*/
"faceSnapThermometryEnabled": ,
/*optional, boolean, Whether to enable temperature measurement during face capture*/
"currTemperature": "",
/*optional, float, face temperature, which is accurate to one decimal place, value range [-20.0,150.0]*/
"isAbnomalTemperature": ,
/*optional, boolean, whether the temperature is abnormal: true, false*/
"thermometryUnit": "",
/*optional, string, temperature unit: "celsius", "fahrenheit", "kelvin"*/
"alarmTemperature":
/*optional, float, temperature threshold to trigger alarm, which is accurate to one decimal place*/
}]
"uid ": ""
/*event ID for uploading, the maximum length is 64 bytes, it can consist of time (accurate to millisecond) and random
numerics*/
}],
}
--MIME_boundary
Content-Disposition: form-data; name="F4F665D6A18E41308CE9934DCDDD1111";
filename="faceCapturePicture.jpg";
Content-Type: image/jpeg
Content-Length: 516876
Content-ID: backgroundImage
fefefwageegfqaeg…
--MIME_boundary
Content-Disposition: form-data; name="F4F665D6A18E41308CE9934DCDDD2222"; filename="facePicture.jpg";
Content-Type: image/jpeg
Content-Length: 4385
Content-ID: faceImage
116
Intelligent Security API (Facial) Developer Guide
fefefwageegfqaeg…
--MIME_boundary
Content-Disposition: form-data; name="F4F665D6A18E41308CE9934DCDDD2223"; filename="thermalPicture.jpg";
Content-Type: image/jpeg
Content-Length: 4385
Content-ID: thermalPicture
fefefwageegfqaeg…
--MIME_boundary--
7.8 JSON_EventNotificationAlert_FacePicComparisonMsg
JSON message about alarm details of face picture comparison
117
Intelligent Security API (Facial) Developer Guide
"errorCode": ,
/*optional, int, error code returned when analyzing face picture failed*/
"errorMsg": "",
/*optional, string, error information returned when analyzing face picture failed*/
"modelData": "",
/*optional, string, modeling data of background picture, which is encoded by Base64, and the maximum value size is
2048 bytes*/
"traceUuid": "",
/*optional, string, target ID, the maximum value size is 32 bytes*/
"traceIdx": ,
/*optional, integer32, picture No., one person can correspond to multiple pictures*/
"targetAttrs":{
/*target properties*/
"deviceId": "",
/*optional, string, device UUID, the maximum value size is 64 bytes*/
"deviceChannel": ,
/*optional, integer32, device channel No.*/
"deviceName": "",
/*optional, string, device name, the maximum value size is 128 bytes*/
"faceTime": "",
/*optional, string, capture time, the maximum value size is 64 bytes, e.g., 2016-09-10 00:00:00.000*/
"rect":{
/*optional, background picture frame information of face*/
"height": ,
/*optional, float, frame height*/
"width": ,
/*optional, float, frame width*/
"x": ,
/*optional, float, x-coordinate*/
"y":
/*optional, float, Y-coordinate*/
},
"contentID": "",
/*optional, background picture ID*/
"pId": ""
/*optional, string, captured background picture ID (for internal use), the maximum value size is 32 bytes*/
},
"faces": [{
/*array, face information, including detection results, properties, modeling data, and matched list, one picture can
contains multiple faces*/
"faceId": ,
/*optional, integer32, face ID*/
"faceRect":{
/*optional, face picture frame information*/
"height": ,
/*optional, float, frame height*/
"width": ,
/*optional, float, frame width*/
"x": ,
/*optional, float, x-coordinate*/
"y":
/*optional, float, Y-coordinate*/
118
Intelligent Security API (Facial) Developer Guide
},
"faceMark":{
/*optional, face features in the picture, both the faceRect and faceMark must be configured*/
"leftEye":{
/*optional, left eye's position*/
"x": ,
/*optional, float type, x-coordinate*/
"y":
/*optional, float type, y-coordinate*/
},
"rightEye":{
/*optional, right eye's position*/
"x": ,
/*optional, float type, x-coordinate*/
"y":
/*optional, float type, y-coordinate*/
},
"noseTip":{
/*optional, nose tip's position*/
"x": ,
/*optional, float type, x-coordinate*/
"y":
/*optional, float type, y-coordinate*/
},
"leftMouth":{
/*optional, left mouth corner's position*/
"x": ,
/*optional, float type, x-coordinate*/
"y":
/*optional, float type, y-coordinate*/
},
"rightMouth":{
/*optional, right mouth corner's position*/
"x":,
/*optional, float type, x-coordinate*/
"y":
/*optional, float type, y-coordinate*/
}
},
"recommendFaceRect":{
/*optional, recommended face frame*/
"x": ,
"y": ,
"width": ,
"height":
},
"facePose":{
/*optional, face posture*/
"pitch": ,
/*optional, float, face raising or bowing angle, range: [-90,90], face raising is regarded as positive, correct to three
decimals. This node does not exists if it is invalid*/
"roll": ,
119
Intelligent Security API (Facial) Developer Guide
/*optional, float, face tilting clockwise or anticlockwise angle, range: [-90,90], face tilting clockwise is regarded as
positive, correct to three decimals. This node does not exists if it is invalid*/
"yaw":
/*optional, float, face siding left or right angle, range: [-90,90], face siding left is regarded as positive, correct to three
decimals. This node does not exists if it is invalid*/
},
"age":{
"range": ,
/*optional, age error, if the age error already exists, the age is required, integer32*/
"value": ,
"ageGroup":""
/*optional, age range: "unknown", "child", "young", "middle", "old", string, the maximum size is 32 bytes*/
},
"gender":{
/*optional, gender*/
"confidence": ,
/*optional, confidence, float*/
"value":""
},
"glass":{
/*optional, wear glasses or not*/
"confidence": ,
/*optional, confidence, float*/
"value":""
},
"smile":{
/*optional, smile or not*/
"confidence": ,
"value":""
},
"faceExpression":{
/*optional, face expression*/
"confidence": ,
"value": ""
/*optional, string, face expression: "unknown", "poker-faced", "happy", "surprised", "panic","sad", "angry",
"contemptuous", "disgusted"; the maximum size is 32 bytes*/
},
"mask": {
/*optional, wearing mask or not*/
"confidence": ,
"value": ""
/*optional, string, wearing mask or not: no, yes; the maximum size is 32 bytes*/
},
"hat": {
/*optional, whether it wearing a hat*/
"confidence": ,
/*optional, float, confidence*/
"value": ""
/*optional, string, wearing hat or not: "no, yes, unknown"; the maximum size is 32 bytes*/
},
"score": {
/*optional, face score*/
120
Intelligent Security API (Facial) Developer Guide
"confidence": ,
/*optional, float, confidence*/
"value":
}
"modeldata": "",
/*optional, face model data (encoded by base64)*/
"AbsoluteHigh":{
/*absolute PTZ position*/
"elevation": ,
/*optional, integer type, tilting angle, value range: -900 to 2700*/
"azimuth": ,
/*optional, integer type, panning angle, value range: 0 to 3600*/
"absoluteZoom":
/*optional, integer type, zooming rate, value range: 1 to 1000*/
},
"identify": [{
/*optional, features*/
"relationId": "",
/*optional, string, arming linkage ID, the maximum value size is 64 bytes*/
"maxsimilarity": ,
/*optional, float, maximum similarity in the matched results, the similarity is between 0 and 1, and it corrects to two
decimals*/
"similarityRange": ,
/*optional, int, similarity range: 0-smaller than the minimum value, 1-between the minimum value and maximum
value, 2-larger than the maximum value. If the similarity is smaller than the minimum value, the person will be
marked*/
"candidate": [{
/*array, matched face picture information*/
"alarmId": ,
/*optional, integer32, alarm ID*/
"blacklist_id": "",
/*optional, face picture list ID, which corresponds to the FDID in the face picture library, string, the maximum size is 64
bytes*/
"human_data": [{
/*array, person information of matched face pictures*/
"face_id": "",
/*optional, string, face ID, the maximum value size is 32 bytes*/
"face_rect": {
"height": ,
/*required, float type, frame height*/
"width": ,
/*required, float type, frame width*/
"x": ,
/*required, float type, x-coordinate*/
"y":
/*required, float type, y-coordinate*/
}
"similarity": ,
/*optional, float, face picture similarity, it is between 0 and 1*/
"isNoSaveFDPicture": ,
/*boolean, whether to save the picture of face picture library: true-do not save, if this node is not returned, it
indicates that saving the picture*/
121
Intelligent Security API (Facial) Developer Guide
"contentID": "",
/*optional, picture ID in face picture library*/
"pId": ""
/*optional, string, picture ID in face picture library (for internal use), the maximum value size is 32 bytes*/
}],
"human_id": "",
/*optional, string, person ID, string, person ID in the list, which corresponds to FPID in the face picture library, the
maximum size is 64 bytes*/
"reserve_field": {
/*optional, reserved, the maximum size is 256 bytes*/
"name": "",
/*required, string, person name, the maximum value size is 96 bytes*/
"gender": "",
/*optional, string, gender: "male", "female", "unknown"; the maximum value size is 10 bytes*/
"bornTime": "",
/*required, string, birth date in ISO 8601 format, the maximum value size is 32 bytes*/
"city": "",
/*optional, string, born city code, the maximum value size is 32 bytes*/
"certificateType ": "",
/*optional, string, certificate type: "officerID", "ID"-identity card, "passport", "other"; the maixmum size is 10 bytes*/
"certificateNumber": "",
/*optional, string, certificate number, the maximum value size is 32 bytes*/
"ageGroup": "",
/*optional, string, age group: "unknown", "child", "young", "middle", "old"; the maximum value size is 32 bytes*/
"phoneNumber": ""
/*optional, string, phone number, the maximum value size is 64 bytes*/
},
"similarity": ,
/*optional, float, highest similarity in matched results, the value is between 0 and 1, and it is accurate to two dicimal
places*/
"listType": "",
/*optional, string, list type: "blacklist", "whitelist", the maximum value size is 20 bytes*/
"extendData": [{
/*optional, person extension information*/
"extendID": ,
/*optional, int, person extension information ID, which starts from 1*/
"enable": ,
/*optional, boolean, whether to enable person information extension*/
"name": "",
/*optional, string, extension name of person tag, the maximum value size is 96 bytes*/
"value": "",
/*optional, string, extension contents of person tag, the maximum value size is 64 bytes*/
}],
"FDLibName": "",
/*optional, face picture library name*/
"FDLibThreshold": ,
/*optional, detection threshold of face picture library, the value range is [0,100]*/
"customFaceLibID": "",
/*optional, string, custom face picture library ID*/
"customHumanID": ""
/*optional, string, custom person ID*/
}],
122
Intelligent Security API (Facial) Developer Guide
"alarmRecordID": "",
/*optional, string, alarm record ID*/
"libAttribute": "general"
/*optional, string, library type: "general"-normal library, "blackList"-blacklist library, "VIP"-VIP library, "passerby"-
whitelist library*/
}],
"contentID": "",
/*string, face picture ID*/
"pId": "",
/*string, face picture ID, the maximum value size is 64 bytes*/
"stayDuration": ,
/*optional, integer32, dwell time duration in the image, unit: millisecond*/
"prompt": "",
/*optional, string, prompt contents of face picture comparison, the maximum value size is 16 bytes*/
"contrastStatus": ,
/*optional, boolean, comparison result*/
"realTimeContrast": ,
/*optional, boolean, whether to enable real-time face picture comparison*/
"UUPID": "",
/*optional, string, picture ID of face picture library, which consists of device serial No., imported time, and random
digits; the maximum value size is 64 bytes*/
"frontMatchType": ,
/*optional, int, library type: 1-cluster library, 0-normal library*/
"isImportFD":
/*optional, boolean, whether to import the captured face data to the library: true (yes), false (no)*/
}],
"alarmRecordID": "",
/*optional, string, alarm record ID*/
"uid": "",
/*string, event uploading ID, which can consists of time (accurate to millisecond) and random digits, the maximum
value size is 64 bytes*/
"remainReportNum": ,
/*optional, int, the remaining times of uploading the comparison alarm of the current target*/
"ctrlID":"",
/*optional, string32, arming ID*/
"algorithmInfo": {
/*algorithm version information, this node is required for secondary analysis*/
"algorithmId": "",
/*optional, string, algorithm package ID*/
"algoVendorId": "",
/*optional, string, manufacturer ID*/
"algoVersionId": "",
/*optional, string, algorithm version ID*/
"algoChipType": "",
/*optional, string, chip type*/
"algoModelVersion": "",
/*optional, string, model version*/
}
}
}]
}
--MIME_boundary
123
Intelligent Security API (Facial) Developer Guide
124
Intelligent Security API (Facial) Developer Guide
125
Intelligent Security API (Facial) Developer Guide
126
Intelligent Security API (Facial) Developer Guide
"width": ,
"height":
},
"facePose":{
/*optional, face posture*/
"pitch": ,
/*optional, float, face raising or bowing angle, range: [-90,90], face raising is regarded as positive, correct to three
decimals. This node does not exists if it is invalid*/
"roll": ,
/*optional, float, face tilting clockwise or anticlockwise angle, range: [-90,90], face tilting clockwise is regarded as
positive, correct to three decimals. This node does not exists if it is invalid*/
"yaw":
/*optional, float, face siding left or right angle, range: [-90,90], face siding left is regarded as positive, correct to three
decimals. This node does not exists if it is invalid*/
},
"age":{
"range": ,
/*optional, age error, if the age error already exists, the age is required, integer32*/
"value": ,
"ageGroup":""
/*optional, age range: "unknown", "child", "young", "middle", "old", string, the maximum size is 32 bytes*/
},
"gender":{
/*optional, gender*/
"confidence": ,
/*optional, confidence, float*/
"value":""
},
"glass":{
/*optional, wear glasses or not*/
"confidence": ,
/*optional, confidence, float*/
"value":""
},
"smile":{
/*optional, smile or not*/
"confidence": ,
"value":""
},
"faceExpression":{
/*optional, face expression*/
"confidence": ,
"value": ""
/*optional, string, face expression: "unknown", "poker-faced", "happy", "surprised", "panic","sad", "angry",
"contemptuous", "disgusted"; the maximum size is 32 bytes*/
},
"mask": {
/*optional, whether it is wearing mask*/
"confidence": ,
"value": ""
/*optional, string, wearing mask or not: no, yes; the maximum size is 32 bytes*/
},
127
Intelligent Security API (Facial) Developer Guide
"hat": {
/*optional, whether it wearing a hat*/
"confidence": ,
/*optional, float, confidence*/
"value": ""
/*optional, string, wearing hat or not: "no, yes, unknown"; the maximum size is 32 bytes*/
},
"score": {
/*optional, face score*/
"confidence": ,
/*optional, float, confidence*/
"value":
}
"modeldata": "",
/*optional, face model data (encoded by base64)*/
"AbsoluteHigh":{
/*absolute PTZ position*/
"elevation": ,
/*optional, integer type, tilting angle, value range: -900 to 2700*/
"azimuth": ,
/*optional, integer type, panning angle, value range: 0 to 3600*/
"absoluteZoom":
/*optional, integer type, zooming rate, value range: 1 to 1000*/
},
"identify": [{
/*optional, features*/
"relationId": "",
/*optional, string, arming linkage ID, the maximum value size is 64 bytes*/
"maxsimilarity": ,
/*optional, float, maximum similarity in the matched results, the similarity is between 0 and 1, and it corrects to two
decimals*/
"similarityRange": ,
/*optional, int, similarity range: 0-smaller than the minimum value, 1-between the minimum value and maximum
value, 2-larger than the maximum value. If the similarity is smaller than the minimum value, the person will be
marked*/
"candidate": [{
/*array, matched face picture information*/
"alarmId": ,
/*optional, integer32, alarm ID*/
"blacklist_id": "",
/*optional, face picture list ID, which corresponds to the FDID in the face picture library, string, the maximum size is 64
bytes*/
"human_data": [{
/*array, person information of matched face pictures*/
"face_id": "",
/*optional, string, face ID, the maximum value size is 32 bytes*/
"face_picurl": "",
/*optional, string, thumbnail URL*/
"pId": "",
/*string, thumbnail picture ID, the maximum size is 64 bytes*/
"face_rect": {
"height": ,
128
Intelligent Security API (Facial) Developer Guide
129
Intelligent Security API (Facial) Developer Guide
/*optional, string, extension contents of person tag, the maximum value size is 64 bytes*/
}],
"FDLibName": "",
/*optional, face picture library name*/
"FDLibThreshold": ,
/*optional, detection threshold of face picture library, the value range is [0,100]*/
"customFaceLibID": "",
/*optional, string, custom face picture library ID*/
"customHumanID": ""
/*optional, string, custom person ID*/
}],
"alarmRecordID": "",
/*optional, string, alarm record ID*/
"libAttribute": "general"
/*optional, string, library type: "general"-normal library, "blackList"-blacklist library, "VIP"-VIP library, "passerby"-
whitelist library*/
}],
"URL": "",
/*optional, string, face picture URL, the maximum value size is 256 bytes*/
"pId": "",
/*string, thumbnail ID, the maximum size is 64 bytes*/
"stayDuration": ,
/*optional, integer32, dwell time duration in the image, unit: millisecond*/
"prompt": "",
/*optional, string, prompt contents of face picture comparison, the maximum value size is 16 bytes*/
"contrastStatus": ,
/*optional, boolean, comparison result*/
"realTimeContrast": ,
/*optional, boolean, whether to enable real-time face picture comparison*/
"UUPID": "",
/*optional, string, picture ID of face picture library, which consists of device serial No., imported time, and random
digits; the maximum value size is 64 bytes*/
"frontMatchType": ,
/*optional, int, library type: 1-cluster library, 0-normal library*/
"isImportFD":
/*optional, boolean, whether to import the captured face data to the library: true (yes), false (no)*/
}],
"alarmRecordID": "",
/*optional, string, alarm record ID*/
"uid": "",
/*string, event uploading ID, which can consists of time (accurate to millisecond) and random digits, the maximum
value size is 64 bytes*/
"remainReportNum": ,
/*optional, int, the remaining times of uploading the comparison alarm of the current target*/
"ctrlID":"",
/*optional, string32, arming ID*/
"algorithmInfo": {
/*algorithm version information, this node is required for secondary analysis*/
"algorithmId": "",
/*optional, string, algorithm package ID*/
"algoVendorId": "",
/*optional, string, manufacturer ID*/
130
Intelligent Security API (Facial) Developer Guide
"algoVersionId": "",
/*optional, string, algorithm version ID*/
"algoChipType": "",
/*optional, string, chip type*/
"algoModelVersion": "",
/*optional, string, model version*/
}
}
}]
"URLCertificationType": ""
/*optional, string, picture URL authentication type: "no"-none, not authenticate, "digest"-authenticate by digest, the
maximum value size is 32 bytes*/
}
7.9 JSON_EventNotificationAlert_HFPD
JSON message about alarm details of frequently appeared person detection
{
"ipAddress": "",
/*required, device IPv4 address , string, the maximum size is 32 bytes*/
"ipv6Address": "",
/*optional, device IPv6 address, string, the maximum size is 128*/
"portNo":,
/*optional, device port No., integer32*/
"protocol": "",
/*optional, protocol type, "HTTP, HTTPS", string, the maximum size is 32 bytes*/
"macAddress": "",
/*optional, MAC address, string, the maximum size is 32 bytes, e.g., 01:17:24:45:D9:F4*/
"channelID": "",
/*optional, device channel No., integer32*/
"dateTime": "",
/optional, string, alarm/event triggered or occurred time based on ISO8601, the maximum size is 32 bytes, e.g.,
2009-11-14T15:27Z*/
"activePostCount":,
/*required, alarm/event frequency, integer32*/
"eventType": "HFPD",
/*required, alarm/event type, "HFPD"-frequently appeared person event, string, the maximum size is 128 bytes*/
"eventState": "",
/*required, string, the maximum size is 32 bytes, durative alarm/event status: "active"-valid, "inactive"-invalid*/
"eventDescription": "",
/*required, event description, string, the maximum size is 128 bytes*/
"deviceID": "",
/*optional, device ID*/
"faceCapture": [{
"errorCode": ,
/*optional, int, when analyzing face picture failed, the corresponding error code will be returned*/
"errorMsg": "",
/*optional, string, when analyzing face picture failed, the corresponding error information will be returned*/
"image": "",
131
Intelligent Security API (Facial) Developer Guide
/*optional, string, picture URL for face comparison and recognization; the maximum size is 256 bytes, and it is valid
only when errcode is 1 and errMsg is "ok"; e.g., http://10.7.52.174:8080/kms/services/rest/dataInfoService/
downloadFile?id=00000001/temp001/011_163957_23006&token=7a57a5a7ffffffffc1a0316369671314*/
"traceUuid": "",
/*optional, string, target ID, one person corresponds to one target ID in multiple alarms; the maximum size is 32
bytes*/
"traceIdx": ,
/*optional, integer32, index No. of picture that has the highest similarity in the matched pictures of a person*/
"targetAttrs":{
/*target attribute*/
"deviceId": "",
/*optional, string, device ID, the maximum size is 64 bytes*/
"deviceChannel": ,
/*optional, integer32, device's channel No.*/
"deviceName": "",
/*optional, device name, string type, the maximum size is 128*/
"faceTime": "",
/*optional, capture time, ISO8601 time format, e.g.,2009-11-14T15:27:00.000Z, string type, the maximum size is 64*/
"rect": {
/*optional, face picture frame*/
"height": ,
/*optional, float, frame height*/
"width": ,
/*optional, float, frame width*/
"x": ,
/*optional, float, x-coordinate*/
"y":
/*optional, float, y-coordinate*/
},
"bkgUrl": "",
/*optional, background picture URL, string type, the maximum size is 256*/
},
"faces": [{
/*face information includes detection result, attribute, modeling, and matched name list. There may be multiple faces
in one picture, array*/
"faceId": ,
/*optional, face ID, the face ID in one picture cannot be duplicated, integer32*/
"faceRect":{
/*optional, face thumbnail frame*/
"height": ,
/*optional, height, float type*/
"width": ,
/*optional, width, float type*/
"x": ,
/*optional, X-coordinate, float type*/
"y":
/*optional, Y-coordinate, float type*/
},
"faceMark": {
"leftEye":{
/*optional, left eye's position*/
"x": ,
132
Intelligent Security API (Facial) Developer Guide
133
Intelligent Security API (Facial) Developer Guide
"age":{
/*optional, age*/
"range": ,
/*optional, age deviation, it is required when there is age deviation, integer32*/
"value": ,
/*optional, age, integer32*/
"ageGroup": ""
/*optional, age group: "unknown"-unknown, "child"-teenage, "young"-youth, "middle"-middle-aged, "old"-elderly;
string type, the maximum size is 32 bytes*/
},
"gender":{
/*optional, gender*/
"confidence": ,
/*optional, confidence, float type*/
"value": ""
/*optional, gender: "male"-male, "female"-female, "unknown"-unknown; string type, the maximum size is 32 bytes*/
},
"glass":{
/*optional, whether wearing glasses*/
"confidence": ,
/*optional, confidence, float type*/
"value": ""
/*optional, whether wearing glassed: "no"-no, "yes"-yes; string type, the maximum size is 32 bytes*/
},
"smile":{
/*optional, whether smiling*/
"confidence": ,
/*optional, confidence, float type*/
"value": ""
/*optional, whether smiling: "no"-no, "yes"-yes; string type, the maximum size is 32 bytes*/
},
"mask":{
/*optional, wearing a mask or not*/
"confidence": ,
/*optional, confidence, float type*/
"value": ""
/*optional, whether wearing the mask: "no"-no, "yes"-yes; string, the maximum size is 32 bytes*/
},
"modeldata": "",
/*optional, string, target model data, the maximum size is 5 × 1024 bytes*/
"URL": "",
/*optional, face thumbnail URL, string type, the maximum size is 256 bytes*/
"stayDuration": ,
/*integer32, dwell time duration in the image, unit: millisecond*/
"occurrences": ,
/*optional, integer32, target appearing frequency*/
"algorithmInfo":{
/*algorithm version information, this field is required for secondary analysis*/
"algorithmId":"",
/*optional, string, algorithm package ID*/
"algoVendorId":"",
/*optional, string, manufacturer ID*/
134
Intelligent Security API (Facial) Developer Guide
"algoVersionId":"",
/*optional, string, algorithm version ID*/
"algoChipType":"",
/*optional, string, chip type*/
"algoModelVersion":""
/*optional, string, model version*/
}
}],
"recordDataIndex": "",
/*required, search index No. of frequently appeared person alarm*/
"recordData": [{
/*optional, history data records*/
"captureTime": "",
/*optional, string, capture time in ISO 8601 format; e.g., 2004-05-03T17:30:08Z*/
"captureSite": "",
/*optional, string, capture location (camera name)*/
"similarity": ,
/*optional, float, similarity, value range: [0.000,1.000], the value is accurate to three decimal places*/
"picUrl": "",
/*optional, string, background picture URL*/
"subpicUrl": "",
/*optional, string, face thumbnail URL*/
"rowKey":""
/*optional, string, main key of face data record, which is for quick search, the maximum size is 64 bytes*/
}]
}],
"URLCertificationType": ""
/*optional, picture URL authentication mode: no- no (for cloud storage protocol), digest- digest authentication (for
URL returned by local storage), string type, the maximum size is 32 bytes*/
}
7.10 JSON_EventNotificationAlert_LFPD
The low frequency person alarm is uploaded in the JSON format of EventNotificationAlert message
{
"ipAddress": "",
/*required, device IPv4 address , string, the maximum size is 32 bytes*/
"ipv6Address": "",
/*optional, device IPv6 address, string, the maximum size is 128 bytes*/
"portNo":,
/*optional, device port No., integer32*/
"protocol": "",
/*optional, protocol type, "HTTP, HTTPS", string, the maximum size is 32 bytes*/
"macAddress": "",
/*optional, MAC address, string, the maximum size is 32 bytes, e.g., 01:17:24:45:D9:F4*/
"channelID": "",
/*optional, device channel No., integer32*/
"dateTime": "",
/optional, string, alarm/event triggered or occurred time based on ISO8601, the maximum size is 32 bytes, e.g.,
135
Intelligent Security API (Facial) Developer Guide
2009-11-14T15:27Z*/
"activePostCount":,
/*required, alarm/event frequency, integer32*/
"eventType": "LFPD",
/*required, alarm/event type, string, the maximum size is 128 bytes*/
"eventState": "",
/*required, string, the maximum size is 32 bytes, durative alarm/event status: "active"-valid, "inactive"-invalid*/
"eventDescription": "",
/*required, event description: "Low frequency person detection"; string, the maximum size is 128*/
"LFPD": {
"totalMatches": ,
/*required, the total number of face pictures for low frequency person alarm, integer32*/
"facelibDataIndex": ""
/*required, string, face picture library No.*/
}
}
7.11 JSON_EventRecord_LFPDSearchResult
LFPDSearchResult message in JSON format
{
"LFPDSearchResult":{
"targetInfo":[{
"totalMatches": ,
/*required, integer32, the total number of face pictures for low frequency person alarm*/
"facelibDataIndex": "",
/*required, string, index of face picture library information*/
"dateTime": ""
/*required, string, alarm log time, ISO8601 time format, the maximum length is 32 bits*/
}]
}
}
7.12 JSON_ExportProgressAndURL
Exporting progress and URL information message, and it is in JSON format.
{
"progress": ,
/*optional, integer32 type, exporting progress, its value ranges from 0 to 100*/
"URL":""
/*optional, string type, URL generated by device after exporting, you can download the data files via the URL. The
maximum string length is 128 bytes, and this node is valid only when progress is 100*/
}
136
Intelligent Security API (Facial) Developer Guide
7.13 JSON_FaceScore_Channel
FaceScore message in JSON format
{
"FaceScore":{
/*face grading parameters*/
"enable": "",
/*required, enable face grading or not, boolean*/
"featureSimilarity":{
/*optional, feature similarity*/
"medium":{
/*optional, medium value*/
"leftInterval":
/*required, left interval, [0.0,1.0],float type, corrects to one decimal*/
"rightInterval":
/*required, right interval, [0.0,1.0],float type, corrects to one decimal*/
}
},
"pupillaryDistance":{
/*optional, pupil distance*/
"medium":{
/*optional, medium value*/
"leftInterval":
/*required, left interval, integer type*/
"rightInterval":
/*required, right interval, integer type*/
}
},
"pitchAngle":{
/*optional, pitch angle*/
"medium":{
/*optional, medium value*/
"leftInterval":
/*required, left interval, integer type, unit: degree*/
"rightInterval":
/*required, right interval, integer type, unit: degree*/
}
},
"yawAngle":{
/*optional, yaw angle*/
"medium":{
/*optional, medium value*/
"leftInterval":
/*required, left interval, integer type, unit: degree*/
"rightInterval":
/*required, right interval, integer type, unit: degree*/
}
}
137
Intelligent Security API (Facial) Developer Guide
}
}
7.14 JSON_FaceScore_Device
JSON message about face score
{
"FaceScore": [{
/*required, face grading parameters*/
"enable": ,
/*required, enable face grading or not, boolean*/
"type": ,
/*required, filter type: "0"-all type, "1"-filter face captured picture library, "2"-name list library*/
"FDID": ["", ""],
/*optional, string type, face picture library ID; multiple libraries are separated by commas, it is invalid when the value
of type is "1"*/
"featureConfidence": ,
/*optional, feature confidence*/
"pupillaryDistance": ,
/*optional, pupil distance*/
"pitchAngle": ,
/*optional, pitch angle*/
"yawAngle": ,
/*optional, yaw angle*/
"faceRect": ,
/*optional, integer, face frame, range: [0,N], 0-non-face frame, 1-largest face frame, N-smallest face frame*/
"colorConfidence": ,
/*optional, float, color confidence, range: [0,1], the higher the value, the larger the possibility of color picture; "0"-
black and white picture, "1"-color picture*/
"grayScale": ,
/*optional, gray scale, integer, range: [1,256]*/
"grayMean": {
/*optional, integer, gray average value, the larger the white area is, the larger the gray average value, the larger the
black area is, the smaller the value, range: [0,255]*/
"min": 0,
"max": 255
},
"grayVariance": {
/*optional, integer, gray variance, range: [0,255]*/
"min": 0,
"max": 255
},
"clearityScore": ,
/*optional, float, sharpness, range: [0,1]*/
"rollAngle": ,
/*optional, roll angel, left is negative, right is positive, "0"-frontal face*/
"poseConfidence": ,
/*optional, float, pose confidence, range: [0,1]; the larger the value, the higher the reliability*/
"frontalScore": ,
138
Intelligent Security API (Facial) Developer Guide
/*optional, float, range: [0,1], frontal score, the value is to evaluate the face position*/
"visibleScore": ,
/*optional, float, visibility score, range: [0,1]*/
"totalScore":
/*optional, float, face overall score, range: [0,1]; the larger the value, the higher the face picture quality*/
"algorithm": {
/*optional, algorithm information*/
"algorithmID": "",
/*optional, string, algorithm package ID, either algorithmID or classificationID is required, the maximum size is 64
bytes*/
"algorithmName": "",
/*optional, string, algorithm name*/
"version": "",
/*optional, string, algorithm version, this field is valid only when classificationID exists*/
"vendor": "",
/*optional, string, algorithm manufacturer, this field is valid only when classificationID exists*/
"targetType": "face",
/*optional, string, target type, the maximum size is 64 bytes*/
"modelVerison": "",
/*optional, string, model version information*/
}
}]
}
7.15 JSON_GetTaskProgress
GetTaskProgress message in JSON format
{
"requestURL":"",
"statusCode": ,
"statusString":"",
"subStatusCode":"",
"errorCode": ,
"errorMsg":"",
/*see the description of this node and the above nodes in the message of JSON_ResponseStatus*/
"confidence": ,
/*optional, float type, confidence*/
"modelData":"",
/*optional, string type, target model data, this node is valid only when errorCode is 1 and errorMsg is "ok"*/
"progress":{
/*required, task searching progress*/
"value":""
/*required, string type, value of task searching progress*/
}
}
See Also
JSON_ResponseStatus
139
Intelligent Security API (Facial) Developer Guide
7.16 JSON_HFPD
JSON message about parameters of frequently appeared person detection
{
"HFPD":{
"enabled": ,
/*required, boolean, enable or not*/
"analysisDays": ,
/*required, integer,days of unit time for specified channel, range: [1,30], it is 7 days by default*/
"occurrences": ,
/*required, face picture frequency, integer32,range: [5,100], it is 10 by default*/
"similarity": ,
/*required, similarity of comparing captured picture with stranger library, integer32, range: [80,100], it is 85 by
default*/
"captureTimeInterval": ,
/*required, capture time interval, integer32, range: [0,60], it is 10 by default, unit: min; when it equals to 0, count
once when the target appears once*/
"monitorIds": ["", ""],
/*required, array, sub type, string type, the ID array of camera*/
"taskID": ["1111", "2222"],
/*optional, string, task ID, either taskID or monitorIds is required, taskID refers to task linkage mode*/
"FaceLibrary": [{
/*optional, face picture library in whitelist for frequently appeared person detection. E.g., when comparing the
captured face picture with the face picture library, if the similarity reaches configured threshold, the alarm will not be
triggered*/
"FDID": "",
/*required, face picture library ID, multiple libraries are separated by commas*/
"similarity": ,
/*required, similarity, integer32,range: [80,100], it is 85 by default*/
}]
"BlackListFaceLibrary": [{
/*optional, face picture library in blacklist for frequently appeared person detection. E.g., when comparing a captured
face picture with the face picture library, if the similarity reaches the configured threshold, the alarm will be
triggered*/
"FDID": "",
/*required, face picture library ID, multiple libraries are separated by commas*/
"similarity": 95
/*required, similarity, integer32,range: [80,100], it is 85 by default*/
}]
}
}
7.17 JSON_HFPDCap
JSON message about capability of frequently appeared person detection
{
"HFPDCap":{
140
Intelligent Security API (Facial) Developer Guide
"analysisDays":{
/*number of days for analysis*/
"@min": 1,
"@max": 30,
"@def": 7
},
"timeRange":{
/*arming time range of frequently appeared person detection per day*/
"size": 5
},
"occurrences":{
/*face picture frequency in frequently appeared person detection*/
"@min": 5,
"@max": 100,
"@def": 10
},
"similarity":{
/*similarity of face picture library comparison for frequently appeared person detection*/
"@min": 80,
"@max": 100,
"@def": 85
},
"captureTimeInterval":{
/*capture time interval for checking duplicate in capture library*/
"@min": 1,
"@max": 60,
"@def": 10
},
"monitorIds":{
"size": 4,
/*required, the maximum number of supported cameras, integer type*/
"@opt": "1,2,3"
/*ID of camera which supports high frequently appeared person detection; multiple IDs are separated by commas*/
},
"taskID": {
/*optional, string, task ID, either taskID and monitorIds is required, taskID refers to task linkage mode*/
"size": 4,
},
"FaceLibrary":{
"size": 4,
"similarity":{
/*similarity of face picture libraries*/
"@min": 80,
"@max": 100,
"@def": 85
},
"FDID":{
/*list library ID*/
"@min": 80,
"@max": 100
},
"isSupportStrangerFaceLib":
141
Intelligent Security API (Facial) Developer Guide
142
Intelligent Security API (Facial) Developer Guide
"size": 4,
/*required, the maximum number of supported face picture libraries, integer*/
"similarity":{
/*similarity of face picture library comparison for frequently appeared person detection*/
"@min": 70,
"@max": 100,
"@def": 80
}
}
}
}
7.18 JSON_HFPDDataPackageCond
HFPDDataPackageCond message in JSON format
{
"DataPackageCond":{
"searchResultPosition": ,
/*optional, initial position of search result list, integer32; if this node is not configured, it starts from 0 by default.
When there are multiple records, and cannot get all records in one time searching, you can search the records
followed specified position for next search*/
"maxResults": ,
/*optional, maximum records for single searching, up to 1000 records, integer32; if this node is not configured, the
value is 1000*/
"taskID": "",
/*optional, search task ID, string*/
"Description":{
/*optional, packaging condition*/
"startTime": "",
/*optional, start time, string, ISO8601 time, e.g., 2004-05-03T17:30:08+08:00*/
"endTime": "",
/*optional, end time, string, ISO8601 time, e.g., 2004-05-03T17:30:08+08:00*/
"monitorIds": ["", ""],
/*optional, array, sub type, string, camera ID array; if this node is not configured, it indicates searching for all
cameras*/
"lowestOccurrences":
/*optional, the lowest frequency, integer32, default value:5, range: [1,30]*/
}
}
}
Remarks
One of Description and taskID must be configured, when both parameters are configured, the
taskID takes effect.
143
Intelligent Security API (Facial) Developer Guide
7.19 JSON_HFPDEventRecordDataDescription
HFPDEventRecordDataDescription message in JSON format
{
"EventRecordDataDescription":{
"startTime": "",
/*optional, start time, string type, ISO8601 time, e.g., 2004-05-03T17:30:08+08:00*/
"endTime": "",
/*optional, end time, string type, ISO8601 time, e.g., 2004-05-03T17:30:08+08:00*/
"monitorIds": ["", ""],
/*optional, array, sub type string, camera ID array*/
"lowestOccurrences":
/*optional, the minimum frequency, range: [1,30], the default value is 1*/
}
}
7.20 JSON_HFPDPagingCond
HFPDPagingCond message in JSON format
{
"PagingCond":{
"taskID": "",
/*required, task ID, string type*/
"searchResultPosition": ,
/*required, initial position of search result list, integer32. When there are multiple records, and cannot get all records
in one time searching, you can search the records followed specified position for next search*/
"maxResults":
/*required, maximum records for single searching, integer32*/
}
}
7.21 JSON_HFPDRecordData
JSON message about data record of frequently appeared person detection
{
"RecordData":{
"progress": "",
/*optional, progress, only when it equals to "100", you can get the detailed data*/
"targets": [{
/*required, matched data, array*/
"id": ,
/*required, ID, integer32*/
"captureTime": "",
/*optional, string, capture time, ISO8601_time, e.g., 2004-05-03T17:30:08+08:00*/
144
Intelligent Security API (Facial) Developer Guide
"captureSite": "",
/*optional, string type, capture place (camera name)*/
"monitorId": "",
/*optional, string type, CVR encoder stream ID, the maximum length is 64 bytes; if not support, this node will not be
returned*/
"ageGroup": "",
/*optional, string type, age group*/
"gender": "",
/*optional, string type, gender*/
"glasses": "",
/*optional, string type, wearing glasses*/
"smile": "",
/*optional, string type, smiling*/
"mask": "",
/*optional, string type, wearing mask*/
"picUrl": "",
/*optional, string type, background picture URL*/
"subpicUrl": "",
/*required, string type, face thumbnail URL*/
"rect":{
/*optional, face coordinates in the matched picture*/
"height": ,
/*optional, height, float type*/
"width": ,
/*optional, width, float type*/
"y": ,
/*optional, Y-coordinate, float type*/
"x":
/*optional, X-coordinate, float type*/
},
"similarity": ,
/*optional, similarity, float type*/
"range": ,
/*optional, age deviation, integer32*/
"value": ,
/*optional, age, integer32*/
"faceExpression":{
/*optional, face expression*/
"confidence": ,
/*optional, confidence, float*/
"value": ""
/*optional, string, face expression: "unknown", "poker-faced", "happy", "surprised", "panic","sad", "angry",
"contemptuous", "disgusted"; the maximum length is 32 bytes*/
},
"confidence": ,
/*optional, float, confidence*/
"value": ""
/*optional, string, the maximum length is 32*/
}
}]
}
}
145
Intelligent Security API (Facial) Developer Guide
7.22 JSON_HFPDSearchResult
HFPDSearchResult message in JSON format
{
"HFPDSearchResult":{
"responseStatusStrg": "",
/*optional, string type, search status: "OK"-search completed, "NO MATCHES"-search failed, "MORE"-searching; the
maximum length is 32 bits*/
"numOfMatches": ,
/*optional, returned number of results for current search, integer32*/
"totalMatches": ,
/*optional, total number of matched results, integer32*/
"targetInfo": [{
"recordDataIndex": "",
/*required, string,ID of searched record detailed information*/
"occurrences": ,
/*required, integer32,frequency of frequently appeared person*/
"analysisTime": "",
/*required, alarm analysis time, string type, ISO8601 time, e.g., 2004-05-03T17:30:08+08:00*/
"URL": "",
/*required, face thumbnail URL, string type*/
"targetId": "",
/*optional, string type, target ID, the ID varies of different target*/
"FaceInfo": [{
/*optional, array, list of matched face pictures information*/
"FDID": "",
/*required, string type, face picture library ID, the maximum length is 64 bits*/
"PID": "",
/*optional, string type, person ID of face picture library, the maximum length is 64 bits*/
"face_picurl": "",
/*optional, face picture URL, string type*/
"FaceAppendData":{
/*optional, face picture additional information*/
"name": "",
/*required, name, string type, the maximum length is 96 bits*/
"gender": "",
/*optional, string, gender: "male"-male, "female"-female, "unknown"-unknown; the maximum length is 10 bits*/
"bornTime": "",
/*required, string, birth date, ISO8601 time, the maximum length is 32 bits*/
"city": "",
/*optional, city of birth, string, the max. length is 32*/
"certificateType": "",
/*optional, string, certificate type: "officerID"-officer ID, "ID"-identify card, "passport"-passport, "other"-other
certificate; the max. length is 10 bits*/
"certificateNumber": "",
/*optional, string, certificate No., the max. length is 32*/
"ageGroup": "",
/*optional, string, age group: "unknown"-unknown; the max. length is 32*/
"phoneNumber": "",
/*optional, string, telephone number, the max. length is 64*/
146
Intelligent Security API (Facial) Developer Guide
},
"similarity": ,
/*optional, float type, the maximum similarity of all matched pictures, ranges from 0 to 1, corrects to two decimal
places*/
"extendData": [{
/*optional, person extended information*/
"extendID": ,
/*optional, integer, person extended information ID, starts form 1*/
"enable": "",
/*optional, boolean type, enable person extended information or not*/
"name": "",
/*optional, person tag extended name; string, the maximum length is 96 bits*/
"value": "",
/*optional, person tag extended information; string, the maximum length is 64 bits*/
}],
}] // FaceInfo
}]
}
}
7.23 JSON_IntelligentSearchCap
JSON message about intelligent search capability
{
"requestURL":"",
/*optional, string, request URL*/
"statusCode":1,
/*required, int, status code*/
"statusString":"",
/*required, string, status description*/
"subStatusCode":"",
/*required, string, sub status code*/
"errorCode":1,
/*optional, int, error code, this node is required when statusCode is not 1 and it corresponds to subStatusCode*/
"errorMsg":"ok",
/*optional, string, error details, this node is required, when statusCode is not 1 and it can be error details about a
specific parameter*/
"startTime":"2004-05-03T17:30:08+08:00",
/*required, string, start time in ISO8601 time format. This node only indicates that the device supports this field*/
"endTime":"2004-05-03T17:30:08+08:00",
/*required, string, end time in ISO8601 time format. This node only indicates that the device supports this field*/
"resultMaxNum":100,
/*required, int, supported maximum number of results that can be searched*/
"channelIDLen":{
/*optional, camera ID length*/
"min":1,
"max":32
},
"channelNameLen":{
147
Intelligent Security API (Facial) Developer Guide
148
Intelligent Security API (Facial) Developer Guide
"glass":"",
/*optional, string, wear glasses or not*/
"bag":"",
/*optional, string, whether with bag or not*/
"hat":"",
/*optional, string, whether with hat or not*/
"mask":"",
/*optional, string, whether with mask or not*/
"jacket": "",
/*optional, string, jacket type*/
"trousersType":"",
/*optional, string, trousers type*/
"hairStyle":"",
/*optional, string, hair style*/
"jacketColor":"",
/*optional, string, jacket color*/
"trousersColor":"",
/*optional, string, trousers coloe*/
"ride":"",
/*optional, string, ride a bike or not*/
"things":"",
/*optional, string, whether with handbag or not*/
"cyclingType":"",
/*optional, string, vehicle type*/
"cyclingPersonNumber":"",
/*optional, string, number of passengers*/
"isSupportLicense":true,
/*required, boolean type, whether it supports license plate number*/
"plateType":"unknown,92TypeCivil,arm,upDownMilitay,92TypeArm,leftRightMilitay,
02TypePersonalized,yellowTwoLine,
04NewMilitay,embassy,oneLineArm,twoLineArm,yellow1225FarmVehicle,green1325FarmVehicle,yellow1325FarmVehi
cle,motorola,coach,tempTravl,trailer,consulate,hongKongMacao,tempEntry,civilAviation,newEnergy",
/*optional, string, license plate type: license plate type: "unknown", "92TypeCivil"-92-style civil vehicle, "arm"-police
vehicle, "upDownMilitay"-military vehicle (top-bottom type), "92TypeArm"-92-style police vehicle, "leftRightMilitay"-
military vehicle (left-right type), "02TypePersonalized"-02-style customized vehicle, "yellowTwoLine"-yellow two-line
rear license plate, "04NewMilitay"-04-style new military vehicle, "embassy"-embassy vehicle, "oneLineArm"-new
armed police vehicle (one-line), "twoLineArm"-new armed police vehicle (two-line), "yellow1225FarmVehicle"-yellow
agricultural vehicle with 1225 structure, "green1325FarmVehicle"-green agricultural vehicle with 1325 structure,
"yellow1325FarmVehicle"-yellow agricultural vehicle with 1325 structure, "motorola"-motorcycle, "coach"-driver-
training vehicle, "tempTravl"-vehicle with temporary license plate, "trailer"-trailer, "consulate"-consular vehicle,
"hongKongMacao"-vehicle entering and leaving Hong Kong/Macao, "tempEntry"-temporary entry vehicle,
"civilAviation"-civil aviation license plate, "newEnergy"-new energy license plate. Multiple types should be separated
by commas*/
"vehicleColor":"white,silver,gray,black,red,deepBlue,blue,yellow,green,brown,pink,purple,deepGray,cyan,orange,unkn
own",
/*optional, string, vehicle color: "unknown", "white", "silver"-silvery, "gray", "black", "red", "deepBlue"-dark blue,
"blue", "yellow", "green", "brown", "pink", "purple", "deepGray"-dark gray, "cyan", "orange". Multiple colors should
be separated by commas*/
"plateColor":"white,yellow,blue,black,green,civilAviationBlack,civilAviationGreen,other",
/*optional, string, license plate color: "white", "yellow", "blue", "black", "green", "civilAviationBlack"-civil aviation
black, "civilAviationGreen"-civil aviation green, "0xff" or "other"-other color, "unknown"-unrecognized. Multiple colors
149
Intelligent Security API (Facial) Developer Guide
"vehicleType":"largeBus,truck,vehicle,van,buggy,pedestrian,twoWheelVehicle,threeWheelVehicle,SUVMPV,mediumBus
,motorVehicle,nonmotorVehicle,smallCar,miniCar,pickupTruck,unknown",
/*optional, string, vehicle type: "largeBus"-large-sized bus, "truck"-truck, "vehicle"-salon car, "van"-minivan, "buggy"-
light truck, "pedestrian", "twoWheelVehicle"-two wheeler, "threeWheelVehicle"-tricycle, "SUVMPV"-SUV/MPV,
"mediumBus"-middle-sized bus, "motorVehicle"-motor vehicle (it will be transformed to "vehicle" (salon car) in the
platform), "nonmotorVehicle"-non-motor vehicle (it will be transformed to "threeWheelVehicle" (tricycle) in the
platform), "smallCar"-small sedan (it will be transformed to "vehicle" (salon car) in the platform), "miniCar"-mini
sedan (it will be transformed to "vehicle" (salon car) in the platform), "pickupTruck"-pick-up truck, "unknown".
Multiple types should be separated by commas*/
"isSupportVehicleLogo":true,
/*optional, boolean type, whether it supports vehicle parent brand*/
"isSupportvehicleSubLogo":true,
/*optional, boolean type, whether it supports vehicle sub brand*/
"isSupportVehicleModel":true,
/*optional, boolean type, whether it supports vehicle model year*/
"pilotSafebelt":"",
/*optional, string type, whether the driver buckled up*/
"pilotSunvisor":"",
/*optional, string type, whether the driver's sun visor is pulled down*/
"vicePilotSafebelt":"",
/*optional, string type, whether the front passenger buckled up*/
"vicePilotSunvisor":"",
/*optional, string type, whether the front passenger's sun visor is pulled down*/
"uphone":"",
/*optional, string type, whether the person is making a call*/
"dangmark": "",
/*optional, string, whether it is dangerous goods vehicle*/
"envprosign": "",
/*optional, string, whether to display yellow label vehicle*/
"muckTruck": "",
/*optional, string, whether it is a dump truck*/
"vehicleState": "",
/*optional, string, license plate status*/
"pdvs": "",
/*optional, string, whether there are people sticking out of the sunroof*/
"vehicleHead": "",
/*optional, string, license plate recognition direction*/
"pendant": "",
/*optional, string, whether there is window hangings detected*/
"temporaryLicense": "",
/*optional, string, whether it is a temporary license plate*/
"tricycleCanopy": "",
/*optional, string, whether there is a hood on the tricycle*/
"decoration": "",
/*optional, string, whether there is decoration detected*/
"tissueBox": "",
/*optional, string, whether there is tissue box detected*/
"card": "",
/*optional, string, whether it is with cards*/
"cardType": "",
150
Intelligent Security API (Facial) Developer Guide
151
Intelligent Security API (Facial) Developer Guide
7.24 JSON_IntelligentSearchCondition
JSON message about intelligent search conditions
{
"searchID":"",
/*required, string, search ID. The content of searchID remains unchanged if the search conditions remain unchanged.
This node is used to check the same search. When the device performance is limited, you can search asynchronously
by applying conditions with the same searchID several times and getting the search progress*/
"searchResultPosition": ,
/*required, int, the start position of the search result in the result list. When there are multiple records and you
cannot get all search results at a time, you can search for the records after the specified position next time*/
"maxResults": ,
/*required, int, maximum number of search results obtained this time*/
"startTime":"",
/*required, string, start time in ISO8601 time format*/
"endTime":"",
/*required, string, end time in ISO8601 time format*/
"choiceChannel":[{
/*optional*/
"channelID":"",
/*optional, string, camera No.*/
"plateRecogRegionID":
/*optional, int, license plate recognition area No. If this node is not configured, it refers to all areas*/
}],
"targetType":"",
/*optional, string, search object type. If this node is not returned, it indicates no limit*/
"targetSize": "",
/*optional, string, target size*/
"direction": "",
/*optional, string, target direction*/
"speed": "",
/*optional, string, target speed*/
"sortType": "",
/*optional, string, sorting type: "similarity"-by similarity(by default), "time"-by time, the maximum length is 32 bytes*/
"humanInfo":{
/*dependent, this node is valid only when the value of targetType is human*/
"ageGroup":"",
/*optional, string, age*/
"gender":"",
/*optional, string, gender, string, gender*/
"glass":"",
/*optional, string, wear glasses or not*/
"bag":"",
/*optional, string, whether with bag or not*/
"hat":"",
/*optional, string, whether with hat or not*/
"mask":"",
/*optional, string, whether with mask or not*/
"jacketType":"",
/*optional, string, jacket type*/
152
Intelligent Security API (Facial) Developer Guide
"trousersType":"",
/*optional, string, trousers type*/
"hairStyle":"",
/*optional, string, hair style*/
"jacketColor":"",
/*optional, string, jacket color, "white,black"*/
"trousersColor":"",
/*optional, string, trousers color, "white,black"*/
"ride":"",
/*optional, string, ride a bike or not*/
"things":"",
/*optional, string, whether with handbag or not*/
"cyclingType":"",
/*optional, string, vehicle type*/
"cyclingPersonNumber":"",
/*optional, string, number of passengers*/
"hID":"",
/*required, string, person ID, the maximum length is 32 bytes*/
"name":"",
/*required, string, name of the person, the maximum length is 32 bytes*/
"linkFaceBodyId":""
/*optioal, linkage ID between human face and body, the maximum length is 64 bytes*/
},
"vehicleInfo ":{
/*this node is valid when targetType is "vehicle"*/
"license":"",
/*optional, string, license plate number*/
"plateCategory": "",
/*optional, additional information of license plate*/
"plateType":"",
/*optional, string, license plate type: license plate type: "unknown", "92TypeCivil"-92-style civil vehicle, "arm"-police
vehicle, "upDownMilitay"-military vehicle (top-bottom type), "92TypeArm"-92-style police vehicle, "leftRightMilitay"-
military vehicle (left-right type), "02TypePersonalized"-02-style customized vehicle, "yellowTwoLine"-yellow two-line
rear license plate, "04NewMilitay"-04-style new military vehicle, "embassy"-embassy vehicle, "oneLineArm"-new
armed police vehicle (one-line), "twoLineArm"-new armed police vehicle (two-line), "yellow1225FarmVehicle"-yellow
agricultural vehicle with 1225 structure, "green1325FarmVehicle"-green agricultural vehicle with 1325 structure,
"yellow1325FarmVehicle"-yellow agricultural vehicle with 1325 structure, "motorola"-motorcycle, "coach"-driver-
training vehicle, "tempTravl"-vehicle with temporary license plate, "trailer"-trailer, "consulate"-consular vehicle,
"hongKongMacao"-vehicle entering and leaving Hong Kong/Macao, "tempEntry"-temporary entry vehicle,
"civilAviation"-civil aviation license plate, "newEnergy"-new energy license plate. If this node is not returned, it
indicates no limit*/
"vehicleColor":"",
/*optional, string, vehicle color: "unknown", "white", "silver"-silvery, "gray", "black", "red", "deepBlue"-dark blue,
"blue", "yellow", "green", "brown", "pink", "purple", "deepGray"-dark gray, "cyan", "orange". Multiple colors should
be separated by commas. If this node is not returned, it indicates no limit*/
"vehicleType":"",
/*optional, string, vehicle type: "largeBus"-large-sized bus, "truck"-truck, "vehicle"-salon car, "van"-minivan, "buggy"-
light truck, "pedestrian", "twoWheelVehicle"-two wheeler, "threeWheelVehicle"-tricycle, "SUVMPV"-SUV/MPV,
"mediumBus"-middle-sized bus, "unknown". If this node is not returned, it indicates no limit*/
"vehicleLogo": ,
/*optional, int, vehicle parent brand. If this node is not returned, it indicates no limit*/
"vehicleSubLogo": ,
153
Intelligent Security API (Facial) Developer Guide
/*optional, int, vehicle sub brand. If this node is not returned, it indicates no limit*/
"vehicleModel": ,
/*optional, int, vehicle model year. If this node is not returned, it indicates no limit*/
"plateColor":"",
/*optional, string, license plate color: "white", "yellow", "blue", "black", "green", "civilAviationBlack"-civil aviation
black, "civilAviationGreen"-civil aviation green, "0xff" or "other"-other color. If this node is not returned, it indicates no
limit*/
"pilotSafebelt":"",
/*optional, string, whether the driver buckled up. If this node is not returned, it indicates no limit*/
"pilotSunvisor":"",
/*optional, string, whether the driver's sun visor is pulled down. If this node is not returned, it indicates no limit*/
"vicePilotSafebelt":"",
/*optional, string, whether the front passenger buckled up*/
"vicePilotSunvisor":"",
/*optional, string, whether the front passenger's sun visor is pulled down*/
"uphone":""
/*optional, string, whether the person is making a call*/
"dangmark": "",
/*optional, string, whether it is dangerous goods vehicle*/
"vehicleState": "",
/*optional, string, license plate status*/
"pdvs": "",
/*optional, string, whether there are people sticking out of the sunroof*/
"vehicleHead": "",
/*optional, string, license plate recognition direction*/
"pendant": "",
/*optional, string, whether there is window hangings detected*/
"temporaryLicense": "",
/*optional, string, whether it is a temporary license plate*/
"tricycleCanopy": "",
/*optional, string, whether there is a hood on the tricycle*/
"decoration": "",
/*optional, string, whether there is decoration detected*/
"tissueBox": "",
/*optional, string, whether there is tissue box detected*/
"card": "",
/*optional, string, whether it is with cards*/
"cardType": "",
/*optional, string, card type*/
"copilot": "",
/*optional, string, whether there is a person in the co-driver room*/
"frontChild": "",
/*optional, string, whether the co-driver is with baby in arm*/
"muckTruck": "",
/*optional, string, whether it is a dump truck*/
"sunroof": "",
/*optional, string, whether it is with a sunroof*/
"luggageRack": "",
/*optional, string, whether it is with a luggage rack*/
"vehicleSprayPainted": "",
/*optional, string, whether the vehicle is painted*/
"spareTire": "",
154
Intelligent Security API (Facial) Developer Guide
155
Intelligent Security API (Facial) Developer Guide
7.25 JSON_IntelliSearchExportCond
JSON message about conditions of exporting intelligent search results
{
"searchID":"",
/*required, string type, search ID. The content of searchID remains unchanged if the search conditions remain
unchanged. This node is used to check the same search. When the device performance is limited, you can search
asynchronously by applying conditions with the same searchID several times and getting the search progress*/
"searchResultPosition": ,
/*required, int type, the start position of the search result in the result list. When there are multiple records and you
cannot get all search results at a time, you can search for the records after the specified position next time*/
"maxResults": ,
/*required, int type, maximum number of search results obtained this time*/
"startTime":"",
/*required, string type, start time in ISO8601 time format*/
"endTime":"",
/*required, string type, end time in ISO8601 time format*/
"choiceChannel":[{
/*optional*/
"channelID":""
/*optional, string type, camera No.*/
}],
"targetType":"",
/*optional, string type, search object type: "human,vehicle,twoWheelVehicle,threeWheelVehicle". If this node is not
returned, it indicates no limit*/
"targetSize":"",
/*optional, string type, target size. If this node is not returned, it indicates no limit*/
"direction":"",
/*optional, string type, target direction. If this node is not returned, it indicates no limit*/
"speed":"",
/*optional, string type, target speed. If this node is not returned, it indicates no limit*/
"humanInfo":{
/*this node is valid when targetType is "human"*/
"ageGroup":"",
/*optional, string type, age group. If this node is not returned, it indicates no limit*/
"gender":"",
/*optional, string type, gender. If this node is not returned, it indicates no limit*/
"glass":"",
/*optional, string type, whether the person wears glasses. If this node is not returned, it indicates no limit*/
"bag":"",
/*optional, string type, whether the person is with backpack. If this node is not returned, it indicates no limit*/
"hat":"",
/*optional, string type, whether the person wears glasses. If this node is not returned, it indicates no limit*/
"mask":"",
/*optional, string type, whether the person wears mask. If this node is not returned, it indicates no limit*/
156
Intelligent Security API (Facial) Developer Guide
"jacketType":"",
/*optional, string type, tops type. If this node is not returned, it indicates no limit*/
"trousersType":"",
/*optional, string type, bottoms type. If this node is not returned, it indicates no limit*/
"hairStyle":"",
/*optional, string type, hairstyle. If this node is not returned, it indicates no limit*/
"jacketColor":"",
/*optional, string type, tops color. If this node is not returned, it indicates no limit*/
"trousersColor":"",
/*optional, string type, bottoms color. If this node is not returned, it indicates no limit*/
"ride":"",
/*optional, string type, whether the person is riding bicycle. If this node is not returned, it indicates no limit*/
"things":"",
/*optional, string type, whether the person is carrying goods. If this node is not returned, it indicates no limit*/
"cyclingType":"",
/*optional, string type, riding type*/
"cyclingPersonNumber":""
/*optional, string type, number of riders*/
},
"vehicleInfo":{
/*this node is valid when targetType is "vehicle"*/
"license":"",
/*optioinal, string type, license plate number*/
"plateCategory": "",
/*optional, additional information of license plate*/
"plateType":"",
/*optional, string type, license plate type: license plate type: "unknown", "92TypeCivil"-92-style civil vehicle, "arm"-
police vehicle, "upDownMilitay"-military vehicle (top-bottom type), "92TypeArm"-92-style police vehicle,
"leftRightMilitay"-military vehicle (left-right type), "02TypePersonalized"-02-style customized vehicle, "yellowTwoLine"-
yellow two-line rear license plate, "04NewMilitay"-04-style new military vehicle, "embassy"-embassy vehicle,
"oneLineArm"-new armed police vehicle (one-line), "twoLineArm"-new armed police vehicle (two-line),
"yellow1225FarmVehicle"-yellow agricultural vehicle with 1225 structure, "green1325FarmVehicle"-green agricultural
vehicle with 1325 structure, "yellow1325FarmVehicle"-yellow agricultural vehicle with 1325 structure, "motorola"-
motorcycle, "coach"-driver-training vehicle, "tempTravl"-vehicle with temporary license plate, "trailer"-trailer,
"consulate"-consular vehicle, "hongKongMacao"-vehicle entering and leaving Hong Kong/Macao, "tempEntry"-
temporary entry vehicle, "civilAviation"-civil aviation license plate, "newEnergy"-new energy license plate. If this node
is not returned, it indicates no limit*/
"vehicleColor":"",
/*optional, string type, vehicle color: "unknown", "white", "silver"-silvery, "gray", "black", "red", "deepBlue"-dark
blue, "blue", "yellow", "green", "brown", "pink", "purple", "deepGray"-dark gray, "cyan", "orange". Multiple colors
should be separated by commas. If this node is not returned, it indicates no limit*/
"vehicleType":"",
/*optional, string type, vehicle type: "largeBus"-large-sized bus, "truck"-truck, "vehicle"-salon car, "van"-minivan,
"buggy"-light truck, "pedestrian", "twoWheelVehicle"-two wheeler, "threeWheelVehicle"-tricycle, "SUVMPV"-SUV/
MPV, "mediumBus"-middle-sized bus, "unknown". If this node is not returned, it indicates no limit*/
"vehicleLogo": ,
/*optional, int type, vehicle parent brand. If this node is not returned, it indicates no limit*/
"vehicleSubLogo": ,
/*optional, int type, vehicle sub brand. If this node is not returned, it indicates no limit*/
"vehicleModel": ,
/*optional, int type, vehicle model year. If this node is not returned, it indicates no limit*/
"plateColor":"",
157
Intelligent Security API (Facial) Developer Guide
/*optional, string type, license plate color: "white", "yellow", "blue", "black", "green", "civilAviationBlack"-civil
aviation black, "civilAviationGreen"-civil aviation green, "0xff" or "other"-other color. If this node is not returned, it
indicates no limit*/
"pilotSafebelt":"",
/*optional, string type, whether the driver buckled up. If this node is not returned, it indicates no limit*/
"pilotSunvisor":"",
/*optional, string type, whether the driver's sun visor is pulled down. If this node is not returned, it indicates no limit*/
"vicePilotSafebelt":"",
/*optional, string type, whether the front passenger buckled up*/
"vicePilotSunvisor":"",
/*optional, string type, whether the front passenger's sun visor is pulled down*/
"uphone":"",
/*optional, string type, whether the person is making a call*/
"dangmark":"",
/*optional, string type, whether the vehicle is with hazardous material sign*/
"envprosign":"",
/*optional, string type, whether it is a yellow-label vehicle*/
"vehicleState":"",
/*optional, string type, license plate status*/
"pdvs":"",
/*optional, string type, whether the passenger is standing out of sunroof*/
"vehicleHead":"",
/*optional, string type, license plate recognition direction*/
"pendant":"",
/*optional, string type, whether there is pendant*/
"temporaryLicense":"",
/*optional, string type, whether the vehicle is with temporary license plate*/
"tricycleCanopy":"",
/*optional, string type, whether the tricycle is with canopy*/
"decoration":"",
/*optional, string type, whether there is ornament*/
"tissueBox":"",
/*optional, string type, whether there is tissue box*/
"card":"",
/*optional, string type, whether there are cards*/
"cardType":"",
/*optional, string type, card type*/
"copilot":"",
/*optional, string type, whether the front passenger is seated*/
"frontChild":"",
/*optional, string type, whether the front passenger holds a baby or the child sits in front passenger's seat alone*/
"muckTruck":"",
/*optional, string type, whether it is a dump truck*/
"sunroof":"",
/*optional, string type, whether there is sunroof*/
"luggageRack":"",
/*optional, string type, whether there is roof rack*/
"vehicleSprayPainted":"",
/*optional, string type, whether there are characters painted on vehicle*/
"spareTire":"",
/*optional, string type, whether there is spare tire*/
"coverPlate":"",
158
Intelligent Security API (Facial) Developer Guide
159
Intelligent Security API (Facial) Developer Guide
}
}
7.26 JSON_IntelliSearchExportProgress
JSON message about progress of exporting intelligent search results
{
"requestURL":"",
"statusCode": ,
"statusString":"",
"subStatusCode":"",
"errorCode": ,
"errorMsg":"",
/*see the description of this node and the above nodes in the message of JSON_ResponseStatus*/
"progress": ,
/*dependent, int, it is valid when errcode values "1" and errMsg values "ok". Export progress, ranges from 0 to 100*/
"URL": ""
/*dependent, string, it is valid when progress values "100", the URL address of packaged result*/
}
7.27 JSON_IntelligentSearchResult
JSON message about intelligent search results
{
"requestURL":"",
/*required, string type, request URL*/
"statusCode": ,
/*required, int type, status code*/
"statusString":"",
/*required, string type,status description*/
"subStatusCode":"",
/*required, string type, sub status code*/
"errorCode": ,
/*optional, int type, error code, this node is required when statusCode is not 1 and it corresponds to subStatusCode*/
"errorMsg":"",
/*optional, string type, error details, this node is required, when statusCode is not 1 and it can be error details about a
specific parameter*/
"responseStatusStrg":"",
/*required, string type, searching status: "OK"-searching completed, "NO MATCH"-no matched results, "MORE"-
searching for more results. The maximum length is 32 bytes. This node is valid when errorCode is 1 and errorMsg is
"ok"*/
"numOfMatches": ,
/*required, integer32, number of results returned this time. This node is valid when errorCode is 1 and errorMsg is
"ok"*/
"totalMatches": ,
/*required, integer32, total number of matched results. This node is valid when errorCode is 1 and errorMsg is "ok"*/
"progress": ,
160
Intelligent Security API (Facial) Developer Guide
161
Intelligent Security API (Facial) Developer Guide
"hat":"",
/*optional, string, whether with hat or not*/
"mask":"",
/*optional, string, whether with mask or not*/
"jacketType":"",
/*optional, string, jacket type*/
"trousersType":"",
/*optional, string, trousers type*/
"hairStyle":"",
/*optional, string, hair style*/
"jacketColor":"",
/*optional, string, jacket color*/
"trousersColor":"",
/*optional, string, trousers coloe*/
"ride":"",
/*optional, string, ride a bike or not*/
"things":"",
/*optional, string, whether with handbag or not*/
"cyclingType":"",
/*optional, string, vehicle type*/
"cyclingPersonNumber":"",
/*optional, string, number of passengers*/
"posture":{
/*optional, posture*/
"confidence":,
/*optional, float, confidence*/
"value":""
/*optional, string, posture type*/
},
"listening":{
/*optional, listening*/
"confidence":,
/*optional, float, listening*/
"value":""
/*optional, string, listening type*/
},
"reading":{
/*optional, reading*/
"confidence":,
/*optional, float, confidence*/
"value":""
/*optional, string, reading type*/
},
"writing":{
/*optional, writing*/
"confidence":,
/*optional, float, confidence*/
"value":""
/*optional, string, writing type*/
},
"raiseHand":{
/*optional, raise hand*/
162
Intelligent Security API (Facial) Developer Guide
"confidence":,
/*optional, float, confidence*/
"value":""
/*optional, string, hand raising type*/
},
"lyingOnTable":{
/*optional, lying on the table*/
"confidence":,
/*optional, float, confidence*/
"value":""
/*optional, string, types of lying on the table*/
},
"playPhone":{
/*optional, playing phone*/
"confidence":,
/*optional, float, confidence*/
"value":""
/*optional, string , types of playing phone*/
},
"orientation":{
/*optional, orientation*/
"confidence":,
/*optional, float, confidence*/
"value":""
/*optional, string, types of orientation*/
},
"discuss":{
/*optional, discussion*/
"confidence":,
/*optional, float, confidence*/
"value":""
/*optional, string, types of discussion: unknown, no discussion, have discussion*/
},
"studentScene": "",
/*optional, string, school scene: "takeLesson", "answer", "discuss"*/
"studentNum": ,
/*optional, int, number of students*/
"linkFaceBodyId":""
/*optional, linkage ID between human body and face, the maximum length is 64 bytes*/
},
"vehicleInfo":{
/*this node is valid when targetType is "vehicle"*/
"license":"",
/*optional, string type, license plate number*/
"plateCategory": "",
/*optional, additional information of license plate*/
"plateType":"",
/*optional, string type, license plate type: license plate type: "unknown", "92TypeCivil"-92-style civil vehicle, "arm"-
police vehicle, "upDownMilitay"-military vehicle (top-bottom type), "92TypeArm"-92-style police vehicle,
"leftRightMilitay"-military vehicle (left-right type), "02TypePersonalized"-02-style customized vehicle, "yellowTwoLine"-
yellow two-line rear license plate, "04NewMilitay"-04-style new military vehicle, "embassy"-embassy vehicle,
"oneLineArm"-new armed police vehicle (one-line), "twoLineArm"-new armed police vehicle (two-line),
163
Intelligent Security API (Facial) Developer Guide
164
Intelligent Security API (Facial) Developer Guide
"cardNum": ,
/*optional, int, number of cards*/
"cardType": [{
/*optional, array, card type*/
"value": ""
/*optional, string, value of different card types*/
}],
"copilot": "",
/*optional, string, whether there is a person in the co-driver room*/
"frontChild": "",
/*optional, string, whether the co-driver is with baby in arm*/
"muckTruck": "",
/*optional, string, whether it is a dump truck*/
"sunroof": "",
/*optional, string, whether it is with a sunroof*/
"luggageRack": "",
/*optional, string, whether it is with a luggage rack*/
"vehicleSprayPainted": "",
/*optional, string, whether the vehicle is painted*/
"spareTire": "",
/*optional, string type, whether it is with a spare tire*/
"coverPlate": "",
/*optional, string, whether the heavy truck is covered with back cover*/
"label": "",
/*optional, string, whether there is inspection label detected*/
"labelNum": ,
/*optional, int, number of labels*/
"labelPosition": [{
/*optional, label position*/
"height": ,
/*required, float, height*/
"width": ,
/*required, float, width*/
"x": ,
/*required, float, X-coordinate*/
"y":
/*required, float, Y-coordinate*/
}],
"region":"",
/*optional, string type, region that the license plate belongs to: "EU"-Europe, "ER"-Russian region, "EUandCIS"-Europe
and Russia, "ME"-the Middle East, "All"-all regions, "other"*/
"country":""
/*optional, string type, country that the license plate belongs to: "EU"-Europe, "ER"-Russian region, "EUandCIS"-
Europe and Russia, "ME"-the Middle East, "All"-all regions, "other"*/
},
"twoWheelVehicle": {
/*dependent, this node is valid only when the value of targetType is "twoWheelVehicle"*/
"ageGroup": "",
/*optional, string, whether to display age group*/
"gender": "",
/*optiona, string, whether to display gender*/
"glass": "",
165
Intelligent Security API (Facial) Developer Guide
166
Intelligent Security API (Facial) Developer Guide
"y":
}]
}]
}
7.28 JSON_LFPD
LFPD message in JSON format
{
"LFPD":{
"enabled": ,
/*required, boolean, enable or not*/
"analysisDays": ,
/*required, integer,days of analysis time, range: [1,31], it is 7 days by default*/
"uploadTime": "",
/*required, string, the alarm uploading time, ISO8601_time, corrects to minute, it is the device local time*/
"occurrences": ,
/*required, integer32, frequency, range: [1,30], default value: 7*/
"captureTimeInterval": ,
/*required, capture time interval, integer32, range: [1,60], it is 10 by default, unit: min; when it equals to 0, count
once when the target appears once*/
"channels": ,
/*required, array, sub type, integer, channel ID*/
"FaceLibrary": [{
"FDID": "",
/*required, face picture library ID, multiple libraries are separated by commas*/
"similarity": ,
/*required, similarity, integer32,range: [80,100], default value: 85*/
}],
}
}
7.29 JSON_LFPDCap
LFPDCap message in JSON format
{
"LFPDCap"{
"analysisDays":{
/*required, number of days for analysis*/
"@min": 1,
"@max": 31,
"@def": 7
},
"occurrences":{
/*required, face picture frequency in low frequency person detection*/
"@min": 1,
"@max": 30,
167
Intelligent Security API (Facial) Developer Guide
"@def": 7
},
"captureTimeInterval":{
/*required, capture time interval for checking duplicate in capture library*/
"@min": 1,
"@max": 60,
"@def": 10
},
"channels":{
/*required, the maximum number of supported channels,integer*/
"@size": 4,
"@opt": "1,2,3"
/*required, ID of channel which supports low frequency person detection; multiple IDs are separated by commas*/
},
"FaceLibrary":{
"@size": 4,
"similarity":{
/*required, similarity of face picture libraries for low frequency person detection*/
"@min": 70,
"@max": 100,
"@def": 80
},
},
"isSupportEventRecordDataSearch": ,
/*optional, whether to support searching for low frequency person alarm*/
"isSupportDataPackage":
/*optional, whether to support exporting frequently appeared person alarm*/
}
}
7.30 JSON_LFPDDataPackageCond
LFPDRecordData message in JSON format
{
"DataPackageCond":{
"searchResultPosition": ,
/*optional, initial position of search result list, integer32; if this node is not configured, it starts from 0 by default.
When there are multiple records, and cannot get all records in one time searching, you can search the records
followed specified position for next search*/
"maxResults": ,
/*optional, maximum records for single searching, up to 1000 records, integer32; if this node is not configured, the
value is 1000*/
"facelibDataIndex": "",
/*optional, index of face picture library information, string*/
"Description":{
/*optional, packaging condition*/
"startTime": "",
/*optional, start time, string, ISO8601 time, e.g., 2004-05-03T17:30:08+08:00*/
"endTime": "",
168
Intelligent Security API (Facial) Developer Guide
Remarks
One of Description and facelibDataIndex must be configured, when both parameters are
configured, the facelibDataIndex takes effect.
7.31 JSON_LFPDEventRecordDataDescription
LFPDEventRecordDataDescription message in JSON format
{
"EventRecordDataDescription":{
"startTime": "",
/*optional, start time, string type, ISO8601 time, e.g., 2004-05-03T17:30:08+08:00*/
"endTime": "",
/*optional, end time, string type, ISO8601 time, e.g., 2004-05-03T17:30:08+08:00*/
"channels": ,
/*optional, array, sub type, integer, channel ID*/
"highestOccurrences":
/*optional, the maximum frequency, range: [0,30], the default value is 7*/
}
}
7.32 JSON_LFPDPagingCond
LFPDPagingCond message in JSON format
{
"PagingCond":{
"facelibDataIndex": "",
/*required, index of face picture library information, string type*/
"searchResultPosition": ,
/*required, initial position of search result list, integer32. When there are multiple records, and cannot get all records
in one time searching, you can search the records followed specified position for next search*/
"maxResults":
/*required, maximum records for single searching, integer32*/
}
}
169
Intelligent Security API (Facial) Developer Guide
7.33 JSON_LFPDRecordData
JSON message about data record of low frequencty person detection
{
"RecordData":{
"progress": "",
/*optional, progress, only when it equals to "100", you can get the detailed data*/
"targets": [{
/*required, matched data, array*/
"id": ,
/*required, ID, integer32*/
"captureTime": "",
/*optional, string, capture time, ISO8601_time, e.g., 2004-05-03T17:30:08+08:00*/
"captureSite": "",
/*optional, string type, capture place (camera name)*/
"channel": "",
/*required, integer type, channel ID*/
"ageGroup": "",
/*optional, string type, age group*/
"range": ,
/*optional, age deviation, integer32*/
"value": ,
/*optional, age, integer32*/
"gender": "",
/*optional, string type, gender*/
"glasses": "",
/*optional, string type, wearing glasses*/
"smile": "",
/*optional, string type, smiling*/
"mask": "",
/*optional, string type, wearing mask*/
"picUrl": "",
/*optional, string type, background picture URL*/
"subpicUrl": "",
/*required, string type, face thumbnail URL*/
"rect":{
/*optional, face coordinates in the matched picture*/
"height": ,
/*optional, height, float type*/
"width": ,
/*optional, width, float type*/
"y": ,
/*optional, Y-coordinate, float type*/
"x":
/*optional, X-coordinate, float type*/
},
"face_rect":{
/*optional, face thumbnail coordiantes*/
"height": ,
/*optional, height, float type*/
170
Intelligent Security API (Facial) Developer Guide
"width": ,
/*optional, width, float type*/
"y": ,
/*optional, Y-coordinate, float type*/
"x":
/*optional, X-coordinate, float type*/
},
"similarity": ,
/*optional, similarity, float type*/
"range": ,
/*optional, age deviation, integer32*/
"value": ,
/*optional, age, integer32*/
"faceExpression":{
/*optional, face expression*/
"confidence": ,
/*optional, confidence, float*/
"value": ""
/*optional, string, face expression: "unknown", "poker-faced", "happy", "surprised", "panic","sad", "angry",
"contemptuous", "disgusted"; the maximum length is 32 bytes*/
},
"confidence": ,
/*optional, float, confidence*/
"value": ""
/*optional, string; the maximum length is 32 bytes*/
}
}]
}
}
7.34 JSON_LFPDSearchResult
LFPDSearchResult message in JSON format
{
"LFPDSearchResult":{
"responseStatusStrg": "",
/*optional, string type, search status: "OK"-search completed, "NO MATCHES"-search failed, "MORE"-searching; the
maximum length is 32 bits*/
"numOfMatches": ,
/*optional, returned number of results for current search, integer32*/
"totalMatches": ,
/*optional, total number of matched results, integer32*/
"targetInfo": [{
"occurrences": ,
/*required, integer32,frequency of low frequency person*/
"FDID": "",
/*required, string type, face picture library ID, the maximum length is 64 bits*/
"PID": "",
/*required, string type, person ID of face picture library, the maximum length is 64 bits*/
171
Intelligent Security API (Facial) Developer Guide
"analysisTime": "",
/*required, alarm analysis time, string type, ISO8601 time, e.g., 2004-05-03T17:30:08+08:00*/
"face_picurl": "",
/*required, face picture URL, string type*/
"FaceAppendData":{
/*optional, face picture additional information*/
"name": "",
/*required, name, string type, the maximum length is 96 bits*/
"gender": "",
/*optional, string, gender: "male"-male, "female"-female, "unknown"-unknown; the maximum length is 10 bits*/
"bornTime": "",
/*required, string, birth date, ISO8601 time, the maximum length is 32 bits*/
"city": "",
/*optional, city of birth, string, the max. length is 32*/
"certificateType": "",
/*optional, string, certificate type: "officerID"-officer ID, "ID"-identify card, "passport"-passport, "other"-other
certificate; the max. length is 10 bits*/
"certificateNumber": "",
/*optional, string, certificate No., the max. length is 32*/
"ageGroup": "",
/*optional, string, age group: "unknown"-unknown; the max. length is 32*/
"phoneNumber": "",
/*optional, string, telephone number, the max. length is 64*/
},
"extendData": [{
/*optional, person extended information*/
"extendID": ,
/*optional, integer, person extended information ID, starts form 1*/
"enable": "",
/*optional, boolean type, enable person extended information or not*/
"name": "",
/*optional, person tag extended name; string, the maximum length is 96 bits*/
"value": "",
/*optional, person tag extended information; string, the maximum length is 64 bits*/
}],
}]
}
}
7.35 JSON_OccurrenceDataList
JSON message about list of face picture frequency information
{
"OccurrenceDataList": [{
/*optional, list of face picture frequency information*/
"id": ,
/*required, serial No., integer64 type*/
"channel": ,
/*required, device channel No., integer32*/
172
Intelligent Security API (Facial) Developer Guide
"snapTime": "",
/*required, picture captured time, ios_8601 time format, e.g.,: 2009-11-14T15:27:00.000+08:00*/
"bkgUrl": "",
/*required, background picture URL, string type, the maximum length is 256 bytes*/
"faceId": ,
/*optional, face ID, integer32 type, it cannot be duplicated in one picture*/
"age":{
/*optional, age*/
"range": ,
/*optional, age deviation, integer32 type*/
"value": ,
/*optional, age, integer32 type*/
"ageGroup": ""
/*optional, age group: "unknown", "child", "young", "middle", "old"; string type, the maximum length is 32 bytes*/
},
"gender":{
/*optional, gender*/
"confidence": ,
/*optional, confidence, float type*/
"value": ""
/*optional, gender: "male", "female", "unknown"; string type, the maximum length is 32 bytes*/
},
"glass":{
/*optional, wearing glasses or not*/
"confidence": ,
/*optional, confidence, float type*/
"value": ""
/*optional, wearing glasses or not: "no"-not, "yes"-yes; string type, the maximum length is 32 bytes*/
},
"smile":{
/*optional, smiling or not*/
"confidence": ,
/*optional, confidence, float type*/
"value": "yes"
/*optional, smiling or not: "no"-not, "yes"-yes; string type, the maximum length is 32 bytes*/
},
"mask":{
/*optional, wearing mask or not*/
"confidence": ,
/*optional, confidence, float type*/
"value": ""
/*optional, wearing glasses or not; string type, the maximum length is 32 bytes*/
},
"faceExpression":{
/*optional, face expression*/
"confidence": ,
/*optional, float, confidence*/
"value": ""
/*optional, string, face expression: "unknown", "poker-faced", "happy", "surprised", "panic","sad", "angry",
"contemptuous", "disgusted"; the maximum length is 32*/
},
"confidence": ,
173
Intelligent Security API (Facial) Developer Guide
7.36 JSON_OccurrenceData
JSON message about face picture frequency information
{
"OccurrenceData": {
/*optional, face picture frequency information*/
"id": ,
/*required, serial No., integer64 type*/
"channel": ,
/*required, device channel No., integer32*/
"snapTime": "",
/*required, picture captured time, ios_8601 time format, e.g.,: 2009-11-14T15:27:00.000+08:00*/
"bkgUrl": "",
/*required, background picture URL, string type, the maximum length is 256 bytes*/
"faceId": ,
/*optional, face ID, integer32 type, it cannot be duplicated in one picture*/
"age":{
/*optional, age*/
"range": ,
/*optional, age deviation, integer32 type*/
"value": ,
/*optional, age, integer32 type*/
"ageGroup": ""
/*optional, age group: "unknown", "child", "young", "middle", "old"; string type, the maximum length is 32 bytes*/
},
"gender":{
/*optional, gender*/
"confidence": ,
/*optional, confidence, float type*/
"value": ""
/*optional, gender: "male", "female", "unknown"; string type, the maximum length is 32 bytes*/
},
"glass":{
/*optional, wearing glasses or not*/
"confidence": ,
/*optional, confidence, float type*/
"value": ""
/*optional, wearing glasses or not: "no"-not, "yes"-yes; string type, the maximum length is 32 bytes*/
},
"smile":{
174
Intelligent Security API (Facial) Developer Guide
7.37 JSON_ResponseStatus
JSON message about response status
{
"requestURL":"",
/*optional, string, request URL*/
"statusCode": ,
/*required, int, status code*/
"statusString":"",
/*required, string, status description*/
"subStatusCode":"",
/*required, string, sub status code*/
"errorCode": ,
/*optional, int, error code, which corresponds to subStatusCode, this field is required when statusCode is not 1. The
returned value is the transformed decimal number*/
"errorMsg":"",
/*optional, string, error details, this field is required when statusCode is not 1*/
}
175
Intelligent Security API (Facial) Developer Guide
Note
See Response Codes of Text Protocol for details about the status codes, sub status codes, error
codes, and error descriptions.
7.38 JSON_StopTaskCond
JSON message about conditions of stopping exporting task
{
"taskID":
/*required, task ID, string*/
}
7.39 JSON_TaskInfo
TaskInfo message in JSON format
{
"TaskInfo":{
"id": ""
/*required, submitted task ID, string type, the maximum length is 32 bits*/
}
}
7.40 XML_AlgorithmsVersion
Message about version information of algorithm library in XML format
<AlgorithmsVersion version="2.0" xmlns="http://www.isapi.org/ver20/XMLSchema">
<AlgorithmsVersionInfoList><!--optional-->
<AlgorithmsVersionInfo>
<majorVersion><!--required, xs:integer, major version No.--></majorVersion>
<minorVersion><!--required, xs:integer, minor version No.--></minorVersion>
<revisionNumber><!--required, xs:integer, revision No.--></revisionNumber>
<buildNumber><!--required, xs:integer, build No.--></buildNumber>
<versionYear><!--required, xs:integer, date: year--></versionYear>
<versionMonth><!--required, xs:integer, date: month--></versionMonth>
<versionDay><!--required, xs:integer, date: day--></versionDay>
<name>
<!--required, xs:string, algorithm library name, "faceProperties"-face attributes, "behaviorAnalysis"-behavior
analysis, "humanAttribute"-human body attributes, "faceSnap"-face capture, "faceRecognition"-face recognition,
"faceContrast"-face picture comparison, "peopleCounting"-people counting, "faceScore"-face picture score,
"personQueueDetection"-queue management, "depthMap"-depth map, "safetyHelmetDetection"-hard hat detection,
"streetBehavior"-street behavior, "workBehavior"-work behavior, "cityManagement"-city management,
"fireEscapeDetection"-fire engine access detection, "takingElevatorDetection"-elevator detection-->
176
Intelligent Security API (Facial) Developer Guide
<name>
</AlgorithmsVersionInfo>
</AlgorithmsVersionInfoList>
</AlgorithmsVersion>
Example
AlgorithmsVersion Message Example
<AlgorithmsVersion version="2.0" xmlns="http://www.isapi.com/ver20/XMLSchema">
<AlgorithmsVersionInfoList>
<AlgorithmsVersionInfo>
<majorVersion>1</majorVersion>
<minorVersion>0</minorVersion>
<revisionNumber>1</revisionNumber>
<versionYear>17</versionYear>
<versionMonth>12</versionMonth>
<versionDay>12</versionDay>
<name>faceSnap</name>
</AlgorithmsVersionInfo>
<AlgorithmsVersionInfo>
<majorVersion>1</majorVersion>
<minorVersion>0</minorVersion>
<revisionNumber>0</revisionNumber>
<versionYear>17</versionYear>
<versionMonth>10</versionMonth>
<versionDay>31</versionDay>
<name>faceScore</name>
</AlgorithmsVersionInfo>
<AlgorithmsVersionInfo>
<majorVersion>3</majorVersion>
<minorVersion>4</minorVersion>
<revisionNumber>1</revisionNumber>
<versionYear>17</versionYear>
<versionMonth>12</versionMonth>
<versionDay>25</versionDay>
<name>faceContrast</name>
</AlgorithmsVersionInfo>
</AlgorithmsVersionInfoList>
</AlgorithmsVersion>
7.41 XML_AlgParam
AlgParam message in XML format
<AlgParam version="1.0" xmlns="http://www.isapi.org/ver20/XMLSchema">
<BehaviorParam>
<detectionSensitiveLevel><!--req, xs: integer, detection sensitivity--></detectionSensitiveLevel>
<bgChangeSpeed><!--req, xs: integer, background changing speed--></bgChangeSpeed>
<minTargetSize> <!--opt, xs: integer, minimum target size--></minTargetSize>
<suppressionLevel>
<!--opt, xs: integer, compensation level (available for speed dome only), level 0 to level 4: slow to fast, the default
177
Intelligent Security API (Facial) Developer Guide
level is 1-->
</suppressionLevel>
<lightSuppressionEnable>
<!--req, xs: string, whether to enable HLC (available for speed dome only), "true, false"-->
</lightSuppressionEnable>
<antiSheildEnable>
<!--req, xs: string, whether to enable video tampering detection (available for speed dome only), "true,false"-->
</antiSheildEnable>
<traceTime>
<!--req, xs: integer, tracking duration (available for speed dome only), unit: s, value range: [2,600], default: 8-->
</traceTime>
<outputMode><!--opt, xs:integer--></outputMode>
<singleAlarmEnable>
<!--opt xs:string, whether to enable alarm (available for network camera), "true,false"-->
</singleAlarmEnable>
<leavesSuppressionEnable><!--opt xs:string, it is available for networ camera, "true,false"--></
leavesSuppressionEnable>
<SizeFilter><!--filter target size, available for network camera-->
<enabled><!--req, xs:string, "true,false"--></enabled>
<mode><!--req, xs:string, filter by pixel, "pixels"--></mode>
<MaxObjectSize><!--maximum target size, xs: float-->
<positionX><!--req, xs:integer, X-coordinate--></positionX>
<positionY><!--req, xs:integer, Y-coordinate--></positionY>
<width><!--req, xs:integer--></width>
<height><!--req, xs:integer--></height>
</MaxObjectSize>
<MinObjectSize><!--minimum target size, xs: float-->
<positionX><!--req, xs:integer, X-coordinate--></positionX>
<positionY><!--req, xs:integer, Y-coordinate--></positionY>
<width><!--req, xs:integer--></width>
<height><!--req, xs:integer--></height>
</MinObjectSize>
</SizeFilter>
<isStop>
<!--dep, xs: string, whether to stop tracking after detecting face,
it is valid when both the behavior analysis and face detection are supported, "true,false"-->
</isStop>
<gradeThreshold>
<!--dep, xs: integer, end tracking threshold, it is valid when both the behavior analysis and face detection are
supported-->
</gradeThreshold>
<physiologyIdentifiTrigger><!--opt, xs:boolean--></physiologyIdentifiTrigger>
<horizontalTrackLimit><!--opt, xs: integer--></horizontalTrackLimit>
<sceneMode>
<!--opt, xs: string. scene mode, "general"-general mode, "prospect"-vision mode, "indoor"-indoor mode-->
</sceneMode>
<axialMotionEnable><!--opt, xs:boolean, whether to enable axial motion, "true, false"--></axialMotionEnable>
</BehaviorParam>
<FaceParam>
<enabled><!--opt, xs:string, whether to enable face capture, "true, false"--></enabled>
<imgInterval><!--opt, xs:integer, capture interval, min="1" max="255" default="25"--></imgInterval>
<imgNum>
178
Intelligent Security API (Facial) Developer Guide
179
Intelligent Security API (Facial) Developer Guide
<FacePostrue><!--opt-->
<enabled><!--opt, xs: boolean, whether to filter picture according face posture--></enabled>
<SwingAngle>
<left><!--opt, xs: integer, angle of panning left--></left>
<right><!--opt, xs: integer, angle of panning right--></right>
</SwingAngle>
<TiltAngle>
<up><!--opt, xs: integer, angle of tilting up--></up>
<down><!--opt, xs: integer, angle of tilting down--></down>
</TiltAngle>
<blockingState>
<!--opt, xs: string, shielding status: fixed-keep shielding, lightMid-lightly shielded, severity-seriously shielded, OSD-
shielded by OSD-->
</blockingState>
</FacePostrue>
<RemoveDuplicate><!--dep, remove duplicates of captured face pictures, it is valid when snapMode is "best"-->
<enabled><!--opt, xs:boolean, whether to enable--></enabled>
<threshold>
<!--opt, xs:integer, threshold of removing duplicates, when the picture similarity is larger then the value, the
picture is duplicated; range: [70,100], default value: 88-->
</threshold>
<faceScore>
<!--opt, xs:integer, the face grading threshold for removing duplicates, only when the face grading is larger than
the configured threshold, the face picture will be compared for removing duplicates, in case that low quality face
pictures influence the comparison effect; range: [20,60], default value: 20-->
<updateTime><!--opt, xs:integer, face modal data updating time interval (the time interval between the modal
data being added into the library and being deleted), value range: [0,300], by default:60--></updateTime>
</faceScore>
</RemoveDuplicate>
</FaceParam>
</AlgParam>
Remarks
If the filter duration of face pictures (faceFilteringTime) is configured, the actual captured pictures
may be less than the configured number.
7.42 XML_AlgParamCap
AlgParamCap message in XML format
<AlgParamCap version="1.0 " xmlns="http://www.isapi.org/ver20/XMLSchema ">
<detectionSensitiveLevel><!--req, xs: string--></detectionSensitiveLevel>
<bgChangeSpeed><!--req, xs: string--></bgChangeSpeed>
<physiologyIdentifiTrigger><!--opt, xs:boolean--></physiologyIdentifiTrigger>
<horizontalTrackLimit min="1 " max="5 "><!--opt, xs: integer--></horizontalTrackLimit>
<faceFilteringTime min="0 " max="100 " default="5 ">
<!--opt, xs: integer, face pictures' filter duration, unit: s, 0-not filter--></faceFilteringTime>
<sceneMode opt="general,prospect,indoor">
<!--opt, xs: string. scene mode, general mode, vision mode, indoor mode-->
</sceneMode>
180
Intelligent Security API (Facial) Developer Guide
181
Intelligent Security API (Facial) Developer Guide
182
Intelligent Security API (Facial) Developer Guide
value is 15-->
</backToSceneTime>
<backgroundSuppressionEnabled opt="true,false">
<!--opt, xs: boolean, wehther to enable background inference suppression-->
</backgroundSuppressionEnabled>
</AlgParamCap>
Remarks
If the filter duration of face pictures (faceFilteringTime) is configured, the actual captured pictures
may be less than the configured number.
7.43 XML_AnalysisEngine
XML message about analysis engine parameters
<AnalysisEngine version="2.0" xmlns="http://www.std-cgi.org/ver20/XMLSchema">
<id>
<!--required, xs: integer, engine ID-->
</id>
<mode>
<!--required, xs: string, an intelligent analysis engine only supports one mode: face_recognition,
video_structure_preview, video_structure_record, image_recognition_human, image_recognition_vehicle,
safetyHelmetDetection, personDensityDetection, leavePosition, peopleNumChange, behavior, retention,
situationAnalysis, cityManagement, face_human_recognition, face_recognition_IES, OCR,
face_recognition_IES_or_OCR, fireEscapeDetection, takingElevatorDetection-->
</mode>
<state>
<!--required, ro, xs: string, engine status: "loading"-initializing, "analyzing"-running, "abnormal"-exception,
"connect_boot_abnorma"-connecting to boot program failed, "conig_boot_abnorma"-configuring boot program
failed, "connect_main_abnorma"-connecting main program failed, "conig_main_abnorma"-configuring main program
failed, "auth_abnorma"-authentication failed, "reset_abnorma"-resetting failed, "DSP_status_abnorma"-DSP status
exception, "lib_ver_err_abnorma"-incorrect remote engine version-->
</state>
<utilization>
<!--optional, ro, xs: float, engine usage, it is a read-only node and accurate to 1 decimal place, e.g., "00.0"-->
</utilization>
<ChannelInfoList><!--optional, read-only, channel No. linked to the engine, read-only node-->
<ChannelInfo>
<id>
<!--required, xs: integer, NVR channel, including analog channel No. and digital channel No.-->
</id>
<name>
<!--optional, xs: string, channel name-->
</name>
</ChannelInfo>
</ChannelInfoList>
<repairTime><!--optional, read-only, xs: integer, number of automatic repairs, from 1 to N: number of repairing
attempts, -1: repairing failed--></repairTime>
<channelNum><!--optional, xs:integer, supported number of channels to be linked with the engine--></channelNum>
<analysisMode><!--optional, xs:string, analysis mode: realTimeMode(default), autoSwitchMode--></analysisMode>
183
Intelligent Security API (Facial) Developer Guide
7.44 XML_AnalysisEngineList
Analysis engine list message in XML format
<?xml version="1.0" encoding="utf-8"?>
<AnalysisEngineList version="2.0" xmlns="http://www.isapi.org/ver20/XMLSchema">
<AnalysisEngine/><!--see XML_AnalysisEngine for details-->
</AnalysisEngineList>
See Also
XML_AnalysisEngine
7.45 XML_AnalysisEnginesCap
XML message about configuration capability of analysis engine
<AnalysisEnginesCap version="2.0" xmlns="http://www.std-cgi.org/ver20/XMLSchema">
<supportEnginesMaxNumber><!--xs:required, xs:integer, maximum number of supported engines--></
supportEnginesMaxNumber>
<mode
opt="face_recognition,video_structure_preview,video_structure_record,image_recognition_human,image_recognition
_vehicle,safetyHelmetDetection,,personDensityDetection,leavePosition,peopleNumChange,behavior,retention,situatio
nAnalysis,cityManagement,face_human_recognition,face_recognition_IES,OCR,face_recognition_IES_or_OCR,fireEsca
peDetection,takingElevatorDetection">
<!--required, xs:string, engine working mode-->
</mode>
<state opt="loading,analyzing,abnormal, connect_boot_abnorma, conig_boot_abnorma, connect_main_abnorma,
conig_main_abnorma, auth_abnorma, reset_abnorma, DSP_status_abnorma, lib_ver_err_abnorma">
<!--required, read-only, xs:string-->
</state>
<SingelModeCapList><!--number of channels supported by single engine-->
<SingelModeCap>
<Mode><!--required, xs:string--></Mode>
<supportChannelNumber><!--required, xs:integer--></supportChannelNumber>
<supportChannelNumberAutoSwitch>
<!--optional, xs:integer, supported number of channels to be linked with the engine (auto-switch mode); if the
device does not support auto-switch, this node will not be returned-->
</supportChannelNumberAuto
</SingelModeCap>
</SingelModeCapList>
<isSupportCheckUtilization>
<!--required, xs:boolean, whether to support displaying engine usage, this node will not be returned if displaying
usage is not supported-->
</isSupportCheckUtilization>
<isSupportCheckChannelsInfo>
184
Intelligent Security API (Facial) Developer Guide
<!--required, xs:boolean, whether to support displaying channel information linked to the engine, this node will not
be returned if displaying channel No. linked to the engine is not supported-->
</isSupportCheckChannelsInfo>
<repairTime min="-1" max="3">
<!--optional, xs:integer, number of automatic repairs-->
</repairTime>
<isNeedReboot><!--optional, xs:boolean, whether needs to reboot the engine--></isNeedReboot>
<engineSwitchPrompt opt="prompt1"><!--opt,wo,xs:string, engine switching prompt--></engineSwitchPrompt>
<supportChannelsConfiguration min="" max=""><!--optional, xs:integer, supported number of channels to be linked
with the engine--></supportChannelsConfiguration>
<analysisMode opt="realTimeMode,autoSwitchMode"><!--optional, xs:string, analysis mode:
realTimeMode(default), autoSwitchMode--></analysisMode>
<eventSupportAutoSwitch opt="cityManagement,fireEscapeDetection,behavior"><!--optional, xs:string, events that
supports auto-switch--></eventSupportAutoSwitch>
<AutoSwitchTime min="" max="" def=""><!--optional, xs:integer, auto-switch time interval, unit: second--></
AutoSwitchTime>
<isSupportSchedule><!--xs:boolean, whether the device supports setting auto-switch schedule--></
isSupportSchedule>
</AnalysisEnginesCap>
7.46 XML_Cap_faceRule
faceRule capability message in XML format
<FaceRule version="1.0" xmlns="http://www.isapi.org/ver20/XMLSchema">
<enabled opt="true,false"><!--req, xs:string--></enabled>
<FaceDetectionRegion>
<RegionCoordinatesList>
<RegionCoordinates><!--req-->
<positionX><!--req, xs:integer;coordinate--></positionX>
<positionY><!--req, xs:integer;coordinate--></positionY>
</RegionCoordinates>
</RegionCoordinatesList>
</FaceDetectionRegion>
<InterPupileRegion>
<positionX><!--req, xs:integer;coordinate--></positionX>
<positionY><!--req, xs:integer;coordinate--></positionY>
<width min="" max=""><!--req, xs: integer, pupil distance--></width>
<heigh><!--req, xs: integer--></height>
</InterPupileRegion>
</FaceRule>
7.47 XML_Cap_PicInfoOverlap
PicInfoOverlap capability message in XML format
<PicInfoOverlap version="2.0" xmlns="http://www.std-cgi.org/ver20/XMLSchema">
<Overlap>
<enabled><!--opt, xs: boolean--></enabled>
185
Intelligent Security API (Facial) Developer Guide
<OverlapItemList><!--opt-->
<OverlapItem>
<id><!--req, xs: integer --></id>
<item opt="positionInfo,cameraNo,captureTime,sex,age,GPS">
<!--req, xs:string, overlay information type: positionInfo (detection position information), cameraNo (device No.),
captureTime (captured time), sex (gender), age, GPS (device longitude and latitude information)-->
</item>
</OverlapItem>
</OverlapItemList>
</Overlap>
</PicInfoOverlap>
7.48 XML_CreateFDLibList
CreateFDLibList message in XML format
<CreateFDLibList version="2.0" xmlns="http://www.isapi.org/ver20/XMLSchema">
<CreateFDLib>
<id><!--req,xs:integer,number of items in the list, which starts from 1--></id>
<FDID><!--opt,xs:string, face picture library ID--></FDID>
<name><!--opt,xs:string, face picture library name--></name>
<thresholdValue>
<!--opt,xs:integer, similarity threshold for comparison, which is between 0 and 100, the higher the threshold, the
more accurate the comparison is-->
</thresholdValue>
<customInfo><!--opt,xs:string, additional information of face picture library--></customInfo>
</CreateFDLib>
</CreateFDLibList>
Example
CreateFDLibList Message Example for Front-End Devices
<CreateFDLibList>
<CreateFDLib>
<id>1</id>
<name>sdk</name>
<thresholdValue>1</thresholdValue>
<customInfo>fortest</customInfo>
<faceDataMax>30000</faceDataMax>
<customFaceLibID>sdktest</customFaceLibID>
</CreateFDLib>
</CreateFDLibList>
Example
CreateFDLibList Message Example for Rear-End Devices
<CreateFDLibList>
<CreateFDLib>
<id>1</id>
<name>510e498a64094c3d951b6292d666a133</name>
<thresholdValue>1</thresholdValue>
186
Intelligent Security API (Facial) Developer Guide
<customInfo />
</CreateFDLib>
</CreateFDLibList>
7.49 XML_DeviceCap
XML message about device capability
<DeviceCap version="2.0" xmlns="http://www.isapi.org/ver20/XMLSchema">
<SysCap><!--optional-->
<isSupportDst><!--optional, xs: boolean, whether it supports daylight saving time--></isSupportDst>
<NetworkCap/><!--optional, xs: boolean, network capability-->
<IOCap/><!--optional, IO capability-->
<SerialCap/><!--optional, serial port capability-->
<VideoCap/><!--optional, video capability, see details in the message of XML_VideoCap-->
<AudioCap/><!--optional, audio capability-->
<isSupportHolidy><!--optional, xs:boolean--></isSupportHolidy>
<RebootConfigurationCap>
<Genetec><!--optional, xs:boolean--></Genetec>
<ONVIF><!--optional, xs:boolean--></ONVIF>
<RTSP><!--optional, xs:boolean--></RTSP>
<HTTP><!--optional, xs:boolean--></HTTP>
<SADP>
<ISDiscoveryMode><!--optional, xs:boolean--></ISDiscoveryMode>
<PcapMode><!--optional, xs:boolean--></PcapMode>
</SADP>
<IPCAddStatus><!--optional, xs:boolean--></IPCAddStatus>
</RebootConfigurationCap>
<isSupportExternalDevice><!--optional, xs:boolean--></isSupportExternalDevice>
<isSupportChangedUpload>
<!--optional, xs: boolean, whether it supports uploading status changes-->
</isSupportChangedUpload>
<isSupportGettingWorkingStatus>
<!--optional, xs:boolean, whether it supports getting device status-->
</isSupportGettingWorkingStatus>
<isSupportGettingChannelInfoByCondition>
<!--optional, xs:boolean-->
</isSupportGettingChannelInfoByCondition>
<isSupportDiagnosedDataParameter>
<!--optional, xs:boolean-->
</isSupportDiagnosedDataParameter>
<isSupportSimpleDevStatus>
<!--optional, xs: boolean, whether it supports getting device working status-->
</isSupportSimpleDevStatus>
<isSupportFlexible>
<!--optional, xs: boolean, whether it supports getting channel status by condition-->
</isSupportFlexible>
<isSupportPTZChannels>
<!--optional, xs:boolean, whether it supports returning PTZ channel (which is different from the video channel)-->
</isSupportPTZChannels>
187
Intelligent Security API (Facial) Developer Guide
<isSupportSubscribeEvent>
<!--optional, xs:boolean, whether it supports alarm or event subscription: "true,false"-->
</isSupportSubscribeEvent>
<isSupportDiagnosedData>
<!--optional, xs:boolean, "true,false", whether it supports diagnosis data-->
</isSupportDiagnosedData>
<isSupportTimeCap>
<!--optional, xs:boolean, whether it supports time capability-->
</isSupportTimeCap>
<isSupportThermalStreamData>
<!--optional, xs:boolean, whether it supports uploading thermal stream data in real-time. If it is supported, the
returned value is "true"; otherwise, this node will not be returned-->
</isSupportThermalStreamData>
<isSupportPostUpdateFirmware>
<!--optional,xs:boolean,"true,false", whether it supports upgrading the firmware-->
</isSupportPostUpdateFirmware>
<isSupportPostConfigData>
<!--optional, xs:boolean,"true,false", whether it supports importing or exporting the configuration file-->
</isSupportPostConfigData>
<isSupportUserLock>
<!--optional, xs:boolean,"true,false", whether it supports locking user-->
</isSupportUserLock>
<isSupportModuleLock><!--optional, xs:boolean, whether it supports locking the module: "true,false"--></
isSupportModuleLock>
<isSupportSoundCfg><!--optional, xs:boolean--></isSupportSoundCfg>
<isSupportMetadata>
<!--optional, xs:boolean, if it is supported, return "true", otherwise, this node will not be returned-->
</isSupportMetadata>
<isSupportShutdown><!--optional, xs:boolean, whether it supports shutdown configuration--></
isSupportShutdown>
<supportSmartOverlapChannles opt="1"/><!--optional, xs:boolean, whether it supports stream configuration of
smart events. If this function is supported, this node and the corresponding channel ID will be returned; otherwise,
this node will not be returned-->
<isSupportConsumptionMode><!--optional, xs:boolean, whether it supports switching power consumption
mode:true (yes), this node is not returned (no). Related URI: /ISAPI/System/consumptionMode/capabilities?
format=json--></isSupportConsumptionMode>
<isSupportManualPowerConsumption><!--optional, xs:boolean, whether it supports control the power
consumption mode manually: true (yes), this node is not returned (no)--></isSupportManualPowerConsumption>
</SysCap>
<voicetalkNums><!--optional, xs:integer, the number of two-way audio channels--></voicetalkNums>
<isSupportSnapshot><!--optional, xs:boolean, whether it supports capture: "true, false"--></isSupportSnapshot>
<SecurityCap/><!--optional, security capability-->
<EventCap/><!--optional, event capability-->
<ITCCap><!--optional--></ITCCap>
<ImageCap/><!--optional, image capability-->
<RacmCap/><!--optional, storage capability-->
<PTZCtrlCap>
<isSupportPatrols><!--optional, xs:boolean--></isSupportPatrols>
</PTZCtrlCap>
<SmartCap/><!--optional, intelligent capability-->
<isSupportEhome><!--optional, xs:boolean--></isSupportEhome>
<isSupportStreamingEncrypt><!--optional, xs:boolean--></isSupportStreamingEncrypt>
188
Intelligent Security API (Facial) Developer Guide
<TestCap>
<isSupportEmailTest><!--optional, xs:boolean--></isSupportEmailTest>
</TestCap>
<ThermalCap/><!--optional, temperature measurement capability-->
<WLAlarmCap/><!--optional, wireless alarm capability-->
<SecurityCPCapabilities/><!--optional, security control panel capability-->
<isSupportGIS>
<!--optional, xs:boolean, whether it supports GIS capability-->
</isSupportGIS>
<isSupportCompass>
<!--optional, xs:boolean-->
</isSupportCompass>
<isSupportRoadInfoOverlays>
<!--optional, xs:boolean-->
</isSupportRoadInfoOverlays>
<isSupportFaceCaptureStatistics>
<!--optional, xs:boolean-->
</isSupportFaceCaptureStatistics>
<isSupportExternalDevice>
<!--optional, xs:boolean-->
</isSupportExternalDevice>
<isSupportElectronicsEnlarge>
<!--optional, xs:boolean, whether it supports digital zoom-->
</isSupportElectronicsEnlarge>
<isSupportRemoveStorage>
<!--optional, xs:boolean-->
</isSupportRemoveStorage>
<isSupportCloud>
<!--optional, xs:boolean-->
</isSupportCloud>
<isSupportRecordHost>
<!--optional, xs:boolean-->
</isSupportRecordHost>
<isSupportEagleEye>
<!--optional, xs:boolean, whether it supports PanoVu series camera-->
</isSupportEagleEye>
<isSupportPanorama>
<!--optional, xs:boolean, whether it supports panorama-->
</isSupportPanorama>
<isSupportFirmwareVersionInfo>
<!--optional, xs:boolean, whether it supports displaying firmware version information-->
</isSupportFirmwareVersionInfo>
<isSupportExternalWirelessServer>
<!--optional, xs: boolean-->
</isSupportExternalWirelessServer>
<isSupportSetupCalibration>
<!--optional, xs:boolean, whether it supports setting calibration-->
</isSupportSetupCalibration>
<isSupportGetmutexFuncErrMsg>
<!--optional, xs:boolean, whether it supports getting mutex information-->
</isSupportGetmutexFuncErrMsg>
<isSupportTokenAuthenticate><!--optional, xs:boolean--></isSupportTokenAuthenticate>
189
Intelligent Security API (Facial) Developer Guide
<isSupportStreamDualVCA><!--optional, xs:boolean--></isSupportStreamDualVCA>
<isSupportlaserSpotManual>
<!--optional, boolean, whether it supports laser spot configuration-->
</isSupportlaserSpotManual>
<isSupportRTMP><!--optional, xs:boolean--></isSupportRTMP>
<isSupportTraffic><!--optional, xs:boolean--></isSupportTraffic>
<isSupportLaserSpotAdjustment>
<!--optional, boolean, whether it supports adjusting laser spot size-->
</isSupportLaserSpotAdjustment>
<VideoIntercomCap/><!--optional, video intercom capability-->
<isSupportSafetyCabin>
<!--optional, xs:boolean-->
</isSupportSafetyCabin>
<isSupportPEA>
<!--optional, xs:boolean, whether it supports one-touch security control panel capability-->
</isSupportPEA>
<isSupportCurrentLock>
<!--optional, xs:boolean, whether it supports locking current configuration-->
</isSupportCurrentLock>
<isSupportGuardAgainstTheft>
<!--optional, xs:boolean, whether it supports device anti-theft configuration-->
</isSupportGuardAgainstTheft>
<isSupportPicInfoOverlap>
<!--optional, xs:boolean, whether it supports picture information overlay-->
</isSupportPicInfoOverlap>
<isSupportPlay>
<!--optional, xs: boolean, whether it supports live view: "true,false"-->
</isSupportPlay>
<isSupportPlayback>
<!--optional, xs: boolean, whether it supports playback: "true,false"-->
</isSupportPlayback>
<UHFRFIDReader>
<!--optional, supported capability of UHF RFID card reader-->
<isSupportBasicInformation>
<!--optional, xs:boolean, whether it supports basic parameters of UHF RFID card reader-->
</isSupportBasicInformation>
<isSupportHardDiskStorageTest>
<!--optional, xs:boolean, whether it supports hard disk storage test of UHF RFID card reader-->
</isSupportHardDiskStorageTest>
</UHFRFIDReader>
<isSupportIntelligentStructureAnalysis>
<!--optional, xs:boolean, whether it supports structured VCA-->
</isSupportIntelligentStructureAnalysis>
<isSupportIntelligentAnalysisEngines>
<!--optional, xs:boolean, whether it supports VCA engine configuration-->
</isSupportIntelligentAnalysisEngines>
<PreviewDisplayNum>
<!--optional, xs:integer, the number of live view windows, which is the number of simultaneous live view windows
controlled by the device. Limited by the performance of DeepinMind series network video recorder, currently only live
view of a network camera is supported, and playback is not supported-->
</PreviewDisplayNum>
<isSupportBoard opt="true,false">
190
Intelligent Security API (Facial) Developer Guide
191
Intelligent Security API (Facial) Developer Guide
</isSupportTime>
<isSupportTimeZone/>
<!--optional, xs:boolean, "true, false", whether it supports daylight saving time (DST) configuration-->
</isSupportTimeZone>
<isSupportMixedTargetDetection>
<!--optional, xs:boolean, "true, false", whether it supports multi-target-type detection-->
</isSupportMixedTargetDetection>
<isSupportFaceContrastMode>
<!--optional, xs:boolean, whether it supports face picture comparison mode-->
</isSupportFaceContrastMode>
<isSupportPictureCaptureComparision>
<!--optional, xs:boolean, whether it supports face picture N:1 comparison between face pictures captured by the
camera and imported face pictures-->
</isSupportPictureCaptureComparision>
<isSupportGPSCalibratation>
<!--optional, xs:boolean, whether it supports GPS calibration capability-->
</isSupportGPSCalibratation>
<isSupportChannelFullEventListCap>
<!--optional, xs:boolean, whether it supports getting event list capability of all channels-->
</isSupportChannelFullEventListCap>
<isSupportAUXInfoCap>
<!--optional, xs:boolean, whether it supports getting property capability of all channels-->
</isSupportAUXInfoCap>
<isSupportCalibrationFile>
<!--optional, xs:boolean, whether it supports importing calibration file-->
</isSupportCalibrationFile>
<isSupportDisplayTrajectory>
<!--optional, xs:boolean, whether it supports displaying trajectory-->
</isSupportDisplayTrajectory>
<maximumSuperPositionTime opt="5,10,20,30">
<!--dep,xs:integer, the maximum time of trajectory displaying,unit: second, it is valid only when displaying
trajectory is supported-->
</maximumSuperPositionTime>
<isSupportUnitConfig>
<!--optional, xs:boolean, whether it supports unit configuration-->
</isSupportUnitConfig>
<isSupportAutoMaintenance>
<!--optional, xs:boolean, whether it supports automatic maintenance. When this node exists and values "true", it
indicates support-->
</isSupportAutoMaintenance>
<isSupportGetLinkSocketIP>
<!--optional, xs: boolean, "true,false", whether it supports getting the SocketIP of current connection-->
</isSupportGetLinkSocketIP>
<isSupportIntelligentSearch>
<!--optional, xs:boolean, whether it supports intelligent search-->
</isSupportIntelligentSearch>
<IOTCap><!--optional, xs:boolean, IoT device access capability-->
<supportChannelNum>
<!--req, xs:integer, number of supported channels of IoT device-->
</supportChannelNum>
<startChannelNo>
<!--optional, xs:integer, initial channel ID, if this node is not inputted, it indicates that the initial channel ID is 1-->
192
Intelligent Security API (Facial) Developer Guide
</startChannelNo>
<isSupportlinkageChannelsSearch>
<!--optional, boolean, returns "true" if support, returns "false" if not support-->
</isSupportlinkageChannelsSearch>
</IOTCap>
<isSupportEncryption>
<!--optional, xs: boolean, stream encryption capability-->
</isSupportEncryption>
<AIDEventSupport opt="abandonedObject, pedestrian, congestion, roadBlock, construction, trafficAccident,
fogDetection, wrongDirection, illegalParking, SSharpDriving, lowSpeed, dragRacing">
<!--optional, xs:string, supported traffic incident type: "abandonedObject"-objects dropped down, "pedestrian"-
pedestrian, "congestion"-congestion, "roadBlock"-roadblock, "construction"-construction, "trafficAccident"-traffic
accident, "fogDetection"-fog, "wrongDirection"-wrong-way driving, "illegalParking"-illegal parking, "SSharpDriving"-
slalom driving, "lowSpeed"-driving in low speed, "dragRacing"-street racing-->
</AIDEventSupport>
<TFSEventSupport
opt="illegalParking ,wrongDirection,crossLane,laneChange,vehicleExist,turnRound,parallelParking,notKeepDistance,not
SlowZebraCrossing,overtakeRightSide,lowSpeed,dragRacing,changeLaneContinuously,SSharpDriving,largeVehicleOccup
yLine,jamCrossLine">
<!--optional, xs:string, supported enforcement event type: "illegalParking"-illegal parking, "wrongDirection"-wrong-
way driving, "crossLane"-driving on the lane line, "laneChange"-illegal lane change, "vehicleExist"-motor vehicle on
non-motor vehicle lane, "turnRound"-illegal U-turn, "parallelParking"-parallel parking, "notKeepDistance"-not keeping
vehicle distance, "notSlowZebraCrossing"-not slowing down at zebra corssing, "overtakeRightSide"-overtaking on the
right, "lowSpeed"-driving in low speed, "dragRacing"-street racing, "changeLaneContinuously"-continuous lane
change, "SSharpDriving"-slalom driving, "largeVehicleOccupyLine"-lane occupation by large-sized vehicle,
"jamCrossLine"-queue jumping-->
</TFSEventSupport>
<isVehicleStatisticsSupport>
<!--optional, xs: boolean, whether it supports setting parameters for traffic data collection-->
</isVehicleStatisticsSupport>
<isSupportIntersectionAnalysis>
<!--optional, xs: boolean, whether it supports intersection analysis-->
</isSupportIntersectionAnalysis>
<supportRemoteCtrl opt="up,down,left,right,enter,menu,num,power,esc,edit,F1,.prev,rec,play,stop,notSupport"/><!--
whether it supports remote control-->
<isSptDiagnosis>
<!--optional, xs:boolean, whether it supports device diagnosis: "true", "false"-->
</isSptDiagnosis>
<isSptSerialLogCfg>
<!--optional, xs:boolean, whether it supports configuring serial port log redirection: "true", "false"-->
</isSptSerialLogCfg>
<isSptFileExport>
<!--optional, xs:boolean, whether it supports exporting files from the device: "true", "false"-->
</isSptFileExport>
<isSptCertificationStandard>
<!--optional, xs:boolean, whether it supports configuring authentication standard for security control panel: "true",
"false"-->
</isSptCertificationStandard>
<isSptKeypadLock>
<!--optional, xs:boolean, whether it supports locking keypad: "true", "false"-->
</isSptKeypadLock>
<MixedTargetDetection><!--optional, whether the device supports recognizing specific target among mixed targets-->
193
Intelligent Security API (Facial) Developer Guide
194
Intelligent Security API (Facial) Developer Guide
isSupportHDBadBlock>
<isSupportSevereHDFailure><!--optional, xs:boolean, whether it supports HDD severe fault detection--></
isSupportSevereHDFailure>
</SHMCap>
<isSupportBVCorrect><!--optional, xs:boolean, whether it supports configuring camera correction parameters--></
isSupportBVCorrect>
<guideEventSupport opt="linkageCapture">
<!--optional,xs:string, events which support quick setup by instruction, "linkageCapture"-capture by linkage-->
</guideEventSupport>
<isSupportAutoSwitch><!--optional, xs:boolean, whether it supports auto switch--> true</isSupportAutoSwitch>
<isSupportDataPrealarm><!--optional,xs:boolean, whether it supports traffic pre-alarm event--></
isSupportDataPrealarm>
<supportGISEvent opt="AID,TPS,ANPR,mixedTargetDetection">
<!--optional, xs:string, event types that support GIS information access: AID (corresponding SDK event:
COMM_ALARM_AID_V41), TPS (corresponding SDK event: COMM_ALARM_TPS_REAL_TIME), ANPR (corresponding
SDK event: COMM_ITS_PLATE_RESULT), mixedTargetDetection-mixed targets detection-->
</supportGISEvent>
<isSupportIntelligentMode><!--optional, xs:boolean, whether it supports intelligent scene switch (related URI:/ISAPI/
System/IntelligentSceneSwitch?format=json)--></isSupportIntelligentMode>
<isSupportCertificateCaptureEvent><!--optional, xs:boolean, whether it supports certificate capture and comparison
events: true-yes. If this function is not supported, this node will not be returned--></
isSupportCertificateCaptureEvent>
<isSupportAlgorithmsInfo><!--optional, xs:boolean, whether it supports getting the algorithm library version
information: true-yes. If this function is not supported, this node will not be returned--></isSupportAlgorithmsInfo>
<isSupportVibrationDetection><!--optional, xs:boolean, whether it supports vibration detection--></
isSupportVibrationDetection>
<isSupportFaceTemperatureMeasurementEvent><!--optional, xs:boolean, whether it supports uploading face
thermography events (eventType: "FaceTemperatureMeasurementEvent")--></
isSupportFaceTemperatureMeasurementEvent>
<isSupportQRCodeEvent><!--optional, xs:boolean, whether it supports uploading QR code events (eventType:
"QRCodeEvent")--></isSupportQRCodeEvent>
<isSupportPersonArmingTrack><!--optional, xs:boolean, whether device supports person arming (related URI: /ISAPI/
Intelligent/channels/<ID>/personArmingTrack/capabilities?format=json)--></isSupportPersonArmingTrack>
<isSupportManualPersonArmingTrack><!--optional, xs:boolean, whether device supports manual person arming
(related URI: /ISAPI/Intelligent/channels/<ID>/manualPersonArmingTrack?format=json)--></
isSupportManualPersonArmingTrack>
<isSupportGPSCalibrationMode><!--optional, xs:boolean, whether device supports GPS calibration (related URI: /
ISAPI/System/GPSCalibration/channels/<ID>/mode?format=json)--></isSupportGPSCalibrationMode>
<isSupportGPSVerification><!--optional, xs:boolean, whether device supports GPS verification (related URI: /ISAPI/
System/GPSVerification/channels/<ID>/points?format=json)--></isSupportGPSVerification>
<isSupportHBDLib><!--optional, xs:boolean, whether device supports human body picture library (related URI: /ISAPI/
Intelligent/HBDLib/capabilities?format=json)--></isSupportHBDLib>
<isSupportFireEscapeDetection><!--optional, xs:boolean, whether the device supports fire engine access detection
(related URI: /ISAPI/Intelligent/channels/<ID>/fireEscapeDetection/capabilities?format=json)--></
isSupportFireEscapeDetection>
<isSupportTakingElevatorDetection><!--optional, xs:boolean, whether the device supports elevator detection
(related URI: /ISAPI/Intelligent/channels/<ID>/takingElevatorDetection/capabilities?format=json)--></
isSupportTakingElevatorDetection>
<isSupportSSDFileSystemUpgrade><!--optional, xs:boolean, whether the device supports SSD file system upgrade
(related URI: /ISAPI/System/SSDFileSystem/upgrade?format=json)--></isSupportSSDFileSystemUpgrade>
<isSupportSSDFileSystemFormat><!--optional, xs:boolean, whether the device supports SSD file system formatting
(related URI: /ISAPI/System/SSDFileSystem/format?format=json)--></isSupportSSDFileSystemFormat>
195
Intelligent Security API (Facial) Developer Guide
7.50 XML_EventCap
EventCap capability message in XML format
<EventCap version="2.0" xmlns="http://www.isapi.org/ver20/XMLSchema">
<isSupportHDFull><!--optional, xs:boolean, "true"-support, "false"-not support--></isSupportHDFull>
<isSupportHDError><!--optional, xs:boolean, "true"-support, "false"-not support--></isSupportHDError>
<isSupportNicBroken><!--optional, xs:boolean, "true"-support, "false"-not support--></isSupportNicBroken>
<isSupportIpConflict><!--optional, xs:boolean, "true"-support, "false"-not support--></isSupportIpConflict>
<isSupportIllAccess><!--optional, xs:boolean, "true"-support, "false"-not support--></isSupportIllAccess>
<isSupportViException><!--optional, xs:boolean, "true"-support, "false"-not support--></isSupportViException>
<isSupportViMismatch><!--optional, xs:boolean, "true"-support, "false"-not support--></isSupportViMismatch>
<isSupportRecordException><!--optional, xs:boolean, "true"-support, "false"-not support--></
isSupportRecordException>
<isSupportTriggerFocus><!--optional, xs:boolean, "true"-support, "false"-not support--></isSupportTriggerFocus>
<isSupportMotionDetection><!--optional, xs:boolean, "true"-support, "false"-not support--></
isSupportMotionDetection>
<isSupportVideoLoss><!--optional, xs:boolean, "true"-support, "false"-not support--></isSupportVideoLoss>
<isSupportTamperDetection><!--optional, xs:boolean, "true"-support, "false"-not support--></
isSupportTamperDetection>
<isSupportStudentsStoodUp><!--optional, xs:boolean, "true"-support, "false"-not support--></
isSupportStudentsStoodUp>
<isSupportFramesPeopleCounting><!--optional, xs:boolean, "true"-support, "false"-not support--></
isSupportFramesPeopleCounting>
<isSupportRaidException><!--optional, xs:boolean, "true"-support, "false"-not support--></isSupportRaidException>
<isSupportSpareException><!--optional, xs:boolean, "true"-support, "false"-not support--></
isSupportSpareException>
<isSupportPoePowerException><!--optional, xs:boolean, "true"-support, "false"-not support--></
isSupportPoePowerException>
<isSupportRegionEntrance><!--optional, xs:boolean, "true"-support, "false"-not support--></
isSupportRegionEntrance>
<isSupportRegionExiting><!--optional, xs:boolean, "true"-support, "false"-not support--></isSupportRegionExiting>
<isSupportLoitering><!--optional, xs:boolean, "true"-support, "false"-not support--></isSupportLoitering>
<isSupportGroup><!--optional, xs:boolean, "true"-support, "false"-not support--></isSupportGroup>
<isSupportRapidMove><!--optional, xs:boolean, "true"-support, "false"-not support--></isSupportRapidMove>
<isSupportFireDetection><!--optional, xs:boolean, "true"-support, "false"-not support--></isSupportFireDetection>
<isSupportillegalParking><!--optional, xs:boolean, whether it supports illegal parking detection: "true"-support,
"false"-not support--></isSupportillegalParking>
196
Intelligent Security API (Facial) Developer Guide
197
Intelligent Security API (Facial) Developer Guide
7.51 XML_EventNotificationAlert_AlarmEventInfo
EventNotificationAlert message with alarm/event information in XML format.
<EventNotificationAlert version="2.0" xmlns="http://www.isapi.org/ver20/XMLSchema">
<ipAddress><!--dep, xs:string, device IPv4 address--></ipAddress>
<ipv6Address><!--dep, xs:string, device IPv6 address--></ipv6Address>
<portNo><!--opt, xs:integer, device port number--></portNo>
<protocol><!--opt, xs:string, protocol type for uploading alarm/event information, "HTTP,HTTPS"--></protocol>
<macAddress><!--opt, xs:string, MAC address--></macAddress>
<channelID><!--dep, xs:string, device channel No., starts from 1--></channelID>
<dateTime><!--req, alarm/event triggered or occurred time, format: 2017-07-19T10:06:41+08:00--></dateTime>
<activePostCount><!--req, xs:integer, alarm/event frequency, starts from 1--></activePostCount>
<eventType><!--req, xs:string, alarm/event type, "peopleCounting, ANPR,..."--></eventType>
<eventState>
<!--req, xs:string, durative alarm/event status: "active"-valid, "inactive"-invalid, e.g., when a moving target is
detected,
the alarm/event information will be uploaded continuously unit the status is set to "inactive"-->
</eventState>
<eventDescription><!--req, xs:string, alarm/event description--></eventDescription>
<...><!--opt, for different alarm/event types, the nodes are different, see the message examples in different
applications--></...>
</EventNotificationAlert>
7.52 XML_EventNotificationAlert_HeartbeatInfo
EventNotificationAlert message with heartbeat information (when there is no alarm is triggered) in
XML format
198
Intelligent Security API (Facial) Developer Guide
Remarks
• For network camera or network speed dome with the version 5.5.0 and lower, the heartbeat
frequency is 300 ms per heartbeat.
• For network camera or network speed dome with the version 5.5.0 and higher, the heartbeat
frequency is 10 s per heartbeat. If no heartbeat received for continuous 30 s, it indicates that the
heartbeat is timed out.
Example
Message Example of Heartbeat
<EventNotificationAlert version="2.0" xmlns="http://www.isapi.com/ver20/XMLSchema">
<ipAddress>10.17.133.46</ipAddress>
<portNo>80</portNo>
<protocol>HTTP</protocol>
<macAddress>44:19:b6:6d:24:85</macAddress>
<channelID>1</channelID>
<dateTime>2017-05-04T11:20:02+08:00</dateTime>
<activePostCount>0</activePostCount>
<eventType>videoloss</eventType>
<eventState>inactive</eventState>
<eventDescription>videoloss alarm</eventDescription>
</EventNotificationAlert>
7.53 XML_EventNotificationAlert_SubscriptionHeartbeat
Heartbeat information message returned when subscribing alarm/event, and it is in XML format.
<EventNotificationAlert version="2.0" xmlns="http://www.isapi.com/ver20/XMLSchema">
<ipAddress>10.17.133.46</ipAddress>
<portNo>80</portNo>
<protocol>HTTP</protocol>
<macAddress>44:19:b6:6d:24:85</macAddress>
<channelID>1</channelID>
<dateTime>2017-05-04T11:20:02+08:00</dateTime>
199
Intelligent Security API (Facial) Developer Guide
<activePostCount>0</activePostCount>
<eventType>heartBeat</eventType>
<eventState>active</eventState>
<eventDescription>heartBeat</eventDescription>
</EventNotificationAlert>
See Also
XML_EventNotificationAlert_AlarmEventInfo
7.54 XML_EventTrigger
Linkage parameter message in XML format
<EventTrigger version="2.0" xmlns="http://www.isapi.org/ver20/XMLSchema">
<id><!--required, xs:string, ID--></id>
<eventType>
<!--required, xs:string, see details in the "Remarks" below-->
</eventType>
<eventDescription><!--optional, xs:string--></eventDescription>
<inputIOPortID><!--dependent, xs:string, alarm input ID--></inputIOPortID>
<dynInputIOPortID><!--dependent, xs:string, dynamic alarm input ID--></dynInputPortID>
<videoInputChannelID>
<!--dependent, xs:string, video input channel ID, it is valid when <eventType> is "VMD, videoloss, tamperdetection,
regionEntrance, regionExiting, loitering, group, rapidMove, parking, unattendedBaggage, attendedBaggage"-->
</videoInputChannelID>
<dynVideoInputChannelID><!--dependent, xs:string, dynamic video input channel ID--></dynVideoInputChannelID>
<intervalBetweenEvents><!--optional, xs:integer, event time interval, unit: second--></intervalBetweenEvents>
<WLSensorID><!--dependent, xs:string, ID--></WLSensorID>
<EventTriggerNotificationList/><!--optional, alarm/event linkage actions, see details in the message of
XML_EventTriggerNotificationList-->
</EventTrigger>
Remarks
The node <eventType> can be the following values: IO, VMD, videoloss, raidfailure,
recordingfailure, badvideo, POS, analytics, fanfailure, overheat, tamperdetection, diskfull, diskerror,
nicbroken, ipconflict, illaccess, videomismatch, resolutionmismatch, radifailure, PIR, WLSensor,
spareException, poePowerException, heatmap, counting, linedetection, fielddetection,
regionEntrance, regionExiting, loitering, group,rapidMove, parking, unattendedBaggage,
attendedBaggage, HUMANATTRIBUTE, blackList, whitelist, peopleDetection, allVehicleList,
otherVehicleList, vehicledetection, storageDetection, shipsDetection, humanAttribute,
faceContrast, blackListFaceContrast, whiteListFaceContrast, faceSnap, faceLib,
personDensityDetection, personQueueDetecton, mixedTargetDetection, HVTVehicleDetection,
illegalParking, pedestrian, trafficAccident, construction, roadblock, abandonedObject,
parallelParking, parkingState, congestion, intersectionAnalysis, heatMap, thermometry,
shipsFlowDetection, dredgerDetection, reverseEntrance, luma, highHDTemperature,
lowHDTemperature, hdImpact, hdBadBlock, SevereHDFailure, safetyHelmetDetection,
vibrationDetection, HBDLib,TMPA,faceThermometry,noMaskDetection
200
Intelligent Security API (Facial) Developer Guide
See Also
XML_EventTriggerNotificationList
7.55 XML_EventTriggerCapType
XML message about capability of alarm linkage action types
<EventTriggerCapType version="2.0" xmlns="http://www.isapi.org/ver20/XMLSchema">
<isSupportCenter><!--optional, xs:boolean--></isSupportCenter>
<isSupportRecord><!--optional, xs:boolean--></isSupportRecord>
<isSupportMonitorAlarm><!--optional, xs:boolean--></isSupportMonitorAlarm>
<isSupportBeep><!--optional, xs: boolean, whether it supports audible warning--></isSupportBeep>
<isSupportIO><!--optional, xs:boolean--></isSupportIO>
<isSupportFTP><!--optional, xs:boolean--></isSupportFTP>
<isSupportEmail><!--optional, xs:boolean--></isSupEmail>
<isSupportLightAudioAlarm><!--optional, xs:boolean--></isSupportLightAudioAlarm>
<isSupportFocus><!--optional, xs:boolean--></isSupportFocus>
<isSupportPTZ><!--optional, xs:boolean--></isSupportPTZ>
<maxPresetActionNum>
<!--dependent, xs:integer, it is valid only when <isSupportPTZ> is "true"-->
</maxPresetActionNum>
<maxPatrolActionNum>
<!--dependent, xs:integer, it is valid only when <isSupportPTZ> is "true"-->
</maxPatrolActionNum>
<maxPatternActionNum>
<!--dependent, xs:integer, it is valid only when <isSupportPTZ> is "true"-->
</maxPatternActionNum>
<isSupportTrack><!--optional, xs:boolean, whether it supports PTZ linked tracking--></isSupportTrack>
<isSupportWhiteLight>
<!--optional, xs: boolean, whether it supports supplement light alarm linkage-->
</isSupportWhiteLight>
<isSupportCloud><!--optional, xs:boolean, whether it supports upload to the cloud--></isSupportCloud>
<targetNotificationInterval max="1000" min="0" default="30"><!--xs:integer, range: [0, 1000], the default value is 30,
unit: seconds, this node is valid for <MotionDetectionTriggerCap> and <TamperDetectionTriggerCap> and this node is
valid when <isSupportPTZ> is "true"--></targetNotificationInterval>
<direction opt="both,forward,reverse"><!--xs:string, triggering direction, this node is valid for the node
<BlackListTriggerCap>, <WhiteListTriggerCap>, and <VehicleDetectionTriggerCap>--></direction>
<presetDurationTime min="" max=""><!--dependent, xs:integer--></presetDurationTime>
<isSupportSMS><!--optional, xs:boolean, whether to support SMS (Short Message Service)--></isSupportSMS>
<maxCellphoneNum><!--dependent, xs:integer, the maximum number of cellphones, which is node is valid only
when <isSupportSMS> is "true"--></maxCellphoneNum>
<isSupportOSD><!--optional, xs:boolean--></isSupportOSD>
<isSupportAudio><!--optional, xs:boolean, whether it supports setting audio alarm independently. If this node is set
to "true", audio alarm and buzzer alarm can be linked separately, and the linage method is audio--></isSupportAudio>
<AudioAction><!--dependent, this node is valid when <isSupportBeep> is "true" or <isSupportAudio> is "true"-->
<audioTypeList>
<audioType><!--list-->
<audioID><!--required, xs:integer, alarm sound type--></audioID>
<audioDescription><!--required, xs:string, alarm sound description, it should correspond to the alarm sound type--
201
Intelligent Security API (Facial) Developer Guide
></audioDescription>
</audioType>
</audioTypeList>
<alarmTimes opt="0,1,2,3,4,5,6,7,8,9,255"><!--required, xs:integer, alarm times, it is between 0 and 9, 255-
continuous alarm, unit: time--></alarmTimes>
</AudioAction>
<isSupportSMS><!--optional, xs:boolean --></isSupportSMS>
<maxCellphoneNum><!--dependent, if <isSupportSMS> is true, xs:integer--></maxCellphoneNum>
<isNotSupportCenterModify><!--optional, xs:boolean, whether editing configuration parameters of the surveillance
center is not supported: "true"-yes (configuration parameters of the surveillance center cannot be edited), "false" or
this node is not returned-no (configuration parameters of the surveillance center can be edited)--></
isNotSupportCenterModify>
<isSupportMessageConfig>
<!--optional, xs:boolean, whether it supports SMS configuration, if supports, set cellphoneNumber to null-->
</isSupportMessageConfig>
<isSupportAnalogOutput><!--optional, xs:boolean, whether it supports IO output of linkage analog channel--></
isSupportAnalogOutput>
<isSupportIOOutputUnify><!--optional, xs:boolean, whether it supports configuration of IO output--></
isSupportIOOutputUnify>
<isSupportFaceContrast><!--optional, xs:boolean, whether it supports face picture comparison linkage--></
isSupportFaceContrast>
</EventTriggerCapType>
7.56 XML_EventTriggerList
EventTriggerList message in XML format
<EventTriggerList version="2.0" xmlns="http://www.isapi.org/ver20/XMLSchema">
<EventTrigger/><!--opt, see details in the message of XML_EventTrigger-->
</EventTriggerList>
See Also
XML_EventTrigger
Example
XML_EventTriggerList Message Example of Linkage Configurations of Multiple Alarms
<EventTriggerList version="2.0" xmlns="http://www.hikvision.com/ver20/XMLSchema">
<EventTrigger>
<id>VMD-1</id>
<eventType>VMD</eventType>
<eventDescription>VMD Event trigger Information</eventDescription>
<videoInputChannelID>1</videoInputChannelID>
<dynVideoInputChannelID>1</dynVideoInputChannelID>
<EventTriggerNotificationList></EventTriggerNotificationList>
</EventTrigger>
<EventTrigger>
<id>tamper-1</id>
<eventType>tamperdetection</eventType>
<eventDescription>shelteralarm Event trigger Information</eventDescription>
202
Intelligent Security API (Facial) Developer Guide
<videoInputChannelID>1</videoInputChannelID>
<dynVideoInputChannelID>1</dynVideoInputChannelID>
<EventTriggerNotificationList></EventTriggerNotificationList>
</EventTrigger>
<EventTrigger>
<id>diskfull</id>
<eventType>diskfull</eventType>
<eventDescription>exception Information</eventDescription>
<videoInputChannelID>1</videoInputChannelID>
<dynVideoInputChannelID>1</dynVideoInputChannelID>
<EventTriggerNotificationList></EventTriggerNotificationList>
</EventTrigger>
<EventTrigger>
<id>diskerror</id>
<eventType>diskerror</eventType>
<eventDescription>exception Information</eventDescription>
<videoInputChannelID>1</videoInputChannelID>
<dynVideoInputChannelID>1</dynVideoInputChannelID>
<EventTriggerNotificationList>
<EventTriggerNotification>
<id>beep</id>
<notificationMethod>beep</notificationMethod>
<notificationRecurrence>beginning</notificationRecurrence>
</EventTriggerNotification>
</EventTriggerNotificationList>
</EventTrigger>
<EventTrigger>
<id>nicbroken</id>
<eventType>nicbroken</eventType>
<eventDescription>exception Information</eventDescription>
<videoInputChannelID>1</videoInputChannelID>
<dynVideoInputChannelID>1</dynVideoInputChannelID>
<EventTriggerNotificationList></EventTriggerNotificationList>
</EventTrigger>
<EventTrigger>
<id>ipconflict</id>
<eventType>ipconflict</eventType>
<eventDescription>exception Information</eventDescription>
<videoInputChannelID>1</videoInputChannelID>
<dynVideoInputChannelID>1</dynVideoInputChannelID>
<EventTriggerNotificationList></EventTriggerNotificationList>
</EventTrigger>
<EventTrigger>
<id>illaccess</id>
<eventType>illaccess</eventType>
<eventDescription>exception Information</eventDescription>
<videoInputChannelID>1</videoInputChannelID>
<dynVideoInputChannelID>1</dynVideoInputChannelID>
<EventTriggerNotificationList></EventTriggerNotificationList>
</EventTrigger>
<EventTrigger>
<id>videomismatch</id>
203
Intelligent Security API (Facial) Developer Guide
<eventType>videomismatch</eventType>
<eventDescription>exception Information</eventDescription>
<videoInputChannelID>1</videoInputChannelID>
<dynVideoInputChannelID>1</dynVideoInputChannelID>
<EventTriggerNotificationList>
<EventTriggerNotification>
<id>beep</id>
<notificationMethod>beep</notificationMethod>
<notificationRecurrence>beginning</notificationRecurrence>
</EventTriggerNotification>
</EventTriggerNotificationList>
</EventTrigger>
<EventTrigger>
<id>badvideo</id>
<eventType>badvideo</eventType>
<eventDescription>exception Information</eventDescription>
<videoInputChannelID>1</videoInputChannelID>
<dynVideoInputChannelID>1</dynVideoInputChannelID>
<EventTriggerNotificationList></EventTriggerNotificationList>
</EventTrigger>
<EventTrigger>
<id>storageDetection-1</id>
<eventType>storageDetection</eventType>
<eventDescription>storageDetection Event trigger Information</eventDescription>
<videoInputChannelID>1</videoInputChannelID>
<dynVideoInputChannelID>1</dynVideoInputChannelID>
<EventTriggerNotificationList></EventTriggerNotificationList>
</EventTrigger>
<EventTrigger>
<id>illegalParking-1</id>
<eventType>illegalParking</eventType>
<eventDescription>illegalParking Event trigger Information</eventDescription>
<videoInputChannelID>1</videoInputChannelID>
<dynVideoInputChannelID>1</dynVideoInputChannelID>
<EventTriggerNotificationList>
<EventTriggerNotification>
<id>center</id>
<notificationMethod>center</notificationMethod>
<notificationRecurrence>beginning</notificationRecurrence>
</EventTriggerNotification>
</EventTriggerNotificationList>
</EventTrigger>
<EventTrigger>
<id>pedestrian-1</id>
<eventType>pedestrian</eventType>
<eventDescription>pedestrian Event trigger Information</eventDescription>
<videoInputChannelID>1</videoInputChannelID>
<dynVideoInputChannelID>1</dynVideoInputChannelID>
<EventTriggerNotificationList>
<EventTriggerNotification>
<id>center</id>
<notificationMethod>center</notificationMethod>
204
Intelligent Security API (Facial) Developer Guide
<notificationRecurrence>beginning</notificationRecurrence>
</EventTriggerNotification>
</EventTriggerNotificationList>
</EventTrigger>
<EventTrigger>
<id>trafficAccident-1</id>
<eventType>trafficAccident</eventType>
<eventDescription>trafficAccident Event trigger Information</eventDescription>
<videoInputChannelID>1</videoInputChannelID>
<dynVideoInputChannelID>1</dynVideoInputChannelID>
<EventTriggerNotificationList>
<EventTriggerNotification>
<id>center</id>
<notificationMethod>center</notificationMethod>
<notificationRecurrence>beginning</notificationRecurrence>
</EventTriggerNotification>
</EventTriggerNotificationList>
</EventTrigger>
<EventTrigger>
<id>construction-1</id>
<eventType>construction</eventType>
<eventDescription>construction Event trigger Information</eventDescription>
<videoInputChannelID>1</videoInputChannelID>
<dynVideoInputChannelID>1</dynVideoInputChannelID>
<EventTriggerNotificationList>
<EventTriggerNotification>
<id>center</id>
<notificationMethod>center</notificationMethod>
<notificationRecurrence>beginning</notificationRecurrence>
</EventTriggerNotification>
</EventTriggerNotificationList>
</EventTrigger>
<EventTrigger>
<id>roadBlock-1</id>
<eventType>roadBlock</eventType>
<eventDescription>roadBlock Event trigger Information</eventDescription>
<videoInputChannelID>1</videoInputChannelID>
<dynVideoInputChannelID>1</dynVideoInputChannelID>
<EventTriggerNotificationList>
<EventTriggerNotification>
<id>center</id>
<notificationMethod>center</notificationMethod>
<notificationRecurrence>beginning</notificationRecurrence>
</EventTriggerNotification>
</EventTriggerNotificationList>
</EventTrigger>
<EventTrigger>
<id>abandonedObject-1</id>
<eventType>abandonedObject</eventType>
<eventDescription>abandonedObject Event trigger Information</eventDescription>
<videoInputChannelID>1</videoInputChannelID>
<dynVideoInputChannelID>1</dynVideoInputChannelID>
205
Intelligent Security API (Facial) Developer Guide
<EventTriggerNotificationList>
<EventTriggerNotification>
<id>center</id>
<notificationMethod>center</notificationMethod>
<notificationRecurrence>beginning</notificationRecurrence>
</EventTriggerNotification>
</EventTriggerNotificationList>
</EventTrigger>
<EventTrigger>
<id>parallelParking-1</id>
<eventType>parallelParking</eventType>
<eventDescription>parallelParking Event trigger Information</eventDescription>
<videoInputChannelID>1</videoInputChannelID>
<dynVideoInputChannelID>1</dynVideoInputChannelID>
<EventTriggerNotificationList>
<EventTriggerNotification>
<id>center</id>
<notificationMethod>center</notificationMethod>
<notificationRecurrence>beginning</notificationRecurrence>
</EventTriggerNotification>
</EventTriggerNotificationList>
</EventTrigger>
<EventTrigger>
<id>trafficJam-1</id>
<eventType>trafficJam</eventType>
<eventDescription>trafficJam Event trigger Information</eventDescription>
<videoInputChannelID>1</videoInputChannelID>
<dynVideoInputChannelID>1</dynVideoInputChannelID>
<EventTriggerNotificationList>
<EventTriggerNotification>
<id>center</id>
<notificationMethod>center</notificationMethod>
<notificationRecurrence>beginning</notificationRecurrence>
</EventTriggerNotification>
</EventTriggerNotificationList>
</EventTrigger>
</EventTriggerList>
7.57 XML_EventTriggerNotification
Event linkage notification message in XML format
<EventTriggerNotification><!--opt-->
<id><!--required, xs:string, device ID--></id>
<notificationMethod>
<!--required, xs:string, linkage actions, opt="email,IM,IO,syslog,HTTP,FTP,beep,ptz,record, monitorAlarm, center,
LightAudioAlarm,focus,trace,cloud,SMS,whiteLight,audio,whiteLight,faceContrast"-->
</notificationMethod>
<notificationRecurrence>
<!--optional, xs:string, "beginning,beginningandend,recurring"-->
206
Intelligent Security API (Facial) Developer Guide
</notificationRecurrence>
<notificationInterval><!--dependent, xs:integer, unit: millisecond--></notificationInterval>
<outputIOPortID><!--dependent, xs:string, video output No., it is required only when notificationMethod is "IO"--></
outputIOPortID>
<dynOutputIOPortID><!--dependent, xs:string, dynamic video output No., it is required only when
notificationMethod is "IO"--></dynOutputIOPortID>
<videoInputID><!--dependent, xs:string, video input No., it is required only when notificationMethod is "record"--></
videoInputID>
<dynVideoInputID><!--dependent, xs:string, dynamic video input No., it is required only when notificationMethod is
"record"--></dynVideoInputID>
<ptzAction><!--dependent, it is required only when notificationMethod is "ptz"-->
<ptzChannelID><!--required, xs:string, PTZ channel ID--></ptzChannelID>
<actionName><!--required, xs:string, PTZ control type: "preset", "pattern", "patrol"--></actionName>
<actionNum><!--dependent, xs:integer></actionNum>
</ptzAction>
<WhiteLightAction><!--dependent, white light linkage parameters, this node is valid when notificationMethod is
"whiteLight"-->
<whiteLightDurationTime><!--required, xs:integer, white light flashing duration, it is between 1 and 60, unit:
second--></whiteLightDurationTime>
</WhiteLightAction>
<cellphoneNumber><!--dependent, xs:string, min="0" max="11",cellphone number--></cellphoneNumber-->
</EventTriggerNotification>
7.58 XML_EventTriggerNotificationList
EventTriggerNotificationList message in XML format
<EventTriggerNotificationList version="2.0" xmlns="http://www.isapi.org/ver20/XMLSchema">
<EventTriggerNotification/><!--opt, see details in the message of XML_EventTriggerNotification-->
</EventTriggerNotificationList>
See Also
XML_EventTriggerNotification
7.59 XML_EventTriggersCap
XML message about linkage capabilities of different alarm categories
<EventTriggersCap version="2.0" xmlns="http://www.isapi.org/ver20/XMLSchema">
<DiskfullTriggerCap><!--optional, xs: EventTriggerCapType--></DiskfullTriggerCap>
<DiskerrorTriggerCap><!--optional, xs: EventTriggerCapType--></DiskerrorTriggerCap>
<NicbrokenTriggerCap><!--optional, xs: EventTriggerCapType--></NicbrokenTriggerCap>
<IpconflictTriggerCap><!--optional, xs: EventTriggerCapType--></IpconflictTriggerCap>
<IllaccesTriggerCap><!--optional, xs: EventTriggerCapType--></IllaccesTriggerCap>
<BadvideoTriggerCap><!--optional, xs: EventTriggerCapType--></BadvideoTriggerCap>
<VideomismatchTriggerCap><!--optional, xs: EventTriggerCapType--></VideomismatchTriggerCap>
<IOTriggerCap><!--optional, xs: EventTriggerCapType--></IOTriggerCap>
<LineDetectTriggerCap><!--optional, xs: EventTriggerCapType--></LineDetectTriggerCap>
207
Intelligent Security API (Facial) Developer Guide
208
Intelligent Security API (Facial) Developer Guide
<isSupportAudioAction>
<!--dependent, xs: boolean, see details in EventTriggerCapType, it is valid when isSupportBeep is "true"-->
</isSupportAudioAction>
<HFPDTriggerCap><!--optional, xs: EventTriggerCapType--></HFPDTriggerCap>
<MixedTargetDetectionCap><!--optional, xs: EventTriggerCapType--></MixedTargetDetectionCap>
<HVTVehicleDetectionTriggerCap><!--optional, xs: EventTriggerCapType--></HVTVehicleDetectionTriggerCap>
<VCATriggerCap><!--optional, xs: EventTriggerCapType--></VCATriggerCap>
<PIRCap><!--optional, xs: EventTriggerCapType--></PIRCap>
<IllegalParkingTriggerCap><!--optional, xs: EventTriggerCapType, whether it supports illegal parking detection--></
IllegalParkingTriggerCap>
<PedestrianTriggerCap><!--optional, xs: EventTriggerCapType, whether it supports pedestrian detection--></
PedestrianTriggerCap>
<TrafficAccidentTriggerCap><!--optional, xs: EventTriggerCapType, whether it supports traffic accident detection--></
TrafficAccidentTriggerCap>
<ConstructionTriggerCap><!--optional, xs: EventTriggerCapType, whether it supports construction detection--></
ConstructionTriggerCap>
<RoadBlockTriggerCap><!--optional, xs: EventTriggerCapType, whether it supports roadblock detection--></
RoadBlockTriggerCap>
<AbandonedObjectTriggerCap><!--optional, xs: EventTriggerCapType, whether it supports objects dropped down
detection--></AbandonedObjectTriggerCap>
<ParallelParkingTriggerCap><!--optional, xs: EventTriggerCapType, whether it supports parallel parking detection--></
ParallelParkingTriggerCap>
<ParkingStateTriggerCap><!--optional, xs: EventTriggerCapType, whether it supports parking space status detection,
currently this node is not supported--></ParkingStateTriggerCap>
<CongestionTriggerCap><!--optional, xs: EventTriggerCapType, whether it supports congestion detection--></
CongestionTriggerCap>
<IntersectionAnalysisCap><!--optional, xs: EventTriggerCapType, whether it supports intersection analysis--></
IntersectionAnalysisCap>
<ShipsFlowDetectionTriggerCap><!--optional,xs:EventTriggerCapType, ship flow detection--></
ShipsFlowDetectionTriggerCap>
<dredgerDetectionTriggerCap><!--optional,xs:EventTriggerCapType, dredger detection--></
dredgerDetectionTriggerCap>
<voltageInstableTriggerCap><!--optional,xs:EventTriggerCapType, supply voltage exception--></
voltageInstableTriggerCap>
<HighHDTemperatureTriggerCap><!--optional, xs:EventTriggerCapType, HDD high temperature detection--></
HighHDTemperatureTriggerCap>
<LowHDTemperatureTriggerCap><!--optional, xs:EventTriggerCapType, HDD low temperature detection--></
LowHDTemperatureTriggerCap>
<HDImpactTriggerCap><!--optional, xs:EventTriggerCapType, HDD impact detection--></HDImpactTriggerCap>
<HDBadBlockTriggerCap><!--optional, xs:EventTriggerCapType, HDD bad sector detection--></
HDBadBlockTriggerCap>
<SevereHDFailureTriggerCap><!--optional, xs:EventTriggerCapType, HDD severe fault detection--></
SevereHDFailureTriggerCap>
<HUMANATTRIBUTECap><!--optional, xs:EventTriggerCapType--></HUMANATTRIBUTECap>
<HumanAttributeTriggerCap><!--optional, xs:EventTriggerCapType, human body attribute--></
HumanAttributeTriggerCap>
<BlackListFaceContrastTriggerCap><!--opt, xs:EventTriggerCapType, alarm linkage capability of blacklist face
comparison--></BlackListFaceContrastTriggerCap>
<FaceLibTriggerCap><!--optional, xs:EventTriggerCapType--></FaceLibTriggerCap>
<SafetyHelmetDetectionTriggerCap><!--optional, xs:EventTriggerCapType, alarm linkage capability of hard hat
detection--></SafetyHelmetDetectionTriggerCap>
<VibrationDetectionTriggerCap><!--optional, xs:EventTriggerCapType, alarm linkage capability of vibration detection--
209
Intelligent Security API (Facial) Developer Guide
></VibrationDetectionTriggerCap>
<RadarLineDetectionTriggerCap><!--optional, xs:EventTriggerCapType, alarm linkage capability of radar line crossing
detection--></RadarLineDetectionTriggerCap>
<RadarFieldDetectionTriggerCap><!--optional, xs:EventTriggerCapType, alarm linkage capability of radar intrusion
detection--></RadarFieldDetectionTriggerCap>
<HBDLibTriggerCap><!--optional, xs:EventTriggerCapType, alarm linkage capability of human body picture library--></
HBDLibTriggerCap>
<FaceThermometryCap><!--optional, xs:EventTriggerCapType--></FaceThermometryCap>
<NoMaskDetectionTriggerCap><!--optional, xs:EventTriggerCapType, alarm linkage capability of no wearing mask
detection--></NoMaskDetectionTriggerCap>
<TMPATriggerCap><!--optional, xs:EventTriggerCapType, alarm linkage capability of temperature measurement pre-
alarm--></TMPATriggerCap>
<FireEscapeDetectionTriggerCap><!--optional, xs:EventTriggerCapType, alarm linkage capability of fire engine access
detection--></FireEscapeDetectionTriggerCap>
<TakingElevatorDetectionTriggerCap><!--optional, xs:EventTriggerCapType, alarm linkage capability of elevator
detection--></TakingElevatorDetectionTriggerCap>
<RuleTriggerCap><!--optional, linkage capability of rule triggered alarm -->
<isSupportCityManagement>
<!--optional, xs:boolean, whether the city management supports setting linkage actions by area; if supports, the
value is true, otherwise, this node will not be returned-->
</isSupportCityManagement>
</RuleTriggerCap>
</EventTriggersCap>
See Also
XML_EventTriggerCapType
7.60 XML_FaceAppendData
FaceAppendData message in XML format
<FaceAppendData version="2.0" xmlns="http://www.isapi.org/ver20/XMLSchema">
<bornTime><!--optional, birth date based on ISO 8601 standard, its format is YYYY-MM-DD--></bornTime>
<name><!--required, string type, person name, whose length is between 1 bit and 32 bits--></name>
<sex><!--optional, string type, gender: "male,female"--></sex>
<province><!--optional, string type, province--></province>
<city><!--optional, string type, city--></city>
<certificateType><!--optional, string type, certificate types: "officerID","ID"-identity card, "passportID", and "other"--
></certificateType>
<certificateNumber>
<!--depend, string type, certificate No., its length varies with the certificate type; for "officerID", "ID", "other", the
maximum No. length is between 8 bits and 18 bits; for "passportID", the maximum No. length is between 8 bits and 32
bits-->
</certificateNumber>
<PersonInfoExtendList><!--optional, custom extension information list of person-->
<PersonInfoExtend>
<id><!--required, string type, person extension information No., which starts from 1--></id>
<enable><!--required, boolean type, whethe rto enable person information extension--></enable>
<name><!--optional, string type, name of person extension information--></name>
<value><!--optional, string type, details of person extension information--></value>
210
Intelligent Security API (Facial) Developer Guide
</PersonInfoExtend>
</PersonInfoExtendList>
<caseInfo><!--optional, string type, case information, the maximum information length is between 1 bit and 64 bits---
></caseInfo>
<customHumanID><!--optional, string type, custom face picture ID, the maximum ID length is between 1 bit and 64
bits--></customHumanID>
<phoneNumber><!--optional, string type, phone number, whose lenth is between 1 bit and 64 bits--></
phoneNumber>
<RegionCoordinatesList><!--optional, face target for data modeling-->
<RegionCoordinates><!--required, coordinate list-->
<positionX><!--required, integer type, X-coordinate--></positionX>
<positionY><!--required, integer type, Y-coordinate--></positionY>
</RegionCoordinates>
</RegionCoordinatesList>
</FaceAppendData>
7.61 XML_FaceContrast
FaceContrast message in XML format
<FaceContrast version="2.0" xmlns="http://www.isapi.org/ver20/XMLSchema">
<id><!--req, xs:integer, No., starts from 1--></id>
<enable><!--opt,xs:boolean, whether to enable face picture comparison, "true,false"--></enable>
<faceContrastType>
<!--rep,xs: string, alarm types: "faceContrast"-face picture comparison alarm, "blacklistFaceContrast"-face matched
alarm, "whitelistFaceContrast"-stranger detection alarm (mismatched)-->
</faceContrastType>
<thresholdValue>
<!--opt,xs:integer, similarity threshold for comparison, which is between 0 and 100, the higher the threshold, the
more accurate the comparison is-->
</thresholdValue>
<FDLibList><!--opt, face picture libraries that linked with channels-->
<FDLib>
<id><!--req,ro,xs:integer,No.--></id>
<FDID><!--req,ro,xs:string, face picture library ID--></FDID>
</FDLib>
</FDLibList>
<faceSnapDataUpload><!--opt,xs:boolen, "true,false", def="true"--></faceSnapDataUpload>
<contrastFailureAlarmUpload>
<!--opt,xs:boolean, "true,false", def="true", whether to upload face picture comparison failed alarm-->
</contrastFailureAlarmUpload>
<alarmOutType>
<!--opt,xs:string,opt="off,pluses", alarm output types: off, pulse-->
</alarmOutType>
<plusesTime>
<!--dep, pulse triggered time, it is valid when <alarmOutType> is "pluses", xs:integer, min="100", max="900", unit:
ms-->
</plusesTime>
<QuickContrast><!--opt, fast face picture comparison-->
<enabled><!--req,xs:boolean, "true,false", whether to enable fast face picture comparison--></enabled>
211
Intelligent Security API (Facial) Developer Guide
Remarks
<plusesTime>
Pulse triggered time, this node is mainly used for swing barrier, if the pulse is triggered for
multiple times in a specific time period, only one alarm will be uploaded.
<QuickContrast>
Fast face picture comparison. If it is enabled, the device will start comparing the captured face
picture whose face score is higher than the configured threshold, instead of filtering the
captured picture with highest face score for comparison.
<threshold>
Face picture comparison threshold, when the score of the captured face picture is higher than
the threshold, the device will start the comparison.
<snapTime>
Maximum capture duration. The device will keep capturing until the face score of captured
picture is higher than the configured threshold, if the face scores of all pictures captured in the
duration are lower than the threshold, a face picture with highest score in the captured pictures
will be selected for comparison.
7.62 XML_FaceContrastCap
FaceContrastCap message in XML format
<FaceContrastCap version="2.0" xmlns="http://www.isapi.org/ver20/XMLSchema">
<enable opt="true,false">
<!--opt,xs:boolean, whether to enable face picture comparison-->
</enable>
<faceContrastType opt="faceContrast, blacklistFaceContrast, whitelistFaceContrast ">
<!--rep,xs: string, alarm types: face picture comparison alarm, face matched alarm, stranger detection alarm
(mismatched)-->
</faceContrastType>
<thresholdValue min="" max="">
<!--opt,xs:integer, similarity threshold for comparison, which is between 0 and 100, the higher the threshold, the
more accurate the comparison is-->
</thresholdValue>
<SupportFDLibList>
<!--opt,xs:boolean, linked face picture libraries of the camera, support-true, if support, return "true", otherwise, this
node will not be returned-->
</SupportFDLibList>
<faceSnapDataUpload opt="true,false"/><!--opt, upload captured face picture-->
<contrastFailureAlarmUpload opt="true,false">
<!--opt,xs:boolean, def="true", whether to upload face picture comparison failed alarm-->
212
Intelligent Security API (Facial) Developer Guide
</contrastFailureAlarmUpload>
<alarmOutType opt= "off,pluses"><!--opt,xs:string, alarm output mode: off, pulse--></alarmOutType>
<plusesTime min="100" max="900">
<!--dep, pulse triggered time, it is valid when <alarmOutType> is "pluses", xs:integer, unit: ms-->
<plusesTime>
<QuickContrast><!--opt, fast face picture comparison-->
<enabled opt="true,false" def="false">
<!--req,xs:boolean, "true,false", whether to enable fast face picture comparison-->
</enabled>
<threshold min="20" max="80" def="60"> <!--opt, xs:integer, face score threshold--></threshold>
<snapTime min="0.0" max="300.0" def="2.0">
<!--req, xs:float, maximum target capture time, unit: s-->
</snapTime>
</QuickContrast>
</FaceContrast>
Remarks
<plusesTime>
Pulse triggered time, this node is mainly used for swing barrier, if the pulse is triggered for
multiple times in a specific time period, only one alarm will be uploaded.
<QuickContrast>
Fast face picture comparison. If it is enabled, the device will start comparing the captured face
picture whose face score is higher than the configured threshold, instead of filtering the
captured picture with highest face score for comparison.
<threshold>
Face picture comparison threshold, when the score of the captured face picture is higher than
the threshold, the device will start the comparison.
<snapTime>
Maximum capture duration. The device will keep capturing until the face score of captured
picture is higher than the configured threshold, if the face scores of all pictures captured in the
duration are lower than the threshold, a face picture with highest score in the captured pictures
will be selected for comparison.
Example
FaceContrastCap Message Example for Front-End Device
<FaceContrastCap version="2.0" xmlns="http://www.hikvision.com/ver20/XMLSchema">
<enable opt="true,false"></enable>
<faceContrastType opt="faceContrast"></faceContrastType>
<faceSnapDataUpload opt="true,false"></faceSnapDataUpload>
<AttendanceSaveEnable opt="true,false"></AttendanceSaveEnable>
</FaceContrastCap>
Example
FaceContrastCap Message Example for Rear-End Device
213
Intelligent Security API (Facial) Developer Guide
7.63 XML_FaceContrastList
FaceContrastList message in XML format.
<FaceContrastList version="2.0" xmlns="http://www.isapi.org/ver20/XMLSchema">
<FaceContrast/><!--see XML_FaceContrast for details-->
</FaceContrastList>
See Also
XML_FaceContrast
7.64 XML_FaceContrastScheduleList
FaceContrastScheduleList message in XML format
<FaceContrastScheduleList version="2.0" xmlns="http://www.isapi.org/ver20/XMLSchema">
<Schedule/><!--opt, see details in the message XML_Schedule-->
</FaceContrastScheduleList>
See Also
XML_Schedule
7.65 XML_FaceContrastTargetsList
FaceContrastTargetsList message in XML format
<FaceContrastTargetsList version="2.0" xmlns="http://www.isapi.org/ver20/XMLSchema">
<FaceContrastTarget>
<Rect>
<height><!--req-xs:float--></height>
<width><!--req-xs:float--></width>
214
Intelligent Security API (Facial) Developer Guide
<x><!--req-xs:float--></x>
<y><!--req-xs:float--></y>
</Rect>
<modeData>
<!--xs:string, target modeling data, during transmission process, the binary non-modeling data will be encrypted by
Base64 method-->
</modeData>
</FaceContrastTarget>
</FaceContrastTargetsList >
7.66 XML_faceRule
faceRule message in XML format
<FaceRule version="1.0" xmlns="http://www.isapi.org/ver20/XMLSchema">
<enabled><!--req, xs:string "true,false"--></enabled>
<FaceDetectionRegion>
<RegionCoordinatesList>
<RegionCoordinates><!--req-->
<positionX><!--req, xs:integer, X-coordinate--></positionX>
<positionY><!--req, xs:integer, Y-coordinate--></positionY>
</RegionCoordinates>
</RegionCoordinatesList>
</FaceDetectionRegion>
<InterPupileRegion>
<positionX><!--req, xs:integer, X-coordinate--></positionX>
<positionY><!--req, xs:integer, Y-coordinate--></positionY>
<width><!--req, xs: integer, pupil distance--></width>
<height><!--req, xs: integer--></height>
</InterPupileRegion>
</FaceRule>
7.67 XML_FaceSnapScheduleList
FaceSnapScheduleList message in XML format
<FaceSnapScheduleList version="2.0" xmlns="http://www.isapi.org/ver20/XMLSchema">
<Schedule/><!--opt, arming schedule, see details in XML_Schedule-->
</FaceSnapScheduleList>
See Also
XML_Schedule
7.68 XML_FCSearchDescription
FCSearchDescription message in XML format
215
Intelligent Security API (Facial) Developer Guide
216
Intelligent Security API (Facial) Developer Guide
<!--optional, xs:integer, the total number of results in a single search, default value: 10000-->
</totalSearchResults>
<FDIDList><!--opt-->
<FDID><!--xs:string, ID of face picture library for search--></FDID>
</FDIDList>
<sortord><!--xs:string,"similarity,time"--></sortord>
<sex><!--optional, xs: string, "male,female"--></sex>
<glass><!--optional, xs: string, "yes,no"--></glass>
<smile><!--optional, xs: string, "yes,no"--></smile>
<high_risk_group><!--optional, xs: string, "yes,no"--></high_risk_group>
<importLib><!--optional, xs: string, "yes,no"--></importLib>
<CustomFaceLibIDList><!--opt-->
<customFaceLibID><!--optional, xs: string--></customFaceLibID>
</CustomFaceLibIDList>
<temperatureStatus><!--optional, xs:string,"all,normal,abnormal", temperature status; corresponds to the node
isAbnomalTemperature in returned message --></temperatureStatus>
</FCSearchDescription>
Example
FCSearchDescription Message Example
<FCSearchDescription>
<searchID>C7E7207E-8030-0001-9072-8F39185517D9</searchID>
<snapStartTime>2018-03-09T00:00:00Z</snapStartTime>
<snapEndTime>2018-03-09T23:59:59Z</snapEndTime>
<maxResults>500</maxResults>
<searchResultPosition>1</searchResultPosition>
</FCSearchDescription>
7.69 XML_FCSearchResult
FCSearchResult message in XML format
<FCSearchResult version="2.0" xmlns="http://www.std-cgi.org/ver20/XMLSchema">
<searchID>
<!--required, xs:string, search ID, which is used to confirm the upper-level platform or system. If the platform or
system are same during two times of search, the search history will be recorded in the memory for next fast search-->
</searchID>
<responseStatus><!--required, xs:string, "true,false"--></responseStatus>
<responseStatusStrg>
<!--required, xs:string, "OK"-search completed, "NO MATCHES"-search failed, "MORE"-searching-->
</responseStatusStrg>
<numOfMatches>
<!--requried, xs: integer, number of returned results-->
</numOfMatches>
<totalMatches>
<!--requried, xs: integer, number of total matched results-->
</totalMatches>
<progress>
<!--optional, xs: integer, search progress, range: [0,100], only when the progress equals to "100', you can get the
data of MatchList-->
217
Intelligent Security API (Facial) Developer Guide
</progress>
<MatchList><!--opt-->
<MatchElement><!--list-->
<snapPicURL><!--optional, xs:string, captured background picture URL--></snapPicURL>
<snapTime><!--optional, xs:datetime, ISO8601 time, picture captured time--></snapTime>
<facePicURL><!--optional, xs:string, face thumbnail URL--></facePicURL>
<FaceMatchInfoList><!--opt-->
<FaceMatchInfo><!--list-->
<FDID><!--required, ro, xs:string, face picture library ID--></FDID>
<FDname><!--opt,ro,xs:string, face picture library name--></FDname>
<thresholdValue><!--optional, xs:integer, threshold, range: [0,100]; the larger the threshold the higher the
accuracy"--></thresholdValue>
<bornTime><!--optional, xs:date,ISO8601 time--></bornTime>
<name><!--optional, xs:string--></name>
<sex><!--optional, xs:"male,female"--></sex>
<province><!--optional, xs:string--></province>
<city><!--optional, xs:string--></city>
<certificateType><!--optional, xs:string, certificate types: "officerID","ID"-identity card, "passportID", and
"other"--></certificateType>
<certificateNumber><!--optional, xs:string,证件号--></certificateNumber>
<picURL><!--required, xs:string, matched picture URL--></picURL>
<PID><!--required, xs:string--></PID>
<PersonInfoExtendList><!--opt-->
<PersonInfoExtend><!--list-->
<id><!--required, xs:integer, ID of person extended information, starts from 1--></id>
<enable><!--required, xs:boolean, enable person extended information--></enable>
<name><!--optional, xs:string, person extended information name--></name>
<value><!--optional, xs:string, person extended information content--></value>
</PersonInfoExtend>
</PersonInfoExtendList>
<phoneNumber><!--optional, xs:string--></phoneNumber>
<caseInfo><!--optional, xs:string, case information--></caseInfo>
<similarity><!--optional, xs:float, range: [0.0,100.0], face picture matching degree--></similarity>
<modelStatus><!--optional, xs:string, modeling status: "modeling" (modeled), "unmodeled", "modelingFailed"--
></modelStatus>
<ModelingStatus>
<FDID><!--required, xs:string, face picture library ID--></FDID>
<PID><!--required, xs:string, face picture ID--></PID>
<name><!--required, xs:string, picture name--></name>
<status><!--required, xs:string, "success,failed,none"--></status>
<reason><!--depend, it is valid when the value of status is failed-->
<!--optional, xs:string, "noface"-no face in the picture, "faceSizeSmall"-picture size is too small, "shadeFace"-
face is tempered, "unknow", "imageURLDownloadFailed"-picture download failed, "noJpgPicture"-picture is not in JPG
format, "errorPictureResolution"-invalid picture resolution, "faceSizeBig"-picture size is too large, "diskError"-disk
error, "diskFull"-disk full, "analysisFailed"-analysis failed, "multipleFaces"-there are multiple faces--></reason>
<customHumanID><!--optional, xs:string, minLen=32, custom person ID--></customHumanID>
<customFaceLibID><!--optional, xs:string, minLen=32, custom face picture library ID--></customFaceLibID>
<modeData><!--xs:string, target modeling data, during transmission process, the binary non-modeling data will
be encrypted by Base64 method--></modeData>
</ModelingStatus>
</FaceMatchInfo>
</FaceMatchInfoList>
218
Intelligent Security API (Facial) Developer Guide
Example
FCSearchResult Message Example
<FCSearchResult version="1.0" xmlns="http://www.hikvision.com/ver20/XMLSchema">
<searchID>C7E7207E-8030-0001-9072-8F39185517D9</searchID>
<responseStatus>true</responseStatus>
<responseStatusStrg>MORE</responseStatusStrg>
<numOfMatches>500</numOfMatches>
<totalMatches>2624</totalMatches>
<MatchList>
<MatchElement>
<snapPicURL>http://10.16.96.29:80/picture/Streaming/tracks/103/?
name=ch0001_01000000000016615680000402008&size=402008</snapPicURL>
<snapTime>2018-03-09T05:54:28+08:00</snapTime>
<facePicURL>http://10.16.96.29:80/picture/Streaming/tracks/103/?
name=ch0001_01000000000016606464000091240&size=91240</facePicURL>
<glass>yes</glass>
<smile>no</smile>
<Rect>
<height>0.193000</height>
<width>0.109000</width>
<x>0.160000</x>
<y>0.278000</y>
</Rect>
219
Intelligent Security API (Facial) Developer Guide
<channelID>1</channelID>
<name>ch0001_01000000000016615680000402008</name>
<sex>male</sex>
<ageGroup>young</ageGroup>
<mask>no</mask>
</MatchElement>
<MatchElement>
<snapPicURL>http://10.16.96.29:80/picture/Streaming/tracks/103/?
name=ch0001_01000000000016566630400397516&size=397516</snapPicURL>
<snapTime>2018-03-09T05:49:41+08:00</snapTime>
<facePicURL>http://10.16.96.29:80/picture/Streaming/tracks/103/?
name=ch0001_01000000000016558284800082488&size=82488</facePicURL>
<glass>yes</glass>
<smile>no</smile>
<Rect>
<height>0.193000</height>
<width>0.109000</width>
<x>0.043000</x>
<y>0.444000</y>
</Rect>
<channelID>1</channelID>
<name>ch0001_01000000000016566630400397516</name>
<sex>male</sex>
<ageGroup>young</ageGroup>
<mask>no</mask>
</MatchElement>
…
</MatchList>
</FCSearchResult>
7.70 XML_FDCoverInfo
FDCoverInfo message inXML format
<FDCoverInfo version="2.0" xmlns="http://www.isapi.org/ver20/XMLSchema">
<coverNumber>
<!--opt,xs:integer, get the number of overwritten face pictures in a specific face picture library--->
</coverNumber>
</FDCoverInfo>
7.71 XML_FDLibBaseCfg
FDLibBaseCfg message in XML format
<FDLibBaseCfg version="2.0" xmlns="http://www.isapi.org/ver20/XMLSchema">
<id><!--req,xs:integer,number of items in the list, which starts from 1--></id>
<FDID><!--opt,xs:string, face picture library ID--></FDID>
<name><!--opt,xs:string, face picture library name--></name>
<thresholdValue>
220
Intelligent Security API (Facial) Developer Guide
<!--opt,xs:integer, similarity threshold for comparison, which is between 0 and 100, the higher the threshold, the
more accurate the comparison is-->
</thresholdValue>
<customInfo><!--opt,xs:string--></customInfo>
<customFaceLibID>
<!--opt,xs:string, a face picture library ID customized by central management system, which should be linked with
FDID by the device, it is read only, and it can be deleted but cannot be edited-->
</customFaceLibID>
<faceLibType>
<!--opt,ro,xs:string, opt="ordinary,private,stranger", face picture library type: "ordinary"-ordinary library, "private"-
private library, "stranger"-stranger library-->
</faceLibType>
</FDLibBaseCfg>
Example
FDLibBaseCfg Message Example for Front-End Devices
<FDLibBaseCfg version="1.0" xmlns="http://www.hikvision.com/ver20/XMLSchema">
<id>1</id>
<FDID>1</FDID>
<name>test</name>
<thresholdValue>70</thresholdValue>
<customInfo />
<customFaceLibID />
</FDLibBaseCfg>
Example
FDLibBaseCfg Message Example for Rear-End Devices
<FDLibBaseCfg version="1.0" xmlns="http://www.hikvision.com/ver20/XMLSchema">
<id>1</id>
<FDID>9DDD24375C1143629E6EDE0496B3D948</FDID>
<name>cy1</name>
<faceLibType>ordinary</faceLibType>
</FDLibBaseCfg>
7.72 XML_FDLibBaseCfgList
FDLibBaseCfgList message in XML format
<FDLibBaseCfgList version="2.0" xmlns="http://www.isapi.org/ver20/XMLSchema">
<FDLibBaseCfg/><!--see
XML_FDLibBaseCfg
for details-->
</FDLibBaseCfgList>
Example
FDLibBaseCfgList Message Example for Front-End Devices
<FDLibBaseCfgList version="2.0" xmlns="http://www.hikvision.com/ver20/XMLSchema">
<FDLibBaseCfg>
221
Intelligent Security API (Facial) Developer Guide
<id>1</id>
<FDID>1</FDID>
<name>Test</name>
<thresholdValue>70</thresholdValue>
<customInfo />
<customFaceLibID />
</FDLibBaseCfg>
<FDLibBaseCfg>
<id>2</id>
<FDID>2</FDID>
<name>Test Library 1</name>
<thresholdValue>100</thresholdValue>
<customInfo>Test</customInfo>
<customFaceLibID>297edeaa61d20c990161d21456580005</customFaceLibID>
</FDLibBaseCfg>
<FDLibBaseCfg>
<id>3</id>
<FDID>3</FDID>
<name>Test Library 2</name>
<thresholdValue>100</thresholdValue>
<customInfo />
<customFaceLibID>8a8606ef61f9f7b00161f9fdd0050000</customFaceLibID>
</FDLibBaseCfg>
</FDLibBaseCfgList>
Example
FDLibBaseCfgList Message Example for Rear-End Devices
<FDLibBaseCfgList version="1.0" xmlns="http://www.hikvision.com/ver20/XMLSchema">
<FDLibBaseCfg>
<id>1</id>
<FDID>9DDD24375C1143629E6EDE0496B3D948</FDID>
<name>cy1</name>
<faceLibType>ordinary</faceLibType>
</FDLibBaseCfg>
<FDLibBaseCfg>
<id>2</id>
<FDID>55869AFEA1E840958120C97054720372</FDID>
<name>sdk</name>
<faceLibType>ordinary</faceLibType>
</FDLibBaseCfg>
</FDLibBaseCfgList>
7.73 XML_FDLibCap
FDLibCap message in XML format
<FDLibCap version="2.0" xmlns="http://www.isapi.org/ver20/XMLSchema">
<CreateFDLibList size="">
<CreateFDLib>
<id min="" max=""><!--required, xs:integer, number of items in the list, which starts from 1--></id>
222
Intelligent Security API (Facial) Developer Guide
223
Intelligent Security API (Facial) Developer Guide
224
Intelligent Security API (Facial) Developer Guide
225
Intelligent Security API (Facial) Developer Guide
<isSupportCoverImportFaceLib>
<!--whether support importing face picture library by overwriting existing ones-->
</isSupportCoverImportFaceLib>
<isSupportConcurrentImportpictures>
<!--whether support importing picture in concurrent mode-->
</isSupportConcurrentImportpictures>
<isSupportSurplusCapacity>
<!--whether support calculating the number of remaining face pictures in the face picture library-->
</isSupportSurplusCapacity>
<isSupportFDlibProgress>
<!--whether support getting the importing and exporting progress of face picture library-->
</isSupportFDlibProgress>
<isSupportFDlibPhotoWall><!--whether support displaying pictures via iVMS-4200--></isSupportFDlibPhotoWall>
<isSupportFDCoverInfo>
<!--whether support getting the number of overwritten face pictures when importing a specific face picture library--
>
</isSupportFDCoverInfo>
<isSupportStandardSearch>
<!--this node is used to compatible with the protocol difference-->
</isSupportStandardSearch>
<isSupportFaceDataExport><!--whether support exporting the data from face picture library--></
isSupportFaceDataExport>
<isSupportNewlyPictureUpload>
<!--optional, xs:boolean, whether support importing pictures to face picture library, it is available to import large
pictures-->
</isSupportNewlyPictureUpload>
<isSupportFCSearchNormal>
<!--optional, xs:boolean, whether support searching for all face data"-->
</isSupportFCSearchNormal>
<FDLibEachImportCap><!--optional, capability of importing pictures of a face picture library to another library-->
<isSupportImportLib>
<!--optional, xs:boolean, whether support importing all pictures of a face picture library to another library-->
</isSupportImportLib>
<isSupportImportLibPicture>
<!--optional, xs:boolean, whether support importing a specific picture of a face picture library to another library-->
</isSupportImportLibPicture>
</FDLibEachImportCap>
<isSupportUploadModeling>
<!--optional, xs:boolean, whether supports uploading modeling data directly: "true"-supports, if the node is not
returned indicates not support-->
</isSupportUploadModeling>
<StrangerLibFaceAppendData><!--optional, additional information of face pictures in stranger library-->
<PersonInfoExtendList size=""><!--opt-->
<PersonInfoExtend><!--list-->
<id min="" max=""><!--required, xs:integer, ID of person extended information, starts from 1--></id>
<enable><!--required, xs:boolean, enable person extended information--></enable>
<name min="" max=""><!--optional, xs:string, extended information name--></name>
<value min="" max=""><!--optional, xs:string, extended information content--></value>
</PersonInfoExtend>
</PersonInfoExtendList>
</StrangerLibFaceAppendData>
<StrangerLibFDSearchDescription>
226
Intelligent Security API (Facial) Developer Guide
227
Intelligent Security API (Facial) Developer Guide
Remarks
The number of face picture libraries can be created = "size" value of node <CreateFDLibList> -
"max" value of node <strangerLibNum>
Example
FDLibCap Message Example of Front-End Devices
<FDLibCap version="2.0" xmlns="http://www.hikvision.com/ver20/XMLSchema">
<CreateFDLibList size="3">
<CreateFDLib>
<id>1</id>
<name min="1" max="16" />
<thresholdValue min="1" max="100" />
<customInfo min="0" max="32" />
<faceDataMax>30000</faceDataMax>
<customFaceLibID min="0" max="32" />
</CreateFDLib>
</CreateFDLibList>
<FaceAppendData>
<bornTime />
<name min="0" max="32" />
<sex opt="male,female" />
<province />
<city />
<certificateType opt="officerID,ID" />
<certificateNumber min="8" max="18" />
<PersonInfoExtendList size="2">
<PersonInfoExtend>
<id>1</id>
<enable opt="true,false">false</enable>
<name min="0" max="16" />
<value min="0" max="32" />
</PersonInfoExtend>
</PersonInfoExtendList>
<customHumanID min="0" max="32" />
</FaceAppendData>
<FDSearchDescription>
<searchID />
<searchResultPosition>1</searchResultPosition>
<maxResults>30000</maxResults>
<FDID />
<startTime />
<endTime />
<name min="0" max="32" />
<sex opt="male,female" />
<province />
<city />
<certificateType opt="officerID,ID" />
<certificateNumber min="8" max="18" />
<customFaceLibID min="0" max="32" />
</FDSearchDescription>
228
Intelligent Security API (Facial) Developer Guide
<isSuportFDLibImpEmp opt="true,false">true</isSuportFDLibImpEmp>
<isSuportFCSearch opt="true,false">true</isSuportFCSearch>
<isSupportFDExecuteControl>true</isSupportFDExecuteControl>
<isSupportManualModeling>true</isSupportManualModeling>
<isSupportSingleManualModeling>true</isSupportSingleManualModeling>
<isSupportRangeManualModeling>true</isSupportRangeManualModeling>
<isSupportSingleManualModelingSearch>true</isSupportSingleManualModelingSearch>
<isSupportRangeManualModelingSearch>true</isSupportRangeManualModelingSearch>
<isSupportModelingStatusSearch>true</isSupportModelingStatusSearch>
<Reboot>
<thresholdValue>true</thresholdValue>
<delFaceLib>true</delFaceLib>
</Reboot>
<isSupportCoverImportpictures>true</isSupportCoverImportpictures>
<isSupportCoverImportFaceLib>true</isSupportCoverImportFaceLib>
<isSupportConcurrentImportpictures>true</isSupportConcurrentImportpictures>
<isSupportSurplusCapacity>true</isSupportSurplusCapacity>
<isSupportFDlibProgress>true</isSupportFDlibProgress>
<isSupportFDlibPhotoWall>true</isSupportFDlibPhotoWall>
<isSupportCustomHumanID>true</isSupportCustomHumanID>
<isSupportCustomFaceLibID>true</isSupportCustomFaceLibID>
<isSupportFCSearchAttendancePackage>true</isSupportFCSearchAttendancePackage>
</FDLibCap>
Example
FDLibCap Message Example of Rear-End Devices
<FDLibCap version="1.0" xmlns="http://www.hikvision.com/ver20/XMLSchema">
<CreateFDLibList size="32">
<CreateFDLib>
<id min="1" max="32" />
<name min="1" max="32" />
<faceDataMax min="1" max="0" />
<customFaceLibID min="0" max="64" />
</CreateFDLib>
</CreateFDLibList>
<FaceAppendData>
<bornTime />
<name min="1" max="64" />
<sex opt="male,female" />
<province />
<city />
<certificateType opt="officerID,ID,passportID,other" />
<certificateNumber min="1" max="32" />
<PersonInfoExtendList size="4" />
<isSupportPhoneNumber>true</isSupportPhoneNumber>
<customHumanID min="0" max="64" />
</FaceAppendData>
<FDSearchDescription>
<FDID>00000000000000000000000000000000</FDID>
<startTime />
<endTime />
229
Intelligent Security API (Facial) Developer Guide
7.74 XML_FDLibInfoList
FDLibInfoList message in XML format
230
Intelligent Security API (Facial) Developer Guide
Example
FDLibInfoList Message Example for Front-End Devices
<FDLibInfoList version="2.0" xmlns="http://www.hikvision.com/ver20/XMLSchema">
<FDLibInfo>
<id>1</id>
<name>sdk</name>
<FDID>2</FDID>
</FDLibInfo>
</FDLibInfoList>
Example
FDLibInfoList Message Example for Rear-End Devices
<FDLibInfoList version="1.0" xmlns="http://www.hikvision.com/ver20/XMLSchema">
<FDLibInfo>
<id>1</id>
<name>94713a0410c2fcba249a161918d3ca01</name>
<FDID>55869AFEA1E840958120C97054720372</FDID>
</FDLibInfo>
</FDLibInfoList>
7.75 XML_FDlibProgress
FDlibProgress Message in XML format
<FDlibProgress version="2.0" xmlns="http://www.std-cgi.org/ver20/XMLSchema">
<status>
<!--req,xs:string,"importing,exporting,noStatus"-->
</status>
<progress>
231
Intelligent Security API (Facial) Developer Guide
<!--req,xs:string, progress percentage, which is between 0 and 100%, when status=noStatus, the progress
percentange is 0-->
</progress>
<completeNumber><!--dep,xs:intger, number of imported pictures--></completeNumber>
</FDlibProgress>
7.76 XML_FDLibSource
FDLibSource message in XML format
<FDLibSource version="2.0" xmlns="http://www.isapi.org/ver20/XMLSchema">
<FDID><!--req,xs:string, face picture library ID--></FDID>
<Picture><!--opt-->
<PID><!--req,xs:string, face picture ID--></PID>
</Picture>
</FDLibSource>
7.77 XML_FDModelingStatusSearchDescription
FDModelingStatusSearchDescription message in XML format
<FDModelingStatusSearchDescription version="2.0" xmlns="http://www.std-cgi.org/ver20/XMLSchema">
<searchID>
<!--req,xs:string, Search ID, which is used to confirm the upper-level platform or system. If the platform or system
are same during two times of search, the search history will be recorded in the memory for next fast search-->
</searchID>
<searchResultPosition><!-- req, xs: integer, start position of search results--></searchResultPosition>
<maxResults><!-- req, xs: integer, maximum number of search results, up to 500 results are allowed for one search--
></maxResults>
<CondList><!--opt-->
<Cond>
<FDID><!--xs:req, searching in all face picture libraries is not supported, a library for search must be specified--></
FDID>
</Cond>
</CondList>
<taskID>
<!--opt,xs:string, task ID, which is returned by /ISAPI/Intelligent/FDLib/manualModeling?range=&FDID= or /ISAPI/
Intelligent/FDLib/manualModeling?FDID=&&PID=, this node and CondList cannot exist at same time, and taskID is in
prior-->
</taskID>
</FDModelingStatusSearchDescription>
7.78 XML_FDModelingStatusSearchResult
FDModelingStatusSearchResult message in XML format
232
Intelligent Security API (Facial) Developer Guide
7.79 XML_FDSearchDescription
XML message about conditions of searching in face picture library
<FDSearchDescription version="2.0" xmlns="http://www.std-cgi.org/ver20/XMLSchema">
<searchID>
<!--req,xs:string, Search ID, which is used to confirm the upper-level platform or system. If the platform or system
are same during two times of search, the search history will be recorded in the memory for next fast search-->
</searchID>
<searchResultPosition><!--req, xs: integer--></searchResultPosition>
<maxResults><!--req, xs: integer--></maxResults>
<FDID>
<!--opt,xs:string, face picture library ID, if the node exists, it indicates searching in a specific library, otherwise,
search in all libraries-->
</FDID>
<startTime><!--req,xs:ISO8601 time--></startTime>
<endTime><!--dep,xs:ISO8601 time--></endTime>
<name><!--opt,xs:string, name--></name>
<sex><!--opt,xs:string,"male,female"--></sex>
<province><!--opt,xs:string, province--></province>
<city><!--opt,xs:string, city--></city>
<certificateType><!--opt,xs:string, certificate types, "officerID,ID"--></certificateType>
<certificateNumber><!--dep,xs: string, certificate No--></certificateNumber>
<phoneNumber><!--opt,xs: string--></phoneNumber>
<FaceModeList>
<FaceMode>
<ModeInfo><!--opt, this node is required when searching by picture-->
<similarity>
<!--opt, xs:float, similarity, range: [0.0,100.0]-->
</similarity>
<modeData>
<!--opt,xs:string, target model data, the binary none-modeling data will be encrypted by base64 during the
233
Intelligent Security API (Facial) Developer Guide
transmission-->
</modeData>
</ModeInfo>
</FaceMode>
</FaceModeList>
<modelingStatus>
<!--opt,xs:sting,"success, failed, none", multiple statuses can be selected at same time-->
</modelingStatus>
<customFaceLibID>
<!--opt,xs:string, custom face picture library ID-->
</customFaceLibID>
<StrangerLibFaceAppendData>
<!--opt, additional information of face pictures in stranger library-->
<PersonInfoExtendList size="4" /><!--opt-->
</StrangerLibFaceAppendData>
<OccurrencesInfo><!--opt, frequency information-->
<enabled><!--req, xs:boolean, whether to return frequency information--></enabled>
<occurrences>
<!--dep, xs:integer, frequency, this node exists only when the value of enabled is "true"-->
</occurrences>
<occurrencesSearchType>
<!--opt, xs:string, opt="greaterThanOrEqual,lessThan,equal", frequency search type: "greaterThanOrEqual"-larger
than or equal to, "lessThan"-less than, "equal"-equal to-->
</occurrencesSearchType>
</OccurrencesInfo>
</FDSearchDescription>
Example
Message Example (Front-End Device)
<FDSearchDescription>
<FDID>3</FDID>
<startTime>1970-01-01</startTime>
<endTime>2018-03-09</endTime>
<searchID>C7E71550-2A00-0001-5F38-1A7DF1E81242</searchID>
<maxResults>50</maxResults>
<searchResultPosition>1</searchResultPosition>
</FDSearchDescription>
Example
Message (Rear-End Device)
<FDSearchDescription>
<FDID>55869AFEA1E840958120C97054720372</FDID>
<searchID>C7E7222D-7100-0001-8A85-17581C901550</searchID>
<maxResults>50</maxResults>
<searchResultPosition>0</searchResultPosition>
</FDSearchDescription>
234
Intelligent Security API (Facial) Developer Guide
7.80 XML_FDSearchResult
FDSearchResult message in XML format.
<FDSearchResult version="2.0" xmlns="http://www.std-cgi.org/ver20/XMLSchema">
<searchID>
<!--req,xs:string; )Search ID, which is used to confirm the upper-level platform or system. If the platform or system
are same during two times of search, the search history will be recorded in the memory for next fast search-->
</searchID>
<responseStatus>
<!--req,xs:string, "true,false", search status-->
</responseStatus>
<responseStatusStrg>
<!--req,xs:string, search status descriptions, "OK"-search completed, "NO MATCHES"-search failed, "MORE"-
searching-->
</responseStatusStrg>
<numOfMatches>
<!--req, xs: integer, number of returned results-->
</numOfMatches>
<totalMatches>
<!--req, xs: integer, number of total matched results-->
</totalMatches>
<progress>
<!--opt, xs: integer, search progress, range: [0,100], only when the progress equals to "100', you can get the data of
MatchList-->
</progress>
<MatchList>
<MatchElement><!--opt-->
<FDID><!--opt,xs:string, face picture library ID--></FDID>
<thresholdValue>
<!--opt,xs:integer, detection threshold, value rage: [0,100], higher threshold corresponds to higher detection
accuracy rate-->
</thresholdValue>
<bornTime>
<!--opt, xs:ISO8601 time, e.g., 2004-05-03T17:30:08+08:00-->
</bornTime>
<name><!--opt,xs:string--></name>
<sex><!--opt,xs:"male,female"--></sex>
<province><!--opt,xs:string--></province>
<city><!--opt,xs:string--></city>
<certificateType>
<!--opt,xs:string, certificate types, "officerID,ID"-->
</certificateType>
<certificateNumber>
<!--opt,xs:string, certificate No.-->
</certificateNumber>
<picURL><!--req,xs:string, face picture URL, which is returned when getting picture data--></picURL>
<PID><!--req,xs:string, face picture ID--></PID>
<PersonInfoExtendList/><!--opt-->
<similarity><!--opt,xs:float, similarity, value range: [0.0,100.0]--></similarity>
<ModelingStatus/> <!--see XML_ModelingStatus for details-->
235
Intelligent Security API (Facial) Developer Guide
<occurrences>
<!--opt, xs:integer, frequency, this node is valid only when the frequency information return is enable in search
condition-->
</occurrences>
</MatchElement>
</MatchList>
</FDSearchResult>
See Also
XML_ModelingStatus
Example
FDSearchResult Message Example for Front-End Device
<FDSearchResult version="2.0" xmlns="http://www.hikvision.com/ver20/XMLSchema">
<searchID>C7E71550-2A00-0001-5F38-1A7DF1E81242</searchID>
<responseStatus>true</responseStatus>
<responseStatusStrg>OK</responseStatusStrg>
<numOfMatches>3</numOfMatches>
<totalMatches>3</totalMatches>
<MatchList>
<MatchElement>
<FDID>3</FDID>
<bornTime>2000-01-01</bornTime>
<name>300778ffaafba90a4faf730eec79045bd653b5f0df9909696f52503148836e2620c945470ff3516fe0e5a48d55abb
b8c</name>
<sex>male</sex>
<province></province>
<city></city>
<certificateType></certificateType>
<certificateNumber></certificateNumber>
<picURL>3d310e453f6919a31e8b016a2caac4b72da65c9dfe670832b8b68e10b4d9d20c55fa49834648d0d293e240f42c
2e32e3d822b504404110c933b6ed3ddef94647
ab9e7cc75159821fe0dfced76e2200939365d3979d2500cf8bd8366a719250cbce582ed1e4610e6012576c62cd5e39629f
9b4e6834af8f26668c6a381f3b709b</picURL>
<PID>1</PID>
<PersonInfoExtendList>
<PersonInfoExtend>
<id>1</id>
<enable>false</enable>
<name>adc1ae2bc31f0599be86a764505a7ac9a41b2c780727403adbd361e41d9cbeef</name>
<value></value>
</PersonInfoExtend>
<PersonInfoExtend>
<id>2</id>
<enable>false</enable>
<name>adc1ae2bc31f0599be86a764505a7ac94982ba39b1f12bb10d75a1b4cead775b</name>
<value></value>
</PersonInfoExtend>
236
Intelligent Security API (Facial) Developer Guide
</PersonInfoExtendList>
<ModelingStatus>
<FDID>3</FDID>
<PID>1</PID>
<name>300778ffaafba90a4faf730eec79045bd653b5f0df9909696f52503148836e2620c945470ff3516fe0e5a48d55abb
b8c</name>
<status>failed</status>
<reason>imageURLDownloadFailed</reason>
<customFaceLibID>sdk</customFaceLibID>
<customHumanID></customHumanID>
</ModelingStatus>
</MatchElement>
<MatchElement>
<FDID>3</FDID>
<bornTime>2000-01-01</bornTime>
<name>f6f61fa7923eebb1507f5ad76048ef9d</name>
<sex>male</sex>
<province></province>
<city></city>
<certificateType></certificateType>
<certificateNumber></certificateNumber>
<picURL>3d310e453f6919a31e8b016a2caac4b72da65c9dfe670832b8b68e10b4d9d20c55fa49834648d0d293e240f42c
2e32e3d822b504404110c933b6ed3ddef94647
ab9e7cc75159821fe0dfced76e2200939365d3979d2500cf8bd8366a719250cbce582ed1e4610e6012576c62cd5e3962c
5e46298c568ad96a778480368306768</picURL>
<PID>2</PID>
<PersonInfoExtendList>
<PersonInfoExtend>
<id>1</id>
<enable>false</enable>
<name>adc1ae2bc31f0599be86a764505a7ac9a41b2c780727403adbd361e41d9cbeef</name>
<value></value>
</PersonInfoExtend>
<PersonInfoExtend>
<id>2</id>
<enable>false</enable>
<name>adc1ae2bc31f0599be86a764505a7ac94982ba39b1f12bb10d75a1b4cead775b</name>
<value></value>
</PersonInfoExtend>
</PersonInfoExtendList>
<ModelingStatus>
<FDID>3</FDID>
<PID>2</PID>
<name>f6f61fa7923eebb1507f5ad76048ef9d</name>
<status>failed</status>
<reason>imageURLDownloadFailed</reason>
<customFaceLibID>sdk</customFaceLibID>
<customHumanID></customHumanID>
</ModelingStatus>
237
Intelligent Security API (Facial) Developer Guide
</MatchElement>
<MatchElement>
<FDID>3</FDID>
<bornTime>2000-01-01</bornTime>
<name>300778ffaafba90a4faf730eec79045b8013944935ec5971ea20b216ff28320f5f74a23e7843bdfd56cb43ed0d82a
c74</name>
<sex/>
<province></province>
<city></city>
<certificateType></certificateType>
<certificateNumber></certificateNumber>
<picURL>3d310e453f6919a31e8b016a2caac4b72da65c9dfe670832b8b68e10b4d9d20c55fa49834648d0d293e240f42c
2e32e3d822b504404110c933b6ed3ddef94647
ab9e7cc75159821fe0dfced76e2200939365d3979d2500cf8bd8366a719250cbce582ed1e4610e6012576c62cd5e39628
214f16467c38f99149d3950fbb1ece3</picURL>
<PID>3</PID>
<PersonInfoExtendList>
<PersonInfoExtend>
<id>1</id>
<enable>false</enable>
<name>adc1ae2bc31f0599be86a764505a7ac9a41b2c780727403adbd361e41d9cbeef</name>
<value></value>
</PersonInfoExtend>
<PersonInfoExtend>
<id>2</id>
<enable>false</enable>
<name>adc1ae2bc31f0599be86a764505a7ac94982ba39b1f12bb10d75a1b4cead775b</name>
<value></value>
</PersonInfoExtend>
</PersonInfoExtendList>
<ModelingStatus>
<FDID>3</FDID>
<PID>3</PID>
<name>300778ffaafba90a4faf730eec79045b8013944935ec5971ea20b216ff28320f5f74a23e7843bdfd56cb43ed0d82a
c74</name>
<status>failed</status>
<reason>imageURLDownloadFailed</reason>
<customFaceLibID>sdk</customFaceLibID>
<customHumanID></customHumanID>
</ModelingStatus>
</MatchElement>
</MatchList>
</FDSearchResult>
Example
FDSearchResult Message Example for Rear-End Device
238
Intelligent Security API (Facial) Developer Guide
<picURL>af6532113b9787fabfc5d9679a975ef223575c1e2ffa0647114115bf9eea9ed68d27b5e83b0ab8ffa371f644bec3
98cbe1cf24c5f3f4de26e1398a4edd10615af742
efd9a215554f8590031b0dcc798f2deef6b024593730d00ef6a418dd1e06dbe70fd6518d2f5a23a2815bd4b4662a245347
afdd855dcf46601b7ec2f4c04c3d96e2dced7421
b401d15634b60fac9b448f436da3ff7db1bcda1e7120d05b67feb4bf60c6d8d8b334bc6ae928ed66da</picURL>
<PID>53A33C5DCE134AA1B3E79B657628E462</PID>
<PersonInfoExtendList>
<PersonInfoExtend>
<id>1</id>
<enable>false</enable>
</PersonInfoExtend>
<PersonInfoExtend>
<id>2</id>
<enable>false</enable>
</PersonInfoExtend>
<PersonInfoExtend>
<id>3</id>
<enable>false</enable>
</PersonInfoExtend>
<PersonInfoExtend>
<id>4</id>
<enable>false</enable>
</PersonInfoExtend>
</PersonInfoExtendList>
<modelStatus>modeling</modelStatus>
<ModelingStatus>
<FDID>55869AFEA1E840958120C97054720372</FDID>
<PID>53A33C5DCE134AA1B3E79B657628E462</PID>
<status>success</status>
</ModelingStatus>
</MatchElement>
<MatchElement>
<FDID>55869AFEA1E840958120C97054720372</FDID>
<name>168a1cca0c662fb6242b19fd0c1b5e45de0d46ffc27ab658f4f754655a72dc62</name>
<picURL>af6532113b9787fabfc5d9679a975ef223575c1e2ffa0647114115bf9eea9ed68d27b5e83b0ab8ffa371f644bec3
98cbe1cf24c5f3f4de26e1398a4edd10615af742
efd9a215554f8590031b0dcc798f2deef6b024593730d00ef6a418dd1e064fb74b1d9b22da4f6aecdacb7beed9e5456203
e7300665e6aeaec02eec7b32c5e007217885
239
Intelligent Security API (Facial) Developer Guide
f7bbf90140f21f5ab4dedd81fddf927cfaf6e2711689f10ae671df2804c9bee2301584fb4c6fdd4c8fc891</picURL>
<PID>78DE2369848A410AAB7BA83984EB10AF</PID>
<PersonInfoExtendList>
<PersonInfoExtend>
<id>1</id>
<enable>false</enable>
</PersonInfoExtend>
<PersonInfoExtend>
<id>2</id>
<enable>false</enable>
</PersonInfoExtend>
<PersonInfoExtend>
<id>3</id>
<enable>false</enable>
</PersonInfoExtend>
<PersonInfoExtend>
<id>4</id>
<enable>false</enable>
</PersonInfoExtend>
</PersonInfoExtendList>
<modelStatus>unmodeled</modelStatus>
<ModelingStatus>
<FDID>55869AFEA1E840958120C97054720372</FDID>
<PID>78DE2369848A410AAB7BA83984EB10AF</PID>
<status>none</status>
</ModelingStatus>
</MatchElement>
</MatchList>
</FDSearchResult>
7.81 XML_HFPDScheduleList
HFPDScheduleList message in XML format
<HFPDScheduleList version="2.0" xmlns="http://www.isapi.org/ver20/XMLSchema">
<Schedule/><!--opt, see details in XML_Schedule-->
</HFPDScheduleList>
See Also
XML_Schedule
7.82 XML_HttpHostNotification
XML message about parameters of a HTTP listening server
<HttpHostNotification version="2.0" xmlns="http://www.isapi.org/ver20/XMLSchema">
<id><!--required, xs:string, ID--></id>
<url><!--required, xs:string, the absolute path, e.g., http://<ipAddress>:<portNo>/<uri>--></url>
240
Intelligent Security API (Facial) Developer Guide
7.83 XML_HttpHostNotificationCap
XML message about capability of HTTP listening server
<?xml version="1.0" encoding="utf-8"?>
<HttpHostNotificationCap version="2.0" xmlns="http://www.isapi.org/ver20/XMLSchema">
<hostNumber>2</hostNumber>
<urlLen max=""/>
<protocolType opt="HTTP,HTTPS"/>
<parameterFormatType opt="XML,querystring,JSON"/>
<addressingFormatType opt="ipaddress,hostname"/>
<ipAddress opt="ipv4,ipv6"/>
<portNo min="" max=""/>
<userNameLen min="" max=""/>
<passwordLen min="" max=""/>
<httpAuthenticationMethod opt="MD5digest,none"/>
<Extensions>
<intervalBetweenEvents min="" max=""/>
</Extensions>
<uploadImagesDataType opt="URL,binary"/>
241
Intelligent Security API (Facial) Developer Guide
<ANPR><!--optional-->
<detectionUpLoadPicturesType opt="all,licensePlatePicture,detectionPicture…"/><!--optional, xs:string, types of
alarm pictures to be uploaded-->
<alarmHttpPushProtocol opt="baseline,custom"/>
</ANPR>
<httpBroken opt="true,false" def="true" ><!--optional, xs:boolean, whether to enable global ANR: true, false--></
httpBroken>
<SubscribeEventCap>
<heartbeat min="" max=""/><!--optional, heartbeat time interval, unit: second-->
<channelMode opt="all,list"/><!--required, all-subscribe events of all channels, list-subscribe event by channel-->
<eventMode opt="all,list"/><!--required, event subscription mode: all-subscribe all events of all channels, list-
subscribe events by type, channel, and target-->
<!--if the values of the two nodes channelMode and eventMode are both "all", it indicates that the device does not
support subscribe events by type and channel-->
<EventList><!--dependent, alarm uploading mode, this node is valid only when eventMode is "list"-->
<Event><!--required-->
<type><!--required, xs:string, event types--></type>
<pictureURLType opt="binary,localURL,cloudStorageURL" def=""/>
<!--optional, xs:string, transmission format of alarm picture: "binary"-picture binary data, "localURL"-picture URL
from local device, "cloudStorageURL"-picture URL from cloud storage-->
</Event>
</EventList>
<pictureURLType opt="binary,localURL,cloudStorageURL" def=""/>
<!--optional, xs:string, transmission format of all alarm pictures: "binary"-picture binary data (default for camera),
"localURL"-picture URL from local device (default for NVR/DVR), "cloudStorageURL"-picture URL from cloud storage;
this node is in highest priority-->
<ChangedUploadSub>
<interval/><!--optional, xs:integer, the life cycle of arming GUID, unit: second, the default life cycle is 5 minutes; if
the reconnection is not started during the life cycle, a new GUID will be generated-->
<StatusSub>
<all/><!--optional, xs:boolean, whether to subscribe all-->
<channel/><!--optional, xs:boolean, subscribe channel status, this node is not required when the node all is "true"--
>
<hd/><!--optional, xs:boolean, subscribe the HDD status, this node is not required when the node all is "true"-->
<capability/><!--optional, xs:boolean, subscribe the capability changed status, this node is not required when the
node all is "true"-->
</StatusSub>
</ChangedUploadSub>
</SubscribeEventCap>
</HttpHostNotificationCap>
7.84 XML_HttpHostNotificationList
HttpHostNotificationList message in XML format
<HttpHostNotificationList version="2.0" xmlns="http://www.isapi.org/ver20/XMLSchema">
<HttpHostNotification>
<id><!--req, xs:string, ID--></id>
<url><!--req, xs:string--></url>
<protocolType><!--req, xs:string, "HTTP,HTTPS"--></protocolType>
242
Intelligent Security API (Facial) Developer Guide
Example
HttpHostNotificationList Message Example
<HttpHostNotificationList version="2.0" xmlns="http://www.isapi.org/ver20/XMLSchema">
<HttpHostNotification>
<id>1</id>
<url></url>
<protocolType>HTTP</protocolType>
<parameterFormatType>XML</parameterFormatType>
<addressingFormatType>ipaddress</addressingFormatType>
<ipAddress>0.0.0.0</ipAddress>
<portNo>80</portNo>
<userName></userName>
<httpAuthenticationMethod>none</httpAuthenticationMethod>
</HttpHostNotification>
</HttpHostNotificationList>
7.85 XML_HttpHostTestResult
HttpHostTestResult message in XML format.
<HttpHostTestResult version="2.0" xmlns="http://www.isapi.org/ver20/XMLSchema">
<errorDescription>
<!--req, xs:string-->
</errorDescription>
</HttpHostTestResult>
243
Intelligent Security API (Facial) Developer Guide
7.86 XML_ImageData
XML message about image information
Content-Type: multipart/form-data; boundary=---------------------------7e13971310878
-----------------------------7e13971310878
Content-Disposition: form-data; name="FaceAppendData";
Content-Type: text/xml
----------------------------7e13971310878
Content-Disposition: form-data; name="importImage";
Content-Type: image/jpeg
Opaque Data,binary image data
-----------------------------7e13971310878
7.87 XML_IntelliCap
XML message about intelligent capability
<IntelliCap version="2.0" xmlns="http://www.isapi.org/ver20/XMLSchema">
<isFaceSupport><!--optional, xs:boolean, whether it supports face detection--></isFaceSupport>
<isBehaviorSupport><!--optional, xs:boolean, whether it supports behavior analysis--></isBehaviorSupport>
<isLineDetectionSupport><!--optional, xs:boolean, whether it supports line crossing detection--></
isLineDetectionSupport>
<isFieldDetectionSupport><!--optional, xs:boolean, whether it supports intrusion detection--></
isFieldDetectionSupport>
<isRegionEntranceSupport><!--optional, xs:boolean, whether it supports region entrance detection--></
isRegionEntranceSupport>
<isRegionExitingSupport><!--optional, xs:boolean, whether it supports region exiting detection--></
isRegionExitingSupport>
<isLoiteringSupport><!--optional, xs:boolean, whether it supports loitering detection--></isLoiteringSupport>
<isGroupSupport><!--optional, xs:boolean, whether it supports people gathering detection--></isGroupSupport>
<isRapidMoveSupport><!--optional, xs:boolean, whether it supports fast moving detection--></
isRapidMoveSupport>
<isParkingSupport><!--optional, xs:boolean, whether it supports parking detection--></isParkingSupport>
<isUnattendedBaggageSupport><!--optional, xs:boolean, whether it supports unattended baggage detection--></
isUnattendedBaggageSupport>
<isAttendedBaggageSupport><!--optional, xs:boolean, whether it supports object removal detection--></
isAttendedBaggageSupport>
<isTeacherSupport><!--optional, xs:boolean, whether it supports teacher's behavior detection--></
isTeacherSupport>
<isStudentSupport><!--optional, xs:boolean, whether it supports student's behavior detection--></
isStudentSupport>
<isCombinedSupport><!--optional, xs:boolean, whether it supports combined detection--></isCombinedSupport>
244
Intelligent Security API (Facial) Developer Guide
245
Intelligent Security API (Facial) Developer Guide
<positive opt="true,false"/><!--optional, xs:boolean, whether it is false human body recognition alarm: "true"-yes,
"false"-no-->
<eventType opt="unlimit,humanRecognition">
<!--optional, xs:string, event type: "unlimit"-no limit, "humanRecognition"-human body detection alarm-->
</eventType>
<isSupportMultiChannelSearch>
<!--optional, xs:boolean, whether it supports multi-channel search-->
</isSupportMultiChannelSearch>
<isSupportTotalSearchResult>
<!--optional, xs:boolean, whether it supports limiting number of results that can be obtained after a single search--
>
</isSupportTotalSearchResult>
</HumanRecognitionModeSearchCap>
<VehicleRecognitionModeSearchCap>
<searchTargetsNumMax><!--optional, xs:integer, maximum number of sample pictures that can be imported for
searching by picture--></searchTargetsNumMax>
<eventType opt="unlimit,vehicleBlackList,vehicleWhiteList"/><!--xs:string, event type: "unlimit"-no limit,
"vehicleBlackList"-vehicle blacklist, "vehicleWhiteList"-vehicle whitelist-->
<VehicleMode>
<searchCond opt="licensePlate,vehicleLogo,vehicleSubLogoRecog,vehicleType,vehicleColor,unlimit"/>
<similarity min="0.0" max="100.0"/><!--optional, xs:float, similarity, range: [0.0,100.0]-->
</VehicleMode>
<isSupportMultiChannelSearch>
<!--optional, xs:boolean, whether it supports multi-channel search-->
</isSupportMultiChannelSearch>
<isSupportTotalSearchResult>
<!--optional, xs:boolean, whether it supports limiting number of results that can be obtained after a single search--
>
</isSupportTotalSearchResult>
</VehicleRecognitionModeSearchCap>
<FaceContrastAnalyzeCap><!--capability of manual comparison and analysis of face pictures-->
<isSupportTrigger opt="false,true"><!--optional, xs:boolean--></isSupportTrigger>
<SearchCondition><!--optional-->
<startTime><!--required, xs:time, ISO8601 time--></startTime>
<endTime><!--required, xs:time, ISO8601 time--></endTime>
</SearchCondition>
</FaceContrastAnalyzeCap>
<FramesPeopleCountingCap><!--capability of people counting statistics in a single frame-->
<Statistics>
<SearchCondition>
<startTime><!--required, xs:time,ISO8601 time--></startTime>
<endTime><!--required, xs:time,ISO8601 time--></endTime>
</SearchCondition>
</Statistics>
<MaskRegion><!--optional, shielded region-->
<maxRegionNum><!--optional, xs:integer, number of regions--></maxRegionNum>
<Region>
<vertexNum min="3" max="10"><!--optional, xs:integer, number of region vertexes--></vertexNum>
</Region>
</MaskRegion>
</FramesPeopleCountingCap>
<FaceContrastPersonInfoExtend><!--configuration capability of face comparison tag-->
246
Intelligent Security API (Facial) Developer Guide
<personInfoCap>
<maxPersonInfo min="0" max="4">
<!--optional, xs:integer, maximum number of person tags-->
</maxPersonInfo>
</personInfoCap>
<personInfoFDlibCap>
<maxPersonInfo min="0" max="4">
<!--optional, xs:integer, maximum number of person tags-->
</maxPersonInfo>
</personInfoFDlibCap>
</FaceContrastPersonInfoExtend>
<isSupportSafetyHelmetDetection>
<!-- opt, xs:boolean, whether it supports hard hat detection-->
</isSupportSafetyHelmetDetection>
<isSupportDistanceRecognition><!--optional, xs:boolean, whether supports distance measurement--></
isSupportDistanceRecognition>
<isSupportATM><!--optional, xs:boolean, ATM intelligent configuraiton, corresponds to URI: /ISAPI/Intelligent/ATM/
capabilities?format=json--></isSupportATM>
<isSupportFaceTemperature><!--optional, xs:boolean, whether the device supports face thermography, corresponds
to URI: /ISAPI/Intelligent/faceTemperature/capabilities?format=json--></isSupportFaceTemperature>
<isSupportFireEscapeDetectionSearch>
<!--optional, xs:boolean, whether the device supports searching for fire engine access detection events of multiple
channels (related URI: URI/ISAPI/Intelligent/fireEscapeDetection/search/capabilities?format=json)-->
</isSupportFireEscapeDetectionSearch>
<isSupportTakingElevatorDetectionSearch>
<!--optional, xs:boolean, whether the device supports searching for elevator detection events of multiple channels
(related URI: /ISAPI/Intelligent/takingElevatorDetection/search/capabilities?format=json)-->
</isSupportTakingElevatorDetectionSearch>
<isSupportCityManagementSearch>
<!--optional, xs:boolean, whether the device supports searching for city management events of multiple channels
(related URI: /ISAPI/Intelligent/cityManagement/search/capabilities?format=json)-->
</isSupportCityManagementSearch>
<isSupportSafetyHelmetDetectionSearch>
<!--optional, xs:boolean, whether the device supports searching for hard hat detection events of multiple channels
(related URI: /ISAPI/Intelligent/safetyHelmetDetection/search/capabilities?format=json)-->
</isSupportSafetyHelmetDetectionSearch>
</IntelliCap>
7.88 XML_IntelliResource
Message about intelligent resource parameters in XML format
<IntelliResourceCap version="2.0" xmlns="http://www.isapi.org/ver20/XMLSchema">
<BehaviorInfo><!--dep-->
<IntelliImage>
<isUpload><!--req, xs:boolean, whether to upload pictures, "true,false"--></isUpload>
<imgQuality><!--req, xs:string, picture quality, "best,good,general"--></imgQuality>
<imgResolutionWidth><!—req, xs:integer, picture resolution (width)--></imgResolutionWidth>
<imgResolutionHeight><!—req, xs:integer, picture resolution (height)--></imgResolutionHeight>
<isImgTargetOverlap>
247
Intelligent Security API (Facial) Developer Guide
248
Intelligent Security API (Facial) Developer Guide
<!--req, xs:float, height ratio of lower part (below the chin) of captured target picture-->
</underPartHeightRatio>
</TargetImgSize>
<fixedPixelEnable>
<!--opt, xs:boolean, whether to enable fixed pixel for capture-->
</fixedPixelEnable>
<heightPixel>
<!--dep, xs:integer, height pixels of captured target picture-->
</heightPixel>
</TargetImgInfo>
<backgroundIntervalUpload>
<!--optional, xs:intger, upload interval of the captured face picture, unit: second, range: [0,65535); it is invalid when
the value of backgroundUpload is false-->
<!--this parameter is applicable to user who cares network traffic and storage, if the face thermography alarm is
triggered or no face appears in the scene, ignore this node; if the value of this node is 0, it indicates uploading the real-
time captured face picture-->
</backgroundIntervalUpload>
</FaceCaptureInfo>
<AlgVersionInfo>
<AlgItem>
<id><!—ro, xs:string --></id>
<algName><!—ro, xs:string --></algName>
</AlgItem>
</AlgVersionInfo>
</IntelliResourceCap>
7.89 XML_IntelliResourceCap
Message about intelligent resource configuration capability in XML format
<IntelliResourceCap version="2.0" xmlns="http://www.isapi.org/ver20/XMLSchema">
<BehaviorInfo><!--dep-->
<IntelliImage>
<isUpload opt="true,false" /><!--req, xs:boolean, whether to upload pictures-->
<imgQuality opt="best,good,general" /><!--req, xs:string, picture quality-->
<isSupportImgResolutionCfg>
<!--req, xs: string, whether support configuring picture resolution-->
</isSupportImgResolutionCfg>
<isImgTargetOverlap opt="true,false" /><!--req, xs:boolean, whether to overlay target information on captured
picture-->
<isImgRuleOverlap opt="true,false" /><!--req, xs:boolean, whether to overlay rule information on captured
picture-->
</IntelliImage>
<VideoOverlapInfo>
<isOverlapIntelli opt="true,false" /><!--req, xs:boolean, whether to overlay intelligent information-->
<isOverlapTarget opt="true,false" /><!--req, xs:boolean-->
<isOverlapRule opt="true,false" /><!--req, xs:boolean-->
</VideoOverlapInfo>
<IntelliAnalysisEnable opt="true,false" /><!--req, xs:boolean, whether to enable VCA-->
<DisplayTrajectory><!--opt, display the target's moving path in live view-->
249
Intelligent Security API (Facial) Developer Guide
250
Intelligent Security API (Facial) Developer Guide
<upperPartHeightRatio></upperPartHeightRatio>
<underPartHeightRatio></underPartHeightRatio>
</HumanShouldersTargetImgSizeCap>
</TargetImgInfoCap>
<backgroundIntervalUpload min="0" max="65535">
<!--optional, xs:intger, upload interval of the captured face picture, unit: second, range: [0,65535); it is invalid when
the value of backgroundUpload is false-->
<!--this parameter is applicable to user who cares network traffic and storage, if the face thermography alarm is
triggered or no face appears in the scene, ignore this node; if the value of this node is 0, it indicates uploading the real-
time captured face picture-->
</backgroundIntervalUpload>
</FaceCaptureInfo>
<isSupportAlgVersionInfoCfg><!--req, xs: boolean, whether support configuring algorithm library version--></
isSupportAlgVersionInfoCfg>
<AlgVersionInfo>
<AlgItem>
<id><!--ro, xs: string--></id>
<algName><!--ro, xs: string--></algName>
</AlgItem>
</AlgVersionInfo>
</IntelliResourceCap>
Remarks
The resolutions of captured picture and video should be same.
7.90 XML_MaskInfo
XML message about result of importing pictures and additional information to list library
<?xml version="1.0" encoding="UTF-8"?>
<MaskInfo version="2.0" xmlns="http://www.isapi.org/ver20/XMLSchema">
<PID><!--optional, xs:string, picture ID returned after importing the picture, which is linked with the structured
information--></PID>
<picURL>
<!--optional, xs:string, picture URL generated after importing the picture; this node will not be returned if the value
of pictureSaveMode is noSave-->
</picURL>
<isNoSaveFDPicture>
<!--optional, xs:boolean, whether to save pictures in list library; it is true if the value of pictureSaveMode is noSave,
otherwise this node will not be returned-->
</isNoSaveFDPicture>
</MaskInfo>
7.91 XML_ModelingRangeList
ModelingRangeList message in XML format
251
Intelligent Security API (Facial) Developer Guide
Example
ModelingRangeList Message Example
<ModelingRangeList>
<ModelingRange>
<FDID>3</FDID>
<PID>5</PID>
</ModelingRange>
</ModelingRangeList>
7.92 XML_ModelingRangeTaskState
ModelingRangeTaskState message in XML format
<ModelingRangeTaskState version="2.0" xmlns="http://www.std-cgi.org/ver20/XMLSchema">
<taskTotalNumber>
<!--req,xs:integer, total number of tasks-->
</taskTotalNumber>
<completeNumber>
<!--req,xs:integer, number of completed tasks-->
</completeNumber>
<failedNumber>
<!--opt,xs:integer, number of face pictures with modeling failed, if all pictures are modeled, this node will not be
returned-->
</failedNumber>
</ModelingRangeTaskState>
Example
ModelingRangeTaskState Message Example
<ModelingRangeTaskState version="2.0" xmlns="http://www.hikvision.com/ver20/XMLSchema">
<taskTotalNumber>1</taskTotalNumber>
<completeNumber>0</completeNumber>
<failedNumber>0</failedNumber>
</ModelingRangeTaskState>
7.93 XML_ModelingStatus
XML message about modeling status
252
Intelligent Security API (Facial) Developer Guide
Example
Message Example
<ModelingStatus version="2.0" xmlns="http://www.hikvision.com/ver20/XMLSchema">
<FDID>1</FDID>
<PID>1</PID>
<name>face_540258350_20160712175253141</name>
<status>none</status>
<customFaceLibID />
<customHumanID />
</ModelingStatus>
7.94 XML_ModelingStatusList
ModelingStatusList message in XML format
<ModelingStatusList version="2.0" xmlns="http://www.std-cgi.org/ver20/XMLSchema">
<ModelingStatus/><!--see
XML_ModelingStatus
for details-->
</ModelingStatusList>
7.95 XML_PersonInfoExtend
PersonInfoExtend message in XML format
<PersonInfoExtend version="2.0" xmlns="http://www.isapi.org/ver20/XMLSchema">
<id min="" max="">
<!--req,xs:integer,person extension information No., which starts from 1-->
</id>
<enable>
<!--req,xs:boolean, enable person extension information-->
</enable>
<name min="" max="">
<!--opt,xs:string, label name of person extension information-->
253
Intelligent Security API (Facial) Developer Guide
</name>
<value min="" max="">
<!--opt,xs:string, label content of person extension information-->
</value>
</PersonInfoExtend>
7.96 XML_PersonInfoExtendList
PersonInfoExtendList message in XML format
<PersonInfoExtendList version="2.0" xmlns="http://www.isapi.org/ver20/XMLSchema">
<PersonInfoExtend/><!--see
XML_PersonInfoExtend
for details-->
</PersonInfoExtendList>
7.97 XML_PicInfoOverlap
PicInfoOverlap message in XML format
<PicInfoOverlap version="2.0" xmlns="http://www.std-cgi.org/ver20/XMLSchema">
<Overlap>
<enabled> <!-- opt, xs: boolean--> </enabled>
<OverlapItemList><!--opt-->
<OverlapItem>
<id><!--req, xs:integer --></id>
<item opt="positionInfo,cameraNo,captureTime,sex,age,GPS">
<!--req, xs:string, overlay information type: positionInfo (detection position information), cameraNo (device No.),
captureTime (captured time), sex (gender), age, GPS (device longitude and latitude information)-->
</item>
</OverlapItem>
<OverlapItemList>
</Overlap>
</PicInfoOverlap>
Example
PicInfoOverlap Message Example
<PicInfoOverlap version="2.0" xmlns="http://www.hikvision.com/ver20/XMLSchema">
<Overlap>
<enabled />
<OverlapItemList>
<OverlapItem>
<id />
<item opt="positionInfo,cameraNo,captureTime" />
</OverlapItem>
</OverlapItemList>
254
Intelligent Security API (Facial) Developer Guide
</Overlap>
</PicInfoOverlap>
7.98 XML_PictureUploadData
PictureUploadData message in XML format
<PictureUploadData version="2.0" xmlns="http://www.isapi.org/ver20/XMLSchema">
<FDID><!--req,xs:string, face picture library ID--></FDID>
<FaceAppendData><!--see the message XML_FaceAppendData for details-->
</PictureUploadData>
See Also
XML_FaceAppendData
7.99 XML_PictureUploadDataList
XML message about data file in URL format
<?xml version="1.0" encoding="utf-8"?>
<PictureUploadDataList version="2.0" xmlns="http://www.isapi.org/ver20/XMLSchema">
<PictureUploadData>
<customFaceLibID><!--required, xs:string, ID of custom face picture library--></customFaceLibID>
<FaceAppendData>
<bornTime><!--optional, xs:string, date of birth, ISO8601 time format, the maximum length is 32--></bornTime>
<name><!--required, xs:string, person name, whose length is between 1 bit and 32 bits--></--></name>
<sex><!--optional, xs:string,gender: "male,female"--></sex>
<province><!--optional, xs:string, province--></province>
<city><!--optional, xs:string, city--></city>
<certificateType>
<!--optional, xs:string, certificate types: "officerID","ID"-identity card, "passportID", and "other"-->
</certificateType>
<certificateNumber>
<!--dependent, xs:string, certificate No., its length varies with the certificate type; for "officerID", "ID", "other",
the maximum No. length is between 8 bits and 18 bits; for "passportID", the maximum No. length is between 8 bits
and 32 bits-->
</certificateNumber>
<PersonInfoExtendList><!--optional, custom extension information list of person-->
<PersonInfoExtend><!--list-->
<id><!--required, xs:integer,person extension information No., which starts from 1--></id>
<enable><!--required, xs:boolean, whethe rto enable person information extension--></enable>
<name><!--optional, xs:string, name of person extension information--></name>
<value><!--optional, xs:string, details of person extension information--></value>
</PersonInfoExtend>
</PersonInfoExtendList>
<phoneNumber><!--optional, xs:string, phone number, whose length is between 1 bit and 64 bits--></
phoneNumber>
<RegionCoordinatesList><!--optional, face target for data modeling-->
255
Intelligent Security API (Facial) Developer Guide
7.100 XML_ResponseStatus
XML message about response status
<ResponseStatus version="2.0" xmlns="http://www.std-cgi.org/ver20/XMLSchema">
<requestURL>
<!--required, read-only, xs:string, request URL-->
</requestURL>
<statusCode>
<!--required, read-only, xs:integer, status code: 0,1-OK, 2-Device Busy, 3-Device Error, 4-Invalid Operation, 5-Invalid
XML Format, 6-Invalid XML Content, 7-Reboot Required, 9-Additional Error-->
</statusCode>
<statusString>
<!--required, read-only, xs:string, status description: OK, Device Busy, Device Error, Invalid Operation, Invalid XML
Format, Invalid XML Content, Reboot, Additional Error-->
</statusString>
<subStatusCode>
<!--required, read-only, xs:string, describe the error reason in detail-->
</subStatusCode>
</ResponseStatus>
Note
See Response Codes of Text Protocol for details about sub status codes and corresponding error
codes.
7.101 XML_Schedule
Schedule message in XML format
<Schedule version="2.0" xmlns="http://www.isapi.org/ver20/XMLSchema">
<id><!--required, xs:string, ID--></id>
<eventType>
<!--optional, xs:string, alarm/event types, see details in the "Remarks" below-->
256
Intelligent Security API (Facial) Developer Guide
</eventType>
<inputIOPortID><!--read-only, dependent, xs:string, alarm input No.--></inputIOPortID>
<outputIOPortID><!--read-only, dependent, xs:string, alarm output No.--></inputIOPortID>
<videoInputChannelID><!--read-only, dependent, xs:string, video input channel ID--></videoInputChannelID>
<TimeBlockList size="8"><!--required-->
<TimeBlock><!--list-->
<dayOfWeek>
<!--optional, xs:integer, day of the week based on ISO8601, "1"=Monday, ...-->
</dayOfWeek>
<TimeRange><!--required-->
<beginTime><!--required, xs:time, ISO8601 time--></beginTime>
<endTime><!--required, xs:time, ISO8601 time--></endTime>
</TimeRange>
<CustomExtension>
<vehicleDetectSceneID>
<!--required, xs:interger-->
</vehicleDetectSceneID>
</CustomExtension>
</TimeBlock>
</TimeBlockList>
<HolidayBlockList><!--optional-->
<TimeBlock><!--list-->
<TimeRange><!--required-->
<beginTime><!--required, xs:time, ISO8601 time--></beginTime>
<endTime><!--required, xs:time, ISO8601 time--></endTime>
</TimeRange>
</TimeBlock>
</HolidayBlockList>
</Schedule>
Remarks
The node <eventType> can be set to the following values: IO, VMD,videoloss, PIR,linedetection,
fielddetection, audioexception, facedetection, regionEntrance, regionExiting, loitering, group,
rapidMove, parking, unattendedBaggage,attendedBaggage, storageDetection, shipsDetection,
HUMANATTRIBUTE, humanAttribute, faceContrast, faceSnap, faceLib, whiteListFaceContrast,
personDensityDetection, personQueueDetection, mixedTargetDetection, fireDetection,
illegalParking, pedestrian, trafficAccident,construction, roadblock, abandonedObject,
parallelParking, parkingState, congestion, intersectionAnalysis, heatMap, reverseEntrance,
vehicledetect, safetyHelmetDetection, vibrationDetection, TMPA, faceThermometry, HBDLib.
7.102 XML_SmartCap
SmartCap capability message in XML format
<SmartCap version="2.0" xmlns="http://www.isapi.org/ver20/XMLSchema">
<isSupportROI><!--opt, xs:boolean, whether to support ROI (Region of Interest)--></isSupportROI>
<isSupportFaceDetect><!--opt, xs:boolean, whether to support face detection--></isSupportFaceDetect>
<isSupportIntelliTrace><!--opt, xs:boolean--></isSupportIntelliTrace>
<isSupportFieldDetection><!--opt, xs:boolean, whether to support region detection--></isSupportFieldDetection>
257
Intelligent Security API (Facial) Developer Guide
<isSupportDefocusDetection><!--opt, xs:boolean--></isSupportDefocusDetection>
<isSupportAudioDetection><!--opt, xs:boolean--></isSupportAudioDetection>
<isSupportSceneChangeDetection><!--opt, xs:boolean, whether to support scene change detection--></
isSupportSceneChangeDetection>
<isSupportLineDetection><!--opt, xs:boolean--></isSupportLineDetection>
<isSupportRegionEntrance><!--opt, xs:boolean--></isSupportRegionEntrance>
<isSupportRegionExiting><!--opt, xs:boolean--></isSupportRegionExiting>
<isSupportLoitering><!--opt, xs:boolean--></isSupportLoitering>
<isSupportGroup><!--opt, xs:boolean--></isSupportGroup>
<isSupportRapidMove><!--opt, xs:boolean--></isSupportRapidMove>
<isSupportParking><!--opt, xs:boolean--></isSupportParking>
<isSupportUnattendedBaggage><!--opt, xs:boolean--></isSupportUnattendedBaggage>
<isSupportAttendedBaggage><!--opt, xs:boolean--></isSupportAttendedBaggage>
<isSupportPeopleDetection><!--opt, xs:boolean--></isSupportPeopleDetection>
<isSupportStorageDetection><!--opt, xs:boolean--></isSupportStorageDetection>
<isSupportShipsDetection><!--opt, xs:boolean--></isSupportShipsDetection>
<isSupportSmartCalibration><!--opt, xs:boolean--></isSupportSmartCalibration>
<isSupportShield><!--opt, xs:boolean, whether to support shielded area--></isSupportShield>
<isSupportAlgVersion><!--opt, xs:boolean, whether to support algorithm library version--></isSupportAlgVersion>
<isSupportVideoOverlap><!--opt, xs:boolean, whether to support text overlay--></isSupportVideoOverlap>
<isSupportParkingState><!--opt, xs:boolean, whether to support parking space status detection--></
isSupportParkingState>
<isSupportChannelResource><!--opt, xs:boolean--></ isSupportChannelResource>
<isSupportAnalysisUnitSwitch opt="true,false"><!--opt, xs:boolean, whether to support analysis unit switch--></
isSupportAnalysisUnitSwitch>
<isSupportHFPD><!--opt, xs:boolean, whether to support frequently appeared person detection--></isSupportHFPD>
<isSupportImageROI<!--opt, xs:boolean, whether to support smartJpeg (image ROI (Region of Interest))--></
isSupportImageROI>
</SmartCap>
7.103 XML_SubscribeEvent
SubscribeEvent message in XML format
<SubscribeEvent version="2.0" xmlns="http://www.isapi.org/ver20/XMLSchema" >
<heartbeat>
<!--optional, xs:integer, heartbeat interval, unit: second, the default value is 30s-->
</heartbeat>
<eventMode>
<!--required, xs:string, "all"-upload all alarms/events, "list"-upload specified alarm/event-->
</eventMode>
<EventList>
<Event><!--uploading mode of specified alarm/event, this node exists only when eventMode is "list"-->
<type>
<!--required, xs:string, alarm/event types, which are obtained from the capability, refer to Alarm/Event Types for
Subscription for its values-->
</type>
<minorAlarm>
<!--opt, xs:string, minor alarm type: "0x400,0x401,0x402,0x403", see details in Access Control Event Type. This
node is required when type is "AccessControllerEvent"-->
258
Intelligent Security API (Facial) Developer Guide
</minorAlarm>
<minorException>
<!--opt, xs:string, minor exception type: "0x400,0x401,0x402,0x403", see details in Access Control Event Type.
This node is required when type is "AccessControllerEvent"-->
</minorException>
<minorOperation>
<!--opt, xs:string, minor operation type: "0x400,0x401,0x402,0x403", see details in Access Control Event Type.
This node is required when type is "AccessControllerEvent"-->
</minorOperation>
<minorEvent>
<!--opt, xs:string, minor event type: "0x01,0x02,0x03,0x04", see details in Access Control Event Type. This node is
required when type is "AccessControllerEvent"-->
</minorEvent>
<pictureURLType>
<!--opt, xs:string, alarm picture format: "binary"-binary, "localURL"-device local URL, "cloudStorageURL"-cloud
storage URL-->
</pictureURLType>
</Event>
</EventList>
<channels>
<!--optional, xs:string, event linked channel information, and multiple channels can be linked, each channel is
separated by comma, e.g., "1,2,3,4…"-->
</channels>
<channels>
<!--optional, xs:string, specify channels (each channel is separated by comma, e.g., "1,2,3,4…") to be armed, this
node does not exist if you want to arm all channels, and if this node exists, the sub node <channels> in the node
<Event> is invalid-->
</channels>
<identityKey max="64"/>
<!--opt, xs: string, interaction command of subscription, supports subscribing comparison results of face picture
library (importing with this command), the maximum length is 64-->
</SubscribeEvent>
7.104 XML_SubscribeEventCap
SubscribeEventCap capability message in XML format
<SubscribeEventCap version="2.0" xmlns="http://www.isapi.org/ver20/XMLSchema">
<heartbeat min="" max="" />
<!--optional, heartbeat time interval, unit: second-->
<format opt="xml,json"/><!--req, supported message format-->
<channelMode opt="all,list" />
<!--required, channel subscription mode: "all"-subscribe events/alarms of all channels, "list"-subscribe events/
alarms of specific channels-->
<eventMode opt="all,list" />
<!--required, event subscription mode: "all"-subscribe all event types (must be supported), "list"-subscribe specific
event types, if "list" is returned, "all" will also be returned-->
<!--if both the channelMode and eventMode returns "all", it indicates that the device does not support subscribing
event/alarm by event type or channel-->
<EventList><!--required, dependent, upload mode of specified alarms/events, it is valid only when eventMode is
259
Intelligent Security API (Facial) Developer Guide
"list"-->
<Event><!--required-->
<type><!--required, xs:string, refer to Supported Alarm/Event Types for details--></type>
<minorAlarm opt="0x400,0x401,0x402,0x403">
<!--opt, xs:string, minor alarm type, see details in Access Control Event Type. This node is required when type is
"AccessControllerEvent"-->
</minorAlarm>
<minorException opt="0x400,0x401,0x402,0x403">
<!--opt, xs:string, minor exception type, see details in Access Control Event Type. This node is required when type
is "AccessControllerEvent"-->
</minorException>
<minorOperation opt="0x400,0x401,0x402,0x403">
<!--opt, xs:string, minor operation type, see details in Access Control Event Type. This node is required when type
is "AccessControllerEvent"-->
</minorOperation>
<minorEvent opt="0x01,0x02,0x03,0x04">
<!--opt, xs:string, minor event type, see details in Access Control Event Type. This node is required when type is
"AccessControllerEvent"-->
</minorEvent>
<pictureURLType opt="binary,localURL,cloudStorageURL" def=""/>
<!--opt, xs:string, alarm picture format: "binary"-binary, "localURL"-device local URL, "cloudStorageURL"-cloud
storage URL, and the def is followed by the default format-->
</Event>
</EventList>
<pictureURLType opt="binary,localURL,cloudStorageURL" def=""/>
<!--opt, xs:string, alarm picture format: "binary"-binary picture, "localURL"-device local URL, "cloudStorageURL"-
cloud storage URL. This node is the method of uploading all pictures related to the event. If this node is applied,
<pictureURLType> in <Event> is invalid; otherwise, pictures will be uploaded using the default method returned by the
device capability. For front-end devices, the default method is uploading binary pictures; for back-end devices, the
default method is by device local URL-->
<ChangedUploadSub><!--message subscription-->
<interval/><!--opt, xs:integer, lifecycle of arming GUID, the default value is 5 minutes, unit: second. The device will
generate new GUID for the arming connection after it is disconnected for the set lifecycle-->
<StatusSub>
<all/><!-- opt, xs:boolean, whether to subscribe all events-->
<channel/><!--opt, xs:boolean, whether to subscribe channel status. This node is not required when <all> is
"true"-->
<hd/><!--opt, xs:boolean, whether to subscribe disk status. This node is not required when <all> is "true"-->
<capability/><!--opt, xs:boolean, whether to subscribe capability change status. This node is not required when
<all> is "true"-->
</StatusSub>
</ChangedUploadSub>
<identityKey max="64"/>
<!--opt, xs: string, interaction command of subscription, supports subscribing comparison results of face picture
library (importing with this command), the maximum length is 64-->
</SubscribeEventCap>
7.105 XML_SubscribeEventResponse
SubscribeEventResponse message in XML format
260
Intelligent Security API (Facial) Developer Guide
<SubscribeEventResponse>
<id><!--req, xs:integer, subscription ID--></id>
<FailedEventList>
<!--opt, list of subscription failed events. When subscription failed, it should be returned, and the upper layer can
check whether all event/alarm subscriptions are succeeded via the existence of node FailedEventList-->
<Event>
<type>
<!--req, xs:string, refer to Supported Alarm/Event Types for details-->
</type>
<minorAlarm>
<!--opt, xs:string, minor alarm type: "0x400,0x401,0x402,0x403", see details in Access Control Event Type. This
node is required when type is "AccessControllerEvent"-->
</minorAlarm>
<minorException>
<!--opt, xs:string, minor exception type: "0x400,0x401,0x402,0x403", see details in Access Control Event Type.
This node is required when type is "AccessControllerEvent"-->
</minorException>
<minorOperation>
<!--opt, xs:string, minor operation type: "0x400,0x401,0x402,0x403", see details in Access Control Event Type.
This node is required when type is "AccessControllerEvent"-->
</minorOperation>
<minorEvent>
<!--opt, xs:string, minor event type: "0x01,0x02,0x03,0x04", see details in Access Control Event Type. This node is
required when type is "AccessControllerEvent"-->
</minorEvent>
<pictureURLType>
<!--opt,xs:string, opt="binary,localURL,cloudStorageURL", alarm picture transmission mode: "binary"-binary,
"localURL"-device local URL, "cloudStorageURL"-cloud storage URL-->
</pictureURLType>
<channels>
<!--opt, xs:string, "1,2,3,4…", event related channel ID, supports multiple channels, and the channel ID is
separated by commas-->
</channels>
<subStatusCode>
<!--req, string, subscription failure error code-->
</subStatusCode>
</Event>
</FailedEventList>
</SubscribeEventResponse>
7.106 XML_SurplusCapacity
SurplusCapacity message in XML format
<SurplusCapacity version="2.0" xmlns="http://www.isapi.org/ver20/XMLSchema">
<FDPicturesNumber>
<!--opt,xs:integer, supported number of remaining face pictures in the face picture library-->
</FDPicturesNumber>
</SurplusCapacity>
261
Intelligent Security API (Facial) Developer Guide
Example
SurplusCapacity Message Example for Front-End Device
<SurplusCapacity version="2.0" xmlns="http://www.hikvision.com/ver20/XMLSchema">
<FDPicturesNumber>29987</FDPicturesNumber>
</SurplusCapacity>
7.107 WhiteListFaceContrastScheduleList
WhiteListFaceContrastScheduleList message in XML format.
<WhiteListFaceContrastScheduleList version="2.0" xmlns="http://www.isapi.org/ver20/XMLSchema">
<Schedule/><!-- opt -->
</WhiteListFaceContrastScheduleList>
262
Intelligent Security API (Facial) Developer Guide
StatusCode=1
StatusCode=2
263
Intelligent Security API (Facial) Developer Guide
StatusCode=3
264
Intelligent Security API (Facial) Developer Guide
StatusCode=4
265
Intelligent Security API (Facial) Developer Guide
266
Intelligent Security API (Facial) Developer Guide
267
Intelligent Security API (Facial) Developer Guide
268
Intelligent Security API (Facial) Developer Guide
269
Intelligent Security API (Facial) Developer Guide
270
Intelligent Security API (Facial) Developer Guide
271
Intelligent Security API (Facial) Developer Guide
272
Intelligent Security API (Facial) Developer Guide
273
Intelligent Security API (Facial) Developer Guide
274
Intelligent Security API (Facial) Developer Guide
275
Intelligent Security API (Facial) Developer Guide
276
Intelligent Security API (Facial) Developer Guide
277
Intelligent Security API (Facial) Developer Guide
278
Intelligent Security API (Facial) Developer Guide
279
Intelligent Security API (Facial) Developer Guide
280
Intelligent Security API (Facial) Developer Guide
281
Intelligent Security API (Facial) Developer Guide
282
Intelligent Security API (Facial) Developer Guide
283
Intelligent Security API (Facial) Developer Guide
284
Intelligent Security API (Facial) Developer Guide
285
Intelligent Security API (Facial) Developer Guide
286
Intelligent Security API (Facial) Developer Guide
287
Intelligent Security API (Facial) Developer Guide
288
Intelligent Security API (Facial) Developer Guide
289
Intelligent Security API (Facial) Developer Guide
StatusCode=5
StatusCode=6
290
Intelligent Security API (Facial) Developer Guide
291
Intelligent Security API (Facial) Developer Guide
292
Intelligent Security API (Facial) Developer Guide
293
Intelligent Security API (Facial) Developer Guide
294
Intelligent Security API (Facial) Developer Guide
295
Intelligent Security API (Facial) Developer Guide
StatusCode=7
296