action.devices.सिंक करें
यह इंटेंट, दिए गए उपयोगकर्ता से जुड़े डिवाइस और उनकी क्षमताओं के लिए अनुरोध करता है.
यह खाता लिंक करने के दौरान या किसी उपयोगकर्ता के अपने डिवाइस को मैन्युअल रूप से दोबारा सिंक करने पर ट्रिगर होता है. ग्राहक को आइटम भेजने का तरीका, हर डिवाइस से जुड़े एट्रिब्यूट और विशेषताओं के हिसाब से होना चाहिए.
आपका SYNC
जवाब, उपयोगकर्ता के साथ जुड़े सभी डिवाइसों के लिए होना चाहिए.
इससे यह तय नहीं होता कि किसी खास डिवाइस तक पहुंचा जा सकता है या नहीं. इसे
QUERY
और
EXECUTE
जवाब मैनेज करते हैं.
ज़्यादा जानकारी के लिए, पहचानना और सिंक करना देखें.
अनुरोध का फ़ॉर्मैट
फ़ील्ड | टाइप | जानकारी |
---|---|---|
requestId |
String |
ज़रूरी है. अनुरोध का आईडी. |
inputs |
रेंज |
ज़रूरी है. इंटेंट के अनुरोध से मेल खाने वाले इनपुट की सूची. |
[item, ...] |
ऑब्जेक्ट |
इंटेंट अनुरोध से जुड़े टाइप और पेलोड |
intent |
ज़रूरी है. (स्थायी मान: इंटेंट अनुरोध प्रकार. |
उदाहरण
सिंक करने के इंटेंट का अनुरोध
{ "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 |
बूलियन |
(डिफ़ॉल्ट: यह बताता है कि डिवाइस के लिए सूचनाएं पाने की सुविधा चालू है या नहीं. |
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" } } ] } }