ספציפי לספק

רמת API 1 במפרט ה-OSC API מתמקדת בסוג התמונה, ונוספה תמיכה בווידאו ברמת API 2. יצרני מצלמות מומלץ להגדיר פקודות בהתאמה אישית ו/או להרחיב את קבוצת הפרמטרים של הפקודות הרגילות אם יש צורך. אלה נקראים פקודות ספק ופרמטרים של ספק.

שמות הפקודות והפרמטרים הספציפיים לספק חייבים להיות אלפאנומריים ולכלול לפניהם קו תחתון ( _ ).

פונקציונליות ספציפית לספק יכולה להתרחש בארבעה מקומות הבאים:

  • פלט של /osc/info API
  • פלט של /osc/state API
  • מפרט OSC API, פקודות עבור /osc/commands/execute
  • מפרט OSC API, פרמטרים של פקודות; לדוגמה, פרמטרים לפקודות setOptions ו-getOptions.

דוגמה

בקשה (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",
        "iso": 200,
        "exposureCompensation": -2,
        "captureMode": "_video"
    }
}
תשובה
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"
}
שליחת בקשה
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._startRecording",
    "parameters": {
        "sessionId": "12ABC3",
        ...
    }
}
תשובה
HTTP/1.1 200 OK
Content-Type: application/json;charset=utf-8
Content-Length: {CONTENT_LENGTH}
X-Content-Type-Options: nosniff

{
    "name": "camera._startRecording",
    "state": "done"
}