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 String El comando que se ejecutará.
parameters Objeto Parámetros de entrada del comando según la especificación de definiciones del comando. Consulta la Especificación de la API de OSC para ver ejemplos.

Salida

Nombre Tipo Descripción
name String El comando que se ejecutará.
state String Estado del comando. Debe ser una de las siguientes opciones:
  • done: Completo. Se mostraron resultados en esta respuesta.
  • inProgress: La ejecución aún está en curso.
  • error: falló; 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 unirse. Consulta la sección “Estado” para obtener más información.
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 del 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 v2 (clientVersion está configurado como 2; consulta Opciones) solicita un comando obsoleto desde el nivel de API 1, la solicitud debería fallar y mostrar este código de error.
disabledCommand El comando ejecutado está inhabilitado en este momento, p.ej., El comando “takePicture” se inhabilita cuando La cámara está en el modo de video y el comando processPicture se inhabilita cuando la cámara no admite demoraProcessing. Este código de error se agregó en el nivel de API 2.
cameraInExclusiveUse La cámara ya está en uso exclusivo; no se puede iniciar una nueva sesión. 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 opción.
invalidParameterValue Se reconocieron los nombres de parámetros o opciones, pero uno o más valores no son válidos. por ejemplo, el valor está fuera del 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
    }
}