Introduction

When working with picklist and multiselect values in Aprimo Marketing Operations, options are represented as key/resourceid pairs, with the resourceid being a second key that allows you to look up the string value.

There are two types of strings in the application:

  • Static strings, which are built into the product, for example, time zones and currency codes.
  • Dynamic strings, which get created specifically for your tenant through configuration, such as extended attribute picklist options and system type values.

A static string can be identified in an API response as any resourceId value in the formĀ mo-replacement-strings-X where X is an integer value.

A dynamic resource can be identified in an API response as any resourceId value in the formĀ mo-encoded-titles-X where X is an integer value.

 

Looking up String Picklists & Multiselects

A string dropdown example in Aprimo Marketing Operations is Timezone. When retrieving a record associated with a timezone in the API, for example, an activity, you will get back the integer ID value representing the timezone, for example:

“timeZoneId”: 43

To understand what timezone this corresponds to the system, you can use the lookup list endpoints.
To find the string associated with a resourceId, you may use any of the following methods:

Look up all static strings (static strings only)

If your integration needs to frequently look up static strings, you may call the GET /api/resources/static endpoint, which returns all mo-replacement-string-X ids and values in the application. We recommend you cache this response in your application and only refresh it periodically, as static strings rarely change.

Look up a single string

If you only need the value for a single static string, you may use the GET /api/resources/{resourceid} endpoint. For example, /api/resources/mo-replacement-strings-848894 will return the below response:

{
    "id": "mo-replacement-strings-848894",
    "value": "(GMT-05:00) Eastern Time (US & Canada)",
    "_links": {
        "self": {
            "href": "resources/mo-replacement-strings-848894",
            "type": "application/vnd.td-apps.operations.resources"
        }
    }
}

Querying for strings

If you have multiple strings to look up, you may use the POST /api/resources/query endpoint, with a POST body containing a query property with comma separated list of all strings you’d like to return. Ensure you also provide a Content-Type header of application/json for this call. You may look up both static and dynamic strings in a single call.

Here’s an example. Note that this may not work in your environment, given dynamic string IDs are environment-specific.

{
     "query" : "mo-replacement-strings-848894,mo-encoded-titles-911832"
}

This will return something like:

{
    "resources": [
        {
            "id": "mo-replacement-strings-848894",
            "value": "(GMT-05:00) Eastern Time (US & Canada)"
        },
        {
            "id": "mo-encoded-titles-911832",
            "value": "Integrated Activity"
        }
    ]
}