Configuration information shared by the user interface and the Unica Interact API

Configuring Unica Interact to work with your touchpoint involves two Unica Interact components. The Unica Interact user interface where you define the configuration in the design environment. The Unica Interact API that the Unica Interact administrator configures for the touchpoint to work in the runtime environment.

While these two components of configuration take place in two different areas, they are related. The Unica Interact API must reference several of the configuration elements within the design environment. You and the person who works with the Unica Interact API must work together to agree on naming conventions, element purpose, and so on. The design is an iterative and collaborative process. As the person works with the Unica Interact API and the touchpoint, you might have to create more events and interaction points. As you design the interaction in the design environment, you might have more requirements for the person who works with the API.

Element shared by name

Several elements of the Unica Interact configuration are referenced by the Unica Interact API. However, only the following three elements are referred to by name:

  • Interactive channels
  • Interaction points
  • events

When you work with the Unica Interact API, you must reference these elements by name. These names must match and they are case insensitive. The names myinteract, myInteract, and mYiNtErAcT all match.

Unica Interact API and runtime information requests

During runtime, the Unica Interact API does request information from interactive flowcharts and treatment rules, however the API calls for that information indirectly. For example, the API never calls an interactive flowchart. However, the API does call an event that requests a resegmentation, which runs all of the interactive flowcharts that are associated with the interactive channel. Likewise, when the API requests offers with the getOffers method, that starts a sequence of events that includes referencing the treatment rules.

Shared Campaign elements

Several Unica Campaign elements can be used in your Unica Interact configuration. You can use these elements in the Unica Interact API to enhance your interaction, including smart segments, campaign start and end dates, offers, and interactive flowcharts.

Use the Unica Interact API to reference these Unica Campaign elements:

  • Audience ID
  • Audience level
  • Custom offer attributes
  • Offer code
  • Offer description
  • Offer effective date
  • Offer expiration date
  • Offer name
  • Offer treatment code

Since these elements are shared across the whole of the design environment, you must decide standards for these elements across your organization. Some of this information you must provide to properly call the Unica Interact API, such as audience ID, and some you request with the API, such as offer attributes.

You can also reference the score for an offer with the Unica Interact API. In general, this score is the marketing score that is assigned to an interaction strategy. This score is relevant for Unica Interact only, not your entire Unica Campaign environment. You can modify or override the marketing score. For more information about the Unica Interact API, see the Unica Interact Administrator's Guide.

Unica Interact API interactions in the runtime environment

When a runtime session starts, that is, when the visitor initiates a contact, the Unica Interact API triggers a startSession. This call can include:

  1. Creating a runtime session.

    A runtime session is an instance on the runtime server, which contains all data that is associated with the visitor. This instance includes all known profile data and the results of any requests to the runtime server, such as segment membership or a list of offers.

  2. Loading the visitor profile data into the runtime session.
  3. Running all interactive flowcharts that are associated with the interactive channel and places the visitor into segments.

As the visitor interacts with the touchpoint, the Unica Interact API can complete several actions that include triggering events, requesting profile information, and changing the audience level of the visitor. When the visitor reaches an interaction point in the touchpoint, the Unica Interact API can request one or more offers or trigger an event. When the visitor leaves the touchpoint by logging out, hanging up, or timing out, the runtime server ends the runtime session.

API recording

When API recording is enabled, all the information in the original request and its response are logged into the configured database table. When a batch is used as the request, the batch itself is not recorded; instead, its constituent commands are recorded individually. The response includes the following information.
  • The status code.
  • The advisory message, if it exists.
  • If the API is for requesting offers, the treatment codes of the returned offers.
  • If the API is for requesting profile attributes, the profile attributes and their values.

This is disabled by default. In order to enable it for an individual audience level, perform the following steps.

  1. Change the value of configuration Affinium|interact|general|API:enabledLogging to True.
  2. In the Interact runtime database, create a table based on the template UACI_APIRequestInfo.
  3. Set the value of configuration Affinium|interact|profile|Audience Levels|< Audience Levels>:requestLogTable to the name of the table created in the previous step.

Offer Arbitration log

When offer arbitration log is enabled, the following information is included in the response of getOffers or getOffersForMultipleInteractionPoints request as an informational detailed message and in the API log, if that is also enabled.
Note: This feature is available from version 12.1.0.3 onwards.
  • The eligible smart and static segments.
  • The initial candidate offers.
  • Suppressed offers and their suppression reason.

This is disabled by default. In order to enable it, perform either of the following steps.

  • Change the value of configuration Affinium|interact|offerserving:includeArbitrationInfo to True to enable it globally.
  • Pass the parameter UACIIncludeArbitration with the numeric value of 1 as part of the getOffers or getOffersForMultipleInteractionPoints request to enable it only for this particular request.