ดำเนินการ

/osc/commands/execute API จะเรียกใช้คำสั่งที่ระบุในกล้อง เอาต์พุตเป็นออบเจ็กต์คำสั่ง

อินพุต

ชื่อ ประเภท คำอธิบาย
name สตริง คำสั่งที่จะดำเนินการ
parameters ออบเจ็กต์ พารามิเตอร์อินพุตของคำสั่งตามข้อกำหนดการกำหนดคำสั่ง โปรดดูข้อกำหนดของ OSC API เพื่อดูตัวอย่าง

เอาต์พุต

ชื่อ ประเภท คำอธิบาย
name สตริง คำสั่งที่จะดำเนินการ
state สตริง สถานะของคำสั่ง ควรเป็นข้อใดข้อหนึ่งต่อไปนี้
  • done - เสร็จสมบูรณ์ ระบบแสดงผลลัพธ์ในคำตอบนี้
  • inProgress - กำลังดำเนินการ
  • error - ไม่สำเร็จ โปรดดูข้อผิดพลาดในการตอบกลับ
id สตริง (ไม่บังคับ) รหัสคำสั่ง ค่านี้จำเป็นสำหรับคำสั่งที่ส่งคืนสถานะ inProgress ตัวอย่างเช่น คำสั่ง camera.takePicture จะใช้เวลา 2-3 วินาทีเนื่องจากจำเป็นต้องต่อภาพ ดูรายละเอียดเพิ่มเติมได้ที่ส่วน "สถานะ"
results ออบเจ็กต์ (ไม่บังคับ) ผลลัพธ์ของคำสั่ง ค่านี้จำเป็นสำหรับคำสั่งที่แสดงสถานะ done หากคาดว่าคำสั่งจะแสดงผลลัพธ์ ตัวอย่างเช่น “results” : { "AAA": "BBB" ... } โปรดดูข้อกำหนดของ OSC API เพื่อดูตัวอย่าง
error ออบเจ็กต์ (ไม่บังคับ) คำอธิบายข้อผิดพลาดของคำสั่ง ต้องระบุค่านี้สำหรับคำสั่งที่แสดงสถานะ error; เช่น วันที่
“error”: {
  “code”: “missingParameter”
}
progress ออบเจ็กต์ (ไม่บังคับ) คำอธิบายความคืบหน้าของคำสั่ง ต้องใช้ค่านี้สำหรับคำสั่งที่แสดงสถานะ inProgress ตัวอย่างเช่น วันที่
“progress”: {
  “completion”: 0.8
}

ข้อผิดพลาด

รหัสข้อผิดพลาด คำอธิบาย
unknownCommand ไม่ทราบคําสั่งที่ขอ เช่น หากไคลเอ็นต์ v2 (clientVersion เป็น 2 โปรดดูตัวเลือก) ขอคำสั่งที่เลิกใช้งานแล้วจาก API ระดับ 1 คำขอควรจะล้มเหลวโดยมีรหัสข้อผิดพลาดนี้
disabledCommand มีการปิดใช้คําสั่งที่ดําเนินการอยู่ เช่น คำสั่ง "takePicture" ถูกปิดใช้เมื่อ กล้องอยู่ในโหมดวิดีโอ คำสั่ง processPicture จะถูกปิดใช้งานเมื่อกล้องไม่รองรับ DelayProcessing เพิ่มรหัสข้อผิดพลาดนี้ใน API ระดับ 2
cameraInExclusiveUse กล้องมีการใช้งานพิเศษอยู่แล้ว จึงไม่สามารถเริ่มเซสชันใหม่ได้ เราเลิกใช้งานรหัสข้อผิดพลาดนี้ใน API ระดับ 2 แล้ว
missingParameter ไม่ได้ระบุพารามิเตอร์ที่จำเป็นอย่างน้อย 1 รายการ
invalidParameterName ไม่รู้จักหรือไม่รองรับพารามิเตอร์อินพุตหรือชื่อตัวเลือกอย่างน้อย 1 รายการ
invalidParameterValue ระบบรู้จักพารามิเตอร์หรือชื่อตัวเลือก แต่มีค่าอย่างน้อย 1 ค่าที่ไม่ถูกต้อง ตัวอย่างเช่น ค่าอยู่นอกช่วง

ตัวอย่าง

คำขอ (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
        }
    }
}
คำขอ (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
        }
    }
}
การตอบกลับ
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"
}
คำขอ (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"
    }
}
คำขอ (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"
}
การตอบกลับ
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
    }
}