setMessageCallback (setMessageCallback - Set the Alarm Callback Address - Imou Open Platform)
setMessageCallback: setMessageCallback - Set the Alarm Callback Address - Imou Open Platform
Function details
Set the message callback address of the developer account. To query the current configuration, see getMessageCallback.
For the overall message push flow, see Receive device messages. Include
capabilityEventincallbackFlagto receive capability events.msgTypevalues: Event message types · Event message format.
Request address
https://openapi-[DataCenter].easy4ip.com/openapi/setMessageCallback
Request format
HTTP POST. JSON body layout: Request conventions. Sign with Signature.
Incoming parameter description
| Parameter name | Parameter type | Required or not | Default value | Legal value | Parameter description |
|---|---|---|---|---|---|
| token | String | Yes | Administrator accessToken | ||
| status | String | Yes | "on","off" | Whether to subscribe to news | |
| callbackUrl | String | No | "" | Required when message callback URL status is on; when status is off, it can be empty; | Public HTTPS URL that receives device messages. When status is on, the platform probes this URL and accepts only HTTP 2xx; unreachable URLs or non-2xx responses fail with a parameter error (PARAM_ILLEGAL_VALUE). |
| callbackFlag | String | No | "" | alarm, deviceStatus, numberstat, faceAnalysis, capabilityEvent (capability events) | Callback categories (comma-separated). Required when status is on; may be empty when status is off. |
| basePush | String | No | "2" | "1": push; "2": no push | Whether to push to the app |
callbackFlagidentifies subscribed event categories. See Event message types (legacy msgType table). IncludecapabilityEventfor overseas capability event pushes (see Receive alarm messages).
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":{
"callbackFlag":"alarm,deviceStatus",
"basePush":"2",
"callbackUrl":"https://www.baidu.com",
"token":"At_00000ad9e6e87f0142eb92e207aec46a",
"status":"on"
}
}
Return data field description
No data returned
Sample output
{
"id":"b8f45dbb-79ad-4a7e-8b24-7eb618c5191f",
"result":{
"code":"0",
"msg":"The operation was successful"
}
}
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)
| Code | Meaning | Next step |
|---|---|---|
SN1001 | Signature error | Check sign per Development specification |
TK1002 | Token invalid or expired | Refresh accessToken |
OP1002 | Missing required parameter | Add required fields |
OP1003 | Invalid parameter | Match this page’s parameter table |
OP1009 | Permission denied | Check token and device bind/share grants |
OP1013 | Total call limit exceeded | Reduce call rate |
OP1014 | Daily per-interface limit exceeded | See Interface call limits |
DV1007 | Device offline | Wait until the device is online |
See Return codes · OP/SN/TK for the full catalog.
Sub-accounts (SUB)
| Code | Meaning | Next step |
|---|---|---|
SUB1001–SUB1002 | Sub-account lacks API permission | Update policy via addPolicy |
SUB1005 | Sub-account token expired | Refresh subAccountToken |
SUB1006 | No device grant for sub-account | Check Resource and device serial |
SUB1008 | Sub-account not bound to app | Create and bind the sub-account first |
See Return codes · SUB.
