action.devices.SYNC
ويطلب هذا الغرض قائمة الأجهزة المرتبطة بالمستخدم المحدّد وإمكاناته.
يتم تشغيله أثناء ربط الحساب أو عندما يُجري المستخدم إعادة مزامنة أجهزتهم يدويًا. يجب أن تردّ عملية معالجة الطلب بما يلي: السمات والسمات المتاحة لكل جهاز.
من المفترض أن تعرض استجابة SYNC
جميع الأجهزة المرتبطة بالمستخدم.
لا يحدد هذا ما إذا كان يمكن الوصول إلى أي جهاز معين أم لا. يتم التعامل مع هذا بواسطة
QUERY
و
EXECUTE
ردود
لمزيدٍ من التفاصيل، يُرجى الاطّلاع على مقالة التحديد والمزامنة.
تنسيق الطلب
الحقول | النوع | الوصف |
---|---|---|
requestId |
String |
يجب ملء هذا الحقل. رقم تعريف الطلب |
inputs |
مصفوفة |
يجب ملء هذا الحقل. قائمة بالمدخلات التي تتطابق مع طلب النية |
[item, ...] |
كائن |
النوع والحمولة المرتبطَين بطلب intent |
intent |
يجب ملء هذا الحقل. (القيمة الثابتة: نوع طلب القصد |
أمثلة
مزامنة الطلب حسب النية بالشراء
{ "requestId": "ff36a3cc-ec34-11e6-b1a0-64510650abcf", "inputs": [ { "intent": "action.devices.SYNC" } ] }
تنسيق الردّ
الحقول | النوع | الوصف |
---|---|---|
requestId |
String |
يجب ملء هذا الحقل. رقم تعريف الطلب المقابل. |
payload |
كائن |
يجب ملء هذا الحقل. حمولة استجابة الغرض |
agentUserId |
String |
يجب ملء هذا الحقل. يعكس رقم تعريف المستخدم الفريد (وغير القابل للتغيير) على منصة الوكيل لا تعتبر Google أنّ هذه السلسلة واضحة، لذا إذا كان هناك نموذج غير قابل للتغيير في مقابل نموذج قابل للتغيير، من جهة الوكيل، استخدِم النموذج غير القابل للتغيير (مثلاً، رقم حساب بدلاً من عنوان بريد إلكتروني). |
errorCode |
String |
بالنسبة إلى الأخطاء المنهجية على SYNC |
debugString |
String |
خطأ تفصيلي لن يتم عرضه للمستخدمين مطلقًا، ولكن قد يتم تسجيله أو استخدامه أثناء عملية التطوير. |
devices |
مصفوفة |
يجب ملء هذا الحقل. قائمة الأجهزة التي يملكها المستخدم لا يتم إرجاع أي أجهزة أو أكثر (لا يعني ذلك أنّ المستخدم ليس لديه أجهزة أو انقطع اتصالها بجميع الأجهزة). |
[item, ...] |
كائن |
البيانات الوصفية للجهاز |
id |
String |
يجب ملء هذا الحقل. رقم تعريف الجهاز في السحابة الإلكترونية للمطوّر. ويجب أن يكون ذلك فريدًا للمستخدم والمطوّر، كما في حالات المشاركة، يمكن أن نستخدمه لإزالة تكرار المشاهدات المتعددة للجهاز نفسه. يجب أن يكون الجهاز غير قابل للتغيير. وفي حال تغيير الاسم، سيتعامل "مساعد Google" مع التطبيق على أنّه جهاز جديد. |
type |
String |
يجب ملء هذا الحقل. تمثّل هذه السمة نوع الجهاز. |
traits |
مصفوفة |
يجب ملء هذا الحقل. قائمة السمات التي يمتلكها هذا الجهاز يحدّد هذا الإجراء الأوامر والسمات والحالات التي يتيحها الجهاز. |
[item, ...] |
String |
اسم السمة المتوافقة. |
name |
كائن |
يجب ملء هذا الحقل. أسماء هذا الجهاز |
defaultNames |
مصفوفة |
قائمة بالأسماء التي قدّمها المطوّر بدلاً من المستخدم، وغالبًا ما تتضمّن أسماء الشركات المصنّعة ورموز التخزين التعريفية وغيرها. |
[item, ...] |
String |
الاسم التلقائي للجهاز |
name |
String |
يجب ملء هذا الحقل. الاسم الأساسي للجهاز الذي يقدّمه المستخدم عادةً وهذا هو أيضًا الاسم الذي سيفضّل "مساعد Google" وصفه للجهاز في الردود. |
nicknames |
مصفوفة |
الأسماء الإضافية التي يُقدّمها المستخدم للجهاز. |
[item, ...] |
String |
لقب الجهاز. |
willReportState |
منطقي |
يجب ملء هذا الحقل. تشير هذه السمة إلى ما إذا كان سيتم تعديل حالات هذا الجهاز من خلال الخلاصة في الوقت الفعلي. (صحيح لاستخدام الخلاصة في الوقت الفعلي لحالة إعداد التقارير وخطأ لاستخدام نموذج الاستطلاع). |
notificationSupportedByAgent |
منطقي |
(القيمة التلقائية: يشير هذا الرمز إلى ما إذا كان سيتم تفعيل الإشعارات للجهاز. |
roomHint |
String |
يوفِّر هذا الوضع الغرفة الحالية للجهاز في منزل المستخدم لتبسيط عملية الإعداد. |
deviceInfo |
كائن |
يحتوي على حقول تصف الجهاز للاستخدام بمنطق لمرة واحدة إذا لزم الأمر (على سبيل المثال، "يتطلب إصدار البرامج الثابتة المعطلة X من الضوء Y تعديل اللون" أو "يتطلب عيب الأمان إعلام جميع مستخدمي البرامج الثابتة Z"). |
manufacturer |
String |
ويكون ذلك مفيدًا بشكل خاص عندما يكون المطوّر مركزًا للأجهزة الأخرى. ويمكن أن تقدم Google قائمة قياسية من الشركات المصنعة هنا، على سبيل المثال: يصف كل من TP-Link وSmartthings كلمة "أوسرام" بالطريقة نفسها. |
model |
String |
الطراز أو معرّف رمز التخزين التعريفي للجهاز المحدّد. |
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" } } ] } }