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
What it does
Request URL
Minimum permission
Request parameters
Request example
Response data fields
Response example
Error codes

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

NameTypeRequiredDefaultValid valuesDescription
tokenStringyesaccessToken
deviceIdStringyesDevice serial number
productIdStringnoOptional hint
deviceCodeModelStringnoProvisioning helper
deviceModelNameStringnoProvisioning helper
ncCodeStringnoProvisioning 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

NameTypeDescription
deviceIdStringDevice serial number
productIdStringModel
supportBooleanWhether onboarding is supported
initStatusStringInitialization state
deviceExistString"exist" / "notExist"
bindStatusStringBind state
userAccountStringOnly when bound to another account—owner account; omitted when unbound or bound to caller
accessTypeStringAccess type
statusStringStatus
wifiConfigModeStringCurrent provisioning mode
defaultWifiConfigModeStringDefault provisioning mode
wifiConfigModeOptionalStringOptional provisioning modes
wifiTransferModeStringBand
brandStringBrand
deviceCodeModelStringDevice code model
deviceModelNameStringModel name
catalogStringCategory
typeStringType
channelNumIntChannel count
deviceModelStringModel
deviceTypeStringDevice type
deviceSpecStringSpec
capabilityIdsString[]Capability id list—do not use for get/set/invoke
deviceHeartbeatIntReturned 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
httpPortStringOverseas port
rtspPortStringOverseas port
tlsPrivatePortStringOverseas 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)

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.

Device binding (DV10xx)

CodeMeaningNext step
DV1001Bound to another accountUnbind or use another device
DV1002Device does not existVerify serial number
DV1003Already bound to current accountNo need to bind again
DV1005Verification code errorCheck device label code
DV1008Bind count limit exceededUnbind extra devices
DV1011Device not boundBind first
DV1029Device already boundDo not bind again

See Return codes · DV.

Query online status
Bind state