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
      • bindDevice: Bind Device
      • unBindDevice: Unbind Device
      • Batch detail by device ID
      • Paged device detail
      • Query online status
      • Pre-bind information
      • Bind state
      • subAccountDeviceInfo
      • subAccountDeviceList
      • setDeviceSnap: Device snapshot
      • setDeviceSnapEnhanced: Device snapshot
      • timeZoneConfigByDay: Set Device Time Zone Daylight Saving Time (by time)
      • timeZoneConfigByWeek: Setting device time zone daylight saving time (per week)
      • timeZoneQueryByDay: Query device time zone daylight saving time (by date)
      • timeZoneQueryByWeek: Obtain device time zone daylight saving time (by week)
    • Device live broadcast
    • Push configuration
    • Cloud storage service
    • Resource pool quota
    • Legacy APIs (deprecated)
  • 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

setDeviceSnapEnhanced (setDeviceSnapEnhanced: Device snapshot)

setDeviceSnapEnhanced: setDeviceSnapEnhanced: Device snapshot

Previous: setDeviceSnap · Next: timeZoneConfigByDay · Device operation.

Function details

Upgraded version of capturing the current screen image function of the camera, and supports the capture frequency of 1 time per second.

The client request interval must be greater than or equal to 1s. If the client request interval is less than 1s, the last snapshot will be returned by default. In the returned result, the URL for the snapshot access (url) is valid within 7 days.

Remarks:

It is recommended that developers determine which device capture interface to use after measuring the interface based on the device performance:

If the device performance is good (it can process and return the snapshot picture every second), it is recommended that the developer call the setDeviceSnapEnhanced interface;

If the device performance is poor (mainly for devices listed before 2017), it is recommended that developers call the setDeviceSnap interface for device snapshots.

Request address

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

Request format

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

Minimum permissions required for sub-account token request

"Permission":"Capture" "Resource":"cam:serial number:channel number"

Incoming parameter description

Parameter nameParameter typeRequired or notDefault valueLegal valueParameter description
tokenStringYesAdministrator or sub-account accessToken
deviceIdStringYesDevice serial number
channelIdStringYesChannel ID
encryptBooleanNofalsetrue, falseWhen true, return an encrypted snapshot URL; omitted or false by default.

Sample input

{
 "system":{
 "ver":"1.0",
 "appId":"lcdxxxxxxxxx",
 "sign": "xjhCQBoJ9hRDsCjyDcHjtDNzRZ3ZJezcawsfWeiaoxU=",
 "time":1603369692,
 "nonce":"63e74c29-a30d-4827-b8e1-691faec14e2b"
 },
 "id":"ad9a278f-bedd-4c06-ad4a-ea0a971836d1",
 "params":{
 "deviceId":"TESTQWERXXXX",
 "channelId":"0",
 "token":"At_00000ad9e6e87f0142eb92e207aec46a"
 }
}

Return data field description

FieldTypeDescription
urlStringCapture access address

Sample output

{
 "result":{
 "msg":"The operation was successful.",
 "code":"0",
 "data":{
 "url":"https://storage.example.com/snap/956fe604722b45fba0e098ba6eae3178.jpg?Expires=1603974760&AccessKeyId=EXAMPLE&Signature=EXAMPLE"
 }
 },
 "id":"ad9a278f-bedd-4c06-ad4a-ea0a971836d1"
}

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.

Snapshot (DV10xx)

CodeMeaningNext step
DV1012Snapshot failedCheck channel online state and permissions

See Return codes · catalog.

Related

  • Development specification
  • API conventions
  • Module index
setDeviceSnap: Device snapshot
timeZoneConfigByDay: Set Device Time Zone Daylight Saving Time (by time)