موارد المطورين

أجهزتك. واجهة واحدة.

اربط تطبيقك بالأجهزة عبر IoT Devices. ابدأ بطلب قراءة، ثم أضف الصلاحيات التي يحتاجها عملك.

HTTPS · الواجهة v1

ابدأ بمنظومة أجهزتك.

اطلب مفتاح API لمنظومتك. يرتبط كل مفتاح بمساحة أجهزة واحدة وصلاحيات محددة. احتفظ به في خادم تطبيقك.

العنوان الأساسيhttps://iotdevices.org/api/iot/v1
مثال طلب
curl 'https://iotdevices.org/api/iot/v1/device/list?page_index=1&page_size=10' \
  -H 'Authorization: Bearer YOUR_API_KEY'

استخدم ترويسة Authorization: Bearer. القراءة تقبل GET أو JSON POST، والتغييرات تتطلب JSON POST. اترك ثانية بين طلبات المنظومة نفسها.

المعرّفات والأوامر في الأمثلة توضيحية. راجع إمكانات المنتج واستبدلها بقيم منظومتك.

طلب الوصول إلى الواجهة

صلاحيات المفتاح

read
قراءة الأجهزة والمنتجات والإعدادات والمهام.
manage
تحديث إعدادات الأجهزة وتنظيمها.
control
إرسال الأوامر وإدارة الإجراءات المجدولة.
firmware
طلب ترقيات البرامج الثابتة.

الأجهزة

GETعرض الأجهزة/device/list

الصلاحية المطلوبة: read

المعلمات
الاسممطلوبالوصف
qلاالبحث بمعرّف الجهاز أو اسمه؛ يُتجاهل عند تحديد tag.
productلاالتصفية بمعرّف واحد أو أكثر.
tagلاالتصفية بمعرّف واحد أو أكثر.
groupلاالتصفية بمعرّف واحد أو أكثر.
page_indexلارقم الصفحة، بدءًا من 1.
page_sizeلاعدد النتائج في الصفحة: 10 أو 20 أو 30 أو 50.
10 · 20 · 30 · 50
مثال طلب
curl 'https://iotdevices.org/api/iot/v1/device/list?page_index=1&page_size=10' \
  -H 'Authorization: Bearer YOUR_API_KEY'
GETتفاصيل الجهاز/device/info

الصلاحية المطلوبة: read

المعلمات
الاسممطلوبالوصف
deviceنعممعرّفات الأجهزة مفصولة بفواصل أو خطوط عمودية؛ بحد أقصى 100.
مثال طلب
curl 'https://iotdevices.org/api/iot/v1/device/info?device=1001' \
  -H 'Authorization: Bearer YOUR_API_KEY'
POSTتحديث وسوم الأجهزة/device/tag

الصلاحية المطلوبة: manage

أرسل add أو del أو كليهما؛ تُتجاهل عمليات الربط المكررة.

المعلمات
الاسممطلوبالوصف
deviceنعممعرّفات الأجهزة مفصولة بفواصل أو خطوط عمودية؛ بحد أقصى 100.
addلامعرّفات الوسوم المراد إضافتها.
delلامعرّفات الوسوم المراد إزالتها.
مثال طلب
curl -X POST 'https://iotdevices.org/api/iot/v1/device/tag' \
  -H 'Authorization: Bearer YOUR_API_KEY' \
  -H 'Content-Type: application/json' \
  --data '{"device":"1001","add":"10"}'
POSTنقل الأجهزة إلى مجموعة/device/group

الصلاحية المطلوبة: manage

المعلمات
الاسممطلوبالوصف
deviceنعممعرّفات الأجهزة مفصولة بفواصل أو خطوط عمودية؛ بحد أقصى 100.
groupنعممعرّف المجموعة المستهدفة؛ 0 يلغي التعيين.
مثال طلب
curl -X POST 'https://iotdevices.org/api/iot/v1/device/group' \
  -H 'Authorization: Bearer YOUR_API_KEY' \
  -H 'Content-Type: application/json' \
  --data '{"device":"1001","group":10}'
GETسجلات الجهاز/device/log

الصلاحية المطلوبة: read

المعلمات
الاسممطلوبالوصف
deviceنعممعرّف جهاز واحد.
dateلاتاريخ بصيغة YYYY-MM-DD؛ الافتراضي هو اليوم.
typeلاأنواع السجل مفصولة بفواصل: connect, disconnect, subscribe, unsubscribe, register, ota, control, event.
page_indexلارقم الصفحة، بدءًا من 1.
page_sizeلاعدد النتائج في الصفحة: 10 أو 20 أو 30 أو 50.
10 · 20 · 30 · 50
مثال طلب
curl 'https://iotdevices.org/api/iot/v1/device/log?device=1001&page_size=10' \
  -H 'Authorization: Bearer YOUR_API_KEY'

الأوامر

POSTإرسال أمر إلى الجهاز/device/order

الصلاحية المطلوبة: control

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

المعلمات
الاسممطلوبالوصف
deviceنعممعرّفات الأجهزة مفصولة بفواصل أو خطوط عمودية؛ بحد أقصى 100.
orderنعمكائن JSON يتضمن الأوامر التي يدعمها طراز الجهاز.
gatewayلامعرّفات البوابات عند الحاجة إلى التمرير؛ بحد أقصى 5.
مثال طلب
curl -X POST 'https://iotdevices.org/api/iot/v1/device/order' \
  -H 'Authorization: Bearer YOUR_API_KEY' \
  -H 'Content-Type: application/json' \
  --data '{"device":"1001","order":{"power":1}}'

الإعدادات

GETقراءة إعدادات الجهاز/config/info

الصلاحية المطلوبة: read

المعلمات
الاسممطلوبالوصف
deviceنعممعرّف جهاز واحد.
typeنعمقسم الإعدادات.
basic · device · network · mode
مثال طلب
curl 'https://iotdevices.org/api/iot/v1/config/info?device=1001&type=basic' \
  -H 'Authorization: Bearer YOUR_API_KEY'
POSTكتابة إعدادات الجهاز/config

الصلاحية المطلوبة: manage

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

المعلمات
الاسممطلوبالوصف
deviceنعممعرّفات الأجهزة مفصولة بفواصل أو خطوط عمودية؛ بحد أقصى 100.
configنعمخصائص الإعداد التي يدعمها الجهاز.
مثال طلب
curl -X POST 'https://iotdevices.org/api/iot/v1/config' \
  -H 'Authorization: Bearer YOUR_API_KEY' \
  -H 'Content-Type: application/json' \
  --data '{"device":"1001","config":{"relay1":"1"}}'

البرامج الثابتة

GETعرض البرامج الثابتة المتاحة/ota/firmware

الصلاحية المطلوبة: read

المعلمات
الاسممطلوبالوصف
deviceنعممعرّف جهاز واحد.
مثال طلب
curl 'https://iotdevices.org/api/iot/v1/ota/firmware?device=1001' \
  -H 'Authorization: Bearer YOUR_API_KEY'
POSTترقية البرنامج الثابت/ota

الصلاحية المطلوبة: firmware

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

المعلمات
الاسممطلوبالوصف
deviceنعممعرّفات الأجهزة مفصولة بفواصل أو خطوط عمودية؛ بحد أقصى 100.
firmwareلاللجهاز الواحد، أرسل name وsize من قائمة البرامج الثابتة. الأجهزة المتعددة تستخدم أحدث إصدار.
مثال طلب
curl -X POST 'https://iotdevices.org/api/iot/v1/ota' \
  -H 'Authorization: Bearer YOUR_API_KEY' \
  -H 'Content-Type: application/json' \
  --data '{"device":"1001","firmware":{"name":"VERSION_FROM_FIRMWARE_LIST","size":"300.68"}}'

المنتجات

GETالبحث عن المنتجات/product/list

الصلاحية المطلوبة: read

المعلمات
الاسممطلوبالوصف
qنعمالبحث بمعرّف المنتج أو اسمه أو طرازه.
page_indexلارقم الصفحة، بدءًا من 1.
page_sizeلاعدد النتائج في الصفحة: 10 أو 20 أو 30 أو 50.
10 · 20 · 30 · 50
مثال طلب
curl 'https://iotdevices.org/api/iot/v1/product/list?q=switch&page_size=10' \
  -H 'Authorization: Bearer YOUR_API_KEY'
GETإمكانات المنتج/product/detail

الصلاحية المطلوبة: read

المعلمات
الاسممطلوبالوصف
idنعممعرّف المنتج من قائمة المنتجات.
مثال طلب
curl 'https://iotdevices.org/api/iot/v1/product/detail?id=100' \
  -H 'Authorization: Bearer YOUR_API_KEY'
GETمنتجات منظومتك/product/list/stock

الصلاحية المطلوبة: read

لا تُطلب معلمات.

مثال طلب
curl 'https://iotdevices.org/api/iot/v1/product/list/stock' \
  -H 'Authorization: Bearer YOUR_API_KEY'

المجموعات

GETعرض المجموعات/group/list

الصلاحية المطلوبة: read

المعلمات
الاسممطلوبالوصف
formatلاقائمة مسطحة أو شجرة متداخلة.
list · tree
page_indexلارقم الصفحة، بدءًا من 1.
page_sizeلاعدد النتائج في الصفحة: 10 أو 20 أو 30 أو 50.
10 · 20 · 30 · 50
مثال طلب
curl 'https://iotdevices.org/api/iot/v1/group/list?format=tree' \
  -H 'Authorization: Bearer YOUR_API_KEY'
قيد التحققإنشاء مجموعة

معلمات هذه الواجهة قيد التحقق وهي غير مفعّلة. تواصل معنا إذا احتاجها مشروعك.

قيد التحققتحديث مجموعة

معلمات هذه الواجهة قيد التحقق وهي غير مفعّلة. تواصل معنا إذا احتاجها مشروعك.

POSTحذف المجموعات/group/delete

الصلاحية المطلوبة: manage

المعلمات
الاسممطلوبالوصف
groupنعممعرّفات المجموعات المراد حذفها؛ بحد أقصى 100. تبقى الأجهزة محفوظة.
مثال طلب
curl -X POST 'https://iotdevices.org/api/iot/v1/group/delete' \
  -H 'Authorization: Bearer YOUR_API_KEY' \
  -H 'Content-Type: application/json' \
  --data '{"group":"10"}'
POSTالتحكم في مجموعة/group/control

الصلاحية المطلوبة: control

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

المعلمات
الاسممطلوبالوصف
groupنعممعرّف مجموعة واحدة.
orderلاكائن JSON يتضمن الأوامر التي يدعمها طراز الجهاز.
actionلامعرّف إجراء موجود.
مثال طلب
curl -X POST 'https://iotdevices.org/api/iot/v1/group/control' \
  -H 'Authorization: Bearer YOUR_API_KEY' \
  -H 'Content-Type: application/json' \
  --data '{"group":"10","order":{"power":1}}'

الوسوم

قيد التحققعرض الوسوم

معلمات هذه الواجهة قيد التحقق وهي غير مفعّلة. تواصل معنا إذا احتاجها مشروعك.

POSTإنشاء وسم/tag/create

الصلاحية المطلوبة: manage

المعلمات
الاسممطلوبالوصف
titleنعمحتى 32 حرفًا صينيًا أو إنجليزيًا أو رقمًا أو شرطة سفلية.
remarkلاملاحظة اختيارية.
مثال طلب
curl -X POST 'https://iotdevices.org/api/iot/v1/tag/create' \
  -H 'Authorization: Bearer YOUR_API_KEY' \
  -H 'Content-Type: application/json' \
  --data '{"title":"room_100"}'
قيد التحققتحديث وسم

معلمات هذه الواجهة قيد التحقق وهي غير مفعّلة. تواصل معنا إذا احتاجها مشروعك.

قيد التحققحذف الوسوم

معلمات هذه الواجهة قيد التحقق وهي غير مفعّلة. تواصل معنا إذا احتاجها مشروعك.

قيد التحققالتحكم في الأجهزة الموسومة

معلمات هذه الواجهة قيد التحقق وهي غير مفعّلة. تواصل معنا إذا احتاجها مشروعك.

المهام

GETعرض المهام/task/list

الصلاحية المطلوبة: read

المعلمات
الاسممطلوبالوصف
deviceلاالتصفية بمعرّف جهاز واحد أو أكثر.
stageلاأنواع الجدولة مفصولة بفواصل أو خطوط عمودية.
page_indexلارقم الصفحة، بدءًا من 1.
page_sizeلاعدد النتائج في الصفحة: 10 أو 20 أو 30 أو 50.
10 · 20 · 30 · 50
مثال طلب
curl 'https://iotdevices.org/api/iot/v1/task/list?page_size=10' \
  -H 'Authorization: Bearer YOUR_API_KEY'
POSTإنشاء مهمة/task/create

الصلاحية المطلوبة: control

أرسل commands أو action مع حقول الجدولة المختارة. تُنشئ الأمثلة مهام متوقفة مؤقتًا.

حقول الجدولة: datetime → datetime؛ minute → second؛ hour → minute + second؛ day → time؛ week → week + time؛ month → day + time؛ loop → interval. تحقّق من المنطقة الزمنية قبل الجدولة.

المعلمات
الاسممطلوبالوصف
devicesنعممعرّفات الأجهزة؛ استخدم d_ وg_ وt_ عند الجمع بين الأجهزة والمجموعات والوسوم.
typeنعمنوع الجدولة.
datetime · minute · hour · day · week · month · loop
timesلاعدد مرات التنفيذ؛ 0 يعني عدم تحديد عدد.
datetimeلاتاريخ ووقت التنفيذ، أو طابع Unix الزمني.
secondلاالثانية ضمن الدقيقة، من 0 إلى 59.
minuteلاالدقيقة ضمن الساعة، من 0 إلى 59.
timeلاوقت اليوم بصيغة HH:mm:ss.
weekلاأيام الأسبوع كأرقام مفصولة بفواصل، من 1 إلى 7.
dayلايوم الشهر، من 1 إلى 31.
intervalلاالفاصل بالثواني؛ 3 على الأقل.
commandsلاكائن JSON يتضمن الأوامر المراد جدولتها.
actionلامعرّف إجراء موجود.
enableلا1 يفعّل المهمة؛ 0 يبقيها متوقفة مؤقتًا.
0 · 1
مثال طلب
curl -X POST 'https://iotdevices.org/api/iot/v1/task/create' \
  -H 'Authorization: Bearer YOUR_API_KEY' \
  -H 'Content-Type: application/json' \
  --data '{"devices":"1001","type":"loop","interval":60,"commands":{"power":1},"enable":0}'
GETتفاصيل المهمة/task/detail

الصلاحية المطلوبة: read

المعلمات
الاسممطلوبالوصف
taskنعممعرّف مهمة واحدة أو أكثر.
مثال طلب
curl 'https://iotdevices.org/api/iot/v1/task/detail?task=10' \
  -H 'Authorization: Bearer YOUR_API_KEY'
POSTتحديث مهمة/task/modify

الصلاحية المطلوبة: control

تتغير الحقول المُرسلة فقط. إرسال times يعيد ضبط عدّاد التنفيذ.

حقول الجدولة: datetime → datetime؛ minute → second؛ hour → minute + second؛ day → time؛ week → week + time؛ month → day + time؛ loop → interval. تحقّق من المنطقة الزمنية قبل الجدولة.

المعلمات
الاسممطلوبالوصف
taskنعممعرّف مهمة واحدة.
devicesلامعرّفات الأجهزة؛ استخدم d_ وg_ وt_ عند الجمع بين الأجهزة والمجموعات والوسوم.
typeلانوع الجدولة.
datetime · minute · hour · day · week · month · loop
timesلاعدد مرات التنفيذ؛ 0 يعني عدم تحديد عدد.
datetimeلاتاريخ ووقت التنفيذ، أو طابع Unix الزمني.
secondلاالثانية ضمن الدقيقة، من 0 إلى 59.
minuteلاالدقيقة ضمن الساعة، من 0 إلى 59.
timeلاوقت اليوم بصيغة HH:mm:ss.
weekلاأيام الأسبوع كأرقام مفصولة بفواصل، من 1 إلى 7.
dayلايوم الشهر، من 1 إلى 31.
intervalلاالفاصل بالثواني؛ 3 على الأقل.
commandsلاكائن JSON يتضمن الأوامر المراد جدولتها.
actionلامعرّف إجراء موجود.
enableلا1 يفعّل المهمة؛ 0 يبقيها متوقفة مؤقتًا.
0 · 1
مثال طلب
curl -X POST 'https://iotdevices.org/api/iot/v1/task/modify' \
  -H 'Authorization: Bearer YOUR_API_KEY' \
  -H 'Content-Type: application/json' \
  --data '{"task":"10","enable":0}'
POSTحذف المهام/task/delete

الصلاحية المطلوبة: control

المعلمات
الاسممطلوبالوصف
taskنعممعرّفات المهام المراد حذفها؛ بحد أقصى 100.
مثال طلب
curl -X POST 'https://iotdevices.org/api/iot/v1/task/delete' \
  -H 'Authorization: Bearer YOUR_API_KEY' \
  -H 'Content-Type: application/json' \
  --data '{"task":"10"}'
قيد التحققبدء المهام أو إيقافها مؤقتًا

معلمات هذه الواجهة قيد التحقق وهي غير مفعّلة. تواصل معنا إذا احتاجها مشروعك.

الاستجابات والأخطاء

تتضمن الاستجابة code وmsg وdata عند توفرها. قد تتضمن القوائم page_index وpage_count وis_more وtotal. يختلف شكل الكائن أو المصفوفة حسب الواجهة.

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

قد يكون طلب الكتابة مقبولًا رغم انتهاء المهلة. تحقّق من الجهاز أو المهمة قبل إعادته؛ لا تُعاد الكتابة تلقائيًا. هذا الإصدار لا يوفر إشعارات أحداث أو واجهة MQTT.

400 / 415
تحقّق من أسماء المعلمات والحقول المطلوبة ونوع محتوى JSON.
401 / 403
تحقّق من مفتاح API وصلاحياته.
429
انتظر ثانية على الأقل قبل إعادة طلب القراءة.
501
هذه الواجهة قيد التحقق من المواصفات.
502 / 504
خدمة الأجهزة غير متاحة أو نتيجة الطلب غير معروفة.
503
لا يزال التكامل يحتاج إلى إعداد الخادم.
تواصل عبر واتساب