Get started
  • English
  • 简体中文
Official Site
Get started
  • English
  • 简体中文
Official Site
  • Get started
  • Concepts
  • Guides
  • Device capabilities & events
    • Browse by device type
    • Device capabilities
      • Common methods
      • Detection and alarms
      • Image
      • PTZ
        • PTZ movement
        • Cruise
          • ptz.cruise.mode (Read cruise mode)
          • ptz.cruise.mode (Set cruise mode)
          • ptz.cruise.smart (Read smart cruise)
          • ptz.cruise.smart (Set smart cruise)
          • ptz.cruise.interval (Read cruise interval)
          • ptz.cruise.interval (Set cruise interval)
          • ptz.cruise.minPresets (Read minimum cruise presets)
          • ptz.cruise.plan (Read cruise schedule)
          • ptz.cruise.plan (Set cruise schedule)
          • ptz.cruise.get (Get cruise info)
          • ptz.cruise.set (Set cruise info)
        • Gun-ball linkage
        • Presets
        • Zoom
      • Light
      • Recording
      • Audio
      • Media
      • Network
      • Power
      • Privacy
      • Call
      • Storage
      • System
      • Algorithm
      • Maintenance
      • Control
    • Events overview
    • Permission codes
    • Capability error codes
    • Alarm and capability messages
    • Capability FAQ
    • Legacy ability and push types
  • API reference
  • SDK and tools
  • Solutions
  • Platform and support
On this page
What it does
Request URL
Minimum permission
Request parameters
inputData fields
Request example
Response data fields
Response example
Error codes

ptz.cruise.set (Set cruise info)

ptz.cruise.set: Set cruise info

ptz.cruise.set · Channel scope · Permission Config

What it does

Device must support TimedCruise (ptz.cruise.plan may use RegularCruise); see Cruise overview. Writes full cruise info for this channel in one call. Inputs cruiseModel (0 panorama, 1 preset), collection, and cruises, each up to 100 entries. Do not mix with ptz.cruise.plan. One invoke runs once.

Request URL

POST https://openapi-[DataCenter].easy4ip.com/openapi/v2/device.service.invoke

Minimum permission

The administrator does not need an extra permission on a device they bound. A shared device needs the basic configuration permission. A bound sub-user does not. A sub-account needs Config. Omitting channelId on a channel-scope capability returns DV2007. Mixing device and channel in one request returns DV2008. A timeout does not mean the operation did not run.

Request parameters

NameTypeRequiredDescription
tokenStringyesAdministrator, sub-user, or sub-account accessToken
deviceIdStringyesDevice serial number
productIdStringnoOptional. If sent and it does not match the device model → DV2009
channelIdStringyesChannel ID; "0" is common on IPCs
serviceIdStringyesptz.cruise.set
inputDataObjectyesSee inputData fields below (serviceId=ptz.cruise.set)

Do not mix with the ptz.cruise.plan property: this invoke writes the full cruise info in one call. Response shape: Get cruise info.

inputData fields

NameDescriptionTypeRequiredValues
collectionPresets. Up to 100 entries.arrayyesUp to 100 entries
cruiseModelCruise mode. 0 panorama, 1 preset.enumyes0 panorama; 1 preset
cruisesCruise time windows. Up to 100 entries.arrayyesUp to 100 entries
collection.item.nameCruise point name.textyesstring
collection.item.stayTimeDwell time (seconds; enum value is seconds, e.g. "30"=30s). Different encoding from level index 0–12 on Preset stay time—do not mix.enumyes10…300 (see values)
cruises.item.beginTimeStart time within the day, format THHmmss, e.g. T000000.textyesFormat THHmmss, e.g. T000000
cruises.item.endTimeEnd time within the day, format THHmmss, e.g. T000000.textyesFormat THHmmss, e.g. T000000
cruises.item.periodEffective weekdays.textyesMatch get (e.g. bitmap "127")

Common request fields and the signature are in Development specification.

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",
 "channelId": "0",
 "serviceId": "ptz.cruise.set",
 "inputData": {
 "collection": [
 {
 "name": "point1",
 "stayTime": "30"
 }
 ],
 "cruiseModel": "1",
 "cruises": [
 {
 "beginTime": "T080000",
 "endTime": "T180000",
 "period": "127"
 }
 ]
 }
 }
}

Response data fields

Output is in result.data.outputData. Empty output is {}.

Response example

{
 "id": "d5c287b4-5b2f-4f03-baf5-8032c5c354af",
 "result": {
 "code": "0",
 "msg": "Operation is successful",
 "data": {
 "outputData": {}
 }
 }
}

Error codes

Gateway and device error codes are in Global return codes.

Cruise

ptz.cruise.get (Get cruise info)
ptz.linkage.enabled (Read gun-ball linkage switch)