fileupload_start

DJI Services · file · fileupload_start

Request Params

vendor
string
required
Fixed value dji
device_id
string
required
Target device ID
command_type
string
required
Fixed value fileupload_start
idempotency_key
string
required
Idempotency key; repeated requests return the same command
timeout_seconds
integer
Timeout in seconds, range 0~300
payload.bucket
string
required
Method payload field
payload.region
string
required
Method payload field
payload.credentials
object
required
Method payload field
payload.endpoint
string
required
Method payload field
payload.provider
string
required
Method payload field
payload.params
object
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":"fileupload_start","payload":{"bucket":"string","region":"string","credentials":{"access_key_id":"id-001","access_key_secret":"string","expire":0,"security_token":"string"},"endpoint":"string","provider":"string","params":{"files":[{"list":{},"module":"string","object_key":"string"}]}},"idempotency_key":"req-fileupload_start-001","timeout_seconds":30}'

curl "/api/v1/open/downlink/commands/89c05110-84d1-bdf6-0cec-ef891c1eabf3"
{
  "command_id": "89c05110-84d1-bdf6-0cec-ef891c1eabf3",
  "status": "ACCEPTED",
  "accepted_at": "2026-04-22T12:00:00Z"
}