action.devices.सिंक करें

यह इंटेंट, दिए गए उपयोगकर्ता से जुड़े डिवाइस और उनकी क्षमताओं के लिए अनुरोध करता है.

यह खाता लिंक करने के दौरान या किसी उपयोगकर्ता के अपने डिवाइस को मैन्युअल रूप से दोबारा सिंक करने पर ट्रिगर होता है. ग्राहक को आइटम भेजने का तरीका, हर डिवाइस से जुड़े एट्रिब्यूट और विशेषताओं के हिसाब से होना चाहिए.

आपका SYNC जवाब, उपयोगकर्ता के साथ जुड़े सभी डिवाइसों के लिए होना चाहिए. इससे यह तय नहीं होता कि किसी खास डिवाइस तक पहुंचा जा सकता है या नहीं. इसे QUERY और EXECUTE जवाब मैनेज करते हैं.

ज़्यादा जानकारी के लिए, पहचानना और सिंक करना देखें.

अनुरोध का फ़ॉर्मैट

फ़ील्ड टाइप जानकारी
requestId String

ज़रूरी है.

अनुरोध का आईडी.

inputs रेंज

ज़रूरी है.

इंटेंट के अनुरोध से मेल खाने वाले इनपुट की सूची.

[item, ...] ऑब्जेक्ट

इंटेंट अनुरोध से जुड़े टाइप और पेलोड

intent

ज़रूरी है.

(स्थायी मान: "action.devices.SYNC")

इंटेंट अनुरोध प्रकार.

उदाहरण

सिंक करने के इंटेंट का अनुरोध

{
  "requestId": "ff36a3cc-ec34-11e6-b1a0-64510650abcf",
  "inputs": [
    {
      "intent": "action.devices.SYNC"
    }
  ]
}

रिस्पॉन्स फ़ॉर्मैट

फ़ील्ड टाइप जानकारी
requestId String

ज़रूरी है.

संबंधित अनुरोध का आईडी.

payload ऑब्जेक्ट

ज़रूरी है.

इंटेंट रिस्पॉन्स पेलोड.

agentUserId String

ज़रूरी है.

यह एजेंट के प्लैटफ़ॉर्म पर मौजूद यूनीक (और नहीं बदले जा सकने वाले) यूज़र आईडी को दिखाता है. स्ट्रिंग, Google के लिए अपारदर्शिता है, इसलिए अगर एजेंट साइड पर बदला न जा सकने वाला फ़ॉर्म बनाम बदला जा सकने वाला कोई फ़ॉर्म मौजूद है, तो नहीं बदले जा सकने वाले फ़ॉर्म (उदाहरण के लिए, ईमेल के बजाय खाता नंबर) का इस्तेमाल करें.

errorCode String

सिंक पर सिस्टम में होने वाली गड़बड़ियों के लिए

debugString String

ज़्यादा जानकारी वाली गड़बड़ी जो उपयोगकर्ताओं को कभी नहीं दिखाई जाएगी. हालांकि, इस दौरान डेवलपमेंट के दौरान लॉग या इस्तेमाल किया जा सकता है.

devices रेंज

ज़रूरी है.

उपयोगकर्ता के स्वामित्व वाले डिवाइस की सूची. शून्य या ज़्यादा डिवाइस लौटाए गए हैं (शून्य डिवाइस का मतलब है कि उपयोगकर्ता के पास कोई डिवाइस नहीं है या उन सभी को डिसकनेक्ट कर दिया गया है).

[item, ...] ऑब्जेक्ट

डिवाइस मेटाडेटा.

id String

ज़रूरी है.

डेवलपर के क्लाउड में डिवाइस का आईडी. यह ऐप्लिकेशन इस्तेमाल करने वाले व्यक्ति और डेवलपर के लिए अलग-अलग होना चाहिए. शेयर करने के मामलों में, हम एक ही डिवाइस के कई व्यू का पता लगाने के लिए इसका इस्तेमाल कर सकते हैं. डिवाइस में बदलाव नहीं हो सकता. अगर डिवाइस में बदलाव होता है, तो Assistant उसे नए डिवाइस के तौर पर मानेगी.

type String

ज़रूरी है.

डिवाइस का हार्डवेयर टाइप.

traits रेंज

ज़रूरी है.

इस डिवाइस में मौजूद विशेषताओं की सूची. यह निर्देश उन निर्देशों, विशेषताओं, और स्थितियों की जानकारी देता है जिन पर डिवाइस काम करता है.

[item, ...] String

स्वीकार किए जाने वाले एट्रिब्यूट का नाम.

name ऑब्जेक्ट

ज़रूरी है.

इस डिवाइस के नाम.

defaultNames रेंज

उपयोगकर्ता के बजाय डेवलपर के दिए गए नामों की सूची. यह सूची अक्सर निर्माता के नाम, SKU वगैरह होती है.

[item, ...] String

डिवाइस का डिफ़ॉल्ट नाम.

name String

ज़रूरी है.

डिवाइस का मुख्य नाम, आम तौर पर उपयोगकर्ता के ज़रिए दिया जाता है. जवाब में, Assistant इस डिवाइस के बारे में भी जानकारी देगी.

nicknames रेंज

डिवाइस के लिए उपयोगकर्ता ने अन्य नाम उपलब्ध कराए हैं.

[item, ...] String

डिवाइस का कोई दूसरा नाम.

willReportState बूलियन

ज़रूरी है.

इससे पता चलता है कि इस डिवाइस के स्टेटस, रीयल-टाइम फ़ीड में अपडेट होंगे या नहीं. (रिपोर्टिंग स्थिति के लिए रीयल-टाइम फ़ीड का इस्तेमाल करने के लिए सही, और पोलिंग मॉडल का इस्तेमाल करने के लिए गलत).

notificationSupportedByAgent बूलियन

(डिफ़ॉल्ट: false)

यह बताता है कि डिवाइस के लिए सूचनाएं पाने की सुविधा चालू है या नहीं.

roomHint String

सेट अप को आसान बनाने के लिए, उपयोगकर्ता के होम में डिवाइस के मौजूदा कमरे की जानकारी दिखाता है.

deviceInfo ऑब्जेक्ट

ज़रूरत पड़ने पर, एक बार के तर्क में इस्तेमाल करने के लिए डिवाइस के बारे में बताने वाले फ़ील्ड शामिल हैं. उदाहरण के लिए, 'फ़र्मवेयर के टूटे हुए वर्शन के X वर्शन के रंग में बदलाव करने की ज़रूरत है' या 'सुरक्षा से जुड़ी गड़बड़ी के लिए, फ़र्मवेयर Z के सभी उपयोगकर्ताओं को सूचना देना ज़रूरी है'.

manufacturer String

यह खास तौर पर तब काम आता है, जब डेवलपर ने दूसरे डिवाइसों के लिए हब तय किया हो. Google यहां निर्माताओं की एक मानक सूची दे सकता है, ताकि TP-Link और Smartthings, दोनों एक ही तरीके से 'osram' का ब्यौरा दे सकें.

model String

किसी खास डिवाइस का मॉडल या SKU आइडेंटिफ़ायर.

hwVersion String

उपलब्ध होने पर, हार्डवेयर से जुड़ी खास वर्शन संख्या.

swVersion String

सॉफ़्टवेयर/फ़र्मवेयर से जुड़े खास वर्शन नंबर, अगर उपलब्ध हैं.

attributes ऑब्जेक्ट

हर एट्रिब्यूट की स्कीमा से जुड़ी जानकारी के हिसाब से, हर एट्रिब्यूट के हिसाब से अलाइन किया गया है.

customData ऑब्जेक्ट

डेवलपर की ओर से तय किया गया ऑब्जेक्ट, जिसे आने वाले समय में QUERY और EXECUTE के अनुरोधों के साथ जोड़ा जाएगा. यह ज़्यादा से ज़्यादा 512 बाइट प्रति डिवाइस होगा. इस ऑब्जेक्ट का इस्तेमाल, उस डिवाइस के बारे में ज़्यादा जानकारी सेव करने के लिए करें जिसे आप क्लाउड सेवा के लिए इस्तेमाल करना चाहते हैं. जैसे, डिवाइस का ग्लोबल क्षेत्र. इस ऑब्जेक्ट के डेटा में कुछ सीमाएं हैं: कोई संवेदनशील जानकारी नहीं, जिसमें व्यक्तिगत पहचान से जुड़ी जानकारी शामिल है, लेकिन यह इन्हीं तक सीमित नहीं है.

otherDeviceIds रेंज

ऐसे वैकल्पिक आईडी की सूची जिनका इस्तेमाल क्लाउड सिंक वाले ऐसे डिवाइस की पहचान करने के लिए किया जाता है जिसे स्थानीय तौर पर एक्ज़ीक्यूशन होता है.

[item, ...] ऑब्जेक्ट

वैकल्पिक डिवाइस आईडी.

agentId String

एजेंट का आईडी. आम तौर पर, यह कार्रवाई कंसोल में मौजूद प्रोजेक्ट आईडी होता है.

deviceId String

ज़रूरी है.

एजेंट की ओर से तय डिवाइस आईडी. डिवाइस आईडी यूनीक होना चाहिए.

उदाहरण

सिंक इंटेंट का रिस्पॉन्स

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