Execute

API /osc/commands/execute mengeksekusi perintah yang ditetapkan pada kamera. Keluarannya adalah objek perintah.

Input

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