Get started
  • English
  • 简体中文
Official Site
Get started
  • English
  • 简体中文
Official Site
  • Get started
  • Concepts
  • Guides
  • Device capabilities & events
  • API reference
    • Public conventions
    • Development specification
    • accessToken: Get administrator token
    • API request example
    • Return codes
    • Interface call limits
    • Account docking
    • Device APIs
    • Device live broadcast
    • Push configuration
    • Cloud storage service
    • Resource pool quota
    • Legacy APIs (deprecated)
      • Door lock access (legacy)
        • deleteDoorKey
        • doorbellCallAnswer
        • doorbellCallHangUp
        • doorbellCallRefuse
        • generateSnapkey
        • getDevicePowerInfo
        • getDoorKeys
        • getOpenDoorRecord
        • getSnapkeyList
        • openDoorRemote
        • wakeUpDevice
      • Device messages (legacy)
      • Device query (deprecated)
      • Device maintenance (legacy)
      • Device operation (legacy)
      • Device ability (legacy)
      • Motion detection config (legacy)
      • Preset collection (legacy)
      • Timed cruise (legacy)
      • Local recording config (legacy)
      • Audio volume (legacy)
      • Storage (legacy)
      • Video and imaging (legacy)
      • Time zone (legacy)
      • Wi-Fi (legacy)
      • Local recording query (legacy)
  • SDK and tools
  • Solutions
  • Platform and support
On this page
Function details
Request address
Request format
Minimum permissions required for sub-account token request
Incoming parameter description
Sample input
Return data field description
Sample output
Error codes
Related

getSnapkeyList (getSnapkeyList: Get a list of temporary keys)

getSnapkeyList: getSnapkeyList: Get a list of temporary keys

Legacy HTTP retained: New integrations can use Door and lock (detection.door) for the related capability. The two interfaces are not a one-to-one replacement. No registry one-to-one mapping for this door/doorbell HTTP method.

Function details

Obtain the temporary key list of the door lock device.

Request address

https://openapi-[DataCenter].easy4ip.com/openapi/getSnapkeyList

Request format

HTTP POST. JSON body layout: Request conventions. Sign with Signature.

Minimum permissions required for sub-account token request

The sub-account accessToken policy must include Config; device resource URI is dev:{deviceId}. See Permission codes.

Incoming parameter description

Parameter nameParameter typeRequired or notDefault valueLegal valueParameter description
tokenStringYesAdministrator or sub-account accessToken
deviceIdStringYesDoor lock device serial number

Sample input

{
 "system":{
 "ver":"1.0",
 "appId":"lcdxxxxxxxxx",
 "sign": "xjhCQBoJ9hRDsCjyDcHjtDNzRZ3ZJezcawsfWeiaoxU=",
 "time":1603350639,
 "nonce":"350f4c7a-a352-46cf-ae03-f4f526f5d99f"
 },
 "id":"b8f45dbb-79ad-4a7e-8b24-7eb618c5191f",
 "params":{
 "token":"At_00000ad9e6e87f0142eb92e207aec46a",
 "deviceId":"TESTQWERXXXX"
 }
}

Return data field description

FieldTypeDescription
snapkeys.keyIdStringSecret key unique id
snapkeys.snapKeyStringTemporary secret key
snapkeys.nameStringSecret key name
snapkeys.statusStringTemporary key status, notUsed: not used; bUsed: used; failed: expired
snapkeys.createUtcTimeStringThe Utc time when the secret key was created, in yyyyMMddTHHmmssZ format
snapkeys.createLocalTimeStringThe local time of the secret key creation device, in yyyyMMddTHHmmssZ format
snapkeys.localTimeStringThe local time of the device where the temporary key is invalid or used, in the format yyyyMMddTHHmmss
snapkeys.utcTimeStringThe UTC time when the temporary key is invalid or used, in the format yyyyMMddTHHmmssZ
snapkeys.effectiveNumStringMaximum effective unlock count (returned on some device models only)
snapkeys.effectTimeStringValidity time detail (some models only)
snapkeys.effectPeriodStringRecurring effective period detail (some models only)

Sample output

{
 "id":"b8f45dbb-79ad-4a7e-8b24-7eb618c5191f",
 "result":{
 "code":"0",
 "msg":"The operation was successful",
 "data": {
 "snapkeys":[{
 "keyId":"100",
 "snapKey":"123456",
 "name":"Temporary Key 1",
 "status":"notUsed",
 "createUtcTime":"20170418T162832Z",
 "createLocalTime":"20170418T162832Z",
 "localTime":"20170418T163832",
 "utcTime":"20170418T163832Z",
 "effectiveNum":"3",
 "effectTime":"20170418T080000Z/20170418T200000Z",
 "effectPeriod":"1,2,3,4,5"
 }]
 }
 }
}

Error codes

This method may return the codes below. See Return codes and Capability errors for the full catalog.

Gateway and auth (SN / TK / OP)

CodeMeaningNext step
SN1001Signature errorCheck sign per Development specification
TK1002Token invalid or expiredRefresh accessToken
OP1002Missing required parameterAdd required fields
OP1003Invalid parameterMatch this page’s parameter table
OP1009Permission deniedCheck token and device bind/share grants
OP1013Total call limit exceededReduce call rate
OP1014Daily per-interface limit exceededSee Interface call limits
DV1007Device offlineWait until the device is online

See Return codes · OP/SN/TK for the full catalog.

Sub-accounts (SUB)

CodeMeaningNext step
SUB1001–SUB1002Sub-account lacks API permissionUpdate policy via addPolicy
SUB1005Sub-account token expiredRefresh subAccountToken
SUB1006No device grant for sub-accountCheck Resource and device serial
SUB1008Sub-account not bound to appCreate and bind the sub-account first

See Return codes · SUB.

Device access and channels (DV10xx)

CodeMeaningNext step
DV1007Device offline or timeoutWait for the device to come online
DV1009Device busyRetry later
DV1012Insufficient share/grant permissionCheck sub-account Permission / Resource
DV1019Capability not supportedConfirm model and capability list
DV1020Channel offlineCheck channel status
DV1026Function not supportedUse another API or upgrade firmware
DV1028Not bound or channel missingVerify deviceId / channelId

See Return codes · DV.

Lock and doorbell (DV10xx)

CodeMeaningNext step
DV1016Device password errorVerify lock password
:---:---:---
DV1038Battery too low for temporary keyCharge and retry
:---:---:---
DV1039Temporary key conditions not metAdjust parameters per this page
:---:---:---
DV1050Temporary key count limitDelete old keys or wait
:---:---:---
DV1070Doorbell/intercom busyRetry or hang up

See Return codes · catalog.

Related

  • Development specification
  • API conventions
  • Module index
getOpenDoorRecord
openDoorRemote