action.devices.SYNC
이 인텐트는 지정된 사용자와 연결된 기기 목록과 기기의 기능을 요청합니다.
계정 연결 중에 또는 사용자가 기기를 수동으로 다시 동기화할 때 트리거됩니다. 이행은 각 기기에 지원되는 특성과 속성으로 응답해야 합니다.
SYNC 응답은 사용자와 연결된 모든 기기를 반환해야 합니다.
특정 기기에 연결할 수 있는지 여부는 확인하지 않습니다. 이는 QUERY 및 EXECUTE 응답에 의해 처리됩니다.
자세한 내용은 식별 및 동기화를 참고하세요.
요청 형식
| 필드 | 유형 | 설명 | 
|---|---|---|
| requestId | String | 필수사항. 요청 ID입니다. | 
| inputs | 배열 | 필수사항. 인텐트 요청과 일치하는 입력 목록입니다. | 
| [item, ...] | 객체 | 인텐트 요청과 연결된 유형 및 페이로드입니다. | 
| intent | 필수사항. (상수 값:  인텐트 요청 유형입니다. | 
예
SYNC 인텐트 요청
{
  "requestId": "ff36a3cc-ec34-11e6-b1a0-64510650abcf",
  "inputs": [
    {
      "intent": "action.devices.SYNC"
    }
  ]
}대답 형식
| 필드 | 유형 | 설명 | 
|---|---|---|
| requestId | String | 필수사항. 해당 요청의 ID입니다. | 
| payload | 객체 | 필수사항. 인텐트 응답 페이로드입니다. | 
| agentUserId | String | 필수사항. 상담사 플랫폼의 고유한 (변경 불가능한) 사용자 ID를 반영합니다. 문자열은 Google에 불투명하므로 에이전트 측에 변경 불가능한 양식과 변경 가능한 양식이 있는 경우 변경 불가능한 양식 (예: 이메일이 아닌 계정 번호)을 사용하세요. | 
| errorCode | String | SYNC의 체계적인 오류 | 
| debugString | String | 사용자에게는 표시되지 않지만 개발 중에 로깅되거나 사용될 수 있는 자세한 오류입니다. | 
| devices | 배열 | 필수사항. 사용자가 소유한 기기 목록입니다. 0개 이상의 기기가 반환됩니다 (0개 기기는 사용자에게 기기가 없거나 모든 기기의 연결이 끊어졌음을 의미). | 
| [item, ...] | 객체 | 기기 메타데이터입니다. | 
| id | String | 필수사항. 개발자 클라우드에 있는 기기의 ID입니다. 공유의 경우 동일한 기기의 여러 뷰를 중복 삭제하는 데 사용할 수 있으므로 사용자 및 개발자에게 고유해야 합니다. 기기에서 변경할 수 없어야 합니다. 변경되면 어시스턴트에서 새 기기로 취급합니다. | 
| type | String | 필수사항. 기기의 하드웨어 유형입니다. | 
| traits | 배열 | 필수사항. 이 기기에 있는 특성 목록입니다. 이는 기기에서 지원하는 명령어, 속성, 상태를 정의합니다. | 
| [item, ...] | String | 지원되는 특성의 이름입니다. | 
| name | 객체 | 필수사항. 이 기기의 이름입니다. | 
| defaultNames | 배열 | 사용자가 아닌 개발자가 제공한 이름 목록입니다. 제조업체 이름, SKU 등이 여기에 해당합니다. | 
| [item, ...] | String | 기기 기본 이름입니다. | 
| name | String | 필수사항. 기기의 기본 이름으로, 일반적으로 사용자가 제공합니다. 또한 어시스턴트가 응답에서 기기를 설명할 때 선호하는 이름입니다. 이름이 유니코드 코드 포인트 (문자) 한도인 60을 초과하면 잘리며 오류가 발생하지 않습니다. 긴 이름은 개발자가 처리해야 합니다. | 
| nicknames | 배열 | 사용자가 기기에 제공한 추가 이름입니다. | 
| [item, ...] | String | 기기 닉네임입니다. | 
| willReportState | Boolean | 필수사항. 이 기기의 상태가 실시간 피드에 의해 업데이트되는지 여부를 나타냅니다. (상태 보고에 실시간 피드를 사용하려면 true, 폴링 모델을 사용하려면 false) | 
| notificationSupportedByAgent | Boolean | (기본값:  기기에 알림이 사용 설정되어 있는지 여부를 나타냅니다. | 
| roomHint | String | 설정을 간소화하기 위해 사용자 홈에 있는 기기의 현재 방을 제공합니다. | 
| deviceInfo | 객체 | 필요한 경우 일회성 논리에 사용되는 기기를 설명하는 필드가 포함됩니다 (예: '조명 Y의 깨진 펌웨어 버전 X에는 색상 조정이 필요함', '보안 결함으로 인해 펌웨어 Z의 모든 사용자에게 알림을 보내야 함'). | 
| manufacturer | String | 특히 개발자가 다른 기기의 허브인 경우에 유용합니다. Google은 TP-Link와 Smartthings가 모두 'osram'을 동일한 방식으로 설명할 수 있도록 여기에 표준 제조업체 목록을 제공할 수 있습니다. | 
| model | String | 특정 기기의 모델 또는 SKU 식별자입니다. | 
| hwVersion | String | 사용 가능한 경우 하드웨어에 연결된 특정 버전 번호입니다. | 
| swVersion | String | 소프트웨어/펌웨어에 연결된 특정 버전 번호(있는 경우)입니다. | 
| attributes | 객체 | 각 특성 스키마 참조에 설명된 특성별 속성과 일치합니다. | 
| customData | 객체 | 개발자가 정의한 객체로, 향후 QUERY 및 EXECUTE 요청에 연결되며 기기당 최대 512바이트입니다. 이 객체를 사용하여 클라우드 서비스에 필요할 수 있는 기기에 관한 추가 정보(예: 기기의 전역 지역)를 저장합니다. 이 객체의 데이터에는 몇 가지 제약이 있습니다. 개인 식별 정보를 비롯한 민감한 정보가 포함되지 않습니다. | 
| otherDeviceIds | 배열 | 로컬 실행을 위해 클라우드 동기화 기기를 식별하는 데 사용되는 대체 ID 목록입니다. | 
| [item, ...] | 객체 | 대체 기기 ID입니다. | 
| agentId | String | 상담사의 ID입니다. 일반적으로 Actions 콘솔의 프로젝트 ID입니다. | 
| deviceId | String | 필수사항. 에이전트가 정의한 기기 ID입니다. 기기 ID는 고유해야 합니다. | 
예
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" } } ] } }