Работа с API сервиса/1с

GET agent/device?{page}=1&{per_page}=20

Получает актуальный список устройств

{
  	"new_devices": NEW_DEVICES,
    "devices":[
     	...
      
    	{
            "id": DEVICE_ID,
            "is_new": DEVICE_IS_NEW,
            "serial": DEVICE_SERIAL,
            "mac"   : DEVICE_MAC,
            "host"  : DEVICE_HOST,
            "adapter_id" : DEVICE_ADAPTER,          
            "login": DEVICE_LOGIN, 
            "password": DEVICE_PASSWORD,
            "timezone": DEVICE_TIMEZONE,
            "sensors": [
                ...
                {
                    "sensor_id": SENSOR_ID,
                    "line_id": SENSOR_LINE_ID
                },
                ...
            ]  
     	},
              
       	...
	],
    "pagination":{
        "page": 1,
        "per_page": 20,
        "pages": 2,
        "total": 40
    }
}

При получении списка устройств агент проводит сверку полученного списка (блок devices) со своей локальной базой:

POST agent/device

регистрация нового устройства в сервисе

тело запроса - строка json:

{
    "id": DEVICE_ID,
    "is_new": DEVICE_IS_NEW,
    "serial": SERIAL,
    "mac": MAC,
    "adapter_id": ADAPTER_ID,
    "sensors": [
    	...
      	{
        	"sensor_id": SENSOR_ID,
          	"line_id": SENSOR_LINE_ID
        },
      	...
    ],
    "host": HOST,
    "login": LOGIN,
    "password": PASSWORD,
    "time_zone": TIMEZONE
}

POST agent/check

Запрос

отчет о состоянии агента, отчет о выполненных командах

Тело запроса - строка json:

{
  	'health': {
    	"last_report_at": 0.0,
    	"status": STATUS,
    	"activity": "working",
    	"up_time": UPTIME
	},
	'executed_commands': EXECUTED_COMMANDS
}

EXECUTED_COMMANDS:

{
    "command_id": COMMAND_ID
    "device_id": DEVICES
    "command": COMMAND
    "result": COMMAND_RESULT
}

COMMAND_RESULT:

{
	"error_flag": ERROR_FLAG,
  	"message": MESSAGE,
  	"payload": [
    	...
      	{
        	"error_flag": PAYLOAD_ERROR_FLAG,
          	"message": PAYLOAD_MESSAGE,
          	"payload": PAYLOAD_PAYLOAD,
          	"device_id": PAYLOAD_DEVICE_ID
        }
      
      	...
    ]
}
Ответ
{
	...
  	"payload": {
    	"commands": [
        	...
          	{
            	"command_id": COMMAND_ID,
              	"device_id": DEVICES,
              	"command": COMMAND,
              	"params": COMMAND_PARAMS
            }
          	...
        ]
    }
  	...
}

описание команд и их параметров

 

 


Revision #5
Created 25 January 2023 05:14:34 by Роман Каржавин
Updated 21 February 2024 08:50:30 by Роман Каржавин