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。共有の場合に、これを使用して同じデバイスの複数のビューを 1 つにまとめることがあるため、ユーザーとデベロッパーにとって一意である必要があります。デバイスで不変である必要があります。変更されると、アシスタントはそのデバイスを新しいデバイスとして扱います。 | 
| type | String | 必須。 デバイスのハードウェア タイプ。 | 
| traits | 配列 | 必須。 このデバイスが持つトレイトのリスト。デバイスがサポートするコマンド、属性、状態を定義します。 | 
| [item, ...] | String | サポートされている特性の名前。 | 
| name | オブジェクト | 必須。 デバイスの名前。 | 
| defaultNames | 配列 | ユーザーではなくデベロッパーによって提供された名前(メーカーの名前、SKU など)のリスト。 | 
| [item, ...] | String | デバイスのデフォルト名。 | 
| name | String | 必須。 デバイスのプライマリ名。通常はユーザーが提供します。アシスタントがレスポンスの中でデバイスを示す名前でもあります。名前が 60 Unicode コードポイント(文字)の上限を超えると、名前は切り捨てられますが、エラーは発生しません。長い名前の処理はデベロッパーの責任です。 | 
| nicknames | 配列 | ユーザーがデバイスに付けた追加の名前。 | 
| [item, ...] | String | デバイスのニックネーム。 | 
| willReportState | ブール値 | 必須。 このデバイスの状態がリアルタイム フィードによって更新されるかどうかを示します(状態の報告にリアルタイム フィードを使用する場合は true、ポーリング モデルを使用する場合は false です)。 | 
| notificationSupportedByAgent | ブール値 | (デフォルト:  デバイスで通知が有効になっているかどうかを示します。 | 
| roomHint | String | セットアップを簡素化するために、ユーザー宅内で現在デバイスがある部屋を示します。 | 
| deviceInfo | オブジェクト | 必要に応じて、1 回限りのロジックで使用する、デバイスを説明するフィードが含まれます(例: 「ライト Y のファームウェア バージョン X は不具合があるため、色を調整する必要がある」、「セキュリティ上の欠陥をファームウェア Z のすべてのユーザーに通知する必要がある」)。 | 
| manufacturer | String | 特にデベロッパーが他のデバイスのハブである場合に役立ちます。たとえば、TP-Link と Smartthings の両方が「osram」を同じように表すよう、Google がここでメーカーの標準リストを提供する場合があります。 | 
| model | String | 特定デバイスのモデルまたは SKU ID。 | 
| hwVersion | String | ハードウェアのバージョン番号(ある場合)。 | 
| swVersion | String | ソフトウェア / ファームウェアのバージョン番号(ある場合)。 | 
| attributes | オブジェクト | 各トレイト スキーマ リファレンスに記載されているトレイトごとの属性に合わせます。 | 
| customData | オブジェクト | 将来の QUERY リクエストと EXECUTE リクエストに添付されるデベロッパーによって定義されたオブジェクト。1 デバイスあたり最大 512 バイト。このオブジェクトを使用して、クラウド サービスで必要となる可能性のあるデバイスの追加情報(デバイスのグローバル リージョンなど)を保存します。このオブジェクトのデータにはいくつかの制約があります。個人情報などの機密情報は含められません。 | 
| otherDeviceIds | 配列 | ローカル実行用のクラウド同期デバイスを識別するために使用される代替 ID のリスト。 | 
| [item, ...] | オブジェクト | 代替デバイス ID。 | 
| agentId | String | エージェントの ID。通常は、Actions Console のプロジェクト 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" } } ] } }