Eksekusi

/osc/commands/execute API menjalankan perintah yang ditentukan pada kamera. Keluarannya adalah objek perintah.

Input

Nama Jenis Deskripsi
name String Perintah yang akan dieksekusi.
parameters Objek Parameter input perintah sesuai dengan spesifikasi definisi perintah. Lihat Spesifikasi OSC API untuk mengetahui contohnya.

Output

Nama Jenis Deskripsi
name String Perintah yang akan dieksekusi.
state String Status perintah. Harus berupa salah satu dari berikut ini:
  • done - Selesai, hasil telah ditampilkan dalam respons ini.
  • inProgress - Eksekusi masih dalam proses.
  • error - Gagal, lihat error dalam respons.
id String (opsional) ID Perintah. Nilai ini diperlukan untuk perintah yang menampilkan status inProgress. Misalnya, perintah camera.takePicture memerlukan waktu beberapa detik karena perlu digabungkan. Lihat bagian “Status” untuk detail selengkapnya.
results Objek (opsional) Hasil perintah. Nilai ini diperlukan untuk perintah yang menampilkan status done jika perintah tersebut diharapkan menampilkan hasil; misalnya, “results” : { “AAA”: “BBB”, ... } Lihat Spesifikasi OSC API untuk mengetahui contohnya.
error Objek (opsional) Deskripsi error perintah. Nilai ini diperlukan untuk perintah yang menampilkan status error; misalnya,
“error”: {
  “code”: “missingParameter”
}
progress Objek (opsional) Deskripsi progres perintah. Nilai ini diperlukan untuk perintah yang menampilkan status inProgress; misalnya,
“progress”: {
  “completion”: 0.8
}

Error

Kode error Deskripsi
unknownCommand Perintah yang diminta tidak diketahui, misalnya jika klien v2 (clientVersion disetel ke 2, lihat Opsi) meminta perintah yang tidak digunakan lagi dari API level 1, permintaan akan gagal dengan kode error ini.
disabledCommand Perintah yang dijalankan saat ini dinonaktifkan, mis. Perintah `takePicture` dinonaktifkan saat kamera dalam mode video, perintah processPicture dinonaktifkan jika kamera tidak mendukung delayProcessing. Kode error ini ditambahkan di API level 2.
cameraInExclusiveUse Kamera sudah dalam penggunaan eksklusif, sesi baru tidak dapat dimulai. Kode error ini sudah tidak digunakan lagi di API level 2.
missingParameter Satu atau beberapa parameter yang diperlukan belum ditentukan.
invalidParameterName Satu atau beberapa nama opsi atau parameter input tidak dikenal atau tidak didukung.
invalidParameterValue Nama parameter atau opsi telah dikenali, tetapi satu atau beberapa nilai tidak valid; misalnya, nilainya di luar rentang.

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
    }
}