действие.устройства.СИНХРОНИЗАЦИЯ
Это намерение запрашивает список устройств, связанных с данным пользователем, и их возможностей.
Он активируется при привязке аккаунта или когда пользователь вручную повторно синхронизирует свои устройства. Ваш сервис должен предоставить информацию о поддерживаемых характеристиках и атрибутах для каждого устройства.
 Ваш ответ SYNC должен возвращать все устройства, связанные с пользователем. При этом не определяется, доступно ли какое-либо конкретное устройство. Это решается ответами QUERY и EXECUTE .
Более подробную информацию см. в разделе Идентификация и синхронизация .
Формат запроса
| Поля | Тип | Описание | 
|---|---|---|
 requestId | Нить | Необходимый. Идентификатор запроса.  | 
 inputs | Множество | Необходимый. Список входных данных, соответствующих запросу намерения.  | 
 [ item, ... ] | Объект | Тип и полезная нагрузка, связанные с запросом намерения.  | 
 intent | Необходимый.  (Постоянное значение:  Тип запроса Intent.  | 
Примеры
Запрос намерения SYNC
{
  "requestId": "ff36a3cc-ec34-11e6-b1a0-64510650abcf",
  "inputs": [
    {
      "intent": "action.devices.SYNC"
    }
  ]
}Формат ответа
| Поля | Тип | Описание | 
|---|---|---|
 requestId | Нить | Необходимый. Идентификатор соответствующего запроса.  | 
 payload | Объект | Необходимый. Полезная нагрузка ответа на намерение.  | 
 agentUserId | Нить | Необходимый. Отражает уникальный (и неизменяемый) идентификатор пользователя на платформе агента. Строка непрозрачна для Google, поэтому, если на стороне агента используется неизменяемая форма, а не изменяемая, используйте неизменяемую (например, номер счёта, а не адрес электронной почты).  | 
 errorCode | Нить | Для систематических ошибок в SYNC  | 
 debugString | Нить | Подробные сведения об ошибках, которые никогда не будут представлены пользователям, но могут быть зарегистрированы или использованы в процессе разработки.  | 
 devices | Множество | Необходимый. Список устройств, принадлежащих пользователю. Возвращается ноль или более устройств (ноль устройств означает, что у пользователя нет устройств или он отключил их все).  | 
 [ item, ... ] | Объект | Метаданные устройства.  | 
 id | Нить | Необходимый. Идентификатор устройства в облаке разработчика. Он должен быть уникальным как для пользователя, так и для разработчика, так как в случае совместного использования мы можем использовать его для дедупликации нескольких представлений одного и того же устройства. Он должен быть неизменяемым для устройства; если он изменится, Помощник будет воспринимать его как новое устройство.  | 
 type | Нить | Необходимый. Аппаратный тип устройства.  | 
 traits | Множество | Необходимый. Список характеристик этого устройства. Здесь указаны команды, атрибуты и состояния, поддерживаемые устройством.  | 
 [ item, ... ] | Нить | Название поддерживаемого признака.  | 
 name | Объект | Необходимый. Названия этого устройства.  | 
 defaultNames | Множество | Список названий, предоставленных разработчиком, а не пользователем, часто это названия производителей, артикулы и т. д.  | 
 [ item, ... ] | Нить | Имя устройства по умолчанию.  | 
 name | Нить | Необходимый. Основное имя устройства, обычно указываемое пользователем. Это имя также будет предпочитаемым помощником для описания устройства в ответах. Имена будут усечены, если их длина превышает ограничение в 60 кодовых точек (символов) Unicode, и ошибки не возникнут. Разработчики несут ответственность за обработку длинных имён.  | 
 nicknames | Множество | Дополнительные имена, предоставленные пользователем для устройства.  | 
 [ item, ... ] | Нить | Псевдоним устройства.  | 
 willReportState | Булев | Необходимый. Указывает, будут ли состояния этого устройства обновляться с помощью ленты реального времени. (значение true используется для использования ленты реального времени для сообщения о состоянии, а значение false — для использования модели опроса.)  | 
 notificationSupportedByAgent | Булев |  (По умолчанию:  Указывает, включены ли уведомления для устройства.  | 
 roomHint | Нить | Указывает текущее местоположение устройства в доме пользователя для упрощения настройки.  | 
 deviceInfo | Объект | Содержит поля, описывающие устройство, для использования в одноразовой логике при необходимости (например, «неисправная версия прошивки X светильника Y требует корректировки цвета» или «уязвимость системы безопасности требует уведомления всех пользователей прошивки Z»).  | 
 manufacturer | Нить | Особенно полезно, когда разработчик выступает в роли хаба для других устройств. Google может предоставить здесь стандартный список производителей, чтобы, например, TP-Link и Smartthings описывали «osram» одинаково.  | 
 model | Нить | Идентификатор модели или артикула конкретного устройства.  | 
 hwVersion | Нить | Конкретный номер версии, прикрепленный к оборудованию, если он доступен.  | 
 swVersion | Нить | Конкретный номер версии программного обеспечения/прошивки, если таковой имеется.  | 
 attributes | Объект | Соответствует атрибутам каждого признака, описанным в каждой справочной схеме признаков.  | 
 customData | Объект | Объект, определённый разработчиком, который будет прикреплён к будущим запросам QUERY и EXECUTE, размером не более 512 байт на устройство. Используйте этот объект для хранения дополнительной информации об устройстве, которая может потребоваться вашему облачному сервису, например, глобального региона устройства. Данные в этом объекте имеют ряд ограничений: не содержат конфиденциальной информации, включая, помимо прочего, персональные данные.  | 
 otherDeviceIds | Множество | Список альтернативных идентификаторов, используемых для идентификации синхронизированного с облаком устройства для локального выполнения.  | 
 [ item, ... ] | Объект | Альтернативный идентификатор устройства.  | 
 agentId | Нить | Идентификатор агента. Обычно это идентификатор проекта в консоли действий.  | 
 deviceId | Нить | Необходимый. Идентификатор устройства, определяемый агентом. Идентификатор устройства должен быть уникальным.  | 
Примеры
Ответ на намерение 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" } } ] } }