action.devices.SYNC
בקשת ה-Intent הזו מבקשת את רשימת המכשירים שמשויכים למשתמש הנתון ואת היכולות שלו.
היא מופעלת במהלך קישור החשבונות או כשמשתמש לסנכרן מחדש את המכשירים שלהם באופן ידני. אספקה צריכה לכלול את של תכונות שונות לכל מכשיר.
התשובה SYNC
שלך אמורה להחזיר את כל המכשירים שמשויכים למשתמש.
התכונה הזו לא קובעת אם אפשר לגשת למכשיר מסוים. בטיפול על ידי
QUERY
ו-
EXECUTE
תשובות.
מידע נוסף זמין בקטע זיהוי וסנכרון.
פורמט הבקשה
שדות | סוג | תיאור |
---|---|---|
requestId |
String |
חובה. מזהה הבקשה. |
inputs |
מערך |
חובה. רשימת מקורות קלט שתואמים לבקשת ה-Intent. |
[item, ...] |
מפגע |
הסוג והמטען הייעודי (Payload) שמשויכים לבקשת ה-Intent. |
intent |
חובה. (ערך קבוע: סוג הבקשה של אובייקט Intent. |
דוגמאות
בקשה לסנכרון Intent
{ "requestId": "ff36a3cc-ec34-11e6-b1a0-64510650abcf", "inputs": [ { "intent": "action.devices.SYNC" } ] }
פורמט התשובה
שדות | סוג | תיאור |
---|---|---|
requestId |
String |
חובה. המזהה של הבקשה התואמת. |
payload |
מפגע |
חובה. מטען ייעודי (payload) של תגובה של Intent. |
agentUserId |
String |
חובה. משקף את מזהה המשתמש הייחודי (שלא ניתן לשינוי) בפלטפורמה של הסוכן. המחרוזת אטומה מבחינת Google, ולכן אם יש טופס שלא ניתן לשינוי לעומת טופס שלא ניתן לשינוי בצד הסוכן, צריך להשתמש בטופס שלא ניתן לשינוי (למשל מספר חשבון ולא כתובת אימייל). |
errorCode |
String |
במקרה של שגיאות מערכתיות בסנכרון |
debugString |
String |
שגיאה מפורטת שאף פעם לא תוצג למשתמשים, אבל ייתכן שתירשם ביומן או תשתמש בה במהלך הפיתוח. |
devices |
מערך |
חובה. רשימת המכשירים שבבעלות המשתמש. מוחזרים אפס מכשירים או יותר (אפס מכשירים, כלומר למשתמש אין מכשירים, או שהם התנתקו). |
[item, ...] |
מפגע |
המטא-נתונים של המכשיר. |
id |
String |
חובה. מזהה המכשיר בענן של המפתח. הערך הזה חייב להיות ייחודי למשתמש ולמפתח, כי במקרים של שיתוף, יכול להיות שנשתמש בו כדי לבטל כפילויות של צפיות באותו מכשיר. הם צריכים להיות בלתי ניתנים לשינוי במכשיר. אם הוא ישתנה, Assistant תתייחס אליו כמכשיר חדש. |
type |
String |
חובה. סוג החומרה של המכשיר. |
traits |
מערך |
חובה. רשימת התכונות של המכשיר הזה. ההגדרה הזו מגדירה את הפקודות, המאפיינים והמצבים שבהם המכשיר תומך. |
[item, ...] |
String |
שם התכונה הנתמכת. |
name |
מפגע |
חובה. שמות המכשיר הזה. |
defaultNames |
מערך |
רשימת שמות שסופקה על ידי המפתח ולא על ידי המשתמש, לעיתים קרובות שמות היצרן, מק"טים וכו' |
[item, ...] |
String |
שם ברירת המחדל של המכשיר. |
name |
String |
חובה. השם הראשי של המכשיר, בדרך כלל מסופק על ידי המשתמש. זה גם השם ש-Assistant תבחר לתאר את המכשיר בתשובות. |
nicknames |
מערך |
שמות נוספים שהמשתמש סיפק למכשיר. |
[item, ...] |
String |
כינוי המכשיר. |
willReportState |
בוליאני |
חובה. מציין אם המצבים של המכשיר הזה יעודכנו באמצעות פיד בזמן אמת. (הערך True כדי להשתמש בפיד בזמן אמת לצורך דיווח על מצב הדיווח, ו-FALSE כדי להשתמש במודל הדגימה). |
notificationSupportedByAgent |
בוליאני |
(ברירת המחדל: מציינת אם ההתראות מופעלות במכשיר. |
roomHint |
String |
הגדרה זו מספקת את החדר הנוכחי של המכשיר בבית של המשתמש. |
deviceInfo |
מפגע |
מכילה שדות שמתארים את המכשיר לשימוש בלוגיקה חד-פעמית לפי הצורך (למשל, 'גרסת קושחה שבורה X של אור Y מחייבת התאמה של צבע' או 'תקלה באבטחה מחייבת הודעה לכל המשתמשים לגבי הקושחה Z'). |
manufacturer |
String |
התכונה הזו שימושית במיוחד כשהמפתח הוא מוקד למכשירים אחרים. Google עשויה לספק כאן רשימה סטנדרטית של יצרנים, לדוגמה: ב-TP-Link וב-Smartthings מתואר 'osram'. כמעט באותה הדרך. |
model |
String |
הדגם או מזהה המק"ט של המכשיר הספציפי. |
hwVersion |
String |
מספר הגרסה הספציפית שמצורף לחומרה, אם יש כזה. |
swVersion |
String |
מספר הגרסה הספציפי שמצורף לתוכנה/לקושחה, אם קיים. |
attributes |
מפגע |
תואם למאפיינים לפי תכונה שמתוארים בכל הפניה לסכימת תכונות. |
customData |
מפגע |
אובייקט שהוגדר על ידי המפתח ויצורף לבקשות QUERY ו-EXECUTE עתידיות, עד 512 בייטים לכל מכשיר. אפשר להשתמש באובייקט הזה כדי לאחסן מידע נוסף על המכשיר ששירות הענן שלך עשוי להזדקק לו, כמו האזור הגלובלי של המכשיר. הנתונים באובייקט הזה כוללים מספר אילוצים: אין מידע רגיש, כולל, בין היתר, פרטים אישיים מזהים (PII). |
otherDeviceIds |
מערך |
רשימת מזהים חלופיים שמשמשים לזיהוי של מכשיר מסונכרן בענן להפעלה מקומית. |
[item, ...] |
מפגע |
מזהה מכשיר חלופי. |
agentId |
String |
המזהה של הנציג. בדרך כלל, זהו מזהה הפרויקט במסוף Actions. |
deviceId |
String |
חובה. מזהה המכשיר שהוגדר על ידי הנציג. מזהה המכשיר חייב להיות ייחודי. |
דוגמאות
סנכרון Intent של תגובה
{ "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" } } ] } }