action.devices.EXECUTE

يرسل الغرض من ذلك طلبات لتنفيذها على الأجهزة المنزلية الذكية.

يجب أن يعالج طلبك كل أمر من الأوامر، ويرسله إلى الجهاز المناسب، ثم يعود الحالة الجديدة في استجابة EXECUTE.

يمكن أن يستهدف هدف EXECUTE واحد أجهزة متعدّدة باستخدام أوامر متعددة. على سبيل المثال، قد يؤدي الغرض المشغَّل إلى ضبط مستوى السطوع واللون على مجموعة من أضواء متعددة أو يمكن ضبط ألوان متعددة لكل منها على لون مختلف.

لمزيد من التفاصيل، يُرجى الاطّلاع على طلب البحث والتنفيذ.

تنسيق الطلب

الحقول النوع الوصف
requestId String

يجب ملء هذا الحقل.

رقم تعريف الطلب

inputs مصفوفة

يجب ملء هذا الحقل.

قائمة بالمدخلات التي تتطابق مع طلب النية

[item, ...] كائن

النوع والحمولة المرتبطَين بطلب intent

intent

يجب ملء هذا الحقل.

(القيمة الثابتة: "action.devices.EXECUTE")

نوع طلب القصد

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

يجب ملء هذا الحقل.

نتيجة عملية التنفيذ.

القيم المسموح بها:

SUCCESS
تأكَّد من أنّ الأمر تم بنجاح.
PENDING
تمت إضافة الأمر إلى قائمة الانتظار ولكن من المتوقع أن ينجح هذا الأمر.
OFFLINE
الجهاز المستهدف في حالة عدم الاتصال بالإنترنت أو لا يمكن الوصول إليه.
EXCEPTIONS
هناك مشكلة أو تنبيه مرتبطان بطلب. قد ينجح الأمر أو يفشل. يتم ضبط نوع الحالة هذا عادةً عندما تريد إرسال معلومات إضافية حول جهاز متصل آخر.
ERROR
يتعذّر على الجهاز المستهدف تنفيذ الأمر.
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"
      }
    ]
  }
}