Edit Product Properties
Edit the properties of a product. Consider the following points before editing:
>If a product is in 'Draft' mode, you can edit product properties such as Product Name, Ref IDs, Product ID, and Description.
>If a product is in 'Commit' mode, you can edit properties such as Product Name, Ref IDs, and Description only.
Method Type | URI |
---|---|
POST | v90/ws/product/{productId}.ws |
URI Parameters
Parameter | Description | Type |
---|---|---|
productId | Identifier of the Product as stored in the database. | Integer |
Sample Request
See Sample XML for Product Web Services. The XML element names are self-explanatory. However, some of the important elements are as follows:
NOTE The XML must comply with the schema provided for Product. (See XSD for Product Web Services.)
XML Elements | Description | Type |
---|---|---|
baseProductId |
(Required) The Product ID. > For Modification and Cancellation Products, provide the productID of the Base Product. >For Base Products, set the value to 0 or remove this tag. |
String |
productIdentifier | If you remove the tag from the XML, the system automatically generates a unique Product ID. To apply a specific ID, enter a value greater than 1. | Integer |
enforcementProductType |
(Required) The Product type. Valid values: BASE, MODIFICATION, or CANCELLATION |
String |
enforcementProtectionType |
(Required) The locking type for the Product based on the type of protection key to be distributed and the required level of security and functionality: |
String |
lifeCycleStage |
(Required) The status of the product. Valid values: >DRAFT: The Product has been defined but has not yet been included in an Entitlement. It can be edited or deleted. >COMMIT: The Product has been included in at least one Entitlement. It is not possible to edit or delete the Product. In the Sentinel LDK-EMS GUI, this status is listed as "Complete". >EOL: End of Life. The Product is no longer available for Entitlements. The Product details are maintained for tracking purposes. |
|
lmAttribute |
License model attribute. You can retrieve the definition using Retrieve License Model by ID. Set only the following values. All other values are predefined and must not be changed. > Note: If you want to specify unlimited concurrency for concurrent instances ( > •LICENSE_TYPE •EXECUTION_COUNT •EXPIRATION_DATE •TIME_PERIOD •CONCURRENT_INSTANCES Valid values: TRUE/FALSE Example: <lmAttribute> <attribute> <attributeId>6</attributeId> <attributeName>CONCURRENT_INSTANCES</attributeName> <attributeType>6</attributeType> <attributeDefaultValue></attributeDefaultValue> <displayOrder>6</displayOrder> <attributeLevel>1</attributeLevel> <associatedLockCriteria></associatedLockCriteria> <associatedLockCriteriaValue></associatedLockCriteriaValue> <endUserPermission>0</endUserPermission> <parameterGroupName>Concurrency</parameterGroupName> <parameterSubGroupName></parameterSubGroupName> <isvPermission>WRITE</isvPermission> <nullable>false</nullable> <saotAllowed>true</saotAllowed> </attribute> <attributeValue>10000000</attributeValue> <saot>true</saot> </lmAttribute> |
|
memorySegment |
(Optional) Memory data for the product. Contains the following elements: > > > > > > > Example of memory segment in a product XML: <memorySegment> <name></name> <description></description> <text>6362626366</text> <size>5</size> <offset>0x0000</offset> <color>#8b008b</color> <saot>true</saot> <memoryType> <id>1</id> </memoryType> </memorySegment> |
|
dynamicMemory |
(Optional) You add dynamic memory files to products using Sentinel LDK-EMS—not via this web service. For details, see Sentinel LDK–EMS User Guide. Dynamic memory files contain the following elements: > > > > > > Example of a dynamic memory file in a product XML after it was added using Sentinel LDK-EMS: <dynamicMemoriesRef> <dynamicMemory> <memoryId>90</memoryId> <memories> <memorySegment> <name>seg1</name> <description></description> <offset>0x0001</offset> <size>1</size> <content>00</content> <color>#32206f</color> <saot>true</saot> </memorySegment> </memories> </dynamicMemory> </dynamicMemoriesRef> |
|
enforcementId |
(Optional) The enforcement technology, Sentinel LDK. Valid value: 1 |
Integer |
upgradeToDriverless | (Optional) Enable to upgrade from Sentinel HL keys to HID keys. | Boolean |
cloneProtection |
(Optional) For Sentinel SL locking type, specify if protection against machine cloning is enabled. (Software that is protected by a Sentinel HL key is not vulnerable to machine cloning.) Valid values: True: (Enabled) The physicalMachineType and virtualMachineType tags will be used. False: (Disabled) The physicalMachineType and virtualMachineType tags will not be used. |
Boolean |
physicalMachineType |
(Optional) For the Sentinel SL locking type, specify the scheme to protect against the cloning of physical machines. For more details about the valid values listed below, see Sentinel LDK Software Protection and Licensing Guide. Valid values: >PlatformDefault: The platform default clone protection scheme is chosen on the basis of the C2V file provided. For desktop operating systems, the platform-default clone protection scheme is PMType1. >Disabled: Protection against the cloning of physical machines will be disabled. >PMType1: This scheme uses the hard drive serial number and motherboard ID to verify fingerprints. >PMType2: This scheme uses various components, such as CPU, ethernet card, optical drive, and PCI card slot peripherals, along with the hard drive serial number and motherboard ID to verify fingerprints. This scheme provides enhanced reliability against false positive clone detection and maintains the inherent security of the scheme. >PMType3: Intended for Android, this scheme verifies fingerprints using the CPU model, CPU serial number, and internal storage serial number. Available for: SL UserMode >PMType4: Intended for Android, this scheme verifies fingerprints using the CPU model, CPU serial number, internal storage serial number, Android serial number, and Android Firstboot. In addition, this scheme allows users to reinstall licenses on Android without the need for reactivation if features are licensed using Perpetual or Expiration Date licenses. Available for: SL UserMode >FQDN: This scheme uses only the machine’s FQDN (Fully Qualified Domain Name) to verify fingerprints. |
String |
virtualMachineType |
(Optional) For the Sentinel SL locking type, specify the scheme to protect against the cloning of virtual machines. For more details about the valid values listed below, see Sentinel LDK Software Protection and Licensing Guide. Valid values: >PlatformDefault: The platform default clone protection scheme will be chosen on the basis of the C2V file provided. For desktop operating systems, the platform-default clone protection scheme is VMType1. >Disabled: Protection against the cloning of physical machines will be disabled. >VMType1: This scheme uses Virtual MAC address, CPU characteristics, and UUID to verify fingerprints. >VMType2: This scheme provides VMType1 clone protection and accesses the VM Generation ID (if available) to avoid a snapshot restore attack by preventing the VM from returning to an earlier point in time. Available for: SL AdminMode Supported virtual machines: See Sentinel LDK Release Notes for the supported versions of the following virtual machines on Windows: •VMware Workstation and ESXi. •Hyper-V Server >VMType3: This scheme ensures that a protected application in a virtualized server environment cannot be used if the license is copied from one virtual machine to another. Available for: •SL-AdminMode and SL-UserMode on Windows •SL-AdminMode on Linux Supported virtualization platform: Microsoft Azure >VMType4: This scheme provides protection similar to VMType1 and verifies the hard drive serial number. For more details, see the section on clone detection for virtual machines in the Sentinel LDK Software Protection and Licensing Guide . Intended for: Docker containers. (Also compatible with other virtual machines.) For details on protecting applications in Docker Containers, see the Sentinel LDK Software Protection and Licensing Guide . >FQDN: This scheme uses the machine’s FQDN to verify fingerprints. This scheme provides increased reliability and provides flexibility of operation in a server virtualization environment. |
String
|
useVclock |
(Optional) Enables to manage time-based licenses for Sentinel HL (Driverless Configuration) keys where no real-time clock is available. A virtual clock will be maintained in such keys. |
Boolean |
NOTE
>For Products with SAOT (Specify At Order Time) license terms, only SET is allowed in the actionName tag (within the productFeatureRef tag). If you provide NONE for this tag, it will be changed to SET.
>For Modification Products:
•If SET is specified in the actionName tag (within the ProductFeatureLicenseModel tag), the created modification products will set the Concurrency value.
•If NONE action is specified in the actionName tag (within the ProductFeatureLicenseModel tag), the created modification products will add the Concurrency value.
Sample Response
Success
HTTP Status Code: 200
Response Body:
<product> <productName>updateProductWSxcvb :25</productName> <baseProductId>0</baseProductId> <productIdentifier>0</productIdentifier> <enforcementProductType>BASE</enforcementProductType> <enforcementProtectionType>HL</enforcementProtectionType> <productDescription>Demo test</productDescription> <refId1></refId1> <refId2></refId2> <productFeatureRefs> <productFeatureRef> <actionName>NONE</actionName> <featureId>1</featureId> <productFeatureLicenseModel> <actionName>NONE</actionName> <licenseModel> <lmAttributes> <lmAttribute> <attribute> <attributeId>9</attributeId> <attributeName>NETWORK_ENABLED</attributeName> <associatedLockCriteria></associatedLockCriteria> <associatedLockCriteriaValue></associatedLockCriteriaValue> <attributeType>4</attributeType> <attributeDefaultValue></attributeDefaultValue> <displayOrder>9</displayOrder> <endUserPermission>0</endUserPermission> <associatedAttributeMaster></associatedAttributeMaster> <sameAttributeMaster></sameAttributeMaster> <sameAttributePriority>0</sameAttributePriority> <parameterGroupName>Accessibility</parameterGroupName> <parameterSubGroupName></parameterSubGroupName> <isvPermission>WRITE</isvPermission> <nullable>false</nullable> <saotAllowed>false</saotAllowed> </attribute> <attributeValue>TRUE</attributeValue> <saot>false</saot> </lmAttribute> <lmAttribute> <attribute> <attributeId>6</attributeId> <attributeName>CONCURRENT_INSTANCES</attributeName> <associatedLockCriteria></associatedLockCriteria> <associatedLockCriteriaValue></associatedLockCriteriaValue> <attributeType>6</attributeType> <attributeDefaultValue></attributeDefaultValue> <displayOrder>6</displayOrder> <endUserPermission>0</endUserPermission> <associatedAttributeMaster></associatedAttributeMaster> <sameAttributeMaster></sameAttributeMaster> <sameAttributePriority>0</sameAttributePriority> <parameterGroupName>Concurrency</parameterGroupName> <parameterSubGroupName></parameterSubGroupName> <isvPermission>WRITE</isvPermission> <nullable>false</nullable> <saotAllowed>true</saotAllowed> </attribute> <attributeValue>10000000</attributeValue> <saot>false</saot> </lmAttribute> </lmAttributes> </licenseModel> </productFeatureLicenseModel> <lmStatus>2</lmStatus> <status>0</status> </productFeatureRef> </productFeatureRefs> </product>
Failure
HTTP Status Code: 404
Response Body: Cannot find a product corresponding to 345345.