Генерация ключей

 

 


Порядок создания генераторов и генерации ключей (IonCube или сторонних, собственных):

Администратор:

1 - создаёт эталонные генераторы. (Генераторы могут быть созданы как на основе стандартных генераторов предоставляемых системой (IonCube) так и собственных генераторов ключей организации, генераторы представляют собой модули написанные как фирмой разработчиком LicTrade так и модули разработанные сторонними разработчиками. Генераторы ключей производителя программного обеспечения могут находится как на сервере учёта лицензий LicTrade так и на сторонних серверах с доступом по login/password по различным протоколам включая защищённые каналы связи. Модуль может иметь независимую платформу и язык разработки отличный от PHP. Генераторы ключей подключаются администратором LicTrade по взаимному соглассованию с фирмой разработчиком генератора с проверкой на уязвимость для повышения безопасности системы.)

Главный менеджер:

2 - Создаёт генераторы для своей организации на основе эталонных добавляя требуемые параметры.
3 - Создаёт товары и параметры для товаров требуемые при генерации (например версию программного обеспечения)

4 - Привязывает товары к соответствующим генераторам.

Менеджер (Диллер):

5 - Оформляет заказ.

6 - Контролирует оплату.

7 - Производит генерацию ключа.


Эталонный генератор создаётся администратором, и служит примером, а так же несёт в себе обязательные параметры для работы данного генератора которые нельзя удалить в потомке.

Каждый эталонный генератор имеет:

1 — Стандартные статические параметры (наследуемые потомками, и могут быть изменены)

2 — Динамические параметры (наследуемые потомками, и не могут быть изменены)

 

Генератор потомок (фирменный генератор, привязан к конкретной фирме, и создаётся главным менеджером этой фирмы), создаётся от эталонного генератора, и может быть дополнен дополнительными параметрами.

Каждый генератор потомок имеет:

1 — Статические поля стандартные для любого генератора (могут быть отредактированы)

2 — Динамические поля которые делятся на 2 группы, первая — наследованные поля (не могут быть изменены), вторая — произвольные параметры (могут быть отредактирвоанны, добавлены, удалены, изменены)

 

Динамические поля это набор из 5ти основных полей:

1 — Наименование параметра (передаётся как имя параметра в конечный генератор методом POST)

2 — Значение параметра (если значение найдено в атрибутах заказа или параметрах товара то передаётся полученное значение в качестве значения параметра 1, в случае отсутствия в атрибутах заказа или параметрах товара значение передаётся пустое)

3 — Флаг «определяемый параметр запросом», в случае если флаг взведён требуется выдать диалоговое окно в котором оператор (менеджер, дилер или клиент) смогут ввести значение которое запрашивает система (например, при генерации ключа с привязкой к домену не всегда можно получить наименование домена, так как у фирмы может быть множество доменов, и в автоматическом режиме определить к какому домену привязать данный ключь не представляется возможном, по этому оператор на моменте генерации ключа получит предложение ввести требуемый домен, после чего система продолжит вносить данные в автоматическом режиме)

 

Пример получения параметров:

 

Задача, отправить в генератор 2 параметра, версию и номер версии ПО. Для этого требуется заполнить параметры генератора и параметры товара соответствующим образом. Красным выделены наименования которые будут отправлены генератору, синим значения.

 

Заполняем параметры генератора:

первый параметр:

имя = «version»

значение= «version name»

и второй параметр:

имя = «vnumber»

значение= «version number»

 

 

В параметре товара предназначенного для генерации ключа есть так же параметры:

первый параметр:

имя= «version name»

значение= «TraffPro Enterprise»

и второй параметр:

имя= «version number»

значение= «1.4.3-35»

 

После получения параметров система пошлёт запрос в генератор с такими значениями:

<params

name=version

value=«TraffPro Enterprise»

>

<params

name=vnumber

value=«1.4.3-35»

>

Теги представлены образно, отправка осуществляется методом POST.

 

 

 

Параметры генератора должны отвечать следующим условиям:

имя параметров должно состоять из одного слова или слов разделённых нижним подчёркиванием, например:

Верные значения:

version

version_number

v_n_id

 

Неверные значения:

version date create

version number

 

Значения параметров генератора могут иметь произвольные значения, за исключением значений который определены системой как константы, и данные значения параметров возвращают данные из текущего заказа, а именно:

order_number — номер счёта

order_date_create — дата создания счёта

order_manager_name — ФИО менеджера создавшего заказ

order_manager_is_dealer — Является ли менеджер диллером (если да то возвращаемым значением будет id фирмы диллера)

 

firm_owner_name — Наименование фирмы которой принадлежит товар (хозяин)

firm_owner_email — эл.почта хозяина

firm_owner_phone — телефон хозяина

firm_owner_addr_legal — Юр. Адрес хозяина

firm_owner_addr_actual — Фактический адрес хозяина

 

firm_dealer_name -Наименование фирмы диллера оформившего заказ (если заказ оформлялся через диллера)

firm_dealer_email — Эл.почта дилера.

firm_dealer_phone — Телефон дилера.

firm_dealer_addr_legal — Юр. Адрес дилера.

firm_dealer_addr_actual — Факт. Адрес дилера.

firm_client_addr_legal — Юр. Адрес клиента.

firm_client_addr_actual — Факт. Адрес клиента.

 

firm_client_name — Наименование клиента.

firm_client_email — Эл. Почта клиента.

firm_client_phone — Телефон клиента.

firm_client_url — Адрес сайта клиента.

client_is_legal_entity — Тип клиента (юр. Лицо / Физ. лицо)

 

goods_code — Код товара (номер в системе)

goods_code_supplier — Код товара от поставщика

goods_price — Цена товара (цена по которой был продан товар)

goods_bonus — Скидка которая была применена к товару.

goods_nds — Учавствовал ли в сделке НДС.

goods_name — Наименование товара.

goods_one_lic_all — Генерировать ли одну лицензию на всё количество товара указанного в данной позиции.

goods_date_create — Дата создания товара (Дата+Время)

goods_license_type — Тип лицензии.

 

generator_name — Имя генератора который будет использоваться для генерации.

generator_type — Тип генератора.

 

generation_datetime — Дата генерации ключа (устанавливается в момент генерации)

generation_count — Сколько раз уже генерировали ключ (если дана возможность перегенерировать ключ)

generation_manager_id = Менеджер, который последним генерировал ключ.

 

Данные параметры являются зарезервированными именами системы, произвольные параметры генераторов не должны использовать в своих значениях данные зарезервированные слова, кроме случаев если требуются предопределённые этими словами данные.

 

 

 

Параметры товаров могут иметь произвольные значения как в именах параметров так и в значениях, всё зависит от удобства использования при передаче произвольных значений.