SOAP API design overview

The Unica Campaign Services SOAP API is a façade that provides a client view of a running Unica Campaign application instance. Only a subset of the capabilities of Unica Campaign are exposed, but it is enough to drive key aspects of Unica Campaign functionality.

Features and diagram

The API is used concurrently with Unica Campaign web users and other API threads.

Generally, the API supports the following types of operations on campaigns, offers, and target cell components:

  • Component creation
  • Component discovery
  • Component deletion
  • Component attribute and attribute metadata creation, inspection, and modification
  • Fetching of flowchart run results

The following diagram shows a sample deployment of CampaignServices 3.0.



User authentication

Authentication deals with establishing a user's identity. User authentication is the responsibility of the client application.

User authorization

Authorization deals with the permissions an authenticated user has relative to components and operations that are exposed by the API.

It is possible for a user to authenticate successfully, but not have sufficient permissions to perform some operations, such as edit a campaign's summary information. In this case, the API method throws AuthorizationException.

Locale

API requests provide for an optional requestedLocale parameter, which defines the locale to use for carrying out that particular request. If not defined, the API defaults to the user's preferred locale. The usual Java best-effort matching algorithm is used to return messages and other localized text in the requested locale.

This parameter is of type java.util.Locale class.

Note: Some user-specified text, such as campaign descriptions, are in the locale of the user that specified the text. Unica Campaign does not attempt to localize such data. Only the information, warning, and error messages are localized by the API.

State management

The CampaignServices API is stateless, meaning that no per-client information is saved by the API across calls.

Obviously, specific API calls might change the state of underlying component instances that are managed by Unica Campaign, and these state changes might be persisted to the database.