action.devices.SYNC
यह इंटेंट, दिए गए उपयोगकर्ता और उसकी क्षमताओं से जुड़े डिवाइसों की सूची का अनुरोध करता है.
यह खाता, खाता लिंक करने के दौरान या किसी उपयोगकर्ता को ट्रिगर करने के दौरान ट्रिगर होता है अपने डिवाइस को मैन्युअल तरीके से फिर से सिंक करता है. ग्राहक को आइटम भेजने के लिए, हर डिवाइस के लिए, इस्तेमाल किए जा सकने वाले एट्रिब्यूट और एट्रिब्यूट.
आपके 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 |
इस्तेमाल किए जा सकने वाले Trait का नाम. |
name |
ऑब्जेक्ट |
ज़रूरी है. इस डिवाइस के नाम. |
defaultNames |
कलेक्शन |
ऐसे नामों की सूची जो उपयोगकर्ता के बजाय डेवलपर ने उपलब्ध कराए हैं. आम तौर पर, मैन्युफ़ैक्चरर के नाम, SKU वगैरह. |
[item, ...] |
String |
डिवाइस का डिफ़ॉल्ट नाम. |
name |
String |
ज़रूरी है. डिवाइस का मुख्य नाम, जो आम तौर पर उपयोगकर्ता देता है. इस नाम को Assistant, जवाबों में डिवाइस के बारे में जानकारी देना चाहेगी. |
nicknames |
कलेक्शन |
डिवाइस के लिए उपयोगकर्ता की ओर से दिए गए अतिरिक्त नाम. |
[item, ...] |
String |
डिवाइस का दूसरा नाम. |
willReportState |
बूलियन |
ज़रूरी है. इससे पता चलता है कि रीयल टाइम फ़ीड के ज़रिए, इस डिवाइस की स्थितियों को अपडेट किया जाएगा या नहीं. (रिपोर्टिंग स्थिति के लिए रीयल टाइम फ़ीड का इस्तेमाल करने के लिए सही और पोलिंग मॉडल का इस्तेमाल करने के लिए गलत.) |
notificationSupportedByAgent |
बूलियन |
(डिफ़ॉल्ट: यह बताता है कि डिवाइस के लिए सूचनाएं पाने की सुविधा चालू है या नहीं. |
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"
}
}
]
}
}