Плагин представляет собой архив в формате .zip. В состав архива входят:

Папки licenses и icon не являются обязательными. Файлы лицензий и файлы с используемыми пиктограммами могут находиться в корне.

Для внешних систем-источников событий файл manifest.json должен содержать следующую информацию:

Содержимое

Тип данных

Является
обязательным

Описание

{   

"PLUGIN_ID": "",

Строка

Да

Уникальный идентификатор (UUID) плагина, который создается его разработчиком. До 40 символов.
Идентификатор используется для обновления плагина.
Пример: "PLUGIN_ID": "189C38D390396EB6E0530100007F1CA200000001",

"DISPLAY_NAME": "",

Строка

ДаОтображаемое имя плагина.
Пример: "DISPLAY_NAME": "Имя плагина",
"DESCRIPTION": "",СтрокаНетОтображаемое описание плагина.
Пример: "DESCRIPTION": "Тестовый плагин для демонстрации",
"VERSION": "",СтрокаДаВерсия плагина.
Пример: "VERSION": "1.0.0",
"VENDOR": "",СтрокаДаИдентификатор компании-разработчика, соответствующий названию компании в лицензии.
Пример: "VENDOR": "infowatch",

"LICENSE": [
{
"PATH":""
}
],

Массив

Строка
Да

Файлы лицензии. Должны быть указаны пути к файлам лицензий относительно корня архива.

"LICENSE": [
    {
		"PATH": "licenses/файл лицензии 1.license"
	},
	{
		"PATH": "licenses/файл лицензии 2.license"
	},
],
"PATTERN_SEARCH_LICENSE": "",СтрокаНетШаблон для поиска загруженных ранее лицензий для привязки их к плагину. Имеет формат: {operator:or|and,child[{name:value}]}".
Пример:
"PATTERN_SEARCH_LICENSE": "{\"operator\":\"or\",\"conditions\":[{\"origin\":\"dm\"},{\"origin\":\"dmmobile\"}]}",

"ADDS_EVENTS": {
"OBJECT_TYPE": [
{
"MNEMO": "",
"SERVICE_MNEMO": "",
 "ICON": "",

"LOCALE": {
"": ""
}
}
],
"PROTOCOL": [
{
"MNEMO": "",
"LOCALE": {
"": ""
}
}
]
},

Объект
Массив

Строка
Строка
Строка
Объект




Массив

Строка
Объект




Да

Регистрируемые типы событий и протоколы.
Массив типов регистрируемых событий с указанием типов сервисов, к которым они относятся.

Тип события.
Сервис.
Файлы с иконками регистрируемых контактов.
Локализации наименований типов контактов хотя бы на одном языке.

"ADDS_EVENTS": {
	"OBJECT_TYPE": [
        {
			"MNEMO": "cloud_storage",
			"SERVICE_MNEMO": "file",
			"LOCALE": {
				"rus": "Облачное хранилище",
				"eng": "Cloud storage"
			}
		},
		{
			"MNEMO": "im_telegram",
			"SERVICE_MNEMO": "im",
			"ICON": "icon/event_icon_telegram.png",
			"LOCALE": {
				"rus": "Telegram",
				"eng": "Telegram"
			}
		}
	],
	"PROTOCOL": [
       {
		"MNEMO": "telegram",
		"LOCALE": {
			"rus": "Telegram",
			"eng": "Telegram"
		}
	}
    ]
},

"USES_EVENTS": {
"OBJECT_TYPE": [
{
"MNEMO": "",
"PROTOCOL": [
{ "MNEMO": "" }
],
"ORIGIN": [
"" ]

}
]
},

Объект
Массив

Строка
Массив
Строка

Массив
Строка

Да

Существующие типы событий.
Массив типов регистрируемых событий с указанием типов сервисов, к которым они относятся.

Тип события.
Массив протоколов, относящихся к данному типу события.
Протоколы.

Массив кодов типов перехватчиков для Плагинов InfoWatch.
Коды.

"USES_EVENTS": {
	"OBJECT_TYPE": [
        {
			"MNEMO": "email",
			"PROTOCOL": [
                {
					"MNEMO": "pop3"
				},
				{
					"MNEMO": "imap"
				},
				{
					"MNEMO": "mapi"
				},
				{
					"MNEMO": "smtp"
				}
			],
			"ORIGIN": ["dm", "dmmobile"]
		},
		{
			"MNEMO": "email_web",
			"PROTOCOL": [
        {
					"MNEMO": "http"
				},
				{
					"MNEMO": "https"
				}
			],
			"ORIGIN": ["dm", "dmmobile"]
		},
		{
			"MNEMO": "im_whatsapp",
			"PROTOCOL": [
        {
				"MNEMO": "whatsapp"
			}
        ],
			"ORIGIN": ["dm", "dmmobile"]
		}
	]
},

"ADDS_SERVICES": {
"SERVICE_TYPE": [
{
"SERVICE_MNEMO": "",
"DATA_CLASS": [""],
"ICON": "",
"LOCALE": {
"": "",
"": ""
}
}
]
},

Объект
Массив

Строка
Массив строк
Строка
Объект
Да

Регистрируемые типы событий через сервисы SDK.
Регистрируемые типы перехватываемых сервисов.

Имя перехватываемого сервиса.
Список классов данных, которые перехватывает данный перехватчик в сервисе.
Файл с иконкой регистрируемого сервиса.
Локализации наименований типов регистрируемого сервиса хотя бы на одном языке.
Пример:

"ADDS_SERVICES": {
	"SERVICE_TYPE": [{
			"SERVICE_MNEMO": "newservice",
			"DATA_CLASS": ["kChat", "kFileExchange"],
			"ICON": "icon/TM_icon.png",
			"LOCALE": {
				"rus": "сервис#5",
				"eng": "service#5"
			}
		},
		{
			"SERVICE_MNEMO": "newservice2",
			"DATA_CLASS": ["kPhoto"],
			"ICON": "icon/TM_icon.png",
			"LOCALE": {
				"rus": "сервис#5+2",
				"eng": "service#5+2"
			}
		}
	]
},

"OBJECT_HEADER": [
{
"NAME": "",


"NOTE": {
"": "",
"": ""
},
"TYPE": "",
"FORMAT": "",

"DATA_CLASS": [""],
"USE_IN_POLICY": "",
"USE_IN_NOTIFICATION": "",
"USE_IN_QUERY": "",
"USE_IN_LIST": "",
"USE_IN_SHOW": "",
"USE_IN_DETAIL": "",
"IS_MULTIPLE_VALUE": "",
}
]

Массив

Строка


Объект
Строка


Перечисление
Перечисление

Массив строк
Перечисление
Перечисление

Перечисление

Перечисление
Перечисление
Перечисление

Перечисление

Нет

Пользовательские атрибуты событий.

Уникальный код атрибута, который будет использован в заголовках события и для идентификации в xAPI/PushAPI.
Если идентификатор разработчика не "IW", код должен начинаться с префикса "<Идентификатор компании-разработчика>_".
Пример: CISCO_CALL_DURATION
Название атрибута, отображаемое в консоли Traffic Monitor.



Тип значения.
Формат записи. Возможны значения: число (целое, дробное), строка, дата и время в UTC + указание смещение часового пояса, длительность, гиперссылка, перечисление, логический тип.
Сервисы, к событиям которых будет добавлен новый пользовательский атрибут.
Использование атрибута в политиках. "1" - да, "0" - нет.
Использование атрибута в почтовых уведомлениях. "1" - да, "0" - нет.

Использование атрибута в запросах.
"1" - да, "0" - нет.
Использование атрибута в табличной форме просмотра списка событий. "1" - да, "0" - нет.
Использование атрибута в краткой форме просмотра события. "1" - да, "0" - нет.
Использование атрибута в детальной форме просмотра события. "1" - да, "0" - нет.

Множественное значение. "1" - да, "0" - нет.

"OBJECT_HEADER": [
    {
		"NAME": "header_multi_string",
		"NOTE": {
			"rus": "Заголовок строк1",
			"eng": "Header strings1"
		},
		"DATA_CLASS": ["kEmail"],
		"USE_IN_POLICY": "1",
		"USE_IN_QUERY": "1",
		"USE_IN_NOTIFICATION": "1",
		"USE_IN_LIST": "1",
		"USE_IN_SHOW": "1",
		"USE_IN_DETAIL": "1",
		"TYPE": "string",
		"FORMAT": "string",
		"IS_MULTIPLE_VALUE": "1"
	},
	{
		"NAME": "header_date",
		"NOTE": {
			"rus": "Заголовок дата1",
			"eng": "Header date1"
		},
		"DATA_CLASS": ["kEmail"],
		"USE_IN_POLICY": "1",
		"USE_IN_QUERY": "1",
		"USE_IN_NOTIFICATION": "1",
		"USE_IN_LIST": "0",
		"USE_IN_SHOW": "1",
		"USE_IN_DETAIL": "1",
		"TYPE": "string",
		"FORMAT": "date",
		"IS_MULTIPLE_VALUE": "0"
	}
]
}   

Полная JSON-схема входит в состав примеров SDK (см. раздел "Описание примеров PushAPI SDK"). Пример файла регистрации модуля входит в состав SDK. 

В состав файла входит просроченная лицензия. Для регистрации плагина на основании файла примера нужно будет получать новую лицензию.