action.devices.SYNC

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

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

आपके 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

इस्तेमाल किए जा सकने वाले Trait का नाम.

name ऑब्जेक्ट

ज़रूरी है.

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

defaultNames कलेक्शन

ऐसे नामों की सूची जो उपयोगकर्ता के बजाय डेवलपर ने उपलब्ध कराए हैं. आम तौर पर, मैन्युफ़ैक्चरर के नाम, SKU वगैरह.

[item, ...] String

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

name String

ज़रूरी है.

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

nicknames कलेक्शन

डिवाइस के लिए उपयोगकर्ता की ओर से दिए गए अतिरिक्त नाम.

[item, ...] String

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

willReportState बूलियन

ज़रूरी है.

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

notificationSupportedByAgent बूलियन

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

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

roomHint String

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

deviceInfo ऑब्जेक्ट

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

manufacturer String

यह खास तौर पर तब मददगार होता है, जब डेवलपर अन्य डिवाइसों का हब हो. Google, मैन्युफ़ैक्चरर की स्टैंडर्ड सूची यहां दे सकता है, ताकि उदाहरण के लिए, TP-Link और SmartThings, दोनों 'osram' के बारे में बताते हैं उसी तरह.

model String

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

hwVersion String

उपलब्ध होने पर, हार्डवेयर के साथ अटैच किया गया खास वर्शन नंबर.

swVersion String

उपलब्ध होने पर, सॉफ़्टवेयर/फ़र्मवेयर के साथ अटैच किया गया खास वर्शन नंबर.

attributes ऑब्जेक्ट

हर Trait स्कीमा रेफ़रंस में बताए गए, हर विशेषता के साथ अलाइन होता है.

customData ऑब्जेक्ट

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

otherDeviceIds कलेक्शन

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

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

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

agentId String

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

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