Real-time datasets in Moveable Ink Studio

Moveable Ink helps marketers design dynamic creative for personalized content experiences that combine business logic with access to real-time customer profiles.

Use the Profile API to make real-time customer profile data available to Moveable Ink Studio. Moveable Ink Studio helps your brand scale 1:1 content personalization by automatically transforming data into personalized content unique to each customer at the moment of engagement.

Combine the Profile API with Moveable Ink Studio to design campaigns and customer interactions that access the most current customer profile details and generate personalized content at scale.

  • Automatically transform data into unique composite images for each customer in real-time

  • Streamline steps in onboarding processes

  • Personalize monthly recaps and year-in-review use cases with real-time customer data

  • Target or segment creatives based on profile attributes

  • Create long-lasting loyalty experiences for your customers

Get details

Review the following details before configuring Profile API endpoints for use with Moveable Ink. The Profile API endpoint must be available before the integration can be configured in Moveable Ink.

Detail 1.

To configure Profile API endpoints in Amperity

Detail 2.

To configure MoveableInk

A user with access to Moveable Ink and who is assigned to the Manager role is required to configure the Amperity integration with Moveable Ink.

Log in to Moveable Ink and finish the steps that are required for this integration.

Build a query

Use the Query Editor to build a query that returns customer profiles for use in Moveable Ink Studio.

Add an API key

An API key enables your downstream use cases to read data from the Profile API.

To add an API key for the Profile API

Step 1.

Open the Settings page, and then select the Security tab. Under API keys click Add API key.

Step 2.

From the Add API key dialog, add the name for the API key, select the Profile API Data Access option, and then click Save.

Generate an API key.

Generate an access token

Access tokens that enable authentication to the Amperity API are managed directly from the Settings page in Amperity.

To generate access tokens

Step 1.

Open the Settings page, and then select the Security tab.

Step 2.

Under API keys find the API key for which you want to generate an access token, and then from the Actions menu select “Generate access token”.

Generate an access token.
Step 3.

Select the number of days this token will allow access to the API, after which it will expire. For example, 3 days:

Generate an access token.

Use the Rotate key secret option to rotate an existing secret when generating an access token. This will force all previously-provisioned tokens that are associated with the current API key to expire in 30 days.

Click Generate token. The token is generated, and then is automatically copied to your clipboard.

Generate an access token.

Important

You are the only person who will have access to the newly-generated access key. Amperity does not save the access key anywhere and it will disappear when you close this dialog. Store the access key in a safe place.

Add the Profile API index

An index must be defined for each query that is used to generate an endpoint for the Profile API.

Step 1.

Open the Destinations page and click the Add Index button. This button is located to the right of the Profile API section header.

This opens the Add Index dialog box.

Add an index to the Profile API.

Give the endpoint a name that clearly describes how it will be used by downstream workflows. The name of an index must be unique and may not contain any of the following characters: \, /, :, ", *, ?, <, >, or |.

Use a description to help other users in your tenant know what use case(s) this endpoint enables.

Note

The name of the index is informational only. Endpoints are listed alphabetically by name; endpoint names are not used within requests.

Step 2.

Select the query that will be used to generate the fields in the index, and then choose the field in that index that will be used as the lookup key.

Select the query from which the index is built, and then set the lookup key.
Step 3.

Select the type of response this endpoint will provide.

A single unique record

Select the Unique record option to configure this endpoint to return only a single unique record.

Configure an endpoint to respond with unique records.

A list of up to 10 matching records

Select the List of matching records option to configure this endpoint to return a list of up to 10 matching records.

Configure an endpoint to respond with unique records.

Use the dropdown lists to define the field that determines sort order, and then choose a direction (ascending or descending). The field that determines sort order may be the same field that is used as the lookup key.

Use the LIMIT setting to define the maximum number of matching records that may be in the list. This value must be at least 1 and cannot be more than 10.

Step 4.

Choose the method by which the index will be generated (over time). There are two options: after a courier group run or manually.

Choose None when setting up an index for the first time or for an index that requires asynchronous or infrequent regeneration.

Configure an endpoint to regenerate manually.

Tip

After you have tested and validated downstream use cases for the index and have identified the frequency at which the index requires regeneration, you may switch from manual to running the index after the specified courier group has completed. The index will be regenerated at same frequency as the courier group run. For example: daily, weekly, or monthly.

Configure an endpoint to regenerate after a courier group run.
Step 5.

Save the index.

If this save is for an initial test of the endpoint and contains only a small number of rows of data, the amount of time it can take to generate the index is measured in minutes. Use the LIMIT clause in the query to control the size of the index.

Note

A very large index that is generated for the first time can take a while (up to 6 hours). Please allow the index to finish generating before trying to access it from a downstream workflow.

Copy the lookup key

The lookup key for an index is the primary key for that index. The field in the index that acts as the lookup key must be a field that provides a unique identifier, such as the Amperity ID, a loyalty program ID, an ID that is unique in the downstream location from which the Profile API will be used to enable use cases, or some other identifier that allows a request to return a series of attributes that are associated with that unique identifier.

Each endpoint must have a lookup key. You can find the lookup key for any endpoint from the Lookup Key column in the Profile API list:

Copy the index ID for an endpoint in the Amperity Profile API.

Important

The lookup key in the request must have an exact match within the index.

For example: “Dennis” must match with an uppercase “D” and “Dennis “ must match with both an uppercase “D” and a trailing character.

Because each endpoint is defined using SQL within the Query Editor, the point at which you will define the consistency for how your downstream use case will access that data is from within the Query Editor.

This should be done before making that query available to the Profile API.

Formatting requirements are often determined by how the downstream use case will access the Profile API endpoint. These requirements include the tools that you will use to access the Profile API and also the individuals within your organization who need to understand how that information should be accessed.

Copy the index ID

The index ID is a unique identifier for an endpoint. To make a request to an endpoint you must include the index ID in the URL for the request.

The index ID is available from the Profile API list. For the endpoint, open the actions menu, and then select “Copy index ID”.

Copy the index ID for an endpoint in the Amperity Profile API.

To make a request to a specific index, add the index ID to the end of the request URL:

https://{tenant-domain}/attribute/v0/indexes/{index-id}

and then use the lookup key in your workflow to return individual attribute values in that index.

Generate the endpoint

The GET indexes and GET indexes/{index-id} endpoints require the tenant ID to be in the URL for the request.

The tenant ID is available from the API keys list that is located on the Security tab in the Settings page. For the API key, open the actions menu, and then select “Copy tenant ID”.

Generate an access token for a Profile API endpoint.

Copy the tenant ID

The GET indexes and GET indexes/{index-id} endpoints require the tenant ID to be in the URL for the request.

The tenant ID is available from the API keys list that is located on the Security tab in the Settings page. For the API key, open the actions menu, and then select “Copy tenant ID”.

Generate an access token for a Profile API endpoint.

Configure Moveable Ink Studio

After Amperity is configured with a query that makes results available from a Profile API endpoint you can configure Moveable Ink to connect to that endpoint. The user who configures the integration must be assigned to the Manager role in Moveable Ink Studio.

To add the Amperity integration to Moveable Ink Studio

Step 1.

Log in to Moveable Ink.

Expand Data and open the Integrations Gallery.

Browse the integrations and choose Amperity. Click Connect to enable the Profile API integration.

Step 2.

The following settings are required to configure a connection between Moveable Ink Studio and a Profile API endpoint:

Integration name

The name of the integration. For example: “Amperity customer profiels”.

Bearer token

A bearer token allows Moveable Ink Studio access to Profile API endpoints.

Tenant subdomain

The subdomain is part of the URL for your Amperity tenant. For example, “socktown”:

https://socktown.amperity.com/

Index ID

The index ID is a unique ID for each Profile API endpoint to which Moveable Ink Studio will make requests. For example: “ix-2BmokYMVR”. This value can be copied from the Amperity user interface after the Profile API endpoint has been created.

User ID

The user ID is a field within the Profile API index that is configured as the lookup key.

Tenant ID

The tenant ID is the unique ID for your Amperity tenant.

When the settings are added correctly the Moveable Ink Studio user interface will display a successful connection with a 200 OK response.

Configure Moveable Ink to connect to an Amperity Profile API endpoint.
Step 3.

Click Next and configure how the fields in the Profile API index should be shown within Moveable Ink Studio.

Configure how fields in an Amperity Profile API endpoint are shown to users in Moveabile Ink Studio.
Step 4.

Click Save. The integration is added to the list of active integrations and is available for use within Moveable Ink Studio.