اطلاعات دستگاه
GET GetProductInfo
| آدرس وبسرویس |
GET /api/devices/{serialNumber}/info |
| هدف متد |
اطلاعات پایه دستگاه شامل شماره سریال، نام محصول و مدل دستگاه را بر اساس شماره سریال دریافت میکند. |
| سطح دسترسی |
برای دریافت اطلاعات دستگاه، ارسال نشانه دسترسی معتبر الزامی است. |
نمونه درخواست
GET /api/devices/SN-TEST-001/info
Authorization: Bearer eyJhbGciOi...
خروجی موفق
{
"isSuccess": true,
"message": "عملیات با موفقیت انجام شد",
"data": {
"serialNumber": "SN-TEST-001",
"productName": "Sample Product",
"productModel": "BHC-RF-123"
}
}
GET GetHasIot
| آدرس وبسرویس |
GET /api/devices/{serialNumber}/has-iot |
| هدف متد |
وضعیت پشتیبانی دستگاه از قابلیت اینترنت اشیا را بر اساس شماره سریال مشخص میکند. |
| سطح دسترسی |
برای دریافت وضعیت قابلیت اینترنت اشیا، ارسال نشانه دسترسی معتبر الزامی است. |
نمونه درخواست
GET /api/devices/SN-TEST-001/has-iot
Authorization: Bearer eyJhbGciOi...
خروجی موفق
{
"isSuccess": true,
"message": "عملیات با موفقیت انجام شد",
"data": {
"serialNumber": "SN-TEST-001",
"hasIot": true
}
}
GET GetConnectionStatus
| آدرس وبسرویس |
GET /api/devices/{serialNumber}/connection-status |
| هدف متد |
وضعیت فعلی اتصال دستگاه به سامانه را بر اساس شماره سریال دریافت میکند. |
| سطح دسترسی |
برای دریافت وضعیت اتصال دستگاه، ارسال نشانه دسترسی معتبر الزامی است. |
نمونه درخواست
GET /api/devices/SN-TEST-001/connection-status
Authorization: Bearer eyJhbGciOi...
خروجی موفق
{
"isSuccess": true,
"message": "عملیات با موفقیت انجام شد",
"data": {
"serialNumber": "SN-TEST-001",
"connectionStatus": "Online"
}
}
GET GetProductType
| آدرس وبسرویس |
GET /api/devices/{serialNumber}/product-type |
| هدف متد |
نوع محصول دستگاه را بر اساس شماره سریال مشخص میکند تا نوع دستگاه مورد استفاده در ادامه عملیات مشخص باشد. |
| سطح دسترسی |
برای دریافت نوع محصول، ارسال نشانه دسترسی معتبر الزامی است. |
مقدارهای نوع محصول
| مقدار |
توضیح |
Refrigerator |
این مقدار نشان میدهد دستگاه از نوع یخچال است. |
Freezer |
این مقدار نشان میدهد دستگاه از نوع فریزر است. |
Combi |
این مقدار نشان میدهد دستگاه از نوع یخچال فریزر ترکیبی است. |
نمونه درخواست
GET /api/devices/SN-TEST-001/product-type
Authorization: Bearer eyJhbGciOi...
خروجی موفق
{
"isSuccess": true,
"message": "عملیات با موفقیت انجام شد",
"data": {
"serialNumber": "SN-TEST-001",
"productType": "Refrigerator"
}
}
کمپرسور
GET GetCompressorSpeed
| آدرس وبسرویس |
GET /api/devices/{serialNumber}/Compressor/compressor/Fan |
| هدف متد |
سرعت فن کمپرسور دستگاه را بر اساس شماره سریال دریافت میکند. |
| سطح دسترسی |
برای دریافت سرعت فن کمپرسور، ارسال نشانه دسترسی معتبر الزامی است. |
نمونه درخواست
GET /api/devices/SN-TEST-001/Compressor/compressor/Fan
Authorization: Bearer eyJhbGciOi...
خروجی موفق
{
"isSuccess": true,
"message": "عملیات با موفقیت انجام شد",
"data": {
"serialNumber": "SN-TEST-001",
"compressorSpeed": 1400
}
}
GET GetCompressorStatus
| آدرس وبسرویس |
GET /api/devices/{serialNumber}/Compressor/compressor/status |
| هدف متد |
وضعیت فعلی روشن یا خاموش بودن کمپرسور دستگاه را بر اساس شماره سریال دریافت میکند. |
| سطح دسترسی |
برای دریافت وضعیت کمپرسور، ارسال نشانه دسترسی معتبر الزامی است. |
مقدارهای وضعیت قابلیت
| مقدار |
توضیح |
On |
این مقدار نشان میدهد کمپرسور در وضعیت روشن قرار دارد. |
Off |
این مقدار نشان میدهد کمپرسور در وضعیت خاموش قرار دارد. |
نمونه درخواست
GET /api/devices/SN-TEST-001/Compressor/compressor/status
Authorization: Bearer eyJhbGciOi...
خروجی موفق
{
"isSuccess": true,
"message": "عملیات با موفقیت انجام شد",
"data": {
"serialNumber": "SN-TEST-001",
"status": "On"
}
}
GET GetCompressorRpm
| آدرس وبسرویس |
GET /api/devices/{serialNumber}/Compressor/compressor-rpm |
| هدف متد |
مقدار دور کمپرسور دستگاه را بر اساس شماره سریال دریافت میکند. |
| سطح دسترسی |
برای دریافت مقدار دور کمپرسور، ارسال نشانه دسترسی معتبر الزامی است. |
نمونه درخواست
GET /api/devices/SN-TEST-001/Compressor/compressor-rpm
Authorization: Bearer eyJhbGciOi...
خروجی موفق
{
"isSuccess": true,
"message": "عملیات با موفقیت انجام شد",
"data": {
"serialNumber": "SN-TEST-001",
"compressorRpm": 1450
}
}
GET GetWeeklyCompressorRpm
| آدرس وبسرویس |
GET /api/devices/{serialNumber}/Compressor/compressor-rpm/weekly |
| هدف متد |
اطلاعات دور کمپرسور دستگاه را در بازه هفتگی دریافت میکند تا روند تغییرات دور کمپرسور مشخص شود. |
| سطح دسترسی |
برای دریافت اطلاعات هفتگی دور کمپرسور، ارسال نشانه دسترسی معتبر الزامی است. |
نمونه درخواست
GET /api/devices/SN-TEST-001/Compressor/compressor-rpm/weekly
Authorization: Bearer eyJhbGciOi...
خروجی موفق
[
{ "date": "2026/07/15 10:00", "rpm": 1380 },
{ "date": "2026/07/14 10:00", "rpm": 1420 }
]
تنظیمات
POST SetCombiMode
| آدرس وبسرویس |
POST /api/devices/settings/SetCombiMode |
| هدف متد |
حالت عملکرد دستگاه ترکیبی را بر اساس شماره سریال دستگاه تغییر میدهد. |
| سطح دسترسی |
برای تغییر حالت دستگاه، ارسال نشانه دسترسی معتبر الزامی است. |
مقدارهای حالت دستگاه
| مقدار |
توضیح |
RefrigeratorMin |
دستگاه را در حالت حداقل سرمایش بخش یخچال قرار میدهد. |
RefrigeratorMax |
دستگاه را در حالت حداکثر سرمایش بخش یخچال قرار میدهد. |
RefrigeratorOff |
بخش یخچال دستگاه را خاموش میکند. |
FreezerOff |
بخش فریزر دستگاه را خاموش میکند. |
Combi |
دستگاه را در حالت ترکیبی یخچال و فریزر قرار میدهد. |
نمونه درخواست
POST /api/devices/settings/SetCombiMode
Content-Type: application/json
{
"serialNumber": "SN-TEST-001",
"setCombiMode": "Combi"
}
خروجی موفق
{
"isSuccess": true,
"message": "عملیات با موفقیت انجام شد",
"data": {
"serialNumber": "SN-TEST-001",
"success": true
}
}
POST SetTemperature
| آدرس وبسرویس |
POST /api/devices/settings/set-Temperature |
| هدف متد |
دمای یخچال یا فریزر موردنظر دستگاه را بر اساس نوع دستگاه و مقدار دمای جدید تغییر میدهد. |
| سطح دسترسی |
برای تغییر دمای دستگاه، ارسال نشانه دسترسی معتبر الزامی است. |
مقدارهای نوع دستگاه
| مقدار |
توضیح |
کاربرد در این متد |
Refrigerator |
دستگاه فقط یخچال است. |
دمای بخش یخچال را تغییر میدهد. |
Freezer |
دستگاه فقط فریزر است. |
دمای بخش فریزر را تغییر میدهد. |
نکته:
برای دستگاه ترکیبی، مقدار Refrigerator یا
Freezer را بر اساس بخشی که قرار است دمای آن تغییر کند ارسال کنید.
بازههای دمایی
| نوع |
بازه مجاز |
توضیح |
Refrigerator |
1 تا 8 درجه سانتیگراد |
دمای تنظیمشده بخش یخچال باید در این بازه قرار داشته باشد. |
Freezer |
-28 تا -14 درجه سانتیگراد |
دمای تنظیمشده بخش فریزر باید در این بازه قرار داشته باشد. |
نمونه درخواست
POST /api/devices/settings/set-Temperature
Content-Type: application/json
{
"serialNumber": "SN-TEST-001",
"deviceType": "Refrigerator",
"currentTemperature": 4,
"NewTemperature": 3
}
خروجی موفق
{
"isSuccess": true,
"message": "عملیات با موفقیت انجام شد",
"data": {
"serialNumber": "SN-TEST-001",
"success": true
}
}
POST SetIceMakerTemperature
| آدرس وبسرویس |
POST /api/devices/settings/set-Icemaker-Temperature |
| هدف متد |
دمای تنظیمشده بخش مربوط به یخساز دستگاه را بر اساس شماره سریال و مقدار دمای جدید تغییر میدهد. |
| سطح دسترسی |
برای تغییر دمای یخساز، ارسال نشانه دسترسی معتبر الزامی است. |
نمونه درخواست
POST /api/devices/settings/set-Icemaker-Temperature
Content-Type: application/json
{
"serialNumber": "SN-TEST-001",
"currentTemperature": -10,
"newTemperature": -12
}
خروجی موفق
{
"isSuccess": true,
"message": "عملیات با موفقیت انجام شد",
"data": {
"serialNumber": "SN-TEST-001",
"success": true
}
}
نکته:
این متد برای دستگاههای یخچال در کد فعلی پشتیبانی نمیشود و فقط برای مدلهای سازگار قابل استفاده است.
POST Switch
| آدرس وبسرویس |
POST /api/devices/settings/switches |
| هدف متد |
وضعیت یکی از کلیدهای قابل کنترل دستگاه را بر اساس شماره سریال تغییر میدهد. |
| سطح دسترسی |
برای تغییر وضعیت کلیدهای دستگاه، ارسال نشانه دسترسی معتبر الزامی است. |
مقدارهای مجاز نوع کلید
| مقدار نوع کلید |
توضیح |
EcoMode |
وضعیت فعال یا غیرفعال بودن حالت اقتصادی دستگاه را مشخص میکند. |
RefrigeratorSuperCool |
وضعیت فعال یا غیرفعال بودن سرمایش سریع بخش یخچال را مشخص میکند. |
FreezerSuperCool |
وضعیت فعال یا غیرفعال بودن سرمایش سریع بخش فریزر را مشخص میکند. |
IceMaker |
وضعیت فعال یا غیرفعال بودن یخساز را مشخص میکند. |
WaterDispenser |
وضعیت فعال یا غیرفعال بودن آبسردکن یا آبریز را مشخص میکند. |
نمونه درخواست
POST /api/devices/settings/switches
Content-Type: application/json
{
"serialNumber": "SN-TEST-001",
"switchType": "IceMaker",
"isEnabled": true
}
خروجی موفق
{
"isSuccess": true,
"message": "عملیات با موفقیت انجام شد",
"data": {
"serialNumber": "SN-TEST-001",
"success": true,
"message": "Command sent successfully."
}
}
POST SetFilterReset
| آدرس وبسرویس |
POST /api/devices/settings/filter-reset |
| هدف متد |
وضعیت بازنشانی فیلتر دستگاه را بر اساس شماره سریال تغییر میدهد. |
| سطح دسترسی |
برای بازنشانی فیلتر دستگاه، ارسال نشانه دسترسی معتبر الزامی است. |
مقدارهای بازنشانی فیلتر
| مقدار |
توضیح |
Off |
بازنشانی فیلتر غیرفعال است. |
On |
بازنشانی فیلتر فعال شده و عملیات بازنشانی انجام میشود. |
نمونه درخواست
POST /api/devices/settings/filter-reset
Content-Type: application/json
{
"serialNumber": "SN-TEST-001",
"status": "On"
}
خروجی موفق
{
"isSuccess": true,
"message": "عملیات با موفقیت انجام شد",
"data": {
"serialNumber": "SN-TEST-001",
"success": true
}
}
تحلیل درب
GET GetDoorStatus
| آدرس وبسرویس |
GET /api/devices/{serialNumber}/door-analysis/door-status |
| هدف متد |
وضعیت فعلی دربهای دستگاه را بر اساس شماره سریال دریافت میکند. |
| سطح دسترسی |
برای دریافت وضعیت دربها، ارسال نشانه دسترسی معتبر الزامی است. |
مقدارهای وضعیت درب
| مقدار |
توضیح |
Open |
این مقدار نشان میدهد درب در وضعیت باز قرار دارد. |
Closed |
این مقدار نشان میدهد درب در وضعیت بسته قرار دارد. |
نمونه درخواست
GET /api/devices/SN-TEST-001/door-analysis/door-status
Authorization: Bearer eyJhbGciOi...
خروجی موفق
{
"isSuccess": true,
"message": "عملیات با موفقیت انجام شد",
"data": {
"serialNumber": "SN-TEST-001",
"refrigeratorDoor": "Closed",
"freezerDoor": "Open",
"homeBarDoor": "Closed"
}
}
GET GetDoorHistory
| آدرس وبسرویس |
GET /api/devices/{serialNumber}/door-analysis/door-historyweekly |
| هدف متد |
دریافت تاریخچه وضعیت درب دستگاه در بازه هفتگی، شامل تعداد دفعات باز شدن و مدت زمان باز بودن دربها. |
| سطح دسترسی |
برای دریافت تاریخچه وضعیت درب، ارسال نشانه دسترسی معتبر الزامی است. |
نمونه درخواست
GET /api/devices/SN-TEST-001/door-analysis/door-historyweekly
Authorization: Bearer eyJhbGciOi...
خروجی موفق
{
"isSuccess": true,
"message": "عملیات با موفقیت انجام شد",
"data": {
"name": "Door Status",
"data": [
{ "x": "2026-07-15T00:00:00Z", "y": 0 },
{ "x": "2026-07-15T10:15:00Z", "y": 1 }
]
}
}
GET GetDoorOpenCounter
| آدرس وبسرویس |
GET /api/devices/{serialNumber}/door-analysis/door-open-counter |
| هدف متد |
تعداد دفعات باز شدن دربهای دستگاه را در یک ماه اخیر بر اساس شماره سریال دریافت میکند. |
| سطح دسترسی |
برای دریافت تعداد دفعات باز شدن دربها، ارسال نشانه دسترسی معتبر الزامی است. |
نمونه درخواست
GET /api/devices/SN-TEST-001/door-analysis/door-open-counter
Authorization: Bearer eyJhbGciOi...
خروجی موفق
{
"isSuccess": true,
"message": "عملیات با موفقیت انجام شد",
"data": {
"serialNumber": "SN-TEST-001",
"refrigeratorDoorOpenCount": 12,
"freezerDoorOpenCount": 8,
"fromDate": "2026-06-15T00:00:00Z",
"toDate": "2026-07-15T00:00:00Z"
}
}
GET GetDoorOpenDuration
| آدرس وبسرویس |
GET /api/devices/{serialNumber}/door-analysis/door-open-duration |
| هدف متد |
مجموع مدت زمان باز بودن دربهای دستگاه را در یک ماه اخیر بر اساس شماره سریال دریافت میکند. |
| سطح دسترسی |
برای دریافت مدت زمان باز بودن دربها، ارسال نشانه دسترسی معتبر الزامی است. |
نمونه درخواست
GET /api/devices/SN-TEST-001/door-analysis/door-open-duration
Authorization: Bearer eyJhbGciOi...
خروجی موفق
{
"isSuccess": true,
"message": "عملیات با موفقیت انجام شد",
"data": {
"serialNumber": "SN-TEST-001",
"refrigeratorDoorOpenDuration": "01:42:00",
"freezerDoorOpenDuration": "00:54:00",
"fromDate": "2026-06-15T00:00:00Z",
"toDate": "2026-07-15T00:00:00Z"
}
}
گزارشهای روزانه، هفتگی و ماهانه دستگاه
این بخش امکان دریافت اطلاعات و آمار عملکرد دستگاه را در بازههای روزانه، هفتگی و ماهانه فراهم میکند.
GET GetDailyReports
| نام متد |
GetDailyReports |
| آدرس وبسرویس |
GET /api/devices/{serialNumber}/reports?period=Daily|Weekly|Monthly |
| نوع درخواست |
GET |
| هدف متد |
این متد خلاصهای از وضعیت درب، ولتاژ ورودی و تغییر حالت دستگاه را در بازه زمانی انتخابشده ارائه میکند. |
| سطح دسترسی |
نیازمند نشانه |
نمونه درخواست
GET /api/devices/SN-TEST-001/reports?period=Monthly
Authorization: Bearer eyJhbGciOi...
خروجی موفق 200
{
"serialNumber": "SN-TEST-001",
"doorCurrentStatus": {
"serialNumber": "SN-TEST-001",
"refrigerator": {
"isOpen": false,
"eventDate": 14050513231245,
"eventDateText": "1405/05/13 23:12:45"
},
"freezer": {
"isOpen": false,
"eventDate": 14050513231245,
"eventDateText": "1405/05/13 23:12:45"
}
},
"door": {
"serialNumber": "SN-TEST-001",
"range": {
"fromDate": "1405/05/01",
"toDate": "1405/05/19",
"period": "Monthly"
},
"refrigerator": {
"doorOpenCount": 19,
"doorOpenDurationSec": 291,
"doorLongOpenCount": 0
},
"freezer": {
"doorOpenCount": 0,
"doorOpenDurationSec": 0,
"doorLongOpenCount": 0
},
"days": []
},
"inputVoltage": {
"serialNumber": "SN-TEST-001",
"range": {
"fromDate": "1405/05/01",
"toDate": "1405/05/19",
"period": "Monthly"
},
"standardMinVoltage": 198,
"standardMaxVoltage": 242,
"voltageChart": [],
"voltageOutOfRangeCount": 0,
"days": []
},
"deviceMode": {
"serialNumber": "SN-TEST-001",
"range": {
"fromDate": "1405/05/01",
"toDate": "1405/05/19",
"period": "Monthly"
},
"totalModeChangeCount": 0,
"modes": [],
"transitions": [],
"days": []
}
}
کدهای پاسخ
| کد |
توضیح |
| 200 |
درخواست با موفقیت پردازش شده و گزارش مربوطه بازگردانده شده است. |
| 400 |
پارامترهای گزارش یا بازه زمانی ارسالشده معتبر نیست. |
| 404 |
دستگاهی با سریال ارسالشده پیدا نشد. |
GET GetDoorAggregateReport
| نام متد |
GetDoorAggregateReport |
| آدرس وبسرویس |
GET /api/devices/{serialNumber}/reports/door?period=Daily|Weekly|Monthly&fromDate=1405/05/01&toDate=1405/05/18 |
| نوع درخواست |
GET |
| هدف متد |
این متد آمار مربوط به باز و بسته شدن دربهای یخچال و فریزر را در بازه زمانی مشخصشده ارائه میکند. |
| سطح دسترسی |
نیازمند نشانه |
نمونه درخواست
GET /api/devices/SN-TEST-001/reports/door?period=Monthly
Authorization: Bearer eyJhbGciOi...
خروجی موفق 200
{
"serialNumber": "SN-TEST-001",
"range": {
"fromDate": "1405/05/01",
"toDate": "1405/05/18",
"period": "Monthly"
},
"refrigerator": {
"doorOpenCount": 19,
"doorOpenDurationSec": 291,
"doorLongOpenCount": 0
},
"freezer": {
"doorOpenCount": 0,
"doorOpenDurationSec": 0,
"doorLongOpenCount": 0
},
"days": [
{
"date": "1405/05/01",
"refrigerator": {
"doorOpenCount": 3,
"doorOpenDurationSec": 45,
"doorLongOpenCount": 0
},
"freezer": {
"doorOpenCount": 0,
"doorOpenDurationSec": 0,
"doorLongOpenCount": 0
}
}
]
}
نمونه درخواست بازه دلخواه
GET /api/devices/SN-TEST-001/reports/door?fromDate=1405/05/01&toDate=1405/05/18
Authorization: Bearer eyJhbGciOi...
توضیح فیلدها
| فیلد |
توضیح |
range |
بازه زمانی مورد استفاده برای محاسبه و ارائه گزارش. |
days |
آمار مربوط به وضعیت دربها به تفکیک روز در بازه گزارش. |
doorOpenCount |
تعداد دفعات باز شدن درب در بازه گزارش. |
doorOpenDurationSec |
مجموع مدت زمانی که درب باز بوده است، بر حسب ثانیه. |
doorLongOpenCount |
تعداد دفعاتی که درب بیش از ۱۸۰ ثانیه باز مانده است. |
fromDate / toDate |
تاریخ شروع و پایان بازه دلخواه گزارش؛ در صورت ارسال، هر دو تاریخ باید مشخص شوند. |
کدهای پاسخ
| کد |
توضیح |
| 200 |
درخواست با موفقیت پردازش شده و گزارش مربوطه بازگردانده شده است. |
| 400 |
بازه گزارش یا تاریخ ارسالشده معتبر نیست. |
| 404 |
دستگاهی با سریال ارسالشده پیدا نشد. |
GET GetInputVoltageReport
| نام متد |
GetInputVoltageReport |
| آدرس وبسرویس |
GET /api/devices/{serialNumber}/reports/input-voltage?period=Daily|Weekly|Monthly&fromDate=1405/05/01&toDate=1405/05/18 |
| نوع درخواست |
GET |
| هدف متد |
این متد اطلاعات و آمار ولتاژ ورودی دستگاه را در بازه زمانی مشخصشده ارائه میکند. |
| سطح دسترسی |
نیازمند نشانه |
نمونه درخواست
GET /api/devices/SN-TEST-001/reports/input-voltage?period=Weekly
Authorization: Bearer eyJhbGciOi...
خروجی موفق 200
{
"serialNumber": "SN-TEST-001",
"range": {
"fromDate": "1405/05/13",
"toDate": "1405/05/19",
"period": "Weekly"
},
"standardMinVoltage": 198,
"standardMaxVoltage": 242,
"voltageChart": [
{
"date": "1405/05/13",
"value": 220
}
],
"voltageOutOfRangeCount": 0,
"days": [
{
"date": "1405/05/13",
"averageVoltage": 220,
"voltageOutOfRangeCount": 0
}
]
}
نمونه درخواست بازه دلخواه
GET /api/devices/SN-TEST-001/reports/input-voltage?fromDate=1405/05/01&toDate=1405/05/18
Authorization: Bearer eyJhbGciOi...
توضیح فیلدها
| فیلد |
توضیح |
voltageChart |
مقادیر ولتاژ ثبتشده برای نمایش روند تغییرات ولتاژ در بازه انتخابشده. |
days |
آمار ولتاژ دستگاه به تفکیک روز در بازه گزارش. |
averageVoltage |
میانگین ولتاژ ثبتشده در طول هر روز. |
voltageOutOfRangeCount |
تعداد دفعاتی که ولتاژ کمتر از ۱۹۸ یا بیشتر از ۲۴۲ ولت ثبت شده است؛ مقادیر ۱۹۸ و ۲۴۲ ولت در محدوده استاندارد قرار دارند. |
fromDate / toDate |
تاریخ شروع و پایان بازه دلخواه گزارش؛ در صورت ارسال، هر دو تاریخ باید مشخص شوند. |
کدهای پاسخ
| کد |
توضیح |
| 200 |
درخواست با موفقیت پردازش شده و گزارش مربوطه بازگردانده شده است. |
| 400 |
بازه گزارش یا تاریخ ارسالشده معتبر نیست. مقدارهای مجاز برای بازه گزارش شامل Daily، Weekly و Monthly هستند. |
| 404 |
دستگاهی با سریال ارسالشده پیدا نشد. |
GET GetDeviceModeReport
| نام متد |
GetDeviceModeReport |
| آدرس وبسرویس |
GET /api/devices/{serialNumber}/reports/modes?period=Weekly|Monthly&fromDate=1405/05/01&toDate=1405/05/18 |
| نوع درخواست |
GET |
| هدف متد |
این متد اطلاعات مربوط به تغییر حالتهای عملکردی دستگاه و مدت حضور در هر حالت را در بازه زمانی مشخصشده ارائه میکند. |
| سطح دسترسی |
نیازمند نشانه |
نمونه درخواست
GET /api/devices/SN-TEST-001/reports/modes?period=Monthly
Authorization: Bearer eyJhbGciOi...
خروجی موفق 200
{
"serialNumber": "SN-TEST-001",
"range": {
"fromDate": "1405/05/01",
"toDate": "1405/05/19",
"period": "Monthly"
},
"totalModeChangeCount": 2,
"modes": [
{
"modeId": 694,
"modeName": "Eco",
"enterCount": 1,
"durationSec": 3600
}
],
"transitions": [
{
"fromModeId": 690,
"fromModeName": "Normal",
"toModeId": 694,
"toModeName": "Eco",
"count": 1
}
],
"days": [
{
"date": "1405/05/01",
"modeChangeCount": 1,
"modes": [
{
"modeId": 694,
"modeName": "Eco",
"enterCount": 1,
"durationSec": 3600
}
]
}
]
}
نمونه درخواست بازه دلخواه
GET /api/devices/SN-TEST-001/reports/modes?fromDate=1405/05/01&toDate=1405/05/18
Authorization: Bearer eyJhbGciOi...
توضیح فیلدها
| فیلد |
توضیح |
totalModeChangeCount |
تعداد کل تغییر حالتهای ثبتشده در بازه گزارش. |
modes |
خلاصه اطلاعات مربوط به حالتهای ثبتشده دستگاه در بازه گزارش. |
transitions |
اطلاعات مربوط به تغییر از یک حالت دستگاه به حالت دیگر. |
days |
آمار تغییر حالتهای دستگاه به تفکیک روز در بازه گزارش. |
enterCount |
تعداد دفعات ورود دستگاه به حالت موردنظر. |
durationSec |
مدت زمانی که دستگاه در حالت موردنظر قرار داشته است، بر حسب ثانیه. |
fromDate / toDate |
تاریخ شروع و پایان بازه دلخواه گزارش؛ در صورت ارسال، هر دو تاریخ باید مشخص شوند. |
کدهای پاسخ
| کد |
توضیح |
| 200 |
درخواست با موفقیت پردازش شده و گزارش مربوطه بازگردانده شده است. |
| 400 |
بازه گزارش یا تاریخ ارسالشده معتبر نیست؛ برای این گزارش فقط بازههای هفتگی و ماهانه قابل استفاده هستند. |
| 404 |
دستگاهی با سریال ارسالشده پیدا نشد. |