Продукт позволяет объединить несколько компонентов и задать для них начальные лицензионные условия. Также продукт позволяет установить дополнительные параметры защиты целиком на приложение. По сути продукт определяет формат будущей лицензии целиком на приложение.
Жизненный цикл продукта (статус продукта):
- Draft (0) — Черновик. Присваивается в момент создания продукта. В этом статусе продукт разрешено редактировать.
- OnSale (1) — В продаже. Присваивается в момент подтверждения заказа. В этом статусе продукт редактировать запрещено.
Для каждого добавляемого в продукт компонента необходимо назначить начальные лицензионные условия в объекте 'defaultLicense':
- canexclude — разрешить возможность исключить компонент из заказа;
- canmodify — разрешить изменять лицензионные условия компонента в заказе;
- rentbegindate — дата начала аренды ПО;
- rentenddate — дата конца аренды ПО;
- rentdayscount — количество дней работы ПО;
- netlicensesCount — количество сетевых лицензий для ПО;
- runcounter — количество запусков ПО;
- consumptionmode — тип учёта лицензий в сети:
- 0 — по рабочим станциям,
- 1 — по подключениям,
- 2 — по копиям программы;
- flags — набор дополнительных флагов (0x04 — запрещает работу компонента в виртуальной машине, 0x100 — запрещает работу более одной копии приложения в режиме удаленного рабочего стола, 0x800 – разрешает "detach" сетевого компонента на локальный компьютер);
- licensingmodel — модель лицензирования компонента;
- isremote — признак сетевого компонента.
Нельзя одновременно выбрать аренду ПО и количество дней работы ПО. Должно быть задано поле rentdayscount, либо поля rentbegindate и rentenddate.
Лицензионные условия для компонента могут быть изменены в момент создания заказа, если значение поля canmodify равно 1.
Компонент может быть полностью исключен из заказа, если значение поля canexclude равно 1.
С помощью REST API доступны следующие методы для работы с продуктами: