Ejecutar

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

Entrada

Nombre Tipo Descripción
nombre Cadena El comando que se ejecutará.
parámetros Objeto Parámetros de entrada del comando conforme a la especificación de definiciones de comandos. Consulta Especificación de la API de OSC para obtener ejemplos.

Salida

Nombre Tipo Descripción
nombre Cadena El comando que se ejecutará.
estado Cadena Estado del comando. Debe ser uno de los siguientes:
  • done: Completo; se devolvieron 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 devuelven el estado inProgress. Por ejemplo, el comando camera.takePicture demora algunos segundos ya que es necesario realizar una unión. Para obtener información detallada, consulta la sección “Estado”.
resultados Objeto (opcional) Resultados de comando. Este valor es obligatorio para comandos que muestran el estado done, si se prevé que el comando muestre resultados; por ejemplo, “results” : { “AAA”: “BBB”, ... } Consulta Especificación de la API de OSC para obtener ejemplos.
error Objeto (opcional) Descripción del error de comando. Este valor es obligatorio para los comandos que devuelven 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 devuelven 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 (la clientVersion se fija en 2; consulta Opciones) solicita un comando que ya no esté disponible en el nivel de API 1, la solicitud fallará y se generará este código de error.
disabledCommand El comando ejecutado se encuentra actualmente inhabilitado; p. ej., el comando `takePicture` se inhabilita cuando la cámara se encuentra en el modo de video y el comando processPicture se inhabilita cuando la cámara no es compatible con delayProcessing. Este código de error se agregó en el nivel de API 2.
cameraInExclusiveUse La cámara ya se encuentra en modo de uso exclusivo; no es posible iniciar una sesión nueva. Este código de error dejó de estar disponible en el nivel de API 2.
missingParameter No se especificó uno o más parámetros obligatorios.
invalidParameterName No se reconoce o no se admite uno o más parámetros de entrada o nombres de opción.
invalidParameterValue Se reconocieron el parámetro o los nombres de opción, 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
    }
}