Jump to: navigation, search

Identification Key


Describes the Identification Key Resource.


The Identification Key is a combination of attributes used to identify a customer. These attributes (one or more) belong to the Customer Profile or to its extensions. Your application is responsible for creating the identification keys that are alter use to identify customers. See Create Identification Key for further details.

Identification keys cannot be issued from both the profile and its extensions.

Some identification key samples:

  • An identification key consisting of attributes "name" and "birthdate" in the Profile.
  • A key based on attribute "pin" of a single-valued extension used to hold customer pass codes.
  • A key based on attribute "number" of a multi-valued extension used to record the phone numbers we have seen a customer call from.

When the UCS receives a new customer profile and the associated extension data, it builds the indexing structures based on the specified identification keys, in order to ensure efficient customer identification.


Identification Key
Field Type Mandatory Description
name string yes The unique, case-insensitive name of the key. The name must start with a letter, and can be followed with letters, numbers, or underscores. The name is restricted to a maximum of 26 characters. (Maximum RDBMS shared limit on creation of index.)
source string no Can take on one of the following values:
  • profile (default value): indicates that the attributes specified in parameter "attribute" belong to the core customer profile.
  • The unique name of the given Extension, used to create the Identification Key.
  • If none, it means that the attributes specified in the parameter attributes are not sourced from either the profile or an extension. In this case, you must manage manually the identification table in UCS.
attributes string[] yes The array names of one or more attributes of the extension or of the profile.
unique bool no
  • false by default.
  • true to indicate that the given attributes of the profile or extension are unique across all customers.


The following identification key is a phone number.

{ "name": "idPhone",
 "attributes": ["phone_number"]}

The following sample defines "FirstName" and "LastName" as a "primary key" instead of "indexed key".

  {"name":"idFirstNameLastName", "unique":true, "attributes":["FirstName","LastName"]}

The combination of both parameters is unique. If your application tries to insert twice the same values, the operation will return an error.

The use of a "primary key" instead of an "indexed key" makes the identification queries faster. It also prevents from creating two profiles with the same email address for example.

Related operations

This page was last edited on April 27, 2017, at 10:04.
Comments or questions about this documentation? Contact us for support!