Возможности, определяемые поставщиками

API уровня 1 в спецификации OSC API ориентирован на работу с изображениями, поддержка видео добавлена в API уровня 2. Производителям камер рекомендуется определять собственные команды и/или расширять набор параметров стандартных команд по мере необходимости. Они называются Командами поставщика и Параметрами поставщика.

Названия команд и параметров поставщика должны быть выражены буквенно-числовыми символами и начинаться с нижнего подчеркивания ( _ ).

Функциональные возможности, определяемые поставщиком, могут быть указаны в четырех местах:

Пример

Запрос (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"
}