ה-API /osc/commands/execute
יריץ את הפקודות שצוינו במצלמה. הפלט הוא אובייקט פקודה.
שם |
סוג |
תיאור |
name |
מחרוזת |
הפקודה שצריך לבצע. |
parameters |
אובייקט |
הפרמטרים של הקלט של פקודות בהתאם למפרט של הגדרות הפקודות. דוגמאות מופיעות במפרט של OSC API. |
פלט
שם |
סוג |
תיאור |
name |
מחרוזת |
הפקודה שצריך לבצע. |
state |
מחרוזת |
מצב הפקודה. צריכה להיות אחת מהאפשרויות הבאות:
done – הושלם, התוצאות הוחזרו בתשובה הזו.
inProgress – הביצוע עדיין מתבצע.
error – הפעולה נכשלה. יש שגיאה בתשובה.
|
id |
מחרוזת (אופציונלי) |
מזהה הפקודה. הערך הזה נדרש לפקודות שמחזירות את הסטטוס
inProgress . לדוגמה, הפקודה camera.takePicture נמשכת כמה שניות בגלל הצורך בחיבור. פרטים נוספים זמינים בקטע 'סטטוס'. |
results |
אובייקט (אופציונלי) |
תוצאות הפקודות. הערך הזה נדרש לפקודות שמחזירות את המצב
done אם הפקודה צפויה להחזיר תוצאות; לדוגמה,
“results” : {
"AAA": "BBB",
...
}
דוגמאות מופיעות במפרט של OSC API. |
error |
אובייקט (אופציונלי) |
תיאור השגיאה של הפקודה. הערך הזה נדרש לפקודות שמחזירות את המצב error; , לדוגמה,
“error”: {
“code”: “missingParameter”
} |
progress |
אובייקט (אופציונלי) |
תיאור ההתקדמות של הפקודה. הערך הזה נדרש לפקודות שמחזירות את המצב inProgress ; לדוגמה,
“progress”: {
“completion”: 0.8
} |
שגיאה
קוד שגיאה |
תיאור |
unknownCommand |
הפקודה המבוקשת לא ידועה, למשל אם לקוח גרסה 2 (clientVersion מוגדר לערך 2 ראו Options) מבקש פקודה שהוצאה משימוש מרמת API 1, הבקשה אמורה להיכשל עם קוד השגיאה הזה. |
disabledCommand |
הפקודה שהרצתם מושבתת כרגע, למשל הפקודה 'TakePicture' מושבתת כאשר
המצלמה במצב וידאו, הפקודה ProcessingPicture מושבתת כשהמצלמה לא תומכת ב-dellProcessing. קוד השגיאה הזה נוסף ברמת API 2. |
cameraInExclusiveUse |
המצלמה כבר בשימוש בלעדי, אי אפשר להתחיל סשן חדש. קוד השגיאה הזה הוצא משימוש ברמת API 2. |
missingParameter |
אחד או יותר מהפרמטרים הנדרשים לא צוין. |
invalidParameterName |
לפחות פרמטר קלט אחד או שם אפשרות אחד לא זוהה או לא נתמך. |
invalidParameterValue |
שמות הפרמטרים או האפשרויות זוהו, אבל אחד או יותר מהערכים לא חוקיים. לדוגמה, הערך נמצא מחוץ לטווח. |
דוגמה |
בקשה (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
}
} |