API /osc/commands/execute thực thi các lệnh được chỉ định trên camera. Dữ liệu đầu ra là một đối tượng lệnh.
Đầu vào
Tên
Loại
Mô tả
name
Chuỗi
Lệnh cần thực thi.
parameters
Đối tượng
Nhập các tham số lệnh theo quy cách định nghĩa lệnh. Vui lòng tham khảo Thông số kỹ thuật API OSC để biết ví dụ.
Đầu ra
Tên
Loại
Mô tả
name
Chuỗi
Lệnh cần thực thi.
state
Chuỗi
Trạng thái của lệnh. Phải là một trong các giá trị sau:
done – Hoàn tất, kết quả đã được trả về trong phản hồi này.
inProgress – Quá trình thực thi vẫn đang diễn ra.
error – Không thành công, hãy xem lỗi trong phản hồi.
id
Chuỗi (không bắt buộc)
Mã lệnh. Các lệnh trả về trạng tháiinProgress là bắt buộc phải có giá trị này. Ví dụ: lệnh camera.takePicture mất vài giây do cần ghép. Xem phần "Trạng thái" để biết thêm chi tiết.
results
Đối tượng (không bắt buộc)
Kết quả lệnh. Giá trị này là bắt buộc đối với các lệnh trả về trạng thái done nếu lệnh dự kiến sẽ trả về kết quả; ví dụ:
“results” : {
"AAA": "BBB",
...
}
Vui lòng tham khảo Thông số kỹ thuật của API OSC để xem ví dụ.
error
Đối tượng (không bắt buộc)
Mô tả lỗi lệnh. Ví dụ: các lệnh trả về trạng thái error; phải có giá trị này
“error”:{ “code”:“missingParameter” }
progress
Đối tượng (không bắt buộc)
Mô tả tiến trình lệnh. Các lệnh trả về trạng thái inProgress là bắt buộc phải có giá trị này; ví dụ:
“progress”:{ “completion”:0.8 }
Lỗi
Mã lỗi
Mô tả
unknownCommand
Lệnh được yêu cầu không xác định, ví dụ: nếu ứng dụng khách v2 (clientVersion được đặt thành 2, xem Tùy chọn) yêu cầu một lệnh không dùng nữa từ API cấp 1, thì yêu cầu sẽ không thành công với mã lỗi này.
disabledCommand
Lệnh được thực thi hiện bị vô hiệu hoá, ví dụ: Lệnh "takeImage" bị tắt khi
máy ảnh đang ở chế độ video, lệnh xử lý hình ảnh sẽ bị tắt khi máy ảnh không hỗ trợ chế độ trì hoãn việc xử lý. Mã lỗi này đã được thêm vào API cấp 2.
cameraInExclusiveUse
Máy ảnh đã được sử dụng độc quyền, nên bạn không thể bắt đầu phiên mới. Mã lỗi này không còn được dùng trong API cấp 2.
missingParameter
Bạn chưa chỉ định một hoặc nhiều thông số bắt buộc.
invalidParameterName
Có ít nhất một tham số đầu vào hay tên tuỳ chọn không nhận dạng được hoặc không được hỗ trợ.
invalidParameterValue
Thông số hoặc tên tùy chọn đã được công nhận, nhưng một hoặc nhiều giá trị không hợp lệ; ví dụ: giá trị nằm ngoài phạm vi.
Ví dụ:
Yêu cầu (API 1)
POST /osc/commands/execute HTTP/1.1 Host:[camera ip address]:[httpPort] Content-Type: application/json;charset=utf-8 Accept: application/json Content-Length:{CONTENT_LENGTH} X-XSRF-Protected:1
[null,null,["Cập nhật lần gần đây nhất: 2024-08-21 UTC."],[[["The `/osc/commands/execute` API allows you to execute commands on the camera, such as adjusting settings or taking pictures."],["Input requires the command `name` and any necessary `parameters` defined in the OSC API Specification."],["Output provides the command `name`, `state`, and may include an `id`, `results`, `error`, or `progress` depending on the command and its execution status."],["Possible command states include `done`, `inProgress`, and `error`, with further details provided in the output fields."],["Refer to the OSC API Specification for specific command definitions, parameters, and result formats."]]],["The `/osc/commands/execute` API triggers commands on a camera, defined by a command `name` and associated `parameters`. The output indicates the command's `state` (`done`, `inProgress`, or `error`), an optional `id` for `inProgress` commands, `results` for completed commands, or `error` details. Possible errors include `unknownCommand`, `disabledCommand`, `missingParameter`, and `invalidParameterValue`. Example requests demonstrate how to set options and take a picture, with the responses showing command completion or ongoing progress.\n"]]