device.prebind.get (Pre-bind information)
device.prebind.get: Pre-bind information
What it does
For scan / provisioning flows. Uses device capacity query, not bound-device relations. Not in device.capability.list. Device-level response; no channelList.
Request URL
POST https://openapi-[DataCenter].easy4ip.com/openapi/v2/device.prebind.get
Minimum permission
Valid administrator / sub-user / sub-account token.
Request parameters
| Name | Type | Required | Default | Valid values | Description |
|---|---|---|---|---|---|
token | String | yes | accessToken | ||
deviceId | String | yes | Device serial number | ||
productId | String | no | Optional hint | ||
deviceCodeModel | String | no | Provisioning helper | ||
deviceModelName | String | no | Provisioning helper | ||
ncCode | String | no | Provisioning helper |
Request example
{
"id": "d5c287b4-5b2f-4f03-baf5-8032c5c354af",
"system": {
"ver": "1.0",
"appId": "lcdxxxxxxxxx",
"sign": "xjhCQBoJ9hRDsCjyDcHjtDNzRZ3ZJezcawsfWeiaoxU=",
"time": 1706511734,
"nonce": "f5a1ae2d-c09c-4d39-a744-83a5c2c653c2"
},
"params": {
"token": "<yourAccessToken>",
"deviceId": "TESTIPC000012345"
}
}
Response data fields
| Name | Type | Description |
|---|---|---|
deviceId | String | Device serial number |
productId | String | Model |
support | Boolean | Whether onboarding is supported |
initStatus | String | Initialization state |
deviceExist | String | "exist" / "notExist" |
bindStatus | String | Bind state |
userAccount | String | Only when bound to another account—owner account; omitted when unbound or bound to caller |
accessType | String | Access type |
status | String | Status |
wifiConfigMode | String | Current provisioning mode |
defaultWifiConfigMode | String | Default provisioning mode |
wifiConfigModeOptional | String | Optional provisioning modes |
wifiTransferMode | String | Band |
brand | String | Brand |
deviceCodeModel | String | Device code model |
deviceModelName | String | Model name |
catalog | String | Category |
type | String | Type |
channelNum | Int | Channel count |
deviceModel | String | Model |
deviceType | String | Device type |
deviceSpec | String | Spec |
capabilityIds | String[] | Capability id list—do not use for get/set/invoke |
deviceHeartbeat | Int | Returned when bindStatus is "unbind" and the response includes a non-empty productId: 1 if the device heartbeat is normal, 0 if not; omitted when bound or when productId is absent |
httpPort | String | Overseas port |
rtspPort | String | Overseas port |
tlsPrivatePort | String | Overseas port |
Response example
{
"id": "d5c287b4-5b2f-4f03-baf5-8032c5c354af",
"result": {
"code": "0",
"msg": "Operation is successful",
"data": {
"deviceId": "TESTIPC000012345",
"productId": "56WGTET2",
"support": true,
"initStatus": "uninitialized",
"deviceExist": "exist",
"bindStatus": "unbind",
"status": "offline",
"wifiConfigMode": "SMARTCONFIG",
"defaultWifiConfigMode": "SMARTCONFIG",
"wifiConfigModeOptional": "SMARTCONFIG,SOUNDWAVE",
"wifiTransferMode": "2.4G",
"brand": "lechange",
"deviceCodeModel": "",
"deviceModelName": "IPC-C22EP",
"catalog": "IPC",
"type": "IPC",
"channelNum": 1,
"deviceModel": "IPC-C22EP",
"deviceType": "IPC",
"deviceSpec": "",
"deviceHeartbeat": 1,
"capabilityIds": ["detection.motion"]
}
}
}
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.
Device binding (DV10xx)
| Code | Meaning | Next step |
|---|---|---|
DV1001 | Bound to another account | Unbind or use another device |
DV1002 | Device does not exist | Verify serial number |
DV1003 | Already bound to current account | No need to bind again |
DV1005 | Verification code error | Check device label code |
DV1008 | Bind count limit exceeded | Unbind extra devices |
DV1011 | Device not bound | Bind first |
DV1029 | Device already bound | Do not bind again |
See Return codes · DV.
