End User Information

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:

  1. The form is collected for each product in the order. To do this, all filled-out fields are filtered to select those that have a product's part number from the RelatedPartNums array in the description.
  2. The form collected for each product is then checked using the CheckEndUserInfo method. If some fields contain errors, they will be marked with the HasError flag in the method call results and the error text will be displayed in the ErrorText field.
  3. If the filled-out form contains errors, these are displayed to the user to be corrected, and then steps 1-2 are repeated.

When a license form is added to an order line, fields must be filtered by product, just as in the case of form check.