Executar

A API /osc/commands/execute executa os comandos especificados na câmera. A saída é um objeto de comando.

Entrada

Nome Tipo Descrição
name String O comando a ser executado.
parameters Objeto Parâmetros de entrada do comando de acordo com a especificação de definições de comando. Consulte a Especificação da API OSC para exemplos.

Saída

Nome Tipo Descrição
name String O comando a ser executado.
state String Estado do comando. Deve ser uma das seguintes opções:
  • done - Concluído. Os resultados foram retornados nesta resposta.
  • inProgress - a execução ainda está em andamento.
  • error: falha, confira o erro na resposta.
id String (opcional) ID do comando. Esse valor é obrigatório para comandos que retornam o status inProgress. Por exemplo, o comando camera.takePicture leva alguns segundos devido à necessidade de agrupamento. Consulte a seção "Status" para mais detalhes.
results Objeto (opcional) Resultados do comando. Esse valor é obrigatório para comandos que retornam o estado done se é esperado que o comando retorne resultados. por exemplo, “results” : { "AAA": "BBB", ... } Consulte a especificação da API OSC para exemplos.
error Objeto (opcional) Descrição do erro do comando. Esse valor é obrigatório para comandos que retornam o estado error;. Por exemplo:
“error”: {
  “code”: “missingParameter”
}
progress Objeto (opcional) Descrição do progresso do comando. Esse valor é obrigatório para comandos que retornam o estado inProgress. por exemplo,
“progress”: {
  “completion”: 0.8
}

Erro

Código do erro Descrição
unknownCommand O comando solicitado é desconhecido, por exemplo, se um cliente v2 (clientVersion definido como 2, consulte Opções) solicitar um comando descontinuado da API de nível 1, deverá ocorrer falha na solicitação com esse código de erro.
disabledCommand O comando executado está desativado no momento, por exemplo: O comando "takePicture" é desativado quando a câmera está no modo de vídeo. O comando processPicture é desativado quando a câmera não oferece suporte ao delayProcessing. Esse código de erro foi adicionado no nível 2 da API.
cameraInExclusiveUse A câmera já está em uso exclusivo. Não é possível iniciar uma nova sessão. Esse código do erro foi descontinuado na API de nível 2.
missingParameter Um ou mais parâmetros obrigatórios não foram especificados.
invalidParameterName Um ou mais nomes de parâmetros de entrada ou opções não foram reconhecidos ou não são compatíveis.
invalidParameterValue Os nomes dos parâmetros ou das opções foram reconhecidos, mas um ou mais valores são inválidos. por exemplo, o valor está fora do intervalo.

Exemplo

Solicitação (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
        }
    }
}
Solicitação (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
        }
    }
}
Resposta
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"
}
Solicitação (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"
    }
}
Solicitação (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"
}
Resposta
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
    }
}