Управление синхронизацией ------------------------- API v2 включает расширенные возможности синхронизации между устройствами в режимах master-slave. Это позволяет создавать сети устройств, которые могут обмениваться данными обучения для улучшения точности распознавания. Установка режима мастер ======================== Установить устройство в режим master sync. Master является одновременно slave + центром синхронизации, поэтому **upload** и **download** также могут быть определены. Они управляют синхронизацией между slave-частью и центром синхронизации внутри мастер-устройства. IP-адрес мастер-устройства должен быть фиксированным. Другие slave будут обращаться к мастеру по IP. **upload** : делиться собственными результатами обучения с другими, может быть **true** или **false**. **download** : получать результаты обучения других устройств, может быть **true** или **false**. **URL интерфейса:** http://172.22.0.6/api/set_sync_master **Метод запроса:** POST **Content-Type:** json **Параметры тела запроса:** .. code:: { "upload": false, "download": false } +----------+-----------+---------+-----------+----------------------------------+ |Параметр |Пример |Тип |Обязательно|Описание | | |значения | |? | | +==========+===========+=========+===========+==================================+ |upload |false |Boolean |Да |Делиться собственными результатами| | | | | |обучения | +----------+-----------+---------+-----------+----------------------------------+ |download |false |Boolean |Да |Получать результаты обучения | | | | | |других | +----------+-----------+---------+-----------+----------------------------------+ **Пример успешного ответа:** .. code:: { "code": 0, "data": null } +----------+-----------+---------+-------------------------+ |Параметр |Пример |Тип |Описание | | |значения | | | +==========+===========+=========+=========================+ |code |0 |Number |Код результата: 0 - успех| +----------+-----------+---------+-------------------------+ |data |- |Null |- | +----------+-----------+---------+-------------------------+ Установка режима slave ======================== Установить устройство в режим slave sync и настроить master. Если конфигурация корректна, Master и все slave будут периодически синхронизироваться друг с другом. **upload** : делиться собственными результатами обучения с другими, может быть **true** или **false**. **download** : получать результаты обучения других устройств, может быть **true** или **false**. **masterIP**: IP-адрес мастер-устройства. **mastersyncPort**: порт синхронизации мастер-устройства, опционально, по умолчанию 7443. Мастер-устройство и все slave-устройства должны быть версии выше 9.0.6. До версии 9.0.6 для синхронизации использовались порты 7080 и 7443. Начиная с версии 9.0.6, синхронизация использует только порт синхронизации, который по умолчанию 7443. Необходимо настроить переадресацию портов. **URL интерфейса:** http://172.22.0.6/api/set_sync_slave **Метод запроса:** POST **Content-Type:** json **Параметры тела запроса:** .. code:: { "upload": false, "download": false, "masterIP": "192.168.1.32", "mastersyncPort": "7443" } +----------------+--------------+----------+-------------+------------------------------------+ | Параметр | Пример | Тип | Обязательно | Описание | | | значения | | ? | | +================+==============+==========+=============+====================================+ | upload | false | Boolean | Да | Делиться собственными результатами | | | | | | обучения | +----------------+--------------+----------+-------------+------------------------------------+ | download | false | Boolean | Да | Получать результаты обучения | | | | | | других | +----------------+--------------+----------+-------------+------------------------------------+ | masterIP | 192.168.1.32 | String | Да | IP мастер-устройства | +----------------+--------------+----------+-------------+------------------------------------+ | mastersyncPort | 7443 | Number | Нет | Порт прослушивания мастер- | | | | | | устройства для синхронизации | +----------------+--------------+----------+-------------+------------------------------------+ **Пример успешного ответа:** .. code:: { "code": 0, "data": null } +----------+-----------+---------+-------------------------+ |Параметр |Пример |Тип |Описание | | |значения | | | +==========+===========+=========+=========================+ |code |0 |Number |Код результата: 0 - успех| +----------+-----------+---------+-------------------------+ |data |- |Null |- | +----------+-----------+---------+-------------------------+ Ручная синхронизация ===================== Выполнить синхронизацию немедленно (автоматическая синхронизация выполняется каждые 10 минут). Сначала загружаются собственные данные, затем получаются данные других, что может потребовать несколько операций получения. См. **get_sync_status**. **URL интерфейса:** http://172.22.0.6/api/manual_sync **Метод запроса:** POST **Content-Type:** none **Пример успешного ответа:** .. code:: { "code": 0, "data": null } +----------+-----------+---------+-------------------------+ |Параметр |Пример |Тип |Описание | | |значения | | | +==========+===========+=========+=========================+ |code |0 |Number |Код результата: 0 - успех| +----------+-----------+---------+-------------------------+ |data |- |Null |- | +----------+-----------+---------+-------------------------+ Получение статуса синхронизации ================================== Запрос статуса синхронизации. Обычно используется с **manual_sync**. **URL интерфейса:** http://172.22.0.6/api/get_sync_status **Метод запроса:** GET **Content-Type:** none **Пример успешного ответа:** .. code:: { "code": 0, "data": { "count": 100, "message": "Free", "synctime": "2024-04-09 15:26:51" } } +----------+-------------------+---------+---------------------------+ |Параметр |Пример значения |Тип |Описание | | | | | | +==========+===================+=========+===========================+ |code |0 |Number |Код результата: 0 - успех | +----------+-------------------+---------+---------------------------+ |data.count|100 |Number |Количество товаров для | | | | |распознавания | +----------+-------------------+---------+---------------------------+ |data. |Free |String |Статус синхронизации | |message | | | | +----------+-------------------+---------+---------------------------+ |data. |2024-04-09 15:26:51|String |Время последней | |synctime | | |синхронизации | +----------+-------------------+---------+---------------------------+ Установка лимита синхронизации ================================ Установить количество измененных шаблонов для запуска загрузки синхронизации, от 1 до 5. Данные товара будут загружены только тогда, когда изменения шаблонов этого товара больше или равны лимиту. Эта функция уменьшает влияние ложных отзывов. **URL интерфейса:** http://172.22.0.6/api/set_sync_limit **Метод запроса:** POST **Content-Type:** json **Параметры тела запроса:** .. code:: { "limit": 3 } +----------+-----------+---------+-----------+----------------------------+ |Параметр |Пример |Тип |Обязательно|Описание | | |значения | |? | | +==========+===========+=========+===========+============================+ |limit |3 |Number |Да |Лимит для запуска загрузки | +----------+-----------+---------+-----------+----------------------------+ **Пример успешного ответа** .. code:: { "code": 0, "data": null } +----------+-----------+---------+-------------------------+ |Параметр |Пример |Тип |Описание | | |значения | | | +==========+===========+=========+=========================+ |code |0 |Number |Код результата: 0 - успех| +----------+-----------+---------+-------------------------+ |data |- |Null |- | +----------+-----------+---------+-------------------------+ Получение лимита синхронизации ================================ Получить количество измененных шаблонов для запуска загрузки синхронизации, от 1 до 5. **URL интерфейса:** http://172.22.0.6/api/get_sync_limit **Метод запроса:** POST **Content-Type:** none **Пример успешного ответа:** .. code:: { "code": 0, "data": { "limit": 3 } } +----------+-----------+---------+----------------------------------+ |Параметр |Пример |Тип |Описание | | |значения | | | +==========+===========+=========+==================================+ |code |0 |Number |Код результата: 0 - успех | +----------+-----------+---------+----------------------------------+ |data.limit|3 |Number |Количество измененных шаблонов | +----------+-----------+---------+----------------------------------+