action.devices.EXECUTE
يرسل الغرض من ذلك طلبات لتنفيذها على الأجهزة المنزلية الذكية.
يجب أن يعالج طلبك كل أمر من الأوامر، ويرسله إلى الجهاز المناسب، ثم يعود
الحالة الجديدة في استجابة EXECUTE
.
يمكن أن يستهدف هدف EXECUTE
واحد أجهزة متعدّدة باستخدام أوامر متعددة.
على سبيل المثال، قد يؤدي الغرض المشغَّل إلى ضبط مستوى السطوع واللون على مجموعة من
أضواء متعددة أو يمكن ضبط ألوان متعددة لكل منها على لون مختلف.
لمزيد من التفاصيل، يُرجى الاطّلاع على طلب البحث والتنفيذ.
تنسيق الطلب
الحقول | النوع | الوصف |
---|---|---|
requestId |
String |
يجب ملء هذا الحقل. رقم تعريف الطلب |
inputs |
مصفوفة |
يجب ملء هذا الحقل. قائمة بالمدخلات التي تتطابق مع طلب النية |
[item, ...] |
كائن |
النوع والحمولة المرتبطَين بطلب intent |
intent |
يجب ملء هذا الحقل. (القيمة الثابتة: نوع طلب القصد |
|
payload |
كائن |
يجب ملء هذا الحقل. تنفيذ حمولة الطلب. |
commands |
مصفوفة |
يجب ملء هذا الحقل. قائمة بأزواج الأجهزة المستهدَفة والأوامر |
[item, ...] |
كائن |
مجموعة من الأوامر التي يتم تنفيذها على استهدافات الأجهزة المتصلة. |
devices |
مصفوفة |
يجب ملء هذا الحقل. قائمة الأجهزة المستهدفة. |
[item, ...] |
كائن |
الجهاز المستهدَف المطلوب تنفيذه. |
id |
String |
يجب ملء هذا الحقل. رقم تعريف الجهاز، وفقًا لرقم التعريف المقدَّم في SYNC. |
customData |
كائن |
في حال توفير كائن البيانات المخصَّصة المعتم في "مزامنة"، سيتم إرساله هنا. |
execution |
مصفوفة |
يجب ملء هذا الحقل. قائمة بالأوامر المطلوب تنفيذها على الأجهزة المستهدفة. |
[item, ...] |
كائن |
أمر الجهاز. |
command |
String |
يجب ملء هذا الحقل. الأمر المطلوب تنفيذه، وعادةً ما يكون مع معلمات مرتبطة. |
params |
كائن |
تتم محاذاته مع معلَمات كل أمر. |
أمثلة
تنفيذ الطلب حسب النية بالشراء
{ "requestId": "ff36a3cc-ec34-11e6-b1a0-64510650abcf", "inputs": [ { "intent": "action.devices.EXECUTE", "payload": { "commands": [ { "devices": [ { "id": "123", "customData": { "fooValue": 74, "barValue": true, "bazValue": "sheepdip" } }, { "id": "456", "customData": { "fooValue": 36, "barValue": false, "bazValue": "moarsheep" } } ], "execution": [ { "command": "action.devices.commands.OnOff", "params": { "on": true } } ] } ] } } ] }
تنسيق الردّ
الحقول | النوع | الوصف |
---|---|---|
requestId |
String |
يجب ملء هذا الحقل. رقم تعريف الطلب المقابل. |
payload |
كائن |
يجب ملء هذا الحقل. حمولة استجابة الغرض |
errorCode |
String |
رمز خطأ للمعاملة الكاملة لتعذُّر المصادقة وعدم توفّر نظام المطوِّر. بالنسبة إلى أخطاء الأجهزة الفردية، استخدِم رمز errorCode في كائن الجهاز. |
debugString |
String |
خطأ تفصيلي لن يتم عرضه للمستخدمين مطلقًا، ولكن قد يتم تسجيله أو استخدامه أثناء عملية التطوير. |
commands |
مصفوفة |
ويحتوي كل عنصر على جهاز واحد أو أكثر مع تفاصيل الاستجابة. ملاحظة ولا يمكن تجميع هذه البيانات بالطريقة نفسها المستخدَمة في الطلب. على سبيل المثال، قد يؤدي الطلب إلى إضاءة 7 أضواء، مع إضاءة 3 مصابيح وإخفاق 4 مصابيح، وبالتالي تكون هناك مجموعتان في الاستجابة. |
[item, ...] |
كائن |
نتيجة تنفيذ الجهاز |
ids |
مصفوفة |
يجب ملء هذا الحقل. قائمة بأرقام تعريف الأجهزة المتوافقة مع هذه الحالة. |
[item, ...] |
String |
رقم تعريف الجهاز |
status |
String |
يجب ملء هذا الحقل. نتيجة عملية التنفيذ. القيم المسموح بها:
|
states |
كائن |
تتماشى مع حالات كل سمة موصوفة في كل مرجع لمخطط السمات. هذه هي الحالات التي تلي التنفيذ، إذا كان ذلك متاحًا. |
online |
منطقي |
تشير هذه السمة إلى ما إذا كان الجهاز متصلاً بالإنترنت (أي يمكن الوصول إليه) أم لا. |
errorCode |
String |
توسيع حالة "خطأ" إذا لزم الأمر من رموز الخطأ المُعدَّة مسبقًا، والتي سيتم ربطها بالأخطاء المقدَّمة للمستخدمين |
أمثلة
تنفيذ الردّ حسب النية بالشراء
{ "requestId": "ff36a3cc-ec34-11e6-b1a0-64510650abcf", "payload": { "commands": [ { "ids": [ "123" ], "status": "SUCCESS", "states": { "on": true, "online": true } }, { "ids": [ "456" ], "status": "ERROR", "errorCode": "deviceTurnedOff" } ] } }