Security PUSH Communication Protocol 20210907
Security PUSH Communication Protocol 20210907
Security PUSH
Communication Protocol
PUSH SDK
Date: September 2021
English
Thank you for choosing our product. Please read the instructions carefully before
operation. Follow these instructions to ensure that the product is functioning
properly. The images shown in this manual are for illustrative purposes only.
Without the prior written consent of ZKTeco, no portion of this manual can be copied or forwarded in any
way or form. All parts of this manual belong to ZKTeco and its subsidiaries (hereinafter the "Company" or
"ZKTeco").
Trademark
is a registered trademark of ZKTeco. Other trademarks involved in this manual are owned by
their respective owners.
Disclaimer
This manual contains information on the operation and maintenance of the ZKTeco equipment. The
copyright in all the documents, drawings, etc. in relation to the ZKTeco supplied equipment vests in and is
the property of ZKTeco. The contents hereof should not be used or shared by the receiver with any third
party without express written permission of ZKTeco.
The contents of this manual must be read as a whole before starting the operation and maintenance of the
supplied equipment. If any of the content(s) of the manual seems unclear or incomplete, please contact
ZKTeco before starting the operation and maintenance of the said equipment.
It is an essential pre-requisite for the satisfactory operation and maintenance that the operating and
maintenance personnel are fully familiar with the design and that the said personnel have received
thorough training in operating and maintaining the machine/unit/equipment. It is further essential for the
safe operation of the machine/unit/equipment that personnel has read, understood and followed the safety
instructions contained in the manual.
In case of any conflict between terms and conditions of this manual and the contract specifications,
drawings, instruction sheets or any other contract-related documents, the contract conditions/documents
shall prevail. The contract specific conditions/documents shall apply in priority.
ZKTeco offers no warranty, guarantee or representation regarding the completeness of any information
contained in this manual or any of the amendments made thereto. ZKTeco does not extend the warranty of
any kind, including, without limitation, any warranty of design, merchantability, or fitness for a particular
purpose.
ZKTeco does not assume responsibility for any errors or omissions in the information or documents which
are referenced by or linked to this manual. The entire risk as to the results and performance obtained from
using the information is assumed by the user.
ZKTeco in no event shall be liable to the user or any third party for any incidental, consequential, indirect,
special, or exemplary damages, including, without limitation, loss of business, loss of profits, business
interruption, loss of business information or any pecuniary loss, arising out of, in connection with, or relating
to the use of the information contained in or referenced by this manual, even if ZKTeco has been advised of
the possibility of such damages.
This manual and the information contained therein may include technical, other inaccuracies or
typographical errors. ZKTeco periodically changes the information herein which will be incorporated into
new additions/amendments to the manual. ZKTeco reserves the right to add, delete, amend or modify the
information contained in the manual from time to time in the form of circulars, letters, notes, etc. for better
operation and safety of the machine/unit/equipment. The said additions or amendments are meant for
improvement /better operations of the machine/unit/equipment and such amendments shall not give any
right to claim any compensation or damages under any circumstances.
ZKTeco shall in no way be responsible (i) in case the machine/unit/equipment malfunctions due to any non-
compliance of the instructions contained in this manual (ii) in case of operation of the
machine/unit/equipment beyond the rate limits (iii) in case of operation of the machine and equipment in
conditions different from the prescribed conditions of the manual.
The product will be updated from time to time without prior notice. The latest operation procedures and
relevant documents are available on http://www.zkteco.com
ZKTeco Headquarters
ZKTeco is one of the world’s largest manufacturer of RFID and Biometric (Fingerprint, Facial, Finger-vein)
readers. Product offerings include Access Control readers and panels, Near & Far-range Facial Recognition
Cameras, Elevator/floor access controllers, Turnstiles, License Plate Recognition (LPR) gate controllers and
Consumer products including battery-operated fingerprint and face-reader Door Locks. Our security
solutions are multi-lingual and localized in over 18 different languages. At the ZKTeco state-of-the-art
700,000 square foot ISO9001-certified manufacturing facility, we control manufacturing, product design,
component assembly, and logistics/shipping, all under one roof.
The founders of ZKTeco have been determined for independent research and development of biometric
verification procedures and the productization of biometric verification SDK, which was initially widely
applied in PC security and identity authentication fields. With the continuous enhancement of the
development and plenty of market applications, the team has gradually constructed an identity
authentication ecosystem and smart security ecosystem, which are based on biometric verification
techniques. With years of experience in the industrialization of biometric verifications, ZKTeco was
officially established in 2007 and now has been one of the globally leading enterprises in the biometric
verification industry owning various patents and being selected as the National High-tech Enterprise for 6
consecutive years. Its products are protected by intellectual property rights.
All figures displayed are for illustration purposes only. Figures in this manual may not be exactly consistent
with the actual products.
Document Conventions
GUI Conventions
For Software
Convention Description
Bold font Used to identify software interface names e.g., OK, Confirm, Cancel.
> Multi-level menus are separated by these brackets. For example, File > Create > Folder.
For Device
Convention Description
<> Button or key names for devices. For example, press <OK>.
Window names, menu items, data table, and field names are inside square brackets.
[]
For example, pop up the [New User] window.
Multi-level menus are separated by forwarding slashes.
/
For example, [File/Create/Folder].
Symbols
Convention Description
Revision History
1. Add event code 69, 233, 234, 237, 238, 239, 240,
Cao
2020/04/14 V1.7 241, 242 in Appendix 2 Description of Real-time
Yanming
Events.
Yan
2019/05/10 V1.3 2. Added a protocol for pushing device parameters.
Guangtian
Yan
2018/8/29 V1.0 1. Added protocols for visible light face recognition.
Guangtian
First
2018/4/16 Li Xianping
edition
Table of Contents
1. OVERVIEW .......................................................................................................................................... 12
1.1 FEATURES.................................................................................................................................................... 12
1.2 ENCODING................................................................................................................................................... 12
1.3 INTRODUCTION TO HTTP PROTOCOL ........................................................................................................... 12
2. DEFINITION ............................................................................................................................................ 14
3. FUNCTIONS ............................................................................................................................................ 15
4. PROCESS ................................................................................................................................................ 18
5. AUTHORIZATION ................................................................................................................................... 51
6. HEARTBEAT ........................................................................................................................................... 53
1. Overview
The PUSH protocol is a data protocol defined based on the Hyper Text Transmission Protocol (HTTP)
established on TCP/IP connection. The Push protocol applied to the data interchange between a server
and a ZKTeco attendance device or a ZKTeco access control device defines the transmission formats of
data (including user information, biological recognition templates, and attendance records) and the
command format for control devices. At present, the protocol supports ZKTeco’s WDMS, ZKECO, ZKNET,
ZKBioSecurity3.0, and other servers as well as third-party servers such as ESSL from India.
1.1 Features
• Active uploading of new data.
• Resuming transmission from breakpoint.
• The client initiates all functions such as uploading data or performing commands issued by the
server.
1.2 Encoding
Most data transmitted via the protocol consists of ASCII characters, but fields like the user name need to
be encoded. The following are the rules defined for data of this type:
The HTTP is a request/response protocol. The format of request sent by a client to a server is a request
method. A URI, a protocol version number, and then a MIME-like message containing modifiers, client
information and a possible message body. The format of a response sent by the server to the client is a
status line followed by a MIME-like message containing server information, entity meta-information and
possible entity-body content. The status line the protocol version number of the message and a success
code or error code. The following is an example.
Client Request
http://113.108.97.187:8081/iclock/accounts/login/?next=/ic
GET
lock/data/iclock/HTTP/1.1
User-Agent Fiddler
Host 113.108.97.187:8081
Server Response
HTTP/1.1 200 OK
Server: Apache-Coyote/1.1
Date: Fri, 10 Jul 2015 03: 53: 16 GMT
Content-Type: text/html; charset=utf-8
Transfer-Encoding: chunked
Connection: close
Content-Language: en
Expires: Fri, 10 Jul 2015 03: 53: 16 GMT
Vary: Cookie, Accept-Language
Last-Modified: Fri, 10 Jul 2015 03: 53: 16 GMT
ETag: "c487be9e924810a8c2e293dd7f5b0ab4"
Pragma: no-cache
Cache-Control: no-store
Set-Cookie: csrftoken=60fb55cedf203c197765688ca2d7bf9e; Max-Age=31449600;
Path=/
Set-Cookie: sessionid=06d37fdc8f36490c701af2253af79f4a; Path=/
0
Remarks
2. Definition
In this documentation, the format of definition reference is ${ServerIP}.
Parameters Description
ServerIP The IP address of the server
ServerPort A port of the server
XXX An unknown value
Value1\Value2\Value3……\Valuen Value 1\Value 2\Value 3\……\Value n
Required Mandatory
Optional Selectable
Serial number.
SerialNumber It can have characters, numbers, or combination
of characters and numbers
NUL Null (\0)
SP Space
LF Line feeder or a line break (\n)
CR Carriage return (\r)
HT Horizontal tab (\t)
DataRecord A data record
CmdRecord A command record
CmdID The ID of a command
CmdDesc Command description
Reserved A reserved field
BinaryData A binary data flow
BinaryData A Base64-based data flow
TableName The name of the data table
Key A key
Value A value
FilePath A file path
URL A resource location
Cond A condition
3. Functions
The following describes functions supported by the PUSH protocol for the client.
In order to simplify the development process, the specifications for biological template/ photo issue/
upload/ query/ delete are unified.
1. The device pushes the following 5 parameters to the server through registration interface:
• MultiBioDataSupport
• MultiBioPhotoSupport
• MultiBioVersion
• MaxMultiBioDataCount
• MaxMultiBioPhotoCount.
2. The server issues the following two parameters to the device through the [Download Configuration
Parameters] interface:
• MultiBioDataSupport
• MultiBioPhotoSupport.
3. Both the device and the server will determine the finally supported hybrid identification template/
photo type based on the MultiBioDataSupport and MultiBioPhotoSupport parameters pushed by
each other.
For example:
The device supports fingerprint templates, visible light face templates, and visible light face photos.
The software supports face templates and visible light face photos. Because the software does not
support fingerprint templates, finally after the device docking with the software, it only supports
visible light face templates and visible light face photos.
After successfully connecting to the hybrid identification protocol, a unified template format can be used
for the types supported by the device and the server.
The server issues the templates to the device. Issue Unified Templates
The server issues the photos to the device. Issue Comparison Photos
The sever queries the quantity of templates. Query the Quantity of Unified Templates
The device uploads the templates to the server. Upload Unified Templates
The device uploads the comparison photos to the server. Upload Comparison Photos
1. For devices that support hybrid identification protocol, the maximum number of templates/ photos
supported by the current device will be pushed to the server at the registration interface:
MaxMultiBioDataCount, MaxMultiBioPhotoCount.
2. The server can get all the photos/templates saved by the current device by [Get comparison photo
count] and [Get unified template count].
Hybrid identification protocol specification real-time upload of unified templates and photos:
1. The bio-templates/ comparison photos registered by the device will be uploaded to the server in
real time.
Note: Upload interface refer to [upload unified templates] and [upload comparison photos].
2. You can use PostBackTmpFlag to specify whether you want the device to return the unified
templates when the software issues the comparison photos.
For devices that support both templates and photos issuing, the server can determine the device
template version number based on the MultiBioVersion parameter uploaded by the device. If the server
has saved the template of the current version number, the template can be issued first instead of
comparison photos.
Note: To issue the comparison photos, the device needs to extract photos into templates, which is less
efficient than directly issuing templates.
If a template with the same algorithm version number is issued for the same type of biometric
identification of the same person, both the issued template and the issued photo can make the device
recognize normally. Please do not send out the template and photograph at the same time. This will only
add to the device's workload, and it makes no sense.
4. Process
In PUSH mode, the client must first initiate a request to “Initialize Information Interaction” and can use
other functions only after the request is successful, such as uploading data, obtaining server commands,
uploading update information, and replying to the server commands.
These functions can be used in any sequence, specifically depending on the development of the client
applications, as shown in the following figure:
After the server receives the request sent by the client, two kinds of procedures are available depending
on whether the device has been registered. If the device has been registered, the server returns the
registration code and its configuration parameters and completes the connection. If the device is not
registered, the client needs to initiate a registration request and send device parameters to the server.
After the device is registered, the server returns the registration code. Then, the client sends a request
to download the server configuration parameters.
The interaction is successful after the client obtains the configurations. The details are as follows:
Application Scenario
If the device has not connected to the software, it needs to send a connection request to create a
connection.
Client Request
GET/iclock/cdata?SN=${SerialNumber}&pushver=${XXX}
HTTP
&options=all&${XXX}=${XXX} HTTP/1.1
Host ${ServerIP}:${ServerPort}
Annotation
URI /iclock/cdata
Note: If the device has been registered, the next step is to send a request to download the
configuration parameters; otherwise, the next step is to send a registration request and then send a
request to download the configuration parameters after the device is registered. Currently, the client
needs to be registered for each connection.
Server Response
If the device is not registered, the format of the normal server response is as follows:
HTTP/1.1 200 OK
Server: Apache-Coyote/1.1
Content-Length: ${XXX}
Date: ${XXX}
OK
If the device has been registered, the format of the normal server response is as follows:
HTTP/1.1 200 OK
Server: ${XXX}
Content-Length: ${XXX}
Date: ${XXX}
…
If the device has been registered, the software will and must return the registry and RegistryCode;
otherwise, the software will not return the registry and RegistryCode.
Parameter Description
Interval time for the client to reconnect to the server after networking
ErrorDelay
connection failure. The recommended value is 30 to 300s.
The interval (in seconds) at which the client sends the command
RequestDelay acquiring request. If no value is configured at the client, the default
value 30s are used.
Time at which the client checks for and transmits new data regularly
(in a 24-hour format: hour: minute) and multiple times are separated
TransTimes
by semicolons. Up to 10 times are supported.
For example, TransTimes=00: 00;14: 00
The interval (in minutes) at which the system checks whether any new
TransInterval data needs to be transmitted. If no value is configured at the client, the
default value 2 min is used.
The new data that needs to be checked and uploaded. The default
TransTables value is User Transaction, which means the user and access control
records need to be automatically uploaded.
Example:
Client Request
GET/iclock/cdata?SN=3383154200002&pushver=3.0.1&o
HTTP
ptions=all HTTP/1.1
Host 192.168.213.17:8088
Connection starting
Accept application/push
Accept-Charset UTF-8
Accept-Language VoicePrint-CN
Server Response
If the device is not registered, the format of the normal server response is as follows:
HTTP/1.1 200 OK
Server: Apache-Coyote/1.1
Content-Length:2
Date: Mon, 09 Jan 2017 02:20:19 GMT
OK
Application scenario
The device pushes its public key to the server and receives the server’s public key from the server.
Client Request
Host ${ServerIP}:${ServerPort}
Content- ${XXX}
Length …
Publickey ${XXX}
Annotation
Server Response
HTTP/1.1 200 OK
Server: ${XXX}
Set-Cookie: ${XXX}; Path=/; HttpOnly
Content-Type: application/push;charset=UTF-8
Content-Length: ${XXX}
Date: ${XXX}
PublicKey= ${XXX}
Parameter Description
Example:
Client Request
POST/iclock/exchange?SN=ODG7030067031100001&type=pu
HTTP
blickey HTTP/1.1
Cookie token=e6bc9a9c2f9ce675e3548d5aeda2777e
Host 192.168.52.44:8088
Connection starting
Accept application/push
Accept-Charset UTF-8
Accept-
zh-CN
Language
Content-Type application/push;charset=UTF-8
Content-
zh-CN
Language
Content-Length 3580
PublicKey=DMCtR13RwiGI4M9TRn/3xEmkddz2lqoZR7zUrOMhOc3FLvhLtpIWs3
REOSaKT4A9WO0ONt3V+mVb0W3Ka3NeCTWLjf9LplV1EyJIoZwXspGroPMTEWitLE
+LLsrO1r47OQRr62j5YSViUDKgzLVCvEek2iJ+3D181Z3qxV7a7WIoQ9DUGiPaU8
gml4cmiyqQimxIQ1wwMcMpcIFOIsSx7UjCG+D41dM/vh5UZxrQwn7IiMOmNdFXlB
+TOjaJ+4K/n3TDjubrbebqx6H2+nErH1mBuCCSNIKfwc5earkNfXPuqgBNGqCFJo
jgcQiOySquaq2DFXdUwYBLIURDnBLf+TtoSh4=
Server Response
HTTP/1.1 200 OK
Server: Apache-Coyote/1.1
Content-Length: 590
Date: Mon, 10 Sep 2018 10:10:55 GMT
PublicKey=DMCvFlzRwiGI4M9TRn/3xEmkddz2lqoZR7zUrOMhOc3FLvhLtpIYu3ZMNS
eKVLcZUv4iHNnxzl9B8SfuVSxXAwyijYAj6Wg4YyxTj4stv4K7q54sUCikb1CbQ/H0m9
QZGyhM1WjrHhppXT/CsOAquEy/2gxfrSt3nai38Hb/8QoTHvnXJR2EVpcY6u47jBeGiX
M3ZUQgCtcdB7JBXsOr71XWEsLX1fIC3GofGCy0g0bUkumWJfNKwBWfWzb95o6klDi8uP
/wU+DS1uLs1VcCN0WNtX+DCajyzcYvecR8cgbs0F1QfMmiRr/dYAOkwF/bSMyuLkd+o6
FmLBAh9keFtgkFa+PC5RlFGrmxpJx4lMoLfaNqUNwyAuRdKezvYBDUrRhGwgtwo/BRGU
oWCeOB4YP/gHHGro0M8f3/HlSqliuT55Xks/Btp1tpfO/OeJjELUA9Yu0o4TQlnM19Pu
OGsYhipM9NeGGexKjtotHotLT4Ccso04nAf7TltDavoPvVGJGiDbnN7l8wsUCsqcCRsi
KhpmON2waLjdFa8PNJ62N6Dl6QRPKn9XLnIDFdtKSq5Vgn
Application scenario
The device pushes its factors to the server and receives the server’s factors from the server.
Client Request
POST POST/iclock/exchange?SN=$(SerialNumber)&type=factors
Host ${ServerIP}:${ServerPort}
Content- ${XXX}
Length …
Factors ${XXX}
Annotation
Server Response
HTTP/1.1 200 OK
Server: ${XXX}
Set-Cookie: ${XXX}; Path=/; HttpOnly
Content-Type: application/push;charset=UTF-8
Content-Length: ${XXX}
Date: ${XXX}
Factors=${XXX}
Parameter Description
Example:
Client Request
POST/iclock/exchange?SN=ODG7030067031100001&type=fa
HTTP
ctors HTTP/1.1
Host 192.168.52.44:8088
Connection starting
Accept application/push
Accept-Charset UTF-8
Accept-
zh-CN
Language
Content-Type application/push;charset=UTF-8
Content-
zh-CN
Language
Content-Length 352
Factors=D/VtnItwfRAbVfyAJku6jKdobqCUIz2eTJ0yXIwI8ZMi5wSylQePPhVD
GQvrppcssZ/zgX6qAWSKUXVlGRXNQ6kBk7+Kc6SaI090cvvMeLHCc1h69TIsbfkM
tLGd1npscnDmmOoC19qqIbtTha9zNHmf38dHDkGZf3vLv/I8iwqV3RAX7MalBW4M
+kYvbdYNgzR5kqcG+wTZOet5QAf/8YoRg7qZmnkAG6sAYALQotTfwQcjGUCtVoJO
Nw8WshzkpdzgNsoo7UtYEmmhbEPHtqgaDN5OLexoE9u6Ip3gMd+V2hf70rs+mVUY
R6frkEKe/6rA+oIdguhb2lp6HnwfNQ==
Server Response
HTTP/1.1 200 OK
Server: Apache-Coyote/1.1
Content-Length:180
Date: Mon, 10 Sep 2018 10:10:55 GMT
Factors= XQ10e0WiFtslJW5ob221T/WCK42GXGP6mmiBB9yB93rD3CxlKZo3mavyqfT
KFxtCn8AtkxL7MH4UeRvRnFTrv3Q4kKaYndiiphuvxOGQxrzcGGjH0sRzgPcTtAQu0U7
A8vg2sMzZOxokqLuDVE5nlsx1/1V46wTK+oNU9q8fgKM=
4.4 Registration
Application scenario
After the client sends a connection request, if no registration code is returned (which means the
device is not registered), the client needs to send a registration request to register the device.
Client Request
POST POST/iclock/exchange?SN=$(SerialNumber)&type=factors
Host ${ServerIP}:${ServerPort}
Content- ${XXX}
Length …
DeviceType=acc,~DeviceName=${XXX},FirmVer=${XXX},PushVersion=${X
XX},MAC=$(XXX),CommType=$(XXX),MaxPackageSize=${XXX},LockCount=$
{XXX},ReaderCount=${XXX},AuxInCount=${XXX},AuxOutCount=${XXX},Ma
chineType=${XXX},~IsOnlyRFMachine=${XXX},~MaxUserCount=${XXX},~M
axAttLogCount=${XXX},~MaxUserFingerCount=${XXX},MThreshold=${XXX
},IPAddress=${XXX},NetMask=${XXX},GATEIPAddress=${XXX},~ZKFPVers
ion=${XXX},~REXInputFunOn=${XXX},~CardFormatFunOn=${XXX},~SupAut
hrizeFunOn=${XXX},~ReaderCFGFunOn=${XXX},~ReaderLinkageFunOn=${X
XX},~RelayStateFunOn=${XXX},~Ext485ReaderFunOn=${XXX},~TimeAPBFu
nOn=${XXX},~CtlAllRelayFunOn=${XXX},~LossCardFunOn=${XXX},Simple
EventType=${XXX},VerifyStyles=${XXX},EventTypes=${XXX},DisableUs
erFunOn=${XXX},DeleteAndFunOn=${XXX},LogIDFunOn=${XXX},DateFmtFu
nOn=${XXX},DelAllLossCardFunOn=${XXX},AutoClearDay=${XXX},FirstD
elayDay=${XXX},DelayDay=${XXX},StopAllVerify=${XXX},FvFunOn=${XX
X},FaceFunOn=${XXX},FingerFunOn=${XXX},CameraOpen=${XXX},AccSupp
ortFunList=${XXX},AutoServerFunOn=${XXX},DelayOpenDoorFunOn=${XX
X},UserOpenDoorDelayFunOn=${XXX},MultiCardInterTimeFunOn=${XXX},
OutRelaySetFunOn=${XXX},MachineTZFunOn=${XXX},DSTFunOn=${XXX},Ca
rdSiteCodeFunOn=${XXX},MulCardUserFunOn=${XXX},UserNameFunOn=${X
XX},StringPinFunOn=${XXX},MaxLockCount=${XXX},MaxZigbeeCount=${X
XX},MaxMCUCardBits=${XXX},SupportReaderType=${XXX},CmdFormat=${X
XX},authKey=${XXX},MultiStageControlFunOn=${XXX},MasterControlOn
=${XXX},SubControlOn=${XXX},BioPhotoFun=${XXX},BioDataFun=${XXX}
Annotation
Parameter Description
Communication type
Ethernet: Cable network communication
CommType
Usb-4G-modem: 4G network communication
Serial-wireless: Wi-Fi (serial port and Sdio) communication
UserOpenDoorDelayFu
User door open time function, not supported
nOn
MultiCardInterTimeF
Set the interval time of multiple card function, not supported
unOn
MultiStageControlFu
Multiple stage control parameters, detail in Appendix 15.
nOn
SubcontractingUpgra
Subcontract upgrade protocol function switch parameter
deFunOn
IRTempDetectionFunO
The infrared temperature detection function is turned on
n
Such as:
The device supports face, palm vein, fingerprint, password,
UserID, card, then upload 0000111000011010.
The device supports face, palm vein, password, card, then
upload 0000101000001010.
Position
Meaning Remarks
value
Remarks:
Use the date of the day as the key and use the
Scheme 1 AES256 algorithm for encryption (the key is
fixed).
For example:
QRCodeDecryptFunList=101, which means that the device
supports scheme one and three decryption methods.
Note: Position value means the value of the bit in the string of
Position
Description
Value
0 is not supported;
10
1 is supported Wg test function is supported
Wireless-serial function.
24
0 is not supported, 1 is supported.
ID registration or not.
30
0 is not supported, 1 is supported.
Server Response
HTTP/1.1 200 OK
Server: ${XXX}
Set-Cookie: ${XXX}; Path=/; HttpOnly
Content-Type: application/push;charset=UTF-8
Content-Length: ${XXX}
Date: ${XXX}
RegistryCode=${XXX}
Parameters Description
Example:
Client Request
Host 192.168.52.44:8088
Connection starting
Accept application/push
Accept-Charset UTF-8
Accept-
zh-CN
Language
Content-Type application/push;charset=UTF-8
Content-
zh-CN
Language
Content-Length 855
DeviceType=acc,~DeviceName=F20/M,FirmVer=Ver 8.0.1.3-
20151229,PushVersion=Ver 2.0.22-
20161201,CommType=ethernet,MaxPackageSize=2048000,LockCount=1,Re
aderCount=2,AuxInCount=0,AuxOutCount=0,MachineType=101,~IsOnlyRF
Machine=0,~MaxUserCount=50,~MaxAttLogCount=10,~MaxUserFingerCoun
t=10,MThreshold=60,IPAddress=192.168.213.221,NetMask=255.255.255
.0,GATEIPAddress=192.168.213.1,~ZKFPVersion=10,IclockSvrFun=1,Ov
erallAntiFunOn=0,~REXInputFunOn=0,~CardFormatFunOn=0,~SupAuthriz
eFunOn=0,~ReaderCFGFunOn=0,~ReaderLinkageFunOn=0,~RelayStateFunO
n=1,~Ext485ReaderFunOn=0,~TimeAPBFunOn=0,~CtlAllRelayFunOn=0,~Lo
ssCardFunOn=0,SimpleEventType=1,VerifyStyles=ff7f0000,EventTypes
=BF0FE03D3000010000000000700000000000000000000000007700200100000
0,DisableUserFunOn=0,DeleteAndFunOn=0,LogIDFunOn=0,DateFmtFunOn=
0,DelAllLossCardFunOn=0,AutoClearDay=0,FirstDelayDay=0,DelayDay=
0,StopAllVerify=0,FvFunOn=0,FaceFunOn=0,FingerFunOn=1,CameraOpen
=1,AccSupportFunList=0101010000111000000111010100011010,AutoServ
erFunOn=1,DelayOpenDoorFunOn=1,UserOpenDoorDelayFunOn=1,MultiCar
dInterTimeFunOn=1,OutRelaySetFunOn=1,MachineTZFunOn=1,DSTFunOn=1
,CardSiteCodeFunOn=1,MulCardUserFunOn=1,UserNameFunOn=1,StringPi
nFunOn=1,MaxLockCount=4,MaxZigbeeCount=3,MaxMCUCardBits=37,Suppo
rtReaderType=1,authKey=dassas
Server Response
HTTP/1.1 200 OK
Server: Apache-Coyote/1.1
Application scenario
After the registration request is successful in the previous step, the device needs to actively obtain
the server configuration parameters and then the whole initialization process is finished.
Client Request
${ServerIP}:${ServerPort}
Host
…
Server Response
HTTP/1.1 200 OK
Server: ${XXX}
Content-Type: application/push;charset=UTF-8
Content-Length: ${XXX}
Date: ${XXX}
…
ServerVersion=${XXX} ServerName=${XXX} ErrorDelay=${XXX}
RequestDelay=${XXX} TransTimes=${XXX} TransInterval=${XXX}
TransTables=${XXX Realtime=${XXX} SessionID=${XXX} TimeoutSec=${XXX}
BioPhotoFun=${XXX} BioDataFun=${XXX} MultiBioDataSupport=${XXX}
MultiBioPhotoSupport=${XXX}
QRCodeDecryptKey=${XXX}QRCodeDecryptType=${XXX}
Annotation
Parameter Description
Note: The token calculation method: The client encrypts the values of RegistryCode,
SerialNumber, and SessionID with the MD5 algorithm and then converts the calculated value
to a hexadecimal string. The hexadecimal string is the token.
Example:
Client Request
Server Response
HTTP/1.1 200 OK
Server: Apache-Coyote/1.1
Content-Type: text/plain;charset=ISO-8859-1
Content-Length: 218
Date: Mon, 09 Jan 2017 01:31:59 GMT
ServerVersion=3.0.1
ServerName=ADMS
PushVersion=3.0.1
ErrorDelay=60
RequestDelay=2
TransTimes=00:0014:00
TransInterval=1
TransTables=User Transaction
Realtime=1
SessionID=30BFB04B2C8AECC72C01C03BFD549D15
TimeoutSec=10
Application scenario
Client Request
POST /iclock/cdata?SN=$(SerialNumber)&table=options
POST
HTTP/1.1
${ServerIP}:${ServerPort}
Host
…
Server Response
HTTP/1.1 200 OK
Server: ${XXX}
Content-Length: ${XXX}
Date: ${XXX}
OK
Annotation
Parameter Description
Note: The token calculation method: The client encrypts the values of RegistryCode,
SerialNumber, and SessionID with the MD5 algorithm and then converts the calculated value
to a hexadecimal string. The hexadecimal string is the token.
After the voice module function is turned on, the following parameters need to be uploaded:
Parameter Description
VoiceModuleCa The output time when the voice module cancels the button. Default:
ncelTime 2(s).
VoiceModuleCa
The output times when the voice module cancels the button. Default: 1.
ncelCount
Example:
Client Request
POST /iclock/cdata?SN=AJI6181160001&table=options
POST
HTTP/1.1
Cookie token=50104b7ee71d8bb2ea10d8f1736b1bf8
Host 192.168.52.44:8088
Connection starting
Accept application/push
Accept-Charset UTF-8
Accept-
zh-CN
Language
Content-Type application/push;charset=UTF-8
Content-
zh-CN
Language
ProBio,MAC=00:17:61:11:ad:4f,TransactionCount=23,~M
axAttLogCount=10,UserCount=7,~MaxUserCount=100,Phot
oFunOn=1,~MaxUserPhotoCount=3000,FingerFunOn=1,FPVe
rsion=10,~MaxFingerCount=40,FPCount=4,FaceFunOn=1,F
aceVersion=7,~MaxFaceCount=2000,FaceCount=3,FvFunOn
~DeviceName
=0,FvVersion=3,~MaxFvCount=10,FvCount=0,PvFunOn=0,P
vVersion=5,~MaxPvCount=,PvCount=0,Language=69,IPAdd
ress=192.168.52.71,~Platform=ZMM220_TFT,~OEMVendor=
ZKTeco Inc. ,FWVersion=Ver 8.0.4.1-
20180102,PushVersion=Ver 2.0.34-20180822
Server Response
HTTP/1.1 200 OK
Server: Apache-Coyote/1.1
Content-Length: 2
Date: Wed, 22 Aug 2018 03:14:29 GMT
OK
5. Authorization
Authorization steps are as follows:
1. Only requests of the master control device are authorized. For the definition of the master control
device, see Appendix 15.
2. The master control device actively pushes the sub-control authorization table to the software.
When the device is started, the authorization table is pushed to the software. Any change to
the authorization table is pushed to the software.
Protocol:
POST/iclock/cdata?SN=123456789&type=registry&table=tabledata&ta
blename=DeviceAuthorize&count=1
Host: 113.108.97.187:8081
DeviceAuthorizeSN=%?\tOnline=%?\tIsAuthorize=%?\tAuthorizeInfo=
%?\tRegisterInfo=%?
Parameter Description
Parameter Description
3. The software authorizes the secondary controller based on the pushed authorization table.
The software delivers a command to authorize the secondary controller. Based on the
authorization delivered by the software, BioIR9000 allows the specified secondary controller to
push the registration information. The secondary controller pushes the registration information
of the corresponding device to BioIR9000. BioIR9000 immediately pushes the registration
information of the secondary controller to the software.
4. After receiving the registration information of the secondary controller, the software delivers the
final authorization command.
After receiving the registration information of the secondary controller, the software delivers
the final authorization command.Based on the authorization delivered by the software,
BioIR9000 allows access from the specified secondary controller.Authorization is completed.
6. Heartbeat
Application scenario
It is used to retain the heartbeat with the server. During the upload of massive data, the ping
command is used to retain the heartbeat. After the massive data is processed, the getrequest
command is used to retain the heartbeat.
Client Request
Cookie token=${XXX}
Host ${ServerIP}:${ServerPort}
${XXX}
Content-Length
…
Server Response
TTP/1.1 200 OK
Server: Apache-Coyote/1.1
Content-Length: ${XXX}
Date: ${XXX}
OK
Annotation
Example:
Client Request
Cookie token=cb386eb5f8219329db63356fb262ddff
Host 192.168.213.17:8088
Connection starting
Accept application/push
Accept-Charset UTF-8
Accept-
zh-CN
Language
Content-Type application/push;charset=UTF-8
Content-
zh-CN
Language
Server Response
HTTP/1.1 200 OK
Server: Apache-Coyote/1.1
Content-Length: 2
Date: Tue, 10 Jan 2017 07:42:41 GMT
OK
7. Upload Commands
Real-time upload
Messages are uploaded immediately. The device supports this mode by default and you can control
the upload mode on the server. For details, see the parameter Realtime in Initialize Information
Interaction.
Messages are uploaded at an interval. You can set the specific interval on the server. For details, see
the parameter TransInterval in Initialize Information Interaction.
Messages are uploaded at a specific time point. You can set the specific time point on the server. For
details, see the parameter TransTimes in Initialize Information Interaction.
Real-time events are events generated by the device in real time. Considering network delay, all the
events generated in the 15s are generally called real-time events. For the code and description of real-
time events, see Appendix 2.
Application scenario
When a real-time event occurs, the device needs to immediately upload the real-time event
information to the software.
Client Request
POST /iclock/cdata?SN=$(SerialNumber)&table=rtlog
HTTP
HTTP/1.1
Cookie token=${XXX}
Host ${ServerIP}:${ServerPort}
${XXX}
Content-Length …
${DataRecord}
Server Response
HTTP/1.1 200 OK
Server: Apache-Coyote/1.1
Content-Length: ${XXX}
Date: ${XXX}
OK
Annotation
Parameter Description
Parameter Description
Linkage event ID. For example, the event that the person has not
registered will not trigger the door to open. If the software is set to
linkid
open the door when the person unregistered event triggers, then the
door will be opened as long as the device has a linked event
If both the device and software support the upload of the new
verification method rules:
‘’And’’ verification method-The verification is successful, and the
string of the current verification method is returned. If the verification
fails, the reply will be compared with the current verification method,
the string of the wrong verification method. For example, card +
password + face, if the verification is successful, it will reply the
verification method 0000101000000011. If the verification method is
Card + fingerprint, but the face is verified, the reply is
verifytype 0000000000000010. If the verification method is card + fingerprint,
but the card and palmprint are verified, then reply
0000000000000100.
‘’Or’’ verification method-Return the current verification type, face
verification will reply 0000000000000010, palmprint verification will
reply 0000000000000100, 0000000000010000 for fingerprint
verification, 0000001000000000 for password verification,
0000010000000000 for User ID verification, and 0000100000000000
for card verification.
If the device supports the new verification method but the software
does not support it, verifytype uses the original verification method,
see Appendix 3.
The value is the temperature data with a decimal point. If the server
convtemperature does not send the IRTempUnitTrans parameter, then the unit of the
temperature upload is subject to the IRTempUnit parameter.
The access control record ID. Each access control record has a unique
index
ID in the device.
Example:
Client Request
POST /iclock/cdata?SN=3383154200002&table=rtlog
HTTP
HTTP/1.1
Cookie token=cb386eb5f8219329db63356fb262ddff
Host 192.168.213.17:8088
Connection starting
Accept application/push
Accept-Charset UTF-8
Accept-Language zh-CN
Content-Type application/push;charset=UTF-8
Content-Language zh-CN
Content-Length 99
Server Response
HTTP/1.1 200 OK
Server: Apache-Coyote/1.1
Content-Length: 2
Date: Tue, 10 Jan 2017 03:49:32 GMT
OK
The real-time status means the current status or logic status of the physical devices, such as the relay,
door sensor, barrier, and alarm.
Application scenario
It is used to regularly upload the access control status to change to the access control status of the
current device to the software.
Client Request
POST /iclock/cdata?SN=$(SerialNumber)&table=rtstate
HTTP
HTTP/1.1
Cookie token=${XXX}
Host ${ServerIP}:${ServerPort}
${XXX}
Content-
…
Length
${DataRecord}
Server Response
HTTP/1.1 200 OK
Server: Apache-Coyote/1.1
Content-Length: ${XXX}
Date: ${XXX}
OK
Annotation
Parameter Description
Parameter Description
Indicate the door sensor status. Each door occupies two binary bits,
AA indicates doors 1-4 and BB indicates doors 5-8. Door 1 occupies
the 1st and 2nd bits of the first byte, and so on.
Indicate the relay status. Each door occupies two binary bits. 0b0
indicates that the relay is connected and 0b1 indicates that the relay
relay
is disconnected. The first bit indicates the relay status of door 1, and
so on.
Indicate the alarm status. Four doors occupy one byte, with each door
occupying 8 binary bits. It can indicate up to 8 alarms. DD indicates
alarm
the alarm status of the door 1, and so on.
The alarms are defined as follows:
Example:
Client Request
POST /iclock/cdata?SN=3383154200002&table=rtstate
HTTP
HTTP/1.1
Cookie token=cb386eb5f8219329db63356fb262ddff
Host 192.168.213.17:8088
Connection starting
Accept application/push
Accept-Charset UTF-8
Accept-Language zh-CN
Content-Type application/push;charset=UTF-8
Content-
zh-CN
Language
Content-Length 69
Server Response
HTTP/1.1 200 OK
Server: Apache-Coyote/1.1
Content-Length: 2
Date: Tue, 10 Jan 2017 07:42:41 GMT
OK
Application scenario
It is used to return the execution result to the server after the command delivered by the server is
executed.
Client Request
Cookie token=${XXX}
Host ${ServerIP}:${ServerPort}
35
Content-Length …
${DataRecord}
Server Response
HTTP/1.1 200 OK
Server: Apache-Coyote/1.1
Content-Type: text/plain;charset=ISO-8859-1
Content-Length: ${XXX}
Date: ${XXX}
OK
Annotation
Parameter Description
Parameter Description
Example:
Client Request
Cookie 1637f0b091af92b0cc66b8eede0ae48e
Host 192.168.213.17:8088
Connection starting
Accept application/push
Accept-Charset UTF-8
Accept-Language zh-CN
Content-Type application/push;charset=UTF-8
Content-Language zh-CN
Content-Length 35
ID=1&Return=0&CMD=DATA UPDATE
Server Response
HTTP/1.1 200 OK
Server: Apache-Coyote/1.1
Content-Type: text/plain;charset=ISO-8859-1
Content-Length: 2
Date: Wed, 11 Jan 2017 01:30:08 GMT
OK
Application scenario
The device actively uploads the user information. Generally, after a user is registered, the device
automatically uploads the user information to the server.
Client Request
POST/iclock/cdata?SN=${SerialNumber}&table=
HTTP
tabledata&tablename=user&count=${XXX} HTTP/1.1
Cookie token=${XXX}
Host ${ServerIP}:${ServerPort}
${XXX}
Content-Length
${DataRecord}
Annotation
Parameter Description
Parameter Description
cardno The card number, which is an unsigned integer. Values delivered by the
Server Response
HTTP/1.1 200 OK
Server: Apache-Coyote/1.1
Content-Length: ${XXX}
Date: ${XXX}
User: ${XXX} (The number of users received by the server this time).
Example:
Client Request
POST/iclock/cdata?SN=3383154200002&table=tableda
HTTP
ta&tablename=user&count=1 HTTP/1.1
Cookie token=af65a75608cf5b80fbb3b48f0b4df95a
Host 192.168.213.17:8088
Connection starting
Accept application/push
Accept-Charset UTF-8
Accept-Language zh-CN
Content-Type application/push;charset=UTF-8
Content-Language zh-CN
Content-Length 104
Server Response
HTTP/1.1 200 OK
Server: Apache-Coyote/1.1
Content-Length: 6
Date: Thu, 12 Jan 2017 00:49:31 GMT
user=1
Application scenario
The device actively uploads the identity card information. Generally, after an identity card is
registered, the device automatically uploads the identity card to the server.
Client Request
POST/iclock/cdata?SN=${SerialNumber}&table=tabledata
HTTP
&tablename=identitycard&count=${XXX} HTTP/1.1
Cookie token=${XXX}
Host ${ServerIP}:${ServerPort}
Content- ${XXX}
Length ${DataRecord}
Annotation
Parameter Description
Parameter Description
pin=${XXX}$(HT)SN_Num=${XXX}$(HT)ID_Num=${XXX}$(
HT)DN_Num=${XXX}$(HT)Name=${XXX}$(HT)Gender=${XX
X}$(HT)Nation=${XXX}$(HT)Birthday=${XXX}$(HT)Val
id_Info=${XXX}$(HT)Address=${XXX}$(HT)Additional
_Info=${XXX}$(HT)Issuer=${XXX}$(HT)Photo=${XXX}$
(HT)PhotoJPG=${XXX}$(HT)FP_Template1=${XXX}$(HT)
FP_Template2=${XXX}$(HT)Reserve=${XXX}$(HT)Notic
e=${XXX}
DN_Num The SN of the resident identity card (the card management number).
0 Decoding Error
1 Han
2 Mongol
3 Hui
4 Tibetan
Nation
5 Uyghur
6 Miao
7 Yi
8 Zhuang
9 Buyi
10 Korean
11 Manchu
12 Dong
13 Yao
14 Bai
15 Tujia
16 Hani
17 Kazak
18 Dai
19 Li
20 Lisu
21 Va
22 She
23 Gaoshan
24 Lahu
25 Shui
26 Dongxiang
27 Naxi
28 Jingpo
29 Kirgiz
30 Tu
31 Daur
32 Mulao
33 Qiang
34 Blang
35 Salar
36 Maonan
37 Kelao
38 Xibe
39 Achang
40 Pumi
41 Tajik
42 Nu
43 Ozbek
44 Russian
45 Ewenki
46 De’ang
47 Baoan
48 Yugu
49 Jing
50 Tatar
51 Drung
52 Oroqen
53 Hezhe
54 Monba
55 Lhoba
56 Jino
57 Encoding Error
97 Other
98 Foreign Origin
The validity period, start time and end time, in the format of
Valid_Info
yyyyMMddyyyyMMdd.
The photo data stored in the identity card, which is encrypted and
Photo
converted to the base64-based data before transmission.
The photo data stored in the identity card, which is decrypted and
PhotoJPG
converted to the base64-based data before transmission.
Server Response
HTTP/1.1 200 OK
Server: Apache-Coyote/1.1
Content-Length: ${XXX}
Date: ${XXX}
identitycard: ${XXX}
(The number of identity cards received by the server this time).
Example:
Client Request
POST/iclock/cdata?SN=3383154200002&table=tableda
HTTP
ta&tablename=identitycard&count=1 HTTP/1.1
Cookie token=af65a75608cf5b80fbb3b48f0b4df95a
Host 192.168.213.17:8088
Connection starting
Accept application/push
Accept-Charset UTF-8
Accept-Language zh-CN
Content-Type application/push;charset=UTF-8
Content-Language zh-CN
Content-Length 104
Server Response
HTTP/1.1 200 OK
Server: Apache-Coyote/1.1
Content-Length: 6
Date: Thu, 12 Jan 2017 00:49:31 GMT
identitycard=1
Application scenario
The device actively uploads the fingerprint template. Generally, after a user fingerprint is registered,
the device automatically uploads the fingerprint to the server.
Client Request
POST/iclock/cdata?SN=${SerialNumber}&table=tabledata
HTTP
&tablename=templatev10&count=${XXX} HTTP/1.1
Cookie token=${XXX}
Host ${ServerIP}:${ServerPort}
Content- ${XXX}
Length …
Annotation
Parameter Description
Parameter Description
resverd -
endtag -
Server Response
HTTP/1.1 200 OK
Server: Apache-Coyote/1.1
Content-Length: ${XXX}
Date: ${XXX}
templatev10: ${XXX}
(The number of fingerprint templates using the 10.0 algorithm received
by the server).
Example:
Client Request
POST/iclock/cdata?SN=3383154200002&table=tableda
HTTP
ta&tablename=templatev10&count=2 HTTP/1.1
Cookie token=af65a75608cf5b80fbb3b48f0b4df95a
Host 192.168.213.17:8088
Connection starting
Accept application/push
Accept-Charset UTF-8
Accept-Language zh-CN
Content-Type application/push;charset=UTF-8
Content-Language zh-CN
Content-Length 3900
PuQAnAISpowDlAAMPjwDjpukPYQDqACsPq6buABEP/wA6ACapaAAAAfMP1AADp2U
PkQALAbIPqqYPASAPbgDRAfGplQAVARYPvAAZp/8PFQAgAaIOaKYmAf8P9wDiASi
plQAqAS8O3AA2p+IOpgAzAf0OZ6Y0Af4P3ADyATGpbAA4AXgO9gBMp+UPZQBMAa8
Ps6ZUAS4NoACZAUKowQBdASMNAP/CUtp/vf1BByeG26fyCgMPNQlT/Pcuh4T6eDJ
1AAWPJr76DgheASIATKdzfbr5ooDnkUOs2wXKhueK1HenJnIRtIu5/vcJQdG9e1Y
ABY/KDyqpOY81BtWObIDopPyGtXy5+1/5rCaDgI4FOH90hADY4HbWACpp8YdopDA
L1gYqiyoIuCjcBxKZpv/aD+61xAiRjWEDt/rjJGd/XXCZebyCnFJM+HmGof5z9nJ
eGArF/loCyBBINiQLpvoiC3LzwKdABrr0Vf8jhlImPWNxew5YEA/jDiMQpfjR9YA
BJQWs6WH7HQwgAHxNUIXVB0OFoADELtwBvvgeDiYPYF8QGeYwVX1/AVIm3An2JXo
OSYtYp7yWOginEHYIkdnIeFkSOgFmfULb5PbRbuJuqQ/ATAP6LRo+JMcS/VHj3Dv
wsHjtYw+9ASBQAQMF4k4Apr8BdML/wMAAx6Fq/0sLAOfCgMFk/GvAbwMAKgxyZgw
A8BR3wKNWbmcQAQQeg34HUsVZcVQSAQsmRXFh+8P/a2UGAdcsf1llEgEMNICv/4F
YxUPBVAUAEkYFZysKARVHkwbAjP4GALlQ9y+CCAU0VHBq/1cNxbFQ1v/CwGvB/zj
Gx6UB9FUJwgrFnWZSwcH9//5RyACQz3DBWsDB/gD+N6wBnWr0wP86wPlmSgcAzW0
A9EYWpxR+l4WWwQXAxWRkbQQArYQ/MAimpIl6wsBpl8BloAGtigBK/sgArDZ2c37
AwMC+AwVekxDBAwAZUlf7rwGxk/r+//BUHacNk5NtecM7wcRma2vA/cXDBBYEsJW
ew/+HwFxqbviYDgCpl3cEa3bPbgkAs5r97jf7qQGrn3p+agXBxlhdCACzoAaRNgC
mobB6wsDBzwCtFPw1//7AV8YAkB92wg8Aabw1wDiJ/v82wAQA08BnYP4KAGLDab1
kUqoBdMV0icI7wcVn/vwJAMHKzP5E8AcAPNBkcwYLBQrSBv7/OP+GBgUC13qEwAw
AadkMWP7/wDZCDcW25CCIc8NnwBLFTeFBVf9GwP7+OjtRtwFk5uvAODr9+1lH/8I
xCwBy5wxb/j7/VQgAmO1oZHFXBwCy7cz9+ljB/xAAqu5JxMdZw39w/sIjyQC0VBI
4NcBGGsQS8gRrwnnAfsKx/4P8NREAbf7w8P34Z/81wEDBA9QCBIT/EBCrC4xUwYJ
kT/0/CRCzyBf4Zv8ywggQsdceNllzBxCXFgzkOQ22fxv9/f78O/3FoxFwIv3/Ks0
QdI4B/xUfCBCsKmFZwET/BRD77yk4oxH2Ky1VBdWYKYv8HwQQZTQy//+iEaU2Ojk
E1aozlikGEGk5bQdRAraCOYDHQ//BENicMEwGEH8/rMLFlAcQjkN6xzrA/rcRNUf
nwVs5wvhm/fz+/jYD1Y9O6vwDEINMXgQFFcVPaf/A/RrVAVxPwYH/wUb9jv74mv5
LX1JCAM5DBKYBC0VS resverd= endtag=
Server Response
HTTP/1.1 200 OK
Server: Apache-Coyote/1.1
Content-Length: 13
Date: Thu, 12 Jan 2017 00:49:32 GMT
templatev10=2
Application scenario
The visible light device automatically uploads the registered user comparison photos to the server.
Client Request
POST/iclock/cdata?SN=${SerialNumber}&table=tabledata
HTTP
&tablename=biophoto&count=${XXX} HTTP/1.1
Cookie token=${XXX}
Host ${ServerIP}:${ServerPort}
${XXX}
Content-
…
Length
${DataRecord}
Annotation
Parameter Description
Content-Length
${Required} -
header
Value Meaning
0 General
1 Fingerprint
3 Voice Print
type ${XXX} 4 Iris
5 Retina
6 Palm Print
7 Finger Vein
8 Palm
Server Response
HTTP/1.1 200 OK
Content-Length: ${XXX}
…
biophoto: ${XXX}
Note
Parameter Description
HTTP status
It is defined by the standard HTTP.
line
HTTP response
-
header
When the server receives the data and processes it normally, it returns
Response biophoto=${XXX}, in which ${XXX} indicates the number of
entity records that are successfully processed. When an error occurs, the
server returns the error description.
Example:
Client Request
POST/iclock/cdata?SN=0316144680030&table=tableda
HTTP
ta&tablename=biophoto&count=1 HTTP/1.1
Host 58.250.50.81:8011
Connection close
Accept */*
Content-Length 95040
Server Response
HTTP/1.1 200 OK
Server: nginx/1.6.0
Content-Type: text/plain
Content-Length: 4
Connection: close
Pragma: no-cache
Cache-Control: no-store
Date: Thu, 30 Jul 2015 07:25:38 GMT
biophoto=1
Application scenario
Client Request
POST/iclock/cdata?SN=${SerialNumber}&table=tabledata
HTTP
&tablename=ATTPHOTO&count=${XXX} HTTP/1.1
Cookie token=${XXX}
Host ${ServerIP}:${ServerPort}
${XXX}
Content-
…
Length
${DataRecord}
Annotation
Parameter Description
Content-Length -
${Required}
header
Server Response
HTTP/1.1 200 OK
Content-Length: ${XXX}
…
ATTPHOTO: ${XXX}
Note
Parameter Description
HTTP response -
header
Example:
Client Request
POST/iclock/cdata?SN=1809140006&table=tabledata&
HTTP
tablename=ATTPHOTO&count=1 HTTP/1.1
Host 58.250.50.81:8011
Connection close
Accept */*
Content-Length 30327
VmZ2hpanN0dXZ3eHl6goOEhYaHiImKkpOUlZaXmJmaoqOkpaanqKmqsrO0tba3uL
m6wsPExcbHyMnK0tPU1dbX2Nna4uPk5ebn6Onq8vP09fb3+Pn6/9oADAMBAAIRAx
EAPwBXXIPFVpI+fbHWrn1pjJnOKgZ
Server Response
HTTP/1.1 200 OK
Server: nginx/1.6.0
Content-Type: text/plain
Content-Length: 10
Connection: close
Pragma: no-cache
Cache-Control: no-store
Date: Thu, 30 Jul 2015 07:25:38 GMT
ATTPHOTO=1
Application scenario
Client Request
POST/iclock/cdata?SN=${SerialNumber}&table=tabledata
HTTP
&tablename=userpic&count=${XXX} HTTP/1.1
Cookie token=${XXX}
Host ${ServerIP}:${ServerPort}
${XXX}
Content-
…
Length
${DataRecord}
Annotation
Parameter Description
Content-Length
${Required} -
header
Server Response
HTTP/1.1 200 OK
Content-Length: ${XXX}
…
userpic: ${XXX}
Note
Parameter Description
HTTP response
-
header
Example:
Client Request
POST/iclock/cdata?SN=1809140006&table=tabledata&
HTTP
tablename=userpic&count=1 HTTP/1.1
Host 58.250.50.81:8011
Connection close
Accept */*
Content-Length 29848
content=/9j/4AAQSkZJRgABAQAAAQABAAD/2wBDABsSFBcUERsXFhceHBsgKEIr
KCUlKFE6PTBCYFVlZF9VXVtqeJmBanGQc1tdhbWGkJ6jq62rZ4C8ybqmx5moq6T/
2wBDARweHigjKE4rK06kbl1upKSkpKSkpKSkpKSkpKSkpKSkpKSkpKSkpKSkpKSk
pKSkpKSkpKSkpKSkpKSkpKSkpKT/wAARCAOoAnQDASIAAhEBAxEB/8QAHwAAAQUB
AQEBAQEAAAAAAAAAAAECAwQFBgcICQoL/8QAtRAAAgEDAwIEAwUFBAQAAAF9AQID
AAQRBRIhMUEGE1FhByJxFDKBkaEII0KxwRVS0fAkM2JyggkKFhcYGRolJicoKSo0
NTY3ODk6Q0RFRkdISUpTVFVWV1hZWmNkZWZnaGlqc3R1dnd4eXqDhIWGh4iJipKT
lJWWl5iZmqKjpKWmp6ipqrKztLW2t7i5usLDxMXGx8jJytLT1NXW19jZ2uHi4+Tl
5ufo6erx8vP09fb3+Pn6/8QAHwEAAwEBAQEBAQEBAQAAAAAAAAECAwQFBgcICQoL
/8QAtREAAgECBAQDBAcFBAQAAQJ3AAECAxEEBSExBhJBUQdhcRMiMoEIFEKRobHB
CSMzUvAVYnLRChYkNOEl8RcYGRomJygpKjU2Nzg5OkNERUZHSElKU1RVVldYWVpj
ZGVmZ2hpanN0dXZ3eHl6goOEhYaHiImKkpOUlZaXmJmaoqOkpaanqKmqsrO0tba3
uLm6wsPExcbHyMnK0tPU1dbX2Nna4uPk5ebn6Onq8vP09fb3+Pn6/9oADAMBAAIR
AxEAPwDUoooqQCiiigAooooAK
Server Response
HTTP/1.1 200 OK
Server: Apache-Coyote/1.1
Content-Type: text/plain;charset=utf-8
Content-Length: 24
Connection: close
Date: Thu, 08 Nov 2018 06:16:41 GMT
userpic=1
Application scenario
New biometric templates, such as integrated palm templates, will be uploaded and downloaded in
a unified format and will be distinguished by the data type.
Client Request
POST/iclock/cdata?SN=${SerialNumber}&table=tabledata
HTTP
&tablename=biodata&count=${XXX} HTTP/1.1
Cookie token=${XXX}
Host ${ServerIP}:${ServerPort}
${XXX}
Content-
…
Length
${DataRecord}
Annotation
Parameter Description
Content-Length
${Required} -
header
Biometric
Description
type
Face All is 0.
0 General
type ${XXX}
1 Fingerprint
3 Voice Print
4 Iris
5 Retina
6 Palm Print
7 Finger Vein
8 Palm
Palm 1.0
Palm 1.0
0 ZK
Fingerprint 1 ISO
2 ANSI
Finger Vein 0 ZK
Face 0 ZK
Palm 0 ZK
Server Response
HTTP/1.1 200 OK
Content-Length: ${XXX}
…
biodata: ${XXX}
Note
Parameter Description
HTTP response
-
header
Response entity When the server receives the data and processes it normally, it
Example:
Client Request
POST/iclock/cdata?SN=5165181600015&table=tableda
HTTP
ta&tablename=biodata&count=1 HTTP/1.1
Host 58.250.50.81:8011
Connection starting
Accept application/push
Accept-Charset UTF-8
Accept-Language zh-CN
Content-Type application/push;charset=UTF-8
Content-Language zh-CN
Content-Length 3564
Server Response
HTTP/1.1 200 OK
Server: Apache-Coyote/1.1 is not blacklisted
Content-Length: 9
Date: Fri, 19 Oct 2018 06:55:30 GMT
biodata=1
Application scenario
The device automatically uploads error logs to the server. The value of PushProtVer delivered by the
server is greater to or equal to 3.1.2.
Client Request
POST/iclock/cdata?SN=${SerialNumber}&table=tabledata
HTTP
&tablename=errorlog&count=${XXX} HTTP/1.1
Cookie token=${XXX}
Host ${ServerIP}:${ServerPort}
${XXX}
Content-
…
Length
${DataRecord}
Annotation
Parameter Description
Content-Length
${Required} -
header
Server Response
HTTP/1.1 200 OK
Content-Length: ${XXX}
…
errorlog: ${XXX}
Note
Parameter Description
HTTP response
-
header
Content-Length According to HTTP 1.1, this header is generally used to specify the
header length of the response entity. If you do not know the length, you can
Example:
Client Request
POST/iclock/cdata?SN=5165181600015&table=tableda
HTTP
ta&tablename=errorlog&count=1 HTTP/1.1
Host 58.250.50.81:8011
Connection starting
Accept application/push
Accept-Charset UTF-8
Accept-Language zh-CN
Content-Type application/push;charset=UTF-8
Content-Language zh-CN
Content-Length 3564
Server Response
HTTP/1.1 200 OK
Server: Apache-Coyote/1.1 is not blacklisted
Content-Length: 9
Date: Fri, 19 Oct 2018 06:55:30 GMT
errorlog=1
Application scenario
The device is in the alarm state, and the software sends a control command to the device to turn off
the alarm. The event must be uploaded to the software as soon as the cancellation is complete.
Client Request
POST /iclock/cdata?SN=$(SerialNumber)&table=rtlog
HTTP
HTTP/1.1
Cookie token=${XXX}
Host ${ServerIP}:${ServerPort}
${XXX}
Content-Length …
${DataRecord}
Server Response
HTTP/1.1 200 OK
Server: Apache-Coyote/1.1
Content-Length: ${XXX}
Date: ${XXX}
OK
Annotation
Parameter Description
Parameter Description
Linkage event ID. For example, in the event, if the person has not
registered, the door will not open. If the software is configured to
linkid
open the door when the unregistered person event occurs, the door
will open as long as the device has a linked event.
The access control record ID. Each access control record has a unique
index
ID in the device.
Alarmtype Alarm type, currently there is only one value of 200 for the channel
Example:
Client Request
POST /iclock/cdata?SN=3383154200002&table=rtlog
HTTP
HTTP/1.1
Cookie token=cb386eb5f8219329db63356fb262ddff
Host 192.168.213.17:8088
Connection starting
Accept application/push
Accept-Charset UTF-8
Accept-Language zh-CN
Content-Type application/push;charset=UTF-8
Content-Language zh-CN
Content-Length 99
Server Response
HTTP/1.1 200 OK
Server: Apache-Coyote/1.1
Content-Length: 2
Date: Tue, 10 Jan 2017 03:49:32 GMT
OK
7.14 Upload Channel Infrared Status and Device Status Count (only
supported by the channel controller)
Application scenario
1. When the device is started for the first time, it is pushed to the software.
2. When the infrared state of the channel changes or the number of in and out of the gate and the
number of operations changes, the device needs to be uploaded to the software immediately.
Client Request
POST /iclock/cdata?SN=$(SerialNumber)&table=irstate
HTTP
HTTP/1.1
Cookie token=${XXX}
Host ${ServerIP}:${ServerPort}
${XXX}
Content-
…
Length
${DataRecord}
Server Response
HTTP/1.1 200 OK
Server: Apache-Coyote/1.1
Content-Length: ${XXX}
Date: ${XXX}
OK
Annotation
Parameter Description
Parameter Description
Example:
Client Request
POST /iclock/cdata?SN=3383154200002&table=irstate
HTTP
HTTP/1.1
Cookie token=cb386eb5f8219329db63356fb262ddff
Host 192.168.213.17:8088
Connection starting
Accept application/push
Accept-Charset UTF-8
Accept-Language zh-CN
Content-Type application/push;charset=UTF-8
Content-
zh-CN
Language
Content-Length 99
Server Response
HTTP/1.1 200 OK
Server: Apache-Coyote/1.1
Content-Length: 2
Date: Tue, 10 Jan 2017 03:49:32 GMT
OK
8. Download Commands
Application scenario
Client Request
Cookie token=${XXX}
${ServerIP}:${ServerPort}
Host
…
Annotation
Server Response
HTTP/1.1 200 OK
Server: Apache-Coyote/1.1
Content-Type: text/plain;charset=UTF-8
Content-Length: ${XXX}
Date: ${XXX}
${CmdRecord}
Note
Parameter Description
Example:
Client Request
Cookie token=1637f0b091af92b0cc66b8eede0ae48e
Host 192.168.213.17:8088
Connection starting
Accept application/push
Accept-Charset UTF-8
Accept-Language zh-CN
Server Response
HTTP/1.1 200 OK
Server: Apache-Coyote/1.1
Content-Type: text/plain;charset=UTF-8
Content-Length: 99
Date: Wed, 11 Jan 2017 01:30:03 GMT
C:223:SET OPTIONS IPAddress=192.168.213.222,GATEIPAddress=192.168.21
3.1,NetMask=255.255.255
9. Server Commands
For the device operation, the server must generate a command and then send the command to the device
after the device sends a request. The execution results of commands are already described in Upload
Returned Result of the Command. The formats of the requests sent by the client and the server response are
already described in Download Cache Command.
9.1.1 Update
It is used to add or update data to the device. If the device does not have the primary key data, you can run
this command to add the data to the device; otherwise, you can run this command to update the data to
the device.
Command format
C:${CmdID}:DATA$(SP)UPDATE$(SP)table name$(SP)field
name1=value1$(HT)field name2=value2$(HT)field name3=value3
C:${CmdID}:DATA$(SP)UPDATE$(SP)table name$(SP)field
name1=value1$(HT)field name2=value2$(HT)field name3=value3$(LF)field
name4=value4$(HT)field name5=value5$(HT)field name6=value6
Wherein, 123 indicates the first data record, 456 indicates the second data record, and they are
separated by the line feeder $(LF).
User Information
Application scenario
The server delivers the user information to the client. It is generally used to synchronize the user
information edited on the server to the client.
Command format
C:${CmdID}:DATA$(SP)UPDATE$(SP)user$(SP)CardNo=${XXX}$(HT)Pin=${XXX}$(HT
)Password=${XXX}$(HT)Group=${XXX}$(HT)StartTime=${XXX}$(HT)EndTime=${XXX
}$(HT)Name=${XXX}$(HT)Privilege=${XXX}
ID=${CmdID}&Return=${XXX}&CMD=DATA UPDATE
Annotation
Parameter Description
The card number, which is an unsigned integer. Values delivered by the software
can be delivered in two formats:
• Hexadecimal data, in the format of [%02x%02x%02x%02x], which means the
first to the fourth bytes from left to right. For example, if the card number is
123456789, then Card=[15CD5B07].
CardNo • A string. If the card number is 123456789, then Card=123456789.
• When MulCardUserFunOn is enabled (refer to the value of AccSupportFunList),
this table field is invalid, and the number of MulCardUser protocol storage card
is used. (This field is invalid if the device supports multi-card open door
(DoorMultiCardOpenDoor=1), then please deliver the Multi-card Opening
Information command in 9.1.1 to issue the card number.)
Pin User ID
Password Password
It is the user name. When the device language is Chinese, it is encoded with the
Name
GB2312 character set; otherwise, it is encoded with the UTF-8 character set.
0 Common User
2 Registrar
Privilege 6 Administrator
10 User-defined
14 Super Administrator
Example
The software delivers the information about a user, of which the user ID is 1 and the password is 234.
The user has no card, belongs to the default group, and has the privilege of a common user.
ID=295&Return=0&CMD=DATA UPDATE
Application scenario
The server delivers the extended user information to the client. It is generally used to synchronize the user
information edited on the server to the client.
C:${CmdID}:DATA$(SP)UPDATE$(SP)extuser$(SP)Pin=${XXX}$(HT)FunSwitch=${XX
X}$(HT)FirstName=${XXX}$(HT)LastName=${XXX}$(HT)PersonalVS=${XXX}
ID=${CmdID}&Return=${XXX}&CMD=DATA
Annotation
Parameter Description
Pin User ID
Example
ID=500&Return=0&CMD=DATA
MulCardUser Information
Application scenario
The server delivers MulCardUser information to the client. It is generally used to synchronize the
MulCardUser information edited on the server to the client.
C:${CmdID}:DATA$(SP)UPDATE$(SP)mulcarduser$(SP)Pin=${XXX}$(HT)CardNo=${X
XX}$(HT)LossCardFlag=${XXX}$(HT)CardType=${XXX}
ID=${CmdID}&Return=${XXX}&CMD=DATA
Annotation
Parameter Description
Pin User ID
The card number. It is stored as a string. The value delivered by the software is
CardNo
a hexadecimal string. For example, CardNo=DF349C3BEA5277ED.
The card loss flag. 0 indicates that the card is in normal use, and 1 indicates
LossCardFlag
that the card is lost.
The main card or sub-card. 0 indicates the main card, and 1 indicates a sub-
CardType
card.
Example
ID=501&Return=0&CMD=DATA
Application scenario
The server delivers the identity card information to the client. It is generally used to synchronize the
identity card information edited on the server to the client.
C:${CmdID}:DATA$(SP)UPDATE$(SP)identitycard$(SP)Pin=${XXX}$(HT)SN_Num=${
XXX}$(HT)ID_Num=${XXX}$(HT)DN_Num=${XXX}$(HT)Name=${XXX}$(HT)Gender=${XX
X}$(HT)Nation=${XXX}$(HT)Birthday=${XXX}$(HT)Valid_Info=${XXX}$(HT)Addre
ss=${XXX}$(HT)Additional_Info=${XXX}$(HT)Issuer=${XXX}$(HT)Photo=${XXX}$
(HT)PhotoJPG=${XXX}$(HT)FP_Template1=${XXX}$(HT)FP_Template2=${XXX}$(HT)
Reserve=${XXX}$(HT)Notice=${XXX}
ID=${CmdID}&Return=${XXX}&CMD=DATA
Annotation
Parameter Description
Pin User ID
DN_Num The SN of the resident identity card (the card management number).
Code Code
0 Decoding Error 30 Tu
1 Han 31 Daur
2 Mongol 32 Mulao
3 Hui 33 Qiang
4 Tibetan 34 Blang
5 Uyghur 35 Salar
6 Miao 36 Maonan
7 Yi 37 Kelao
8 Zhuang 38 Xibe
9 Buyi 39 Achang
10 Korean 40 Pumi
11 Manchu 41 Tajik
12 Dong 42 Nu
13 Yao 43 Ozbek
14 Bai 44 Russian
15 Tujia 45 Ewenki
16 Hani 46 De'ang
17 Kazak 47 Baoan
18 Dai 48 Yugu
19 Li 49 Jing
20 Lisu 50 Tatar
21 Va 51 Drung
22 She 52 Oroqen
23 Gaoshan 53 Hezhe
24 Lahu 54 Monba
25 Shui 55 Lhoba
26 Dongxiang 56 Jino
Encoding
27 Naxi 57
Error
28 Jingpo 97 Other
Example
ID=502&Return=0&CMD=DATA
Application scenario
The server delivers the user's access control privilege to the client. Generally, the privilege is delivered
together with the user information.
C:${CmdID}:DATA$(SP)UPDATE$(SP)userauthorize$(SP)Pin=${XXX}$(HT)Authoriz
eTimezoneId=${XXX}$(HT)AuthorizeDoorId=${XXX}$(HT)DevID=${XXX}
ID=${CmdID}&Return=${XXX}&CMD=DATA
Annotation
Parameter Description
userauthorize The table name, which is the user's access control privilege
AuthorizeDoorId Indication
1 LOCK1
AuthorizeDoorId
2 LOCK2
4 LOCK3
8 LOCK4
The device ID. The value of AccSupportFunList counts from 0, and the
DevID
value of the 26th bit is used to control the function.
Example
The server delivers the information of a user of which user ID is 1, the time rule ID is 1, and the door
ID is 1:
ID=296&Return=0&CMD=DATA
Holiday
Application scenario
The server delivers the holiday data to the client. It is generally used to synchronize the holiday data
edited on the server to the client.
C:${CmdID}:DATA$(SP)UPDATE$(SP)holiday$(SP)Holiday=${XXX}$(HT)HolidayTyp
e=${XXX}$(HT)Loop=${XXX}
ID=${CmdID}&Return=${XXX}&CMD=DATA
Annotation
Parameter Description
The holiday type. Values are 1, 2, and 3, of which the meaning should be defined
HolidayType
as needed.
1 indicates that the year is different but the month and the day are the same.
Loop
2 indicates that all the year, month, and day must be the same.
Example
ID=503&Return=0&CMD=DATA
Time Rule
Application scenario
The server delivers a time rule to the client. Generally, it is used to automatically deliver the time rule
edited on the server.
C:${CmdID}:DATA$(SP)UPDATE$(SP)timezone$(SP)TimezoneId=${XXX}$(HT)SunTim
e1=${XXX}$(HT)SunTime2=${XXX}$(HT)SunTime3=${XXX}$(HT)MonTime1=${XXX}$(H
T)MonTime2=${XXX}$(HT)MonTime3=${XXX}$(HT)TueTime1=${XXX}$(HT)TueTime2=$
{XXX}$(HT)TueTime3=${XXX}$(HT)WedTime1=${XXX}$(HT)WedTime2=${XXX}$(HT)We
dTime3=${XXX}$(HT)ThuTime1=${XXX}$(HT)ThuTime2=${XXX}$(HT)ThuTime3=${XXX
}$(HT)FriTime1=${XXX}$(HT)FriTime2=${XXX}$(HT)FriTime3=${XXX}$(HT)SatTim
e1=${XXX}$(HT)SatTime2=${XXX}$(HT)SatTime3=${XXX}$(HT)Hol1Time1=${XXX}$(
HT)Hol1Time2=${XXX}$(HT)Hol1Time3=${XXX}$(HT)Hol2Time1=${XXX}$(HT)Hol2Ti
me2=${XXX}$(HT)Hol2Time3=${XXX}$(HT)Hol3Time1=${XXX}$(HT)Hol3Time2=${XXX
}$(HT)Hol3Time3=${XXX}
ID=${CmdID}&Return=${XXX}&CMD=DATA
Annotation
Parameter Description
Note: Each time period lasts from StartTime to EndTime on the software. Before the time rule is
delivered to the device, the software converts the time rule to an integer based on the convention
StartTime<<16+EndTime.
For example, the converted value of 8:30-12:00 is 830 << 16 + 1200, that is, 0x33e04b0.
Example
The server delivers a time rule, in which the time rule ID is 2, the time period 1 on Monday is 00:01-
00:03, and the time period 2 is 10:00-11:00:
ID=307&Return=0&CMD=DATA
Fingerprint Template
Application scenario
The server delivers a fingerprint template, if any, to the client when delivering the user information.
C:${CmdID}:DATA$(SP)UPDATE$(SP)templatev10
Pin=${XXX}$(HT)FingerID=$(HT)Valid=${XXX}$(HT)Template=${XXX}
ID=${CmdID}&Return=${XXX}&CMD=DATA
Annotation
Parameter Description
Indicate that the data type is fingerprint template. The supported fingerprint
templatev10
algorithm version is lower than 10.0.
Pin User ID
Describe whether the template is valid and is duress. The value meanings are
described below:
Value Description
Valid 0 Invalid
1 Valid
3 Duress
Example
The server delivers a common fingerprint of which the user ID is 1 and the fingerprint ID is 6:
ID=333&Return=0&CMD=DATA
Application scenario
The server delivers the first-card opening data to the client. It is generally used to synchronize the first-
card opening data edited on the server to the client.
C:${CmdID}:DATA$(SP)UPDATE$(SP)firstcard$(SP)DoorID=${XXX}$(HT)TimezoneI
D=${XXX}$(HT)Pin=${XXX}$(HT)DevID=${XXX}
ID=${CmdID}&Return=${XXX}&CMD=DATA
Annotation
Parameter Description
Pin User ID
DoorID Door ID
The device ID. The value of AccSupportFunList counts from 0, and the value of
DevID
the 26th bit is used to control the function.
Example
ID=504&Return=0&CMD=DATA
Application scenario
The server delivers the multi-card opening data to the client. It is generally used to synchronize the multi-
card opening data edited on the server to the client.
C:${CmdID}:DATA$(SP)UPDATE$(SP)multimcard$(SP)Index=${XXX}$(HT)DoorId=${
XXX}$(HT)Group1=${XXX}$(HT)Group2=${XXX}$(HT)Group3=${XXX}$(HT)Group4=${
XXX}$(HT)Group5=${XXX}$(HT)DevID=${XXX}
ID=${CmdID}&Return=${XXX}&CMD=DATA
Annotation
Parameter Description
Index Index
DoorId Door ID
Group1 Group1
Group2 Group 2
Group3 Group 3
Group4 Group 4
Group5 Group 5
The device ID. The value of AccSupportFunList counts from 0, and the value of
DevID
the 26th bit is used to control the function.
Example
ID=505&Return=0&CMD=DATA
Linkage Details
Application scenario
The server delivers the linkage details to the client. It is generally used to synchronize the linkage details
edited on the server to the client.
C:${CmdID}:DATA$(SP)UPDATE$(SP)inoutfun$(SP)Index=${XXX}$(HT)EventType=$
{XXX}$(HT)InAddr=${XXX}$(HT)OutType=${XXX}$(HT)OutAddr=${XXX}$(HT)OutTim
e=${XXX}$(HT)Reserved=${XXX}$(HT)InDevID=${XXX}$(HT)OutDevID=${XXX}
ID=${CmdID}&Return=${XXX}&CMD=DATA
Annotation
Parameter Description
Index Index
The position where the event is triggered, which is the door ID or the auxiliary
InAddr
input ID. The value ranges from 1 to 4. 0 means any position
OutType The output type. 0 means lock and 1 means auxiliary output.
The position of the output action. The value of the lock output ranges from 1 to
OutAddr
4. The value of auxiliary output ranges from 1 to 4.
The time of the output action. 0 means closed. 1 to 254 means the lock is opened
OutTime
for n seconds, and 255 means normal open.
1 Reader linkage
2 IPC linkage
16 Lock
32 Unlock
The device ID. The value of AccSupportFunList counts from 0, and the value of
InDevID
the 26th bit is used to control the function.
The device ID. The value of AccSupportFunList counts from 0, and the value of
OutDevID
the 26th bit is used to control the function.
Example
ID=506&Return=0&CMD=DATA
Application scenario
The server delivers the scheduled output information to the client. It is generally used to synchronize the
scheduled output information edited on the server to the client.
C:${CmdID}:DATA$(SP)UPDATE$(SP)outrelaysetting$(SP)Num=${XXX}$(HT)OutTyp
e=${XXX}$(HT)ActionType=${XXX}$(HT)TimezoneId=${XXX}$(HT)DevID=${XXX}
ID=${CmdID}&Return=${XXX}&CMD=DATA
Annotation
Parameter Description
The output point or the number of the primary key of the auxiliary output
Num
property table.
ActionType 0 indicates none, 2 indicates normally closed, and 1 indicates normal open.
The device ID. The value of AccSupportFunList counts from 0, and the value
DevID
of the 26th bit is used to control the function.
Example
ID=507&Return=0&CMD=DATA
DLST Information
Application scenario
The server delivers the DLST information to the client. It is generally used to synchronize the DLST
information edited on the server to the client.
C:${CmdID}:DATA$(SP)UPDATE$(SP)DSTSetting$(SP)Year=${XXX}$(HT)StartTime=
${XXX}$(HT)EndTime=${XXX}$(HT)Loop=${XXX}
ID=${CmdID}&Return=${XXX}&CMD=DATA
Annotation
Parameter Description
The start time, in the format of MMIIWWHH, wherein MM indicates the month, II
StartTime
indicates the week, WW indicates the weekday, and HH indicates the hour.
The end time, in the format of MMIIWWHH, wherein MM indicates the month, II
EndTime
indicates the week, WW indicates the weekday, and HH indicates the hour.
Example
ID=508&Return=0&CMD=DATA
Device Property
Application scenario
The server delivers the device properties to the client. It is generally used to synchronize the device
properties edited on the server to the client.
C:${CmdID}:DATA$(SP)UPDATE$(SP)DevProperty$(SP)ID=${XXX}$(HT)Type=${XXX}
$(HT)BusType=${XXX}$(HT)MachineType=${XXX}$(HT)Address=${XXX}$(HT)Mac=${
XXX}$(HT)IPAddress=${XXX}$(HT)SN=${XXX}$(HT)IsMaster=${XXX}
ID=${CmdID}&Return=${XXX}&CMD=DATA
Annotation
Parameter Description
ID Device ID.
Type The device type. 0: Door Unit, 1: Zigbee, and 2: BioCom48. Currently, all is 0.
SN The device SN
Example
ID=509&Return=0&CMD=DATA
Device Parameter
Application scenario
The server delivers the device parameters to the client. It is generally used to synchronize the device
C:${CmdID}:DATA$(SP)UPDATE$(SP)DevParameters$(SP)ID=${XXX}$(HT)Name=${XX
X}$(HT)Value=${XXX}
ID=${CmdID}&Return=${XXX}&CMD=DATA
Annotation
Parameter Description
ID Device ID.
Example
ID=510&Return=0&CMD=DATA
Door Property
Application scenario
The server delivers the door properties to the client. It is generally used to synchronize the door properties
edited on the server to the client.
C:${CmdID}:DATA$(SP)UPDATE$(SP)DoorProperty$(SP)ID=${XXX}$(HT)DevID=${XX
X}$(HT)Address=${XXX}$(HT)Disable=${XXX}
ID=${CmdID}&Return=${XXX}&CMD=DATA
Annotation
Parameter Description
ID Door ID
DevID Slave ID
1 LOCK1
Address 2 LOCK2
3 LOCK3
4 LOCK4
To Enable or disable.
Disable 0 Enable
1 Disable
Example
ID=511&Return=0&CMD=DATA
Door Parameter
Application scenario
The server delivers the door parameters to the client. It is generally used to synchronize the door
parameters edited on the server to the client.
C:${CmdID}:DATA$(SP)UPDATE$(SP)DoorParameters$(SP)ID=${XXX}$(HT)Name=${X
XX}$(HT)Value=${XXX}$(HT)DevID=${XXX}
ID=${CmdID}&Return=${XXX}&CMD=DATA
Annotation
Parameter Description
ID Door ID.
Example
ID=512&Return=0&CMD=DATA
Reader Property
Application scenario
The server delivers the reader properties to the client. It is generally used to synchronize the reader
properties edited on the server to the client.
C:${CmdID}:DATA$(SP)UPDATE$(SP)ReaderProperty$(SP)ID=${XXX}$(HT)DoorID=$
{XXX}$(HT)Type=${XXX}$(HT)Address=${XXX}$(HT)IPAddress=${XXX}$(HT)Port=$
{XXX}$(HT)MAC=${XXX}InOut=${XXX}$(HT)Disable=${XXX}$(HT)VerifyType=${XXX
}$(HT)Multicast=${XXX}$(HT)DevID=${XXX}$(HT)OfflineRefuse=${XXX}
ID=${CmdID}&Return=${XXX}&CMD=DATA
Annotation
Parameter Description
ID Reader ID.
DoorID Door ID
1 485 Reader
Type 2 Wiegand Reader
4 Network Reader
8 Zigbee Reader
Address The reader address, applicable for the Wiegand reader and 485 reader.
1 Output
To Enable or disable:
Disable 0 Enable
1 Disable
DevID Device ID
1 Refuse
Example
ID=513&Return=0&CMD=DATA
Reader Parameter
Application scenario
The server delivers the reader parameters to the client. It is generally used to synchronize the reader
parameters edited on the server to the client.
C:${CmdID}:DATA$(SP)UPDATE$(SP)ReaderParameters$(SP)ID=${XXX}$(HT)DevID=
${XXX}$(HT)Name=${XXX}$(HT)Value=${XXX}
ID=${CmdID}&Return=${XXX}&CMD=DATA
Annotation
Parameter Description
ID Reader ID.
DevID Device ID
Example
ID=514&Return=0&CMD=DATA
Application scenario
The server delivers the auxiliary input properties to the client. It is generally used to synchronize the
auxiliary input properties edited on the server to the client.
C:${CmdID}:DATA$(SP)UPDATE$(SP)AuxIn$(SP)ID=${XXX}$(HT)DevID=${XXX}$(HT)
Address=${XXX}$(HT)Disable=${XXX}
ID=${CmdID}&Return=${XXX}&CMD=DATA
Annotation
Parameter Description
AuxIn The table name, which is the auxiliary input property table.
DevID Device ID
Auxiliary input:
Address 1 AuxIn1
2 AuxIn2
Enable or disable:
Disable 0 Enable
1 Disable
${LF} is used to connect multiple records.
Example
ID=515&Return=0&CMD=DATA
Application scenario
The server delivers the auxiliary output properties to the client. It is generally used to synchronize the
auxiliary output properties edited on the server to the client.
C:${CmdID}:DATA$(SP)UPDATE$(SP)AuxOut$(SP)ID=${XXX}$(HT)DevID=${XXX}$(HT
)Address=${XXX}$(HT)Disable=${XXX}
ID=${CmdID}&Return=${XXX}&CMD=DATA
Annotation
Parameter Description
AuxOut The table name, which is the auxiliary output property table
ID Reader ID.
DevID Device ID
Enable or disable:
Disable 0 Enable
1 Disable
Example
ID=516&Return=0&CMD=DATA
Application scenario
The server delivers the default Wiegand format to the client. It is generally used to synchronize the default
Wiegand format edited on the server to the client.
C:${CmdID}:DATA$(SP)UPDATE$(SP)DefaultWGFormat$(SP)ID=${XXX}$(HT)CardBit
=${XXX}$(HT)SiteCode=${XXX}$(HT)FormatName=${XXX}$(HT)CardFormat=${XXX}
ID=${CmdID}&Return=${XXX}&CMD=DATA
Annotation
Parameter Description
DefaultWGFormat The table name, which is the default Wiegand format table
ID The index.
Example
ID=517&Return=0&CMD=DATA
Wiegand Format
Application scenario
The server delivers the Wiegand format to the client. It is generally used to synchronize the Wiegand
format edited on the server to the client.
C:${CmdID}:DATA$(SP)UPDATE$(SP)WGFormat$(SP)ID=${XXX}$(HT)CardBit=${XXX}
$(HT)SiteCode=${XXX}$(HT)FormatName=${XXX}$(HT)CardFormat=${XXX}
ID=${CmdID}&Return=${XXX}&CMD=DATA
Annotation
Parameter Description
WGFormat The table name, which is the default Wiegand format table
ID The index.
Example
ID=518&Return=0&CMD=DATA
Application scenario
The server delivers the Wiegand format of the Wiegand reader to the client. It is generally used to
synchronize the Wiegand format of the Wiegand reader edited on the server to the client.
C:${CmdID}:DATA$(SP)UPDATE$(SP)ReaderWGFormat$(SP)ReaderID=${XXX}$(HT)De
vID=${XXX}$(HT)WGFormatID=${XXX}$(HT)ParityVerifyDisable=${XXX}$(HT)Reve
rsalType=${XXX}
ID=${CmdID}&Return=${XXX}&CMD=DATA
Annotation
Parameter Description
The table name, which is the table of the Wiegand format of the
ReaderWGFormat Wiegand reader
ReaderID: The reader ID.
The device ID. The value of AccSupportFunList counts from 0, and the
DevID
value of the 26th bit is used to control the function.
1 Disable
2 Invert 0 and 1
ReversalType
3 Exchange low bits with high bits
Example
ID=519&Return=0&CMD=DATA
Application scenario
The server delivers the input control (by time period) information to the client. It is generally used to
synchronize the input control (by time period) information edited on the server to the client.
C:${CmdID}:DATA$(SP)UPDATE$(SP)InputIOSetting$(SP)Number=${XXX}$(HT)InTy
pe=${XXX}$(HT)TimeZoneId=${XXX}$(HT)DevID=${XXX}
ID=${CmdID}&Return=${XXX}&CMD=DATA
Annotation
Parameter Description
InputIOSetting The table name, which is the table of input control by time period.
The input ID, which is the door ID in the door property table or the ID in the
Number
auxiliary input property table.
0 Exit button
InType
1 Auxiliary input
The device ID. The value of AccSupportFunList counts from 0, and the value
DevID
of the 26th bit is used to control the function.
Example
ID=520&Return=0&CMD=DATA
Application scenario
The server delivers the verification modes in different time periods to the client. It is generally used to
synchronize the verification modes edited on the server to the client.
C:${CmdID}:DATA$(SP)UPDATE$(SP)DiffTimezoneVS$(SP)TimezoneID=${XXX}$(HT)
SunTime1=${XXX}$(HT)SunTime1VSUser=${XXX}$(HT)SunTime1VSDoor=${XXX}$(HT)
SunTime2=${XXX}$(HT)SunTime2VSUser=${XXX}$(HT)SunTime2VSDoor=${XXX}$(HT)
SunTime3=${XXX}$(HT)SunTime3VSUser=${XXX}$(HT)SunTime3VSDoor=${XXX}$(HT)
MonTime1=${XXX}$(HT)MonTime1VSUser=${XXX}$(HT)MonTime1VSDoor=${XXX}$(HT)
MonTime2=${XXX}$(HT)MonTime2VSUser=${XXX}$(HT)MonTime2VSDoor=${XXX}$(HT)
MonTime3=${XXX}$(HT)MonTime3VSUser=${XXX}$(HT)MonTime3VSDoor=${XXX}$(HT)
TueTime1=${XXX}$(HT)TueTime1VSUser=${XXX}$(HT)TueTime1VSDoor=${XXX}$(HT)
TueTime2=${XXX}$(HT)TueTime2VSUser=${XXX}$(HT)TueTime2VSDoor=${XXX}$(HT)
TueTime3=${XXX}$(HT)TueTime3VSUser=${XXX}$(HT)TueTime3VSDoor=${XXX}$(HT)
WedTime1=${XXX}$(HT)WedTime1VSUser=${XXX}$(HT)WedTime1VSDoor=${XXX}$(HT)
WedTime2=${XXX}$(HT)WedTime2VSUser=${XXX}$(HT)WedTime2VSDoor=${XXX}$(HT)
WedTime3=${XXX}$(HT)WedTime3VSUser=${XXX}$(HT)WedTime3VSDoor=${XXX}$(HT)
ThuTime1=${XXX}$(HT)ThuTime1VSUser=${XXX}$(HT)ThuTime1VSDoor=${XXX}$(HT)
ThuTime2=${XXX}$(HT)ThuTime2VSUser=${XXX}$(HT)ThuTime2VSDoor=${XXX}$(HT)
ThuTime3=${XXX}$(HT)ThuTime3VSUser=${XXX}$(HT)ThuTime3VSDoor=${XXX}$(HT)
FriTime1=${XXX}$(HT)FriTime1VSUser=${XXX}$(HT)FriTime1VSDoor=${XXX}$(HT)
FriTime2=${XXX}$(HT)FriTime2VSUser=${XXX}$(HT)FriTime2VSDoor=${XXX}$(HT)
FriTime3=${XXX}$(HT)FriTime3VSUser=${XXX}$(HT)FriTime3VSDoor=${XXX}$(HT)
SatTime1=${XXX}$(HT)SatTime1VSUser=${XXX}$(HT)SatTime1VSDoor=${XXX}$(HT)
SatTime2=${XXX}$(HT)SatTime2VSUser=${XXX}$(HT)SatTime2VSDoor=${XXX}$(HT)
SatTime3=${XXX}$(HT)SatTime3VSUser=${XXX}$(HT)SatTime3VSDoor=${XXX}$(HT)
Hol1Time1=${XXX}$(HT)Hol1Time1VSUser=${XXX}$(HT)Hol1Time1VSDoor=${XXX}$(
HT)Hol1Time2=${XXX}$(HT)Hol1Time2VSUser=${XXX}$(HT)Hol1Time2VSDoor=${XXX
}$(HT)Hol1Time3=${XXX}$(HT)Hol1Time3VSUser=${XXX}$(HT)Hol1Time3VSDoor=${
XXX}$(HT)Hol2Time1=${XXX}$(HT)Hol2Time1VSUser=${XXX}$(HT)Hol2Time1VSDoor
=${XXX}$(HT)Hol2Time2=${XXX}$(HT)Hol2Time2VSUser=${XXX}$(HT)Hol2Time2VSD
oor=${XXX}$(HT)Hol2Time3=${XXX}$(HT)Hol2Time3VSUser=${XXX}$(HT)Hol2Time3
VSDoor=${XXX}$(HT)Hol3Time1=${XXX}$(HT)Hol3Time1VSUser=${XXX}$(HT)Hol3Ti
me1VSDoor=${XXX}$(HT)Hol3Time2=${XXX}$(HT)Hol3Time2VSUser=${XXX}$(HT)Hol
3Time2VSDoor=${XXX}$(HT)Hol3Time3=${XXX}$(HT)Hol3Time3VSUser=${XXX}$(HT)
Hol3Time3VSDoor=${XXX}
ID=${CmdID}&Return=${XXX}&CMD=DATA
Annotation
Parameter Description
The table name, which is the table of verification modes in different time
DiffTimezoneVS
periods.
SunTime1-
From Sunday to Saturday, three time periods each day.
SatTime3
Hol1Time1-
Three holidays, three time periods each holiday
Hol3Time3
SunTime1VSUser- From Sunday to Saturday, three time periods each day, the verification
SatTime3VSUser modes in different time periods when the user is different.
Hol1Time1VSUser- Three holidays, three time periods each holiday, the verification modes in
Hol3Time3VSUser different time periods when the user is different
SunTime1VSDoor- From Sunday to Saturday, three time periods each day, the verification
SatTime3VSDoor modes in different time periods when the door is different
Hol1Time1VSDoor- Three holidays, three time periods each holiday, the verification modes in
Hol3Time3VSDoor different time periods when the door is different
Note: Each time period lasts from StartTime to EndTime on the software. Before the time rule is
delivered to the device, the software converts the time rule to an integer based on the convention
StartTime<<16+EndTime.
For example, the converted value of 8:30-12:00 is 830 << 16 + 1200, that is, 0x33e04b0.
Example
ID=521&Return=0&CMD=DATA
Application scenario
The server delivers the verification modes for different doors in different time periods to the client. It is
generally used to synchronize the verification modes edited on the server to the client.
C:${CmdID}:DATA$(SP)UPDATE$(SP)DoorVSTimezone$(SP)DoorID=${XXX}$(HT)Time
zoneID=${XXX}$(HT)DevID=${XXX}
ID=${CmdID}&Return=${XXX}&CMD=DATA
Annotation
Parameter Description
The table name, which is the table of verification modes for different doors
DoorVSTimezone
in different time periods.
DoorID Door ID
The device ID. The value of AccSupportFunList counts from 0, and the value
DevID
of the 26th bit is used to control the function.
Example
ID=522&Return=0&CMD=DATA
Application scenario
The server delivers the verification modes for different users in different time periods to the client. It is
generally used to synchronize the verification modes edited on the server to the client.
C:${CmdID}:DATA$(SP)UPDATE$(SP)PersonalVSTimezone$(SP)PIN=${XXX}$(HT)Doo
rID=${XXX}$(HT)TimezoneID=${XXX}$(HT)DevID=${XXX}
ID=${CmdID}&Return=${XXX}&CMD=DATA
Annotation
Parameter Description
The table name, which is the table of verification modes for different
PersonalVSTimezone
users in different time periods.
PIN User ID
DoorID Door ID
The device ID. The value of AccSupportFunList counts from 0, and the
DevID
value of the 26th bit is used to control the function.
Example
ID=523&Return=0&CMD=DATA
Application scenario
The server delivers the super user privilege to the client. It is generally used to synchronize the super user
privilege edited on the server to the client.
C:${CmdID}:DATA$(SP)UPDATE$(SP)SuperAuthorize$(SP)Pin=${XXX}$(HT)DoorID=
${XXX}$(HT)DevID=${XXX}
ID=${CmdID}&Return=${XXX}&CMD=DATA
Annotation
Parameter Description
SuperAuthorize The table name, which is the super user privilege table.
PIN User ID
DoorID Door ID
The device ID. The value of AccSupportFunList counts from 0, and the value
DevID
of the 26th bit is used to control the function.
Example
ID=523&Return=0&CMD=DATA
Comparison Photo
Application scenario
C:${CmdID}:DATA${SP}UPDATE${SP}143iophoton${SP}PIN=${XXX}${HT}Type=${XXX
}${HT}Size=${XXX}${HT}Content=${XXX}${HT}Format=${XXX}${HT}Url=${XXX}${H
T}PostBackTmpFlag=${XXX}
ID=${CmdID}&Return=${XXX}&CMD=DATA
Annotation
Parameter Description
Biometric type:
Value Meaning
0 General
1 Fingerprint
3 Voice Print
Type=${XXX} Iris
4
5 Retina
6 Palm Print
7 Finger Vein
8 Palm
The path where the file is stored on the server. Currently, only
Url=${XXX}
photos in JGP format are supported.
1 URL
1 required
Note: When URL is a relative path, use the relative path directly
User Photo
Application scenario
C:${CmdID}:DATA${SP}UPDATE${SP}userpic${SP}pin=${XXX}${HT}size=${XXX}${H
T}format=${xxx}${HT}url=${xxx}${HT}content=${XXX}
ID=${CmdID}&Return=${XXX}&CMD=DATA
Annotation
Parameter Description
1 URL
Example
size=138620content=/9j/4AAQSkZJRgABAQAAAQABAAD/2wBDAAEBAQEBAQEBAQEBAQEBA
QEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQH/2wBDA
QEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBA
QEBAQEBAQEBAQH/wAARCAGQAoADASIAAhEBAxEB/8QAHwAAAQUBAQEBAQ…...
ID=524&Return=0&CMD=DATA
Unified Template
Application scenario
C:${CmdID}:DATA${SP}UPDATE${SP}biodata${SP}pin=${XXX}${HT}No=${XXX}${HT}
index=${XXX}${HT}valid=${XXX}${HT}duress=${XXX}${HT}type=${XXX}${HT}majo
rver=${XXX}${HT}minorver=${XXX}${HT}format=${XXX}${HT}tmp=${XXX}
ID=${CmdID}&Return=${XXX}&CMD=DATA
Annotation
Parameter Description
No=${XXX} ring finger, and little finger of the right hand respectively.
Face All is 0.
Iris 0 is the iris of the left eye and 1 is the iris of the right eye.
Palm 0 is the palm of the left hand and 1 is the palm of the right
hand.
1 Valid
1 Duress
Biometric type:
Value Meaning
0 General
1 Fingerprint
3 Voice Print
type=${XXX} 4 Iris
5 Retina
6 Palm Print
7 Finger Vein
8 Palm
The major version number. For example, for the fingerprint algorithm 10.3,
the major version number is 10 and the minor version number is 3.
Fingerprint 9.0, 10.3 and 12.0
majorver=${XXX}
Finger Vein 3.0
Palm 1.0
The minor version number. For example, for the fingerprint algorithm 10.3,
minorver=${XXX}
the major version number is 10 and the minor version number is 3.
Palm 1.0
Value Format
0 ZK
1 ISO
2 ANSI
• Finger Vein
Format=${XXX}
Value Format
0 ZK
• Face
Value Format
0 ZK
• Palm
Value Format
0 ZK
Example
ID=524&Return=0&CMD=DATA
Application scenario
The server delivers the elevator control privilege information to the client, which is generally used to edit
the elevator control privilege group information on the server and then synchronize it to the client.
C:${CmdID}:DATA${SP}UPDATE${SP}usereleauthorize${SP}Pin=${XXX}${HT}Autho
rizeTimezoneId=${XXX}${HT}AuthorizeFloorId=${XXX}${HT}AuthorizeFloors=${
XXX}${HT}DevID=${XXX}
ID=${CmdID}&Return=${XXX}&CMD=DATA
Annotation
Parameter Description
Example
ID=524&Return=0&CMD=DATA
Application scenario
The server delivers the expansion board properties to the client, which is generally used to add or delete
the expansion board on the server and synchronize it to the client.
C:${CmdID}:DATA${SP}UPDATE${SP}ExtBoardID${SP}DevID=${XXX}${HT}DevType=$
{XXX}${HT}BusType=${XXX}${HT}Address=${XXX}${HT}Disable=${XXX}
ID=${CmdID}&Return=${XXX}&CMD=DATA
Annotation
Parameter Description
Example
ID=524&Return=0&CMD=DATA
Application scenario
The server delivers the expansion board configuration information to the client, which is generally used
to add or delete the expansion board on the server and synchronize it to the client.
C:${CmdID}:DATA${SP}UPDATE${SP}ExtBoardID${SP}ReactType=${XXX}${HT}Entit
yID=${XXX}${HT}SeqNo=${XXX}
ID=${CmdID}&Return=${XXX}&CMD=DATA
Annotation
Parameter Description
1 Door
ReactType=${XXX} 2 Auxiliary iutput
3 Auxiliary output
4 Reader
Example
ID=524&Return=0&CMD=DATA
Time Rule and Passing Mode (only supported by the channel controller)
Application scenario
The server delivers a time rule and corresponding passing mode to the client. Generally, it is used to
automatically deliver the rule edited on the server.
C:${CmdID}:DATA$(SP)UPDATE$(SP)gatepassrule$(SP)PasswayTimeZoneId=${XXX}
$(HT)SunTime1=${XXX}$(HT)SunPassMode1=${XXX}$(HT)SunTime2=${XXX}$(HT)Sun
PassMode2=${XXX}$(HT)SunTime3=${XXX}$(HT)SunPassMode3=${XXX}$(HT)SunTime
4=${XXX}$(HT)SunPassMode4=${XXX}$(HT)SunTime5=${XXX}$(HT)SunPassMode5=${
XXX}$(HT)MonTime1=${XXX}$(HT)MonPassMode1=${XXX}$(HT)MonTime2=${XXX}$(HT
)MonPassMode2=${XXX}$(HT)MonTime3=${XXX}$(HT)MonPassMode3=${XXX}$(HT)Mon
Time4=${XXX}$(HT)MonPassMode4=${XXX}$(HT)MonTime5=${XXX}$(HT)MonPassMode
5=${XXX}$(HT)TueTime1=${XXX}$(HT)TuePassMode1=${XXX}$(HT)TueTime2=${XXX}
$(HT)TuePassMode2=${XXX}$(HT)TueTime3=${XXX}$(HT)TuePassMode3=${XXX}$(HT
)TueTime4=${XXX}$(HT)TuePassMode4=${XXX}$(HT)TueTime5=${XXX}$(HT)TuePass
Mode5=${XXX}$(HT)WedTime1=${XXX}$(HT)WedPassMode1=${XXX}$(HT)WedTime2=${
XXX}$(HT)WedPassMode2=${XXX}$(HT)WedTime3=${XXX}$(HT)WedPassMode3=${XXX}
$(HT)WedTime4=${XXX}$(HT)WedPassMode4=${XXX}$(HT)WedTime5=${XXX}$(HT)Wed
PassMode5=${XXX}$(HT)ThuTime1=${XXX}$(HT)ThuPassMode1=${XXX}$(HT)ThuTime
2=${XXX}$(HT)ThuPassMode2=${XXX}$(HT)ThuTime3=${XXX}$(HT)ThuPassMode3=${
XXX}$(HT)ThuTime4=${XXX}$(HT)ThuPassMode4=${XXX}$(HT)ThuTime5=${XXX}$(HT
)ThuPassMode5=${XXX}$(HT)FriTime1=${XXX}$(HT)FriPassMode1=${XXX}$(HT)Fri
Time2=${XXX}$(HT)FriPassMode2=${XXX}$(HT)FriTime3=${XXX}$(HT)FriPassMode
3=${XXX}$(HT)FriTime4=${XXX}$(HT)FriPassMode4=${XXX}$(HT)FriTime5=${XXX}
$(HT)FriPassMode5=${XXX}$(HT)SatTime1=${XXX}$(HT)SatPassMode1=${XXX}$(HT
)SatTime2=${XXX}$(HT)SatPassMode2=${XXX}$(HT)SatTime3=${XXX}$(HT)SatPass
Mode3=${XXX}$(HT)SatTime4=${XXX}$(HT)SatPassMode4=${XXX}$(HT)SatTime5=${
XXX}$(HT)SatPassMode5=${XXX}
ID=${CmdID}&Return=${XXX}&CMD=DATA
Annotation
Parameter Description
Note: Each time period lasts from StartTime to EndTime on the software. Before the time rule is
delivered to the device, the software converts the time rule to an integer based on the convention
StartTime<<16+EndTime.
For example, the converted value of 8:30-12:00 is 830 << 16 + 1200, that is, 0x33e04b0.
9.1.2 Delete
Application scenario
This command is used to control the deletion of device data on the software, for example, the user and
fingerprint template.
Format
C:$(CmdID):DATA$(SP)DELETE$(SP)$(TableName)$(SP)$(Cond)
Annotation
Parameter Description
User Information
Application scenario
Format
C:$(CmdID):DATA$(SP)DELETE$(SP)user$(SP)$(Cond)
ID=${CmdID}&Return=${XXX}&CMD=DATA
Annotation
Parameter Description
Generally, Pin=x means deleting the user of which ID is x, and * means deleting
$(Cond)
all users.
Note: Generally, when deleting a user, the server deletes the user's verification mode and access
control privilege together. Therefore, when delivering the command to delete a user, the server also
delivers the command to delete the user's access control privilege and verification mode (such as a
fingerprint).
Example
Delete the user of which ID is 1 (can delete the user data together):
Wherein, commands 1 and 2 are used to delete the access control privilege and the fingerprint template
respectively. Command 3 is used to delete the user.
ID=335&Return=0&CMD=DATA
ID=336&Return=0&CMD=DATA
ID=337&Return=0&CMD=DATA
Application scenario
Format
C:$(CmdID):DATA$(SP)DELETE$(SP)extuser$(SP)$(Cond)
ID=${CmdID}&Return=${XXX}&CMD=DATA
Annotation
Parameter Description
Generally, Pin=x means deleting the extended user of which ID is x, and * means
$(Cond)
deleting all extended users.
Example
ID=337&Return=0&CMD=DATA
Multi-card User
Application scenario
Format
C:$(CmdID):DATA$(SP)DELETE$(SP)mulcarduser$(SP)$(Cond)
ID=${CmdID}&Return=${XXX}&CMD=DATA
Annotation
Parameter Description
Example
ID=337&Return=0&CMD=DATA
Application scenario
After deleting a user, the server also deletes the user's access control privilege.
Format
C:(CmdID):DATA$(SP)DELETE$(SP)userauthorize$(SP)$(Cond)
ID=${CmdID}&Return=${XXX}&CMD=DATA
Annotation
Parameter Description
userauthorize The table name, which is the user's access control privilege.
Generally, Pin=x means deleting the access control privilege of the user of
$(Cond)
which ID is x, and * means deleting the access control privilege of all users.
Example
ID=335&Return=0&CMD=DATA
Application scenario
It is generally used to delete all the access control records of the device.
Format
C:(CmdID):DATA$(SP)DELETE$(SP)transaction$(SP)$(Cond)
ID=${CmdID}&Return=${XXX}&CMD=DATA
Annotation
Parameter Description
Example
ID=123&Return=0&CMD=DATA
Fingerprint Template
Application scenario
Generally, it is used to delete a specified fingerprint template of a device used on the server or delete a
user as well as the user's fingerprint template.
Format
C:${CmdID}:DATA$(SP)DELETE$(SP)templatev10$(SP)$(Cond)
ID=${CmdID}&Return=${XXX}&CMD=DATA
Annotation
Parameter Description
Pin=x means deleting all the fingerprint templates of the user of which ID is x.
$(Cond) FingerID=x means deleting a specified fingerprint template.
* means deleting all the records.
Example
ID=342&Return=0&CMD=DATA
Holiday
Application scenario
Format
C:(CmdID):DATA$(SP)DELETE$(SP)holiday$(SP)$(Cond)
ID=${CmdID}&Return=${XXX}&CMD=DATA
Annotation
Parameter Description
Example
ID=123&Return=0&CMD=DATA
Time Period
Application scenario
It is generally used to delete the data in a time period or the data in all time periods.
Format
C:${CmdID}:DATA$(SP)DELETE$(SP)timezone$(SP)$(Cond)
ID=${CmdID}&Return=${XXX}&CMD=DATA
Annotation
Parameter Description
Example
ID=342&Return=0&CMD=DATA
Application scenario
It is generally used to delete a first-card opening record or all the first-card opening records.
Format
C:${CmdID}:DATA$(SP)DELETE$(SP)firstcard$(SP)$(Cond)
ID=${CmdID}&Return=${XXX}&CMD=DATA
Annotation
Parameter Description
Example
ID=342&Return=0&CMD=DATA
ID=343&Return=0&CMD=DATA
Application scenario
It is generally used to delete a multi-card opening record or all the multi-card opening records.
Format
C:${CmdID}:DATA$(SP)DELETE$(SP)multimcard$(SP)$(Cond)
ID=${CmdID}&Return=${XXX}&CMD=DATA
Annotation
Parameter Description
Example
ID=342&Return=0&CMD=DATA
Linkage Details
Application scenario
Format
C:${CmdID}:DATA$(SP)DELETE$(SP)inoutfun$(SP)$(Cond)
ID=${CmdID}&Return=${XXX}&CMD=DATA
Annotation
Parameter Description
Example
ID=342&Return=0&CMD=DATA
Scheduled Output
Application scenario
Format
C:${CmdID}:DATA$(SP)DELETE$(SP)outrelaysetting$(SP)$(Cond)
ID=${CmdID}&Return=${XXX}&CMD=DATA
Annotation
Parameter Description
Example
ID=342&Return=0&CMD=DATA
DLST Record
Application scenario
Format
C:${CmdID}:DATA$(SP)DELETE$(SP)DSTSetting$(SP)$(Cond)
ID=${CmdID}&Return=${XXX}&CMD=DATA
Annotation
Parameter Description
Example
ID=342&Return=0&CMD=DATA
Device Property
Application scenario
Format
C:${CmdID}:DATA$(SP)DELETE$(SP)DevProperty$(SP)$(Cond)
ID=${CmdID}&Return=${XXX}&CMD=DATA
Annotation
Parameter Description
Example
ID=342&Return=0&CMD=DATA
Device Parameter
Application scenario
Format
C:${CmdID}:DATA$(SP)DELETE$(SP)DevParameters$(SP)$(Cond)
ID=${CmdID}&Return=${XXX}&CMD=DATA
Annotation
Parameter Description
Example
ID=342&Return=0&CMD=DATA
Door Property
Application scenario
Format
C:${CmdID}:DATA$(SP)DELETE$(SP)DoorProperty$(SP)$(Cond)
ID=${CmdID}&Return=${XXX}&CMD=DATA
Annotation
Parameter Description
Example
ID=342&Return=0&CMD=DATA
Door Parameter
Application scenario
Format
C:${CmdID}:DATA$(SP)DELETE$(SP)DoorParameters$(SP)$(Cond)
ID=${CmdID}&Return=${XXX}&CMD=DATA
Annotation
Parameter Description
Example
ID=342&Return=0&CMD=DATA
Reader Property
Application scenario
Format
C:${CmdID}:DATA$(SP)DELETE$(SP)ReaderProperty$(SP)$(Cond)
ID=${CmdID}&Return=${XXX}&CMD=DATA
Annotation
Parameter Description
Example
ID=342&Return=0&CMD=DATA
Reader Parameter
Application scenario
Format
C:${CmdID}:DATA$(SP)DELETE$(SP)ReaderParameters$(SP)$(Cond)
ID=${CmdID}&Return=${XXX}&CMD=DATA
Annotation
Parameter Description
Example
ID=342&Return=0&CMD=DATA
Auxiliary Input
Application scenario
Format
C:${CmdID}:DATA$(SP)DELETE$(SP)AuxIn$(SP)$(Cond)
ID=${CmdID}&Return=${XXX}&CMD=DATA
Annotation
Parameter Description
Example
ID=342&Return=0&CMD=DATA
Auxiliary Output
Application scenario
Format
C:${CmdID}:DATA$(SP)DELETE$(SP)AuxOut$(SP)$(Cond)
ID=${CmdID}&Return=${XXX}&CMD=DATA
Annotation
Parameter Description
Example
ID=342&Return=0&CMD=DATA
Wiegand Format
Application scenario
It is generally used to delete a default Wiegand format or all the default Wiegand formats.
Format
C:${CmdID}:DATA$(SP)DELETE$(SP)DefaultWGFormat$(SP)$(Cond)
ID=${CmdID}&Return=${XXX}&CMD=DATA
Annotation
Parameter Description
DefaultWGFormat The table name, which is the default Wiegand format table
Example
ID=342&Return=0&CMD=DATA
ID=343&Return=0&CMD=DATA
Wiegand Format
Application scenario
Format
C:${CmdID}:DATA$(SP)DELETE$(SP)WGFormat$(SP)$(Cond)
ID=${CmdID}&Return=${XXX}&CMD=DATA
Annotation
Parameter Description
Example
ID=342&Return=0&CMD=DATA
ID=343&Return=0&CMD=DATA
Application scenario
It is generally used to delete the Wiegand format of a reader or the Wiegand formats of all readers.
Format
C:${CmdID}:DATA$(SP)DELETE$(SP)WGFormat$(SP)$(Cond)
ID=${CmdID}&Return=${XXX}&CMD=DATA
Annotation
Parameter Description
WGFormat The table name, which is the reader Wiegand format table
Example
Delete the Wiegand format of the reader of which ReaderID is 1 or DevID is 24:
ID=342&Return=0&CMD=DATA
ID=343&Return=0&CMD=DATA
Application scenario
It is generally used to delete all the input control (by time period) data.
Format
C:${CmdID}:DATA$(SP)DELETE$(SP)InputIOSetting$(SP)$(Cond)
ID=${CmdID}&Return=${XXX}&CMD=DATA
Annotation
Parameter Description
InputIOSetting The table name, which is the table of input control by time period.
$(Cond) * means deleting all the input control (by time period) data.
Example
ID=342&Return=0&CMD=DATA
Application scenario
It is generally used to delete a verification mode in different time periods or all the verification modes in
different time periods.
Format
C:${CmdID}:DATA$(SP)DELETE$(SP)DiffTimezoneVS$(SP)$(Cond)
ID=${CmdID}&Return=${XXX}&CMD=DATA
Annotation
Parameter Description
The table name, which is the table of verification modes in different time
DiffTimezoneVS
periods.
Example
ID=342&Return=0&CMD=DATA
Application scenario
It is generally used to delete a door's verification modes in different time periods or all the doors'
verification modes in different time periods.
Format
C:${CmdID}:DATA$(SP)DELETE$(SP)DoorVSTimezone$(SP)$(Cond)
ID=${CmdID}&Return=${XXX}&CMD=DATA
Annotation
Parameter Description
The table name, which is the table of the door's verification modes in
DoorVSTimezone
different time periods.
Example
Delete the verification modes in different time periods of the door of which DoorID is 1:
ID=342&Return=0&CMD=DATA
Application scenario
It is generally used to delete a user's verification modes in different time periods or all the users'
verification modes in different time periods.
Format
C:${CmdID}:DATA$(SP)DELETE$(SP)PersonalVSTimezone$(SP)$(Cond)
ID=${CmdID}&Return=${XXX}&CMD=DATA
Annotation
Parameter Description
The table name, which is the table of the user's verification modes in
PersonalVSTimezone
different time periods.
Example
Delete the verification modes in different time periods of the user of which PIN is 1 or PIN and
DoorID are 1:
ID=342&Return=0&CMD=DATA
ID=343&Return=0&CMD=DATA
Application scenario
It is generally used to delete the privilege of a super user or all the super users.
Format
C:${CmdID}:DATA$(SP)DELETE$(SP)SuperAuthorize$(SP)$(Cond)
ID=${CmdID}&Return=${XXX}&CMD=DATA
Annotation
Parameter Description
SuperAuthorize The table name, which is the super user privilege table.
Pin=x means deleting the privilege of the super user of which Pin is x.
$(Cond)
* means deleting the privilege of all the super users.
Example
ID=342&Return=0&CMD=DATA
Comparison Photo
Application scenario
Format
C:${CmdID}:DATA${SP}DELETE${SP}biophoto${SP}PIN=${XXX}
ID=${CmdID}&Return=${XXX}&CMD=DATA
Annotation
Parameter Description
User Photo
Application scenario
Format
C:${CmdID}:DATA${SP}DELETE${SP}userpic${SP}pin=${XXX}
ID=${CmdID}&Return=${XXX}&CMD=DATA
Annotation
Parameter Description
Unified Template
Application scenario
Format
C:${CmdID}:DATA${SP}DELETE${SP}biodata${SP}Type=${XXX}
C:${CmdID}:DATA${SP}DELETE${SP}biodata${SP}Type=${XXX}${HT}pin=${XXX}${H
T}no=${XXX}
The client uploads the execution result:
ID=${CmdID}&Return=${XXX}&CMD=DATA
Annotation
Parameter Description
0 General
1 Fingerprint
3 Voice Print
type=${XXX} 4 Iris
5 Retina
6 Palm Print
7 Finger Vein
8 Palm
Face All is 0.
Iris 0 is the iris of the left eye and 1 is the iris of the right eye.
0 is the palm of the left hand and 1 is the palm of the right
Palm
hand.
9.1.3 Count
Application scenario
It is used to count the number of records in a specified table or the number of records that meet the
specified condition in a specified table.
Format
C:${CmdID}:DATA$(SP)COUNT$(SP)$(TableName)$(SP)$(Cond)
POST
/iclock/querydata?SN=$(SerialNumber)&type=count&cmdid=${CmdID}&tablename
=user&count=${XXX}&packcnt=${XXX}&packidx=${XXX} HTTP/1.1
$(TableName)=${XXX}
ID=${CmdID}&Return=${XXX}&CMD=DATA
Annotation
Parameter Description
When the filter condition list is x, the whole table is counted. When
the list contains multiple filter conditions, the conditions are in AND
relationship.
The URI of the data that is uploaded by the client and meets the
/iclock/querydata
condition.
The left parameter indicates the table name, and the right value
$(TableName)=${XXX} indicates the number of data entries in the table that meet the
condition.
User Count
Application scenario
Format
C:${CmdID}:DATA$(SP)COUNT$(SP)user$(SP)$(Cond)
user=${XXX}
ID=${CmdID}&Return=${XXX}&CMD=DATA
Annotation
Parameter Description
user The table name, which is the number of obtained user information tables.
$(Cond) Generally no condition is set, which means getting the number of all users
Example
POST
/iclock/querydata?SN=3383154200002&type=count&cmdid=288&tablename=user&c
ount=1&packcnt=1&packidx=1 HTTP/1.1
Cookie: token=af65a75608cf5b80fbb3b48f0b4df95a
Host: 192.168.213.17:8088
Content-Length: 6
user=5
ID=288&Return=0&CMD=DATA COUNT
Application scenario
It is used to get the number of access control records from the client.
Note
The interaction process and command format are the same as those of the command to get the user
count. You only need to replace the table name with "transaction".
Application scenario
Note
The interaction process and command format are the same as those of the command to get the user
count. You only need to replace the table name with "transaction".
Application scenario
It is generally used to get the number of comparison photos from the device.
Format
C:${CmdID}:DATA$(SP)COUNT$(SP)biophoto$(SP)Type=$(XXX)$(HT)$(Cond)
biophoto=${XXX}
ID=${CmdID}&Return=${XXX}&CMD=DATA COUNT
Annotation
Parameter Description
biophoto The table name, which is the number of obtained comparison photos.
Value Meaning
0 General
1 Fingerprint
4 Iris
5 Retina
6 Palm Print
7 Finger Vein
8 Palm
Example
Does not support hybrid identification protocol, only supports the number of visible light face
comparison photos:
After supporting the hybrid identification protocol, you must specify the type of comparison photo.
POST
/iclock/querydata?SN=1809140005&type=count&cmdid=80&tablename=biophoto&c
ount=1&packcnt=1&packidx=1 HTTP/1.1
Cookie: token=af65a75608cf5b80fbb3b48f0b4df95a
Host: 192.168.213.17:8088
Content-Length: 10
biophoto=2
ID=80&Return=0&CMD=DATA COUNT
Application scenario
It is generally used to get the number of device unified templates of the specified type.
Format
C:${CmdID}:DATA$(SP)COUNT$(SP)biodata$(SP)Type=$(XXX)$(HT)$(Cond)
biodata=${XXX}
ID=${CmdID}&return=${XXX}&CMD=DATA COUNT
Annotation
Parameter Description
biophoto The table name, which is the number of obtained comparison photos.
Value Meaning
0 General
1 Fingerprint
3 Voice Print
Type=${XXX} 4 Iris
5 Retina
6 Palm Print
7 Finger Vein
8 Palm
$(Cond) No condition is set, which means getting the number of all comparison photos.
Example
P POST
/iclock/querydata?SN=1809140005&type=count&cmdid=80&tablename=biodata&co
unt=1&packcnt=1&packidx=1 HTTP/1.1
Cookie: token=af65a75608cf5b80fbb3b48f0b4df95a
Host: 192.168.213.17:8088
Content-Length: 10
……
biodata=2
ID=80&Return=0&CMD=DATA COUNT
9.1.4 Query
Application scenario
The server actively requires the client to upload data that meets the query condition.
Format
C:${CmdID}:DATA$(SP)QUERY$(SP)tablename=$(XXX),fielddesc=$(XXX),filter=$
(XXX)
POST
/iclock/querydata?SN=$(SerialNumber)&type=tabledata&cmdid=$(XXX)&tablena
me=$(TableName)&count=$(XXX)&packcnt=$(XXX)&packidx=$(XXX) HTTP/1.1
$(DataRecord)
$(TableName)=$(XXX)
ID=${CmdID}&Return=${XXX}&CMD=DATA
Annotation
Parameter Description
It is a field. When this field is set to *, all fields of the table are queried;
fielddesc
otherwise, the specified field is queried.
It is the query condition. When this field is set to *, the data is not filtered.
When this field is set to NewRecord and tablename is transaction, new
filter records are queried.
On some devices, when this field is set to starttime=\tendtime=, records
in the specified time period are queried.
The URI of the data that is uploaded by the client and meets the
/iclock/querydata
condition.
The package ID, which indicates which of all packages is currently being
packidx
sent.
The data that meets the condition and needs to be uploaded. The
$(DataRecord)
specific format depends on the table name.
User
Application scenario
The server actively requires the client to upload the specified user. It is generally used to get all the users
from the device.
Format
C:415:DATA$(SP)QUERY$(SP)tablename=user,fielddesc=$(XXX),filter=$(XXX)
POST
/iclock/querydata?SN=$(SerialNumber)&type=tabledata&cmdid={CmdID}&tablen
ame=user&count=$(XXX)&packcnt=$(XXX)&packidx=$(XXX) HTTP/1.1
$(DataRecord)
user=$(XXX)
ID=${CmdID}&return=${XXX}&CMD=DATA COUNT
Annotation
Parameter Description
When it is set to user, it means the user table and the data processed is the user
tablename
data.
When the table name is user, the data format is the user data format. For
$(DataRecord)
details, see Upload User Information.
Example
POST
/iclock/querydata?SN=3383154200002&type=tabledata&cmdid=415&tablename=us
er&count=3&packcnt=1&packidx=1 HTTP/1.1
The server responds that it has received the data of the three user:
user=3
ID=415&Return=3&CMD=DATA QUERY
Fingerprint Template
Application scenario
The server actively requires the client to upload the specified fingerprint template. It is generally used to
get all the fingerprint templates after getting all the users.
Note
The command is the same as the command to query users, except that you need to replace the table
name with templatev10. The $(DataRecord) format is the fingerprint template format. For details, see
Upload Fingerprint Template.
Application scenario
The server actively requires the client to upload the specified access control record. It is generally used to
get all access control records or the access control record in the specified range after the ACCOUNT
command failed.
Format
C:415:DATA$(SP)QUERY$(SP)tablename=transaction,fielddesc=$(XXX),filter=$
(XXX)
POST
/iclock/querydata?SN=$(SerialNumber)&type=tabledata&cmdid={CmdID}&tablen
ame=transaction&count=$(XXX)&packcnt=$(XXX)&packidx=$(XXX) HTTP/1.1
$(DataRecord)
transaction=$(XXX)
ID=${CmdID}&Return=$(XXX)&CMD=DATA
Annotation
Parameter Description
The command format is same to the format of the command used to query users. You need to
replace the table name with transaction.
transaction$(SP)cardno=$(XXX)$(HT)pin=$(XXX)$(HT)ve
rified=$(XXX)$(HT)doorid=$(XXX)$(HT)eventtype=$(XXX
$(DataRecord) )$(HT)inoutstate=$(XXX)$(HT)time_second=$(XXX)$(HT)
index=$(XXX)$(HT)sitecode=$(XXX)$(HT)devid=$(XXX)$(
HT)maskflag=$(xxx)${HT}temperature=$(xxx)${HT}convt
emperature=$(xxx)
transaction The table name, which means that the data type is access control record.
pin User ID
doorid Door ID
devid Device ID
1 Wearing a mask
temperature The value is the temperature data with a decimal point, for example: 36.2.
The value is the temperature data with a decimal point. If the server does not
convtemperatu
send the IRTempUnitTrans parameter, then the unit of the temperature
re
upload is subject to the IRTempUnit parameter.
Note: When the filter is set to NewRecord, new records that are not uploaded are queried
Example
POST
/iclock/querydata?SN=3383154200002&type=tabledata&cmdid=415&tablename=tr
ansaction&count=1&packcnt=1&packidx=1 HTTP/1.1
The server responds that it has received the data of the three user:
transaction=1
ID=415&Return=1&CMD=DATA
Wi-Fi List
Application scenario
The software delivers a command to query the Wi-Fi list. After searching for surrounding Wi-Fis, the deice
uploads the SSIDs and other information to the software.
Format
C:415:DATA$(SP)QUERY$(SP)tablename=[APList],fielddesc=$(XXX),filter=$(XX
X)
POST
/iclock/querydata?SN=$(SerialNumber)&type=vmtable&cmdid={CmdID}&tablenam
e=APList&count=$(XXX)&packcnt=$(XXX)&packidx=$(XXX) HTTP/1.1
$(DataRecord)
APList=$(XXX)
ID=${CmdID}&Return=$(XXX)&CMD=DATA
Annotation
Parameter Description
APList$(SP)ecn=$(XXX)$(HT)ssid=$(XXX)$(HT)rssi=$(XX
$(DataRecord)
X)
$(HT)mac=$(XXX)
Example
POST
/iclock/querydata?SN=$(SerialNumber)&type=vmtable&cmdid=415&tablename=AP
List&count=%d&packcnt=%d&packidx=%d HTTP/1.1
Cookie: token=${XXX}
Host: ${ServerIP}:${ServerPort}
Content-Length: ${XXX}
APList ecn=%?\tssid=%?\trssi=%?\tmac=%?
APList ecn=%?\tssid=%?\trssi=%?\tmac=%?
APList ecn=%?\tssid=%?\trssi=%?\tmac=%?
APList=3
ID=415&Return=3&CMD=DATA
Comparison Photo
Application scenario
The server actively requires the client to upload the specified comparison photo. It is generally used to
get all the comparison photos from the device.
Format
Does not support hybrid identification protocol, only supports obtaining visible light face comparison
photos:
C:99:DATA$(SP)QUERY$(SP)tablename=biophoto,fielddesc=$(XXX),filter=$(XXX
)
After supporting the hybrid identification protocol, you must specify the type of comparison photo:
C:99:DATA$(SP)QUERY$(SP)tablename=biophoto,fielddesc=$(XXX),filter=Type=
$(XXX)$(HT)$(XXX)
Value Meaning
0 General
1 Fingerprint
3 Voice Print
4 Iris
5 Retina
6 Palm Print
7 Finger Vein
8 Palm
POST
/iclock/querydata?SN=$(SerialNumber)&type=tabledata&cmdid={CmdID}&tablen
ame=biophoto&count=$(XXX)&packcnt=$(XXX)&packidx=$(XXX) HTTP/1.1
$(DataRecord)
biophoto=$(XXX)
ID=${CmdID}&Return=$(XXX)&CMD=DATA QUERY
Annotation
Parameter Description
When it is set to biophoto, it means the comparison photo table and the data
tablename
processed is the comparison photo data.
When the table name is biophoto, the data format is the format of the
$(DataRecord)
comparison photo data. For details, see Upload Comparison Photo.
Example
POST
/iclock/querydata?SN=1809140005&type=tabledata&cmdid=99&tablename=biopho
to&count=1&packcnt=2&packidx=1 HTTP/1.1
The server responds that it has received the data of one comparison photo:
biophoto=1
POST
/iclock/querydata?SN=1809140005&type=tabledata&cmdid=99&tablename=biopho
to&count=1&packcnt=2&packidx=2
HTTP/1.1
The server responds that it has received the data of one comparison photo:
biophoto=1
After the client uploads all the comparison photos, the result is returned.
ID=99&Return=2&CMD=DATA QUERY
Unified Template
Application scenario
The server actively requires the client to upload the specified unified template data. It is generally used to
get the unified template data of the device specified type.
Format
Does not support hybrid identification protocol, only supports obtaining visible light face unified
templates:
C:99:DATA$(SP)QUERY$(SP)tablename=biodata,fielddesc=$(XXX),filter=$(XXX)
After supporting the hybrid identification protocol, you must specify the type of unified templates:
C:99:DATA$(SP)QUERY$(SP)tablename=biodata,fielddesc=$(XXX),filter=Type=$
(XXX)$(HT)$(XXX)
Value Meaning
0 General
1 Fingerprint
3 Voice Print
4 Iris
5 Retina
6 Palm Print
7 Finger Vein
8 Palm
POST
/iclock/querydata?SN=$(SerialNumber)&type=tabledata&cmdid={CmdID}&tablen
ame=biodata&count=$(XXX)&packcnt=$(XXX)&packidx=$(XXX) HTTP/1.1
$(DataRecord)
biophoto=$(XXX)
ID=${CmdID}&Return=$(XXX)&CMD=DATA QUERY
Annotation
Parameter Description
When it is set to biodata, it means the unified template table and the data
tablename
processed is the unified template data.
When the table name is biodata, the data format is the format of the unified
$(DataRecord)
template data. For details, see Upload Unified Template.
Example
POST
/iclock/querydata?SN=1809140005&type=tabledata&cmdid=99&tablename=biodat
a&count=1&packcnt=2&packidx=1 HTTP/1.1
……
The server responds that it has received the data of one comparison photo:
biophoto=1
POST
/iclock/querydata?SN=1809140005&type=tabledata&cmdid=99&tablename=biodat
a&count=1&packcnt=2&packidx=2
HTTP/1.1
The server responds that it has received the data of one unified template:
biophoto=1
After the client uploads all the unified templates, the result is returned.
ID=99&Return=2&CMD=DATA QUERY
Query conditions must include Type, different query conditions are separated by {HT}.
C:99:DATA QUERY
tablename=biodata,fielddesc=\*,filter=Type=1\tPin=1\tNo=6
9.1 Account
This command is currently used to upload the access control records for software account checking only on
the server. Account checking means that the software compares its access control records with those
uploaded by the device, to check whether any access control record is missing.
Format
C:${CmdID}:ACCOUNT$(SP)transaction$(SP)ContentType=tgz$(SP)MaxIndex=0
POST
/iclock/querydata?SN=$(SerialNumber)&type=tabledata&cmdid=${CmdID}&table
name=transaction&count=${XXX}&datafmt=3&Stamp=9999
name=transaction.tgz
size=${XXX}
datacode=base64
datatype=tgz$(NULL)$(DataRecord)
transaction=$(XXX)
ID=${CmdID}&Return=${XXX}&CMD=ACCOUNT&transaction&StartTime=${XXX}&EndTi
me=${XXX}&RecordSum=${XXX}
Annotation
Parameter Description
Access control records of which the ID is greater than this value need
MaxIndex to be uploaded. When the value is 0, all access control records need to
be uploaded.
The URI of the access control record that is uploaded by the client and
/iclock/querydata
meets the condition.
The table name. Currently, the ACCOUNT command is used only for the
tablename access control records, and therefore all the table names in the
ACCOUNT command is transaction.
transaction=${XXX} ${XXX} is the number of access control records uploaded by the client.
return The number of access control records that meet the condition.
The start time of the access control record. It is reserved currently and
StartTime
left blank during upload.
The end time of the access control record. It is reserved currently and
EndTime
left blank during upload.
RecordSum The number of access control records that meet the condition.
Example
POST
/iclock/querydata?SN=$(SerialNumber)&type=tabledata&cmdid=291&tablename=
transaction&count=41&datafmt=3&Stamp=9999
name=transaction.tgz
size=636
datacode=base64
transaction=41
ID=291&Return=41&CMD=ACCOUNT&transaction&StartTime=&EndTime=&RecordSum=4
1
9.1.2 Controller
Format
C:${CmdID}:ACCOUNT$(SP)transaction$(SP)MaxIndex=${XXX}
C:${CmdID}:ACCOUNT$(SP)transaction$(SP)StartIndex=${XXX}$(HT)EndIndex=${
XXX}
C:${CmdID}:ACCOUNT$(SP)transaction$(SP)StartTime=${XXX}$(HT)EndTime=${XX
X}
URL:
POST /iclock/cdata?SN=$(SerialNumber)&cmdid=${CmdID}&desc=overview
HTTP/1.1
Content:
SumCount=${XXX}
FileName=${XXX}
ContentType=${XXX}
FileCount=${XXX}
OK
URL:
POST
/iclock/file?SN=$(SerialNumber)&cmdid=${CmdID}&fileseq=${XXX}&content
type=tgz&table=transaction&count=$(XXX) HTTP/1.1
Content:
a. Convert the count number of access control records into those in the push upload format and
store them in transaction.txt, for example:
OK
ID=${CmdID}&Return=${XXX}&CMD=ACCOUNT
Annotation
Parameter Description
Access control records of which the ID is greater than this value need to be
MaxIndex
uploaded. When the value is 0, all access control records need to be uploaded.
Need to upload access control records of which the ID is greater than or equal
StartIndex
to this value.
Need to upload access control records of which the ID is smaller than or equal
EndIndex
to this value.
Need to upload access control records of which the record time is greater
StartTime than or equal to this value.
The time format is XXXX-XX-XX XX:XX:XX, for example, 2018-02-22 16:19:20.
Need to upload access control records of which the record time is smaller
EndTime than or equal to this value.
The time format is XXXX-XX-XX XX:XX:XX, for example, 2018-02-22 16:19:20.
FileCount The number of access control record sub-packages that meet the condition.
fileseq The index of the file sub-packages to upload, which starts from 1.
The software delivers a network test command. After receiving the command, the device test the
connectivity based on the IP address and port provided and returns the test result.
Format
ID=${CmdID}&Return=${XXX}&CMD=Test(SP)Host
Annotation
Parameter Description
The control commands are used to control device startup, remote door opening, remote door closing,
alarm canceling, enabling or disabling of Normal Open, and auxiliary outputs.
Format
C:$(CmdID):CONTROL$(SP)DEVICE$(SP)AABBCCDDEE
ID=${CmdID}&Return=${XXX}&CMD=CONTROL$(SP)DEVICE
Annotation
AA, BB, CC, and DD are four groups of two-byte strings. Each group of strings is the converted result of a
one-byte integer after %02X conversion. Wherein, AA indicates control commands, which are described
as follows:
AA BB CC DD EE
duration.
00: Cancel the alarms.
02: Cancel the alarm Operator
01-10: The door ID.
00: Restart the current
03: Restart the device device. Operator
01-10: The slave device ID.
00: All the doors. 00: Disable.
04: Control Normal Open Operator
01-10: The door ID. 01: Enable.
05: Obtain battery power Operator
Floor 1
800000000000000000000000000000000000000000000000000000000000000000
Floor 1,3,5,7,9
2A80000000000000000000000000000000000000000000000000000000000000000
Example
After receiving the command, the client uploads the request protocol:
Cookie: token=${XXX}
Host: ${ServerIP}:${ServerPort}
Content-Length: ${XXX}
type=wg\tbitscount=%?\tbits=%?\tsn=%?
OK
5) The server delivers the command of querying the sub-device connection status:
ID=224&Return=0&CMD=CONTROL DEVICE
9.3.1 Upgrade
Application scenario
It is used to remotely upgrade the firmware of the client device from the server software.
Method 1:
Application scenario
To remotely upgrade the client firmware, the client needs to be compatible with the controller and the
new architecture PULL SDK Device. The files to upgrade must be converted by the server to the specified
format and then delivered to the client.
Format
C:${CmdID}:UPGRADE$(SP)checksum=${XXX},url=$(URL),size=${XXX}
The client downloads the upgrade package from the URL carried in the command:
ID=${CmdID}&Return=${XXX}&CMD=UPGRADE
Annotation
Parameter Description
Note: In this method, the firmware upgrade file is base64-encoded by the server before delivery.
After receiving the file, the client needs to convert it into a binary file and name it as emfw.cfg.
Example
C:384:UPGRADE
checksum=a5bf4dcd6020f408589224274aab132d,url=http*//localhost*8088\fire
ware\F20\admin\emfw.cfg,size=2312
GET
/iclock/file?SN=3383154200002&url=http://192.168.213.17:8088/fireware/F2
0/admin/emfw.cfg HTTP/1.1
Cookie: token=af65a75608cf5b80fbb3b48f0b4df95a
Host: 192.168.213.17:8088
ID=384&Return=0&CMD=UPGRADE
Method 2:
Application scenario
The client directly obtains the upgrade file to upgrade the firmware remotely, without converting the file
format.
Format
C:${CmdID}:UPGRADE$(SP)type=1,checksum=${XXX},size=${XXX},url=$(URL)
Cookie: token=af65a75608cf5b80fbb3b48f0b4df95a
Host: 192.168.213.17:8088
ID=${CmdID}&Return=${XXX}&CMD=UPGRADE
Annotation
Parameter Description
type 1 means obtaining the upgrade file from the URL. Currently, only 1 is supported.
Note: In this method, the client directly obtains the firmware upgrade file, without the need of
converting its format.
Example
C:123:UPGRADE
type=1,checksum=oqoier9883kjankdefi894eu,size=6558,url=http://192.168.0.
13:89/data/emfw.cfg
GET
/iclock/file?SN=3383154200002&url=http://192.168.0.13:89/data/emfw.cfg
HTTP/1.1
Cookie: token=af65a75608cf5b80fbb3b48f0b4df95a
Host: 192.168.0.13:89
ID=384&Return=0&CMD=UPGRADE
Method 3:
Application scenario
Remotely upgrade the client's firmware, and obtain files in a subcontracted pull mode, without format
conversion, and the client directly obtains the files. The subcontracting pull process refers to the Range
protocol of HTTP, and the process is as follows:
1) The device side specifies RANGE in the HTTP Header: xx-xx specifies the byte range of the upgrade
package to be pulled.
2) The software side parses the RANGE specified in the HTTP Header, and returns the upgrade package
data in the specified range to the device side.
3) The device side pulls 1M of data each time by default, and the maximum one-time use of 1M memory,
which solves the problem of insufficient memory caused by the device pulling large data packets at
one time.
Format
C:${CmdID}:UPGRADE$(SP)checksum=${XXX},size=${XXX},url=$(URL),supportsub
contracting=${XXX}
Cookie: token=af65a75608cf5b80fbb3b48f0b4df95a
Host: 192.168.213.17:8088
……
ID=${CmdID}&Return=${XXX}&CMD=UPGRADE
Annotation
Parameter Description
Note: In this method, the client directly obtains the firmware upgrade file, without the need of
converting its format.
Example
C:123:UPGRADE
checksum=oqoier9883kjankdefi894eu,size=6558,url=http://192.168.0.13:89/d
ata/emfw.cfg
GET http://192.168.0.13:89/data/emfw.cfg
Cookie: token=af65a75608cf5b80fbb3b48f0b4df95a
Host: 192.168.0.13:89
ID=123&Return=0&CMD=UPGRADE
Application scenario
It is used to set the client configuration parameters, such as the IP address, gateway, and lock driver time
length.
Format
C:$(CmdID):SET$(SP)OPTIONS$(SP)parameter-value list
ID=$(CmdID)&Return=0&CMD=SET OPTIONS
Note
The parameter list is in the form of parameter name=parameter value. Multiple parameters are separated
by commas, but the last parameter is not followed by a comma.
Example
C:403:SET OPTIONS
IPAddress=192.168.213.221,GATEIPAddress=192.168.213.1,NetMask=255.255.25
5.0
Annotation:
Parameter Description
The value means the current time of the server and is in seconds converted by
DateTime
using the method in Appendix 5.
Some devices stop time synchronization after receiving this command, while some devices immediately
trigger the following request after executing this command. Compatibility should be considered.
Request:
Cookie: token=af65a75608cf5b80fbb3b48f0b4df95a
Host: 192.168.213.17:8088
Response:
HTTP/1.1 200 OK
Server: Apache-Coyote/1.1
Content-Type: text/plain;charset=UTF-8
Content-Length: 33
DateTime=583050990,ServerTZ=+0800
Annotation:
Parameter Description
C:405:SET OPTIONS
Door1Drivertime=5,Door1KeepOpenTimeZone=0,Door1ValidTZ=1,Door1SupperP
assWord=,Door1Intertime=0,Door1VerifyType=0,Door1SensorType=1,Door1De
tectortime=15,Door1CloseAndLock=0,Door1ForcePassWord=,Reader1IOState=
0,WiegandIDIn=1,WiegandID=1
WiegandIDIn:
WiegandID:
If the device supports the new verification method, the verification methods of Door1VerifyType and
DoorVerifyType will not follow the rules described in Appendix 3, but the following new rules:
Supported verification methods, a total of 16 digits, currently only supports up to 7 digits, of which the
0th digit is the logical digit and is issued as a string.
}VERIFY_TYPE_E;
1. Use scheme one, use today’s date as the key and use AES256 algorithm to encrypt (the key is fixed)
2. Use scheme two, the system randomly generates a key and uses AES256 algorithm for encryption
(the key is not fixed).
3. Use scheme three, the system randomly generates a key and uses RSA1024 algorithm for
encryption (public and private keys are not fixed).
After the voice module function is turned on, the following parameters can be set:
VoiceModuleCancelTime: The output time when the voice module cancels the button. Default: 2(s).
VoiceModuleCancelCount: The output times when the voice module cancels the button. Default: 1.
ID=405&Return=0&CMD=SET OPTIONS
Application scenario
Format
POST
/iclock/querydata?SN=$(SerialNumber)&type=options&cmdid=$(CmdID)&tablena
me=options&count=1&packcnt=1&packidx=1 HTTP/1.1
Parameter-value list
ID=$(CmdID)&Return=0&CMD=GET OPTIONS
Annotation
Parameter Description
/iclock/querydata The URI of the data that is uploaded by the client and meets the
condition.
"options" means the type of the data to be uploaded by the client is the
type
parameter.
The package ID, which indicates which of all packages is currently being
packidx
sent.
Note: Multiple parameters are separated by comma but not the last parameter.
Example
C:408:GET OPTIONS
~SerialNumber,FirmVer,~DeviceName,LockCount,ReaderCount,AuxInCount,AuxOu
tCount,MachineType,~IsOnlyRFMachine,~MaxUserCount,~MaxAttLogCount,~MaxFi
ngerCount,~MaxUserFingerCount,MThreshold,NetMask,GATEIPAddress,~ZKFPVers
ion,SimpleEventType,VerifyStyles,EventTypes,ComPwd
Annotations:
Parameter Description
~SerialNumber The SN
1 Event is supported.
EventTypes
Take
BF0FE03D30000100000000007000000000000000000000000077002
001000000 as an example. The 0th byte is BF, which is 11111101 in
binary mode (the lower bit is placed first), the 6th bit is 0 and other
bits are 1. It means that in the function controlled by the first eight
bits, only the linkage event represented by the 6th bit is not
supported, and other events are supported.
C:409:GET OPTIONS
IclockSvrFun,OverallAntiFunOn,~REXInputFunOn,~CardFormatFunOn,~SupAuthr
izeFunOn,~ReaderCFGFunOn,~ReaderLinkageFunOn,~RelayStateFunOn,~Ext485Re
aderFunOn,~TimeAPBFunOn,~CtlAllRelayFunOn,~LossCardFunOn,DisableUserFun
On,DeleteAndFunOn,LogIDFunOn,DateFmtFunOn,DelAllLossCardFunOn,DelayOpen
DoorFunOn,UserOpenDoorDelayFunOn,MultiCardInterTimeFunOn,DSTFunOn,OutRe
laySetFunOn,MachineTZFunOn,AutoServerFunOn,PC485AsInbio485,MasterInbio4
85,RS232BaudRate,AutoServerMode,IPCLinkFunOn,IPCLinkServerIP
Annotations:
Parameter Description
1 Enable.
C:410:GET OPTIONS
FingerFunOn,FvFunOn,FaceFunOn,~MaxFace7Count,~MaxFvCount
Annotations:
Parameter Description
Application scenario
It is used to set the parameters required for the AD screen device to display AD pictures and videos for
the screen device to download pictures and videos for use.
Format
The client first uploads the execution result -5000, and prompts the software to wait for the
screen device to return the download result:
ID=$(CmdID)&Return=5000&CMD=SET ADSCREEN_OPTIONS
After the screen device returns the download result, the client uploads a command response
again, the CmdID remains unchanged, and the update software command return value:
ID=$(CmdID)&Return=&{XXX}&CMD=SET ADSCREEN_OPTIONS
Annotation
Parameter Description
Command Format
C:$(CmdID):ENROLL_BIO
type=%?\tno=%?\tpin=%?\tcardno=%?\tretry=%?\toverwrite=%?
ID=${XXX}&Return=${XXX}&CMD=ENROLL_BIO
Annotation
Parameter Description
Biometric type:
Value Meaning
0 General
1 Fingerprint
3 Voice Print
type 4 Iris
5 Retina
6 Palm Print
7 Finger Vein
8 Palm
Whether to overwrite:
overwrite 0 : If the corresponding user exists, it will not be overwritten and return error.
Example
The software issues a visible light face with a registered User ID of 1, and retry at most 3 times during
registration. If the user has a face, it will cover:
ID=395&return=0&CMD=ENROLL_BIO
10 Remote Identification
The device sends the data that passes identification to the server. After identification, the server returns the
result, the data that passes identification, and the control command, as shown below:
Client Request
Host: ${ServerIP}:${ServerPort}
Content-Length: ${XXX}
time=${XXX}${HT}pin=${XXX}${HT}cardno=${XXX}${HT}addrtype=${XXX}${HT}e
ventaddr=${XXX}${HT}event=${XXX}${HT}inoutstatus=${XXX}${HT}verifytype
=${XXX}
Annotation
URI: /iclock/cdata
Client configurations:
Content-Length
${Required}
header
1 Device
2 Door
addrtype
3 Reader
4 Auxiliary input
5 Auxiliary output
The event address. If the event is generated by the device, this value
eventaddr can be the device address. If the event is generated by the reader, this
value can be the reader address. Currently, the door is the only option.
Server Response
Annotation
Parameters Description
Value Description
AUTH
SUCCESS The verification is successful
The controller command after successful verification. For more details, check
CONTROL DEVICE
Control Device.
11 Appendixes
>=0 Successful
-3 Insufficient cache
-4 Failed to decompress
-6 The length after decompression does not meet the required one
-7 Repeated command
-8 Unauthorized connection
-20 The length of the received data is inconsistent with the specified data length
-22 The received firmware platform for upgrade is not same to the local platform
-23 The firmware version for upgrade is earlier than that in the device
-25 The name of the received file for firmware upgrade is not emfw.cfg
-27 The PIN of the received fingerprint template is incorrect. Failed to find the user.
-28 Door opening command is executed during the open time period.
-101 The conditional field in the table structure does not exist
-206 Failed to start the serial port agent program. A general cause is that the serial port
-725 It times out when the device waits for the result
NOTE: The red font is the event code transplanted from the BEST protocol, which is currently only used on
controller devices that support the BEST protocol.
The blue font is the special event code for elevator control device.
Event
Description Remarks
code
0 The door opens normally after The door opens normally after The event codes 0, 14, and
punch verification 17 are merged and have
the same meaning.
1 Punch in the normal open Verify in the normal open time The event codes 1 and 16
time period period are merged and have the
same meaning.
2 The first user opens the door The first user opens the door The event codes 2, 18, and
by punch 19 are merged and have
the same meaning.
3 Multiple users open the door Multiple users open the door The event codes 3, 15, and
by punch 203 are merged and have
the same meaning.
4 Open the door by using the Open the door by using the
emergency password emergency password
5 Open the door in the normal Open the door in the normal
open time period open time period
10 Disable the normal open time Disable the normal open time
period of the day period of the day
11 Enable the normal open time Enable the normal open time
period of the day period of the day
14 The door is normally opened The door is normally opened The event codes 0, 14, and
by fingerprint after verification 17 are merged and have
the same meaning.
15 Multiple users open the door Multiple users open the door The event codes 3, 15, and
by fingerprint 203 are merged and have
the same meaning.
16 Check the fingerprint in the Perform verification in the The event codes 1 and 16
normal open time period normal open time period are merged and have the
same meaning.
17 Open the door by card and Open the door by verification The event codes 0, 14, and
fingerprint 17 are merged and have
the same meaning.
18 The first user opens the door The first user opens the door The event codes 2, 18, and
by fingerprint 19 are merged and have
the same meaning.
19 The first user opens the door The first user opens the door The event codes 2, 18, and
by card and fingerprint 19 are merged and have
the same meaning.
20 The punch interval is too short The operation interval is too The event codes 20, 31, and
short 50 are merged and have
the same meaning.
21 Punch during the non-valid Open the door by verification The event codes 21, 35, and
time period during the non-valid time 49 are merged and have
period the same meaning.
24 APB APB
25 Interlock Interlock
26 Multiple users perform Multiple users wait for The event codes 26, 32, and
verification by punch verification 51 are merged and have
the same meaning
27 The card is not registered The user is not registered The event codes 27, 30, and
34 are merged and have
the same meaning
30 The password is incorrect The user is not registered The event codes 27, 30, and
34 are merged and have
the same meaning
31 The fingerprint check interval The operation interval is too The event codes 20, 31, and
is too short short 50 are merged and have
the same meaning
32 Multiple users perform Multiple users wait for The event codes 26, 32, and
verification by fingerprint verification 51 are merged and have
the same meaning
33 The fingerprint expires The user privilege expires The event codes 29, 33, and
53 are merged and have
the same meaning
34 The fingerprint is not The user is not registered The event codes 27, 30, and
registered 34 are merged and have
the same meaning
35 Check the fingerprint during Open the door by verification The event codes 21, 35, and
the non-valid time period during the non-valid time 49 are merged and have
period the same meaning
36 Press the exit button during Press the exit button during the
the non-valid time period non-valid time period
38 The card has been reported as The card has been reported as
lost lost
39 Blacklist Blacklist
40 Multi-user verification by Multi-user verification failed The event codes 40, 48, and
fingerprint failed 52 are merged and have
the same meaning
48 Multi-user verification by Multi-user verification failed The event codes 40, 48, and
punch failed 52 are merged and have
the same meaning
49 Open the door by password Open the door by verification The event codes 21, 35, and
during the non-valid time during the non-valid time 49 are merged and have
period period the same meaning
50 The password verification The operation interval is too The event codes 20, 31, and
interval is too short short 50 are merged and have
the same meaning
51 Multiple users perform Multiple users wait for The event codes 26, 32, and
verification by password verification 51 are merged and have
the same meaning
52 Multi-user verification by Multi-user verification failed The event codes 40, 48, and
password failed 52 are merged and have
the same meaning
53 The password expires The user privilege expires The event codes 29, 33, and
53 are merged and have
the same meaning
101 Open the door with the duress Alarm for opening the door The event codes 101 and
password with the duress password 103 are merged and have
the same meaning
103 Open the door with the duress Alarm for opening the door The event codes 101 and
fingerprint with the duress fingerprint 103 are merged and have
the same meaning
104 Alarm for punch with an Alarm for punch with an invalid
invalid card card
114 Line detection, fire alarm input Line detection, fire alarm input
disconnected disconnected
115 Line detection, fire alarm input Line detection, fire alarm input
short circuit short circuit
118 Line detection, the exit button Line detection, the exit button
is off is off
disconnected disconnected
121 Line detection, door sensor Line detection, door sensor
short circuit short circuit
154 The elevator control fire The elevator control fire button
button is short-circuited is short-circuited
155 The elevator control fire The elevator control fire button
button is disconnected is disconnected
202 Open the door by pressing the Open the door by pressing the
exit button exit button
203 Multiple users open the door Multiple users open the door The event codes 3, 15, and
by card and fingerprint 203 are merged and have
the same meaning
204 The door normal open time The door normal open time
period ends period ends
209 Press the exit button (locked) Press the exit button (locked)
211 The super user closes the door The super user closes the door
212 Enable the elevator control Enable the elevator control
function function
215 The first card opens the door The first card opens the door
by password by password
231 IPC firmware linkage event IPC firmware linkage event The value of the verification
mode in the linkage event
record is the specific event
type
244 Fire alarm input short circuit Fire alarm input short circuit
245 Connect to hotspot Connect to hotspot
254 Definition of the extended Definition of the extended 0-255 are insufficient and
event number event number therefore 254 is used to
define the number bit of
the extended event. This
function is newly
supported by the firmware
Then,
Binary Value 1 1 1 1 1 0 1 1 0 0 0 1 1 1 1 0 …
Position 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 …
Here, the position 15 corresponds to the binary value 0, which indicates that the face verification mode is
not supported (the value of the face verification mode is 15).
1 Fingerprint only
2 User ID
3 Password only
4 Card only
5 Fingerprint or password
6 Fingerprint or card
7 Card or password
15 Face
21 Finger vein
200 Other
83 Simplified Chinese
69 English
97 Spanish
70 French
66 Arabic
80 Portuguese
82 Russian
71 German
65 Farsi
76 Thai
73 Indonesian
74 Japanese
75 Korean
86 Vietnamese
116 Turkish
72 Hebrew
90 Czech
68 Dutch
105 Italian
89 Slovak
103 Greek
112 Polish
84 Traditional Chinese
unsigned int OldEncodeTime(int year, int mon, int day, int hour, int min,
int sec)
{
unsigned int tt;
tt = ((year - 2000) * 12 * 31 + ((mon - 1) * 31) + day - 1) * (24 *
60 * 60) + (hour * 60 + min) * 60 + sec;
return tt;
}
void OldDecodeTime(unsigned int tt, int *year, int *mon, int *day, int
*hour, int *min, int *sec)
{
*sec = tt % 60;
tt /= 60;
*min = tt % 60;
tt /= 60;
*hour = tt % 24;
tt /= 24;
*day = tt % 31 + 1;
tt /= 31;
*mon = tt % 12 + 1;
tt /= 12;
*year = tt + 2000;
}
1 C3-200
2 C3-400
3 C4-400
4 C3-100
6 C4 (four-door to two-door)
7 C3 (four-door to two-door)
23 C5-100
24 C5-200
25 C5-400
26 INBIO5-100
27 INBIO5-200
28 INBIO5-400
40 BIOIR9000
103 iFace7
0 No APB
3 APB between Door 1 and Door 2 and APB between Door 3 and Door 4
0 None
DoorKeepOpenTimeZone Normal open time period of the door. 0: Disable normal open
Cancel the normal open time (Linux year) * 10000 + (Linux month) * 100 +
DoorCancelKeepOpenDelay
day
DoorValidTZ Valid time period of the door
DoorDetectortime Door sensor delay in seconds. 0: No alarm for the delay. >0: Alarm for delay
0: Normal
IdentityCardVerifyMode
1: Identity card
IPAddress IP address
GATEIPAddress Gateway
DelRecord The number of records to delete after the number of event records
exceeds the allowed maximum number.
MachineTZ Time zone
3.0.1
3.1.1
3.1.2
• Device end:
The device pushes the current PUSH version to the server according to the following protocol:
GET /iclock/cdata?SN=${SerialNumber}&options=all&pushver=${XXX}
Based on the request, the server returns the version of the published protocol that is used by the
server for development to the device.
PushProtVer=xxx
If this parameter is not returned, the default device protocol version of the server is 3.0.1.
The device compares its current PUSH version with the protocol version returned by the server and
uses the lower version for interaction.
• Server-side:
The server sends the following request to get the version of PUSH used by the client. If no pushver
field is returned, then the server uses PUSH version 3.0.1 by default.
GET /iclock/cdata?SN=${SerialNumber}&options=all&pushver=${XXX}
The server needs to return the version of the publish protocol used by the software:
PushProtVer=xxx
The server compares the software's protocol version with the protocol version uploaded by the device
and uses the lower version for interaction.
C:XXX:COMMAND……
Note
For example
As for CmdFormat=1, the following prefix must be added to all C:XXX:COMMAND commands:
DataType=1,SN=%s,Priority=%d,CmdID=%s,CmdDesc=
• MultiStageControlFunOn=1 or MultiStageControlFunOn=0
• SubControlOn=0
• MasterControlOn=0
• Sub-controller
• MultiStageControlFunOn=1
• SubControlOn=1
• MasterControlOn=0
• Main controller
• MultiStageControlFunOn=1
• MasterControlOn=1
• SubControlOn=0
Algorithm:
The encryption algorithm libraries are encapsulated in a centralized manner. The device uses static
algorithm libraries.
Scheme:
(a) The asymmetric encrypted public-private key is initialized when the device and server reconnect.
(b) The device and the server exchange the public keys:
The public keys are exchanged. Both the device and the server own the public keys P1 and
P2.
The device generates a factor R1 and encrypts it and then sends it to the server by using the
server's public key.
The server decrypts the device factor R1 by using the server's private key.
The server generates a factor R2 and encrypts it and then sends it to the device by using the
device's public key.
The server decrypts the server factor R2 by using the device's private key.
The factors are exchanged. Both the device and the server own the factors R1 and R2.
(d) Both the device and the server own the factors R1 and R2. Then, the device and the server use the
same algorithm to generate a sessionKey. All the data transmitted later uses this value as the
private key for symmetric encryption.
Compatibility Scheme
The device and the server are compatible based on the protocol version, as follows:
Case 1
Case 2
Note:
• The device determines whether to use HTTPS or HTTP based on the set server address.
• In the first request protocol header of the existing device, pushver field is added to the current
communication protocol version number of the device, and PushProtVer is added to the data returned
by the software to indicate which protocol version the software was developed on. The two protocol
versions are compared, and the device and the server use the lower version for communication.
Case 1: When protocol versions of both the server and the device are not supported, the data
communication is transmitted in plain text.
Case 2: If the protocol versions of both the server and the device are supported, the data is encrypted
for transmission.
The server and the device exchange their public keys P1 and P2 based on the new protocol.
The server and the device exchange their factors R1 and R2 based on the new protocol.
CRC32 check is performed for the communication data signature. When both the device and the
server own the factors R1 and R2, the device and the server use the same algorithm to generate a
sessionKey. All the data transmitted later uses this value as the private key for symmetric encryption.
00000000 Successful
Error generator (1st bit) D: Error code returned from the device
S: Error code returned from the software
Index Type
0 Common
1 Fingerprint
2 Near-infrared face
3 Voiceprint
4 Iris
5 Retina
6 Palmprint
7 Finger vein
8 Palm vein
MultiBioPhotoSupport Supports biometric The type is defined bit by bit. Different types are
photos separated by colons, 0 means not supported, 1 means
supported.
MultiBioDataSupport Supports bio- The type is defined bit by bit. Different types are
templates separated by colons, 0 means not supported, 1 means
supported.
Such as: 0: 1: 1: 0: 0: 0: 0: 0: 0: 0, indicating support for
near-infrared fingerprint template and face template.
MultiBioVersion Supported The type is defined bit by bit. Different types are
algorithms separated by colons, 0 means not supported, non-0
means supported version number.
Such as: 0: 10: 0: 7: 0: 0: 0: 0: 0: 0, indicating support for
fingerprint algorithm10.0 and near-infrared face
algorithm7.0.
MaxMultiBioDataCount Supports maximum The type is defined bit by bit. Different types are
number of bio- separated by colons, 0 means not supported, non-0
templates. means supported maximum capacity.
Such as: 0: 10000: 3000: 0: 0: 0: 0: 0: 0: 0, indicating
support for the maximum number of fingerprint
templates is 10000 and the maximum number of near-
infrared face templates is 3000.
MaxMultiBioPhotoCount Supports maximum The type is defined bit by bit. Different types are
number of separated by colons, 0 means not supported, non-0
biometric photos. means supported maximum capacity.
Such as: 0: 10000: 3000: 0: 0: 0: 0: 0: 0: 0, indicating
support for the maximum number of fingerprint
photos is 10000 and the maximum number of near-
infrared face photos is 3000.
MultiBioDataCount The current The type is defined bit by bit. Different types are
capacity of bio- separated by colons.
templates
Such as: 0: 10000: 3000: 0: 0: 0: 0: 0: 0: 0, indicating the
current number of fingerprint templates is 10000 and
the current number of near-infrared face templates is
3000.
MultiBioPhotoCount The current The type is defined bit by bit. Different types are
capacity of separated by colons.
biometric photos
Such as: 0: 10000: 3000: 0: 0: 0: 0: 0: 0: 0, indicating the
current number of fingerprint photos is 10000 and the
Parameter Description
Language Language
RegDeviceType Used to determine whether the device is allowed to access by the software
www.zkteco.com