A /osc/commands/execute
API 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 as especificações de definições de comandos. Consulte as especificações da OSC API para obter exemplos. |
Saída
Nome |
Tipo |
Descrição |
name |
String |
O comando a ser executado. |
state |
String |
O estado do comando. Deve ser um dos seguintes valores:
done - processo concluído, os resultados foram retornados na resposta.
inProgress - a execução ainda está em andamento.
error - o processo falhou, consulte o erro na resposta.
|
id |
String (opcional) |
ID de comando. Esse valor é obrigatório para comandos que retornam o status inProgress. Por exemplo, o comando camera.takePicture leva alguns segundos devido à necessidade de montagem. Consulte a seção "Status" para saber mais. |
results |
Objeto (opcional) |
Resultados do comando. Esse valor é obrigatório para comandos que retornam o estado done quando o comando deveria retornar resultados. Por exemplo:
“results” : {
“AAA”: “BBB”,
...
}
Consulte as especificações da OSC API para obter 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 de erro |
Descrição |
unknownCommand |
O comando solicitado é desconhecido, por exemplo, se um cliente v2 (clientVersion definido como 2. Consulte Opções) solicita um comando suspenso à API de nível 1, a solicitação deve falhar com esse código de erro. |
disabledCommand |
O comando executado atualmente está desativado, por exemplo, o comando `takePicture` é desativado quando
a câmera está em modo de vídeo, o comando processPicture é desativado quando a câmera não oferece suporte a delayProcessing. Esse código de erro foi adicionado na API de nível 2. |
cameraInExclusiveUse |
A câmera já está em uso exclusivo e não é possível iniciar uma nova sessão. Esse código de erro foi suspenso 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 de parâmetro ou opção foram reconhecidos, mas um ou mais valores são inválidos. Por exemplo, o valor está fora do intervalo permitido. |
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
}
} |