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" } } ] } }