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)
      • Device messages (legacy)
        • deleteAlarmMessage
        • getAlarmMessage
        • getAlarmMessageById
      • 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

getAlarmMessageById (getAlarmMessageById: Query alarm message by id)

getAlarmMessageById: getAlarmMessageById: Query alarm message by id

Legacy HTTP retained: New integrations can use Alarm messages (device.message.detail) for the related capability. The two interfaces are not a one-to-one replacement. device.message.* is a related entry, not a one-to-one replacement of this HTTP method.

Function details

Query alarm message details by alarmId and msgType.

Legacy OpenAPI detail. Capability events: Query one alarm message (device.message.detail).

Request address

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

Request format

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

Minimum permissions required for sub-account token request

"Permission":"Alarm" "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
alarmIdStringYesAlarm message ID
msgTypeStringYesMessage type

Sample input

{
 "system":{
 "ver":"1.0",
 "appId":"lcdxxxxxxxxx",
 "sign": "xjhCQBoJ9hRDsCjyDcHjtDNzRZ3ZJezcawsfWeiaoxU=",
 "time":1603351506,
 "nonce":"3e3c27f0-1071-4f55-9de9-f0a932effb48"
 },
 "id":"28ca89f4-10c9-4ac4-9215-b829072eedcf",
 "params":{
 "msgType":"videoMotion",
 "alarmId":"1726360834259136",
 "deviceId":"TESTQWERXXXX",
 "channelId":"0",
 "token":"At_00000ad9e6e87f0142eb92e207aec46a"
 }
}

Return data field description

Field nameField typeField description
timeLong or StringAlarm time (UNIX seconds or device-local string, model-dependent)
channelIdStringChannel ID
alarmIdLong or StringMessage ID
deviceIdStringDevice serial number
picurlArrayString[]Alarm image URLs
thumbUrlStringThumbnail URL
msgTypeStringMessage type (for example videoMotion, alarmPIR)
tokenStringCloud recording token (cloudToken) when present

Sample output

{
 "result":{
 "msg":"The operation was successful.",
 "code":"0",
 "data":{
 "msgType":"videoMotion",
 "alarmId":1726360834259136,
 "time":"20201022T151402",
 "thumbUrl":"https://example-cloud.example.com/alarm/thumb.jpg?Expires=1603438169&OSSAccessKeyId=PLACEHOLDER&Signature=PLACEHOLDER",
 "picurlArray":[
 "https://example-cloud.example.com/alarm/0.jpg?Expires=1603438169&OSSAccessKeyId=PLACEHOLDER&Signature=PLACEHOLDER"
 ],
 "deviceId":"TESTQWERXXXX",
 "channelId":"0",
 "token":"07540ab39e82488490b232977c333c9e"
 }
 },
 "id":"28ca89f4-10c9-4ac4-9215-b829072eedcf"
}

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.

Related

  • Development specification
  • API conventions
  • Module index
getAlarmMessage
checkDeviceBindOrNot