action.devices.SYNC
A intent solicita a lista de dispositivos associados ao usuário em questão e os recursos dele.
Ele é acionado durante a vinculação da conta ou quando um usuário sincroniza manualmente os dispositivos novamente. O fulfillment precisa responder com as características e atributos compatíveis para cada dispositivo.
A resposta SYNC
vai retornar todos os dispositivos associados ao usuário.
Isso não determina se algum dispositivo específico está acessível. Isso é gerenciado pelas respostas
QUERY
e
EXECUTE
.
Veja mais detalhes em Identificar e sincronizar.
Formato da solicitação
Campos | Tipo | Descrição |
---|---|---|
requestId |
String |
Obrigatório. ID da solicitação. |
inputs |
Array |
Obrigatório. Lista de entradas que correspondem à solicitação de intent. |
[item, ...] |
Object |
Tipo e payload associados à solicitação de intent. |
intent |
Obrigatório. (Valor constante: Tipo de solicitação de intent. |
Exemplos
Solicitação de intent de SYNC
{ "requestId": "ff36a3cc-ec34-11e6-b1a0-64510650abcf", "inputs": [ { "intent": "action.devices.SYNC" } ] }
Formato da resposta
Campos | Tipo | Descrição |
---|---|---|
requestId |
String |
Obrigatório. É o ID da solicitação correspondente. |
payload |
Object |
Obrigatório. Payload de resposta de intent. |
agentUserId |
String |
Obrigatório. reflete o ID de usuário único (e imutável) na plataforma do agente. A string é opaca para o Google. Portanto, se houver um formato imutável ou mutável no agente, use o formato imutável (por exemplo, um número de conta em vez de um e-mail). |
errorCode |
String |
Para erros sistemáticos no SYNC |
debugString |
String |
Erro detalhado que nunca será apresentado aos usuários, mas poderá ser registrado ou usado durante o desenvolvimento. |
devices |
Array |
Obrigatório. Lista de dispositivos do usuário. Zero ou mais dispositivos são retornados (zero dispositivos, o que significa que o usuário não tem dispositivos ou que todos foram desconectados). |
[item, ...] |
Object |
Metadados do dispositivo. |
id |
String |
Obrigatório. É o ID do dispositivo na nuvem do desenvolvedor. Isso precisa ser único para o usuário e para o desenvolvedor, já que, nos casos de compartilhamento, podemos desduplicar várias visualizações do mesmo dispositivo. Ele precisa ser imutável para o dispositivo. Se mudar, o Google Assistente o tratará como um novo dispositivo. |
type |
String |
Obrigatório. O tipo de hardware do dispositivo. |
traits |
Array |
Obrigatório. Lista de características deste dispositivo. Define os comandos, atributos e estados compatíveis com o dispositivo. |
[item, ...] |
String |
Nome da característica compatível. |
name |
Object |
Obrigatório. Nomes deste dispositivo. |
defaultNames |
Array |
Lista de nomes fornecidos pelo desenvolvedor em vez do usuário, geralmente nomes de fabricantes, SKUs etc. |
[item, ...] |
String |
Nome padrão do dispositivo. |
name |
String |
Obrigatório. Nome principal do dispositivo, geralmente fornecido pelo usuário. Ele também é o nome que o Google Assistente prefere que descreva o dispositivo nas respostas. |
nicknames |
Array |
Nomes adicionais fornecidos pelo usuário para o dispositivo. |
[item, ...] |
String |
Apelido do dispositivo. |
willReportState |
Booleano |
Obrigatório. Indica se os estados do dispositivo serão atualizados pelo feed em tempo real. "true" para usar o feed em tempo real para o estado do relatório e "false" para usar o modelo de pesquisa. |
notificationSupportedByAgent |
Booleano |
Padrão: Indica se as notificações estão ativadas para o dispositivo. |
roomHint |
String |
Fornece o ambiente atual do dispositivo na casa do usuário para simplificar a configuração. |
deviceInfo |
Object |
Contém campos que descrevem o dispositivo para uso em lógica única, se necessário (por exemplo, "a versão do firmware corrompida X da luz Y requer o ajuste de cor") ou "a falha de segurança exige notificar todos os usuários do firmware Z". |
manufacturer |
String |
Útil principalmente quando o desenvolvedor é um hub para outros dispositivos. O Google pode fornecer uma lista padrão de fabricantes aqui para que o TP-Link e o Smartthings descrevem o termo "osram" da mesma forma. |
model |
String |
O identificador do modelo ou SKU do dispositivo específico. |
hwVersion |
String |
Número de versão específico anexado ao hardware, se disponível. |
swVersion |
String |
Número específico da versão anexado ao software/firmware, se disponível. |
attributes |
Object |
Alinhamento com os atributos descritos em cada referência de esquema de características. |
customData |
Object |
Objeto definido pelo desenvolvedor que será anexado às próximas solicitações QUERY e EXECUTE. No máximo 512 bytes por dispositivo. Use esse objeto para armazenar informações adicionais sobre o dispositivo que seu serviço de nuvem pode precisar, como a região global do dispositivo. Os dados nesse objeto têm algumas restrições: não há informações confidenciais, incluindo, mas não se limitando a, informações de identificação pessoal. |
otherDeviceIds |
Array |
Lista de IDs alternativos usados para identificar um dispositivo sincronizado na nuvem para execução local. |
[item, ...] |
Object |
ID alternativo do dispositivo. |
agentId |
String |
O ID do agente. Em geral, esse é o ID do projeto no console do Actions. |
deviceId |
String |
Obrigatório. ID do dispositivo definido pelo agente. O ID do dispositivo precisa ser exclusivo. |
Exemplos
Resposta da intent SYNC
{ "requestId": "ff36a3cc-ec34-11e6-b1a0-64510650abcf", "payload": { "agentUserId": "1836.15267389", "devices": [ { "id": "123", "type": "action.devices.types.OUTLET", "traits": [ "action.devices.traits.OnOff" ], "name": { "defaultNames": [ "My Outlet 1234" ], "name": "Night light", "nicknames": [ "wall plug" ] }, "willReportState": false, "roomHint": "kitchen", "deviceInfo": { "manufacturer": "lights-out-inc", "model": "hs1234", "hwVersion": "3.2", "swVersion": "11.4" }, "otherDeviceIds": [ { "deviceId": "local-device-id" } ], "customData": { "fooValue": 74, "barValue": true, "bazValue": "foo" } }, { "id": "456", "type": "action.devices.types.LIGHT", "traits": [ "action.devices.traits.OnOff", "action.devices.traits.Brightness", "action.devices.traits.ColorSetting" ], "name": { "defaultNames": [ "lights out inc. bulb A19 color hyperglow" ], "name": "lamp1", "nicknames": [ "reading lamp" ] }, "willReportState": false, "roomHint": "office", "attributes": { "colorModel": "rgb", "colorTemperatureRange": { "temperatureMinK": 2000, "temperatureMaxK": 9000 }, "commandOnlyColorSetting": false }, "deviceInfo": { "manufacturer": "lights out inc.", "model": "hg11", "hwVersion": "1.2", "swVersion": "5.4" }, "customData": { "fooValue": 12, "barValue": false, "bazValue": "bar" } } ] } }