webapi:uniserver_auto:api_journal [Документация на программное обеспечение для весовых систем]

Инструменты пользователя

Инструменты сайта


webapi:uniserver_auto:api_journal

Содержание

Описание WEB-API UniServer AUTO. Плагин универсального журнала Journal.

Описание методов WEB-API плагина универсального журнала Journal на примере плагина AutoScaleJournal1.

Оглавление

Команда к плагину Команда через сервер 1) Описание метода
Общие команды для работы с журналом
GetPropInfo Получение списка с описанием полей журнала
GetStats Получение статистики по журналу
GetRecordCount Получение числа записей за указанный период времени
LastFetched GetLastFetched Получение точки времени последней корректировки записи
BlobLastFetched GetBlobLastFetched Получение точки времени последней корректировки BLOB (фото или графика)
Команды для работы с записью
Retrieve GetRecord Получение записи из журнала по уникальному коду
GetBlobs Получение списка BLOB полей записи по её уникальному коду
BlobDATA GetBlob Получение BLOB (фото или графика) по уникальному коду записи и имени поля
BlobThumb Получение миниатюры фото для записи из журнала
Команды для работы с ссылками на записи
GetDocLink Получение связанной записи из журнала документов
GetLink Получение описания связанной ссылки по имени и коду записи
Команды получения списка записей по фильтру
GetRecords Получение последних 10 записей
GetRecords Получить 100 записей за указанный период времени
Описание алгоритма синхронизации

Общие команды для работы с журналом

Получение списка с описанием полей журнала

Формат запроса к WEB интерфейсу плагина

Наименование метода: GetPropInfo

Пример запроса к плагину AutoScaleJournal1:
http://uniserver.vesysoft.ru:8123/core/Plugins/AutoScaleJournal1/GetPropInfo?auth_user=user&auth_password=user

Формат ответа

Система формирует ответ на данный запрос в формате строки text/plain.

Пример ответа системы:

[
	{
		"Caption": "Время начала Взвешивания",
		"Name": "WeighingStart_DateTime",
		"FieldType": "sftDateTime",
		"Editable": 0
	},	
	{
		"Caption": "Тип взвешивания (описание)",
		"Name": "TypWeighingCaption",
		"FieldType": "sftUTF8Text",
		"FieldWidth": 200,
		"Editable": 0
	}
]

Перечень полей, содержащихся в ответе

Наименование поля Тип принимаемого значения Описание
Name Строка Наименование поля
Caption Строка Описание поля
FieldType Строка Тип значения в базе данных
FieldWidth Число Максимальная длинна значения
Editable Число Признак редактируемого поля

Получение статистики по журналу

Формат запроса к WEB интерфейсу плагина

Наименование метода: GetStats

Пример запроса к плагину AutoScaleJournal1:
http://uniserver.vesysoft.ru:8123/core/Plugins/AutoScaleJournal1/GetStats?auth_user=user&auth_password=user

Формат ответа

Система формирует ответ на данный запрос в формате строки JSON.

Пример ответа системы:

{
	"RecordsTotal": 947,
	"TotalSize": 1018707356,
	"DateTimeUpdate": "2020-12-28T21:49:50.067",
	"DateTimeBlobUpdate": "2020-12-28T21:49:50.115",
	"DateTimeLinksUpdate": "2020-12-21T12:43:46.489"
}

Перечень полей, содержащихся в ответе

Наименование поля Тип принимаемого значения Описание
RecordsTotal Число Количество записей в журнале
TotalSize Число Размер файла БД журнала в байтах
DateTimeUpdate Строка Время последнего обновления записей журнала (в формате ISO 8601)
DateTimeBlobUpdate Строка Время последнего обновления BLOB (фото/графиков) журнала (в формате ISO 8601)
DateTimeLinksUpdate Строка Время последнего обновления ссылок журнала (в формате ISO 8601)

Получение числа записей за указанный период времени


Формат запроса к опубликованным методам плагина

Наименование метода: AutoScaleJournal1_GetRecordCount Данный запрос содержит входной параметр Value - JSON с параметрами выводимой строки:

  • Filter - Структура JSON с параметрами фильтрации данных журнала:
    • DateTime_Create - Поле журнала, по которому производится фильтрация записей:
      • Range - период фильтрации записей.

(в формате JSON параметр Дата предается в кавычках)

Пример запроса к плагину AutoScaleJournal1:
http://uniserver.vesysoft.ru:8123/core/SendMsg?Name=AutoScaleJournal1_GetRecordCount&Value={Filter:{DateTime_Create:{Range:["2018-02-16 05:08:26.086","2018-02-17 00:00:00.000"]}}}&auth_user=user&auth_password=user

Формат ответа

Система формирует ответ на данный запрос в формате строки text/plain.

Пример ответа системы:

945

Получение точки времени последней корректировки


Формат запроса к WEB интерфейсу плагина

Наименование метода: LastFetched

Пример запроса к плагину AutoScaleJournal1:
http://uniserver.vesysoft.ru:8123/core/Plugins/AutoScaleJournal1/LastFetched?auth_user=user&auth_password=user

Формат ответа

Система формирует ответ на данный запрос в формате строки text/plain.

Пример ответа системы:

2020-12-21T12:43:46.483

Вариант 2. Через опубликованный метод GetLastFetched

Пример запроса к плагину AutoScaleJournal1:
http://uniserver.vesysoft.ru:8123/core/SendMsg?Name=AutoScaleJournal1_GetLastFetched&auth_user=user&auth_password=user

Получение точки времени последней корректировки BLOB (фото или графика)


Формат запроса к WEB интерфейсу плагина

Наименование метода: BlobLastFetched

Пример запроса к плагину AutoScaleJournal1:
http://uniserver.vesysoft.ru:8123/core/Plugins/AutoScaleJournal1/BlobLastFetched?auth_user=user&auth_password=user

Формат ответа

Система формирует ответ на данный запрос в формате строки text/plain.

Пример ответа системы:

2020-12-21T12:43:46.483

Вариант 2. Через опубликованный метод GetBlobLastFetched

Пример запроса к плагину AutoScaleJournal1:
http://uniserver.vesysoft.ru:8123/core/SendMsg?Name=AutoScaleJournal1_GetBlobLastFetched&auth_user=user&auth_password=user

Команды для работы с записями журнала

Получение записи из журнала по уникальному коду


Формат запроса к WEB интерфейсу плагина

Наименование метода: Retrieve

Пример запроса к плагину AutoScaleJournal1:
http://uniserver.vesysoft.ru:8123/core/Plugins/AutoScaleJournal1/Retrieve?CODE=5E9CB99B48DE48A39C32CECD3C927C6B&auth_user=user&auth_password=user

Формат ответа

Система формирует ответ на данный запрос в виде массива в формате JSON
Пример ответа системы:

{
	"CODE": "DABE3D3405454AF4A2E441D1BD23DFBF",
	"DATETIME_CREATE": "2020-12-21T12:43:26.248",
	"DATETIME_UPDATE": "2020-12-21T12:43:46.483",
	"DBID": "1EA852A9A2CD4CC1A45CF483A40390ED",
	"DELETED": false,
	"LOGONNAME": "Пользователь",
        "DOCUMENT_NUMBER": "0000025",
 
	...
	Уникальный набор полей для каждого журнала
	...
}

Список обязательных полей, содержащихся в каждом журнале

Наименование поля Тип принимаемого значения Описание
CODE Строка Уникальный идентификатор записи в базе данных журнала (упакованный GUID 32 байта)
DATETIME_CREATE Строка Время создания записи (в формате ISO 8601)
DATETIME_UPDATE Строка Время последнего обновления записи (в формате ISO 8601)
DBID Строка ID Базы данных журнала (упакованный GUID 32 байта)
DELETED Логическое (true/false)
(при запросе через опубликованные
методы возвращает число (0,1))
Флаг «Запись удалена»
LOGONNAME Строка Авторизованный пользователь

Вариант 2. Через опубликованный метод GetRecord

Пример запроса к плагину AutoScaleJournal1:
http://uniserver.vesysoft.ru:8123/core/SendMsg?Name=AutoScaleJournal1_GetRecord&Value={CODE:"5E9CB99B48DE48A39C32CECD3C927C6B"}&auth_user=user&auth_password=user

Получение списка BLOB для записи из журнала по уникальному коду


Формат запроса к опубликованным методам плагина

Наименование метода: AutoScaleJournal1_GetBlobs Данный запрос содержит входной параметр Value - JSON с параметрами выводимой строки:

  • Filter - Структура JSON с параметрами фильтрации данных журнала:
    • CODE - Уникальный идентификатор записи;
    • MaxRows - Максимальное количество записей в ответе.

Пример запроса к плагину AutoScaleJournal1:
http://uniserver.vesysoft.ru:8123/core/SendMsg?Name=AutoScaleJournal1_GetBlobs&Value={Filter:{CODE:"5E9CB99B48DE48A39C32CECD3C927C6B"},MaxRows:100}&auth_user=user&auth_password=user

Формат ответа Система формирует ответ на данный запрос в виде массива в формате JSON
Пример ответа системы:

[
	{
		"CODE": "DABE3D3405454AF4A2E441D1BD23DFBF",
		"CONTENTTYPE": "image/jpeg",
		"DATETIME_UPDATE": "2020-12-21T12:43:26.327",
		"DBID": "1EA852A9A2CD4CC1A45CF483A40390ED",
		"LOGONNAME": "",
		"NAME": "PHOTO1",
		"SIZE": 148732
	},
	{
		"CODE": "DABE3D3405454AF4A2E441D1BD23DFBF",
		"CONTENTTYPE": "application/json",
		"DATETIME_UPDATE": "2020-12-21T12:43:46.478",
		"DBID": "1EA852A9A2CD4CC1A45CF483A40390ED",
		"LOGONNAME": "",
		"NAME": "GRAPH",
		"SIZE": 118036
	}
]

Перечень полей, содержащихся в ответе

Наименование поля Тип принимаемого значения Описание
CODE Строка Уникальный идентификатор записи в базе данных журнала (упакованный GUID 32 байта)
CONTENTTYPE Строка Тип BLOB
DATETIME_UPDATE Строка Время последнего обновления записи (в формате ISO 8601)
DBID Строка ID Базы данных журнала (упакованный GUID 32 байта)
LOGONNAME Строка Авторизованный пользователь
NAME Строка Наименование файла
SIZE Число Размер BLOB в байтах

Получение BLOB (фото или графика) по уникальному коду записи и имени поля


Формат запроса к WEB интерфейсу плагина

Наименование метода: BlobDATA

Данный запрос содержит входной параметр Value - JSON с параметрами выводимой строки:

  • CODE - Уникальный идентификатор записи;
  • NAME - Наименование фото.

Пример запроса фото к плагину AutoScaleJournal1:
http://uniserver.vesysoft.ru:8123/core/Plugins/AutoScaleJournal1/BlobDATA?CODE=5E9CB99B48DE48A39C32CECD3C927C6B&NAME=PHOTO1&auth_user=user&auth_password=user

Формат ответа

Система формирует ответ на данный запрос в формате IMAGE - картинку.

Пример запроса графика к плагину AutoScaleJournal1:
http://uniserver.vesysoft.ru:8123/core/Plugins/AutoScaleJournal1/BlobDATA?CODE=5E9CB99B48DE48A39C32CECD3C927C6B&NAME=GRAPH&auth_user=user&auth_password=user

Формат ответа Система формирует ответ на данный запрос в виде массива в формате JSON
Пример ответа системы:

[
	{
		"Name": "StState",
		"DataType": "Text",
		"Data": [
			{
				"ID": 1608543806246,
				"Value": "Взвешивание (Вручную оператором): 28.84"
			}
		]
	},
	{
		"Name": "Massa",
		"DataType": "FloatArray",
		"Data": [
			{
				"ID": 1608543796222,
				"Value": 0
			},
			{
				"ID": 1608543796233,
				"Value": 0.959999978542328
			},
			{
				"ID": 1608543796244,
				"Value": 1.44000005722046
			},
			{
				"ID": 1608543806213,
				"Value": 28.8400001525879
			},
			{
				"ID": 1608543806246,
				"Value": 28.8400001525879
			},
			{
				"ID": 1608543824050,
				"Value": 0
			}
		]
	}
]

Перечень полей, содержащихся в ответе

Наименование поля Тип принимаемого значения Описание
Name Строка Наименование раздела:
StState - Данные о точке фиксации веса
Massa - График изменения массы во время взвешивания
DataType Строка Тип данных
Data Строка Данные
ID Строка ID значения
Value Строка Значение

Вариант 2. Через опубликованный метод GetBlob

Данный запрос содержит входной параметр Value - JSON с параметрами выводимой строки:

  • CODE - Уникальный идентификатор записи;
  • NAME - Наименование фото.

Пример запроса фото к плагину AutoScaleJournal1:
http://uniserver.vesysoft.ru:8123/core/SendMsg?Name=AutoScaleJournal1_GetBlob&Value={CODE:"5E9CB99B48DE48A39C32CECD3C927C6B", NAME:"PHOTO1"}&auth_user=user&auth_password=user

Пример запроса графика к плагину AutoScaleJournal1:
http://uniserver.vesysoft.ru:8123/core/SendMsg?Name=AutoScaleJournal1_GetBlob&Value={CODE:"5E9CB99B48DE48A39C32CECD3C927C6B", NAME:"GRAPH"}&auth_user=user&auth_password=user

Получение миниатюры фото для записи из журнала


Формат запроса к WEB интерфейсу плагина

Наименование метода: BlobThumb

Данный запрос содержит входной параметр Value - JSON с параметрами выводимой строки:

  • CODE - Уникальный идентификатор записи;
  • NAME - Наименование фото.

Пример запроса к плагину AutoScaleJournal1:
http://uniserver.vesysoft.ru:8123/core/Plugins/AutoScaleJournal1/BlobThumb?CODE=5E9CB99B48DE48A39C32CECD3C927C6B&NAME=PHOTO1&auth_user=user&auth_password=user

Формат ответа

Система формирует ответ на данный запрос в формате IMAGE - картинку размером 64x64px.

Команды для работы с ссылками на записи

Получение связанной записи из журнала документов


Формат запроса к WEB интерфейсу плагина

Наименование метода: GetDocLink

Данный запрос содержит входной параметр Value - JSON с параметрами выводимой строки:

  • CODE - Уникальный идентификатор записи;
  • NAME - Наименование связанной записи.

Пример запроса связанной ссылки на документ взвешивания к плагину AutoScaleJournal1:
http://uniserver.vesysoft.ru:8123/core/Plugins/AutoScaleJournal1/GetDocLink?Code=5E9CB99B48DE48A39C32CECD3C927C6B&Name=DOC1&auth_user=user&auth_password=user

Пример запроса связанной ссылки на взвешивание ТАРЫ к плагину AutoScaleJournal1:
http://uniserver.vesysoft.ru:8123/core/Plugins/AutoScaleJournal1/GetDocLink?Code=5E9CB99B48DE48A39C32CECD3C927C6B&Name=WeighingTARA&auth_user=user&auth_password=user

Пример запроса связанной ссылки на взвешивание БРУТТО к плагину AutoScaleJournal1:
http://uniserver.vesysoft.ru:8123/core/Plugins/AutoScaleJournal1/GetDocLink?Code=92486DBDD5A440B1A3B3E9E839CA3FC1&Name=WeighingBRUTTO&auth_user=user&auth_password=user

Формат ответа

Система формирует ответ на данный запрос в виде массива в формате JSON

Формат данных соответствует формату данных Получения записи из журнала по уникальному коду

Получение описания связанной ссылки по имени и коду записи


Формат запроса к WEB интерфейсу плагина

Наименование метода: GetLink

Данный запрос содержит входной параметр Value - JSON с параметрами выводимой строки:

  • CODE - Уникальный идентификатор записи;
  • NAME - Наименование связанной записи.

Пример запроса описания связанной ссылки на документ взвешивания к плагину AutoScaleJournal1:
http://uniserver.vesysoft.ru:8123/core/Plugins/AutoScaleJournal1/GetLink?Code=5E9CB99B48DE48A39C32CECD3C927C6B&Name=DOC1&auth_user=user&auth_password=user

Формат ответа

Система формирует ответ на данный запрос в виде массива в формате JSON

Пример ответа системы:

{
	"CODE": "5F51506847E941C8BE2EFDCCE21CED74",
	"LINKTYPE": "LINK",
	"DATETIME_UPDATE": 44169.464649456,
	"DBID": "1EA852A9A2CD4CC1A45CF483A40390ED",
	"LOGONNAME": "",
	"NAME": "WeighingTARA",
	"JOURNALNAME": "AutoScaleJournal1",
	"CAPTION": "ТАРА",
	"LINK": "4A65C411B41A40DCA5254C73074E6E0C",
	"DELETED": false
}

Перечень полей, содержащихся в ответе

Наименование поля Тип принимаемого значения Описание
CODE Строка Уникальный идентификатор записи в базе данных журнала (упакованный GUID 32 байта)
LINKTYPE Строка Тип ссылки
DATETIME_UPDATE Строка Время последнего обновления записи
DBID Строка ID Базы данных журнала (упакованный GUID 32 байта)
NAME Строка Наименование записи
JOURNALNAME Строка Наименование журнала хранения записи
CAPTION Строка Заголовок записи
LINK Строка Ссылка на связанную запись
DELETED Логическое (true/false) Флаг «Запись удалена»

Команды получения списка записей по фильтру

Получение последних 10 записей


Формат запроса к опубликованным методам плагина

Наименование метода: AutoScaleJournal1_GetRecords

Пример запроса к плагину AutoScaleJournal1:
http://uniserver.vesysoft.ru:8123/core/SendMsg?Name=AutoScaleJournal1_GetRecords&Value={Filter:{},MaxRows:10}&auth_user=user&auth_password=user

Формат ответа

Система формирует ответ на данный запрос в виде массива в формате JSON
Пример ответа системы:

[
	{ Данные о взвешивании 0 },
	{ Данные о взвешивании 1 },
	{ Данные о взвешивании 2 },
	{ Данные о взвешивании 3 },
	{ Данные о взвешивании 4 },
	{ Данные о взвешивании 5 },
	{ Данные о взвешивании 6 },
	{ Данные о взвешивании 7 },
	{ Данные о взвешивании 8 },
	{ Данные о взвешивании 9 }
]

Формат данных о каждом из взвешиваний соответствует формату данных Получения записи из журнала по уникальному коду

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


Формат запроса к опубликованным методам плагина

Наименование метода: AutoScaleJournal1_GetRecords

Данный запрос содержит входной параметр Value - JSON с параметрами выводимой строки:

  • Filter - Структура JSON с параметрами фильтрации данных журнала:
    • ИМЯ_ПОЛЯ - поле журнала, для которого применяется фильтр (например «DateTime_Create»), по которому производится фильтрация записей:
      • Range - период фильтрации записей (массив с двумя элементами). (в формате JSON параметр Дата предается в кавычках)
      • Like - строка содержащаяся в значении поля.
      • In - множество вариантов (массив вариантов)
      • Equal - соответствие равенству
      • NotEqual - соответствие не равенству
      • GT - оператор больше >
      • GTE - оператор больше либо равно > =
      • LT - оператор меньше <
      • LTE - оператор меньше либо равно < =
  • SortField - имя поля для сортировки
  • SortDesc - признак сортировки по убыванию (0 или 1)
  • FirstRow - Порядковый номер записи, с которой начать вывод. Все предыдущие не попадут в ответ
  • MaxRows - Максимальное количество записей в ответе

Пример запроса к плагину AutoScaleJournal1 с фильтром:

  • Получить записи созданные в период с 2020-08-01 05:08:26.086 по 2020-09-01
  • Выводить не более 100 записей

http://uniserver.vesysoft.ru:8123/core/SendMsg?Name=AutoScaleJournal1_GetRecords&Value={Filter:{DateTime_Create:{Range:["2020-08-01T05:08:26.086","2020-09-01T00:00:00.000"]}},MaxRows:100}&auth_user=user&auth_password=user

Описание алгоритма синхронизации

1)
Команда через сервер производится с помощью опубликованного списка методов. Настройка списка производится с помощью пункта меню Параметры. Как правило, к имени команды добавляется имя плагина в формате ИмяПлагина_ИмяМетода
webapi/uniserver_auto/api_journal.txt · Последние изменения: 2024/11/18 12:38 — pavlasd