flighttask_prepare

DJI Services · wayline · flighttask_prepare

Request Params

vendor
string
required
Fixed value dji
device_id
string
required
Target device ID
command_type
string
required
Fixed value flighttask_prepare
idempotency_key
string
required
Idempotency key; repeated requests return the same command
timeout_seconds
integer
Timeout in seconds, range 0~300
payload.break_point
object
Method payload field
payload.executable_conditions
object
Method payload field
payload.execute_time
integer
required
Method payload field
payload.exit_wayline_when_rc_lost
integer
required
Method payload field
payload.file
object
required
Method payload field
payload.flight_id
string
required
Method payload field
payload.out_of_control_action
integer
required
Method payload field
payload.ready_conditions
object
Method payload field
payload.rth_altitude
integer
required
Method payload field
payload.simulate_mission
object
Method payload field
payload.task_type
integer
required
Method payload field
payload.rth_mode
integer
required
Method payload field

Create Response

command_id
string(uuid)
Platform command acceptance identifier; globally unique UUID
status
string
Acceptance status: ACCEPTED
accepted_at
string(datetime)
Command acceptance time (UTC)

Query Response

command_id
string(uuid)
Platform command acceptance identifier; globally unique UUID
status
string
Execution status: ACCEPTED / DELIVERED / SUCCEEDED / FAILED / TIMED_OUT / UNMATCHED_RESPONSE
vendor
string
Vendor identifier; fixed value dji
device_id
string
Target device ID
command_type
string
Method name
response_code
string
Device-side execution code
response_message
string
Device-side execution message
vendor_response
object
Raw vendor response (passthrough)

DJI Services Reply Mapping

The device returns command results through services_reply. The platform correlates the reply to command_id through tid and updates the command lifecycle. Clients do not consume the MQTT reply channel directly.
Open Platform fieldDJI services_reply source
response_codePrefer data.code; fall back to data.result when code is absent
response_messagedata.message / data.msg / data.description
vendor_responseNormalized DJI reply summary preserving result, code, message, output, and vendor extension fields
data.result = 0 means device-side execution succeeded. Non-zero values mean device-side execution failed, and the platform moves the command to a failed terminal state.
curl -X POST "/api/v1/open/downlink/commands" \
  -H "Content-Type: application/json" \
  -H "X-Api-Id: YOUR_API_ID" \
  -H "X-Api-Timestamp: YOUR_UNIX_SECONDS" \
  -H "X-Api-Nonce: YOUR_NONCE" \
  -H "X-Api-Signature: YOUR_SIGNATURE" \
  -d '{"vendor":"dji","device_id":"drone-001","command_type":"flighttask_prepare","payload":{"execute_time":0,"exit_wayline_when_rc_lost":0,"file":{"fingerprint":"string","url":"https://example.com/path"},"flight_id":"id-001","out_of_control_action":0,"rth_altitude":0,"task_type":0,"rth_mode":0,"break_point":{"index":0,"state":0,"progress":0.0,"wayline_id":0,"break_reason":0,"latitude":0.0,"longitude":0.0,"height":0.0,"attitude_head":0.0},"executable_conditions":{"storage_capacity":0},"ready_conditions":{"battery_capacity":0,"begin_time":0,"end_time":0},"simulate_mission":{"is_enable":0,"latitude":0.0,"longitude":0.0}},"idempotency_key":"req-flighttask_prepare-001","timeout_seconds":30}'

curl "/api/v1/open/downlink/commands/676eda60-93c8-3534-3add-1e24d30c7d43"
{
  "command_id": "676eda60-93c8-3534-3add-1e24d30c7d43",
  "status": "ACCEPTED",
  "accepted_at": "2026-04-22T12:00:00Z"
}