action.devices.SYNC
Essa intent solicita a lista de dispositivos associados ao usuário e os recursos deles.
Ela é acionada durante a vinculação de contas ou quando um usuário ressincroniza manualmente os dispositivos. O fulfillment precisa responder com as características e atributos compatíveis de cada dispositivo.
A resposta SYNC precisa retornar todos os dispositivos associados ao usuário.
Isso não determina se um dispositivo específico está acessível. Isso é processado pelas respostas
  QUERY e
  EXECUTE.
Para mais detalhes, consulte 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 intenção. | 
| [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 SYNC
{
  "requestId": "ff36a3cc-ec34-11e6-b1a0-64510650abcf",
  "inputs": [
    {
      "intent": "action.devices.SYNC"
    }
  ]
}Formato da resposta
| Campos | Tipo | Descrição | 
|---|---|---|
| requestId | String | Obrigatório. ID da solicitação correspondente. | 
| payload | Object | Obrigatório. Payload de resposta da intent. | 
| agentUserId | String | Obrigatório. Reflete o ID exclusivo (e imutável) do usuário na plataforma do agente. A string é opaca para o Google. Portanto, se houver uma forma imutável e uma mutável no lado do agente, use a 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 significa que o usuário não tem dispositivos ou desconectou todos eles). | 
| [item, ...] | Object | Metadados do dispositivo. | 
| id | String | Obrigatório. O ID do dispositivo na nuvem do desenvolvedor. Ele precisa ser exclusivo para o usuário e para o desenvolvedor. Em casos de compartilhamento, podemos usar esse valor para remover a duplicação de várias visualizações do mesmo dispositivo. Ele precisa ser imutável para o dispositivo. Se mudar, o Google Assistente vai tratá-lo como um novo dispositivo. | 
| type | String | Obrigatório. O tipo de hardware do dispositivo. | 
| traits | Array | Obrigatório. Lista de características do dispositivo. Isso 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. Esse também é o nome que o Google Assistente vai preferir para descrever o dispositivo nas respostas. Os nomes serão truncados se excederem o limite de 60 pontos de código Unicode (caracteres), e nenhum erro será gerado. Os desenvolvedores são responsáveis por processar nomes longos. | 
| nicknames | Array | Outros nomes fornecidos pelo usuário para o dispositivo. | 
| [item, ...] | String | Apelido do dispositivo. | 
| willReportState | Booleano | Obrigatório. Indica se os estados desse dispositivo serão atualizados pelo feed em tempo real. "true" para usar o feed em tempo real para informar o estado 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 uma lógica única, se necessário (por exemplo, "a versão X do firmware com falha da luz Y exige ajuste de cor" ou "uma falha de segurança exige notificar todos os usuários do firmware Z"). | 
| manufacturer | String | Especialmente útil quando o desenvolvedor é um hub para outros dispositivos. O Google pode fornecer uma lista padrão de fabricantes aqui para que, por exemplo, TP-Link e Smartthings descrevam "osram" da mesma forma. | 
| model | String | O identificador do modelo ou SKU do dispositivo específico. | 
| hwVersion | String | Número da versão específica anexada ao hardware, se disponível. | 
| swVersion | String | Número da versão específica anexada ao software/firmware, se disponível. | 
| attributes | Object | Alinhado com os atributos por traço descritos em cada referência de esquema de traço. | 
| customData | Object | Objeto definido pelo desenvolvedor que será anexado a futuras solicitações QUERY e EXECUTE, máximo de 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 podem conter informações sensíveis, incluindo, entre outras, 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. Geralmente, 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 de 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" } } ] } }