When placing an order for certain products, the vendor requires that particular end user information should be specified (hereinafter — license form). Different products may also require different information.
When placing an order for a product, you need to pass a license form if the LicenseFormRequired flag is selected for the product (in the GetPriceChanges method results).
Before placing an order, call the GetUserInfoDescriptionFor method by passing a description language and list of products to be ordered. Results will include a list of fields to be filled out by the end user. Each field has a text description and a set of fill out requirements (regular expression, length, etc.).
Please, not that certain fields must be filled out by the partner rather than the end user. Field type is defined in the description of the UserType field. Values in such fields must be auto-populated by the partner's system and these fields must not be displayed to the end user. Currently, we only have one field of this type: Kaspersky PIN.
Unfortunately, some form fill out rules cannot be described using regular expressions (for example, a rule like 'Company field is required only if the user is a legal entity'). These rules are included in the description to help users filling out the form. To check whether the form is filled out properly, use the CheckEndUserInfo method. As each product has its own form, the check must run as follows:
When a license form is added to an order line, fields must be filtered by product, just as in the case of form check.