Ejecuta

La API de /osc/commands/execute ejecuta comandos especificados en la cámara. El resultado es un objeto de comando.

Entrada

Nombre Tipo Descripción
name Cadena El comando que se ejecutará.
parameters Objeto Parámetros de entrada del comando según la especificación de definiciones de comandos. Consulta la especificación de la API de OSC para ver ejemplos.

Salida

Nombre Tipo Descripción
name Cadena El comando que se ejecutará.
state Cadena Estado del comando. Debe ser uno de los siguientes:
  • done: Completo; se proporcionaron resultados en esta respuesta.
  • inProgress: La ejecución aún está en curso.
  • error: Error; consulta el error en la respuesta.
id Cadena (opcional) ID de comando. Este valor es obligatorio para los comandos que muestran el estado inProgress. Por ejemplo, el comando camera.takePicture tarda unos segundos debido a la necesidad de unir elementos. Consulta la sección “Estado” para obtener más detalles.
results Objeto (opcional) Resultados del comando Este valor es obligatorio para los comandos que muestran el estado done si se espera que el comando muestre resultados; por ejemplo, "results" : { "AAA": "BBB", ... } Consulta la Especificación de la API de OSC para ver ejemplos.
error Objeto (opcional) Descripción del error de comando. Este valor es obligatorio para los comandos que muestran el estado error; (por ejemplo,
“error”: {
  “code”: “missingParameter”
}
).
progress Objeto (opcional) Descripción del progreso del comando. Este valor es obligatorio para los comandos que muestran el estado inProgress (por ejemplo,
“progress”: {
  “completion”: 0.8
}
).

Error

Código de error Descripción
unknownCommand Se desconoce el comando solicitado, p.ej., si un cliente de v2 (clientVersion se estableció en 2, consulta Opciones) solicita un comando obsoleto del nivel de API 1, la solicitud debería fallar con este código de error.
disabledCommand El comando ejecutado está inhabilitado, p.ej., el comando "takePicture" está inhabilitado cuando la cámara está en modo de video, el comando processPicture se inhabilita cuando la cámara no es compatible conDelayProcessing. Este código de error se agregó en el nivel de API 2.
cameraInExclusiveUse La cámara ya es de uso exclusivo. No se puede iniciar una sesión nueva. Este código de error dejó de estar disponible en el nivel de API 2.
missingParameter No se especificaron uno o más parámetros obligatorios.
invalidParameterName No se reconocen o no se admiten uno o más parámetros de entrada o nombres de opciones.
invalidParameterValue Se reconocieron los nombres de parámetros o de opciones, pero uno o más valores no son válidos; por ejemplo, el valor está fuera de rango.

Ejemplo

Solicitud (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
        }
    }
}
Solicitud (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
        }
    }
}
Respuesta
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"
}
Solicitud (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"
    }
}
Solicitud (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"
}
Respuesta
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
    }
}