JSON message about card operation capability
{ "CardOperationsCap":{ "SectionEncryption":{ "supportFunction":{ /*required, string, supported methods*/ "@opt": ["put", "get", "delete", "post"] }, "sectionNo":{ /*required, integer, section No.*/ "@min": 0, "@max": 0 }, "keyType":{ /*required, string, verification key types: "private"-private key, "normal"-other valid keys*/ "@opt": ["private", "normal"] }, "password":{ /*optional, string, a hexadecimal verification key, this field is valid only when keyType is set to "nomal"*/ "@min": 0, "@max": 0 }, "newKeyType":{ /*required, string, new key types: "private"-private key, "normal"-other valid keys*/ "@opt": ["private", "normal"] }, "KeyA":{ /*optional, string, a hexadecimal key A password*/ "@min": 0, "@max": 0 }, "KeyB":{ /*optional, string, a hexadecimal key B password*/ "@min": 0, "@max": 0 }, "controlBits":{ /*optional, string, a hexadecimal control bit*/ "@min": 0, "@max": 0 } }, "Verification":{ "supportFunction":{ /*required, string, supported methods*/ "@opt": ["put", "get", "delete", "post"] }, "sectionNo":{ /*required, integer, section No.*/ "@min": 0, "@max": 0 }, "passwordType":{ /*optional, password types: "KeyA" (default), "KeyB"*/ "@opt": ["KeyA", "KeyB"] }, "password":{ /*optional, string, a hexadecimal password*/ "@min": 0, "@max": 0 } }, "DataBlock":{ "supportFunction":{ /*required, string, supported methods*/ "@opt":["put", "get", "delete", "post"] }, "addressOfBlock":{ /*optional, integer, block address*/ "@min": 0, "@max": 0 }, "data":{ /*required, a hexBinary string, e.g., "f2345678abf2345678abf2345678abf2"*/ "@min": 0, "@max": 0 }, }, "DataBlockCtrl":{ "supportFunction":{ /*required, string, supported methods*/ "@opt":["put", "get", "delete", "post"] }, "addressOfBlock":{ /*required, integer, block address*/ "@min": 0, "@max": 0 }, "command":{ /*required, string, control commands*/ "@opt": ["add", "minus", "copy", "paste"] }, "value":{ /*depend, integer, relative value to be changed, this field is valid only when the command is set to "add" or "minus"*/ "@min": 0, "@max": 0 }, }, "ControlBlock":{ "supportFunction":{ /*required, string, supported methods*/ "@opt": ["put", "get", "delete", "post"] }, "sectionNo":{ /*required, integer, section No.*/ "@min": 0, "@max": 0 }, "KeyA":{ /*optional, string, a hexadecimal key A*/ "@min": 0, "@max": 0 }, "KeyB":{ /*optional, string, a hexadecimal key B*/ "@min": 0, "@max": 0 }, "controlBits":{ /*optional, string, a hexadecimal control bit*/ "@min": 0, "@max": 0 } }, "CardProto":{ "supportFunction":{ /*required, string, supported methods*/ "@opt":["put", "get", "delete", "post"] }, "protocol":{ /*required, string, operation protocol types*/ "@opt": ["TypeA", "TypeB", "TypeAB", "125K", "all"] } }, "CardEncryption":{ "supportFunction":{ /*required, string, supported methods*/ "@opt": ["put", "get", "delete", "post"] }, "cardType":{ /*required, string, card types: "blank"-blank card, "private"-private CPU card, "encrypted"-other encrypted card*/ "@opt":[ "blank","private","encrypted"] } "keyLen":{ /*depend, integer, size of key for external authentication, this field is valid only when cardType is set to "encrypted"*/ "@min": 0, "@max": 0 }, "key": { /*required, hexadecimal string, a 16-byte key content for external authentication*/ "@min": 0, "@max": 0 } }, "CardParam":{ "supportFunction":{ /*required, string, supported methods*/ "@opt": ["put", "get", "delete", "post"] }, "type":{ /*required, string, card types*/ "@opt": ["CPU1356", "PSAM1", "PSAM2","PSAM3","PSAM4"] }, "protocol":{ /*required, string, card protocol types*/ "@opt": ["T0", "T1"] } }, "CardResetResponse":{ "supportFunction":{ /*required, string, supported methods*/ "@opt": ["put", "get", "delete", "post"] }, "data":{ /*required, string, resetting response information (usually, it is manufacturer, which is encoded by Base64 and specified by device*/ "@min": 0, "@max": 0 } }, "DataTrans":{ "supportFunction":{ /*required, string, supported methods*/ "@opt": ["put", "get", "delete", "post"] }, "content":{ /*required, string, data to be passed through, which is encoded in Base64*/ "@min": 0, "@max": 0 } }, "Issue":{ /*capability of sending a request for card issuing and getting the current card issuing status and real-time card issuing results, related URIs: /ISAPI/AccessControl/CardOperations/localIssueRequest?format=json and /ISAPI/AccessControl/CardOperations/localIssueStatus?format=json*/ "supportFunction":{ /*required, string, supported methods. The actually supported methods will be returned*/ "@opt":["put", "get", "delete", "post"] }, "LocalIssueRequest":{ "operation":{ /*required, string, operation type: "face"-issue card to be enrolled with face picture, "fingerprint"-issue card to be enrolled with fingerprint*/ "@opt":["face", "fingerprint"] }, "FPIndex":{ /*optional, int, fingerprint storage index (card storage area). This field is valid when operation is "fingerprint"*/ "@min":0, "@max":0 }, "facePic":{ /*optional, string, face picture type: "visible"-visible light picture, "infrared"-IR light picture. This field is valid when operation is "face"*/ "@opt":["visible", "infrared"] } }, "LocalIssueRes":{ "status":{ /*required, string, card issuing status: "ok"-succeeded, "failed"-card operation failed, "timeout"-timed out, "verifiyFailure"-authentication failed, "noCard"-no card detected, "processing"-processing*/ "@opt":["ok", "failed", "processing", "timeout", "verifiyFailure", "noCard"] }, "cardNo":{ /*optional, string, issued card No.*/ "@min":0 }, "cardErrorCode":{ /*dependent, string, internal error code of card operation returned by the device*/ "@opt": } } }, "localIssueCfg":{ /*capability of configuring rule parameters for issuing smart cards, related URI: /ISAPI/AccessControl/CardOperations/localIssueCfg?format=json*/ "validFP":{ /*optional, array of int, valid fingerprint ID. This field is valid for applying fingerprint to the card*/ "@size":2, "@min":1, "@max":10 }, "validFacePicture":{ /*optional, string, valid face picture type: "visible"-visible light picture, "infrared"-IR light picture. This field is valid for applying face picture to the card*/ "@opt":["visible", "infrared"] } }, "ClearData":{ /*capability of deleting data from the card, related URI: /ISAPI/AccessControl/CardOperations/clearData?format=json*/ "supportFunction":{ /*required, string, supported methods. The actually supported methods will be returned*/ "@opt":["put", "get", "delete", "post"] }, "checkAll":{ /*optional, boolean, whether to delete all data*/ "@opt":[true, false] }, "checkFingerprint":{ /*optional, boolean, whether to delete fingerprint data. This field is valid when checkAll is false or does not exist*/ "@opt":[true, false] }, "fingerprints":{ /*optional, array of int, list of addresses whether the fingerprints to be deleted are stored. This field is valid when checkFingerprint exists. If this field does not exist, it indicates deleting all fingerprints*/ "@size":2, "@min":0, "@max":0 }, "checkFacePicture":{ /*optional, boolean, whether to delete face data. This field is valid when checkAll is false or does not exist*/ "@opt":[true, false] }, "checkCustom":{ /*optional, boolean, whether to delete custom data. This field is valid when checkAll is false or does not exist*/ "@opt":[true, false] }, "ClearDataRes":{ "status":{ /*required, string, card issuing status: "ok"-succeeded, "failed"-operation failed, "timeout"-timed out, "verifiyFailure"-authentication failed, "noCard"-no card detected, "processing"-processing*/ "@opt":["ok", "failed", "processing", "timeout", "verifiyFailure", "noCard"] }, "cardErrorCode":{ /*dependent, int, internal error code of card operation*/ "@opt": } } }, "CustomData":{ /*capability of setting custom card information, related URI: /ISAPI/AccessControl/CardOperations/customData?format=json*/ "supportFunction":{ /*required, string, supported methods. The actually supported methods will be returned*/ "@opt":["put", "get", "delete", "post"] }, "address":{ /*optional, int, start address for writing. By default the data will be written from the start address*/ "@min":0, "@max":0 }, "length":{ /*optional, int, length of source data to be written, it is 0 by default, unit: byte*/ "@min":0, "@max":0 }, "data":{ /*required, string, custom information encoded by Base64*/ "@min":0, "@max":0 }, "CustomDataRes":{ "status":{ /*required, string, card issuing status: "ok"-succeeded, "failed"-operation failed, "timeout"-timed out, "verifiyFailure"-authentication failed, "noCard"-no card detected, "processing"-processing*/ "@opt":["ok", "failed", "processing", "timeout", "verifiyFailure", "noCard"] }, "cardErrorCode":{ /*dependent, int, internal error code of card operation*/ "@opt": } } }, "CustomDataSearchCond":{ /*condition configuration capability of searching for custom card information, related URI: /ISAPI/AccessControl/CardOperations/customData/searchTask?format=json*/ "address":{ /*optional, int, start address for reading. By default the data will be read from the start address*/ "@min":0, "@max":0 }, "length":{ /*optional, int, length of data to be read, it is 0 by default, unit: byte*/ "@min":0, "@max":0 } }, "CustomDataResult":{ /*result capability of searching for custom card information, related URI: /ISAPI/AccessControl/CardOperations/customData/searchTask?format=json*/ "length":{ /*required, int, length of data that has been read, unit: byte*/ "@min":0, "@max":0 }, "data":{ /*required, string, card information encoded by Base64*/ "@min":0, "@max":0 }, "status":{ /*required, string, card issuing status: "ok"-succeeded, "failed"-operation failed, "timeout"-timed out, "verifiyFailure"-authentication failed, "noCard"-no card detected, "processing"-processing*/ "@opt":["ok", "failed", "processing", "timeout", "verifiyFailure", "noCard"] }, "cardErrorCode":{ /*required, int, internal error code of card operation*/ "@opt": } }, "CardIssueStatus":{ /*capability of getting the smart card issuing status, related URI: /ISAPI/AccessControl/CardOperations/cardIssueStatus?format=json*/ "status":{ /*required, string, card issuing status: "ok"-succeeded, "failed"-operation failed, "timeout"-timed out, "verifiyFailure"-authentication failed, "noCard"-no card detected, "processing"-processing*/ "@opt":["ok", "failed", "processing", "timeout", "verifiyFailure", "noCard"] }, "cardNo":{ /*optional, string, issued card No.*/ "@min":0, "@max":0 }, "cardErrorCode":{ /*dependent, int, internal error code of card operation*/ "@opt": }, "face":{ /*optional, boolean, issuing status of the card containing the face picture: true-issued, false-not issued*/ "@opt":[true, false] }, "fingprint1":{ /*optional, boolean, issuing status of the card containing fingerprint 1: true-issued, false-not issued*/ "@opt":[true, false] }, "fingprint2":{ /*optional, boolean, issuing status of the card containing fingerprint 2: true-issued, false-not issued*/ "@opt":[true, false] }, "customData":{ /*optional, boolean, issuing status of the card containing custom information: true-issued, false-not issued*/ "@opt":[true, false] } } } }