API /osc/commands/execute
mengeksekusi perintah yang ditetapkan pada kamera. Keluarannya adalah objek perintah.
Nama |
Tipe |
Keterangan |
name |
String |
Perintah yang akan dieksekusi. |
parameters |
Objek |
Parameter input perintah sesuai dengan spesifikasi definisi perintahnya. Misalnya, lihat Spesifikasi OSC API. |
Output
Nama |
Tipe |
Keterangan |
name |
String |
Perintah yang akan dieksekusi. |
state |
String |
Status perintah. Harus berupa salah satu dari berikut:
done - Selesai, hasil telah dikembalikan dalam respons ini.
inProgress - Eksekusi sedang berlangsung.
error - Gagal, lihat kesalahan dalam responsnya.
|
id |
String (opsional) |
ID perintah. Nilai ini diperlukan untuk perintah yang mengembalikan status inProgress. Misalnya, perintah camera.takePicture memakan waktu beberapa detik karena perlu dirangkai dahulu. Lihat bagian "Status" untuk detail selengkapnya. |
results |
Objek (opsional) |
Hasil perintah. Nilai ini diperlukan untuk perintah yang mengembalikan status done jika perintah itu diharapkan mengembalikan hasil; misalnya,
“results” : {
“AAA”: “BBB”,
...
}
Misalnya, lihat Spesifikasi OSC API. |
error |
Objek (opsional) |
Keterangan kesalahan perintah. Nilai ini diperlukan untuk perintah yang mengembalikan status error; misalnya,
“error”: {
“code”: “missingParameter”
} |
progress |
Objek (opsional) |
Keterangan kemajuan perintah. Nilai ini diperlukan untuk perintah yang mengembalikan status inProgress ; misalnya,
“progress”: {
“completion”: 0.8
} |
Kesalahan
Kode kesalahan |
Keterangan |
unknownCommand |
Perintah yang diminta tidak dikenal, mis. jika klien v2 (clientVersion disetel ke 2, lihat Opsi) meminta perintah yang tidak digunakan lagi dari API level 1, permintaan tersebut akan gagal dengan kode kesalahan ini. |
disabledCommand |
Perintah yang dieksekusi saat ini dinonaktifkan, mis. perintah `takePicture` dinonaktifkan bila
kamera dalam mode video, perintah processPicture dinonaktifkan bila kamera tidak mendukung delayProcessing. Kode kesalahan ini telah ditambahkan di API level 2. |
cameraInExclusiveUse |
Kamera sudah dalam penggunaan eksklusif, sesi baru tidak bisa dimulai. Kode kesalahan ini tidak digunakan lagi di API level 2. |
missingParameter |
Satu atau beberapa parameter yang diperlukan belum ditetapkan. |
invalidParameterName |
Satu atau beberapa parameter input atau nama opsi tidak dikenal atau tidak didukung. |
invalidParameterValue |
Nama parameter atau opsi dikenali, namun satu atau beberapa nilai tidak valid; misalnya, nilai di luar kisaran. |
Contoh |
Permintaan (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
{
"name": "camera.setOptions",
"parameters": {
"sessionId": "12ABC3",
"options": {
"iso": 200,
"exposureCompensation": -2
}
}
} |
Permintaan (API 2) |
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
{
"name": "camera.setOptions",
"parameters": {
"options": {
"iso": 200,
"exposureCompensation": -2
}
}
} |
Respons |
HTTP/1.1 200 OK
Content-Type: application/json;charset=utf-8
Content-Length: {CONTENT_LENGTH}
X-Content-Type-Options: nosniff
{
"name": "camera.setOptions",
"state": "done"
} |
Permintaan (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
{
"name": "camera.takePicture",
"parameters": {
"sessionId": "12ABC3"
}
} |
Permintaan (API 2) |
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
{
"name": "camera.takePicture"
} |
Respons |
HTTP/1.1 200 OK
Content-Type: application/json;charset=utf-8
Content-Length: {CONTENT_LENGTH}
X-Content-Type-Options: nosniff
{
"name": "camera.takePicture",
"state": "inProgress",
"id": "90ABCD",
"progress": {
"completion": 0
}
} |