action.devices.EXECUTE

تُرسِل هذه intent أوامر لتنفيذها على الأجهزة المنزلية الذكية.

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

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

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

تنسيق الطلب

الحقول النوع الوصف
requestId سلسلة

إنّ هذه السمة مطلوبة.

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

inputs المصفوفة

إنّ هذه السمة مطلوبة.

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

[item, ...] الكائن

اكتب الحمولة والحمولة المرتبطة بطلب intent.

intent

إنّ هذه السمة مطلوبة.

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

نوع طلب intent.

payload الكائن

إنّ هذه السمة مطلوبة.

حمولة الطلب EXECUTE.

commands المصفوفة

إنّ هذه السمة مطلوبة.

قائمة بأزواج الأجهزة والأهداف المستهدفة

[item, ...] الكائن

مجموعة من الأوامر للتنفيذ على أهداف الأجهزة المرفقة.

devices المصفوفة

إنّ هذه السمة مطلوبة.

قائمة بالأجهزة المستهدفة.

[item, ...] الكائن

هدف الجهاز للتنفيذ.

id سلسلة

إنّ هذه السمة مطلوبة.

رقم تعريف الجهاز، وفقًا للمعرّف المُقدم في SYNC.

customData الكائن

في حال توفير كائن customData المُعتِم في "المزامنة"، يتم إرساله هنا.

execution المصفوفة

إنّ هذه السمة مطلوبة.

قائمة بالطلبات المطلوب تنفيذها على الأجهزة الهدف.

[item, ...] الكائن

أمر الجهاز.

command سلسلة

إنّ هذه السمة مطلوبة.

الأمر الذي يتم تنفيذه، وعادةً ما يكون مصاحبًا لمعلّمات.

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 سلسلة

إنّ هذه السمة مطلوبة.

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

payload الكائن

إنّ هذه السمة مطلوبة.

الحمولة في الاستجابة للنية بالشراء

errorCode سلسلة

رمز خطأ للعملية بأكملها لعمليات تعذُّر المصادقة وعدم توفّر نظام مطوّري البرامج. بالنسبة إلى الأخطاء الفردية في الأجهزة، يمكنك استخدام رمز الخطأ داخل كائن الجهاز.

debugString سلسلة

خطأ تفصيلي لن يتم عرضه للمستخدمين مطلقًا ولكن يمكن تسجيله أو استخدامه أثناء التطوير.

commands المصفوفة

يحتوي كل كائن على جهاز واحد أو أكثر مع تفاصيل الاستجابة. ملاحظة: قد لا يتم تجميع هذه العناصر بالطريقة نفسها التي تمّ بها تجميع الطلب. على سبيل المثال، قد يُشغّل الطلب 7 أضواء، وينتج عنها 3 مصابيح ناجحة ويفشل 4 مصابيح، وبالتالي يتم إرسال مجموعتَين إلى الاستجابة.

[item, ...] الكائن

نتيجة تنفيذ الجهاز.

ids المصفوفة

إنّ هذه السمة مطلوبة.

قائمة بأرقام تعريف الأجهزة المقابلة لهذه الحالة.

[item, ...] سلسلة

رقم تعريف الجهاز

status سلسلة

إنّ هذه السمة مطلوبة.

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

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

SUCCESS
تأكَّد من أنّ الأمر قد تم بنجاح.
PENDING
تمت إضافة الأمر إلى قائمة الانتظار، ولكن من المتوقع أن تنجح العملية.
OFFLINE
الجهاز المستهدف في حالة عدم الاتصال بالإنترنت أو لا يمكن الوصول إليه.
EXCEPTIONS
هناك مشكلة أو تنبيه مرتبط بأمر. يمكن تنفيذ الأمر بنجاح أو تعذّر تنفيذه. يتم عادةً ضبط نوع الحالة هذا عندما تريد إرسال معلومات إضافية عن جهاز متصل آخر.
ERROR
يتعذّر على الجهاز الهدف تنفيذ الأمر.
states الكائن

تتم المحاذاة مع حالات كل سمة على حدة والتي تم وصفها في كل مرجع لمخطّط كل سمة. هذه هي الولايات التي تتم فيها عملية التنفيذ إذا كانت متوفّرة.

online منطقي

تشير هذه الخاصية إلى ما إذا كان الجهاز متصلاً بالإنترنت (أي يمكن الوصول إليه) أم لا.

errorCode سلسلة

توسيع حالة الخطأ إذا لزم الأمر من رموز الخطأ المعدّة مسبقًا، والتي ستربط بالأخطاء التي يتم تقديمها للمستخدمين.

أمثلة

الرد على النية بالشراء

{
  "requestId": "ff36a3cc-ec34-11e6-b1a0-64510650abcf",
  "payload": {
    "commands": [
      {
        "ids": [
          "123"
        ],
        "status": "SUCCESS",
        "states": {
          "on": true,
          "online": true
        }
      },
      {
        "ids": [
          "456"
        ],
        "status": "ERROR",
        "errorCode": "deviceTurnedOff"
      }
    ]
  }
}